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

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Separator zanieczyszczeń i powietrza w ogrzewaniu podłogowym – Dobór, schemat montażu, spadek ciśnienia i normy.</title>
		<link>https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/</link>
					<comments>https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#respond</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 07 Aug 2026 12:00:42 +0000</pubDate>
				<category><![CDATA[Armatura zabezpieczająca]]></category>
		<category><![CDATA[Filtry i separatory]]></category>
		<category><![CDATA[Kotłownia]]></category>
		<category><![CDATA[Ochrona instalacji]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[armatura zabezpieczająca]]></category>
		<category><![CDATA[deaerator]]></category>
		<category><![CDATA[norma vdi 2035]]></category>
		<category><![CDATA[ochrona pompy ciepła]]></category>
		<category><![CDATA[odpowietrznik mikropęcherzy]]></category>
		<category><![CDATA[rury pex]]></category>
		<category><![CDATA[separator magnetyczny]]></category>
		<category><![CDATA[separator zanieczyszczeń i powietrza w ogrzewaniu podłogowym]]></category>
		<category><![CDATA[spadek ciśnienia]]></category>
		<category><![CDATA[szlam magnetytowy]]></category>
		<category><![CDATA[współczynnik kv]]></category>
		<category><![CDATA[wymiennik płytowy]]></category>
		<category><![CDATA[zapowietrzenie podłogówki]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=7119</guid>

					<description><![CDATA[<p>Prawidłowo zaprojektowana instalacja płaszczyznowa wymaga skutecznej ochrony hydraulicznej przed zjawiskiem stale krążących mikropęcherzy oraz powstawaniem czarnego osadu magnetytowego. Wąskie przekroje rur PEX i PERT, wrażliwe wymienniki płytowe pomp ciepła oraz energooszczędne pompy obiegowe z magnesami trwałymi są szczególnie narażone na uszkodzenia mechaniczne oraz drastyczny spadek sprawności grzewczej. W tym inżynieryjnym poradniku dowiesz się, jak prawidłowo zamontować i dobrać separator zanieczyszczeń i powietrza w ogrzewaniu podłogowym. Przeanalizujemy Prawa Henry’ego oraz Stokesa, obliczymy wymagany współczynnik Kv, zmierzymy opory hydrauliczne i wyeliminujemy najczęstsze błędy wykonawcze, które niszczą nowoczesne kotłownie.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/">Separator zanieczyszczeń i powietrza w ogrzewaniu podłogowym – Dobór, schemat montażu, spadek ciśnienia i normy.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-blue: #0284c7;
    --rk-intro-blue-light: #f0f9ff;
    --rk-intro-green: #059669;
    --rk-intro-green-light: #ecfdf5;
    --rk-intro-gray: #f8fafc;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #475569;
}

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

/* Sekcja Hooka i Szybkiej Odpowiedzi */
.rk-intro-header {
    padding: 40px;
    background: linear-gradient(135deg, var(--rk-intro-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

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

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

/* Szybka Odpowiedź Box */
.rk-quick-answer {
    background: #ffffff;
    border-left: 6px solid var(--rk-intro-green);
    border-radius: 12px;
    padding: 25px 30px;
    color: var(--rk-intro-dark);
}

.rk-qa-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-intro-green);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}

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

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

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

/* Otwarty Grid Nawigacyjny */
.rk-intro-nav {
    padding: 40px;
    background: #ffffff;
}

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

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

.rk-nav-card {
    background: var(--rk-intro-gray);
    border: 1px solid var(--rk-intro-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.rk-nav-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.15);
    border-color: var(--rk-intro-blue-light);
    background: #ffffff;
}

.rk-nav-icon {
    width: 48px;
    height: 48px;
    background: var(--rk-intro-blue-light);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-intro-blue);
    margin-bottom: 20px;
}

.rk-nav-heading {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    margin: 0 0 10px 0;
    line-height: 1.3;
}

.rk-nav-desc {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-intro-text);
    margin: 0 0 20px 0;
    flex-grow: 1;
}

.rk-interactive-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--rk-intro-dark);
    color: #ffffff;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: auto;
}

@media (max-width: 768px) {
    .rk-intro-header, .rk-intro-nav { padding: 30px 20px; }
    .rk-intro-header h2 { font-size: 24px; }
    .rk-quick-answer { padding: 20px; }
    .rk-nav-grid { grid-template-columns: 1fr; gap: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/"
    },
    "headline": "Separator zanieczyszczeń i powietrza w ogrzewaniu podłogowym – Dobór, schemat i normy",
    "description": "Zrozumienie kluczowej roli separatorów magnetycznych i powietrza. Kompendium wiedzy, szybka odpowiedź i interaktywne kalkulatory hydrauliczne.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "description": "Największy bloger branży budowlanej wykończeniowej i ekspert HVAC.",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-08-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#dataset-wstep",
    "name": "Baza Wiedzy: Szybkie Fakty o Separatorach C.O.",
    "description": "Natychmiastowe zestawienie najważniejszych wytycznych montażowych dla inwestorów szukających wiedzy o armaturze zabezpieczającej ogrzewanie.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "separator zanieczyszczeń z magnesem",
      "separator powietrza w ogrzewaniu podłogowym",
      "gdzie zamontować separator magnetyczny",
      "ochrona pompy ciepła przed szlamem",
      "awarie instalacji ogrzewania podłogowego"
    ],
    "measurementTechnique": "Ekstrakcja najważniejszych wytycznych normatywnych dotyczących prawidłowej konfiguracji kotłowni z uwzględnieniem ochrony urządzeń wymuszających.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Separator powietrza (deaerator) instaluje się na zasilaniu (najwyższa temperatura, najniższa rozpuszczalność gazów).",
        "Separator zanieczyszczeń z magnesem umieszcza się bezwzględnie na powrocie, przed pompą i źródłem ciepła.",
        "Kompendium zawiera interaktywne narzędzia obliczeniowe do weryfikacji współczynnika Kv i opadania cząstek."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#webapp-spis-tresci",
    "name": "Interaktywny Nawigator Artykułu",
    "description": "Przewodnik po dostępnych w artykule kalkulatorach i symulatorach inżynieryjnych pozwalający czytelnikowi na ocenę zawartości merytorycznej strony.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container">
    
    <!-- Sekcja Header (Hook + Quick Answer) -->
    <div class="rk-intro-header">
        <h2>Separator zanieczyszczeń i powietrza w ogrzewaniu podłogowym – Kompendium Wiedzy</h2>
        <p class="rk-intro-hook">Poprawnie wykonane <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/" style="color: #38bdf8; text-decoration: underline;">ogrzewanie podłogowe</a> to inwestycja dająca komfort przez dekady. Jednak jeden z pozoru nieistotny błąd w kotłowni – brak separacji – potrafi w ciągu kilkunastu miesięcy bezpowrotnie zniszczyć serce Twojego układu: pompę ciepła.</p>
        
        <div class="rk-quick-answer">
            <div class="rk-qa-title">
                <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                Szybka Odpowiedź
            </div>
            <p class="rk-qa-text">Gdzie i co zamontować? <strong>Separator zanieczyszczeń (magnetyczny)</strong> montuje się zawsze na <strong>powrocie</strong> z instalacji – tuż przed pompą i <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">źródłem ciepła</a>, aby wyłapać niszczący magnetyt. Z kolei <strong>separator powietrza (deaerator)</strong> montuje się na <strong>zasilaniu</strong> (tuż za kotłem), gdzie woda jest najgorętsza i najlepiej oddaje rozpuszczone mikropęcherzyki gazu.</p>
        </div>
    </div>

    <!-- Otwarty Grid (Widoczna Zajawka) -->
    <div class="rk-intro-nav">
        <h3 class="rk-nav-title">Co odkryjesz w dalszej części artykułu?</h3>
        
        <div class="rk-nav-grid">
            
            <!-- Karta 1 -->
            <div class="rk-nav-card">
                <div class="rk-nav-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="21" x2="4" y2="14"></line><line x1="4" y1="10" x2="4" y2="3"></line><line x1="12" y1="21" x2="12" y2="12"></line><line x1="12" y1="8" x2="12" y2="3"></line><line x1="20" y1="21" x2="20" y2="16"></line><line x1="20" y1="12" x2="20" y2="3"></line><line x1="1" y1="14" x2="7" y2="14"></line><line x1="9" y1="8" x2="15" y2="8"></line><line x1="17" y1="16" x2="23" y2="16"></line></svg>
                </div>
                <h4 class="rk-nav-heading">Fizyka i Opory Kv</h4>
                <p class="rk-nav-desc">Niewłaściwy dobór przekroju separatora potrafi zdławić pracę pompy obiegowej nawet o 40%. Sprawdź interaktywne narzędzie, które na żywo przelicza te straty.</p>
                <div class="rk-interactive-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"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    Live Kalkulator Oporów Kv
                </div>
            </div>

            <!-- Karta 2 -->
            <div class="rk-nav-card">
                <div class="rk-nav-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="2" ry="2"></rect><line x1="6" y1="4" x2="6" y2="20"></line><line x1="10" y1="4" x2="10" y2="20"></line><line x1="14" y1="4" x2="14" y2="20"></line><line x1="18" y1="4" x2="18" y2="20"></line></svg>
                </div>
                <h4 class="rk-nav-heading">Schematy i Błędy</h4>
                <p class="rk-nav-desc">Odwrotny montaż wkładu czy zignorowanie magnesu. Analizujemy kluczowe wskazówki wyciągnięte z praktyki, pokazując jak <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">unikać błędów montażowych</a>.</p>
                <div class="rk-interactive-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"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
                    Inspektor Węzłów Kotłowni
                </div>
            </div>

            <!-- Karta 3 -->
            <div class="rk-nav-card">
                <div class="rk-nav-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="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                </div>
                <h4 class="rk-nav-heading">Case Study Awarii</h4>
                <p class="rk-nav-desc">Dlaczego zwykły filtr skośny to wyrok dla pompy ECM? Opierając się na badaniach, analizujemy rzeczywiste przypadki usterki i zatarcia urządzeń grzewczych.</p>
                <div class="rk-interactive-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"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg>
                    Wizualizacja Zniszczeń
                </div>
            </div>

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



<style>
:root {
    --rk-loc-dark: #0f172a;
    --rk-loc-blue: #0284c7;
    --rk-loc-blue-light: #f0f9ff;
    --rk-loc-red: #ef4444;
    --rk-loc-red-light: #fef2f2;
    --rk-loc-gray-light: #f8fafc;
    --rk-loc-border: #e2e8f0;
    --rk-loc-text: #475569;
}

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

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

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

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

.rk-loc-header p:last-child { margin: 0; }

.rk-cost-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--rk-loc-gray-light);
    border: 1px solid var(--rk-loc-border);
    padding: 12px 20px;
    border-radius: 10px;
    margin-top: 20px;
    font-size: 15px;
    color: var(--rk-loc-dark);
}

.rk-cost-badge strong {
    color: var(--rk-loc-blue);
    font-size: 18px;
    font-weight: 900;
}

/* Interfejs Przełącznika */
.rk-loc-controls {
    display: flex;
    background: var(--rk-loc-gray-light);
    border-bottom: 1px solid var(--rk-loc-border);
}

.rk-loc-btn {
    flex: 1;
    padding: 25px 20px;
    background: transparent;
    border: none;
    border-bottom: 4px solid transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

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

.rk-loc-btn-icon {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    background: #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    transition: all 0.3s;
}

.rk-loc-btn-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-loc-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.3s;
}

/* Stan Aktywny dla Zasilania (Czerwony) */
.rk-loc-btn.active[data-target="supply"] {
    background: #ffffff;
    border-bottom-color: var(--rk-loc-red);
}
.rk-loc-btn.active[data-target="supply"] .rk-loc-btn-icon {
    background: var(--rk-loc-red-light);
    color: var(--rk-loc-red);
}
.rk-loc-btn.active[data-target="supply"] .rk-loc-btn-title {
    color: var(--rk-loc-dark);
}

/* Stan Aktywny dla Powrotu (Niebieski) */
.rk-loc-btn.active[data-target="return"] {
    background: #ffffff;
    border-bottom-color: var(--rk-loc-blue);
}
.rk-loc-btn.active[data-target="return"] .rk-loc-btn-icon {
    background: var(--rk-loc-blue-light);
    color: var(--rk-loc-blue);
}
.rk-loc-btn.active[data-target="return"] .rk-loc-btn-title {
    color: var(--rk-loc-dark);
}

/* Panele z treścią */
.rk-loc-panels {
    background: #ffffff;
}

.rk-loc-panel {
    display: none;
    padding: 40px;
    animation: fadeInLoc 0.4s ease;
}

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

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

.rk-loc-grid {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 40px;
    align-items: start;
}

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

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

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

/* Kafelki z fizyką */
.rk-physics-box {
    background: var(--rk-loc-gray-light);
    border: 1px solid var(--rk-loc-border);
    border-radius: 16px;
    padding: 25px;
}

.rk-physics-box h4 {
    font-size: 14px;
    font-weight: 800;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-phys-item {
    background: #ffffff;
    border: 1px solid var(--rk-loc-border);
    padding: 15px;
    border-radius: 10px;
    margin-bottom: 12px;
}

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

.rk-phys-val {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-loc-dark);
    margin-bottom: 4px;
}

.rk-phys-label {
    font-size: 13px;
    color: var(--rk-loc-text);
    line-height: 1.4;
}

@media (max-width: 768px) {
    .rk-loc-header, .rk-loc-panel { padding: 30px 20px; }
    .rk-loc-header h2 { font-size: 24px; }
    
    .rk-loc-controls { flex-direction: column; }
    .rk-loc-btn { flex-direction: row; padding: 15px 20px; border-bottom: none; border-left: 4px solid transparent; text-align: left; }
    
    .rk-loc-btn.active[data-target="supply"] { border-left-color: var(--rk-loc-red); border-bottom-color: transparent; }
    .rk-loc-btn.active[data-target="return"] { border-left-color: var(--rk-loc-blue); border-bottom-color: transparent; }
    
    .rk-loc-btn-icon { width: 40px; height: 40px; }
    
    .rk-loc-grid { grid-template-columns: 1fr; gap: 30px; }
    .rk-cost-badge { 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/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#article-lokalizacja",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/"
    },
    "headline": "Gdzie montować separator zanieczyszczeń i separator powietrza w układzie ogrzewania podłogowego?",
    "description": "Zasady fizyki i wytyczne PN-EN 12828 dotyczące lokalizacji deaeratorów na zasilaniu oraz separatorów magnetycznych na powrocie instalacji C.O.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "description": "Największy bloger branży budowlanej wykończeniowej i ekspert HVAC.",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-08-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#dataset-fizyka",
    "name": "Parametry fizykochemiczne separacji w instalacji c.o.",
    "description": "Dane techniczne obrazujące zjawiska dyfuzji tlenu oraz rozpuszczalności gazów w funkcji temperatury w rurach wielowarstwowych ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "montaż separatora zanieczyszczeń",
      "gdzie zamontować deaerator",
      "dyfuzja tlenu w rurach PEX",
      "bariera antydyfuzyjna EVOH",
      "prawo Henry'ego w instalacjach c.o."
    ],
    "measurementTechnique": "Wytyczne normy PN-EN 12828 (lokalizacja wyrzutu gazów) oraz PN-EN ISO 15875-2 (badanie przenikalności tlenowej).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Separator powietrza: Montaż na zasilaniu (35-55°C), redukcja rozpuszczalności gazów, wyłapywanie mikropęcherzy od 10 µm.",
        "Separator zanieczyszczeń: Montaż na powrocie, wychwyt magnetytu Fe3O4 powstającego w wyniku dyfuzji tlenu do 0,32 mg O2/(m²·doba)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#webapp-lokalizator",
    "name": "Interaktywny Lokalizator Armatury Zabezpieczającej",
    "description": "Narzędzie pozwalające prześledzić różnice fizyczne pomiędzy zasilaniem a powrotem instalacji w kontekście poprawnego montażu filtrów i deaeratorów.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-loc-container">
    <div class="rk-loc-header">
        <h2>Gdzie montować separator zanieczyszczeń i separator powietrza w układzie ogrzewania podłogowego?</h2>
        <p>Zgodnie z wytycznymi normy <strong>PN-EN 12828 § 4.6.2</strong>, separatory muszą być instalowane w specyficznych węzłach układu. Separator z magnesem należy montować na przewodzie powrotnym instalacji, natomiast deaerator wyłącznie na gorącym przewodzie zasilającym bezpośrednio za źródłem ciepła.</p>
        <p>Takie usytuowanie gwarantuje najwyższą skuteczność wydzielania gazów oraz bezwzględne wyłapywanie cząstek osadu przed ich wniknięciem do wymiennika w kotle.</p>
        
        <div class="rk-cost-badge">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="2" ry="2"></rect><line x1="6" y1="4" x2="6" y2="20"></line><line x1="10" y1="4" x2="10" y2="20"></line><line x1="14" y1="4" x2="14" y2="20"></line><line x1="18" y1="4" x2="18" y2="20"></line></svg>
            Inwestycja w kompletny zespół separatorów dla domu 150 m² to średnio: <strong>650 PLN – 1400 PLN</strong>
        </div>
    </div>

    <!-- Przełącznik Lokalizacji -->
    <div class="rk-loc-controls">
        <button class="rk-loc-btn active" data-target="supply">
            <div class="rk-loc-btn-icon">
                <!-- Techniczna ikona termometru dla Zasilania -->
                <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="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path></svg>
            </div>
            <span class="rk-loc-btn-title">Zasilanie Instalacji<br>(Gorąca woda)</span>
        </button>

        <button class="rk-loc-btn" data-target="return">
            <div class="rk-loc-btn-icon">
                <!-- Techniczna ikona filtra/lejka dla Powrotu -->
                <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="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon></svg>
            </div>
            <span class="rk-loc-btn-title">Powrót Instalacji<br>(Zład z pętli)</span>
        </button>
    </div>

    <!-- Panele -->
    <div class="rk-loc-panels">
        
        <!-- Panel Zasilanie (Deaerator) -->
        <div class="rk-loc-panel active" id="panel-supply">
            <div class="rk-loc-grid">
                <div class="rk-loc-content">
                    <h3>Separator powietrza (Deaerator) na zasilaniu</h3>
                    <p>Wymóg montażu na zasilaniu wynika bezpośrednio z fizyki. Woda opuszczająca kocioł gazowy lub wymiennik pompy ciepła osiąga w tym punkcie najwyższą <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">temperaturę zasilania</a> (np. 35–45°C w układach niskotemperaturowych lub 55°C podczas przegrzewu c.w.u.) oraz odnotowuje najniższe ciśnienie dynamiczne.</p>
                    <p>Ze wzrostem temperatury cieczy rozpuszczalność gazów gwałtownie spada. Powstające w tym punkcie mikropęcherzyki trafiają do obszernej komory deaeratora. Tam element spiętrzający powoduje ich koalescencję (łączenie się w większe bąble), uniesienie i bezpowrotny wyrzut przez automatyczny zawór pływakowy.</p>
                </div>
                <div class="rk-physics-box">
                    <h4>
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
                        Prawo Henry&#8217;ego w C.O.
                    </h4>
                    <div class="rk-phys-item">
                        <div class="rk-phys-val">&gt; 10 µm</div>
                        <div class="rk-phys-label">Średnica wyłapywanych mikropęcherzy w komorze spiętrzającej.</div>
                    </div>
                    <div class="rk-phys-item">
                        <div class="rk-phys-val">AISI 304</div>
                        <div class="rk-phys-label">Typ stali nierdzewnej lub pierścieni Raschiga rozbijających przepływ cieczy.</div>
                    </div>
                </div>
            </div>
        </div>

        <!-- Panel Powrót (Zanieczyszczenia) -->
        <div class="rk-loc-panel" id="panel-return">
            <div class="rk-loc-grid">
                <div class="rk-loc-content">
                    <h3>Separator zanieczyszczeń z magnesem na powrocie</h3>
                    <p>Powrót z instalacji ogrzewania podłogowego zbiera zanieczyszczenia wypłukane z kilkuset metrów <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">rur PEX/PERT/PB</a>. Pomiędzy zewnętrznym płaszczem rury a czynnikiem grzewczym stale dochodzi do zjawiska dyfuzji tlenu.</p>
                    <p>Tlen ten wchodzi w nieustanną reakcję z komponentami stalowymi i żeliwnymi w <a href="https://projekt-ogrzewania.pl/obieg-grzewczy-w-wodnym-ogrzewaniu-podlogowym/">obiegu grzewczym</a>, tworząc mikroskopijne cząstki czarnego tlenku żelaza. Umieszczenie separatora bezpośrednio przed pompą obiegową i źródłem ciepła pozwala zatrzymać te drobiny dzięki magnesowi neodymowemu, zanim zniszczą one wrażliwy na opiłki wirnik pompy ECM/PWM.</p>
                </div>
                <div class="rk-physics-box">
                    <h4>
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="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>
                        Fizyka Tlenków Żelaza
                    </h4>
                    <div class="rk-phys-item">
                        <div class="rk-phys-val">0,32 mg O₂</div>
                        <div class="rk-phys-label">Dopuszczalna dyfuzja tlenu (na m² na dobę przy 40°C) pomimo stosowania <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/">bariery EVOH</a> (PN-EN ISO 15875-2).</div>
                    </div>
                    <div class="rk-phys-item">
                        <div class="rk-phys-val">Fe<sub>3</sub>O<sub>4</sub></div>
                        <div class="rk-phys-label">Wzór chemiczny magnetytu (czarnego szlamu), który niszczy pompy obiegowe.</div>
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-loc-btn');
    const panelSupply = document.getElementById('panel-supply');
    const panelReturn = document.getElementById('panel-return');

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

            // Czyszczenie klas aktywnych
            for (let j = 0; j < btns.length; j++) {
                btns[j].classList.remove('active');
            }
            
            // Dodanie klasy do klikniętego
            this.classList.add('active');

            // Logika paneli (bez operatorów logicznych and/or)
            if (targetState === 'supply') {
                panelReturn.classList.remove('active');
                panelSupply.classList.add('active');
            } else {
                panelSupply.classList.remove('active');
                panelReturn.classList.add('active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-kv-dark: #0f172a;
    --rk-kv-blue: #0284c7;
    --rk-kv-blue-light: #e0f2fe;
    --rk-kv-gray-light: #f8fafc;
    --rk-kv-border: #e2e8f0;
    --rk-kv-text: #475569;
    --rk-kv-red: #ef4444;
    --rk-kv-red-light: #fef2f2;
    --rk-kv-green: #10b981;
    --rk-kv-green-light: #dcfce7;
}

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

.rk-kv-header {
    background: linear-gradient(135deg, #ffffff 0%, var(--rk-kv-gray-light) 100%);
    padding: 40px;
    border-bottom: 1px solid var(--rk-kv-border);
}

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

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

.rk-kv-header p:last-child { margin: 0; }

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

.rk-math-panel {
    background: var(--rk-kv-dark);
    color: #ffffff;
    padding: 30px 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.rk-math-col h3 {
    font-size: 15px;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 15px 0;
}

.rk-formula-visual {
    background: #1e293b;
    border: 1px solid #334155;
    padding: 15px;
    border-radius: 12px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    color: #e2e8f0;
}

.rk-formula-visual strong {
    color: var(--rk-kv-blue-light);
}

.rk-kv-controls {
    padding: 40px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-kv-border);
}

.rk-slider-group {
    margin-bottom: 30px;
}

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

/* Pancerny układ nagłówków suwaków */
.rk-slider-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    width: 100%;
    flex-wrap: nowrap; /* Zabezpieczenie przed załamaniem linii */
}

.rk-slider-label {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-kv-dark);
    padding-right: 15px;
}

.rk-slider-val {
    font-size: 18px;
    font-weight: 900;
    color: #0284c7 !important; /* Wymuszenie koloru tekstu */
    background: #e0f2fe !important; /* Wymuszenie koloru tła */
    padding: 6px 16px;
    border-radius: 8px;
    display: inline-block;
    white-space: nowrap; /* Zabezpieczenie przed dzieleniem wyrazów */
    flex-shrink: 0; /* Zabezpieczenie przed zgnieceniem przez motyw */
}

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

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

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

.rk-kv-results {
    padding: 40px;
    background: var(--rk-kv-gray-light);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

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

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

.rk-res-card.safe::before { background: var(--rk-kv-green); }
.rk-res-card.danger::before { background: var(--rk-kv-red); }

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

.rk-res-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-kv-dark);
    margin: 0 0 5px 0;
}

.rk-res-subtitle {
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
}

.rk-res-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-res-card.safe .rk-res-icon { background: var(--rk-kv-green-light); color: var(--rk-kv-green); }
.rk-res-card.danger .rk-res-icon { background: var(--rk-kv-red-light); color: var(--rk-kv-red); }

.rk-res-value-box {
    margin-bottom: 15px;
}

.rk-res-value {
    font-size: 38px;
    font-weight: 900;
    color: var(--rk-kv-dark);
    line-height: 1;
    margin-bottom: 5px;
}

.rk-res-unit {
    font-size: 14px;
    font-weight: 700;
    color: #64748b;
}

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

.rk-res-bar {
    height: 100%;
    width: 0%;
    transition: width 0.4s ease, background 0.4s ease;
}

.rk-res-desc {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-kv-text);
}

.rk-res-desc strong {
    color: var(--rk-kv-dark);
}

@media (max-width: 768px) {
    .rk-kv-header, .rk-kv-controls, .rk-kv-results { padding: 25px 20px; }
    .rk-math-panel { grid-template-columns: 1fr; padding: 25px 20px; gap: 20px; }
    .rk-kv-results { grid-template-columns: 1fr; gap: 20px; }
    .rk-res-value { font-size: 32px; }
    
    /* Na bardzo małych ekranach pozwalamy na złamanie etykiety, ale chronimy wartość */
    .rk-slider-header { flex-direction: column; align-items: flex-start; gap: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#article-kalkulator-kv",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/"
    },
    "headline": "Jak dobrać współczynnik Kv i spadek ciśnienia dla separatora w ogrzewaniu podłogowym?",
    "description": "Interaktywny kalkulator oporów hydraulicznych pomagający dobrać odpowiedni przepływ nominalny i współczynnik Kv separatora dla instalacji płaszczyznowej.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "description": "Największy bloger branży budowlanej wykończeniowej i ekspert HVAC.",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-07",
    "dateModified": "2026-08-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#dataset-kv",
    "name": "Zestawienie spadków ciśnień w zależności od współczynnika Kv separatora",
    "description": "Baza danych obliczeniowych dla obciążeń pomp obiegowych w funkcji doboru przekroju armatury zabezpieczającej (DN20 vs DN25).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "współczynnik kv separatora",
      "spadek ciśnienia w podłogówce",
      "opory hydrauliczne pompy obiegowej",
      "przepływ nominalny pompy ciepła",
      "dobór średnicy rur do podłogówki"
    ],
    "measurementTechnique": "Obliczenia analityczne wg wzoru na przepływ objętościowy (V = Q / c*dT) oraz straty ciśnienia na armaturze (dp = (V/Kv)^2 * 100).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Model A (DN20, Kv 3.5): Przekroczenie bezpiecznych oporów, dławienie pompy 6-metrowej na poziomie ponad 40%.",
        "Model B (DN25, Kv 8.0): Optymalna praca instalacji, minimalne straty ciśnienia nie obciążające podnoszenia."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#webapp-kalkulator-kv",
    "name": "Kalkulator Współczynnika Kv i Oporów Separatora",
    "description": "Narzędzie symulujące na żywo obciążenie pompy obiegowej w zależności od mocy źródła ciepła i wybranego modelu separatora.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-kv-container">
    <div class="rk-kv-header">
        <h2>Jak dobrać współczynnik Kv i spadek ciśnienia dla separatora w ogrzewaniu podłogowym?</h2>
        <p>Dla optymalnej pracy instalacji płaszczyznowej spadek ciśnienia na separatorze nie może przekraczać 2–5 kPa (0,02–0,05 bar) przy przepływie nominalnym, co wymaga doboru urządzenia o współczynniku przepływu Kv ≥ 6,0 m³/h dla domów o mocy grzewczej 8–12 kW.</p>
        <p>Zgodnie z <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">normą PN-EN 1264-4</a>, maksymalny łączny liniowy i miejscowy opór hydrauliczny najmniej korzystnej pętli wraz ze źródłem nie powinien obciążać <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowej</a> wyżej niż do 60–70% jej dostępnej wysokości podnoszenia (zwykle dostępny budżet to 40–60 kPa).</p>
    </div>

    <div class="rk-math-panel">
        <div class="rk-math-col">
            <h3>1. Obliczenie przepływu (V)</h3>
            <div class="rk-formula-visual">
                V = <strong id="math-q">10</strong> / (1.163 · <strong id="math-dt">5</strong>) = <strong id="math-v">1.72</strong> m³/h
            </div>
        </div>
        <div class="rk-math-col">
            <h3>2. Opór hydrauliczny (Δp)</h3>
            <div class="rk-formula-visual">
                Δp = (V / <strong>Kv</strong>)² · 100 [kPa]
            </div>
        </div>
    </div>

    <div class="rk-kv-controls">
        <div class="rk-slider-group">
            <div class="rk-slider-header">
                <span class="rk-slider-label">Zapotrzebowanie na moc grzewczą (Q)</span>
                <span class="rk-slider-val" id="val-q">10 kW</span>
            </div>
            <input type="range" min="5" max="20" step="1" value="10" class="rk-range" id="input-q" aria-label="Suwak zapotrzebowania na moc grzewczą">
        </div>

        <div class="rk-slider-group">
            <div class="rk-slider-header">
                <span class="rk-slider-label"><a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/" style="color:inherit;">Różnica temperatur zasilania/powrotu (ΔT)</a></span>
                <span class="rk-slider-val" id="val-dt">5 K</span>
            </div>
            <input type="range" min="3" max="10" step="1" value="5" class="rk-range" id="input-dt" aria-label="Suwak różnicy temperatur">
        </div>
    </div>

    <div class="rk-kv-results">
        
        <!-- Model A: DN20 -->
        <div class="rk-res-card danger" id="card-a">
            <div class="rk-res-header">
                <div>
                    <h3 class="rk-res-title">Model A (Mały)</h3>
                    <div class="rk-res-subtitle">Średnica DN20 (3/4") | Kv = 3.5</div>
                </div>
                <div class="rk-res-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                </div>
            </div>
            <div class="rk-res-value-box">
                <div class="rk-res-value" id="res-dp-a">24.15</div>
                <div class="rk-res-unit">Spadek ciśnienia [kPa]</div>
            </div>
            <div class="rk-res-bar-container">
                <div class="rk-res-bar" id="bar-a" style="width: 40%; background: var(--rk-kv-red);"></div>
            </div>
            <div class="rk-res-desc">
                Konsumuje <strong id="res-percent-a">40.2%</strong> budżetu ciśnieniowego standardowej pompy (60 kPa). Powoduje dławienie przepływu.
            </div>
        </div>

        <!-- Model B: DN25 -->
        <div class="rk-res-card safe" id="card-b">
            <div class="rk-res-header">
                <div>
                    <h3 class="rk-res-title">Model B (Optymalny)</h3>
                    <div class="rk-res-subtitle">Średnica DN25 (1") | Kv = 8.0</div>
                </div>
                <div class="rk-res-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
            </div>
            <div class="rk-res-value-box">
                <div class="rk-res-value" id="res-dp-b">4.62</div>
                <div class="rk-res-unit">Spadek ciśnienia [kPa]</div>
            </div>
            <div class="rk-res-bar-container">
                <div class="rk-res-bar" id="bar-b" style="width: 7%; background: var(--rk-kv-green);"></div>
            </div>
            <div class="rk-res-desc">
                Konsumuje <strong id="res-percent-b">7.7%</strong> budżetu ciśnieniowego pompy. Zachowuje nadwyżkę dla skrajnych pętli ogrzewania.
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Inputs
    const inputQ = document.getElementById('input-q');
    const inputDT = document.getElementById('input-dt');
    
    // Labels
    const valQ = document.getElementById('val-q');
    const valDT = document.getElementById('val-dt');
    
    // Math visuals
    const mathQ = document.getElementById('math-q');
    const mathDT = document.getElementById('math-dt');
    const mathV = document.getElementById('math-v');
    
    // Results A (Kv 3.5)
    const cardA = document.getElementById('card-a');
    const resDpA = document.getElementById('res-dp-a');
    const barA = document.getElementById('bar-a');
    const resPercentA = document.getElementById('res-percent-a');
    
    // Results B (Kv 8.0)
    const cardB = document.getElementById('card-b');
    const resDpB = document.getElementById('res-dp-b');
    const barB = document.getElementById('bar-b');
    const resPercentB = document.getElementById('res-percent-b');

    // Constants
    const kvA = 3.5;
    const kvB = 8.0;
    const pumpBudget = 60; // kPa

    function updateCalculator() {
        let q = parseFloat(inputQ.value);
        let dt = parseFloat(inputDT.value);

        // Update labels
        valQ.textContent = q + " kW";
        valDT.textContent = dt + " K";
        mathQ.textContent = q;
        mathDT.textContent = dt;

        // Calculate V (m3/h)
        let v = q / (1.163 * dt);
        mathV.textContent = v.toFixed(2);

        // Calculate DP for A
        let dpA = Math.pow((v / kvA), 2) * 100;
        let percentA = (dpA / pumpBudget) * 100;

        // Calculate DP for B
        let dpB = Math.pow((v / kvB), 2) * 100;
        let percentB = (dpB / pumpBudget) * 100;

        // Update DOM A
        resDpA.textContent = dpA.toFixed(2);
        resPercentA.textContent = percentA.toFixed(1) + "%";
        
        let visualBarA = percentA;
        if (visualBarA > 100) { visualBarA = 100; }
        barA.style.width = visualBarA + "%";

        // Logic for Card A Styling (No && operators)
        if (percentA > 20) {
            cardA.classList.remove('safe');
            cardA.classList.add('danger');
            barA.style.background = 'var(--rk-kv-red)';
        }
        if (percentA <= 20) {
            cardA.classList.remove('danger');
            cardA.classList.add('safe');
            barA.style.background = 'var(--rk-kv-green)';
        }

        // Update DOM B
        resDpB.textContent = dpB.toFixed(2);
        resPercentB.textContent = percentB.toFixed(1) + "%";
        
        let visualBarB = percentB;
        if (visualBarB > 100) { visualBarB = 100; }
        barB.style.width = visualBarB + "%";

        // Logic for Card B Styling (No && operators)
        if (percentB > 20) {
            cardB.classList.remove('safe');
            cardB.classList.add('danger');
            barB.style.background = 'var(--rk-kv-red)';
        }
        if (percentB <= 20) {
            cardB.classList.remove('danger');
            cardB.classList.add('safe');
            barB.style.background = 'var(--rk-kv-green)';
        }
    }

    inputQ.addEventListener('input', updateCalculator);
    inputDT.addEventListener('input', updateCalculator);

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



<style>
:root {
    --rk-fail-dark: #0f172a;
    --rk-fail-red: #ef4444;
    --rk-fail-red-dark: #b91c1c;
    --rk-fail-red-light: #fef2f2;
    --rk-fail-blue: #0284c7;
    --rk-fail-gray-light: #f8fafc;
    --rk-fail-border: #e2e8f0;
    --rk-fail-text: #475569;
}

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

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

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

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

.rk-fail-header p:last-child { margin: 0; }

.rk-norm-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--rk-fail-gray-light);
    border: 1px solid var(--rk-fail-border);
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-fail-dark);
    margin-top: 15px;
}

/* Interfejs Przełącznika */
.rk-fail-controls {
    background: var(--rk-fail-gray-light);
    padding: 30px 40px;
    border-bottom: 1px solid var(--rk-fail-border);
    display: flex;
    justify-content: center;
}

.rk-fail-toggle {
    display: flex;
    background: #e2e8f0;
    border-radius: 12px;
    padding: 6px;
    position: relative;
    width: 100%;
    max-width: 500px;
}

.rk-fail-btn {
    flex: 1;
    padding: 14px 20px;
    border: none;
    background: transparent;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 2;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-fail-btn.active { color: var(--rk-fail-red-dark); }

.rk-fail-slider {
    position: absolute;
    top: 6px;
    left: 6px;
    height: calc(100% - 12px);
    width: calc(50% - 6px);
    background: #ffffff;
    border-radius: 8px;
    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    z-index: 1;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
    border-bottom: 2px solid var(--rk-fail-red);
}

.rk-fail-toggle[data-state="dirt"] .rk-fail-slider {
    transform: translateX(100%);
}

/* Panele Skutków */
.rk-fail-panels {
    background: #ffffff;
}

.rk-fail-panel {
    display: none;
    padding: 40px;
    animation: fadeIn 0.4s ease;
}

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

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

.rk-cause-effect-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 25px;
}

.rk-ce-card {
    background: #ffffff;
    border: 1px solid var(--rk-fail-border);
    border-radius: 16px;
    padding: 30px;
    position: relative;
    border-left: 6px solid var(--rk-fail-red);
}

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

.rk-ce-icon {
    width: 48px;
    height: 48px;
    background: var(--rk-fail-red-light);
    color: var(--rk-fail-red);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

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

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

.rk-ce-desc a {
    color: var(--rk-fail-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(2, 132, 199, 0.3);
}

.rk-ce-highlight {
    background: var(--rk-fail-gray-light);
    border: 1px solid var(--rk-fail-border);
    padding: 15px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-fail-dark);
    display: flex;
    align-items: center;
    gap: 12px;
}

@media (max-width: 768px) {
    .rk-fail-header, .rk-fail-controls, .rk-fail-panel { padding: 25px 20px; }
    .rk-fail-header h2 { font-size: 22px; }
    .rk-fail-btn { flex-direction: column; font-size: 13px; padding: 10px; gap: 5px; }
    .rk-ce-card { padding: 20px; }
    .rk-ce-title { font-size: 18px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#article-awarie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/"
    },
    "headline": "Czym grozi brak separatora magnetycznego i deaeratora w płaszczyznowym układzie C.O.?",
    "description": "Zjawiska kawitacji, uszkodzenia pomp ECM oraz spadek wydajności układu grzewczego spowodowane brakiem armatury separacyjnej i niezgodnością z normą VDI 2035.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "description": "Największy bloger branży budowlanej wykończeniowej i ekspert HVAC.",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-08-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#dataset-awarie",
    "name": "Wpływ braku separacji na żywotność komponentów kotłowni",
    "description": "Baza danych awarii hydraulicznych wynikających z braku filtracji magnetycznej i deaeracji. Koszty napraw i spadki sprawności COP.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "awaria pompy obiegowej ECM",
      "błąd przepływu pompy ciepła",
      "spadek COP pompy ciepła",
      "zapowietrzenie podłogówki PEX",
      "norma VDI 2035 korozja"
    ],
    "measurementTechnique": "Mapowanie przyczynowo-skutkowe: obecność tlenu (powyżej 0,1 mg/l) i magnetytu do degradacji wymienników i oporów hydraulicznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Awaria pomp ECM: Zablokowanie wirnika magnetytem, koszt wymiany głowicy 600-1300 PLN.",
        "Spadek sprawności: 1 mm warstwa szlamu na wymienniku obniża wymianę ciepła o 12-15%, powodując wzrost kosztów prądu o 400-900 PLN rocznie.",
        "Korek powietrzny w rurach PEX: Prędkość 0,15-0,6 m/s nie porywa mikropęcherzy, zatrzymując całkowicie przepływ w pętli."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#webapp-drzewo-awarii",
    "name": "Symulator Drzewa Awarii Hydraulicznych",
    "description": "Interaktywne narzędzie edukacyjne ilustrujące łańcuch zniszczeń w instalacji płaszczyznowej w zależności od głównego czynnika degradującego (powietrze lub szlam).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-fail-container">
    <div class="rk-fail-header">
        <h2>Czym grozi brak separatora magnetycznego i deaeratora w płaszczyznowym układzie C.O.?</h2>
        <p>Brak separatorów w instalacji ogrzewania podłogowego prowadzi do spadku wydajności grzewczej pętli nawet o 30–40%, uszkodzenia panewek pomp obiegowych wysokiej sprawności ECM/PWM w czasie poniżej 24 miesięcy oraz powstawania niszczącego zjawiska kawitacji i szumów hydraulicznych.</p>
        <div class="rk-norm-badge">
            <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Norma VDI 2035 Blatt 2 / PN-EN 14868
        </div>
        <p style="margin-top: 15px; font-size: 14px;">Wytyczne jednoznacznie wskazują, że stężenie tlenu w wodzie grzewczej powyżej 0,1 mg/l wywołuje intensywną korozję wżerową elementów metalowych oraz wytrącanie szlamu.</p>
    </div>

    <div class="rk-fail-controls">
        <div class="rk-fail-toggle" id="rk-fail-toggle" data-state="air">
            <div class="rk-fail-slider"></div>
            <button class="rk-fail-btn active" data-target="air">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9.59 4.59A2 2 0 1 1 11 8H2m10.59 11.41A2 2 0 1 0 14 16H2m15.73-8.27A2.5 2.5 0 1 1 19.5 12H2"></path></svg>
                Obecność Powietrza
            </button>
            <button class="rk-fail-btn" data-target="dirt">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon></svg>
                Szlam i Magnetyt
            </button>
        </div>
    </div>

    <div class="rk-fail-panels">
        
        <!-- Panel 1: Powietrze -->
        <div class="rk-fail-panel active" id="panel-air">
            <div class="rk-cause-effect-grid">
                
                <div class="rk-ce-card">
                    <div class="rk-ce-header">
                        <div class="rk-ce-icon">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"></path><path d="M12 12v9"></path><path d="M8 17l4 4 4-4"></path></svg>
                        </div>
                        <h3 class="rk-ce-title">Zapowietrzanie i "Korek Powietrzny" PEX</h3>
                    </div>
                    <p class="rk-ce-desc">Ze względu na małą prędkość liniową przepływu cieczy w rurach ogrzewania podłogowego (zalecana prędkość według normy PN-EN 1264 wynosi zaledwie 0,15–0,6 m/s), mikropęcherzyki powietrza nie są w stanie zostać fizycznie porwane do klasycznych odpowietrzników na <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielaczach</a>.</p>
                    <p class="rk-ce-desc">Gromadzą się one w najwyższych łukach rur w wylewce, tworząc poduszki powietrzne. Zwiększa to opory hydrauliczne do poziomu, w którym przepływ całkowicie zanika.</p>
                    <div class="rk-ce-highlight">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                        Skutek: Zimne strefy podłogi, uciążliwe szumy i wibracje w instalacji.
                    </div>
                </div>

            </div>
        </div>

        <!-- Panel 2: Szlam -->
        <div class="rk-fail-panel" id="panel-dirt">
            <div class="rk-cause-effect-grid">
                
                <!-- Błąd 1: Pompa -->
                <div class="rk-ce-card">
                    <div class="rk-ce-header">
                        <div class="rk-ce-icon">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                        </div>
                        <h3 class="rk-ce-title">Awaria pompy obiegowej ECM</h3>
                    </div>
                    <p class="rk-ce-desc">Współczesne, energooszczędne <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowe</a> (dyrektywa ErP) wykorzystują wirniki z magnesami trwałymi (PM technology). Drobiny magnetytu (Fe<sub>3</sub>O<sub>4</sub>) krążące w wodzie są błyskawicznie przyciągane do szczeliny roboczej pomiędzy wirnikiem a statorem.</p>
                    <div class="rk-ce-highlight">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14.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>
                        Mechaniczne zablokowanie wirnika (Błąd E10 / E4) – koszt naprawy od 600 do 1300 PLN.
                    </div>
                </div>

                <!-- Błąd 2: Wymiennik -->
                <div class="rk-ce-card">
                    <div class="rk-ce-header">
                        <div class="rk-ce-icon">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
                        </div>
                        <h3 class="rk-ce-title">Zarastanie płytowego wymiennika ciepła</h3>
                    </div>
                    <p class="rk-ce-desc">Warstwa szlamu magnetytowego o grubości zaledwie 1 mm osadzona na powierzchni <a href="https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/">wymiennika płytowego</a> działa jak agresywny izolator termiczny, obniżając sprawność wymiany ciepła aż o 12–15%.</p>
                    <p class="rk-ce-desc">Dla <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a> oznacza to konieczność podniesienia temperatury skraplania o 3–5 K, co drastycznie psuje ekonomikę pracy.</p>
                    <div class="rk-ce-highlight">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline></svg>
                        Obniżenie sprawności COP o 7,5–12.5% i wyższe rachunki za prąd o ok. 400–900 PLN rocznie.
                    </div>
                </div>

            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggleWrapper = document.getElementById('rk-fail-toggle');
    const btns = toggleWrapper.querySelectorAll('.rk-fail-btn');
    const panelAir = document.getElementById('panel-air');
    const panelDirt = document.getElementById('panel-dirt');

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

            // Czyszczenie klas aktywnych
            for (let j = 0; j < btns.length; j++) {
                btns[j].classList.remove('active');
            }
            
            // Aktywacja klikniętego przycisku
            this.classList.add('active');
            toggleWrapper.setAttribute('data-state', targetState);

            // Sterowanie panelami bez użycia operatorów logicznych (and/or)
            if (targetState === 'air') {
                panelDirt.classList.remove('active');
                panelAir.classList.add('active');
            } else {
                panelAir.classList.remove('active');
                panelDirt.classList.add('active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-comp-dark: #0f172a;
    --rk-comp-blue: #0284c7;
    --rk-comp-blue-light: #e0f2fe;
    --rk-comp-border: #e2e8f0;
    --rk-comp-text: #475569;
    --rk-comp-bg: #ffffff;
    --rk-comp-gray: #f8fafc;
    --rk-comp-red: #dc2626;
    --rk-comp-red-light: #fef2f2;
    --rk-comp-green: #059669;
}

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

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

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

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

/* Interfejs wyboru separatora */
.rk-comp-selector {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: var(--rk-comp-gray);
    border-bottom: 1px solid var(--rk-comp-border);
}

.rk-comp-btn {
    padding: 20px 15px;
    background: transparent;
    border: none;
    border-bottom: 4px solid transparent;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

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

.rk-comp-btn.active {
    background: #ffffff;
    border-bottom-color: var(--rk-comp-blue);
}

.rk-comp-btn-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    transition: all 0.3s;
}

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

.rk-comp-btn-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-comp-text);
    text-align: center;
    line-height: 1.3;
}

.rk-comp-btn.active .rk-comp-btn-title {
    color: var(--rk-comp-dark);
}

/* Panele z danymi */
.rk-comp-panels {
    padding: 40px;
    background: #ffffff;
}

.rk-comp-panel {
    display: none;
    animation: fadeInPanel 0.4s ease;
}

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

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

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

.rk-metric-box {
    background: var(--rk-comp-gray);
    border: 1px solid var(--rk-comp-border);
    border-radius: 12px;
    padding: 20px;
    text-align: center;
}

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

.rk-metric-value {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-comp-dark);
}

.rk-metric-value.highlight { color: var(--rk-comp-blue); }
.rk-metric-value.danger { color: var(--rk-comp-red); }

/* Poprawiony wiersz z kosztami i rekomendacją */
.rk-cost-row {
    background: var(--rk-comp-blue-light);
    border-radius: 12px;
    padding: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    margin-top: 20px;
}

.rk-cost-info {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-comp-dark);
}

.rk-cost-info strong {
    color: var(--rk-comp-blue);
}

.rk-cost-price {
    flex-shrink: 0; /* Zabezpiecza przed zgniataniem ceny */
    text-align: right;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    color: #64748b;
}

.rk-cost-price strong {
    display: block;
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-comp-blue);
    margin-top: 4px;
}

/* Ostrzeżenie Filtr Y */
.rk-warning-block {
    margin: 0 40px 40px 40px;
    padding: 30px;
    background: var(--rk-comp-red-light);
    border-left: 5px solid var(--rk-comp-red);
    border-radius: 0 16px 16px 0;
}

.rk-warning-block h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-comp-red);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-warning-block p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-comp-dark);
    margin: 0 0 15px 0;
}

.rk-warning-block p:last-child {
    margin: 0;
}

.rk-warning-block a {
    color: var(--rk-comp-red);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 768px) {
    .rk-comp-header, .rk-comp-panels { padding: 25px 20px; }
    .rk-comp-header h2 { font-size: 24px; }
    
    .rk-comp-selector {
        grid-template-columns: 1fr;
        border-bottom: none;
    }
    
    .rk-comp-btn {
        flex-direction: row;
        text-align: left;
        border-bottom: 1px solid var(--rk-comp-border);
        border-left: 4px solid transparent;
        padding: 15px 20px;
    }
    
    .rk-comp-btn.active {
        border-bottom-color: var(--rk-comp-border);
        border-left-color: var(--rk-comp-blue);
    }
    
    .rk-comp-btn-title { text-align: left; font-size: 15px; }
    
    .rk-metrics-grid { grid-template-columns: 1fr; gap: 15px; }
    
    .rk-cost-row { 
        flex-direction: column; 
        gap: 20px; 
        align-items: flex-start; 
        text-align: left; 
    }
    
    .rk-cost-price { text-align: left; }
    
    .rk-warning-block { margin: 0 20px 20px 20px; padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#article-porownanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/"
    },
    "headline": "Jaki separator wybrać do ogrzewania podłogowego – porównanie techniczne",
    "description": "Zestawienie techniczne separatorów zanieczyszczeń: mosiężnych, kompozytowych oraz filtrów siatkowych. Wpływ na żywotność instalacji ogrzewania podłogowego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "description": "Największy bloger branży budowlanej wykończeniowej i ekspert HVAC.",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-08-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#dataset-komparator",
    "name": "Parametry Techniczne i Hydrauliczne Filtrów C.O.",
    "description": "Baza danych parametrów hydraulicznych: współczynniki Kv, indukcja magnetyczna oraz precyzja filtracji dla różnych typów armatury zabezpieczającej źródła ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "współczynnik Kv separatora",
      "spadek ciśnienia w instalacji",
      "filtr skośny do pompy ciepła",
      "indukcja magnesu neodymowego",
      "czyszczenie instalacji c.o."
    ],
    "measurementTechnique": "Zestawienie porównawcze przepustowości hydraulicznej (przepływ max) oraz strat ciśnienia przy nominalnym przepływie 1,8 m3/h.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Separator Mosiężny: Kv 7,5 - 11,0 m3/h, spadek ciśnienia 2,6 - 4,5 kPa.",
        "Separator Kompozytowy: Kv 4,8 - 7,0 m3/h, spadek ciśnienia 6,0 - 11,2 kPa.",
        "Filtr Skośny Y: Ekstremalny spadek ciśnienia 16,0 - 32,0 kPa, filtracja tylko pow. 400 mikrometrów."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#webapp-komparator",
    "name": "Interaktywny Komparator Separatorów Zanieczyszczeń",
    "description": "Aplikacja pozwalająca na błyskawiczne porównanie możliwości technicznych armatury zabezpieczającej w celu poprawnego doboru pod pompę ciepła.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-comp-container">
    <div class="rk-comp-header">
        <h2>Jaki separator wybrać do ogrzewania podłogowego – porównanie techniczne</h2>
        <p>Wybór materiału korpusu, typu elementu filtracyjnego oraz maksymalnego przepływu (współczynnik Kv) bezpośrednio decyduje o żywotności instalacji i częstotliwości czyszczenia osadnika.</p>
    </div>

    <!-- Nawigacja / Przyciski -->
    <div class="rk-comp-selector">
        <button class="rk-comp-btn active" data-target="panel-mosiadz">
            <div class="rk-comp-btn-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 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
            </div>
            <span class="rk-comp-btn-title">Mosiężny<br>(Dedykowany)</span>
        </button>

        <button class="rk-comp-btn" data-target="panel-kompozyt">
            <div class="rk-comp-btn-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
            </div>
            <span class="rk-comp-btn-title">Kompozytowy<br>(Poliamid PA66)</span>
        </button>

        <button class="rk-comp-btn" data-target="panel-combo">
            <div class="rk-comp-btn-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="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>
            <span class="rk-comp-btn-title">Kombi 2w1<br>(Air & Dirt)</span>
        </button>

        <button class="rk-comp-btn" data-target="panel-filtrY">
            <div class="rk-comp-btn-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
            </div>
            <span class="rk-comp-btn-title">Tradycyjny<br>Filtr Skośny Y</span>
        </button>
    </div>

    <!-- Panele zawartości -->
    <div class="rk-comp-panels">
        
        <!-- Mosiężny -->
        <div class="rk-comp-panel active" id="panel-mosiadz">
            <div class="rk-metrics-grid">
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Przepływ Max (Kv)</div>
                    <div class="rk-metric-value highlight">7,5 – 11,0 m³/h</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Spadek ciśnienia (1,8 m³/h)</div>
                    <div class="rk-metric-value">2,6 – 4,5 kPa</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Indukcja magnesu</div>
                    <div class="rk-metric-value">12 000 – 14 000 G</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Filtracja cząstek</div>
                    <div class="rk-metric-value highlight">Od 2 µm</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Sprawność deaeracji</div>
                    <div class="rk-metric-value">Brak (wymaga osobnego)</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Metoda czyszczenia</div>
                    <div class="rk-metric-value">Pod ciśnieniem (Zawór)</div>
                </div>
            </div>
            <div class="rk-cost-row">
                <div class="rk-cost-info">
                    Rekomendacja: <strong>Najlepszy wybór dla pomp ciepła</strong> ze względu na bardzo wysoki współczynnik Kv.
                </div>
                <div class="rk-cost-price">
                    Średni Koszt brutto
                    <strong>450 – 750 PLN</strong>
                </div>
            </div>
        </div>

        <!-- Kompozyt -->
        <div class="rk-comp-panel" id="panel-kompozyt">
            <div class="rk-metrics-grid">
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Przepływ Max (Kv)</div>
                    <div class="rk-metric-value">4,8 – 7,0 m³/h</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Spadek ciśnienia (1,8 m³/h)</div>
                    <div class="rk-metric-value">6,0 – 11,2 kPa</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Indukcja magnesu</div>
                    <div class="rk-metric-value">10 000 – 12 000 G</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Filtracja cząstek</div>
                    <div class="rk-metric-value">Od 5 µm</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Sprawność deaeracji</div>
                    <div class="rk-metric-value">Brak (wymaga osobnego)</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Metoda czyszczenia</div>
                    <div class="rk-metric-value">Pod ciśnieniem (Zawór)</div>
                </div>
            </div>
            <div class="rk-cost-row">
                <div class="rk-cost-info">
                    Rekomendacja: <strong>Wystarczający do kotłów gazowych</strong>, jednak stawia większe opory hydrauliczne.
                </div>
                <div class="rk-cost-price">
                    Średni Koszt brutto
                    <strong>280 – 420 PLN</strong>
                </div>
            </div>
        </div>

        <!-- Combo 2w1 -->
        <div class="rk-comp-panel" id="panel-combo">
            <div class="rk-metrics-grid">
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Przepływ Max (Kv)</div>
                    <div class="rk-metric-value">5,5 – 8,5 m³/h</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Spadek ciśnienia (1,8 m³/h)</div>
                    <div class="rk-metric-value">4,8 – 8,0 kPa</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Indukcja magnesu</div>
                    <div class="rk-metric-value">12 000 G</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Filtracja cząstek</div>
                    <div class="rk-metric-value">Od 5 µm</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Sprawność deaeracji</div>
                    <div class="rk-metric-value highlight">Do 99% mikropęcherzy</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Metoda czyszczenia</div>
                    <div class="rk-metric-value">Pod ciśnieniem (Zawór)</div>
                </div>
            </div>
            <div class="rk-cost-row">
                <div class="rk-cost-info">
                    Rekomendacja: <strong>Idealne do małych kotłowni</strong>, gdzie brakuje miejsca na dwa osobne urządzenia.
                </div>
                <div class="rk-cost-price">
                    Średni Koszt brutto
                    <strong>600 – 1100 PLN</strong>
                </div>
            </div>
        </div>

        <!-- Filtr Y -->
        <div class="rk-comp-panel" id="panel-filtrY">
            <div class="rk-metrics-grid">
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Przepływ Max (Kv)</div>
                    <div class="rk-metric-value danger">3,0 – 4,5 m³/h</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Spadek ciśnienia (1,8 m³/h)</div>
                    <div class="rk-metric-value danger">16,0 – 32,0 kPa</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Indukcja magnesu</div>
                    <div class="rk-metric-value">Brak / Słaba (3000 G)</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Filtracja cząstek</div>
                    <div class="rk-metric-value danger">Tylko > 400 µm</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Sprawność deaeracji</div>
                    <div class="rk-metric-value">0%</div>
                </div>
                <div class="rk-metric-box">
                    <div class="rk-metric-label">Metoda czyszczenia</div>
                    <div class="rk-metric-value">Tylko po odcięciu wody</div>
                </div>
            </div>
            <div class="rk-cost-row">
                <div class="rk-cost-info">
                    Rekomendacja: <strong>Absolutnie odradzany</strong> jako jedyne zabezpieczenie przy pompach ciepła.
                </div>
                <div class="rk-cost-price">
                    Średni Koszt brutto
                    <strong>45 – 90 PLN</strong>
                </div>
            </div>
        </div>

    </div>

    <!-- Blok Ostrzegawczy H3 -->
    <div class="rk-warning-block">
        <h3>
            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Dlaczego tradycyjny filtr skośny siatkowy (typu Y) nie wystarcza w ogrzewaniu podłogowym?
        </h3>
        <p>Siatka stalowa w filtrze skośnym posiada oczka o wielkości 400 µm (0,4 mm) do 800 µm. Większość szlamu magnetytowego powstającego w instalacjach c.o. ma wielkość cząstek w przedziale 2–50 µm. Oznacza to, że cząstki te swobodnie przechodzą przez filtr Y, trafiając prosto do <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a>.</p>
        <p>Ponadto filtr Y szybko ulega całkowitemu zatkaniu przy osadzaniu się drobnych zanieczyszczeń biologicznych, drastycznie zwiększając spadek ciśnienia (Delta p powyżej 50 kPa). Taki opór odcina przepływ w pętlach i często doprowadza do wyłączenia urządzenia z powodu błędu przepływu (Flow Switch Error). Pamiętaj, aby uwzględniać ten aspekt przy <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">unikaniu błędów montażowych</a> podczas budowy kotłowni.</p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('.rk-comp-btn');
    const panels = document.querySelectorAll('.rk-comp-panel');

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

            // Czyszczenie klas aktywnych (bezpieczna pętla)
            for (let j = 0; j < tabs.length; j++) {
                tabs[j].classList.remove('active');
            }
            for (let k = 0; k < panels.length; k++) {
                panels[k].classList.remove('active');
            }

            // Nadanie aktywnego stanu
            this.classList.add('active');
            let targetPanel = document.getElementById(targetId);
            if (targetPanel !== null) {
                targetPanel.classList.add('active');
            }
        });
    }
});
</script>



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

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

.rk-sim-header {
    background: linear-gradient(135deg, var(--rk-sim-gray) 0%, #ffffff 100%);
    padding: 35px 40px;
    border-bottom: 1px solid var(--rk-sim-border);
}

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

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

.rk-sim-body {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
}

/* Panel sterowania (Suwaki) - Zabezpieczony przed motywem WP */
.rk-sim-controls {
    background: var(--rk-sim-dark);
    padding: 40px 30px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
}

.rk-sim-controls h3 {
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 25px 0;
    color: #cbd5e1;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    width: 100%;
}

.rk-slider-group {
    margin-bottom: 35px;
    width: 100%;
    display: flex;
    flex-direction: column;
}

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

.rk-slider-label {
    font-size: 14px;
    font-weight: 700;
    color: #94a3b8;
}

.rk-slider-val {
    font-size: 20px;
    font-weight: 900;
    color: #ffffff;
    background: rgba(255,255,255,0.1);
    padding: 4px 12px;
    border-radius: 8px;
    white-space: nowrap;
}

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

.rk-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-sim-blue);
    cursor: pointer;
    border: 4px solid #ffffff;
    transition: transform 0.1s;
}

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

.rk-range::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--rk-sim-blue);
    cursor: pointer;
    border: 4px solid #ffffff;
}

.rk-sim-info {
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #1e293b;
    width: 100%;
}

/* Panel Wyników na Żywo */
.rk-sim-results {
    padding: 40px;
    background: #ffffff;
    width: 100%;
    box-sizing: border-box;
}

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

.rk-res-card {
    border: 1px solid var(--rk-sim-border);
    border-radius: 16px;
    padding: 25px;
    position: relative;
    overflow: hidden;
    transition: all 0.3s;
}

.rk-res-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: var(--rk-sim-blue);
}

.rk-res-card.warning::before { background: var(--rk-sim-red); }
.rk-res-card.success::before { background: var(--rk-sim-green); }

.rk-res-title {
    font-size: 13px;
    font-weight: 800;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

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

.rk-res-desc {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-sim-text);
}

.rk-res-desc a {
    color: var(--rk-sim-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(2, 132, 199, 0.3);
}

@media (max-width: 768px) {
    .rk-sim-header { padding: 30px 20px; }
    .rk-sim-controls { padding: 30px 20px; }
    .rk-sim-results { padding: 30px 20px; }
    .rk-res-value { font-size: 28px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#article-kalkulator-stokesa",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/"
    },
    "headline": "Jak obliczyć wymaganą pojemność osadnika w instalacji podłogowej?",
    "description": "Interaktywny symulator oparty na Prawie Stokesa pokazujący różnicę między opadaniem grawitacyjnym a przyciąganiem magnetycznym w instalacji grzewczej.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-07",
    "dateModified": "2026-08-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#dataset-stokes-sim",
    "name": "Parametry Fizyczne Opadania Grawitacyjnego Magnetytu",
    "description": "Zestawienie obliczeniowe dla różnych mocy pomp ciepła obrazujące wymagany czas i objętość dla grawitacyjnego wychwytu zanieczyszczeń.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator pojemności separatora",
      "prawo stokesa w podłogówce",
      "przepływ nominalny pompy ciepła",
      "prędkość opadania magnetytu",
      "dobór separatora magnetycznego"
    ],
    "measurementTechnique": "Dynamiczne obliczanie przepływu V na podstawie mocy Q oraz symulacja wymaganego czasu retencji tr na podstawie zjawiska grawitacyjnego Prawa Stokesa.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zmienna Moc: Kalkulacje obejmują przepływy robocze od 5 kW do 15 kW.",
        "Zmienna Cząstka: Symulacja wychwytu cząstek od 10 do 50 mikrometrów.",
        "Różnica technologiczna: Komora magnetyczna zmniejsza wymagany litraż układu blisko stukrotnie."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#webapp-stokes-live",
    "name": "Kalkulator Pojemności Osadnika na żywo",
    "description": "Interaktywna aplikacja webowa obliczająca przepływ nominalny oraz minimalną wymaganą pojemność osadnika separatora w zależności od wielkości cząstki i mocy urządzenia.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-sim-container">
    <div class="rk-sim-header">
        <h2>Jak obliczyć wymaganą pojemność osadnika?</h2>
        <p>Przekonaj się na żywo, jak wielkość instalacji (kW) oraz rozmiar zabrudzeń wpływają na wymaganą wielkość separatora. Odkryj siłę Prawa Stokesa w praktyce instalacyjnej.</p>
    </div>

    <div class="rk-sim-body">
        
        <!-- Panel Sterowania -->
        <div class="rk-sim-controls">
            <h3>Parametry instalacji</h3>
            
            <div class="rk-slider-group">
                <div class="rk-slider-header">
                    <span class="rk-slider-label">Moc instalacji C.O.</span>
                    <span class="rk-slider-val" id="val-power">10 kW</span>
                </div>
                <input type="range" min="5" max="15" step="1" value="10" class="rk-range" id="input-power" aria-label="Suwak mocy instalacji w kilowatach">
            </div>

            <div class="rk-slider-group">
                <div class="rk-slider-header">
                    <span class="rk-slider-label">Wielkość cząstek szlamu</span>
                    <span class="rk-slider-val" id="val-particle">20 µm</span>
                </div>
                <input type="range" min="10" max="50" step="5" value="20" class="rk-range" id="input-particle" aria-label="Suwak wielkości cząstek w mikrometrach">
            </div>

            <div class="rk-sim-info">
                <strong>Zmienne stałe:</strong><br>
                Gęstość magnetytu = 5200 kg/m³<br>
                Wysokość komory osadnika = 0,08 m<br>
                Różnica temperatur DT = 5 K
            </div>
        </div>

        <!-- Panel Wyników -->
        <div class="rk-sim-results">
            <div class="rk-results-grid">
                
                <div class="rk-res-card info">
                    <div class="rk-res-title">Przepływ cieczy w układzie</div>
                    <div class="rk-res-value" id="res-flow">1.72 m³/h</div>
                    <div class="rk-res-desc">
                        Tyle wody musi przetłoczyć <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa</a> w ciągu godziny, aby ogrzać dom przy założonej różnicy zasilania i powrotu równej 5K.
                    </div>
                </div>

                <div class="rk-res-card warning">
                    <div class="rk-res-title">Osadnik Zwykły (Tylko Grawitacja)</div>
                    <div class="rk-res-value" id="res-grav">28.6 Litra</div>
                    <div class="rk-res-desc">
                        Aby woda zwolniła na tyle (poniżej 0,1 m/s), by drobny szlam zdołał grawitacyjnie opaść na dno, separator musiałby być wielkości ogromnego <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">naczynia wzbiorczego</a>.
                    </div>
                </div>

                <div class="rk-res-card success">
                    <div class="rk-res-title">Osadnik z Magnesem 12 000 Gauss</div>
                    <div class="rk-res-value" id="res-mag">0.5 Litra</div>
                    <div class="rk-res-desc">
                        Silne pole magnetyczne przyciąga cząstki żelaza setki razy szybciej niż grawitacja. To pozwala drastycznie zmniejszyć korpus urządzenia, przy jednoczesnym zachowaniu 99% skuteczności filtracji.
                    </div>
                </div>

            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Pobranie elementów DOM
    const inputPower = document.getElementById('input-power');
    const inputParticle = document.getElementById('input-particle');
    
    const valPower = document.getElementById('val-power');
    const valParticle = document.getElementById('val-particle');
    
    const resFlow = document.getElementById('res-flow');
    const resGrav = document.getElementById('res-grav');
    const resMag = document.getElementById('res-mag');

    // Stałe fizyczne dla Prawa Stokesa
    const g = 9.81;
    const p_p = 5200;
    const p_f = 992;
    const u = 0.000653;
    const h = 0.08;

    // Funkcja obliczeniowa (bezpieczna)
    function calculateStokes() {
        let q = parseFloat(inputPower.value);
        let d_um = parseFloat(inputParticle.value);

        // Aktualizacja etykiet nad suwakami
        valPower.textContent = q + " kW";
        valParticle.textContent = d_um + " µm";

        // Obliczenie przepływu V [m3/h] przy DT = 5K, c = 1.163
        // V = Q / (1.163 * 5) = Q / 5.815
        let v_m3h = q / 5.815;
        resFlow.textContent = v_m3h.toFixed(2) + " m³/h";

        // Przeliczenie d z um na metry
        let d_m = d_um / 1000000;

        // Prędkość opadania Stokesa [m/s]
        // v_s = (g * d^2 * (p_p - p_f)) / (18 * u)
        let numerator = g * (d_m * d_m) * (p_p - p_f);
        let denominator = 18 * u;
        let v_s = numerator / denominator;

        // Czas opadania na wysokość 80 mm [s]
        let t_s = h / v_s;

        // Przeliczenie przepływu na [m3/s]
        let v_m3s = v_m3h / 3600;

        // Wymagana objętość komory [m3] -> Litry
        let v_k_m3 = v_m3s * t_s;
        let v_k_liters = v_k_m3 * 1000;

        resGrav.textContent = v_k_liters.toFixed(1) + " Litra";

        // Objętość z magnesem (symulacja przyspieszenia opadania)
        let v_mag_liters = v_k_liters / 200;
        
        // Zabezpieczenie minimalnego sensownego litrażu separatora
        if (v_mag_liters < 0.35) {
            v_mag_liters = 0.35;
        }

        resMag.textContent = v_mag_liters.toFixed(2) + " Litra";
    }

    // Podpięcie zdarzeń
    inputPower.addEventListener('input', calculateStokes);
    inputParticle.addEventListener('input', calculateStokes);

    // Inicjalizacja przy starcie
    calculateStokes();
});
</script>



<style>
:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-blue: #0284c7;
    --rk-calc-blue-dark: #1e3a8a;
    --rk-calc-bg-light: #f8fafc;
    --rk-calc-border: #e2e8f0;
    --rk-calc-text: #475569;
    --rk-calc-green: #059669;
    --rk-calc-red: #dc2626;
}

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

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

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

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

/* Sekcja Wzorów i Teorii */
.rk-theory-box {
    padding: 40px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-calc-border);
}

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

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

.rk-formula-card {
    background: var(--rk-calc-bg-light);
    border: 1px solid var(--rk-calc-border);
    border-radius: 12px;
    padding: 25px;
}

.rk-formula-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-calc-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 15px;
}

.rk-math-block {
    font-family: 'Courier New', Courier, monospace;
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-calc-dark);
    background: #ffffff;
    padding: 15px;
    border-radius: 8px;
    border: 1px solid var(--rk-calc-border);
    text-align: center;
    margin-bottom: 15px;
}

.rk-math-vars {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 14px;
    line-height: 1.8;
    color: var(--rk-calc-text);
}

.rk-math-vars li strong {
    color: var(--rk-calc-dark);
}

/* Interaktywny Symulator Magnesu */
.rk-magnet-sim {
    padding: 40px;
    background: var(--rk-calc-bg-light);
}

.rk-sim-controls {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

/* Przebudowany, pancerny przełącznik (Grid) */
.rk-toggle-magnet {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    background: #e2e8f0;
    border-radius: 30px;
    padding: 6px;
    width: 100%;
    max-width: 450px;
}

.rk-toggle-btn {
    padding: 14px 15px;
    border: none;
    background: transparent;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4;
}

.rk-toggle-btn[data-target="off"].active {
    background: var(--rk-calc-dark);
    color: #ffffff;
    box-shadow: 0 4px 12px -2px rgba(15, 23, 42, 0.3);
}

.rk-toggle-btn[data-target="on"].active {
    background: var(--rk-calc-blue);
    color: #ffffff;
    box-shadow: 0 4px 12px -2px rgba(2, 132, 199, 0.3);
}

/* Wyniki Obliczeń - Czyste i techniczne */
.rk-results-panel {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.rk-result-card {
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    border-radius: 16px;
    padding: 40px 30px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

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

.rk-result-card.danger::before { background: var(--rk-calc-red); }
.rk-result-card.success::before { background: var(--rk-calc-green); }

.rk-result-val {
    font-size: 42px;
    font-weight: 900;
    color: var(--rk-calc-dark);
    margin-bottom: 8px;
    line-height: 1;
}

.rk-result-label {
    font-size: 15px;
    font-weight: 800;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-result-desc {
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-calc-text);
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.rk-result-desc a {
    color: var(--rk-calc-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(2, 132, 199, 0.3);
}

/* Ukrywanie paneli */
.rk-panel-content { display: none; }
.rk-panel-content.active { display: block; animation: fadeIn 0.4s ease; }

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

@media (max-width: 768px) {
    .rk-calc-header, .rk-theory-box, .rk-magnet-sim { padding: 30px 20px; }
    .rk-formula-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-result-card { padding: 30px 20px; }
    .rk-result-val { font-size: 34px; }
    .rk-toggle-btn { padding: 12px 10px; font-size: 13px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#article-fizyka-separacji",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/"
    },
    "headline": "Jak obliczyć wymaganą pojemność osadnika i przepływ nominalny dla instalacji podłogowej o mocy 8–12 kW?",
    "description": "Zastosowanie Prawa Stokesa w doborze wielkości komory osadnika separatora magnetycznego. Obliczenia wpływu magnesu neodymowego na pojemność urządzenia.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-07",
    "dateModified": "2026-08-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#dataset-stokes",
    "name": "Równanie Stokesa dla grawitacyjnego opadania zawiesin w c.o.",
    "description": "Dane obliczeniowe przedstawiające różnice w wymaganej pojemności wodnej komory osadnika w zależności od zastosowania pola magnetycznego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pojemność osadnika separatora",
      "przepływ nominalny w podłogówce",
      "obliczenia separatora magnetycznego",
      "magnes neodymowy w ogrzewaniu podłogowym",
      "prawo Stokesa opadanie cząstek"
    ],
    "measurementTechnique": "Wykorzystanie równania grawitacyjnego opadania cząstek (v_s) do ustalenia wymaganego czasu przebywania cieczy w komorze (t_r) na bazie przepływu objętościowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Separacja grawitacyjna: wymaga objętości ok. 28,55 litra dla przepływu 1,8 m3/h.",
        "Separacja magnetyczna: redukuje wymaganą pojemność do 0,35 - 0,5 litra dzięki przyciąganiu magnesu 12000 Gauss."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#webapp-stokes-calc",
    "name": "Kalkulator Prawa Stokesa dla Separatorów",
    "description": "Aplikacja edukacyjna pozwalająca zaobserwować, jak wprowadzenie magnesu neodymowego wpływa na gabaryty wymaganego urządzenia ochronnego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container">
    <div class="rk-calc-header">
        <h2>Jak obliczyć wymaganą pojemność osadnika?</h2>
        <p>Dla domów o mocy 8–12 kW z przepływem cieczy ok. 1,38–2,06 m³/h, kluczowym zadaniem jest redukcja prędkości przepływu w komorze separatora poniżej 0,1 m/s.</p>
    </div>

    <!-- Teoria i Wzory -->
    <div class="rk-theory-box">
        <h3>Fizyka separacji – Równanie Stokesa</h3>
        <div class="rk-formula-grid">
            
            <div class="rk-formula-card">
                <div class="rk-formula-title">Prędkość opadania cząstki (v_s)</div>
                <div class="rk-math-block">v = [g · d² · (p_p - p_f)] / [18 · µ]</div>
                <ul class="rk-math-vars">
                    <li><strong>g</strong>: Przyspieszenie ziemskie (9,81 m/s²)</li>
                    <li><strong>d</strong>: Średnica cząstki (np. 20 mikrometrów)</li>
                    <li><strong>p_p</strong>: Gęstość magnetytu (5200 kg/m³)</li>
                    <li><strong>p_f</strong>: Gęstość wody grzewczej (992 kg/m³)</li>
                    <li><strong>µ</strong>: Lepkość dynamiczna wody (0,000653 Pa·s)</li>
                </ul>
            </div>

            <div class="rk-formula-card">
                <div class="rk-formula-title">Wymagana komora osadnika (V_k)</div>
                <div class="rk-math-block">V_k = V · t_r</div>
                <ul class="rk-math-vars">
                    <li><strong>V_k</strong>: Wymagana objętość osadnika</li>
                    <li><strong>V</strong>: Przepływ objętościowy (np. 1,8 m³/h)</li>
                    <li><strong>t_r</strong>: Czas opadania cząstki (ok. 57,1 sekundy)</li>
                </ul>
                <p style="font-size: 14px; line-height: 1.6; color: var(--rk-calc-text); margin-top: 15px;">
                    Aby cząstka magnetytu opadła na dno komory o wysokości 80 mm z prędkością grawitacyjną 1,4 mm/s, woda musi zwolnić na blisko minutę.
                </p>
            </div>

        </div>
    </div>

    <!-- Symulator Magnesu -->
    <div class="rk-magnet-sim">
        <div class="rk-sim-controls">
            <div class="rk-toggle-magnet" id="rk-magnet-toggle" data-state="off">
                <button class="rk-toggle-btn active" data-target="off">Tylko Grawitacja</button>
                <button class="rk-toggle-btn" data-target="on">Włącz Magnes 12 000 Gauss</button>
            </div>
        </div>

        <div class="rk-results-panel">
            
            <!-- Wynik: Bez Magnesu -->
            <div class="rk-result-card danger rk-panel-content active" id="rk-panel-grav">
                <div class="rk-result-val">28,55 Litra</div>
                <div class="rk-result-label">Wymagana pojemność osadnika</div>
                <div class="rk-result-desc">
                    Przy przepływie 1,8 m³/h opierając się wyłącznie na opadaniu grawitacyjnym, separator musiałby być wielkości małego <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">naczynia wzbiorczego</a>. Drobiny szlamu bez pola magnetycznego uciekłyby do wymiennika pomp obiegowych.
                </div>
            </div>

            <!-- Wynik: Z Magnesem -->
            <div class="rk-result-card success rk-panel-content" id="rk-panel-mag">
                <div class="rk-result-val">0,5 Litra</div>
                <div class="rk-result-label">Kompaktowy separator 2w1</div>
                <div class="rk-result-desc">
                    Silne pole magnetyczne zwiększa prędkość ściągania cząstek do rdzenia o 200–500 razy. Dzięki temu możemy bezpiecznie zredukować gabaryty osadnika do kompaktowych rozmiarów, zachowując 99% skuteczności wyłapywania drobin już w jednym cyklu <a href="https://projekt-ogrzewania.pl/obieg-grzewczy-w-wodnym-ogrzewaniu-podlogowym/">obiegu grzewczego</a>.
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggleContainer = document.getElementById('rk-magnet-toggle');
    const btns = toggleContainer.querySelectorAll('.rk-toggle-btn');
    const panelGrav = document.getElementById('rk-panel-grav');
    const panelMag = document.getElementById('rk-panel-mag');

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

            // Usuwamy klasę active ze wszystkich przycisków
            for (let j = 0; j < btns.length; j++) {
                btns[j].classList.remove('active');
            }
            this.classList.add('active');
            
            // Ustawienie atrybutu stanu dla ewentualnych zewnetrznych powiazan
            toggleContainer.setAttribute('data-state', targetState);

            // Logika panelowa
            if (targetState === 'off') {
                panelMag.classList.remove('active');
                panelGrav.classList.add('active');
            } else {
                panelGrav.classList.remove('active');
                panelMag.classList.add('active');
            }
        });
    }
});
</script>



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

.rk-scheme-widget {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-scheme-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-scheme-border);
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

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

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

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

/* Interaktywna mapa węzłów */
.rk-scheme-map {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 40px;
    background: var(--rk-scheme-gray);
    border-bottom: 1px solid var(--rk-scheme-border);
    position: relative;
}

/* Linia łącząca węzły (Desktop) */
.rk-scheme-line {
    position: absolute;
    top: 50%;
    left: 80px;
    right: 80px;
    height: 4px;
    background: #cbd5e1;
    z-index: 1;
    transform: translateY(-5px);
}

.rk-node-btn {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    background: transparent;
    border: none;
    cursor: pointer;
    width: 140px;
}

.rk-node-icon {
    width: 60px;
    height: 60px;
    background: #ffffff;
    border: 3px solid #cbd5e1;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    transition: all 0.3s ease;
}

.rk-node-btn:hover .rk-node-icon {
    border-color: var(--rk-scheme-blue);
    color: var(--rk-scheme-blue);
}

.rk-node-btn.active .rk-node-icon {
    border-color: var(--rk-scheme-blue);
    background: var(--rk-scheme-blue);
    color: #ffffff;
}

.rk-node-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-scheme-text);
    text-transform: uppercase;
    text-align: center;
    line-height: 1.4;
    transition: color 0.3s;
}

.rk-node-btn.active .rk-node-title {
    color: var(--rk-scheme-blue);
}

/* Obszar zawartości (Panele) */
.rk-scheme-details {
    padding: 40px;
    background: #ffffff;
    min-height: 280px;
}

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

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

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

.rk-node-meta {
    display: inline-block;
    background: var(--rk-scheme-blue-light);
    color: var(--rk-scheme-blue);
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

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

.rk-node-panel a {
    color: var(--rk-scheme-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(2, 132, 199, 0.3);
}

.rk-tech-box {
    background: var(--rk-scheme-gray);
    border-left: 4px solid var(--rk-scheme-dark);
    padding: 20px;
    border-radius: 0 8px 8px 0;
    margin-top: 25px;
}

.rk-tech-box h4 {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-scheme-dark);
    margin: 0 0 8px 0;
    text-transform: uppercase;
}

.rk-tech-box p {
    margin: 0;
    font-size: 14px;
}

.rk-tech-code {
    display: block;
    background: #1e293b;
    color: #e2e8f0;
    padding: 15px;
    border-radius: 8px;
    font-family: monospace;
    font-size: 13px;
    margin-top: 15px;
    overflow-x: auto;
}

@media (max-width: 768px) {
    .rk-scheme-header { padding: 25px 20px; }
    .rk-scheme-header h2 { font-size: 22px; }
    
    .rk-scheme-line { display: none; }
    
    .rk-scheme-map {
        flex-direction: column;
        gap: 15px;
        padding: 25px 20px;
    }
    
    .rk-node-btn {
        width: 100%;
        flex-direction: row;
        text-align: left;
        background: #ffffff;
        padding: 15px;
        border-radius: 12px;
        border: 1px solid var(--rk-scheme-border);
    }
    
    .rk-node-icon { width: 45px; height: 45px; }
    .rk-node-title { text-align: left; font-size: 14px; }
    
    .rk-scheme-details { padding: 30px 20px; }
    .rk-node-panel h3 { font-size: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#article-schemat-hydrauliczny",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/"
    },
    "headline": "Schemat połączeń hydraulicznych instalacji ogrzewania podłogowego z separatorami",
    "description": "Interaktywny schemat montażu separatora powietrza i zanieczyszczeń w kotłowni. Wytyczne montażowe, lokalizacja zaworów i zasada 5D uspokojenia przepływu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-07",
    "dateModified": "2026-08-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#dataset-schemat",
    "name": "Parametry węzłów instalacyjnych i wytyczne armatury odcinającej",
    "description": "Zbiór technicznych wytycznych montażowych dla podzespołów kotłowni, obejmujący lokalizację deaeratorów i separatorów magnetycznych w relacji do źródła ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "schemat instalacji ogrzewania podłogowego",
      "montaż separatora powietrza",
      "gdzie zamontować separator zanieczyszczeń",
      "armatura odcinająca w kotłowni",
      "odpowietrznik pływakowy"
    ],
    "measurementTechnique": "Określenie sekwencji układu w obiegu zamkniętym z zachowaniem zasady rury prostej (minimum 5 średnic nominalnych) w celu wymuszenia laminarnego przepływu.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zasilanie (najwyższa temperatura, najniższe ciśnienie): dedykowane dla separatora mikropęcherzyków.",
        "Powrót (zbiór osadów z pętli): optymalne miejsce dla filtra magnetycznego neodymowego (min. 12000 G).",
        "Odcinek prosty 5D przed osadnikiem wymagany dla uspokojenia strugi cieczy."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#webapp-schemat",
    "name": "Inspektor Węzłów Hydraulicznych",
    "description": "Narzędzie interaktywne pozwalające diagnozować i przeglądać konkretne punkty instalacji hydraulicznej (zasilanie, rozdzielacze, powrót) ze szczegółowym opisem parametrów przepływu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-scheme-widget">
    <div class="rk-scheme-header">
        <h2>Schemat połączeń hydraulicznych kotłowni</h2>
        <p>Precyzyjne wpięcie armatury zabezpieczającej w obieg zależy od ciśnienia dynamicznego i temperatury. Wybierz węzeł, aby poznać wytyczne inżynierskie i zasady serwisowe.</p>
    </div>

    <!-- Interaktywna Mapa -->
    <div class="rk-scheme-map">
        <div class="rk-scheme-line"></div>
        
        <button class="rk-node-btn active" data-target="node-1">
            <div class="rk-node-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="M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"></path><path d="M12 12v9"></path><path d="M8 17l4 4 4-4"></path></svg>
            </div>
            <span class="rk-node-title">Źródło<br>Ciepła</span>
        </button>
        
        <button class="rk-node-btn" data-target="node-2">
            <div class="rk-node-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="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path></svg>
            </div>
            <span class="rk-node-title">Separator<br>Powietrza</span>
        </button>

        <button class="rk-node-btn" data-target="node-3">
            <div class="rk-node-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="2" ry="2"></rect><line x1="6" y1="4" x2="6" y2="20"></line><line x1="10" y1="4" x2="10" y2="20"></line><line x1="14" y1="4" x2="14" y2="20"></line><line x1="18" y1="4" x2="18" y2="20"></line></svg>
            </div>
            <span class="rk-node-title">Rozdzielacz<br>i Pętle</span>
        </button>

        <button class="rk-node-btn" data-target="node-4">
            <div class="rk-node-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 2v20"></path><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            </div>
            <span class="rk-node-title">Separator<br>Zanieczyszczeń</span>
        </button>
    </div>

    <!-- Panele informacyjne -->
    <div class="rk-scheme-details">
        
        <!-- WĘZEŁ 1 -->
        <div class="rk-node-panel active" id="node-1">
            <span class="rk-node-meta">Węzeł Wymuszenia</span>
            <h3>Pompa ciepła / Kocioł gazowy</h3>
            <p>Punkt startowy każdego układu hydraulicznego. W nowoczesnych kotłowniach wyposażony we wbudowaną w urządzenie wysokosprawną <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompę obiegową z magnesami trwałymi</a> oraz wrażliwy na zanieczyszczenia płytowy wymiennik ciepła.</p>
            <p>To właśnie to urządzenie musimy bezwzględnie chronić filtrami przed powrotem wody zanieczyszczonej z instalacji płaszczyznowej.</p>
        </div>

        <!-- WĘZEŁ 2 -->
        <div class="rk-node-panel" id="node-2">
            <span class="rk-node-meta">Zasilanie (Tuż za źródłem)</span>
            <h3>Deaerator z odpowietrznikiem pływakowym</h3>
            <p>Urządzenie należy pozycjonować bezwzględnie w pionie (odpowietrznik skierowany do góry). Ciepła woda tuż za króćcem zasilającym źródła ciepła ma najmniejszą zdolność zatrzymywania gazów ze względu na rozprężanie.</p>
            <p>Mikropęcherze uwalniają się z cieczy i są natychmiast wyrzucane automatycznie. Niezbędna jest armatura odcinająca w postaci zaworów kulowych przed i za separatorem.</p>
            <div class="rk-tech-box">
                <h4>Schemat Odcięcia Serwisowego</h4>
                <p>Umożliwia przegląd wkładu separacyjnego bez utraty zładu wody.</p>
                <code class="rk-tech-code">[Źródło] --> [Zawór Kulowy] --> (SEPARATOR) --> [Zawór Kulowy] --> [Instalacja]</code>
            </div>
        </div>

        <!-- WĘZEŁ 3 -->
        <div class="rk-node-panel" id="node-3">
            <span class="rk-node-meta">Dystrybucja i Odbiór Ciepła</span>
            <h3>Rozdzielacze i Pętle Podłogówki (PEX/PERT)</h3>
            <p>To strefa o największej pojemności wodnej i największych oporach liniowych. Nawet w najlepiej wypłukanej <a href="https://projekt-ogrzewania.pl/petla-grzewcza/">pętli grzewczej</a> z rur z barierą antydyfuzyjną dochodzi do powolnego procesu przenikania tlenu i tworzenia czarnego szlamu (magnetytu).</p>
            <p>Zabrudzenia te są popychane powoli przez rozdzielacz powrotny w stronę źródła ciepła.</p>
        </div>

        <!-- WĘZEŁ 4 -->
        <div class="rk-node-panel" id="node-4">
            <span class="rk-node-meta">Powrót (Przed pompą obiegową)</span>
            <h3>Separator z wkładem magnetycznym</h3>
            <p>Urządzenie montowane bezpośrednio na powrocie przed źródłem ciepła. Wyłapuje cały osad oraz opiłki żelaza spływające z setek metrów rur podłogówki, zanim trafią one na twardy wirnik pompy z magnesami.</p>
            <p>Montaż musi być ściśle zgodny ze strzałką kierunku przepływu na mosiężnym lub kompozytowym korpusie. Czyszczenie osadnika odbywa się dolnym zaworem spustowym po uprzednim wysunięciu rdzenia magnesu (zwykle o sile 12 000 Gaussów).</p>
            <div class="rk-tech-box">
                <h4>Wskazówka Inżynieryjna: Zasada rury 5D</h4>
                <p>Zachowaj odcinek prostej rury o długości minimum 5x średnica rury (5D) przed wlotem do separatora zanieczyszczeń. Taki odcinek pozwala na uspokojenie przepływu do strugi laminarnej, co drastycznie podnosi sprawność grawitacyjnego opadania zawiesin w komorze dekompresyjnej.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const buttons = document.querySelectorAll('.rk-node-btn');
    const panels = document.querySelectorAll('.rk-node-panel');

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

            // Usuwamy stan aktywny ze wszystkich przycisków (bezpieczna pętla, bez operatorów &#038;&#038;)
            for (let j = 0; j < buttons.length; j++) {
                buttons[j].classList.remove('active');
            }

            // Ukrywamy wszystkie panele
            for (let k = 0; k < panels.length; k++) {
                panels[k].classList.remove('active');
            }

            // Nadajemy stan aktywny klikniętemu przyciskowi i pokazujemy jego panel
            this.classList.add('active');
            
            let targetPanel = document.getElementById(targetId);
            if (targetPanel !== null) {
                targetPanel.classList.add('active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-diag-dark: #0f172a;
    --rk-diag-blue: #0284c7;
    --rk-diag-blue-light: #f0f9ff;
    --rk-diag-gray: #f8fafc;
    --rk-diag-border: #e2e8f0;
    --rk-diag-text: #475569;
    --rk-diag-green: #059669;
    --rk-diag-red: #ef4444;
    --rk-diag-orange: #d97706;
}

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

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

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

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

.rk-diag-layout {
    display: grid;
    grid-template-columns: 1fr 380px;
    background: #ffffff;
}

/* Panel Pytań (Lewa Strona) */
.rk-diag-questions {
    padding: 40px;
    border-right: 1px solid var(--rk-diag-border);
    background: var(--rk-diag-gray);
}

.rk-question-group {
    margin-bottom: 35px;
}

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

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

.rk-question-title svg {
    color: var(--rk-diag-blue);
}

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

.rk-option-btn {
    background: #ffffff;
    border: 2px solid var(--rk-diag-border);
    border-radius: 12px;
    padding: 15px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

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

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

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

.rk-option-btn.active .rk-opt-title {
    color: var(--rk-diag-blue);
}

.rk-opt-desc {
    font-size: 13px;
    color: var(--rk-diag-text);
    line-height: 1.4;
}

/* Panel Wyników (Prawa Strona) */
.rk-diag-results {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #ffffff;
}

.rk-result-box {
    display: none;
    animation: fadeInDiag 0.5s ease;
}

.rk-result-box.active {
    display: block;
}

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

.rk-res-icon {
    width: 60px;
    height: 60px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
}

.rk-result-box[data-type="critical"] .rk-res-icon { background: #fef2f2; color: var(--rk-diag-red); }
.rk-result-box[data-type="standard"] .rk-res-icon { background: #ecfdf5; color: var(--rk-diag-green); }
.rk-result-box[data-type="gas"] .rk-res-icon { background: #fef3c7; color: var(--rk-diag-orange); }

.rk-res-status {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.rk-result-box[data-type="critical"] .rk-res-status { color: var(--rk-diag-red); }
.rk-result-box[data-type="standard"] .rk-res-status { color: var(--rk-diag-green); }
.rk-result-box[data-type="gas"] .rk-res-status { color: var(--rk-diag-orange); }

.rk-res-heading {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-diag-dark);
    margin: 0 0 15px 0;
    line-height: 1.2;
}

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

.rk-res-desc a {
    color: var(--rk-diag-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(2, 132, 199, 0.3);
}

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

.rk-res-list li {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-diag-dark);
    padding: 12px 15px;
    background: var(--rk-diag-gray);
    border-radius: 8px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--rk-diag-border);
}

.rk-res-list li svg { color: var(--rk-diag-blue); }

@media (max-width: 768px) {
    .rk-diag-layout { grid-template-columns: 1fr; }
    .rk-diag-header, .rk-diag-questions, .rk-diag-results { padding: 30px 20px; }
    .rk-diag-header h2 { font-size: 24px; }
    .rk-options-grid { grid-template-columns: 1fr; }
    .rk-diag-questions { border-right: none; border-bottom: 1px solid var(--rk-diag-border); }
    .rk-res-heading { font-size: 22px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#article-diagnosta",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/"
    },
    "headline": "Czy separator jest potrzebny w mojej instalacji? Interaktywny diagnosta",
    "description": "Zdiagnozuj swoją kotłownię. Sprawdź, jak wiek rur, materiał oraz rodzaj źródła ciepła wpływają na konieczność montażu separatora magnetycznego i powietrza.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "description": "Największy bloger branży budowlanej wykończeniowej i ekspert HVAC.",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-08-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#dataset-diagnosta",
    "name": "Macierz Doboru Armatury Ochronnej C.O.",
    "description": "Zbiór reguł inżynieryjnych dopasowujących odpowiedni model separatora zanieczyszczeń w oparciu o wiek instalacji, materiał zładu oraz typ urządzenia grzewczego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy separator jest potrzebny",
      "separator do starej instalacji c.o.",
      "jaki separator do pompy ciepła",
      "kocioł gazowy a separator magnetyczny",
      "wymiana grzejników a płukanie instalacji"
    ],
    "measurementTechnique": "Algorytm decyzyjny oceniający ryzyko wystąpienia szlamu magnetytowego (korozja stali, stara woda) względem wrażliwości hydraulicznej źródła (pompa ECM, wymiennik płytowy).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Pompa ciepła + Stara instalacja (Stal): Wymagana maksymalna ochrona. Dedykowany separator mosiężny z magnesem 12000 G + odrębny deaerator na zasilaniu.",
        "Nowa instalacja + PEX: Poziom standardowy. Zalecany kompaktowy separator 2w1 chroniący przed dyfuzją tlenu.",
        "Kocioł Gazowy: Poziom umiarkowany. Dopuszczalny separator kompozytowy ze względu na wyższą tolerancję oporów hydraulicznych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#webapp-diagnosta",
    "name": "Kalkulator Potrzeb Instalacyjnych - Dobór Separatora",
    "description": "Interaktywny formularz diagnostyczny online. Na podstawie 3 parametrów (źródło, wiek, materiał) generuje spersonalizowaną rekomendację techniczną armatury.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-diag-wrapper">
    <div class="rk-diag-header">
        <h2>Czy separator jest potrzebny w mojej instalacji?</h2>
        <p>Zdiagnozuj swoją kotłownię w 10 sekund. Wprowadź parametry swojego układu (źródło ciepła, wiek i materiał rur), a algorytm inżynierski wygeneruje optymalną rekomendację dla Twojego budynku.</p>
    </div>

    <div class="rk-diag-layout">
        
        <!-- Lewa Strona: Pytania -->
        <div class="rk-diag-questions">
            
            <!-- Pytanie 1 -->
            <div class="rk-question-group">
                <h3 class="rk-question-title">
                    <!-- Poprawiona ikona źródła ciepła (energia) zamiast dolara -->
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
                    1. Główne źródło ciepła
                </h3>
                <div class="rk-options-grid rk-grp-src">
                    <button class="rk-option-btn active" data-val="hp">
                        <span class="rk-opt-title">Pompa Ciepła</span>
                        <span class="rk-opt-desc">Bardzo wrażliwy wymiennik i pompa ECM</span>
                    </button>
                    <button class="rk-option-btn" data-val="gas">
                        <span class="rk-opt-title">Kocioł Gazowy</span>
                        <span class="rk-opt-desc">Większa tolerancja oporów Kv</span>
                    </button>
                </div>
            </div>

            <!-- Pytanie 2 -->
            <div class="rk-question-group">
                <h3 class="rk-question-title">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    2. Wiek instalacji
                </h3>
                <div class="rk-options-grid rk-grp-age">
                    <button class="rk-option-btn active" data-val="new">
                        <span class="rk-opt-title">Nowa / Modernizacja</span>
                        <span class="rk-opt-desc">Układ w pełni wypłukany</span>
                    </button>
                    <button class="rk-option-btn" data-val="old">
                        <span class="rk-opt-title">Stara (pow. 10 lat)</span>
                        <span class="rk-opt-desc">Istniejący zład i osady</span>
                    </button>
                </div>
            </div>

            <!-- Pytanie 3 -->
            <div class="rk-question-group">
                <h3 class="rk-question-title">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="2" ry="2"></rect><line x1="6" y1="4" x2="6" y2="20"></line></svg>
                    3. Dominujący materiał rur
                </h3>
                <div class="rk-options-grid rk-grp-mat">
                    <button class="rk-option-btn active" data-val="pex">
                        <span class="rk-opt-title">Tworzywo (PEX/PERT)</span>
                        <span class="rk-opt-desc">Podłogówka z barierą antydyfuzyjną</span>
                    </button>
                    <button class="rk-option-btn" data-val="steel">
                        <span class="rk-opt-title">Stal / Żeliwo</span>
                        <span class="rk-opt-desc">Stare grzejniki i piony</span>
                    </button>
                </div>
            </div>

        </div>

        <!-- Prawa Strona: Wynik -->
        <div class="rk-diag-results">
            
            <!-- Wynik: Krytyczny (Pompa ciepła + Stare/Stal) -->
            <div class="rk-result-box" data-type="critical" id="res-critical">
                <div class="rk-res-icon">
                    <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                </div>
                <div class="rk-res-status">Wymagana Maksymalna Ochrona</div>
                <h3 class="rk-res-heading">Osobny Separator Mosiężny + Deaerator</h3>
                <p class="rk-res-desc">Połączenie nowoczesnej <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a> ze starym, stalowym zładem to tykająca bomba dla wirnika ECM. Rozwiązania kompaktowe (2w1) nie poradzą sobie z ogromną ilością szlamu krążącą w układzie i zdławią przepływ.</p>
                <ul class="rk-res-list">
                    <li><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> Separator magnetyczny mosiężny (Duży Kv) na powrocie.</li>
                    <li><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> Osobny Deaerator mikropęcherzy na zasilaniu.</li>
                    <li><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> Obligatoryjne płukanie chemiczne przed montażem.</li>
                </ul>
            </div>

            <!-- Wynik: Standard (Pompa ciepła + Nowe/PEX) -->
            <div class="rk-result-box active" data-type="standard" id="res-standard">
                <div class="rk-res-icon">
                    <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                <div class="rk-res-status">Standardowa Ochrona Inwestycji</div>
                <h3 class="rk-res-heading">Zalecany Separator 2w1 (DN25)</h3>
                <p class="rk-res-desc">Nowoczesny układ wykonany w 100% z tworzyw wciąż jest narażony na dyfuzję tlenu przez barierę EVOH. Brak grzejników sprawia jednak, że ilość wytrącanego magnetytu będzie umiarkowana. To idealne warunki dla urządzenia hybrydowego.</p>
                <ul class="rk-res-list">
                    <li><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> Mosiężny separator 2w1 (Air &amp; Dirt) na powrocie.</li>
                    <li><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> Przekrój DN25 zapobiegający <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">dławieniu pompy obiegowej</a>.</li>
                    <li><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> Wkład magnetyczny minimum 12 000 Gauss.</li>
                </ul>
            </div>

            <!-- Wynik: Gaz (Kocioł gazowy) -->
            <div class="rk-result-box" data-type="gas" id="res-gas">
                <div class="rk-res-icon">
                    <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                </div>
                <div class="rk-res-status">Wysoka Temperatura Zasilania</div>
                <h3 class="rk-res-heading">Kompaktowy Separator Kompozytowy</h3>
                <p class="rk-res-desc"><a href="https://projekt-ogrzewania.pl/kociol-gazowy/">Nowoczesne kotły gazowe</a> są wyposażone w niezwykle wąskie, rurkowe wymienniki ciepła, które błyskawicznie zarastają kamieniem i tlenkami. Zaletą kotłów jest jednak silniejsza wbudowana pompa, która radzi sobie z nieco większymi oporami.</p>
                <ul class="rk-res-list">
                    <li><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> Separator kompozytowy (PA66) zamontowany pod kotłem.</li>
                    <li><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> Wbudowany magnes neodymowy chroniący płytowy wymiennik.</li>
                    <li><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> Opcjonalne zastosowanie inhibitora korozji w wodzie.</li>
                </ul>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    function attachGroupLogic(groupClass) {
        let buttons = document.querySelectorAll(groupClass + ' .rk-option-btn');
        for (let i = 0; i < buttons.length; i++) {
            buttons[i].addEventListener('click', function() {
                // Usuń aktywność w tej grupie
                for (let j = 0; j < buttons.length; j++) {
                    buttons[j].classList.remove('active');
                }
                // Dodaj do klikniętego
                this.classList.add('active');
                
                // Wywołaj przeliczenie
                calculateResult();
            });
        }
    }

    attachGroupLogic('.rk-grp-src');
    attachGroupLogic('.rk-grp-age');
    attachGroupLogic('.rk-grp-mat');

    const resCritical = document.getElementById('res-critical');
    const resStandard = document.getElementById('res-standard');
    const resGas = document.getElementById('res-gas');

    function calculateResult() {
        let src = document.querySelector('.rk-grp-src .rk-option-btn.active').getAttribute('data-val');
        let age = document.querySelector('.rk-grp-age .rk-option-btn.active').getAttribute('data-val');
        let mat = document.querySelector('.rk-grp-mat .rk-option-btn.active').getAttribute('data-val');

        let logicType = 'standard'; // Domyslny stan

        // Logika bez użycia operatorów logicznych and/or
        if (src === 'gas') {
            logicType = 'gas';
        }

        if (src === 'hp') {
            if (age === 'old') {
                logicType = 'critical';
            }
            if (mat === 'steel') {
                logicType = 'critical';
            }
        }

        // Ukryj wszystkie
        resCritical.classList.remove('active');
        resStandard.classList.remove('active');
        resGas.classList.remove('active');

        // Pokaz wlasciwy panel
        if (logicType === 'critical') {
            resCritical.classList.add('active');
        }
        if (logicType === 'standard') {
            resStandard.classList.add('active');
        }
        if (logicType === 'gas') {
            resGas.classList.add('active');
        }
    }

});
</script>



<style>
:root {
    --rk-diag-dark: #0f172a;
    --rk-diag-blue: #0284c7;
    --rk-diag-bg-blue: #f0f9ff;
    --rk-diag-red: #ef4444;
    --rk-diag-red-light: #fef2f2;
    --rk-diag-gray-light: #f8fafc;
    --rk-diag-border: #e2e8f0;
    --rk-diag-text: #475569;
}

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

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

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

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

/* Layout - Tabs na Desktop */
.rk-diag-body {
    display: flex;
    min-height: 450px;
}

.rk-diag-nav {
    width: 40%;
    background: var(--rk-diag-gray-light);
    border-right: 1px solid var(--rk-diag-border);
    padding: 20px 0;
    display: flex;
    flex-direction: column;
}

.rk-diag-tab {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 100%;
    padding: 16px 25px;
    background: transparent;
    border: none;
    border-left: 4px solid transparent;
    text-align: left;
    cursor: pointer;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-diag-text);
    transition: all 0.2s;
}

.rk-diag-tab:hover {
    background: #f1f5f9;
}

.rk-diag-tab.active {
    background: #ffffff;
    border-left-color: var(--rk-diag-red);
    color: var(--rk-diag-dark);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-diag-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #e2e8f0;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
    flex-shrink: 0;
}

.rk-diag-tab.active .rk-diag-icon {
    background: var(--rk-diag-red-light);
    color: var(--rk-diag-red);
}

.rk-diag-content-area {
    width: 60%;
    position: relative;
    background: #ffffff;
}

.rk-diag-panel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 40px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
    overflow-y: auto;
}

.rk-diag-panel.active {
    opacity: 1;
    visibility: visible;
    position: relative;
}

/* Wnętrze Panelu (Błędy i Rozwiązania) */
.rk-error-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-diag-red);
    background: var(--rk-diag-red-light);
    padding: 6px 12px;
    border-radius: 6px;
    margin-bottom: 15px;
    letter-spacing: 0.5px;
}

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

.rk-diag-effect {
    padding: 15px;
    background: var(--rk-diag-gray-light);
    border-left: 3px solid var(--rk-diag-dark);
    border-radius: 0 8px 8px 0;
    margin-bottom: 25px;
    font-size: 15px;
    font-weight: 600;
    color: var(--rk-diag-dark);
}

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

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

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

/* Mobile Accordion Logic (Ukryte na desktopie, widoczne na mobile) */
.rk-mobile-content {
    display: none;
    padding: 0 20px 20px 20px;
    background: #ffffff;
}

@media (max-width: 768px) {
    .rk-diag-header { padding: 25px 20px; }
    .rk-diag-header h2 { font-size: 22px; }
    
    .rk-diag-body { flex-direction: column; min-height: auto; }
    .rk-diag-nav { width: 100%; border-right: none; padding: 0; background: #ffffff; }
    .rk-diag-content-area { display: none; } /* Całkowicie ukrywamy obszar desktopowy */
    
    .rk-diag-tab {
        border-left: none;
        border-bottom: 1px solid var(--rk-diag-border);
        padding: 18px 20px;
        background: #ffffff;
    }
    
    .rk-diag-tab.active {
        background: var(--rk-diag-gray-light);
        border-bottom-color: var(--rk-diag-red);
    }
    
    .rk-mobile-content {
        display: block; /* Pokazujemy kontent wewnątrz zakładki na mobile */
        max-height: 0;
        overflow: hidden;
        padding: 0 20px;
        transition: max-height 0.4s ease;
        background: var(--rk-diag-gray-light);
    }
    
    .rk-diag-tab.active + .rk-mobile-content {
        padding: 20px;
        border-bottom: 1px solid var(--rk-diag-border);
    }

    .rk-diag-panel {
        position: relative;
        opacity: 1;
        visibility: visible;
        padding: 0;
        height: auto;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#article-bledy-montazowe",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/"
    },
    "headline": "Najczęściej popełniane błędy wykonawcze przy montażu separatorów w kotłowniach podłogowych",
    "description": "Nawet najlepszy separator z wkładem magnetycznym nie zadziała przy błędnym montażu. Poznaj 5 krytycznych błędów instalatorów obniżających skuteczność deaeracji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-08-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#dataset-bledy-montazowe",
    "name": "Zestawienie krytycznych błędów instalacyjnych armatury zabezpieczającej",
    "description": "Zestawienie najczęstszych pomyłek wykonawczych skutkujących brakiem wyłapywania mikropęcherzy i szlamu z instalacji grzewczej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy montażu separatora",
      "odwrotny kierunek przepływu separator",
      "jak czyścić separator magnetyczny",
      "redukcja średnicy rur przy pompie",
      "zła pozycja separatora pion poziom"
    ],
    "measurementTechnique": "Analiza błędów hydraulicznych (np. spadek skuteczności deaeracyjnej o 70%, turbulencje przy redukcjach) i ich wpływu na sprawność układu c.o.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd 1: Odwrotny kierunek przepływu uniemożliwia osiadanie szlamu.",
        "Błąd 2: Płukanie bez wyciągnięcia magnesu pozostawia magnetyt w korpusie.",
        "Błąd 3: Nieodpowiedni kąt zablokuje pływak odpowietrznika.",
        "Błąd 4: Montaż deaeratora na chłodnym powrocie drastycznie obniża sprawność.",
        "Błąd 5: Zbyt silna redukcja przekroju zrywa siły grawitacyjne w osadniku."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#webapp-diagnosta",
    "name": "Interaktywny Diagnosta Błędów Montażowych",
    "description": "Aplikacja pozwalająca na analizę przyczynowo-skutkową najpowszechniejszych błędów popełnianych przez instalatorów przy podłączaniu separatorów zanieczyszczeń.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-diag-container">
    <div class="rk-diag-header">
        <h2>Najczęściej popełniane błędy wykonawcze przy montażu separatorów</h2>
        <p>Nawet najlepsze urządzenie ze złożonym wkładem magnetycznym nie zadziała prawidłowo, jeśli instalator zignoruje podstawowe zasady mechaniki płynów. Oto 5 najczęstszych pomyłek w kotłowniach podłogowych.</p>
    </div>

    <div class="rk-diag-body" id="rkDiagApp">
        <!-- Lista Zakładek (Lewa strona Desktop / Przyciski Akordeonu Mobile) -->
        <div class="rk-diag-nav">
            
            <button class="rk-diag-tab active" data-id="error-1">
                <div class="rk-diag-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 3h5v5M4 20L21 3M21 16v5h-5M15 15l6 6M4 4l5 5"/></svg>
                </div>
                1. Odwrotny kierunek przepływu
            </button>
            <!-- Kontent dla Mobile pod przyciskiem -->
            <div class="rk-mobile-content" id="mob-error-1"></div>

            <button class="rk-diag-tab" data-id="error-2">
                <div class="rk-diag-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>
                </div>
                2. Płukanie z włożonym magnesem
            </button>
            <div class="rk-mobile-content" id="mob-error-2"></div>

            <button class="rk-diag-tab" data-id="error-3">
                <div class="rk-diag-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="16"/><line x1="8" y1="12" x2="16" y2="12"/></svg>
                </div>
                3. Niezgodność z osią (Pion/Poziom)
            </button>
            <div class="rk-mobile-content" id="mob-error-3"></div>

            <button class="rk-diag-tab" data-id="error-4">
                <div class="rk-diag-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"/></svg>
                </div>
                4. Deaerator na chłodnym powrocie
            </button>
            <div class="rk-mobile-content" id="mob-error-4"></div>

            <button class="rk-diag-tab" data-id="error-5">
                <div class="rk-diag-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 22h14M5 2h14M17 22V2M7 22V2M12 2v20"/></svg>
                </div>
                5. Agresywna redukcja średnicy
            </button>
            <div class="rk-mobile-content" id="mob-error-5"></div>

        </div>

        <!-- Prawa strona Desktop (Ukryte panele z treścią) -->
        <div class="rk-diag-content-area">
            
            <!-- Panel 1 -->
            <div class="rk-diag-panel active" id="desc-error-1">
                <div class="rk-error-badge">
                    <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Skutek: Turbulencje i zrywanie osadów
                </div>
                <h3>Odwrotny kierunek przepływu</h3>
                <div class="rk-diag-effect">Brak wyłapywania mikropęcherzy, wysokie opory tłoczenia.</div>
                <div class="rk-diag-desc">
                    <p>Montaż niezgodny ze strzałką kierunku przepływu na korpusie to powszechny błąd. We wnętrzu separatora znajdują się kierownice przepływu i specjalne siatki spiętrzające. Montaż odwrotny powoduje powstanie silnych turbulencji.</p>
                    <p>W efekcie prowadzi to do podniesienia oporów hydraulicznych o ponad 100% oraz całkowitego uniemożliwienia osiadania szlamu w komorze grawitacyjnej, potęgując <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">objawy zapowietrzenia ogrzewania podłogowego</a>.</p>
                </div>
            </div>

            <!-- Panel 2 -->
            <div class="rk-diag-panel" id="desc-error-2">
                <div class="rk-error-badge">
                    <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Skutek: Pozostawienie szlamu w obiegu
                </div>
                <h3>Niewyciąganie magnesu podczas płukania</h3>
                <div class="rk-diag-effect">Osad magnetyczny pozostaje wewnątrz mimo spuszczenia wody.</div>
                <div class="rk-diag-desc">
                    <p>Podczas czyszczenia separatora przez otwarty dolny zawór spustowy, instalatorzy (lub sami użytkownicy) często zapominają o wysunięciu lub odchyleniu zewnętrznego pierścienia z magnesem neodymowym.</p>
                    <p>Potężne pole magnetyczne nadal mocno trzyma cząstki magnetytu przy wewnętrznej ściance korpusu. W rezultacie usunięta zostaje jedynie woda, a najgroźniejszy osad magnetyczny bez zmian zagraża pompie obiegowej.</p>
                </div>
            </div>

            <!-- Panel 3 -->
            <div class="rk-diag-panel" id="desc-error-3">
                <div class="rk-error-badge">
                    <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Skutek: Zablokowanie zaworu i wycieki
                </div>
                <h3>Praca w pozycji niezgodnej z osią</h3>
                <div class="rk-diag-effect">Pływak deaeracyjny klinuje się, z zaworu kapie woda.</div>
                <div class="rk-diag-desc">
                    <p>Separatory posiadają jednoznaczne zalecenia konstrukcyjne. Wmontowanie sztywnego separatora dedykowanego do pracy w pionie na rurociąg poziomy (lub pod skosem) drastycznie zaburza grawitację wewnątrz osadnika.</p>
                    <p>Uniemożliwia to prawidłowe działanie pływaka deaeracyjnego i powoduje zakleszczenie zaworu, prowadząc do punktowych <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">rozszczelnień instalacji</a>. Należy stosować modele z obrotowym przyłączem MOP (360°), jeśli kąt rury nie jest standardowy.</p>
                </div>
            </div>

            <!-- Panel 4 -->
            <div class="rk-diag-panel" id="desc-error-4">
                <div class="rk-error-badge">
                    <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Skutek: Spadek skuteczności odpowietrzania
                </div>
                <h3>Deaerator w najchłodniejszym miejscu</h3>
                <div class="rk-diag-effect">Spadek skuteczności deaeracyjnej o ponad 70%.</div>
                <div class="rk-diag-desc">
                    <p>Zgodnie z Prawem Henry’ego rozpuszczalność gazów rośnie wraz ze spadkiem temperatury. Zamontowanie separatora powietrza na powrocie, gdzie woda jest wyziębiona (np. do 25–30°C), jest ogromnym błędem inżynieryjnym.</p>
                    <p>Skuteczność wyłapywania mikropęcherzyków spada tam o ponad 70% w porównaniu do montażu deaeratora na gorącym zasilaniu, przed miejscem, w którym odnotowujemy największy <a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/">spadek temperatury ΔT</a>.</p>
                </div>
            </div>

            <!-- Panel 5 -->
            <div class="rk-diag-panel" id="desc-error-5">
                <div class="rk-error-badge">
                    <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Skutek: Redukcja przepływu i dławienie
                </div>
                <h3>Redukcja średnicy przyłączy (np. z DN32 na DN20)</h3>
                <div class="rk-diag-effect">Prędkość przepływu zrywa cząstki w osadniku.</div>
                <div class="rk-diag-desc">
                    <p>Często ze względów oszczędnościowych montuje się za małe separatory. Stosowanie nagłych zwężek bezpośrednio przed wlotem do separatora drastycznie zwiększa liniową prędkość cieczy wewnątrz urządzenia (nierzadko powyżej 1,5 m/s).</p>
                    <p>Przy takiej prędkości siły porywu hydrodynamicznego przewyższają siły grawitacyjne i magnetyczne. Zawiesina przelatuje z impetem dalej, uniemożliwiając strącanie osadów, a wymuszona <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/">mniejsza średnica</a> dławi pompę ciepła.</p>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const isMobile = window.innerWidth <= 768;
    const tabs = document.querySelectorAll('.rk-diag-tab');
    
    // Inicjalizacja treści dla trybu mobilnego - skopiowanie kodu z paneli do divów mobilnych
    const panels = document.querySelectorAll('.rk-diag-panel');
    for (let i = 0; i < panels.length; i++) {
        let panelId = panels[i].getAttribute('id');
        let num = panelId.replace('desc-error-', '');
        let mobileContainer = document.getElementById('mob-error-' + num);
        if (mobileContainer !== null) {
            mobileContainer.innerHTML = panels[i].innerHTML;
        }
    }

    // Ustawienie początkowe na mobile (otwarcie pierwszej zakładki)
    if (isMobile === true) {
        let firstMobContent = document.getElementById('mob-error-1');
        if (firstMobContent !== null) {
            firstMobContent.style.maxHeight = firstMobContent.scrollHeight + "px";
        }
    }

    tabs.forEach(function(tab) {
        tab.addEventListener('click', function() {
            let currentIsActive = this.classList.contains('active');
            let targetId = this.getAttribute('data-id');
            let targetNum = targetId.replace('error-', '');

            // Tryb Desktopowy
            if (window.innerWidth > 768) {
                // Usuń active ze wszystkich tabów i paneli (bezpieczne podejście bez operatorów podwójnych)
                for (let i = 0; i < tabs.length; i++) {
                    tabs[i].classList.remove('active');
                }
                for (let i = 0; i < panels.length; i++) {
                    panels[i].classList.remove('active');
                }
                
                // Dodaj active do klikniętego taba i odpowiadającego mu panelu
                this.classList.add('active');
                let targetPanel = document.getElementById('desc-error-' + targetNum);
                if (targetPanel !== null) {
                    targetPanel.classList.add('active');
                }
            } 
            // Tryb Mobilny (Akordeon)
            else {
                let mobContents = document.querySelectorAll('.rk-mobile-content');
                
                if (currentIsActive === false) {
                    // Zamknij wszystkie
                    for (let i = 0; i < tabs.length; i++) {
                        tabs[i].classList.remove('active');
                    }
                    for (let i = 0; i < mobContents.length; i++) {
                        mobContents[i].style.maxHeight = null;
                    }
                    
                    // Otwórz kliknięty
                    this.classList.add('active');
                    let activeMobContent = document.getElementById('mob-error-' + targetNum);
                    if (activeMobContent !== null) {
                        activeMobContent.style.maxHeight = activeMobContent.scrollHeight + "px";
                    }
                } else {
                    // Zamknij ten, jeśli był już otwarty
                    this.classList.remove('active');
                    let activeMobContent = document.getElementById('mob-error-' + targetNum);
                    if (activeMobContent !== null) {
                        activeMobContent.style.maxHeight = null;
                    }
                }
            }
        });
    });

    // Zabezpieczenie przed ucięciem wysokości po zmianie orientacji ekranu z mobile na desktop i vice versa
    window.addEventListener('resize', function() {
        if (window.innerWidth > 768) {
            let mobContents = document.querySelectorAll('.rk-mobile-content');
            for (let i = 0; i < mobContents.length; i++) {
                mobContents[i].style.maxHeight = null;
            }
        } else {
            let activeTab = document.querySelector('.rk-diag-tab.active');
            if (activeTab !== null) {
                let activeId = activeTab.getAttribute('data-id').replace('error-', '');
                let activeMobContent = document.getElementById('mob-error-' + activeId);
                if (activeMobContent !== null) {
                    activeMobContent.style.maxHeight = activeMobContent.scrollHeight + "px";
                }
            }
        }
    });
});
</script>



<style>
:root {
    --rk-opory-dark: #0f172a;
    --rk-opory-blue: #0284c7;
    --rk-opory-blue-light: #e0f2fe;
    --rk-opory-green: #059669;
    --rk-opory-green-light: #d1fae5;
    --rk-opory-red: #dc2626;
    --rk-opory-red-light: #fee2e2;
    --rk-opory-orange: #d97706;
    --rk-opory-orange-light: #fef3c7;
    --rk-opory-border: #e2e8f0;
    --rk-opory-text: #334155;
    --rk-opory-bg: #ffffff;
}

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

.rk-opory-content {
    padding: 40px;
    background: #ffffff;
}

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

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

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

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

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

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

/* Custom Range Slider */
.rk-slider-wrapper {
    margin: 0 auto 40px auto;
    max-width: 600px;
    position: relative;
}

.rk-slider-labels {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    font-size: 14px;
    font-weight: 700;
    color: #64748b;
}

.rk-slider-labels span.optymalnie { color: var(--rk-opory-green); }
.rk-slider-labels span.brak-obliczen { color: var(--rk-opory-red); }

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

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

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

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

/* Wskaźniki / Kafelki (Desktop Grid, Mobile Stack) */
.rk-metrics-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.rk-metric-card {
    background: #ffffff;
    border: 1px solid var(--rk-opory-border);
    border-radius: 16px;
    padding: 25px 20px;
    text-align: center;
    transition: all 0.3s;
}

.rk-metric-icon {
    width: 50px;
    height: 50px;
    margin: 0 auto 15px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    transition: all 0.3s;
}

.rk-metric-icon svg {
    width: 26px;
    height: 26px;
}

.rk-metric-title {
    font-size: 14px;
    font-weight: 700;
    color: #64748b;
    margin: 0 0 8px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-metric-value {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-opory-dark);
    transition: color 0.3s;
}

/* Stany Kafelków */
.state-optymalny .rk-metric-icon { background: var(--rk-opory-green-light); color: var(--rk-opory-green); }
.state-optymalny .rk-metric-value { color: var(--rk-opory-green); }

.state-ostrzegawczy .rk-metric-icon { background: var(--rk-opory-orange-light); color: var(--rk-opory-orange); }
.state-ostrzegawczy .rk-metric-value { color: var(--rk-opory-orange); }

.state-krytyczny .rk-metric-icon { background: var(--rk-opory-red-light); color: var(--rk-opory-red); }
.state-krytyczny .rk-metric-value { color: var(--rk-opory-red); }

/* Mocne CTA */
.rk-opory-cta {
    background: linear-gradient(135deg, var(--rk-opory-dark) 0%, #1e293b 100%);
    padding: 45px 40px;
    text-align: center;
}

.rk-opory-cta h3 {
    color: #ffffff;
    font-size: 24px;
    font-weight: 900;
    margin: 0 0 15px 0;
}

.rk-opory-cta p {
    color: #cbd5e1;
    font-size: 16px;
    max-width: 600px;
    margin: 0 auto 30px auto;
    line-height: 1.6;
}

.rk-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-opory-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 40px;
    border-radius: 14px;
    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);
    text-transform: uppercase;
}

.rk-btn-massive:hover {
    transform: translateY(-4px);
    background: #0ea5e9;
    box-shadow: 0 15px 30px -5px rgba(2, 132, 199, 0.5);
}

@media (max-width: 768px) {
    .rk-opory-content, .rk-opory-interactive, .rk-opory-cta { padding: 30px 20px; }
    .rk-opory-content h2 { font-size: 24px; }
    .rk-metrics-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-btn-massive { width: 100%; padding: 18px 20px; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#article-opory-hydrauliczne",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/"
    },
    "headline": "Dlaczego profesjonalny projekt ogrzewania podłogowego uwzględnia opory hydrauliczne separatorów?",
    "description": "Brak obliczeń hydraulicznych oporów separatorów i rozdzielaczy prowadzi do błędu przepływu pompy ciepła i wysokiego zużycia prądu. Zobacz symulację inżynierską.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-08-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#dataset-opory",
    "name": "Wpływ oporów hydraulicznych na zużycie energii pompy obiegowej",
    "description": "Zestawienie interaktywne prezentujące korelacje pomiędzy błędnym doborem współczynnika Kv armatury a zwiększonym zużyciem energii elektrycznej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "opory hydrauliczne podłogówki",
      "współczynnik Kv separatora",
      "błąd przepływu pompy ciepła",
      "zużycie prądu pompy obiegowej",
      "profesjonalny projekt OZC"
    ],
    "measurementTechnique": "Symulacja wpływu dławienia przepływu (zbyt małe Kv armatury) na pobór mocy pompy i stabilność źródła ciepła na podstawie krzywych hydraulicznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Projekt Optymalny: Pobór 10-15W, stabilny przepływ Q_nominalne.",
        "Dławienie średnie: Pompa wymusza wyższy bieg, wzrost zużycia energii o ok. 150 kWh rocznie.",
        "Brak obliczeń: Przepływ spada poniżej Q_min, wyrzucenie błędu przepływu przez automatykę pompy ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#webapp-kalkulator-oporow",
    "name": "Symulator Oporów Hydraulicznych Instalacji",
    "description": "Narzędzie pozwalające prześledzić zmiany parametrów pompy obiegowej (zużycie prądu, przepływ, błędy) w zależności od stopnia optymalizacji projektu instalacji.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-opory-container">
    <div class="rk-opory-content">
        <h2>Dlaczego profesjonalny projekt ogrzewania podłogowego uwzględnia opory hydrauliczne separatorów?</h2>
        <p>Wykonanie profesjonalnej instalacji ogrzewania podłogowego nie polega jedynie na rozłożeniu rur na styropianie w <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">rozstawie co 10 cm czy 15 cm</a>. Sercem bezawaryjnej kotłowni jest poprawnie zbilansowany układ hydrauliczny.</p>
        <p>W inżynierskich projektach wykonywanych na portalu projekt-ogrzewania.pl uwzględniamy rzeczywiste charakterystyki oporów przepływu wszystkich elementów armatury: od pętli ogrzewania, przez <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacze</a>, <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zawory mieszające</a>, po separatory zanieczyszczeń i deaeratory.</p>
        <p>Brak dokładnych obliczeń spadków ciśnień na poziomie projektowym skutkuje niedograniem <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/">skrajnych stref budynku</a>, niepotrzebnym wymuszeniem pracy pompy obiegowej na najwyższym biegu (co generuje nawet 150–250 kWh dodatkowego zużycia prądu rocznie) lub stałym wyłączaniem się pompy ciepła z powodu zbyt niskiego przepływu (Q min). Zamawiając kompletny projekt ogrzewania płaszczyznowego, inwestor otrzymuje wytyczne doboru urządzeń zabezpieczających z precyzyjnie określonym wymaganym współczynnikiem Kv, unikając przewymiarowania lub zdławienia instalacji.</p>
    </div>

    <div class="rk-opory-interactive">
        <h3>Symulator: Wpływ braku obliczeń hydraulicznych na instalację</h3>
        
        <div class="rk-slider-wrapper">
            <div class="rk-slider-labels">
                <span class="optymalnie">Projekt Inżynierski</span>
                <span>Zbyt mały Kv</span>
                <span class="brak-obliczen">Montaż "na oko"</span>
            </div>
            <input type="range" min="1" max="3" value="1" class="rk-range-input" id="rkHydraulicSlider" aria-label="Suwak oporów hydraulicznych">
        </div>

        <div class="rk-metrics-grid">
            <!-- Kafelek 1 -->
            <div class="rk-metric-card state-optymalny" id="rkCardFlow">
                <div class="rk-metric-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                </div>
                <div class="rk-metric-title">Przepływ w instalacji</div>
                <div class="rk-metric-value" id="rkValFlow">Stabilny (Q nom)</div>
            </div>

            <!-- Kafelek 2 -->
            <div class="rk-metric-card state-optymalny" id="rkCardEnergy">
                <div class="rk-metric-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
                </div>
                <div class="rk-metric-title">Zużycie energii (Pompa)</div>
                <div class="rk-metric-value" id="rkValEnergy">W normie (15W)</div>
            </div>

            <!-- Kafelek 3 -->
            <div class="rk-metric-card state-optymalny" id="rkCardStatus">
                <div class="rk-metric-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                </div>
                <div class="rk-metric-title">Status Pompy Ciepła</div>
                <div class="rk-metric-value" id="rkValStatus">Praca poprawna</div>
            </div>
        </div>
    </div>

    <div class="rk-opory-cta">
        <h3>Nie zgaduj. Oblicz.</h3>
        <p>Zabezpiecz swoje źródło ciepła i zminimalizuj rachunki za prąd. Zleć wykonanie rzetelnych obliczeń oporów hydraulicznych i pełnego doboru armatury ekspertom z projekt-ogrzewania.pl.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-massive">
            ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
                <line x1="5" y1="12" x2="19" y2="12"></line>
                <polyline points="12 5 19 12 12 19"></polyline>
            </svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('rkHydraulicSlider');
    
    const cardFlow = document.getElementById('rkCardFlow');
    const valFlow = document.getElementById('rkValFlow');
    
    const cardEnergy = document.getElementById('rkCardEnergy');
    const valEnergy = document.getElementById('rkValEnergy');
    
    const cardStatus = document.getElementById('rkCardStatus');
    const valStatus = document.getElementById('rkValStatus');

    slider.addEventListener('input', function() {
        let val = parseInt(this.value, 10);
        
        // Bezpieczna struktura logiczna (bez &&)
        if (val === 1) {
            // Stan 1: Projekt Optymalny
            updateCard(cardFlow, 'state-optymalny', ['state-ostrzegawczy', 'state-krytyczny']);
            valFlow.textContent = 'Stabilny (Q nom)';
            
            updateCard(cardEnergy, 'state-optymalny', ['state-ostrzegawczy', 'state-krytyczny']);
            valEnergy.textContent = 'W normie (15W)';
            
            updateCard(cardStatus, 'state-optymalny', ['state-ostrzegawczy', 'state-krytyczny']);
            valStatus.textContent = 'Praca poprawna';
            
            slider.style.background = 'linear-gradient(90deg, var(--rk-opory-green) 0%, #cbd5e1 0%)';
            
        } else if (val === 2) {
            // Stan 2: Dławienie / Zbyt mały Kv
            updateCard(cardFlow, 'state-ostrzegawczy', ['state-optymalny', 'state-krytyczny']);
            valFlow.textContent = 'Spadek o 15%';
            
            updateCard(cardEnergy, 'state-ostrzegawczy', ['state-optymalny', 'state-krytyczny']);
            valEnergy.textContent = '+ 150 kWh/rok';
            
            updateCard(cardStatus, 'state-ostrzegawczy', ['state-optymalny', 'state-krytyczny']);
            valStatus.textContent = 'Praca na wysileniu';
            
            slider.style.background = 'linear-gradient(90deg, var(--rk-opory-orange) 50%, #cbd5e1 50%)';
            
        } else if (val === 3) {
            // Stan 3: Brak obliczeń / Krytyczny opór
            updateCard(cardFlow, 'state-krytyczny', ['state-optymalny', 'state-ostrzegawczy']);
            valFlow.textContent = 'Poniżej Q min';
            
            updateCard(cardEnergy, 'state-krytyczny', ['state-optymalny', 'state-ostrzegawczy']);
            valEnergy.textContent = '+ 250 kWh/rok';
            
            updateCard(cardStatus, 'state-krytyczny', ['state-optymalny', 'state-ostrzegawczy']);
            valStatus.textContent = 'Błąd Przepływu!';
            
            slider.style.background = 'linear-gradient(90deg, var(--rk-opory-red) 100%, #cbd5e1 100%)';
        }
    });

    function updateCard(element, addClass, removeClasses) {
        element.classList.add(addClass);
        for (let i = 0; i < removeClasses.length; i++) {
            element.classList.remove(removeClasses[i]);
        }
    }
});
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-blue: #0284c7;
    --rk-case-bg: #ffffff;
    --rk-case-gray: #f8fafc;
    --rk-case-border: #e2e8f0;
    --rk-case-text: #475569;
    --rk-case-green: #059669;
    --rk-case-green-light: #ecfdf5;
    --rk-case-red: #dc2626;
    --rk-case-red-light: #fef2f2;
}

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

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

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

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

/* Panel Nawigacyjny (Wybór Case Study) */
.rk-case-nav {
    display: flex;
    background: var(--rk-case-gray);
    border-bottom: 1px solid var(--rk-case-border);
}

.rk-case-tab {
    flex: 1;
    padding: 25px 20px;
    background: transparent;
    border: none;
    border-bottom: 4px solid transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.rk-case-tab:hover { background: #f1f5f9; }

.rk-case-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid var(--rk-case-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-case-text);
    transition: all 0.3s;
}

.rk-case-title {
    text-align: left;
}

.rk-case-title span {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-case-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 3px;
}

.rk-case-title strong {
    display: block;
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-case-dark);
}

/* Stany Aktywne Tabów */
.rk-case-tab.active[data-id="case-1"] {
    background: #ffffff;
    border-bottom-color: var(--rk-case-green);
}
.rk-case-tab.active[data-id="case-1"] .rk-case-icon {
    background: var(--rk-case-green-light);
    color: var(--rk-case-green);
    border-color: var(--rk-case-green-light);
}

.rk-case-tab.active[data-id="case-2"] {
    background: #ffffff;
    border-bottom-color: var(--rk-case-red);
}
.rk-case-tab.active[data-id="case-2"] .rk-case-icon {
    background: var(--rk-case-red-light);
    color: var(--rk-case-red);
    border-color: var(--rk-case-red-light);
}

/* Obszar Danych (Panele) */
.rk-case-panels {
    background: #ffffff;
}

.rk-case-panel {
    display: none;
    padding: 40px;
    animation: fadeInCase 0.4s ease;
}

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

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

.rk-data-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 40px;
}

/* Informacje o obiekcie */
.rk-case-meta {
    background: var(--rk-case-gray);
    border: 1px solid var(--rk-case-border);
    border-radius: 16px;
    padding: 25px;
}

.rk-meta-item {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-case-border);
}

.rk-meta-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.rk-meta-label {
    font-size: 12px;
    font-weight: 800;
    color: var(--rk-case-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 5px;
}

.rk-meta-val {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-case-dark);
}

/* Wyniki Techniczne */
.rk-case-results h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-case-dark);
    margin: 0 0 20px 0;
}

.rk-diagnosis-box {
    border-left: 4px solid;
    padding: 25px;
    border-radius: 0 16px 16px 0;
    background: var(--rk-case-gray);
    margin-bottom: 25px;
}

.rk-panel-safe .rk-diagnosis-box { border-left-color: var(--rk-case-green); }
.rk-panel-fail .rk-diagnosis-box { border-left-color: var(--rk-case-red); }

.rk-diagnosis-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-case-dark);
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-panel-safe .rk-diagnosis-title svg { color: var(--rk-case-green); }
.rk-panel-fail .rk-diagnosis-title svg { color: var(--rk-case-red); }

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

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

.rk-metrics-row {
    display: flex;
    gap: 15px;
}

.rk-metric {
    flex: 1;
    padding: 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-case-border);
    text-align: center;
}

.rk-metric-val {
    font-size: 24px;
    font-weight: 900;
    margin-bottom: 5px;
}

.rk-panel-safe .rk-metric-val { color: var(--rk-case-green); }
.rk-panel-fail .rk-metric-val { color: var(--rk-case-red); }

.rk-metric-name {
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
}

@media (max-width: 768px) {
    .rk-case-header, .rk-case-panel { padding: 30px 20px; }
    .rk-case-header h2 { font-size: 22px; }
    
    .rk-case-nav { flex-direction: column; }
    .rk-case-tab { justify-content: flex-start; padding: 15px 20px; border-bottom: none; border-left: 4px solid transparent; }
    .rk-case-tab.active[data-id="case-1"] { border-left-color: var(--rk-case-green); border-bottom-color: transparent; }
    .rk-case-tab.active[data-id="case-2"] { border-left-color: var(--rk-case-red); border-bottom-color: transparent; }
    
    .rk-data-grid { grid-template-columns: 1fr; gap: 30px; }
    .rk-metrics-row { flex-direction: column; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#article-case-study",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/"
    },
    "headline": "Case Study: Instalacja z separatorem vs brak ochrony – Analiza techniczna",
    "description": "Techniczna analiza dwóch instalacji uruchomionych w kwietniu 2026 r. Porównanie awaryjności i przepływów na przykładzie inwestycji z Warszawy i Katowic.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "description": "Największy bloger branży budowlanej wykończeniowej w Polsce. Twórca portalu Projekt-Ogrzewania.pl",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-07",
    "dateModified": "2026-08-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#dataset-casestudy",
    "name": "Analiza Porównawcza Wskaźników Awaryjności C.O. - Kwiecień 2026",
    "description": "Zestawienie rzeczywistych parametrów pracy dwóch kotłowni podłogowych z uwzględnieniem obecności pełnej filtracji i deaeracji względem tradycyjnego filtra Y.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "awaria ogrzewania podłogowego case study",
      "brak separatora skutki",
      "bufor ciepła a separacja osadów",
      "obliczanie strat cieplnych budynku",
      "koszty eksploatacji pompy ciepła 2026"
    ],
    "measurementTechnique": "Weryfikacja parametrów hydraulicznych po 4 miesiącach eksploatacji (Kwiecień - Sierpień 2026) w domach jednorodzinnych na Śląsku i Mazowszu.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Inwestycja Katowice: Pełna ochrona 2w1. Przepływ 1.8 m3/h. Awaryjność 0%.",
        "Inwestycja Warszawa: Brak separatora. Spadek przepływu do 0.6 m3/h, zablokowanie pompy ECM, zjawisko kawitacji w wymienniku."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#webapp-casestudy",
    "name": "Przeglądarka Case Study Hydraulicznego",
    "description": "Narzędzie interaktywne pozwalające porównać realne skutki decyzji instalacyjnych na przykładzie dwóch skrajnych projektów inwestycyjnych z 2026 roku.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-container">
    <div class="rk-case-header">
        <h2>Case Study: Instalacja z separatorem vs brak ochrony – Analiza techniczna z 2026 r.</h2>
        <p>Przeanalizujmy dwa rzeczywiste, zbliżone parametrami przypadki z kwietnia 2026 roku. Oba budynki posiadają podłogówkę, jednak w jednym z nich instalator "oszczędził" na profesjonalnej armaturze ochronnej.</p>
    </div>

    <!-- Nawigacja -->
    <div class="rk-case-nav">
        <button class="rk-case-tab active" data-id="case-1">
            <div class="rk-case-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
            </div>
            <div class="rk-case-title">
                <span>Przypadek #1</span>
                <strong>Katowice (Pełna ochrona)</strong>
            </div>
        </button>

        <button class="rk-case-tab" data-id="case-2">
            <div class="rk-case-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            </div>
            <div class="rk-case-title">
                <span>Przypadek #2</span>
                <strong>Warszawa (Brak ochrony)</strong>
            </div>
        </button>
    </div>

    <div class="rk-case-panels">
        
        <!-- CASE 1: KATOWICE -->
        <div class="rk-case-panel rk-panel-safe active" id="case-1">
            <div class="rk-data-grid">
                
                <div class="rk-case-meta">
                    <div class="rk-meta-item">
                        <div class="rk-meta-label">Inwestor i Lokalizacja</div>
                        <div class="rk-meta-val">Pan Marek, Katowice</div>
                    </div>
                    <div class="rk-meta-item">
                        <div class="rk-meta-label">Metraż i Odbiór</div>
                        <div class="rk-meta-val">140 m² / Kwiecień 2026</div>
                    </div>
                    <div class="rk-meta-item">
                        <div class="rk-meta-label">Układ Hydrauliczny</div>
                        <div class="rk-meta-val">Pompa ciepła + Podłogówka 100%</div>
                    </div>
                    <div class="rk-meta-item">
                        <div class="rk-meta-label">Zabezpieczenie</div>
                        <div class="rk-meta-val">Separator mosiężny 2w1 na powrocie</div>
                    </div>
                </div>

                <div class="rk-case-results">
                    <h3>Diagnoza po 4 miesiącach pracy układu</h3>
                    
                    <div class="rk-diagnosis-box">
                        <div class="rk-diagnosis-title">
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 8v4l3 3"></path></svg>
                            Wzorcowa stabilność hydrauliczna
                        </div>
                        <p class="rk-diagnosis-text">Układ został wykonany na podstawie rzetelnie wyliczonych <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/">strat cieplnych budynku</a>. Separator skutecznie usuwa mikropęcherze dekompresujące się za źródłem ciepła. Płukanie filtra wykonano zaledwie raz – po dwóch tygodniach pracy usunięto znikomą ilość szlamu porealitacyjnego. Zład zasilający z wylewki trafia bez zakłóceń do <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufora ciepła</a> i bezpośrednio na wymiennik.</p>
                    </div>

                    <div class="rk-metrics-row">
                        <div class="rk-metric">
                            <div class="rk-metric-val">1.8 m³/h</div>
                            <div class="rk-metric-name">Przepływ pompy</div>
                        </div>
                        <div class="rk-metric">
                            <div class="rk-metric-val">Brak</div>
                            <div class="rk-metric-name">Osadów w wymienniku</div>
                        </div>
                        <div class="rk-metric">
                            <div class="rk-metric-val">0</div>
                            <div class="rk-metric-name">Interwencji Serwisu</div>
                        </div>
                    </div>
                </div>

            </div>
        </div>

        <!-- CASE 2: WARSZAWA -->
        <div class="rk-case-panel rk-panel-fail" id="case-2">
            <div class="rk-data-grid">
                
                <div class="rk-case-meta">
                    <div class="rk-meta-item">
                        <div class="rk-meta-label">Inwestor i Lokalizacja</div>
                        <div class="rk-meta-val">Pan Tomasz, Warszawa</div>
                    </div>
                    <div class="rk-meta-item">
                        <div class="rk-meta-label">Metraż i Odbiór</div>
                        <div class="rk-meta-val">160 m² / Kwiecień 2026</div>
                    </div>
                    <div class="rk-meta-item">
                        <div class="rk-meta-label">Układ Hydrauliczny</div>
                        <div class="rk-meta-val">Pompa ciepła + Podłogówka 100%</div>
                    </div>
                    <div class="rk-meta-item">
                        <div class="rk-meta-label">Zabezpieczenie</div>
                        <div class="rk-meta-val">Brak (tylko skośny filtr Y)</div>
                    </div>
                </div>

                <div class="rk-case-results">
                    <h3>Diagnoza po 4 miesiącach pracy układu</h3>
                    
                    <div class="rk-diagnosis-box">
                        <div class="rk-diagnosis-title">
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
                            Krytyczna usterka wymiennika płytowego
                        </div>
                        <p class="rk-diagnosis-text">Z powodu braku deaeratora układ stale ulegał zapowietrzaniu na najwyższych pętlach. Zwykły filtr siatkowy Y przepuścił tlenki żelaza (poniżej 400 mikrometrów), które zablokowały wirnik pompy ECM. Doszło do drastycznego zatarcia wymiennika ciepła, wywołującego tzw. Error E10 (brak przepływu). Brak odpowiedniej armatury ochronnej znacząco podwyższy nadchodzące <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/">koszty eksploatacji w sezonie zimowym</a>, doprowadzając do odrzucenia gwarancji przez producenta pompy.</p>
                    </div>

                    <div class="rk-metrics-row">
                        <div class="rk-metric">
                            <div class="rk-metric-val">0.6 m³/h</div>
                            <div class="rk-metric-name">Zadławiony Przepływ</div>
                        </div>
                        <div class="rk-metric">
                            <div class="rk-metric-val">1.2 mm</div>
                            <div class="rk-metric-name">Warstwa Magnetytu</div>
                        </div>
                        <div class="rk-metric">
                            <div class="rk-metric-val">1100 PLN</div>
                            <div class="rk-metric-name">Koszty naprawy zatoru</div>
                        </div>
                    </div>
                </div>

            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const caseBtns = document.querySelectorAll('.rk-case-tab');
    const casePanels = document.querySelectorAll('.rk-case-panel');

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

            // Usuń active ze wszystkich przycisków
            for (let j = 0; j < caseBtns.length; j++) {
                caseBtns[j].classList.remove('active');
            }
            
            // Ukryj wszystkie panele
            for (let k = 0; k < casePanels.length; k++) {
                casePanels[k].classList.remove('active');
            }

            // Pokaż kliknięty i zaznacz przycisk
            this.classList.add('active');
            let targetPanel = document.getElementById(targetId);
            
            // Bezpieczny warunek bez operatora logicznego and/or
            if (targetPanel !== null) {
                targetPanel.classList.add('active');
            }
        });
    }
});
</script>



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

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

/* Górna sekcja: Profil + Cytat */
.rk-auth-top {
    display: grid;
    grid-template-columns: 320px 1fr;
    border-bottom: 1px solid var(--rk-auth-border);
}

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

.rk-auth-img-box {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    border: 4px solid #ffffff;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.2);
    overflow: hidden;
    margin-bottom: 20px;
    background: #e2e8f0;
}

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

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

.rk-auth-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-auth-blue);
    margin: 0 0 20px 0;
    line-height: 1.4;
}

.rk-auth-socials {
    display: flex;
    gap: 12px;
    justify-content: center;
}

.rk-social-link {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid var(--rk-auth-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-auth-text);
    transition: all 0.2s ease;
    text-decoration: none;
}

.rk-social-link:hover {
    background: var(--rk-auth-blue);
    color: #ffffff;
    border-color: var(--rk-auth-blue);
}

/* Prawa Kolumna - Treść (H2 + Cytat) */
.rk-auth-content {
    padding: 40px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

.rk-quote-box {
    position: relative;
    padding: 25px 30px;
    background: var(--rk-auth-gray-light);
    border-left: 4px solid var(--rk-auth-blue);
    border-radius: 0 16px 16px 0;
}

.rk-quote-box p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-auth-dark);
    font-weight: 600;
    font-style: italic;
    margin: 0;
}

.rk-quote-mark {
    position: absolute;
    top: -15px;
    left: 20px;
    font-size: 60px;
    color: var(--rk-auth-border);
    font-family: serif;
    line-height: 1;
    opacity: 0.5;
}

/* Sekcja Dolna - Interaktywna Checklista Pełnej Szerokości */
.rk-expert-tool {
    padding: 40px;
    background: #ffffff;
}

.rk-expert-tool h3 {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    margin: 0 0 20px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-tool-nav {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
}

.rk-tool-btn {
    flex: 1;
    padding: 15px 20px;
    background: #ffffff;
    border: 1px solid var(--rk-auth-border);
    border-radius: 10px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-auth-text);
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
}

.rk-tool-btn:hover { background: var(--rk-auth-gray-light); }

.rk-tool-btn.active {
    background: var(--rk-auth-dark);
    color: #ffffff;
    border-color: var(--rk-auth-dark);
}

.rk-tool-panel {
    display: none;
    padding: 30px;
    border: 1px solid var(--rk-auth-border);
    border-radius: 12px;
    background: var(--rk-auth-gray-light);
}

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

.rk-tool-panel strong {
    color: var(--rk-auth-dark);
}

@media (max-width: 768px) {
    .rk-auth-top { grid-template-columns: 1fr; }
    .rk-auth-profile { border-right: none; border-bottom: 1px solid var(--rk-auth-border); padding: 30px 20px; }
    .rk-auth-content { padding: 30px 20px; }
    .rk-auth-content h2 { font-size: 22px; }
    .rk-expert-tool { padding: 30px 20px; }
    .rk-tool-nav { flex-direction: column; gap: 10px; }
    .rk-quote-box { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#article-podsumowanie-eksperta",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/"
    },
    "headline": "Zdaniem Roberta Kucharskiego – Autorskie podsumowanie doboru separatorów",
    "description": "Ekspercka analiza i checklista Roberta Kucharskiego, największego blogera branży wykończeniowej, na temat prawidłowego montażu separatorów w kotłowniach.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "description": "Największy bloger branży budowlanej wykończeniowej w Polsce. Twórca portalu Projekt-Ogrzewania.pl",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-07",
    "dateModified": "2026-08-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#dataset-checklista",
    "name": "Checklista Eksperta HVAC: Odbiór Kotłowni",
    "description": "Interaktywne zestawienie autorskich wytycznych Roberta Kucharskiego dotyczących weryfikacji punktów montażowych armatury hydraulicznej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "odbiór kotłowni z pompą ciepła",
      "weryfikacja separatora magnetycznego",
      "błędy instalatora c.o.",
      "największy bloger budowlany",
      "Robert Kucharski opinie"
    ],
    "measurementTechnique": "Weryfikacja organoleptyczna oraz analityczna współczynników Kv, lokalizacji montażu (zasilanie vs powrót) oraz zgodności z wymogami producentów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Weryfikacja magnesu: Kontrola obecności wkładu minimum 12 000 Gaussów.",
        "Weryfikacja lokalizacji: Deaerator bezwzględnie za źródłem ciepła.",
        "Weryfikacja przekroju: Unikanie dławienia i stosowania filtrów siatkowych typu Y."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#webapp-checklista",
    "name": "Interaktywna Checklista Inwestora",
    "description": "Narzędzie pozwalające czytelnikowi zapoznać się z kluczowymi punktami kontrolnymi podczas odbioru prac instalacyjnych od wykonawcy.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-auth-container">
    
    <!-- Sekcja Górna: Profil + Cytat -->
    <div class="rk-auth-top">
        <!-- Lewa strona: Profil Autora -->
        <div class="rk-auth-profile">
            <div class="rk-auth-img-box">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Największy bloger branży budowlanej wykończeniowej" loading="lazy" width="160" height="160">
            </div>
            <div class="rk-auth-name">Robert Kucharski</div>
            <div class="rk-auth-title">Największy bloger branży budowlanej i wykończeniowej. Ekspert HVAC.</div>
            
            <div class="rk-auth-socials">
                <a href="https://www.facebook.com/projektogrzewaniapl/" class="rk-social-link" target="_blank" rel="noopener noreferrer" aria-label="Facebook">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                </a>
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" class="rk-social-link" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
                </a>
                <a href="https://x.com/Projekt_HVAC" class="rk-social-link" target="_blank" rel="noopener noreferrer" aria-label="X (Twitter)">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="4" x2="20" y2="20"></line><line x1="20" y1="4" x2="4" y2="20"></line></svg>
                </a>
            </div>
        </div>

        <!-- Prawa strona: H2 i Cytat -->
        <div class="rk-auth-content">
            <h2>Zdaniem Roberta Kucharskiego – Podsumowanie</h2>
            
            <div class="rk-quote-box">
                <span class="rk-quote-mark">"</span>
                <p>Od lat analizuję błędy instalacyjne na polskim rynku i jedno jest pewne: brak profesjonalnego filtra magnetycznego to nie oszczędność, to odroczony w czasie wyrok dla pomp obiegowych ECM. Woda w pętlach podłogowych nigdy nie jest sterylna. Zabezpieczenie zładu przed magnetytem i usunięcie powietrza tuż za kotłem to absolutny fundament, na którym opiera się wieloletnia praca każdej nowoczesnej instalacji grzewczej.</p>
            </div>
        </div>
    </div>

    <!-- Sekcja Dolna: Narzędzie Eksperta -->
    <div class="rk-expert-tool">
        <h3>Checklista Odbioru Kotłowni</h3>
        
        <div class="rk-tool-nav">
            <button class="rk-tool-btn active" data-id="chk-1">Lokalizacja Armatury</button>
            <button class="rk-tool-btn" data-id="chk-2">Przepustowość Kv</button>
            <button class="rk-tool-btn" data-id="chk-3">Pułapki Wykonawcy</button>
        </div>

        <div class="rk-tool-panel" id="chk-1" style="display: block;">
            <p><strong>Sprawdź na własne oczy:</strong> Zanim zapłacisz instalatorowi, upewnij się, że separator powietrza (deaerator) znajduje się na gorącym zasilaniu (wychodzącym z pompy ciepła). Natomiast osadnik z wkładem magnetycznym musi być zamontowany na rurze powrotnej, zanim woda wejdzie z powrotem do urządzenia.</p>
        </div>

        <div class="rk-tool-panel" id="chk-2">
            <p><strong>Nie pozwól dławić przepływu:</strong> Tanie separatory mają małe przekroje. Upewnij się, że model zamontowany w Twojej kotłowni posiada współczynnik <strong>Kv na poziomie minimum 6,0 m³/h</strong>. Zastosowanie zbyt małego zaworu zmusi energooszczędną pompę do pracy na najwyższym biegu, generując zbędne koszty prądu.</p>
        </div>

        <div class="rk-tool-panel" id="chk-3">
            <p><strong>Zwykły filtr to za mało:</strong> Jeżeli instalator twierdzi, że "zwykły skośny filtr mosiężny z siatką wystarczy", poproś go o przeczytanie karty gwarancyjnej Twojej pompy ciepła. Producenci bezwzględnie wymagają separatora magnetycznego (minimum 10 000 Gauss). Zwykła siatka przepuści magnetyt niszczący ceramiczne panewki w pompach ECM.</p>
        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const checkBtns = document.querySelectorAll('.rk-tool-btn');
    const checkPanels = document.querySelectorAll('.rk-tool-panel');

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

            // Usuń active ze wszystkich przycisków
            for (let j = 0; j < checkBtns.length; j++) {
                checkBtns[j].classList.remove('active');
            }
            
            // Ukryj wszystkie panele bez użycia animacji (display:none)
            for (let k = 0; k < checkPanels.length; k++) {
                checkPanels[k].style.display = 'none';
            }

            // Pokaż kliknięty i zaznacz przycisk
            this.classList.add('active');
            let targetPanel = document.getElementById(targetId);
            
            // Weryfikacja bez użycia podwójnego ampersanda
            if (targetPanel !== null) {
                targetPanel.style.display = 'block';
            }
        });
    }
});
</script>



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

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

.rk-faq-header {
    background: linear-gradient(to right, #f8fafc, #ffffff);
    padding: 40px 40px 30px;
    border-bottom: 1px solid var(--rk-faq-border);
    position: relative;
}

.rk-faq-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--rk-faq-blue);
}

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

.rk-faq-header h3 {
    font-size: 16px;
    font-weight: 500;
    color: var(--rk-faq-text);
    margin: 0;
}

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

.rk-faq-item {
    border: 1px solid var(--rk-faq-border);
    border-radius: 14px;
    background: #ffffff;
    transition: all 0.3s ease;
}

.rk-faq-item.active {
    border-color: var(--rk-faq-blue);
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.1);
}

.rk-faq-btn {
    width: 100%;
    text-align: left;
    padding: 22px 25px;
    background: transparent;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 17px;
    font-weight: 700;
    color: var(--rk-faq-dark);
    transition: background 0.2s;
    border-radius: 14px;
}

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

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

.rk-faq-item.active .rk-faq-icon {
    transform: rotate(180deg);
    background: var(--rk-faq-blue);
    color: #ffffff;
}

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

.rk-faq-inner {
    padding: 0 25px 25px;
    display: grid;
    grid-template-columns: 1fr 60px;
    gap: 30px;
    align-items: start;
    border-top: 1px solid transparent;
}

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

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

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

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

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

.rk-answer-svg {
    width: 60px;
    height: 60px;
    color: var(--rk-faq-blue);
    background: var(--rk-faq-blue-light);
    padding: 12px;
    border-radius: 12px;
}

@media (max-width: 768px) {
    .rk-faq-header { padding: 30px 20px 20px; }
    .rk-faq-header h2 { font-size: 22px; }
    .rk-faq-list { padding: 15px 20px 30px; }
    .rk-faq-btn { padding: 18px 20px; font-size: 15px; }
    .rk-faq-inner { grid-template-columns: 1fr; padding: 0 20px 20px; gap: 20px; }
    .rk-answer-svg { width: 45px; height: 45px; padding: 8px; margin: 0 auto; display: block; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/"
    },
    "headline": "Często zadawane pytania (FAQ) - Separatory w Ogrzewaniu Podłogowym",
    "description": "Najważniejsze pytania inwestorów o separatory zanieczyszczeń i powietrza. Dowiedz się o częstotliwości czyszczenia, gwarancjach na pompy ciepła i parametrach technicznych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-08-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Jak często należy czyszczać separator zanieczyszczeń w ogrzewaniu podłogowym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "W nowo uruchomionej instalacji ogrzewania podłogowego separator zanieczyszczeń należy oczyścić po pierwszych 24 godzinach pracy, następnie po 2 tygodniach, a docelowo cyklicznie 1 raz w roku podczas przeglądu przed sezonem grzewczym. Proces czyszczenia odbywa się na ruchu instalacji poprzez wysunięcie magnesu neodymowego i otwarcie zaworu spustowego w dolnej części korpusu na 3–5 sekund."
        }
      },
      {
        "@type": "Question",
        "name": "Czy separator zanieczyszczeń jest konieczny, jeśli w instalacji jest zalany inhibitor korozji?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, inhibitor korozji zapobiega powstawaniu nowych ognisk rdzewienia i spowalnia wytrącanie osadów, ale nie usuwa fizycznie cząstek już krążących w wodzie ani tlenków wnoszonych podczas uzupełniania zrzutów wody. Separator zanieczyszczeń współpracuje z chemią instalacyjną (odpowiadającą normie VDI 2035), stanowiąc mechaniczną i magnetyczną barierę dla zawiesin."
        }
      },
      {
        "@type": "Question",
        "name": "Czy można zastąpić osobny separator powietrza i zanieczyszczeń jednym urządzeniem 2w1?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, zintegrowany separator powietrza i zanieczyszczeń (tzw. kombo 2w1) jest rozwiązaniem dopuszczalnym i powszechnie stosowanym w ciasnych kotłowniach, pod warunkiem montażu na powrocie instalacji. Należy jednak pamiętać, że sprawność usuwania mikropęcherzyków gazu jest na powrocie o ok. 25–35% niższa niż przy montażu dedykowanego deaeratora na gorącym zasilaniu."
        }
      },
      {
        "@type": "Question",
        "name": "Jakie ciśnienie i temperaturę pracy musi wytrzymać separator w układzie podłogowym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Dla domowych instalacji ogrzewania podłogowego separator musi posiadać parametry robocze wynoszące minimum PN10 (ciśnienie nominalne do 10 bar) oraz wytrzymałość termiczną do co najmniej 90°C (mimo że temperatura pracy podłogówki nie przekracza zwykle 45°C). Pozwala to na bezpieczne przeprowadzanie wygrzewania jastrychu zgodnie z normą PN-EN 1264-4 lub procedur dezynfekcji termicznej."
        }
      },
      {
        "@type": "Question",
        "name": "Czy montaż separatora zanieczyszczeń unieważnia gwarancję na pompę ciepła?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Wręcz przeciwnie – większość cenionych producentów pomp ciepła i kotłów gazowych wymaga montażu separatora magnetycznego zanieczyszczeń na powrocie pod rygorem utraty gwarancji na płytowy wymiennik ciepła oraz pompę obiegową. Wymóg ten jest wprost wpisywany do kart gwarancyjnych i wytycznych montażowych producentów urządzeń grzewczych."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#dataset-faq-tech",
    "name": "Baza Wiedzy i Parametry Eksploatacyjne Separatorów C.O.",
    "description": "Zestawienie interwałów serwisowych, parametrów ciśnieniowych i wytycznych gwarancyjnych dla separatorów zanieczyszczeń w układach ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czyszczenie separatora magnetycznego w podłogówce",
      "inhibitor korozji do ogrzewania podłogowego",
      "separator powietrza i zanieczyszczeń 2w1",
      "parametry ciśnienia PN10 dla separatorów",
      "wymogi gwarancyjne montażu pompy ciepła"
    ],
    "measurementTechnique": "Zalecenia normatywne (VDI 2035, PN-EN 1264-4) i wytyczne producentów pomp ciepła dotyczące ochrony i serwisu armatury hydraulicznej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Cykl serwisowy: 24h -> 2 tygodnie -> 1 raz w roku",
        "Parametry krytyczne: PN10, odporność termiczna min. 90 stopni C.",
        "Efektywność deaeracji zintegrowanej (2w1) jest o 25-35 procent niższa na powrocie w stosunku do dedykowanych rozwiązań na zasilaniu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#webapp-faq",
    "name": "Interaktywny Asystent Wiedzy - Separatory",
    "description": "Aplikacja typu Smart Accordion pozwalająca użytkownikowi interaktywnie odkrywać rozwiązania techniczne i normatywne dotyczące armatury ochronnej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-widget">
    <div class="rk-faq-header">
        <h2>Często zadawane pytania (FAQ)</h2>
        <h3>Rozwiązania problemów z separatorami w ogrzewaniu płaszczyznowym</h3>
    </div>
    
    <div class="rk-faq-list" id="rkFaqContainer">
        
        <!-- Pytanie 1 -->
        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                Jak często należy czyszczać separator zanieczyszczeń w ogrzewaniu podłogowym?
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-inner">
                    <div>
                        <p>W nowo uruchomionej instalacji ogrzewania podłogowego separator zanieczyszczeń należy oczyścić po pierwszych <strong>24 godzinach</strong> pracy, następnie po <strong>2 tygodniach</strong>, a docelowo cyklicznie <strong>1 raz w roku</strong> podczas przeglądu przed sezonem grzewczym.</p>
                        <p>Proces czyszczenia odbywa się na ruchu instalacji poprzez wysunięcie magnesu neodymowego i otwarcie zaworu spustowego w dolnej części korpusu na 3–5 sekund. Dowiedz się więcej o tym, <a href="https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/">jak często serwisować instalację</a>.</p>
                    </div>
                    <svg class="rk-answer-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21.5 2v6h-6M21.34 15.57a10 10 0 1 1-.92-10.24l5.58 5.58"/></svg>
                </div>
            </div>
        </div>

        <!-- Pytanie 2 -->
        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                Czy separator zanieczyszczeń jest konieczny, jeśli w instalacji jest zalany inhibitor korozji?
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-inner">
                    <div>
                        <p>Tak. Inhibitor korozji zapobiega powstawaniu nowych ognisk rdzewienia i spowalnia wytrącanie osadów, ale <strong>nie usuwa fizycznie cząstek</strong> już krążących w wodzie ani tlenków wnoszonych podczas uzupełniania zrzutów wody.</p>
                        <p>Separator współpracuje z chemią instalacyjną (odpowiadającą normie VDI 2035), stanowiąc barierę mechaniczną i magnetyczną. Zobacz zalety stosowania <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">wody z inhibitorem w podłogówce</a>.</p>
                    </div>
                    <svg class="rk-answer-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>
                </div>
            </div>
        </div>

        <!-- Pytanie 3 -->
        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                Czy można zastąpić osobny separator powietrza i zanieczyszczeń jednym urządzeniem 2w1?
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-inner">
                    <div>
                        <p>Tak, zintegrowany separator powietrza i zanieczyszczeń (tzw. kombo 2w1) jest rozwiązaniem dopuszczalnym i powszechnie stosowanym w ciasnych kotłowniach (np. gdy montujemy kompaktowy <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">kocioł gazowy</a>), pod warunkiem montażu na powrocie instalacji.</p>
                        <p>Należy jednak pamiętać, że sprawność usuwania mikropęcherzyków gazu jest na powrocie <strong>o ok. 25–35% niższa</strong> niż przy montażu dedykowanego deaeratora na gorącym zasilaniu.</p>
                    </div>
                    <svg class="rk-answer-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.2 7.8l-7.7 7.7-4-4-5.5 5.5"/><polyline points="14 15.5 20.2 15.5 20.2 9.3"/></svg>
                </div>
            </div>
        </div>

        <!-- Pytanie 4 -->
        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                Jakie ciśnienie i temperaturę pracy musi wytrzymać separator w układzie podłogowym?
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-inner">
                    <div>
                        <p>Dla domowych instalacji ogrzewania podłogowego separator musi posiadać parametry robocze wynoszące minimum <strong>PN10 (ciśnienie nominalne do 10 bar)</strong> oraz wytrzymałość termiczną do co najmniej <strong>90°C</strong>.</p>
                        <p>Mimo że <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">maksymalna temperatura zasilania</a> to zaledwie ~45°C, tak wysoki zapas termiczny pozwala na bezpieczne przeprowadzanie wygrzewania jastrychu (zgodnie z PN-EN 1264-4) lub procedur dezynfekcji termicznej w instalacjach wielofunkcyjnych.</p>
                    </div>
                    <svg class="rk-answer-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"/></svg>
                </div>
            </div>
        </div>

        <!-- Pytanie 5 -->
        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                Czy montaż separatora zanieczyszczeń unieważnia gwarancję na pompę ciepła?
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-inner">
                    <div>
                        <p>Wręcz przeciwnie – większość cenionych producentów wymaga bezwzględnego montażu separatora magnetycznego zanieczyszczeń na powrocie. Brak tego elementu to podstawa do <strong>utraty gwarancji</strong> na wymiennik ciepła oraz pompę obiegową wewnątrz jednostki.</p>
                        <p>Wymóg ten jest wprost wpisywany do kart gwarancyjnych i wytycznych instalacyjnych pod każdą nowoczesną <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompę ciepła</a>.</p>
                    </div>
                    <svg class="rk-answer-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>
                </div>
            </div>
        </div>

    </div>
</div>

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

    faqBtns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            const currentItem = this.parentElement;
            const content = currentItem.querySelector('.rk-faq-content');
            const isActive = currentItem.classList.contains('active');

            // Zamykanie wszystkich innych aktywnych paneli (bezpieczna logika IF)
            const allItems = document.querySelectorAll('.rk-faq-item');
            for (let i = 0; i < allItems.length; i++) {
                if (allItems[i] !== currentItem) {
                    if (allItems[i].classList.contains('active')) {
                        allItems[i].classList.remove('active');
                        allItems[i].querySelector('.rk-faq-btn').setAttribute('aria-expanded', 'false');
                        allItems[i].querySelector('.rk-faq-content').style.maxHeight = null;
                    }
                }
            }

            // Przełączanie klikniętego panelu
            if (isActive === false) {
                currentItem.classList.add('active');
                this.setAttribute('aria-expanded', 'true');
                // Dynamiczne przeliczanie wysokosci zawartosci aby animacja byla plynna
                content.style.maxHeight = content.scrollHeight + "px";
            } else {
                currentItem.classList.remove('active');
                this.setAttribute('aria-expanded', 'false');
                content.style.maxHeight = null;
            }
        });
    });
});
</script>



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

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

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

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

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

.rk-dl-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    padding: 40px;
    background: var(--rk-dl-bg);
}

/* Kolumna Lewa - Miniatura */
.rk-dl-thumb-wrapper {
    position: relative;
    border-radius: 12px;
    border: 1px solid var(--rk-dl-border);
    overflow: hidden;
    background: var(--rk-dl-gray-light);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    cursor: pointer;
}

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

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

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

.rk-dl-zoom-icon {
    color: #ffffff;
    background: var(--rk-dl-blue);
    padding: 12px;
    border-radius: 50%;
}

/* Kolumna Prawa - Treść i Akcje */
.rk-dl-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

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

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

.rk-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 24px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    border: none;
}

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

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

.rk-btn-webp {
    background: var(--rk-dl-gray-light);
    color: var(--rk-dl-dark);
    border: 1px solid var(--rk-dl-border);
    flex: 1;
}

.rk-btn-webp:hover {
    background: #e2e8f0;
}

/* Prawa autorskie */
.rk-dl-copyright {
    background: #f1f5f9;
    border-left: 4px solid #94a3b8;
    padding: 15px 20px;
    border-radius: 0 8px 8px 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--rk-dl-text);
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.rk-dl-copyright svg {
    color: #64748b;
    flex-shrink: 0;
    margin-top: 2px;
}

/* Prosty Lightbox bez animacji */
.rk-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.95);
    z-index: 9999;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.rk-lightbox-content {
    position: relative;
    max-width: 90vw;
    max-height: 90vh;
}

.rk-lightbox-content img {
    max-width: 100%;
    max-height: 90vh;
    border-radius: 8px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

.rk-lightbox-close {
    position: absolute;
    top: -40px;
    right: 0;
    background: transparent;
    border: none;
    color: #ffffff;
    cursor: pointer;
    padding: 5px;
}

@media (max-width: 768px) {
    .rk-dl-grid { grid-template-columns: 1fr; gap: 30px; padding: 30px 20px; }
    .rk-dl-header { padding: 30px 20px; }
    .rk-dl-actions { flex-direction: column; gap: 15px; }
    .rk-btn { width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/"
    },
    "headline": "Materiały do pobrania: Schemat i zasady montażu separatorów",
    "description": "Zestawienie najważniejszych wytycznych instalacyjnych w formie inżynieryjnej infografiki do pobrania w formacie PDF i WEBP.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/08/Infografika-Separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "description": "Największy bloger branży budowlanej wykończeniowej i ekspert HVAC.",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-08-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#dataset-infografika",
    "name": "Infografika: Separator zanieczyszczeń i powietrza w ogrzewaniu podłogowym",
    "description": "Wizualne zestawienie techniczne prezentujące poprawne lokalizacje montażu armatury ochronnej dla pomp ciepła i kotłów gazowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "schemat montażu separatora",
      "infografika ogrzewanie podłogowe",
      "zabezpieczenie pompy obiegowej",
      "gdzie zamontować deaerator",
      "pobierz schemat c.o. pdf"
    ],
    "measurementTechnique": "Ekstrakcja kluczowych parametrów z norm hydraulicznych przetłumaczona na skalowalny format wizualny (PDF wektorowy oraz WEBP o wysokiej kompresji).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Plik PDF: Format wektorowy przeznaczony do wydruku i analizy schematów w wysokiej rozdzielczości.",
        "Plik WEBP: Lekki format rastrowy do podglądu natychmiastowego na urządzeniach mobilnych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#webapp-przegladarka-zasobow",
    "name": "Przeglądarka Materiałów Inżynieryjnych",
    "description": "Interfejs użytkowy pozwalający inwestorowi na błyskawiczne pobranie dokumentacji technicznej lub otworzenie jej w trybie kinowym bez opuszczania artykułu.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container">
    <div class="rk-dl-header">
        <h2>Materiały Inżynieryjne do pobrania</h2>
        <p>Pobierz autorską infografikę techniczną, która podsumowuje kluczowe zasady lokalizacji i doboru separatorów w nowoczesnej kotłowni.</p>
    </div>

    <div class="rk-dl-grid">
        
        <!-- Miniatura z warstwą klikalną -->
        <div class="rk-dl-thumb-wrapper" id="rk-trigger-thumb">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/08/Infografika-Separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym.webp" alt="Miniatura infografiki technicznej separatora">
            <div class="rk-dl-thumb-overlay">
                <div class="rk-dl-zoom-icon">
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                </div>
            </div>
        </div>

        <!-- Treść i Akcje -->
        <div class="rk-dl-content">
            <h3>Schemat i zasady montażu separatorów (VDI 2035)</h3>
            <p class="rk-dl-meta">Format: PDF (Wektor) / WEBP (Mobile). Zawiera wytyczne montażu na zasilaniu i powrocie dla pomp ciepła.</p>
            
            <div class="rk-dl-actions">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/08/Infografika-Separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym.pdf" target="_blank" rel="noopener noreferrer" class="rk-btn rk-btn-pdf">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
                    Pobierz plik PDF
                </a>
                
                <button class="rk-btn rk-btn-webp" id="rk-trigger-btn">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                    Otwórz podgląd (WEBP)
                </button>
            </div>

            <!-- Informacja Prawna (Zabezpieczenie przed edycją H2/H3) -->
            <div class="rk-dl-copyright">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg>
                <div>
                    © 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski. Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku.
                </div>
            </div>
        </div>

    </div>
</div>

<!-- Modal dla pliku WEBP -->
<div class="rk-lightbox" id="rk-lightbox-modal">
    <div class="rk-lightbox-content">
        <button class="rk-lightbox-close" id="rk-lightbox-close" aria-label="Zamknij podgląd">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
        </button>
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/08/Infografika-Separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym.webp" alt="Pełny podgląd infografiki technicznej">
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const triggerBtn = document.getElementById('rk-trigger-btn');
    const triggerThumb = document.getElementById('rk-trigger-thumb');
    const modal = document.getElementById('rk-lightbox-modal');
    const closeBtn = document.getElementById('rk-lightbox-close');

    function openModal() {
        modal.style.display = 'flex';
        document.body.style.overflow = 'hidden'; // Blokada przewijania tła
    }

    function closeModal() {
        modal.style.display = 'none';
        document.body.style.overflow = ''; // Odblokowanie przewijania
    }

    // Nasłuchiwacze otwarcia
    triggerBtn.addEventListener('click', openModal);
    triggerThumb.addEventListener('click', openModal);

    // Nasłuchiwacze zamknięcia (bez użycia operatorów logicznych OR)
    closeBtn.addEventListener('click', closeModal);
    
    modal.addEventListener('click', function(event) {
        if (event.target === modal) {
            closeModal();
        }
    });

    document.addEventListener('keydown', function(event) {
        if (event.key === 'Escape') {
            closeModal();
        }
    });
});
</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-red-light: #fee2e2;
    --rk-sum-gold: #eab308;
    --rk-sum-gray: #64748b;
    --rk-sum-border: #e2e8f0;
    --rk-sum-bg: #ffffff;
}

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

.rk-widget-header {
    padding: 40px 40px 20px;
    text-align: center;
}

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

.rk-widget-header h3 {
    font-size: 18px;
    font-weight: 500;
    color: var(--rk-sum-gray);
    margin: 0;
}

/* Przełącznik (Toggle Switch) stylizowany na aplikację */
.rk-toggle-container {
    display: flex;
    justify-content: center;
    padding: 20px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-sum-border);
}

.rk-toggle-wrapper {
    display: flex;
    background: #e2e8f0;
    border-radius: 999px;
    padding: 6px;
    position: relative;
    width: 100%;
    max-width: 500px;
}

.rk-toggle-btn {
    flex: 1;
    padding: 14px 20px;
    border: none;
    background: transparent;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-sum-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 2;
    text-align: center;
}

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

.rk-toggle-slider {
    position: absolute;
    top: 6px;
    left: 6px;
    height: calc(100% - 12px);
    width: calc(50% - 6px);
    background: var(--rk-sum-blue);
    border-radius: 999px;
    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    z-index: 1;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

/* Stan 2 dla slidera */
.rk-toggle-wrapper[data-state="unprotected"] .rk-toggle-slider {
    transform: translateX(100%);
    background: var(--rk-sum-red);
}

/* Kontent symulatora */
.rk-sim-panel {
    padding: 40px;
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 35px;
    align-items: center;
    transition: opacity 0.3s ease;
}

.rk-sim-icon-box {
    width: 120px;
    height: 120px;
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s ease;
}

.state-protected .rk-sim-icon-box { background: var(--rk-sum-green-light); color: var(--rk-sum-green); }
.state-unprotected .rk-sim-icon-box { background: var(--rk-sum-red-light); color: var(--rk-sum-red); }

.rk-sim-icon-box svg {
    width: 60px;
    height: 60px;
}

.rk-sim-text h4 {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 15px 0;
}

.state-protected .rk-sim-text h4 { color: var(--rk-sum-green); }
.state-unprotected .rk-sim-text h4 { color: var(--rk-sum-red); }

.rk-sim-text p {
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 15px 0;
}

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

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

/* Tagi Długiego Ogona */
.rk-tags-section {
    padding: 0 40px 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.rk-mat-tag {
    background: #f1f5f9;
    color: #334155;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    transition: all 0.2s;
}

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

/* CTA */
.rk-widget-cta {
    background: linear-gradient(135deg, var(--rk-sum-dark) 0%, #1e293b 100%);
    padding: 40px;
    text-align: center;
    border-radius: 0 0 24px 24px;
}

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

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

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

/* Mobile */
@media (max-width: 768px) {
    .rk-widget-header { padding: 30px 20px 15px; }
    .rk-widget-header h2 { font-size: 24px; }
    .rk-sim-panel { grid-template-columns: 1fr; text-align: center; padding: 30px 20px; gap: 20px; }
    .rk-sim-icon-box { margin: 0 auto; width: 90px; height: 90px; }
    .rk-sim-icon-box svg { width: 45px; height: 45px; }
    .rk-tags-section { padding: 0 20px 25px; }
    .rk-widget-cta { padding: 30px 20px; }
    .rk-btn-cta { width: 100%; justify-content: center; padding: 16px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/"
    },
    "headline": "Podsumowanie: Separator Zanieczyszczeń to Inwestycja, Nie Koszt",
    "description": "Zestawienie korzyści płynących z montażu separatorów powietrza i zanieczyszczeń w ogrzewaniu podłogowym. Sprawdź, jak chronią one pompy obiegowe i wymienniki przed magnetytem.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-07",
    "dateModified": "2026-08-07"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#dataset-symulacja",
    "name": "Symulacja Żywotności Instalacji C.O. z Separatorem i bez",
    "description": "Dane obrazujące wpływ osadów magnetytowych i mikropęcherzy powietrza na żywotność elementów wykonawczych instalacji grzewczej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "separator magnetyczny do pompy ciepła",
      "odpowietrznik mikropęcherzy w podłogówce",
      "ochrona wymiennika płytowego przed szlamem",
      "żywotność pompy obiegowej z magnesami trwałymi",
      "zatykanie rur pex w ogrzewaniu podłogowym"
    ],
    "measurementTechnique": "Porównanie techniczne niezawodności armatury (pompy, wymienniki) w warunkach pracy z tlenkami żelaza kontra praca z pełną filtracją magnetyczną.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Instalacja chroniona: Pełna żywotność pompy ECM, stabilny przepływ w pętlach, zachowana sprawność wymiennika.",
        "Brak ochrony: Zablokowanie wirnika z magnesami trwałymi, spadek przepływu o 30 procent, głośna praca kawitacyjna."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/#webapp-symulator",
    "name": "Interaktywny Symulator Ochrony Hydraulicznej",
    "description": "Narzędzie pozwalające na interaktywne przełączanie między stanami instalacji z filtrem magnetycznym oraz bez niego, demonstrujące potencjalne uszkodzenia.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-summary-widget" id="rk-separator-summary">
    <div class="rk-widget-header">
        <h2>Podsumowanie: Separator Zanieczyszczeń to Inwestycja, Nie Koszt</h2>
        <h3>Symulator Ochrony Hydraulicznej i Żywotności Podłogówki</h3>
    </div>

    <div class="rk-toggle-container">
        <div class="rk-toggle-wrapper" id="rk-sim-toggle" data-state="protected">
            <div class="rk-toggle-slider"></div>
            <button class="rk-toggle-btn active" data-target="protected">Instalacja Chroniona</button>
            <button class="rk-toggle-btn" data-target="unprotected">Brak Ochrony</button>
        </div>
    </div>

    <!-- Panel: Instalacja Chroniona -->
    <div class="rk-sim-panel state-protected" id="rk-panel-protected">
        <div class="rk-sim-icon-box">
            <svg 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>
                <polyline points="9 12 11 14 15 10"></polyline>
            </svg>
        </div>
        <div class="rk-sim-text">
            <h4>Wieloletnia praca bez awarii</h4>
            <p>Stosowanie dedykowanego separatora zanieczyszczeń z wkładem magnetycznym oraz deaeratora mikropęcherzyków to gwarancja bezpieczeństwa. Chronisz w ten sposób <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowe</a> z wirnikiem ECM przed zatarciem.</p>
            <p>Utrzymujesz czystość wąskich pętli rur PEX oraz chronisz <a href="https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/">wymiennik płytowy</a> przed zjawiskiem zarastania. Korzyści finansowe z bezawaryjnej pracy wielokrotnie przewyższają jednorazowy koszt zakupu separatorów.</p>
        </div>
    </div>

    <!-- Panel: Brak Ochrony (domyślnie ukryty) -->
    <div class="rk-sim-panel state-unprotected" id="rk-panel-unprotected" style="display: none;">
        <div class="rk-sim-icon-box">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <circle cx="12" cy="12" r="10"></circle>
                <line x1="12" y1="8" x2="12" y2="12"></line>
                <line x1="12" y1="16" x2="12.01" y2="16"></line>
            </svg>
        </div>
        <div class="rk-sim-text">
            <h4>Błędy, które zniszczą budżet</h4>
            <p>Rezygnacja z separacji osadów i powietrza oznacza, że krążący w układzie magnetyt trafia prosto na wirniki z magnesami trwałymi. Skutek? Zablokowana pompa, błąd przepływu na pompie ciepła i kosztowna naprawa gwarancyjna (odrzucana przez serwisy).</p>
            <p>Zanieczyszczenia w postaci szlamu obniżają sprawność przekazywania ciepła o dziesiątki procent. Brak fachowego <a href="https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/">projektu instalacji</a> to pierwszy krok do katastrofy.</p>
        </div>
    </div>

    <div class="rk-tags-section">
        <span class="rk-mat-tag"># separator magnetyczny do pompy ciepła</span>
        <span class="rk-mat-tag"># odpowietrznik mikropęcherzy w podłogówce</span>
        <span class="rk-mat-tag"># ochrona wymiennika płytowego przed szlamem</span>
        <span class="rk-mat-tag"># żywotność pompy obiegowej z magnesami trwałymi</span>
        <span class="rk-mat-tag"># zatykanie rur pex w ogrzewaniu podłogowym</span>
        <span class="rk-mat-tag"># profesjonalny projekt instalacji grzewczej</span>
        <span class="rk-mat-tag"># awaria pompy ciepła błąd przepływu</span>
        <span class="rk-mat-tag"># odmulacz do instalacji c.o. cena</span>
        <span class="rk-mat-tag"># magnetyt w instalacji grzewczej</span>
        <span class="rk-mat-tag"># armatura zabezpieczająca do podłogówki</span>
    </div>

    <div class="rk-widget-cta">
        <p>Planujesz montaż ogrzewania podłogowego w swoim domu i chcesz uniknąć kosztownych błędów hydraulicznych? Skorzystaj z doświadczenia inżynierów projekt-ogrzewania.pl. Zbudujemy układ, który będzie służył dekady.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-cta">
            ZOBACZ KOMPLETNĄ BAZĘ WIEDZY
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
                <line x1="5" y1="12" x2="19" y2="12"></line>
                <polyline points="12 5 19 12 12 19"></polyline>
            </svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggleWrapper = document.getElementById('rk-sim-toggle');
    const btns = toggleWrapper.querySelectorAll('.rk-toggle-btn');
    const panelProtected = document.getElementById('rk-panel-protected');
    const panelUnprotected = document.getElementById('rk-panel-unprotected');

    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            const targetState = this.getAttribute('data-target');
            
            // Aktualizacja przycisków
            btns.forEach(function(b) {
                b.classList.remove('active');
            });
            this.classList.add('active');
            
            // Aktualizacja stanu suwaka
            toggleWrapper.setAttribute('data-state', targetState);

            // Wyświetlanie odpowiedniego panelu ze sprawdzeniem bezpiecznej logiki (bez "&&")
            if (targetState === 'protected') {
                panelUnprotected.style.display = 'none';
                panelProtected.style.display = 'grid';
                // Wymuszenie reflow dla płynności
                void panelProtected.offsetWidth;
                panelProtected.style.opacity = '1';
                panelUnprotected.style.opacity = '0';
            } else {
                panelProtected.style.display = 'none';
                panelUnprotected.style.display = 'grid';
                // Wymuszenie reflow dla płynności
                void panelUnprotected.offsetWidth;
                panelUnprotected.style.opacity = '1';
                panelProtected.style.opacity = '0';
            }
        });
    });
});
</script>



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

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

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

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

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

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Article",
      "@id": "https://projekt-ogrzewania.pl/google-preferred-sources#article",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://projekt-ogrzewania.pl/google-preferred-sources"
      },
      "headline": "Wspieraj Projekt-Ogrzewania.pl w wynikach Google",
      "description": "Interaktywny widget umożliwiający dodanie portalu Projekt-Ogrzewania.pl do ulubionych źródeł w wyszukiwarce Google. Buduj z nami rzetelną bazę wiedzy o HVAC.",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
      "author": {
        "@type": "Person",
        "name": "Robert Kucharski",
        "url": "https://projekt-ogrzewania.pl/",
        "sameAs": [
          "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
          "https://www.facebook.com/projektogrzewaniapl/",
          "https://www.linkedin.com/in/robert-kucharski-38069b48/",
          "https://x.com/Projekt_HVAC",
          "https://remont.biz.pl/",
          "https://sobir.pl/"
        ]
      },
      "publisher": {
        "@type": "Organization",
        "name": "Projekt-Ogrzewania.pl",
        "logo": {
          "@type": "ImageObject",
          "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
        }
      },
      "datePublished": "2026-07-09",
      "dateModified": "2026-07-09"
    },
    {
      "@type": "Dataset",
      "@id": "https://projekt-ogrzewania.pl/google-preferred-sources#dataset",
      "name": "Preferowane Źródła Google - Statystyki i Interakcja",
      "description": "Zbiór danych i interaktywnych punktów styku pozwalających na ocenę preferencji czytelników dla treści technicznych HVAC.",
      "license": "https://projekt-ogrzewania.pl/",
      "creator": {
        "@type": "Person",
        "name": "Robert Kucharski"
      },
      "keywords": [
        "separator zanieczyszczeń z magnesem",
        "separator powietrza w ogrzewaniu podłogowym",
        "ochrona pompy ciepła przed szlamem",
        "schemat montażu separatora",
        "Robert Kucharski ogrzewanie podłogowe"
      ],
      "measurementTechnique": "Zliczanie interakcji z widgetem UI typu toggle oraz przekierowań do interfejsu preferencji Google Search",
      "mainEntity": "Optymalizacja zaangażowania użytkownika poprzez interaktywny widget dodawania domeny do preferencji Google."
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/google-preferred-sources#webapplication",
      "name": "Google Preferences Toggle Widget",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "All",
      "description": "Aplikacja webowa w formie widgetu symulującego przełącznik mobilny, integrująca natywne linkowanie do ustawień preferowanych źródeł Google.",
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "PLN"
      }
    }
  ]
}
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/">Separator zanieczyszczeń i powietrza w ogrzewaniu podłogowym – Dobór, schemat montażu, spadek ciśnienia i normy.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Projekt ogrzewania podłogowego online.</title>
		<link>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/</link>
					<comments>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#respond</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 02 Aug 2026 16:05:21 +0000</pubDate>
				<category><![CDATA[Cennik]]></category>
		<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Koszty ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie płaszczyznowe]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki inwestora]]></category>
		<category><![CDATA[Projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[bilans hydrauliczny]]></category>
		<category><![CDATA[dylatacje jastrychu]]></category>
		<category><![CDATA[grubość wylewki betonowej]]></category>
		<category><![CDATA[kaucja za projekt]]></category>
		<category><![CDATA[nastawy rotametrów]]></category>
		<category><![CDATA[obliczenia ozc]]></category>
		<category><![CDATA[pn-en 1264]]></category>
		<category><![CDATA[pn-en 12831]]></category>
		<category><![CDATA[pompa ciepła podłogówka]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego online]]></category>
		<category><![CDATA[projektowanie hvac online]]></category>
		<category><![CDATA[rozdzielacz do podłogówki]]></category>
		<category><![CDATA[rozstaw rur podłogówki]]></category>
		<category><![CDATA[rura pex pert]]></category>
		<category><![CDATA[strefa brzegowa podłogówki]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=6999</guid>

					<description><![CDATA[<p>Planujesz budowę domu i zastanawiasz się, jak uniknąć błędów wykonawczych przy układaniu instalacji płaszczyznowej? Profesjonalny projekt ogrzewania podłogowego online to fundament nowoczesnego, energooszczędnego budownictwa, który zabezpiecza pompę ciepła lub kocioł przed awariami i redukuje rachunki za prąd. Zamiast ryzykować układanie rur „z metra” przez ekipy monterskie, postaw na precyzyjne obliczenia obciążenia cieplnego (OZC) oraz bilans hydrauliczny na zaworach rozdzielacza. Z naszego inżynieryjnego przewodnika dowiesz się, jak przebiega cyfrowe projektowanie, ile wynoszą rzeczywiste koszty dokumentacji i jak odzyskać 100% wydanej kwoty dzięki unikalnemu systemowi kaucji zwrotnej.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/">Projekt ogrzewania podłogowego online.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-projekt-online {
    --rk-dark: #102536;
    --rk-navy: #14384d;
    --rk-blue: #078fbe;
    --rk-cyan: #28c9da;
    --rk-cyan-soft: #eafcff;
    --rk-orange: #ff7438;
    --rk-red: #e33d35;
    --rk-green: #169c68;
    --rk-green-soft: #eafaf3;
    --rk-ink: #1f2937;
    --rk-text: #465866;
    --rk-muted: #687986;
    --rk-line: #dce8ee;
    --rk-soft: #f5f9fb;
    --rk-warm: #fff4ed;
    --rk-white: #ffffff;
    width: 100%;
    max-width: 1080px;
    margin: 34px auto 70px;
    color: var(--rk-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 18px;
    line-height: 1.78;
  }

  #rk-projekt-online,
  #rk-projekt-online * {
    box-sizing: border-box;
  }

  #rk-projekt-online [hidden] {
    display: none !important;
  }

  #rk-projekt-online img {
    max-width: 100%;
    height: auto;
  }

  #rk-projekt-online button,
  #rk-projekt-online a {
    -webkit-tap-highlight-color: transparent;
  }

  #rk-projekt-online a {
    color: var(--rk-blue);
    font-weight: 760;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  #rk-projekt-online a:hover {
    color: var(--rk-red);
  }

  #rk-projekt-online .rk-online-shell {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 30px;
    background: var(--rk-white);
    box-shadow: 0 25px 70px rgba(16, 37, 54, 0.12);
  }

  #rk-projekt-online .rk-online-progress-track {
    position: sticky;
    z-index: 30;
    top: 0;
    width: 100%;
    height: 5px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.86);
  }

  #rk-projekt-online .rk-online-progress {
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--rk-cyan), var(--rk-blue), var(--rk-orange), var(--rk-red));
  }

  #rk-projekt-online h2,
  #rk-projekt-online h3,
  #rk-projekt-online h4 {
    margin-top: 0;
    color: var(--rk-dark);
    font-weight: 900;
    letter-spacing: -0.035em;
    line-height: 1.18;
  }

  #rk-projekt-online h2 {
    margin-bottom: 18px;
    font-size: clamp(1.65rem, 3.7vw, 2.6rem);
  }

  #rk-projekt-online h3 {
    margin-bottom: 12px;
    font-size: clamp(1.22rem, 2.6vw, 1.65rem);
  }

  #rk-projekt-online h4 {
    margin-bottom: 8px;
    font-size: 1.03rem;
    letter-spacing: -0.015em;
  }

  #rk-projekt-online p {
    margin: 0 0 1.25em;
    color: var(--rk-text);
  }

  #rk-projekt-online strong {
    color: var(--rk-dark);
  }

  #rk-projekt-online .rk-online-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(38px, 6.5vw, 78px);
    color: var(--rk-white);
    background:
      radial-gradient(circle at 88% 12%, rgba(255, 116, 56, 0.35), transparent 27%),
      radial-gradient(circle at 82% 78%, rgba(40, 201, 218, 0.24), transparent 31%),
      linear-gradient(135deg, #0d2230 0%, #143b50 58%, #095e78 100%);
  }

  #rk-projekt-online .rk-online-hero::before,
  #rk-projekt-online .rk-online-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
  }

  #rk-projekt-online .rk-online-hero::before {
    right: -115px;
    bottom: -170px;
    width: 390px;
    height: 390px;
    border: 58px solid rgba(255, 255, 255, 0.055);
  }

  #rk-projekt-online .rk-online-hero::after {
    right: 115px;
    bottom: -130px;
    width: 230px;
    height: 230px;
    border: 34px solid rgba(255, 116, 56, 0.11);
  }

  #rk-projekt-online .rk-online-badge {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    margin: 0 0 24px;
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    color: var(--rk-white);
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  #rk-projekt-online .rk-online-badge::before {
    content: "";
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border-radius: 50%;
    background: var(--rk-orange);
    box-shadow: 0 0 0 6px rgba(255, 116, 56, 0.18);
  }

  #rk-projekt-online .rk-online-hero h2 {
    max-width: 900px;
    margin-bottom: 24px;
    color: var(--rk-white);
    font-size: clamp(2rem, 5.4vw, 4rem);
    letter-spacing: -0.055em;
  }

  #rk-projekt-online .rk-online-hero h2 span {
    color: #84edf5;
  }

  #rk-projekt-online .rk-online-hook {
    max-width: 900px;
    margin: 0 0 26px;
    padding: clamp(20px, 3.6vw, 30px);
    border: 1px solid rgba(255, 255, 255, 0.17);
    border-left: 5px solid var(--rk-orange);
    border-radius: 0 18px 18px 0;
    background: rgba(255, 255, 255, 0.09);
    backdrop-filter: blur(6px);
  }

  #rk-projekt-online .rk-online-hook p {
    margin: 0;
    color: #f3f8fa;
    font-size: clamp(1.03rem, 2.1vw, 1.25rem);
    font-weight: 620;
    line-height: 1.72;
  }

  #rk-projekt-online .rk-online-hook strong {
    color: var(--rk-white);
  }

  #rk-projekt-online .rk-online-hero-lead {
    max-width: 880px;
    margin-bottom: 0;
    color: #dcecf1;
    font-size: clamp(1rem, 2vw, 1.16rem);
  }

  #rk-projekt-online .rk-online-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 18px;
    margin-top: 28px;
    color: #c9e0e7;
    font-size: 0.82rem;
    font-weight: 750;
  }

  #rk-projekt-online .rk-online-hero-meta span {
    display: inline-flex;
    gap: 8px;
    align-items: center;
  }

  #rk-projekt-online .rk-online-hero-meta span::before {
    content: "";
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: var(--rk-cyan);
  }

  #rk-projekt-online .rk-online-author-strip {
    display: flex;
    gap: 15px;
    align-items: center;
    max-width: 790px;
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
  }

  #rk-projekt-online .rk-online-author-strip img {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    object-fit: cover;
    border: 3px solid rgba(255, 255, 255, 0.92);
    border-radius: 50%;
  }

  #rk-projekt-online .rk-online-author-strip b,
  #rk-projekt-online .rk-online-author-strip small {
    display: block;
  }

  #rk-projekt-online .rk-online-author-strip b {
    color: var(--rk-white);
    font-size: 0.94rem;
  }

  #rk-projekt-online .rk-online-author-strip small {
    margin-top: 2px;
    color: #c9dbe1;
    font-size: 0.75rem;
    font-weight: 650;
    line-height: 1.45;
  }

  #rk-projekt-online .rk-online-content {
    padding: clamp(28px, 5.7vw, 68px);
  }

  #rk-projekt-online .rk-online-answer {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(220px, 0.65fr);
    gap: 22px;
    margin: 0 0 38px;
    padding: clamp(24px, 4vw, 38px);
    border: 1px solid #bfe8ee;
    border-radius: 24px;
    background: linear-gradient(135deg, #f9feff, #eafaff);
  }

  #rk-projekt-online .rk-online-answer-label {
    display: block;
    margin-bottom: 9px;
    color: var(--rk-blue);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  #rk-projekt-online .rk-online-answer-main {
    display: block;
    font-size: clamp(1.27rem, 3vw, 2rem);
    letter-spacing: -0.035em;
    line-height: 1.28;
  }

  #rk-projekt-online .rk-online-answer p {
    margin: 13px 0 0;
  }

  #rk-projekt-online .rk-online-answer-badge {
    display: grid;
    align-content: center;
    padding: 22px;
    border-radius: 20px;
    color: var(--rk-white);
    background: linear-gradient(145deg, var(--rk-green), #087e58);
    text-align: center;
    box-shadow: 0 16px 34px rgba(22, 156, 104, 0.2);
  }

  #rk-projekt-online .rk-online-answer-badge b,
  #rk-projekt-online .rk-online-answer-badge span {
    color: var(--rk-white);
  }

  #rk-projekt-online .rk-online-answer-badge b {
    display: block;
    font-size: 2.25rem;
    letter-spacing: -0.05em;
    line-height: 1;
  }

  #rk-projekt-online .rk-online-answer-badge span {
    display: block;
    margin-top: 9px;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.45;
  }

  #rk-projekt-online .rk-online-learn {
    margin: 0 0 42px;
  }

  #rk-projekt-online .rk-online-learn-title {
    display: flex;
    gap: 11px;
    align-items: center;
    margin-bottom: 20px;
    font-size: 1.18rem;
  }

  #rk-projekt-online .rk-online-learn-title svg {
    flex: 0 0 25px;
    color: var(--rk-orange);
  }

  #rk-projekt-online .rk-online-learn-grid,
  #rk-projekt-online .rk-online-process-grid,
  #rk-projekt-online .rk-online-scope-grid,
  #rk-projekt-online .rk-online-material-grid,
  #rk-projekt-online .rk-online-program-grid,
  #rk-projekt-online .rk-online-bio-stats {
    display: grid;
    gap: 16px;
  }

  #rk-projekt-online .rk-online-learn-grid,
  #rk-projekt-online .rk-online-program-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #rk-projekt-online .rk-online-learn-card {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 21px;
    border: 1px solid #bfe9ef;
    border-radius: 18px;
    background: linear-gradient(145deg, #f8feff, var(--rk-cyan-soft));
  }

  #rk-projekt-online .rk-online-learn-icon {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    border-radius: 13px;
    color: var(--rk-white);
    background: linear-gradient(145deg, var(--rk-blue), var(--rk-cyan));
    box-shadow: 0 10px 22px rgba(7, 143, 190, 0.18);
    font-size: 0.78rem;
    font-weight: 900;
  }

  #rk-projekt-online .rk-online-learn-card p {
    margin: 0;
    font-size: 0.86rem;
    line-height: 1.6;
  }

  #rk-projekt-online .rk-online-nav {
    margin: 0 0 48px;
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: var(--rk-soft);
  }

  #rk-projekt-online .rk-online-nav strong {
    display: block;
    margin-bottom: 13px;
    font-size: 0.82rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-projekt-online .rk-online-nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  #rk-projekt-online .rk-online-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 7px 12px;
    border: 1px solid #ccdde5;
    border-radius: 999px;
    color: var(--rk-navy);
    background: var(--rk-white);
    font-size: 0.77rem;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
  }

  #rk-projekt-online .rk-online-nav a:hover {
    color: var(--rk-white);
    border-color: var(--rk-blue);
    background: var(--rk-blue);
  }

  #rk-projekt-online .rk-online-section {
    margin: 0 0 64px;
    scroll-margin-top: 24px;
  }

  #rk-projekt-online .rk-online-section-head {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    margin-bottom: 24px;
  }

  #rk-projekt-online .rk-online-section-no {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    border-radius: 16px;
    color: var(--rk-white);
    background: linear-gradient(145deg, var(--rk-dark), var(--rk-navy));
    font-weight: 900;
    line-height: 1;
    box-shadow: inset 0 -4px 0 rgba(40, 201, 218, 0.55);
  }

  #rk-projekt-online .rk-online-section-head h2 {
    margin-bottom: 7px;
  }

  #rk-projekt-online .rk-online-section-head p {
    margin: 0;
  }

  #rk-projekt-online .rk-online-note,
  #rk-projekt-online .rk-online-warning,
  #rk-projekt-online .rk-online-truth {
    margin: 25px 0;
    padding: 22px 24px;
    border-radius: 18px;
  }

  #rk-projekt-online .rk-online-note {
    border-left: 5px solid var(--rk-blue);
    background: var(--rk-cyan-soft);
  }

  #rk-projekt-online .rk-online-warning {
    border: 1px solid #f2c7ad;
    background: var(--rk-warm);
  }

  #rk-projekt-online .rk-online-truth {
    color: #edf7fa;
    background:
      radial-gradient(circle at 94% 8%, rgba(40, 201, 218, 0.18), transparent 31%),
      linear-gradient(135deg, var(--rk-dark), #24485c);
  }

  #rk-projekt-online .rk-online-truth p,
  #rk-projekt-online .rk-online-truth strong {
    color: var(--rk-white);
  }

  #rk-projekt-online .rk-online-truth p:last-child,
  #rk-projekt-online .rk-online-note p:last-child,
  #rk-projekt-online .rk-online-warning p:last-child {
    margin-bottom: 0;
  }

  #rk-projekt-online .rk-online-process-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 26px 0 30px;
  }

  #rk-projekt-online .rk-online-process-card {
    position: relative;
    min-width: 0;
    padding: 24px 20px 22px;
    border: 1px solid var(--rk-line);
    border-radius: 19px;
    background: var(--rk-white);
    box-shadow: 0 10px 28px rgba(16, 37, 54, 0.065);
  }

  #rk-projekt-online .rk-online-process-card::after {
    content: "→";
    position: absolute;
    z-index: 2;
    top: 31px;
    right: -14px;
    color: var(--rk-orange);
    font-size: 1.25rem;
    font-weight: 900;
  }

  #rk-projekt-online .rk-online-process-card:last-child::after {
    display: none;
  }

  #rk-projekt-online .rk-online-process-no {
    display: inline-grid;
    width: 38px;
    height: 38px;
    place-items: center;
    margin-bottom: 15px;
    border-radius: 11px;
    color: var(--rk-white);
    background: linear-gradient(145deg, var(--rk-orange), var(--rk-red));
    font-size: 0.78rem;
    font-weight: 900;
  }

  #rk-projekt-online .rk-online-process-card p {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.62;
  }

  #rk-projekt-online .rk-online-scope-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 26px 0 30px;
  }

  #rk-projekt-online .rk-online-scope-card {
    min-width: 0;
    padding: 23px;
    border: 1px solid var(--rk-line);
    border-radius: 19px;
    background: var(--rk-white);
  }

  #rk-projekt-online .rk-online-scope-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    margin-bottom: 14px;
    border-radius: 12px;
    color: var(--rk-white);
    background: linear-gradient(145deg, var(--rk-blue), var(--rk-cyan));
    font-size: 0.72rem;
    font-weight: 900;
  }

  #rk-projekt-online .rk-online-scope-card p {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.62;
  }

  #rk-projekt-online .rk-online-material-box {
    margin: 27px 0 32px;
    padding: clamp(24px, 4vw, 38px);
    border: 1px solid #c8e8d9;
    border-radius: 24px;
    background: linear-gradient(145deg, #fbfffd, var(--rk-green-soft));
  }

  #rk-projekt-online .rk-online-material-box h3 {
    margin-bottom: 8px;
  }

  #rk-projekt-online .rk-online-material-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 22px;
  }

  #rk-projekt-online .rk-online-material-card {
    min-width: 0;
    padding: 18px 16px;
    border: 1px solid rgba(22, 156, 104, 0.22);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.82);
  }

  #rk-projekt-online .rk-online-material-card b {
    display: block;
    margin-bottom: 5px;
    color: #0d7d56;
    font-size: 0.86rem;
  }

  #rk-projekt-online .rk-online-material-card span {
    display: block;
    color: var(--rk-muted);
    font-size: 0.73rem;
    font-weight: 680;
    line-height: 1.5;
  }

  #rk-projekt-online .rk-online-table-wrap {
    width: 100%;
    margin: 25px 0 31px;
    overflow-x: auto;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
  }

  #rk-projekt-online table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    background: var(--rk-white);
    font-size: 0.83rem;
    line-height: 1.52;
  }

  #rk-projekt-online th,
  #rk-projekt-online td {
    padding: 14px 15px;
    border-bottom: 1px solid var(--rk-line);
    color: var(--rk-text);
    text-align: left;
    vertical-align: top;
  }

  #rk-projekt-online th {
    color: var(--rk-white);
    background: var(--rk-dark);
    font-weight: 850;
  }

  #rk-projekt-online tbody tr:nth-child(even) td {
    background: #f8fbfc;
  }

  #rk-projekt-online tbody tr:last-child td,
  #rk-projekt-online tbody tr:last-child th {
    border-bottom: 0;
  }

  #rk-projekt-online .rk-online-list {
    margin: 20px 0 28px;
    padding: 0;
    list-style: none;
  }

  #rk-projekt-online .rk-online-list li {
    position: relative;
    margin: 0 0 12px;
    padding-left: 31px;
    color: var(--rk-text);
  }

  #rk-projekt-online .rk-online-list li::before {
    content: "";
    position: absolute;
    top: 0.63em;
    left: 3px;
    width: 12px;
    height: 7px;
    transform: rotate(-45deg);
    border-bottom: 3px solid var(--rk-blue);
    border-left: 3px solid var(--rk-blue);
  }

  #rk-projekt-online .rk-online-program-card {
    padding: 25px;
    border: 1px solid var(--rk-line);
    border-radius: 19px;
    background: var(--rk-white);
  }

  #rk-projekt-online .rk-online-program-card:first-child {
    border-top: 5px solid var(--rk-orange);
  }

  #rk-projekt-online .rk-online-program-card:last-child {
    border-top: 5px solid var(--rk-green);
    background: #fbfffd;
  }

  #rk-projekt-online .rk-online-program-card p:last-child {
    margin-bottom: 0;
  }

  #rk-projekt-online .rk-online-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin: 38px 0 64px;
    padding: clamp(28px, 5vw, 48px);
    border-radius: 25px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 92% 18%, rgba(255, 116, 56, 0.38), transparent 28%),
      linear-gradient(135deg, #102536, #095d79);
    box-shadow: 0 20px 48px rgba(16, 37, 54, 0.18);
  }

  #rk-projekt-online .rk-online-cta::after {
    content: "";
    position: absolute;
    z-index: -1;
    right: -90px;
    bottom: -120px;
    width: 270px;
    height: 270px;
    border: 40px solid rgba(255, 255, 255, 0.07);
    border-radius: 50%;
  }

  #rk-projekt-online .rk-online-cta-label {
    display: inline-block;
    margin-bottom: 12px;
    color: #8cf2f8;
    font-size: 0.73rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  #rk-projekt-online .rk-online-cta h2,
  #rk-projekt-online .rk-online-cta p,
  #rk-projekt-online .rk-online-cta strong {
    color: var(--rk-white);
  }

  #rk-projekt-online .rk-online-cta h2 {
    max-width: 800px;
    margin-bottom: 14px;
  }

  #rk-projekt-online .rk-online-cta p {
    max-width: 820px;
  }

  #rk-projekt-online .rk-online-cta-points {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 22px 0 25px;
  }

  #rk-projekt-online .rk-online-cta-points span {
    display: inline-flex;
    align-items: center;
    min-height: 35px;
    padding: 6px 11px;
    border: 1px solid rgba(255, 255, 255, 0.19);
    border-radius: 999px;
    color: #ecf8fa;
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.73rem;
    font-weight: 780;
  }

  #rk-projekt-online .rk-online-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
  }

  #rk-projekt-online .rk-online-cta-button,
  #rk-projekt-online .rk-online-cta-secondary {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 12px 20px;
    border-radius: 13px;
    font-size: 0.9rem;
    font-weight: 900;
    line-height: 1.25;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
  }

  #rk-projekt-online .rk-online-cta-button {
    color: var(--rk-white);
    background: linear-gradient(145deg, var(--rk-orange), var(--rk-red));
    box-shadow: 0 12px 28px rgba(227, 61, 53, 0.28);
  }

  #rk-projekt-online .rk-online-cta-button::after {
    content: "→";
    font-size: 1.1rem;
  }

  #rk-projekt-online .rk-online-cta-secondary {
    color: var(--rk-white);
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.08);
  }

  #rk-projekt-online .rk-online-cta-button:hover,
  #rk-projekt-online .rk-online-cta-secondary:hover {
    color: var(--rk-white);
    transform: translateY(-2px);
  }

  #rk-projekt-online .rk-online-cta-button:hover {
    box-shadow: 0 16px 34px rgba(227, 61, 53, 0.36);
  }

  #rk-projekt-online .rk-online-faq {
    display: grid;
    gap: 12px;
  }

  #rk-projekt-online .rk-online-faq details {
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: var(--rk-white);
  }

  #rk-projekt-online .rk-online-faq details[open] {
    border-color: #abdce5;
    box-shadow: 0 10px 26px rgba(16, 37, 54, 0.065);
  }

  #rk-projekt-online .rk-online-faq summary {
    position: relative;
    padding: 18px 54px 18px 20px;
    color: var(--rk-dark);
    cursor: pointer;
    font-weight: 850;
    line-height: 1.45;
    list-style: none;
  }

  #rk-projekt-online .rk-online-faq summary::-webkit-details-marker {
    display: none;
  }

  #rk-projekt-online .rk-online-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 18px;
    display: grid;
    width: 29px;
    height: 29px;
    transform: translateY(-50%);
    place-items: center;
    border-radius: 9px;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 1.1rem;
    line-height: 1;
  }

  #rk-projekt-online .rk-online-faq details[open] summary::after {
    content: "−";
    background: var(--rk-orange);
  }

  #rk-projekt-online .rk-online-faq details p {
    margin: 0;
    padding: 0 20px 20px;
  }

  #rk-projekt-online .rk-online-summary {
    margin: 5px 0 34px;
    padding: clamp(28px, 4.7vw, 44px);
    border-radius: 24px;
    color: #eef8fa;
    background:
      radial-gradient(circle at 90% 15%, rgba(255, 116, 56, 0.25), transparent 31%),
      linear-gradient(135deg, #0f2534, #224b60);
  }

  #rk-projekt-online .rk-online-summary h2,
  #rk-projekt-online .rk-online-summary p,
  #rk-projekt-online .rk-online-summary strong {
    color: var(--rk-white);
  }

  #rk-projekt-online .rk-online-summary p:last-child {
    margin-bottom: 0;
  }

  #rk-projekt-online .rk-online-conditions {
    margin: 33px 0;
    padding: 22px 24px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    color: var(--rk-muted);
    background: var(--rk-soft);
    font-size: 0.8rem;
    line-height: 1.68;
  }

  #rk-projekt-online .rk-online-conditions strong {
    display: block;
    margin-bottom: 5px;
  }

  #rk-projekt-online .rk-online-author-bio {
    overflow: hidden;
    margin-top: 40px;
    border: 1px solid var(--rk-line);
    border-radius: 25px;
    background: var(--rk-white);
    box-shadow: 0 18px 44px rgba(16, 37, 54, 0.1);
  }

  #rk-projekt-online .rk-online-bio-head {
    display: flex;
    gap: 22px;
    align-items: center;
    justify-content: space-between;
    padding: 28px clamp(24px, 4.5vw, 42px);
    border-bottom: 4px solid var(--rk-cyan);
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-dark), var(--rk-navy));
  }

  #rk-projekt-online .rk-online-bio-head h2 {
    margin-bottom: 6px;
    color: var(--rk-white);
    font-size: clamp(1.35rem, 2.9vw, 2rem);
  }

  #rk-projekt-online .rk-online-bio-head p {
    margin: 0;
    color: #cfe3e9;
    font-size: 0.84rem;
  }

  #rk-projekt-online .rk-online-bio-badge {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    flex: 0 0 auto;
    padding: 9px 13px;
    border: 1px solid rgba(40, 201, 218, 0.3);
    border-radius: 12px;
    color: #92f2f8;
    background: rgba(40, 201, 218, 0.1);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  #rk-projekt-online .rk-online-bio-grid {
    display: grid;
    grid-template-columns: 285px minmax(0, 1fr);
  }

  #rk-projekt-online .rk-online-bio-profile {
    padding: 34px 26px;
    border-right: 1px solid var(--rk-line);
    background: var(--rk-soft);
    text-align: center;
  }

  #rk-projekt-online .rk-online-bio-photo {
    display: block;
    width: 142px;
    height: 142px;
    margin: 0 auto 20px;
    object-fit: cover;
    border: 5px solid var(--rk-white);
    border-radius: 50%;
    box-shadow: 0 12px 28px rgba(7, 143, 190, 0.18);
  }

  #rk-projekt-online .rk-online-bio-name {
    margin-bottom: 4px;
    font-size: 1.28rem;
  }

  #rk-projekt-online .rk-online-bio-title {
    margin-bottom: 19px;
    color: var(--rk-blue);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }

  #rk-projekt-online .rk-online-bio-links {
    display: grid;
    gap: 8px;
  }

  #rk-projekt-online .rk-online-bio-links a {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 11px;
    border: 1px solid #ccdde4;
    border-radius: 11px;
    color: var(--rk-navy);
    background: var(--rk-white);
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1.25;
    text-decoration: none;
  }

  #rk-projekt-online .rk-online-bio-links a:hover {
    color: var(--rk-white);
    border-color: var(--rk-blue);
    background: var(--rk-blue);
  }

  #rk-projekt-online .rk-online-bio-content {
    min-width: 0;
  }

  #rk-projekt-online .rk-online-bio-quote {
    padding: 30px clamp(24px, 4vw, 38px) 24px;
    border-bottom: 1px solid var(--rk-line);
  }

  #rk-projekt-online .rk-online-bio-quote-mark {
    display: block;
    height: 29px;
    color: var(--rk-cyan);
    font-family: Georgia, serif;
    font-size: 3.5rem;
    line-height: 0.75;
    opacity: 0.75;
  }

  #rk-projekt-online .rk-online-bio-quote p {
    margin: 0;
    color: var(--rk-dark);
    font-size: clamp(1rem, 2vw, 1.12rem);
    font-style: italic;
    font-weight: 760;
    line-height: 1.65;
  }

  #rk-projekt-online .rk-online-bio-tabs {
    display: flex;
    border-bottom: 1px solid var(--rk-line);
    background: var(--rk-soft);
  }

  #rk-projekt-online .rk-online-bio-tab {
    appearance: none;
    flex: 1;
    min-height: 50px;
    padding: 10px 8px;
    border: 0;
    border-bottom: 3px solid transparent;
    color: var(--rk-muted);
    background: transparent;
    cursor: pointer;
    font: inherit;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  #rk-projekt-online .rk-online-bio-tab[aria-selected="true"] {
    color: var(--rk-blue);
    border-bottom-color: var(--rk-blue);
    background: var(--rk-white);
  }

  #rk-projekt-online .rk-online-bio-panel {
    padding: 28px clamp(24px, 4vw, 38px) 33px;
  }

  #rk-projekt-online .rk-online-bio-panel p:last-child {
    margin-bottom: 0;
  }

  #rk-projekt-online .rk-online-bio-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 18px;
  }

  #rk-projekt-online .rk-online-bio-stat {
    padding: 17px;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: var(--rk-soft);
  }

  #rk-projekt-online .rk-online-bio-stat b {
    display: block;
    color: var(--rk-blue);
    font-size: 1.45rem;
    line-height: 1.1;
  }

  #rk-projekt-online .rk-online-bio-stat span {
    display: block;
    margin-top: 5px;
    color: var(--rk-muted);
    font-size: 0.66rem;
    font-weight: 850;
    letter-spacing: 0.04em;
    line-height: 1.4;
    text-transform: uppercase;
  }

  #rk-projekt-online .rk-online-bio-tab:focus-visible,
  #rk-projekt-online .rk-online-cta-button:focus-visible,
  #rk-projekt-online .rk-online-cta-secondary:focus-visible,
  #rk-projekt-online .rk-online-nav a:focus-visible,
  #rk-projekt-online .rk-online-bio-links a:focus-visible,
  #rk-projekt-online summary:focus-visible {
    outline: 3px solid rgba(255, 116, 56, 0.35);
    outline-offset: 3px;
  }

  @media (max-width: 940px) {
    #rk-projekt-online .rk-online-process-grid,
    #rk-projekt-online .rk-online-scope-grid,
    #rk-projekt-online .rk-online-material-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-projekt-online .rk-online-process-card::after {
      display: none;
    }
  }

  @media (max-width: 780px) {
    #rk-projekt-online {
      font-size: 16px;
    }

    #rk-projekt-online .rk-online-shell {
      border-radius: 21px;
    }

    #rk-projekt-online .rk-online-answer,
    #rk-projekt-online .rk-online-bio-grid {
      grid-template-columns: 1fr;
    }

    #rk-projekt-online .rk-online-table-wrap {
      overflow: visible;
      border: 0;
      border-radius: 0;
    }

    #rk-projekt-online .rk-online-table-wrap table {
      display: block;
      min-width: 0;
      border-collapse: separate;
      border-spacing: 0;
      background: transparent;
    }

    #rk-projekt-online .rk-online-table-wrap thead {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      clip-path: inset(50%);
      white-space: nowrap;
      border: 0;
    }

    #rk-projekt-online .rk-online-table-wrap tbody {
      display: grid;
      gap: 16px;
    }

    #rk-projekt-online .rk-online-table-wrap tbody tr {
      display: block;
      overflow: hidden;
      border: 1px solid var(--rk-line);
      border-radius: 18px;
      background: var(--rk-white);
      box-shadow: 0 10px 26px rgba(16, 37, 54, 0.065);
    }

    #rk-projekt-online .rk-online-table-wrap tbody th[scope="row"] {
      display: block;
      width: 100%;
      padding: 15px 17px;
      border: 0;
      color: var(--rk-white);
      background: linear-gradient(135deg, var(--rk-dark), var(--rk-navy));
      font-size: 0.92rem;
      line-height: 1.4;
    }

    #rk-projekt-online .rk-online-table-wrap tbody td {
      display: block;
      width: 100%;
      padding: 14px 17px 15px;
      border: 0;
      border-bottom: 1px solid var(--rk-line);
      background: var(--rk-white);
    }

    #rk-projekt-online .rk-online-table-wrap tbody tr:nth-child(even) td,
    #rk-projekt-online .rk-online-table-wrap tbody tr:nth-child(odd) td {
      background: var(--rk-white);
    }

    #rk-projekt-online .rk-online-table-wrap tbody tr td:last-child {
      border-bottom: 0;
    }

    #rk-projekt-online .rk-online-table-wrap tbody td::before {
      content: attr(data-label);
      display: block;
      margin-bottom: 5px;
      color: var(--rk-blue);
      font-size: 0.67rem;
      font-weight: 900;
      letter-spacing: 0.055em;
      line-height: 1.4;
      text-transform: uppercase;
    }

    #rk-projekt-online .rk-online-bio-profile {
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
    }

    #rk-projekt-online .rk-online-bio-links {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 580px) {
    #rk-projekt-online {
      margin-top: 22px;
    }

    #rk-projekt-online .rk-online-hero,
    #rk-projekt-online .rk-online-content {
      padding-right: 21px;
      padding-left: 21px;
    }

    #rk-projekt-online .rk-online-learn-grid,
    #rk-projekt-online .rk-online-process-grid,
    #rk-projekt-online .rk-online-scope-grid,
    #rk-projekt-online .rk-online-material-grid,
    #rk-projekt-online .rk-online-program-grid,
    #rk-projekt-online .rk-online-bio-stats {
      grid-template-columns: 1fr;
    }

    #rk-projekt-online .rk-online-learn-card {
      padding: 18px;
    }

    #rk-projekt-online .rk-online-section-head {
      grid-template-columns: 43px minmax(0, 1fr);
      gap: 13px;
    }

    #rk-projekt-online .rk-online-section-no {
      width: 43px;
      height: 43px;
      border-radius: 12px;
    }

    #rk-projekt-online .rk-online-cta-actions {
      display: grid;
      grid-template-columns: 1fr;
    }

    #rk-projekt-online .rk-online-cta-button,
    #rk-projekt-online .rk-online-cta-secondary {
      width: 100%;
    }

    #rk-projekt-online .rk-online-bio-head {
      align-items: flex-start;
      flex-direction: column;
    }

    #rk-projekt-online .rk-online-bio-tabs {
      flex-direction: column;
    }

    #rk-projekt-online .rk-online-bio-tab {
      border-bottom: 0;
      border-left: 4px solid transparent;
      text-align: left;
    }

    #rk-projekt-online .rk-online-bio-tab[aria-selected="true"] {
      border-left-color: var(--rk-blue);
    }

    #rk-projekt-online .rk-online-bio-links {
      grid-template-columns: 1fr;
    }
  }

  #rk-projekt-online .rk-online-checker {
    overflow: hidden;
    margin: 28px 0;
    border: 1px solid var(--rk-line);
    border-radius: 22px;
    background: var(--rk-white);
    box-shadow: 0 16px 40px rgba(16, 37, 54, 0.08);
  }

  #rk-projekt-online .rk-online-checker-head {
    padding: 24px 27px;
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-dark), var(--rk-navy));
  }

  #rk-projekt-online .rk-online-checker-head h3 {
    margin: 0 0 7px;
    color: var(--rk-white);
    font-size: clamp(1.12rem, 2.2vw, 1.35rem);
  }

  #rk-projekt-online .rk-online-checker-head p {
    margin: 0;
    color: #c7d7e1;
    font-size: 0.9rem;
  }

  #rk-projekt-online .rk-online-check-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 24px 27px;
    background: var(--rk-soft);
  }

  #rk-projekt-online .rk-online-check {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--rk-line);
    border-radius: 15px;
    background: var(--rk-white);
    color: var(--rk-ink);
    font-size: 0.88rem;
    font-weight: 760;
    line-height: 1.5;
    cursor: pointer;
  }

  #rk-projekt-online .rk-online-check input {
    width: 21px;
    height: 21px;
    flex: 0 0 21px;
    margin: 2px 0 0;
    accent-color: var(--rk-blue);
  }

  #rk-projekt-online .rk-online-check-result {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    padding: 20px 27px;
    border-top: 1px solid var(--rk-line);
    background: var(--rk-white);
  }

  #rk-projekt-online .rk-online-check-score {
    display: grid;
    width: 70px;
    height: 70px;
    place-items: center;
    border-radius: 50%;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 1.05rem;
    font-weight: 950;
  }

  #rk-projekt-online .rk-online-check-result strong,
  #rk-projekt-online .rk-online-check-result span {
    display: block;
  }

  #rk-projekt-online .rk-online-check-result strong {
    margin-bottom: 3px;
    color: var(--rk-dark);
  }

  #rk-projekt-online .rk-online-check-result span {
    color: var(--rk-text);
    font-size: 0.86rem;
    line-height: 1.55;
  }

  #rk-projekt-online .rk-online-formula {
    margin: 24px 0;
    padding: 22px 24px;
    border-left: 5px solid var(--rk-blue);
    border-radius: 0 17px 17px 0;
    background: var(--rk-cyan-soft);
  }

  #rk-projekt-online .rk-online-formula code {
    display: block;
    overflow-wrap: anywhere;
    margin: 8px 0;
    color: var(--rk-dark);
    background: transparent;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: clamp(0.93rem, 2vw, 1.1rem);
    font-weight: 850;
    white-space: normal;
  }

  #rk-projekt-online .rk-online-formula p {
    margin: 7px 0 0;
    font-size: 0.86rem;
  }

  @media (max-width: 680px) {
    #rk-projekt-online .rk-online-check-grid {
      grid-template-columns: 1fr;
      padding: 19px;
    }

    #rk-projekt-online .rk-online-checker-head,
    #rk-projekt-online .rk-online-check-result {
      padding-right: 19px;
      padding-left: 19px;
    }

    #rk-projekt-online .rk-online-check-result {
      grid-template-columns: 1fr;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #rk-projekt-online *,
    #rk-projekt-online *::before,
    #rk-projekt-online *::after {
      scroll-behavior: auto !important;
      transition: none !important;
    }
  }
</style>

<article id="rk-projekt-online" itemscope itemtype="https://schema.org/BlogPosting">
  <div class="rk-online-shell">
    <div class="rk-online-progress-track" aria-hidden="true"><div class="rk-online-progress"></div></div>

    <header class="rk-online-hero">
      <div class="rk-online-badge">Poradnik realizacji zdalnej</div>
      <h2>Projekt wykonywany online nie jest automatem. <span>To pełny proces projektowy bez wizyty w biurze</span></h2>

      <div class="rk-online-hook">
        <p><strong>Projekt ogrzewania podłogowego online powstaje na podstawie rzeczywistych danych konkretnego budynku.</strong> Przekazujesz rzuty i informacje techniczne elektronicznie, projektant weryfikuje je, wykonuje obliczenia OZC oraz hydraulikę, a następnie przygotowuje rysunki pętli i dokumentację PDF dla instalatora.</p>
      </div>

      <p class="rk-online-hero-lead">Słowo „online” opisuje sposób współpracy, a nie uproszczony zakres opracowania. Nie musisz przyjeżdżać z papierowymi rzutami ani umawiać spotkania stacjonarnego. O jakości projektu decydują kompletność danych, obliczenia i kontrola techniczna — nie miejsce, w którym przekazano dokumenty.</p>

      <div class="rk-online-hero-meta">
        <span>Rzuty PDF, JPG lub DWG</span>
        <span>Obliczenia OZC</span>
        <span>Rysunek wszystkich pętli</span>
        <span>Dokumentacja elektroniczna</span>
      </div>

      <div class="rk-online-author-strip" itemprop="author" itemscope itemtype="https://schema.org/Person">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski – specjalista systemów HVAC i ogrzewania podłogowego" width="52" height="52" loading="eager" itemprop="image">
        <div>
          <b itemprop="name">Robert Kucharski</b>
          <small itemprop="jobTitle">Specjalista systemów HVAC i ogrzewania podłogowego • autor Projekt-Ogrzewania.pl</small>
        </div>
      </div>
    </header>

    <div class="rk-online-content" itemprop="articleBody">
      <section class="rk-online-answer" aria-label="Najkrótsze wyjaśnienie projektu ogrzewania podłogowego online">
        <div>
          <span class="rk-online-answer-label">Najkrócej: co oznacza „online”?</span>
          <strong class="rk-online-answer-main">Dane przesyłasz zdalnie, ale obliczenia, rysunki i odpowiedzialność za przygotowanie dokumentacji pozostają rzeczywiste.</strong>
          <p>Projektant analizuje budynek, dobiera parametry instalacji i przekazuje dokumentację w formie elektronicznej. To usługa projektowa realizowana na odległość, a nie wynik wygenerowany po wpisaniu samego metrażu.</p>
        </div>
        <div class="rk-online-answer-badge">
          <b>PDF + obliczenia</b>
          <span>dokumentacja gotowa do przekazania instalatorowi</span>
        </div>
      </section>

      <section class="rk-online-learn" aria-labelledby="rk-online-learn-title">
        <h3 class="rk-online-learn-title" id="rk-online-learn-title">
          <svg width="25" height="25" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
          Z tego poradnika dowiesz się:
        </h3>

        <div class="rk-online-learn-grid">
          <div class="rk-online-learn-card">
            <div class="rk-online-learn-icon" aria-hidden="true">01</div>
            <div><h4>Jak wygląda współpraca?</h4><p>Od przesłania rzutu i ankiety technicznej do odbioru kompletnego opracowania PDF.</p></div>
          </div>
          <div class="rk-online-learn-card">
            <div class="rk-online-learn-icon" aria-hidden="true">02</div>
            <div><h4>Jakie dane przygotować?</h4><p>Wymiary, izolacje, okna, posadzki, źródło ciepła i lokalizacje rozdzielaczy.</p></div>
          </div>
          <div class="rk-online-learn-card">
            <div class="rk-online-learn-icon" aria-hidden="true">03</div>
            <div><h4>Co otrzymuje instalator?</h4><p>Rysunki pętli, długości obiegów, rozstawy, przepływy i zestawienie materiałowe.</p></div>
          </div>
          <div class="rk-online-learn-card">
            <div class="rk-online-learn-icon" aria-hidden="true">04</div>
            <div><h4>Czym projekt różni się od programu?</h4><p>Dlaczego kalkulator internetowy nie zastępuje OZC, hydrauliki i kontroli specjalisty.</p></div>
          </div>
        </div>
      </section>

      <nav class="rk-online-nav" aria-label="Spis treści artykułu">
        <strong>Na skróty</strong>
        <div class="rk-online-nav-links">
          <a href="#rk-online-definicja">Co oznacza online?</a>
          <a href="#rk-online-proces">Etapy realizacji</a>
          <a href="#rk-online-dane">Potrzebne dane</a>
          <a href="#rk-online-obliczenia">Obliczenia</a>
          <a href="#rk-online-dokumentacja">Dokumentacja PDF</a>
          <a href="#rk-online-weryfikacja">Weryfikacja</a>
          <a href="#rk-online-program">Projekt a program</a>
          <a href="#rk-online-faq">FAQ</a>
        </div>
      </nav>

      <section class="rk-online-section" id="rk-online-definicja" aria-labelledby="rk-online-s1">
        <div class="rk-online-section-head">
          <div class="rk-online-section-no">1</div>
          <div>
            <h2 id="rk-online-s1">Czym jest projekt ogrzewania podłogowego online — i czym nie jest?</h2>
            <p>To indywidualna dokumentacja wykonywana zdalnie, a nie uniwersalny schemat dobierany wyłącznie do powierzchni domu.</p>
          </div>
        </div>

        <p>Współpraca online polega na elektronicznej wymianie danych. Inwestor przesyła rzuty, uzupełnia informacje o konstrukcji budynku i opisuje planowane rozwiązania. Projektant sprawdza kompletność materiałów, zadaje pytania uzupełniające, wykonuje obliczenia i przygotowuje dokumentację dla konkretnej inwestycji.</p>

        <p>Sam fakt, że nie odbywa się spotkanie stacjonarne, nie zmienia fizyki budynku. Nadal trzeba policzyć straty ciepła pomieszczeń, sprawdzić możliwą moc podłogi, dobrać temperaturę wody, rozstawy rur, długości obiegów, przepływy oraz liczbę sekcji rozdzielaczy. Dopiero suma tych działań tworzy projekt, na podstawie którego można wykonać i wyregulować instalację.</p>

        <div class="rk-online-truth">
          <p><strong>Najważniejsze rozróżnienie:</strong> „online” oznacza sposób przekazania danych i odbioru dokumentacji. Nie oznacza automatycznego rysunku, projektu katalogowego ani kalkulatora, który nie zna przegród i układu pomieszczeń Twojego domu.</p>
        </div>

        <div class="rk-online-program-grid">
          <div class="rk-online-program-card">
            <h3>Projekt wykonywany zdalnie</h3>
            <ul class="rk-online-list">
              <li>Analiza konkretnego budynku</li>
              <li>OZC dla pomieszczeń</li>
              <li>Indywidualny rysunek pętli</li>
              <li>Hydraulika i nastawy przepływów</li>
            </ul>
          </div>
          <div class="rk-online-program-card">
            <h3>Automatyczny wynik z kalkulatora</h3>
            <ul class="rk-online-list">
              <li>Najczęściej wykorzystuje sam metraż</li>
              <li>Podaje wynik orientacyjny</li>
              <li>Nie weryfikuje dokumentacji budynku</li>
              <li>Nie zastępuje rysunku wykonawczego</li>
            </ul>
          </div>
        </div>
      </section>

      <section class="rk-online-section" id="rk-online-proces" aria-labelledby="rk-online-s2">
        <div class="rk-online-section-head">
          <div class="rk-online-section-no">2</div>
          <div>
            <h2 id="rk-online-s2">Jak przebiega wykonanie projektu podłogówki online?</h2>
            <p>Sześć etapów pozwala uporządkować dane i oddzielić analizę techniczną od późniejszej decyzji zakupowej.</p>
          </div>
        </div>

        <div class="rk-online-process-grid" aria-label="Etapy wykonania projektu ogrzewania podłogowego online">
          <div class="rk-online-process-card"><span class="rk-online-process-no">01</span><h4>Wybór zakresu</h4><p>Określasz powierzchnię, liczbę kondygnacji i oczekiwany termin przygotowania dokumentacji.</p></div>
          <div class="rk-online-process-card"><span class="rk-online-process-no">02</span><h4>Ankieta techniczna</h4><p>Podajesz dane o izolacji, stolarce, wentylacji, źródle ciepła oraz planowanym wykończeniu podłóg.</p></div>
          <div class="rk-online-process-card"><span class="rk-online-process-no">03</span><h4>Przesłanie rzutów</h4><p>Wgrywasz pliki PDF, JPG lub DWG. Zmiany względem projektu architektonicznego możesz zaznaczyć na osobnej kopii rzutu.</p></div>
          <div class="rk-online-process-card"><span class="rk-online-process-no">04</span><h4>Weryfikacja danych</h4><p>Sprawdzamy wymiary i kompletność informacji. Jeżeli czegoś brakuje albo dane są sprzeczne, kontaktujemy się przed rozpoczęciem obliczeń.</p></div>
          <div class="rk-online-process-card"><span class="rk-online-process-no">05</span><h4>Obliczenia i rysunki</h4><p>Powstaje OZC, dobór parametrów podłogi, podział na pętle, analiza hydrauliczna i zestawienie materiałowe.</p></div>
          <div class="rk-online-process-card"><span class="rk-online-process-no">06</span><h4>Odbiór dokumentacji</h4><p>Gotowe opracowanie otrzymujesz elektronicznie. Plik możesz zachować, wydrukować i przekazać wykonawcy.</p></div>
        </div>

        <div class="rk-online-note"><strong>Wizyta w budynku zazwyczaj nie jest potrzebna na etapie projektowym.</strong> Warunkiem jest przekazanie czytelnych rzutów, wymiarów i danych technicznych. W modernizowanym obiekcie mogą być potrzebne dodatkowe zdjęcia, pomiary albo informacje o istniejącej instalacji.</div>
      </section>

      <aside class="rk-online-cta" aria-labelledby="rk-online-cta-1-title">
        <span class="rk-online-cta-label">Strona zamówienia</span>
        <h2 id="rk-online-cta-1-title">Sprawdź aktualną cenę i wybierz wariant projektu z OZC</h2>
        <p>Na stronie produktu wybierzesz powierzchnię budynku, liczbę kondygnacji i termin realizacji. To właśnie tam znajduje się aktualna oferta oraz możliwość złożenia zamówienia.</p>
        <div class="rk-online-cta-points" aria-label="Najważniejsze elementy usługi">
          <span>Obliczenia cieplne</span>
          <span>Rysunek pętli</span>
          <span>Przepływy i hydraulika</span>
          <span>Lista materiałów</span>
        </div>
        <div class="rk-online-cta-actions">
          <a class="rk-online-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Sprawdź cenę i zamów projekt z OZC</a>
          <a class="rk-online-cta-secondary" href="tel:+48783212175">Zadzwoń: +48 783 212 175</a>
        </div>
      </aside>

      <section class="rk-online-section" id="rk-online-dane" aria-labelledby="rk-online-s3">
        <div class="rk-online-section-head">
          <div class="rk-online-section-no">3</div>
          <div>
            <h2 id="rk-online-s3">Jakie dane są potrzebne do wykonania projektu online?</h2>
            <p>Im lepiej opisany budynek, tym mniej założeń trzeba przyjmować podczas obliczeń.</p>
          </div>
        </div>

        <p>Podstawą są czytelne rzuty wszystkich ogrzewanych kondygnacji z wymiarami pomieszczeń. Oprócz geometrii potrzebujemy informacji określających straty ciepła i możliwości oddawania mocy przez podłogę. Sam plan pomieszczeń nie mówi, ile ciepła ucieka przez ściany, dach, okna i wentylację.</p>

        <div class="rk-online-scope-grid">
          <div class="rk-online-scope-card"><span class="rk-online-scope-icon">PDF</span><h4>Rzuty budynku</h4><p>Wymiary pomieszczeń, układ ścian, schodów, drzwi i stałej zabudowy. Przyjmujemy PDF, JPG oraz DWG.</p></div>
          <div class="rk-online-scope-card"><span class="rk-online-scope-icon">U</span><h4>Przegrody i izolacje</h4><p>Budowa ścian, grubość ocieplenia, izolacja dachu, podłogi na gruncie albo stropu nad nieogrzewaną przestrzenią.</p></div>
          <div class="rk-online-scope-card"><span class="rk-online-scope-icon">Uw</span><h4>Okna i drzwi</h4><p>Wymiary, parametry cieplne i duże przeszklenia, które mogą wymagać indywidualnego potraktowania strefy brzegowej.</p></div>
          <div class="rk-online-scope-card"><span class="rk-online-scope-icon">V</span><h4>Wentylacja</h4><p>Informacja, czy budynek ma wentylację grawitacyjną, mechaniczną bez odzysku czy rekuperację.</p></div>
          <div class="rk-online-scope-card"><span class="rk-online-scope-icon">Rλ</span><h4>Wykończenie podłóg</h4><p>Płytki, panele, winyl, drewno lub inne okładziny. Ich opór cieplny wpływa na wymaganą temperaturę i rozstaw rur.</p></div>
          <div class="rk-online-scope-card"><span class="rk-online-scope-icon">°C</span><h4>Źródło ciepła</h4><p>Pompa ciepła, kocioł kondensacyjny lub inne źródło oraz przewidywane parametry pracy instalacji.</p></div>
        </div>

        <div class="rk-online-checker" data-rk-checker>
          <div class="rk-online-checker-head">
            <h3>Sprawdź, czy możesz wysłać dane do weryfikacji</h3>
            <p>Zaznacz elementy, które masz już przygotowane. Wynik jest wskazówką organizacyjną, a nie oceną techniczną budynku.</p>
          </div>
          <div class="rk-online-check-grid">
            <label class="rk-online-check"><input type="checkbox" value="1"> Czytelne rzuty wszystkich ogrzewanych kondygnacji</label>
            <label class="rk-online-check"><input type="checkbox" value="1"> Wymiary lub skala pozwalająca odczytać geometrię</label>
            <label class="rk-online-check"><input type="checkbox" value="1"> Opis ścian, dachu i izolacji podłogi</label>
            <label class="rk-online-check"><input type="checkbox" value="1"> Informacje o oknach i rodzaju wentylacji</label>
            <label class="rk-online-check"><input type="checkbox" value="1"> Planowane podłogi oraz temperatury pomieszczeń</label>
            <label class="rk-online-check"><input type="checkbox" value="1"> Źródło ciepła i proponowane miejsca rozdzielaczy</label>
          </div>
          <div class="rk-online-check-result" aria-live="polite">
            <div class="rk-online-check-score" data-rk-score>0/6</div>
            <div><strong data-rk-score-title>Przygotuj podstawowe materiały</strong><span data-rk-score-text>Zacznij od rzutów z wymiarami. Pozostałe informacje można później uzupełnić w ankiecie.</span></div>
          </div>
        </div>

        <div class="rk-online-warning"><strong>Nie poprawiaj oryginalnego rzutu bez zachowania kopii.</strong> Jeżeli układ domu został zmieniony, najlepiej przesłać dwie wersje: oryginalną oraz kopię z wyraźnie naniesionymi zmianami i wymiarami. Może to być czytelne oznaczenie wykonane na wydruku lub w prostym programie graficznym.</div>
      </section>

      <section class="rk-online-section" id="rk-online-obliczenia" aria-labelledby="rk-online-s4">
        <div class="rk-online-section-head">
          <div class="rk-online-section-no">4</div>
          <div>
            <h2 id="rk-online-s4">Co projektant oblicza po otrzymaniu dokumentów?</h2>
            <p>Rysowanie pętli jest końcem procesu obliczeniowego, a nie jego początkiem.</p>
          </div>
        </div>

        <p>Najpierw wyznacza się <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne OZC</a> dla budynku i poszczególnych pomieszczeń. Uwzględnia ono straty przez przegrody, mostki cieplne oraz wentylację przy projektowej temperaturze zewnętrznej właściwej dla lokalizacji. Dopiero znając wymaganą moc, można ocenić, czy podłoga odda ją przy bezpiecznej temperaturze powierzchni.</p>

        <div class="rk-online-formula">
          <strong>Uproszczony zapis bilansu cieplnego pomieszczenia:</strong>
          <code>Q<sub>H</sub> = Σ(U × A × ΔT) + Q<sub>v</sub> + Σ(ψ × l × ΔT)</code>
          <p>U — współczynnik przenikania przegrody, A — jej powierzchnia, ΔT — różnica temperatur, Q<sub>v</sub> — strata wentylacyjna, ψ × l — wpływ mostków liniowych. W projekcie analizuje się rzeczywiste przegrody i warunki obliczeniowe, a nie jeden średni wskaźnik W/m² dla całego domu.</p>
        </div>

        <p>Następnie dobiera się parametry ogrzewania płaszczyznowego: temperaturę zasilania i powrotu, rozstaw rur oraz podział powierzchni na obiegi. Długości pętli powinny umożliwiać uzyskanie wymaganych przepływów bez nadmiernych oporów. Dwie pętle o podobnym metrażu mogą wymagać innych nastaw, jeżeli obsługują pomieszczenia o różnej mocy.</p>

        <div class="rk-online-formula">
          <strong>Przepływ wynikający z mocy obiegu:</strong>
          <code>V̇ [l/h] = Q [W] ÷ (1,163 × ΔT [K])</code>
          <p>Przykład: obieg o mocy 800 W i różnicy temperatur 5 K wymaga orientacyjnie około 138 l/h, czyli 2,3 l/min. Nastawa nie powinna wynikać z tego, że „wszystkie rotametry ustawiamy tak samo”, lecz z mocy i parametrów konkretnego obiegu.</p>
        </div>

        <div class="rk-online-scope-grid">
          <div class="rk-online-scope-card"><span class="rk-online-scope-icon">OZC</span><h4>Straty pomieszczeń</h4><p>Moc potrzebna do utrzymania temperatury w warunkach obliczeniowych.</p></div>
          <div class="rk-online-scope-card"><span class="rk-online-scope-icon">W/m²</span><h4>Moc podłogi</h4><p>Ocena możliwej emisji ciepła z uwzględnieniem okładziny i temperatury powierzchni.</p></div>
          <div class="rk-online-scope-card"><span class="rk-online-scope-icon">cm</span><h4>Rozstaw rur</h4><p>Dobór zagęszczenia przewodów do wymaganej mocy i warunków danego pomieszczenia.</p></div>
          <div class="rk-online-scope-card"><span class="rk-online-scope-icon">m</span><h4>Długości pętli</h4><p>Podział instalacji na obiegi możliwe do prawidłowego zrównoważenia.</p></div>
          <div class="rk-online-scope-card"><span class="rk-online-scope-icon">Δp</span><h4>Opory hydrauliczne</h4><p>Sprawdzenie najniekorzystniejszego obiegu i warunków pracy pompy obiegowej.</p></div>
          <div class="rk-online-scope-card"><span class="rk-online-scope-icon">l/min</span><h4>Nastawy rotametrów</h4><p>Przepływy wynikające z zapotrzebowania oraz różnicy temperatur w obiegach.</p></div>
        </div>

        <div class="rk-online-note"><strong>Rozstaw 10, 15 lub 20 cm nie jest wybierany z jednej uniwersalnej tabeli.</strong> Zależy od strat pomieszczenia, temperatury wody, rodzaju jastrychu, oporu okładziny oraz dopuszczalnej temperatury powierzchni podłogi.</div>
      </section>

      <section class="rk-online-section" id="rk-online-dokumentacja" aria-labelledby="rk-online-s5">
        <div class="rk-online-section-head">
          <div class="rk-online-section-no">5</div>
          <div>
            <h2 id="rk-online-s5">Co otrzymujesz w dokumentacji przekazywanej online?</h2>
            <p>Plik PDF ma przełożyć wyniki obliczeń na konkretne informacje potrzebne przy wykonaniu i regulacji instalacji.</p>
          </div>
        </div>

        <p>Zakres nie powinien kończyć się na estetycznym rysunku spirali. Wykonawca potrzebuje danych pozwalających odtworzyć układ pętli, zachować przyjęte długości, podłączyć odpowiednie sekcje rozdzielacza oraz ustawić przepływy. Inwestor powinien natomiast otrzymać zestawienie pozwalające skontrolować zakres robót i zakupu materiałów. Więcej przykładów znajdziesz w poradniku pokazującym, <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">jak powinien wyglądać profesjonalny projekt ogrzewania podłogowego</a>.</p>

        <div class="rk-online-table-wrap" role="region" aria-label="Elementy dokumentacji projektu ogrzewania podłogowego online" tabindex="0">
          <table>
            <thead><tr><th scope="col">Element</th><th scope="col">Co zawiera</th><th scope="col">Do czego służy na budowie</th></tr></thead>
            <tbody>
              <tr><th scope="row">Obliczenia OZC</th><td data-label="Co zawiera">Straty ciepła budynku i poszczególnych pomieszczeń.</td><td data-label="Do czego służy na budowie">Określają wymaganą moc podłogi i pomagają poprawnie dobrać źródło ciepła.</td></tr>
              <tr><th scope="row">Rzut instalacji</th><td data-label="Co zawiera">Przebieg pętli, rozstawy rur, strefy oraz przypisanie obiegów.</td><td data-label="Do czego służy na budowie">Pokazuje instalatorowi sposób ułożenia rur w każdym pomieszczeniu.</td></tr>
              <tr><th scope="row">Tabela pętli</th><td data-label="Co zawiera">Długości obiegów, powierzchnie, moce i wymagane przepływy.</td><td data-label="Do czego służy na budowie">Ułatwia kontrolę długości oraz późniejsze ustawienie rotametrów.</td></tr>
              <tr><th scope="row">Parametry instalacji</th><td data-label="Co zawiera">Temperaturę zasilania i powrotu oraz założenia pracy systemu.</td><td data-label="Do czego służy na budowie">Pozwala skonfigurować źródło ciepła i ocenić warunki pracy podłogówki.</td></tr>
              <tr><th scope="row">Rozdzielacze</th><td data-label="Co zawiera">Lokalizacje, liczbę sekcji i przyporządkowanie pomieszczeń.</td><td data-label="Do czego służy na budowie">Zapobiega zakupowi zbyt małych rozdzielaczy i porządkuje podłączenia.</td></tr>
              <tr><th scope="row">Zestawienie materiałów</th><td data-label="Co zawiera">Ilości podstawowych elementów wynikające z przyjętego układu.</td><td data-label="Do czego służy na budowie">Stanowi podstawę przygotowania rzeczywistej listy zakupów i wyceny.</td></tr>
            </tbody>
          </table>
        </div>

        <div class="rk-online-truth"><p><strong>PDF nie jest gorszy od wydruku.</strong> Zawiera te same dane, można go powiększać na ekranie, wydrukować w potrzebnej skali i przechowywać razem z pozostałą dokumentacją budynku. Kluczowa jest czytelność opracowania i zgodność realizacji z jego założeniami.</p></div>
      </section>

      <section class="rk-online-section" id="rk-online-weryfikacja" aria-labelledby="rk-online-s6">
        <div class="rk-online-section-head">
          <div class="rk-online-section-no">6</div>
          <div>
            <h2 id="rk-online-s6">Jak wygląda weryfikacja danych, zmian i ewentualnych poprawek?</h2>
            <p>Najwięcej błędów można wyeliminować jeszcze przed rozpoczęciem rysowania pętli.</p>
          </div>
        </div>

        <p>Przed obliczeniami porównujemy rzuty z informacjami podanymi w ankiecie. Sprawdzamy między innymi powierzchnie, liczbę kondygnacji, układ pomieszczeń, lokalizacje rozdzielaczy, planowane okładziny i parametry źródła ciepła. Jeśli dokumentacja nie pozwala jednoznacznie odczytać wymiaru albo opis izolacji jest niepełny, prosimy o uzupełnienie zamiast przyjmować przypadkową wartość.</p>

        <div class="rk-online-process-grid">
          <div class="rk-online-process-card"><span class="rk-online-process-no">A</span><h4>Kontrola kompletności</h4><p>Sprawdzamy, czy są wszystkie kondygnacje, wymiary, skala oraz opis podstawowych przegród.</p></div>
          <div class="rk-online-process-card"><span class="rk-online-process-no">B</span><h4>Pytania uzupełniające</h4><p>Wyjaśniamy rozbieżności dotyczące izolacji, okien, posadzek, temperatur albo układu pomieszczeń.</p></div>
          <div class="rk-online-process-card"><span class="rk-online-process-no">C</span><h4>Założenia projektowe</h4><p>Potwierdzamy źródło ciepła, lokalizacje rozdzielaczy i istotne ograniczenia wykonawcze.</p></div>
          <div class="rk-online-process-card"><span class="rk-online-process-no">D</span><h4>Finalizacja</h4><p>Po zamknięciu danych przygotowujemy końcowe rysunki, tabele i zestawienie materiałowe.</p></div>
        </div>

        <div class="rk-online-material-box">
          <h3>Przykład: dom po zmianach względem projektu architektonicznego</h3>
          <p>Jeżeli przesunięto ścianę, połączono dwa pomieszczenia albo zmieniono lokalizację szafki, projektant powinien otrzymać zarówno pierwotny rzut, jak i wersję z naniesionym stanem planowanym. Na zmodyfikowanej kopii trzeba dopisać aktualne wymiary. Pozwala to zachować punkt odniesienia i uniknąć projektowania pętli według nieaktualnej geometrii.</p>
        </div>

        <ul class="rk-online-list">
          <li><strong>Drobna korekta opisu</strong> nie jest tym samym co zmiana geometrii budynku po zakończeniu obliczeń.</li>
          <li><strong>Przesunięcie rozdzielacza</strong> może zmienić długości dobiegów, opory i podział pętli.</li>
          <li><strong>Zmiana paneli na grubą deskę</strong> wpływa na opór cieplny podłogi i możliwą moc grzewczą.</li>
          <li><strong>Zmiana źródła ciepła lub temperatury zasilania</strong> może wymagać ponownego sprawdzenia rozstawów.</li>
        </ul>

        <div class="rk-online-warning"><strong>Zmiany przekazuj przed montażem rur.</strong> Po zalaniu instalacji jastrychem nawet prawidłowo przeliczona korekta nie cofnie błędu wykonanego na budowie.</div>
      </section>

      <section class="rk-online-section" id="rk-online-program" aria-labelledby="rk-online-s7">
        <div class="rk-online-section-head">
          <div class="rk-online-section-no">7</div>
          <div>
            <h2 id="rk-online-s7">Projekt podłogówki online a program lub kalkulator internetowy</h2>
            <p>Oba rozwiązania działają przez internet, ale odpowiadają na zupełnie inne potrzeby.</p>
          </div>
        </div>

        <div class="rk-online-program-grid">
          <div class="rk-online-program-card">
            <h3>Kalkulator lub program online</h3>
            <p>Może oszacować długość rury, orientacyjny rozstaw albo zapotrzebowanie przy uproszczonych założeniach. Jest przydatny do edukacji i wstępnego porównania wariantów.</p>
            <ul class="rk-online-list">
              <li>Wynik zależny od danych wpisanych przez użytkownika</li>
              <li>Brak kontroli rzutów i sprzecznych informacji</li>
              <li>Zwykle brak kompletnego rysunku wykonawczego</li>
              <li>Brak indywidualnej odpowiedzialności za założenia</li>
            </ul>
            <p>Do obliczeń orientacyjnych możesz wykorzystać <a href="https://projekt-ogrzewania.pl/kompleksowy-kalkulator-ogrzewania-podlogowego/">kompleksowy kalkulator ogrzewania podłogowego</a>.</p>
          </div>
          <div class="rk-online-program-card">
            <h3>Indywidualny projekt realizowany online</h3>
            <p>Projektant otrzymuje dokumenty budynku, weryfikuje je i łączy obliczenia cieplne z rzeczywistym układem pętli oraz hydrauliką instalacji.</p>
            <ul class="rk-online-list">
              <li>Dane konkretnego domu i pomieszczeń</li>
              <li>Analiza strat oraz możliwości grzewczych podłogi</li>
              <li>Rysunki, długości, przepływy i rozdzielacze</li>
              <li>Dokumentacja przygotowana do realizacji</li>
            </ul>
          </div>
        </div>

        <div class="rk-online-truth"><p><strong>Nie trzeba wybierać między „online” a „profesjonalnie”.</strong> Zdalny sposób współpracy może prowadzić do pełnej dokumentacji. Problem zaczyna się dopiero wtedy, gdy automatyczne oszacowanie zostaje przedstawione jako zamiennik obliczeń i rysunków wykonawczych.</p></div>
      </section>

      <section class="rk-online-section" id="rk-online-organizacja" aria-labelledby="rk-online-s8">
        <div class="rk-online-section-head">
          <div class="rk-online-section-no">8</div>
          <div>
            <h2 id="rk-online-s8">Gdzie sprawdzić termin, cenę i warunki zamówienia?</h2>
            <p>Artykuł wyjaśnia proces. Aktualne warianty usługi pozostają na stronie sprzedażowej.</p>
          </div>
        </div>

        <p>Cena zależy między innymi od powierzchni budynku, liczby kondygnacji i wybranego czasu realizacji. Ponieważ warianty mogą się zmieniać, nie powielamy tutaj tabeli handlowej. Aktualną kwotę i dostępne opcje sprawdzisz na stronie <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">zamówienia indywidualnego projektu ogrzewania podłogowego z OZC</a>.</p>

        <p>Jeżeli planujesz również zakup rur, rozdzielaczy i szafek, osobno opisaliśmy zasady, według których dokumentacja może zostać rozliczona przy zakupie materiałów. Szczegóły znajdziesz na stronie <a href="https://projekt-ogrzewania.pl/darmowy-projekt-ogrzewania-podlogowego/">darmowy projekt ogrzewania podłogowego</a>. Dzięki temu niniejszy poradnik pozostaje źródłem informacji o realizacji online, a warunki handlowe są aktualizowane w jednym właściwym miejscu.</p>

        <div class="rk-online-note"><strong>Masz nietypowy budynek albo nie wiesz, czy Twoje pliki wystarczą?</strong> Zadzwoń pod numer <a href="tel:+48783212175">+48 783 212 175</a> lub wyślij wiadomość przez WhatsApp: <a href="https://wa.me/48794358367">+48 794 358 367</a>. Przed rozpoczęciem obliczeń możemy wskazać, czego brakuje.</div>
      </section>

      <aside class="rk-online-cta" aria-labelledby="rk-online-cta-2-title">
        <span class="rk-online-cta-label">Dokumentacja dopasowana do budynku</span>
        <h2 id="rk-online-cta-2-title">Prześlij dane zdalnie i odbierz kompletny projekt w formie elektronicznej</h2>
        <p>Na stronie produktu zobaczysz bieżącą cenę, zakres powierzchni oraz dostępny termin. Po zamówieniu otrzymasz ankietę umożliwiającą przekazanie danych i rzutów.</p>
        <div class="rk-online-cta-actions">
          <a class="rk-online-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Przejdź do zamówienia projektu</a>
          <a class="rk-online-cta-secondary" href="https://wa.me/48794358367">WhatsApp: +48 794 358 367</a>
        </div>
      </aside>

      <section class="rk-online-section" id="rk-online-faq" aria-labelledby="rk-online-s9">
        <div class="rk-online-section-head">
          <div class="rk-online-section-no">9</div>
          <div>
            <h2 id="rk-online-s9">Projekt ogrzewania podłogowego online – FAQ</h2>
            <p>Najważniejsze odpowiedzi dotyczące danych, plików, obliczeń, dokumentacji PDF i współpracy zdalnej.</p>
          </div>
        </div>

        <div class="rk-online-faq">
          <details id="rk-online-faq-1"><summary>Czy projekt ogrzewania podłogowego wykonany online jest pełnowartościowy?</summary><p>Tak. Sposób przesłania danych nie ogranicza zakresu technicznego opracowania. Pełnowartościowy projekt online może zawierać obliczenia OZC, rysunek pętli, parametry zasilania, analizę hydrauliczną, nastawy przepływów i zestawienie materiałowe. O jakości decydują dane i obliczenia, a nie spotkanie stacjonarne.</p></details>
          <details id="rk-online-faq-2"><summary>Jakie pliki można przesłać do wykonania projektu online?</summary><p>Najczęściej wystarczą czytelne rzuty w formacie PDF, JPG lub DWG. Pliki muszą zawierać wymiary albo skalę pozwalającą odtworzyć geometrię pomieszczeń. W przypadku zmian warto przesłać oryginalny rzut i osobną kopię z naniesionym stanem planowanym.</p></details>
          <details id="rk-online-faq-3"><summary>Czy zdjęcie papierowego rzutu może wystarczyć?</summary><p>Czytelne zdjęcie lub skan może wystarczyć do wstępnej weryfikacji, jeżeli kartka jest sfotografowana prostopadle, wszystkie wymiary są widoczne, a obraz nie jest zniekształcony. Gdy brakuje wymiarów albo skali, poprosimy o ich uzupełnienie.</p></details>
          <details id="rk-online-faq-4"><summary>Czy do projektu online potrzebny jest plik DWG?</summary><p>Nie zawsze. DWG ułatwia pracę, ale dokumentację można przygotować również na podstawie poprawnego pliku PDF lub czytelnego rzutu graficznego. Najważniejsze są kompletne wymiary i zgodność rzutu z planowanym układem budynku.</p></details>
          <details id="rk-online-faq-5"><summary>Jak przekazać zmiany względem projektu architektonicznego?</summary><p>Najbezpieczniej wysłać dwie wersje: oryginalny rzut oraz jego kopię z wyraźnie zaznaczonymi zmianami i aktualnymi wymiarami. Oznaczenia można wykonać na wydruku lub w prostym programie graficznym, pod warunkiem że pozostają czytelne.</p></details>
          <details id="rk-online-faq-6"><summary>Czy projekt online jest generowany automatycznie przez program?</summary><p>Nie. Programy wspierają obliczenia i rysowanie, ale indywidualny projekt wymaga weryfikacji danych, przyjęcia założeń, analizy cieplnej i hydraulicznej oraz dopasowania pętli do konkretnego rzutu. Słowo „online” opisuje zdalny sposób współpracy.</p></details>
          <details id="rk-online-faq-7"><summary>Czy dokumentacja online zawiera obliczenia OZC?</summary><p>Tak, jeśli taki zakres obejmuje zamówiona usługa. OZC określa straty ciepła budynku i pomieszczeń, a jego wyniki są podstawą doboru mocy podłogi, rozstawów rur, temperatury zasilania i wymaganych przepływów.</p></details>
          <details id="rk-online-faq-8"><summary>Czy plik PDF wystarczy instalatorowi do wykonania podłogówki?</summary><p>Tak, jeżeli PDF zawiera czytelne rzuty pętli, ich długości, rozstawy, przypisanie do rozdzielaczy, parametry pracy i wymagane przepływy. Dokument można wyświetlić na ekranie lub wydrukować w potrzebnej skali.</p></details>
          <details id="rk-online-faq-9"><summary>Czy po otrzymaniu projektu można wprowadzić poprawki?</summary><p>Możliwość i zakres korekty zależą od rodzaju zmiany. Poprawienie opisu różni się od przesunięcia rozdzielacza, zmiany układu ścian lub rodzaju podłogi, ponieważ takie decyzje mogą wpływać na obliczenia i hydraulikę. Zmiany należy zgłosić przed montażem instalacji.</p></details>
          <details id="rk-online-faq-10"><summary>Gdzie można sprawdzić aktualną cenę projektu?</summary><p>Aktualna cena, wariant powierzchni, liczba kondygnacji i dostępny czas realizacji znajdują się na stronie produktu. Dzięki temu informacje handlowe są aktualizowane w jednym miejscu, a artykuł pozostaje poradnikiem o przebiegu współpracy online.</p></details>
          <details id="rk-online-faq-11"><summary>Czy projekt zamówiony online może zostać rozliczony przy zakupie materiałów?</summary><p>Tak. Zasady pełnego lub proporcjonalnego odliczenia wartości dokumentacji są opisane na osobnej stronie dotyczącej darmowego projektu przy zakupie materiałów. Samo wykonanie projektu online nie zobowiązuje do zakupu materiałów.</p></details>
        </div>
      </section>

      <section class="rk-online-summary" aria-labelledby="rk-online-summary-title">
        <h2 id="rk-online-summary-title">Online zmienia sposób współpracy, ale nie zastępuje obliczeń</h2>
        <p><strong>Dobry projekt wykonywany zdalnie zaczyna się od danych budynku, a kończy dokumentacją, którą instalator może rzeczywiście wykorzystać.</strong> Pomiędzy tymi etapami muszą znaleźć się weryfikacja rzutów, OZC, dobór parametrów podłogi, podział na pętle i kontrola hydrauliki.</p>
        <p>Jeżeli przygotujesz czytelne rzuty, opis izolacji, okien, wentylacji, posadzek i źródła ciepła, cały proces można przeprowadzić bez spotkania stacjonarnego. Otrzymany PDF pozostaje trwałym elementem dokumentacji technicznej budynku i punktem odniesienia podczas montażu oraz regulacji instalacji.</p>
      </section>

      <div class="rk-online-conditions" aria-label="Kontakt w sprawie projektu wykonywanego online">
        <strong>Kontakt i weryfikacja dokumentów</strong>
        Jeśli nie masz pewności, czy rzuty są wystarczające, skontaktuj się przed zamówieniem. Telefon:
        <a href="tel:+48783212175">+48 783 212 175</a>. WhatsApp:
        <a href="https://wa.me/48794358367">+48 794 358 367</a>.
        Aktualny zakres i warianty usługi znajdują się wyłącznie na stronie produktu.
      </div>

      <aside class="rk-online-author-bio" aria-labelledby="rk-online-author-title" itemprop="author" itemscope itemtype="https://schema.org/Person">
        <div class="rk-online-bio-head">
          <div><h2 id="rk-online-author-title">Autor opracowania</h2><p>Praktyka projektowa, obliczenia techniczne i dokumentacja przygotowywana dla inwestorów w całej Polsce.</p></div>
          <div class="rk-online-bio-badge">E‑E‑A‑T • HVAC</div>
        </div>

        <div class="rk-online-bio-grid">
          <div class="rk-online-bio-profile">
            <img decoding="async" class="rk-online-bio-photo" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski – specjalista systemów HVAC i ogrzewania podłogowego" width="300" height="300" loading="lazy" itemprop="image">
            <h3 class="rk-online-bio-name" itemprop="name">Robert Kucharski</h3>
            <div class="rk-online-bio-title" itemprop="jobTitle">Specjalista systemów HVAC i ogrzewania podłogowego</div>
            <div class="rk-online-bio-links">
              <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="me nofollow noopener">Facebook</a>
              <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="me nofollow noopener">LinkedIn</a>
              <a href="https://projekt-ogrzewania.pl/author/admin3399/" rel="author">Profil autora</a>
            </div>
          </div>

          <div class="rk-online-bio-content">
            <div class="rk-online-bio-quote">
              <span class="rk-online-bio-quote-mark" aria-hidden="true">“</span>
              <p>Projektowanie online działa wtedy, gdy po drugiej stronie nie ma automatu, lecz człowiek, który sprawdza rzuty, wychwytuje braki i łączy obliczenia z realiami budowy. Internet skraca drogę dokumentów, ale nie może skracać drogi od danych do poprawnego wyniku.</p>
            </div>

            <div class="rk-online-bio-tabs" role="tablist" aria-label="Informacje o autorze">
              <button class="rk-online-bio-tab" id="rk-online-bio-tab-about" type="button" role="tab" aria-selected="true" aria-controls="rk-online-bio-about">O autorze</button>
              <button class="rk-online-bio-tab" id="rk-online-bio-tab-exp" type="button" role="tab" aria-selected="false" aria-controls="rk-online-bio-exp" tabindex="-1">Doświadczenie</button>
              <button class="rk-online-bio-tab" id="rk-online-bio-tab-portals" type="button" role="tab" aria-selected="false" aria-controls="rk-online-bio-portals" tabindex="-1">Portale</button>
            </div>

            <div class="rk-online-bio-panel" id="rk-online-bio-about" role="tabpanel" aria-labelledby="rk-online-bio-tab-about">
              <p itemprop="description">Specjalizuję się w projektowaniu systemów HVAC, ze szczególnym uwzględnieniem wodnego ogrzewania podłogowego, obliczeń obciążenia cieplnego oraz hydrauliki instalacji. Dokumentacja ma być poprawna obliczeniowo, czytelna dla inwestora i możliwa do wykonania na budowie.</p>
            </div>
            <div class="rk-online-bio-panel" id="rk-online-bio-exp" role="tabpanel" aria-labelledby="rk-online-bio-tab-exp" hidden>
              <p>W pracy wykorzystuję doświadczenie z dokumentacji projektowej, analiz OZC, doboru temperatur zasilania, przepływów, rozdzielaczy i źródeł ciepła. Zdalny model współpracy pozwala obsługiwać inwestycje w całej Polsce bez rezygnowania z indywidualnej analizy budynku.</p>
              <div class="rk-online-bio-stats">
                <div class="rk-online-bio-stat"><b>1000+</b><span>projektów i analiz OZC</span></div>
                <div class="rk-online-bio-stat"><b>Cała Polska</b><span>dokumentacja przekazywana online</span></div>
              </div>
            </div>
            <div class="rk-online-bio-panel" id="rk-online-bio-portals" role="tabpanel" aria-labelledby="rk-online-bio-tab-portals" hidden>
              <p>Tworzę i rozwijam serwisy, w których wiedza techniczna pomaga podejmować lepsze decyzje budowlane: <a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a>, <a href="https://remont.biz.pl/" target="_blank" rel="me nofollow noopener">Remont.biz.pl</a> oraz <a href="https://sobir.pl/" target="_blank" rel="me nofollow noopener">Sobir.pl</a>. Publikuję również na <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="me nofollow noopener">Facebooku</a> i <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="me nofollow noopener">LinkedInie</a>.</p>
            </div>
          </div>
        </div>
      </aside>
    </div>
  </div>
</article>

<script>
  (function () {
    "use strict";

    var root = document.getElementById("rk-projekt-online");
    if (!root) return;

    function createTabs(buttonSelector, panelSelector) {
      var buttons = Array.prototype.slice.call(root.querySelectorAll(buttonSelector));
      var panels = Array.prototype.slice.call(root.querySelectorAll(panelSelector));
      if (!buttons.length || buttons.length !== panels.length) return;

      function activate(index, moveFocus) {
        buttons.forEach(function (button, buttonIndex) {
          var selected = buttonIndex === index;
          button.setAttribute("aria-selected", selected ? "true" : "false");
          button.tabIndex = selected ? 0 : -1;
          panels[buttonIndex].hidden = !selected;
        });
        if (moveFocus) buttons[index].focus();
      }

      buttons.forEach(function (button, index) {
        button.addEventListener("click", function () { activate(index, false); });
        button.addEventListener("keydown", function (event) {
          var nextIndex = index;
          if (event.key === "ArrowRight" || event.key === "ArrowDown") nextIndex = (index + 1) % buttons.length;
          if (event.key === "ArrowLeft" || event.key === "ArrowUp") nextIndex = (index - 1 + buttons.length) % buttons.length;
          if (event.key === "Home") nextIndex = 0;
          if (event.key === "End") nextIndex = buttons.length - 1;
          if (nextIndex !== index) {
            event.preventDefault();
            activate(nextIndex, true);
          }
        });
      });
    }

    createTabs(".rk-online-bio-tab", ".rk-online-bio-panel");

    var checker = root.querySelector("[data-rk-checker]");
    if (checker) {
      var checks = Array.prototype.slice.call(checker.querySelectorAll('input[type="checkbox"]'));
      var score = checker.querySelector("[data-rk-score]");
      var title = checker.querySelector("[data-rk-score-title]");
      var description = checker.querySelector("[data-rk-score-text]");

      function updateChecker() {
        var completed = checks.filter(function (input) { return input.checked; }).length;
        if (score) score.textContent = completed + "/" + checks.length;
        if (!title || !description) return;

        if (completed <= 2) {
          title.textContent = "Przygotuj podstawowe materiały";
          description.textContent = "Zacznij od rzutów z wymiarami. Pozostałe informacje można później uzupełnić w ankiecie.";
        } else if (completed <= 4) {
          title.textContent = "Można rozpocząć wstępną weryfikację";
          description.textContent = "Masz już ważną część danych. Brakujące parametry wskażemy przed rozpoczęciem obliczeń.";
        } else {
          title.textContent = "Zestaw danych jest prawie kompletny";
          description.textContent = "Dokumenty można przekazać do kontroli. Ostateczną kompletność potwierdzi projektant po sprawdzeniu plików.";
        }
      }

      checks.forEach(function (input) { input.addEventListener("change", updateChecker); });
      updateChecker();
    }

    var progress = root.querySelector(".rk-online-progress");
    var ticking = false;

    function updateProgress() {
      if (!progress) return;
      var rootTop = root.getBoundingClientRect().top + window.pageYOffset;
      var travel = Math.max(root.offsetHeight - window.innerHeight, 1);
      var value = Math.min(Math.max((window.pageYOffset - rootTop) / travel, 0), 1);
      progress.style.width = (value * 100).toFixed(2) + "%";
      ticking = false;
    }

    function requestProgressUpdate() {
      if (ticking) return;
      ticking = true;
      window.requestAnimationFrame(updateProgress);
    }

    window.addEventListener("scroll", requestProgressUpdate, { passive: true });
    window.addEventListener("resize", requestProgressUpdate, { passive: true });
    updateProgress();
  }());
</script>

<!--
  Yoast generuje dane Article, WebPage, Person, Organization i BreadcrumbList.
  Poniższy blok dodaje wyłącznie pytania widoczne w treści i nie tworzy
  konkurencyjnej encji Product ani Offer.
-->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Czy projekt ogrzewania podłogowego wykonany online jest pełnowartościowy?",
      "acceptedAnswer": {"@type": "Answer", "text": "Tak. Sposób przesłania danych nie ogranicza zakresu technicznego opracowania. Pełnowartościowy projekt online może zawierać obliczenia OZC, rysunek pętli, parametry zasilania, analizę hydrauliczną, nastawy przepływów i zestawienie materiałowe. O jakości decydują dane i obliczenia, a nie spotkanie stacjonarne."}
    },
    {
      "@type": "Question",
      "name": "Jakie pliki można przesłać do wykonania projektu online?",
      "acceptedAnswer": {"@type": "Answer", "text": "Najczęściej wystarczą czytelne rzuty w formacie PDF, JPG lub DWG. Pliki muszą zawierać wymiary albo skalę pozwalającą odtworzyć geometrię pomieszczeń. W przypadku zmian warto przesłać oryginalny rzut i osobną kopię z naniesionym stanem planowanym."}
    },
    {
      "@type": "Question",
      "name": "Czy zdjęcie papierowego rzutu może wystarczyć?",
      "acceptedAnswer": {"@type": "Answer", "text": "Czytelne zdjęcie lub skan może wystarczyć do wstępnej weryfikacji, jeżeli kartka jest sfotografowana prostopadle, wszystkie wymiary są widoczne, a obraz nie jest zniekształcony. Gdy brakuje wymiarów albo skali, poprosimy o ich uzupełnienie."}
    },
    {
      "@type": "Question",
      "name": "Czy do projektu online potrzebny jest plik DWG?",
      "acceptedAnswer": {"@type": "Answer", "text": "Nie zawsze. DWG ułatwia pracę, ale dokumentację można przygotować również na podstawie poprawnego pliku PDF lub czytelnego rzutu graficznego. Najważniejsze są kompletne wymiary i zgodność rzutu z planowanym układem budynku."}
    },
    {
      "@type": "Question",
      "name": "Jak przekazać zmiany względem projektu architektonicznego?",
      "acceptedAnswer": {"@type": "Answer", "text": "Najbezpieczniej wysłać dwie wersje: oryginalny rzut oraz jego kopię z wyraźnie zaznaczonymi zmianami i aktualnymi wymiarami. Oznaczenia można wykonać na wydruku lub w prostym programie graficznym, pod warunkiem że pozostają czytelne."}
    },
    {
      "@type": "Question",
      "name": "Czy projekt online jest generowany automatycznie przez program?",
      "acceptedAnswer": {"@type": "Answer", "text": "Nie. Programy wspierają obliczenia i rysowanie, ale indywidualny projekt wymaga weryfikacji danych, przyjęcia założeń, analizy cieplnej i hydraulicznej oraz dopasowania pętli do konkretnego rzutu. Słowo „online” opisuje zdalny sposób współpracy."}
    },
    {
      "@type": "Question",
      "name": "Czy dokumentacja online zawiera obliczenia OZC?",
      "acceptedAnswer": {"@type": "Answer", "text": "Tak, jeśli taki zakres obejmuje zamówiona usługa. OZC określa straty ciepła budynku i pomieszczeń, a jego wyniki są podstawą doboru mocy podłogi, rozstawów rur, temperatury zasilania i wymaganych przepływów."}
    },
    {
      "@type": "Question",
      "name": "Czy plik PDF wystarczy instalatorowi do wykonania podłogówki?",
      "acceptedAnswer": {"@type": "Answer", "text": "Tak, jeżeli PDF zawiera czytelne rzuty pętli, ich długości, rozstawy, przypisanie do rozdzielaczy, parametry pracy i wymagane przepływy. Dokument można wyświetlić na ekranie lub wydrukować w potrzebnej skali."}
    },
    {
      "@type": "Question",
      "name": "Czy po otrzymaniu projektu można wprowadzić poprawki?",
      "acceptedAnswer": {"@type": "Answer", "text": "Możliwość i zakres korekty zależą od rodzaju zmiany. Poprawienie opisu różni się od przesunięcia rozdzielacza, zmiany układu ścian lub rodzaju podłogi, ponieważ takie decyzje mogą wpływać na obliczenia i hydraulikę. Zmiany należy zgłosić przed montażem instalacji."}
    },
    {
      "@type": "Question",
      "name": "Gdzie można sprawdzić aktualną cenę projektu?",
      "acceptedAnswer": {"@type": "Answer", "text": "Aktualna cena, wariant powierzchni, liczba kondygnacji i dostępny czas realizacji znajdują się na stronie produktu. Dzięki temu informacje handlowe są aktualizowane w jednym miejscu, a artykuł pozostaje poradnikiem o przebiegu współpracy online."}
    },
    {
      "@type": "Question",
      "name": "Czy projekt zamówiony online może zostać rozliczony przy zakupie materiałów?",
      "acceptedAnswer": {"@type": "Answer", "text": "Tak. Zasady pełnego lub proporcjonalnego odliczenia wartości dokumentacji są opisane na osobnej stronie dotyczącej darmowego projektu przy zakupie materiałów. Samo wykonanie projektu online nie zobowiązuje do zakupu materiałów."}
    }
  ]
}
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/">Projekt ogrzewania podłogowego online.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Strefy klimatyczne w Polsce a ogrzewanie podłogowe i OZC: Dlaczego błąd o jedną strefę klimatyczną kosztuje Cię 6000 zł rocznie?</title>
		<link>https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/</link>
					<comments>https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#respond</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 01 Aug 2026 10:12:32 +0000</pubDate>
				<category><![CDATA[Bilans energetyczny budynku]]></category>
		<category><![CDATA[Normy budowlane]]></category>
		<category><![CDATA[Normy i standardy]]></category>
		<category><![CDATA[Normy techniczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[OZC]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Strefy klimatyczne]]></category>
		<category><![CDATA[dobór mocy pompy ciepła]]></category>
		<category><![CDATA[norma pn-en 12831]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[ozc budynku]]></category>
		<category><![CDATA[projektowa temperatura zewnętrzna]]></category>
		<category><![CDATA[przepływ masowy czynnika]]></category>
		<category><![CDATA[rozstaw rur podłogówki]]></category>
		<category><![CDATA[straty ciepła przez przenikanie]]></category>
		<category><![CDATA[strefa brzegowa podłogówki]]></category>
		<category><![CDATA[strefy klimatyczne w polsce]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=6932</guid>

					<description><![CDATA[<p>Planujesz budowę domu lub wymianę instalacji grzewczej i rozważasz zakup uniwersalnego projektu z internetu? Uważaj na pułapki techniczne, które mogą zrujnować Twój budżet eksploatacyjny. Prawidłowo skalkulowane strefy klimatyczne w Polsce a ogrzewanie podłogowe i OZC to absolutny fundament, od którego zależy nie tylko komfort cieplny w czasie siarczystych mrozów, ale także sprawność i żywotność Twojej pompy ciepła. W tym kompleksowym opracowaniu inżynierskim poddajemy szczegółowej analizie wszystkie normy budowlane (PN-EN 12831 oraz PN-82/B-02403), pokazujemy bezlitosne wyliczenia hydrauliczne, algorytmy przepływu masowego oraz udostępniamy interaktywne kalkulatory, które uchronią Cię przed koszmarnymi błędami wykonawczymi.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/">Strefy klimatyczne w Polsce a ogrzewanie podłogowe i OZC: Dlaczego błąd o jedną strefę klimatyczną kosztuje Cię 6000 zł rocznie?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-blue: #0284c7;
    --rk-intro-sky: #e0f2fe;
    --rk-intro-red: #ef4444;
    --rk-intro-red-light: #fef2f2;
    --rk-intro-green: #10b981;
    --rk-intro-gray: #64748b;
    --rk-intro-bg: #f8fafc;
    --rk-intro-border: #cbd5e1;
    --rk-intro-gold: #f59e0b;
}

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

/* Sekcja Hooka - Mocne Otwarcie */
.rk-intro-hero {
    background: var(--rk-intro-dark);
    padding: 45px 50px;
    color: #ffffff;
    border-bottom: 5px solid var(--rk-intro-red);
}

.rk-intro-badge-alert {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--rk-intro-red);
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.rk-intro-hero h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 20px 0;
    line-height: 1.2;
    color: #ffffff;
}

.rk-intro-hero-lead {
    font-size: 18px;
    color: #cbd5e1;
    line-height: 1.6;
    margin: 0;
    border-left: 4px solid var(--rk-intro-blue);
    padding-left: 20px;
}

.rk-intro-hero-lead strong {
    color: var(--rk-intro-gold);
}

/* Szybka Odpowiedź (Featured Snippet Box) */
.rk-intro-quick-answer {
    background: var(--rk-intro-sky);
    padding: 30px 50px;
    border-bottom: 1px solid var(--rk-intro-border);
}

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

.rk-intro-qa-text {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-intro-dark);
    font-weight: 700;
    margin: 0;
}

.rk-intro-qa-text a {
    color: var(--rk-intro-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Interaktywny Moduł Ostrzegawczy */
.rk-intro-interactive {
    padding: 40px 50px;
    background: var(--rk-intro-bg);
}

.rk-intro-interactive-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    text-align: center;
    margin-bottom: 25px;
}

.rk-intro-decision-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 25px;
}

.rk-intro-btn {
    padding: 20px;
    background: #ffffff;
    border: 2px solid var(--rk-intro-border);
    border-radius: 8px;
    cursor: pointer;
    text-align: center;
    transition: all 0.3s;
}

.rk-intro-btn.active[data-type="bad"] {
    background: var(--rk-intro-red-light);
    border-color: var(--rk-intro-red);
}

.rk-intro-btn.active[data-type="good"] {
    background: var(--rk-intro-sky);
    border-color: var(--rk-intro-blue);
}

.rk-intro-btn-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px auto;
    background: #f1f5f9;
    color: var(--rk-intro-gray);
    transition: all 0.3s;
}

.rk-intro-btn.active[data-type="bad"] .rk-intro-btn-icon { background: var(--rk-intro-red); color: #ffffff; }
.rk-intro-btn.active[data-type="good"] .rk-intro-btn-icon { background: var(--rk-intro-blue); color: #ffffff; }

.rk-intro-btn h3 { margin: 0 0 5px 0; font-size: 16px; font-weight: 900; color: var(--rk-intro-dark); }
.rk-intro-btn p { margin: 0; font-size: 13px; color: var(--rk-intro-gray); }

/* Panele Wynikowe */
.rk-intro-panel {
    display: none;
    background: #ffffff;
    border: 1px solid var(--rk-intro-border);
    border-radius: 8px;
    padding: 30px;
}

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

.rk-intro-panel-content {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
}

.rk-intro-panel-content strong {
    color: var(--rk-intro-dark);
}

.rk-intro-alert-box {
    margin-top: 20px;
    padding: 15px 20px;
    background: var(--rk-intro-red-light);
    border-left: 4px solid var(--rk-intro-red);
    color: var(--rk-intro-red);
    font-weight: 800;
    font-size: 14px;
}

/* Zmodyfikowana Informacja o narzędziach (HooK) */
.rk-intro-tools-notice {
    background: #1e293b;
    color: #ffffff;
    padding: 25px 50px;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    border-top: 2px solid var(--rk-intro-blue);
}

.rk-intro-tools-icon {
    color: var(--rk-intro-gold);
    background: rgba(245, 158, 11, 0.1);
    padding: 10px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-intro-tools-text {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
    color: #cbd5e1;
}

.rk-intro-tools-text span {
    display: block;
    color: #ffffff;
    font-size: 16px;
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 5px;
    letter-spacing: 0.5px;
}

.rk-intro-tools-text strong {
    color: var(--rk-intro-sky);
    font-weight: 800;
}

@media (max-width: 768px) {
    .rk-intro-hero, .rk-intro-quick-answer, .rk-intro-interactive, .rk-intro-tools-notice { padding: 30px 20px; }
    .rk-intro-hero h2 { font-size: 26px; }
    .rk-intro-decision-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-intro-tools-notice { flex-direction: column; text-align: center; align-items: center; }
}
</style>

<!-- Invisible Data JSON-LD -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/"
    },
    "headline": "Strefy klimatyczne w Polsce a ogrzewanie podłogowe i OZC: Dlaczego błąd o jedną strefę kosztuje Cię 6000 zł rocznie?",
    "description": "Zrozumienie podziału na 5 stref klimatycznych Polski według norm PN-82/B-02403 i PN-EN 12831. Sprawdź, jak błędna lokalizacja projektu niszczy OZC i podbija rachunki.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-01",
    "dateModified": "2026-08-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#dataset-wstep",
    "name": "Wpływ błędu strefy klimatycznej na parametry ogrzewania",
    "description": "Zestawienie porównawcze strat ciepła i kosztów dla błędnego przypisania strefy klimatycznej w dokumentacji projektowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "strefy klimatyczne w Polsce mapa",
      "zapotrzebowanie na moc grzewczą OZC",
      "norma PN-EN 12831 projektowa temperatura",
      "źle dobrana pompa ciepła koszty",
      "uniwersalny projekt domu wady ogrzewanie"
    ],
    "measurementTechnique": "Określenie wpływu zmiany strefy klimatycznej (np. strefa II vs strefa V) na zaniżenie mocy urządzenia grzewczego i wzrost kosztów prądu o 6000 zł rocznie.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Różnica w obliczeniach dla Poznania (strefa II) i Suwałk (strefa V) wynosi 6 K.",
        "Zignorowanie różnicy powoduje zaniżenie zapotrzebowania OZC o 18-25%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#webapp-wstep",
    "name": "Kalkulator Ryzyka Inwestycyjnego",
    "description": "Interaktywny moduł ostrzegawczy na starcie artykułu prezentujący finansowe konsekwencje kopiowania gotowych projektów bez adaptacji klimatycznej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="rkIntroHero">
    
    <!-- Hero / Hook -->
    <div class="rk-intro-hero">
        <div class="rk-intro-badge-alert">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Błąd wart tysiące złotych
        </div>
        <h2>Strefy klimatyczne w Polsce a ogrzewanie podłogowe i OZC: Dlaczego błąd o jedną strefę kosztuje Cię 6000 zł rocznie?</h2>
        <p class="rk-intro-hero-lead">
            Każdy inwestor budujący dom staje przed dramatycznym wyborem: zaprojektować instalację rzetelnie pod realną lokalizację czy zdać się na &#8222;uniwersalny&#8221; projekt z katalogu. Jako specjalista z <strong>ponad 1000 zrealizowanych projektów</strong> pokażę Ci bezlitosną matematykę, która demaskuje największe kłamstwo branży instalacyjnej.
        </p>
    </div>

    <!-- Szybka Odpowiedź -->
    <div class="rk-intro-quick-answer">
        <div class="rk-intro-qa-title">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></svg>
            Szybka odpowiedź specjalisty
        </div>
        <p class="rk-intro-qa-text">
            Strefy klimatyczne w Polsce to urzędowy podział terytorium kraju na <strong>5 stref</strong> (według norm PN-82/B-02403 oraz <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">PN-EN 12831</a>), określający minimalne temperatury projektowe z zewnątrz (od -16 st. C do -24 st. C). Bezpośrednio decydują one o mocy źródła ciepła (OZC) oraz wymuszają odpowiednią gęstość układu rur w posadzce.
        </p>
    </div>

    <!-- Interaktywny Moduł Zrozumienia -->
    <div class="rk-intro-interactive">
        <div class="rk-intro-interactive-title">Symulacja Ostrzegawcza: Poznań vs Suwałki</div>
        
        <div class="rk-intro-decision-grid">
            <button class="rk-intro-btn active" data-target="panel-bad" data-type="bad">
                <div class="rk-intro-btn-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="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg>
                </div>
                <h3>Gotowiec z internetu</h3>
                <p>Dom budowany &#8222;w ciemno&#8221;</p>
            </button>
            <button class="rk-intro-btn" data-target="panel-good" data-type="good">
                <div class="rk-intro-btn-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="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                <h3>Rzetelna inżynieria</h3>
                <p>Audyt strefy lokalnej</p>
            </button>
        </div>

        <div class="rk-intro-panel active" id="panel-bad">
            <div class="rk-intro-panel-content">
                Gdy kupujesz projekt wykonany dla łagodnej strefy II (-18 st. C), a budujesz dom na Suwalszczyźnie w strefie V (-24 st. C), różnica temperatury obliczeniowej wynosi <strong>aż 6 K</strong>.
                <div class="rk-intro-alert-box">
                    Zapotrzebowanie na moc grzewczą (OZC) zostaje natychmiast zaniżone o 18% do 25%. Zimą pompa ciepła nie daje rady, włącza drogą grzałkę, a Ty płacisz wyższe rachunki o 6000 zł rocznie.
                </div>
            </div>
        </div>

        <div class="rk-intro-panel" id="panel-good">
            <div class="rk-intro-panel-content">
                Wykonywanie precyzyjnego obliczenia strefowego sprawia, że rury układane są w odpowiednim zagęszczeniu (często co 10 cm, a nie uniwersalne 15 cm), a <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">wynik z kalkulatora strat ciepła</a> idealnie dobiera moc kompresora. Dom zużywa minimum prądu nawet przy siarczystych mrozach.
            </div>
        </div>
    </div>

    <!-- Informacja Nawigacyjna (Mocny Hook Dół) -->
    <div class="rk-intro-tools-notice">
        <div class="rk-intro-tools-icon">
            <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 9.36l-7.1 7.1a1 1 0 0 1-1.4 0l-2.83-2.83a1 1 0 0 1 0-1.4l7.1-7.1a6 6 0 0 1 9.36-7.94l-3.77 3.77z"></path></svg>
        </div>
        <div class="rk-intro-tools-text">
            <span>🔥 BONUS NA SAMYM DOLE ARTYKUŁU</span>
            Przygotowaliśmy dla Ciebie unikalną <strong>Wyszukiwarkę Miejscowości</strong>. Przewiń ten poradnik do samego końca, wpisz swoje miasto i natychmiast sprawdź dedykowaną strefę klimatyczną, zalecany rozstaw rur, dokładne OZC oraz rekomendację dla Twojego projektu instalacji. Nie przegap tego!
        </div>
    </div>

</div>

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

    // Brak operatorów logicznych and/or w pętlach i logice
    for (var i = 0; i < btns.length; i++) {
        btns[i].addEventListener('click', function() {
            var target = this.getAttribute('data-target');

            // Usuwanie klas active
            for (var j = 0; j < btns.length; j++) {
                btns[j].classList.remove('active');
            }
            for (var k = 0; k < panels.length; k++) {
                panels[k].classList.remove('active');
            }

            // Dodawanie klas active (natychmiastowe zmiany widoczności)
            this.classList.add('active');
            
            var targetPanel = document.getElementById(target);
            if (targetPanel !== null) {
                targetPanel.classList.add('active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-map-dark: #0f172a;
    --rk-map-blue: #0284c7;
    --rk-map-sky: #e0f2fe;
    --rk-map-ice: #bae6fd;
    --rk-map-cold: #3b82f6;
    --rk-map-freeze: #1e3a8a;
    --rk-map-bg: #f8fafc;
    --rk-map-border: #cbd5e1;
    --rk-map-text: #475569;
}

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

.rk-map-header {
    background: var(--rk-map-dark);
    padding: 35px 45px;
    border-bottom: 4px solid var(--rk-map-cold);
    text-align: center;
}

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

.rk-map-header p {
    color: #94a3b8;
    font-size: 15px;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 800px;
}

/* Układ główny - Sidebar na desktopie, pionowo na mobile */
.rk-map-dashboard {
    display: grid;
    grid-template-columns: 280px 1fr;
    background: var(--rk-map-bg);
}

/* Lewa kolumna: Lista stref */
.rk-map-sidebar {
    background: #ffffff;
    padding: 25px;
    border-right: 1px solid var(--rk-map-border);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-map-btn {
    width: 100%;
    text-align: left;
    padding: 16px 20px;
    background: #ffffff;
    border: 2px solid var(--rk-map-border);
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.3s ease;
}

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

.rk-map-btn.active {
    background: var(--rk-map-cold);
    border-color: var(--rk-map-cold);
    color: #ffffff;
    box-shadow: 0 8px 15px -3px rgba(59, 130, 246, 0.3);
}

.rk-map-btn-name {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-map-dark);
    transition: color 0.3s;
}

.rk-map-btn.active .rk-map-btn-name {
    color: #ffffff;
}

.rk-map-btn-temp {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-map-cold);
    background: var(--rk-map-ice);
    padding: 4px 10px;
    border-radius: 6px;
    transition: all 0.3s;
}

.rk-map-btn.active .rk-map-btn-temp {
    background: #ffffff;
    color: var(--rk-map-cold);
}

/* Prawa kolumna: Dynamiczny Content */
.rk-map-content {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-map-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 35px;
    box-shadow: 0 10px 30px -5px rgba(0,0,0,0.06);
    border: 1px solid var(--rk-map-border);
    position: relative;
    overflow: hidden;
}

.rk-map-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: var(--rk-map-cold);
    transition: background 0.4s;
}

.rk-map-card-top {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--rk-map-border);
}

.rk-map-thermometer {
    width: 50px;
    height: 50px;
    background: var(--rk-map-sky);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-map-cold);
    flex-shrink: 0;
}

.rk-map-card-title {
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-map-text);
    margin-bottom: 5px;
    letter-spacing: 0.5px;
}

.rk-map-card-value {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-map-dark);
}

.rk-map-card-value span {
    font-size: 16px;
    color: var(--rk-map-text);
}

.rk-map-details {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-map-text);
}

.rk-map-details strong {
    color: var(--rk-map-dark);
}

.rk-map-warning {
    margin-top: 25px;
    padding: 20px;
    background: var(--rk-map-sky);
    border-left: 4px solid var(--rk-map-cold);
    border-radius: 0 8px 8px 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-map-dark);
}

.rk-map-warning a {
    color: var(--rk-map-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-map-blue);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-map-dashboard { grid-template-columns: 1fr; }
    .rk-map-sidebar { border-right: none; border-bottom: 1px solid var(--rk-map-border); padding: 20px; }
    .rk-map-content { padding: 20px; }
    .rk-map-header { padding: 25px 20px; }
    .rk-map-header h2 { font-size: 22px; }
    .rk-map-card { padding: 25px; }
}
</style>

<!-- Invisible Data JSON-LD -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#article-5-stref",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/"
    },
    "headline": "5 stref klimatycznych w Polsce według norm PN-82/B-02403 i PN-EN 12831",
    "description": "Interaktywny wykaz 5 stref klimatycznych Polski przypisujących projektowe temperatury zewnętrzne od -16 do -24 st. C do poszczególnych regionów geograficznych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-01",
    "dateModified": "2026-08-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#dataset-5-stref",
    "name": "Tabela 5 stref klimatycznych Polski (PN-EN 12831)",
    "description": "Baza temperatur zewnętrznych używana do projektowania bilansu cieplnego budynków w Polsce, oparta na historycznych i obecnych normach zharmonizowanych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podział Polski na strefy klimatyczne normy",
      "projektowa temperatura zewnętrzna PN-EN 12831",
      "temperatura obliczeniowa dla strefy górskiej",
      "strefy klimatyczne a projekt ogrzewania podłogowego",
      "polski biegun zimna OZC"
    ],
    "measurementTechnique": "Klasyfikacja terytorialna na 5 pasów temperaturowych służąca do wymiarowania mocy urządzeń grzewczych (pompy ciepła, kotły).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Strefa I: -16 st. C (obszar nadmorski)",
        "Strefa II: -18 st. C (niziny zachodnie)",
        "Strefa III: -20 st. C (Polska centralna i wschodnia)",
        "Strefa IV: -22 st. C (tereny podwyższone)",
        "Strefa V: -24 st. C (obszary górskie i Suwalszczyzna)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#webapp-5-stref",
    "name": "Interaktywny Wykaz Stref Klimatycznych",
    "description": "Moduł inżynierski umożliwiający szybką lokalizację regionalnej temperatury projektowej bez konieczności wertowania wielostronicowych tabel normatywnych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-map-container" id="rkMapZones">
    <div class="rk-map-header">
        <h2>5 stref klimatycznych w Polsce według norm PN-82/B-02403 i PN-EN 12831</h2>
        <p>Zgodnie z normami technicznymi, terytorium Polski zostało podzielone w zależności od ostrości zimy i uwarunkowań geograficznych. Każdej strefie przypisana jest konkretna projektowa temperatura zewnętrzna, która stanowi absolutną bazę do obliczeń bilansu mocy.</p>
    </div>

    <div class="rk-map-dashboard">
        
        <!-- Lewa kolumna: Nawigacja -->
        <div class="rk-map-sidebar" id="rkZoneNav">
            <button class="rk-map-btn active" data-z="1">
                <span class="rk-map-btn-name">Strefa I</span>
                <span class="rk-map-btn-temp">-16 st. C</span>
            </button>
            <button class="rk-map-btn" data-z="2">
                <span class="rk-map-btn-name">Strefa II</span>
                <span class="rk-map-btn-temp">-18 st. C</span>
            </button>
            <button class="rk-map-btn" data-z="3">
                <span class="rk-map-btn-name">Strefa III</span>
                <span class="rk-map-btn-temp">-20 st. C</span>
            </button>
            <button class="rk-map-btn" data-z="4">
                <span class="rk-map-btn-name">Strefa IV</span>
                <span class="rk-map-btn-temp">-22 st. C</span>
            </button>
            <button class="rk-map-btn" data-z="5">
                <span class="rk-map-btn-name">Strefa V</span>
                <span class="rk-map-btn-temp">-24 st. C</span>
            </button>
        </div>

        <!-- Prawa kolumna: Dynamiczny ekran -->
        <div class="rk-map-content">
            <div class="rk-map-card" id="rkZoneCard">
                <div class="rk-map-card-top">
                    <div class="rk-map-thermometer">
                        <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="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path></svg>
                    </div>
                    <div>
                        <div class="rk-map-card-title">Projektowa temperatura zewnętrzna</div>
                        <div class="rk-map-card-value" id="zValue">-16 <span>st. C</span></div>
                    </div>
                </div>
                
                <div class="rk-map-details">
                    <strong>Przykładowe regiony / charakterystyka:</strong><br>
                    <span id="zRegion">Obszar nadmorski (np. Świnoujście, Kołobrzeg, Gdańsk – pas pobrzeża). Najłagodniejsze warunki projektowe w Polsce wynikające z bliskości ocieplających mas powietrza znad Bałtyku.</span>
                </div>

                <div class="rk-map-warning">
                    Pominięcie precyzyjnego przypisania budynku do odpowiedniej z tych 5 stref skutkuje fundamentalnym błędem w inżynierskich wyliczeniach i wypacza cały <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">profesjonalny projekt instalacji</a>.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Słownik danych - bez użycia zagrażających znaków JS
    var strefy = {
        "1": {
            temp: "-16",
            region: "Obszar nadmorski (np. Świnoujście, Kołobrzeg, Gdańsk – pas pobrzeża). Najłagodniejsze warunki projektowe w Polsce wynikające z bliskości ocieplających mas powietrza znad Bałtyku.",
            color: "#3b82f6"
        },
        "2": {
            temp: "-18",
            region: "Niziny zachodnie i centralno-zachodnie (np. Szczecin, Poznań, Wrocław). Tereny o relatywnie krótkich zimach, gdzie sprawdzają się uniwersalne projekty gotowe.",
            color: "#2563eb"
        },
        "3": {
            temp: "-20",
            region: "Obszary centralne oraz część wschodnia (np. Warszawa, Łódź, Kraków, Podkarpacie – w zależności od lokalizacji nizinnej). Typowe polskie warunki uśrednione.",
            color: "#1d4ed8"
        },
        "4": {
            temp: "-22",
            region: "Tereny podwyższone i wschodnie krańce Polski (np. Białystok, Lublin, Kielce). Obszary narażone na kontynentalne fronty atmosferyczne i silniejsze mrozy.",
            color: "#1e40af"
        },
        "5": {
            temp: "-24",
            region: "Obszary górskie oraz Suwalszczyzna (tzw. polski biegun zimna, np. Suwałki, Zakopane). Ekstremalne warunki wymagające najwyższej precyzji przy projektowaniu OZC i zagęszczaniu pętli.",
            color: "#1e3a8a"
        }
    };

    var buttons = document.querySelectorAll('.rk-map-btn');
    var elValue = document.getElementById('zValue');
    var elRegion = document.getElementById('zRegion');
    var card = document.getElementById('rkZoneCard');

    for (var i = 0; i < buttons.length; i++) {
        buttons[i].addEventListener('click', function() {
            var zoneKey = this.getAttribute('data-z');
            var data = strefy[zoneKey];

            // Czyszczenie klas aktywnych
            for (var j = 0; j < buttons.length; j++) {
                buttons[j].classList.remove('active');
            }
            
            // Dodawanie aktywacji
            this.classList.add('active');

            // Aktualizacja treści z bezpiecznym sprawdzeniem
            if (data !== undefined) {
                elValue.innerHTML = data.temp + ' <span>st. C</span>';
                elRegion.innerHTML = data.region;
                
                // Wizualna zmiana "mrozu" na belce
                card.style.setProperty('--rk-map-cold', data.color);
            }
        });
    }
});
</script>



<style>
:root {
    --rk-impact-dark: #0f172a;
    --rk-impact-blue: #0ea5e9;
    --rk-impact-sky: #e0f2fe;
    --rk-impact-red: #ef4444;
    --rk-impact-red-light: #fef2f2;
    --rk-impact-gray: #64748b;
    --rk-impact-bg: #f8fafc;
    --rk-impact-border: #e2e8f0;
}

.rk-impact-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 15px 35px -5px rgba(14, 165, 233, 0.15);
    border: 1px solid var(--rk-impact-sky);
    overflow: hidden;
}

.rk-impact-header {
    background: linear-gradient(135deg, var(--rk-impact-dark), #1e293b);
    padding: 35px 45px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-impact-blue);
    text-align: center;
}

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

.rk-impact-header p {
    font-size: 15px;
    color: #94a3b8;
    margin: 0 auto;
    max-width: 800px;
    line-height: 1.6;
}

.rk-impact-dashboard {
    padding: 35px 45px;
    background: var(--rk-impact-bg);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Panel sterowania suwakiem */
.rk-impact-control-panel {
    background: #ffffff;
    border: 1px solid var(--rk-impact-border);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

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

.rk-impact-label span {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-impact-dark);
    text-transform: uppercase;
}

.rk-impact-current-zone {
    background: var(--rk-impact-blue);
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 8px;
    font-weight: 900;
    font-size: 16px;
}

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

.rk-impact-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #ffffff;
    border: 4px solid var(--rk-impact-blue);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(14, 165, 233, 0.4);
    transition: transform 0.1s;
}

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

.rk-impact-ticks {
    display: flex;
    justify-content: space-between;
    margin-top: 15px;
    padding: 0 10px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-impact-gray);
}

/* Kafelki z dynamicznymi wynikami */
.rk-impact-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.rk-impact-card {
    background: #ffffff;
    border: 1px solid var(--rk-impact-border);
    border-radius: 12px;
    padding: 25px 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Wymusza elastyczny układ, koniec z nakładaniem się */
}

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

.rk-impact-card.warning::before {
    background: var(--rk-impact-red);
}

.rk-impact-card.warning {
    background: var(--rk-impact-red-light);
    border-color: #fca5a5;
}

.rk-impact-card-title {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-impact-gray);
    margin-bottom: 15px;
    /* Usunięto sztywne height: 32px; - tekst naturalnie rośnie */
}

.rk-impact-card.warning .rk-impact-card-title {
    color: var(--rk-impact-red);
}

.rk-impact-card-val {
    font-size: 38px;
    font-weight: 900;
    color: var(--rk-impact-dark);
    margin-bottom: 5px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 5px;
}

.rk-impact-card.warning .rk-impact-card-val {
    color: var(--rk-impact-red);
}

.rk-impact-card-unit {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-impact-gray);
}

.rk-impact-card.warning .rk-impact-card-unit {
    color: var(--rk-impact-red);
}

/* Obszar opisowy pod spodem */
.rk-impact-desc {
    background: #ffffff;
    border-left: 4px solid var(--rk-impact-blue);
    padding: 20px 25px;
    border-radius: 0 12px 12px 0;
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
}

.rk-impact-desc strong {
    color: var(--rk-impact-dark);
}

.rk-impact-desc a {
    color: var(--rk-impact-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-impact-blue);
}

@media (max-width: 768px) {
    .rk-impact-header { padding: 30px 20px; text-align: left; }
    .rk-impact-header h2 { font-size: 22px; }
    .rk-impact-dashboard { padding: 25px 20px; gap: 20px; }
    .rk-impact-control-panel { padding: 25px 20px; }
    .rk-impact-cards { grid-template-columns: 1fr; gap: 15px; }
    .rk-impact-card { padding: 20px; flex-direction: row; align-items: center; text-align: left; }
    .rk-impact-card-title { margin-bottom: 0; font-size: 12px; max-width: 50%; }
    .rk-impact-card-val { font-size: 28px; margin-bottom: 0; }
    .rk-impact-desc { padding: 20px; }
    .rk-impact-ticks { display: none; }
}
</style>

<!-- Invisible Data JSON-LD -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#article-wplyw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/"
    },
    "headline": "Jak strefa klimatyczna wpływa na obliczeniowe zapotrzebowanie na ciepło OZC budynku?",
    "description": "Symulacja wpływu surowości klimatu na moc pompy ciepła i dodatkowe koszty inwestycyjne. Przejście ze strefy I do V podnosi straty ciepła o ponad 22%.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-01",
    "dateModified": "2026-08-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#dataset-wplyw",
    "name": "Wpływ strefy klimatycznej na moc OZC i koszty pompy ciepła (dom 150 m2)",
    "description": "Dane referencyjne pokazujące wzrost zapotrzebowania na moc grzewczą w skrajnych strefach temperaturowych Polski.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wpływ strefy klimatycznej na OZC",
      "dobór mocy pompy ciepła do OZC",
      "koszt pompy ciepła a zapotrzebowanie",
      "straty ciepła przez przenikanie",
      "obliczeniowe zapotrzebowanie na ciepło budynku 150m2"
    ],
    "measurementTechnique": "Analiza porównawcza szczytowego obciążenia cieplnego dla budynku 150 m2 przy założeniu stałej temperatury wewnętrznej +20 st. C i zmiennej zewnętrznej od -16 do -24 st. C.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wzrost mocy z 6.1 kW do 7.9 kW powodujący zmianę typoszeregu źródła ciepła (z 6 kW na 9 kW) i wzrost kosztu inwestycji o 4500 PLN."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#webapp-wplyw",
    "name": "Symulator Wzrostu Kosztów OZC",
    "description": "Interaktywne narzędzie prezentujące skokowe koszty modernizacji i przewymiarowania źródła ciepła wraz ze spadkiem temperatury strefowej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-impact-container" id="rkSymulatorWplywu">
    <div class="rk-impact-header">
        <h2>Jak strefa klimatyczna wpływa na obliczeniowe zapotrzebowanie na ciepło OZC budynku?</h2>
        <p>Wpływ strefy na straty ciepła ma charakter geometryczny. Przesuń suwak i sprawdź, jak spadek temperatury w referencyjnym domu 150 m2 błyskawicznie podnosi moc urządzenia oraz wyciąga pieniądze z Twojego portfela.</p>
    </div>

    <div class="rk-impact-dashboard">
        
        <!-- Panel Sterowania -->
        <div class="rk-impact-control-panel">
            <div class="rk-impact-label">
                <span>Wybierz mróz (Strefy I - V)</span>
                <div class="rk-impact-current-zone" id="uiZoneName">Strefa I (-16 st. C)</div>
            </div>
            <input type="range" class="rk-impact-slider" id="uiZoneSlider" min="1" max="5" step="1" value="1">
            <div class="rk-impact-ticks">
                <span>Nadmorska</span>
                <span>Niziny</span>
                <span>Centralna</span>
                <span>Wschód</span>
                <span>Suwalszczyzna</span>
            </div>
        </div>

        <!-- Wyniki Dynamiczne -->
        <div class="rk-impact-cards">
            <div class="rk-impact-card">
                <div class="rk-impact-card-title">Różnica Temp.<br>(Delta T)</div>
                <div class="rk-impact-card-val" id="uiDelta">36 <span class="rk-impact-card-unit">K</span></div>
            </div>
            
            <div class="rk-impact-card">
                <div class="rk-impact-card-title">Szczytowe<br>Zapotrzebowanie</div>
                <div class="rk-impact-card-val" id="uiOzc">6.1 <span class="rk-impact-card-unit">kW</span></div>
            </div>

            <div class="rk-impact-card" id="uiCostCard">
                <div class="rk-impact-card-title">Dopłata do<br>typoszeregu pompy</div>
                <div class="rk-impact-card-val" id="uiCost">+0 <span class="rk-impact-card-unit">PLN</span></div>
            </div>
        </div>

        <!-- Analiza Opisowa -->
        <div class="rk-impact-desc" id="uiDesc">
            Przejście ze strefy I (-16 st. C) do skrajnej strefy V (-24 st. C) przy utrzymaniu temperatury we wnętrzu +20 st. C zwiększa różnicę temperatur do 44 K. <strong>Straty ciepła rosną o ponad 22%.</strong> To wymusza błyskawiczną zmianę <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a> z jednostki 6 kW na wariant 9 kW, generując ogromne różnice podczas <a href="https://projekt-ogrzewania.pl/kompleksowa-wycena-ogrzewania-podlogowego-wodnego-na-co-przygotowac-budzet/">kompleksowej wyceny ogrzewania podłogowego</a>. Precyzyjne <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne OZC</a> uchroni Cię przed zamrożeniem instalacji.
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var slider = document.getElementById('uiZoneSlider');
    var elZoneName = document.getElementById('uiZoneName');
    var elDelta = document.getElementById('uiDelta');
    var elOzc = document.getElementById('uiOzc');
    var elCost = document.getElementById('uiCost');
    var elCostCard = document.getElementById('uiCostCard');

    // Baza danych dla stref (bez użycia zagrażających znaków logicznych w funkcjach)
    var impactData = {
        "1": { name: "Strefa I (-16 st. C)", delta: "36", ozc: "6.1", cost: "0" },
        "2": { name: "Strefa II (-18 st. C)", delta: "38", ozc: "6.5", cost: "1500" },
        "3": { name: "Strefa III (-20 st. C)", delta: "40", ozc: "6.8", cost: "3000" },
        "4": { name: "Strefa IV (-22 st. C)", delta: "42", ozc: "7.3", cost: "3000" },
        "5": { name: "Strefa V (-24 st. C)", delta: "44", ozc: "7.9", cost: "4500" }
    };

    function updateImpactDashboard() {
        var val = slider.value;
        var data = impactData[val];

        elZoneName.innerText = data.name;
        elDelta.innerHTML = data.delta + ' <span class="rk-impact-card-unit">K</span>';
        elOzc.innerHTML = data.ozc + ' <span class="rk-impact-card-unit">kW</span>';
        elCost.innerHTML = '+' + data.cost + ' <span class="rk-impact-card-unit">PLN</span>';

        // Efekty wizualne ostrzeżeń finansowych
        if (data.cost === "0") {
            elCostCard.classList.remove('warning');
        }
        if (data.cost !== "0") {
            elCostCard.classList.add('warning');
        }
    }

    slider.addEventListener('input', updateImpactDashboard);
    
    // Inicjalizacja przy pierwszym załadowaniu
    updateImpactDashboard();
});
</script>



<style>
:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-blue: #0284c7;
    --rk-calc-sky: #e0f2fe;
    --rk-calc-green: #10b981;
    --rk-calc-green-light: #d1fae5;
    --rk-calc-gray: #64748b;
    --rk-calc-bg: #f8fafc;
    --rk-calc-border: #cbd5e1;
}

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

.rk-calc-header {
    background: linear-gradient(135deg, var(--rk-calc-dark), #1e293b);
    padding: 35px 45px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-calc-blue);
    text-align: center;
}

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

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

/* Główny obszar dashboardu */
.rk-calc-dashboard {
    padding: 35px 45px;
    background: var(--rk-calc-bg);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Siatka kontrolek 2x2 na desktopie */
.rk-calc-controls-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    background: #ffffff;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-calc-border);
    box-shadow: 0 4px 10px -2px rgba(0,0,0,0.02);
}

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

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

.rk-control-value {
    background: var(--rk-calc-sky);
    color: var(--rk-calc-blue);
    padding: 5px 12px;
    border-radius: 6px;
    font-weight: 900;
    font-size: 14px;
}

/* Wybór strefy - przyciski poziome */
.rk-zone-selector {
    display: flex;
    gap: 8px;
    width: 100%;
}

.rk-zone-opt {
    flex: 1;
    padding: 10px 0;
    text-align: center;
    background: var(--rk-calc-bg);
    border: 1px solid var(--rk-calc-border);
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-calc-gray);
    transition: all 0.2s;
}

.rk-zone-opt:hover {
    border-color: var(--rk-calc-blue);
}

.rk-zone-opt.active {
    background: var(--rk-calc-blue);
    color: #ffffff;
    border-color: var(--rk-calc-blue);
}

/* Suwaki */
.rk-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 6px;
    background: #e2e8f0;
    border-radius: 3px;
    outline: none;
    margin-top: 8px;
}

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

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

/* Siatka wyników pośrednich (3 kolumny) */
.rk-calc-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.rk-step-card {
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    position: relative;
    overflow: hidden;
}

.rk-step-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--rk-calc-blue);
}

.rk-step-title {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-calc-gray);
    margin-bottom: 10px;
}

.rk-step-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-calc-dark);
}

.rk-step-val span {
    font-size: 16px;
    color: var(--rk-calc-gray);
    font-weight: 700;
}

/* Wynik końcowy OZC (pełna szerokość) */
.rk-final-card {
    background: var(--rk-calc-dark);
    border-radius: 16px;
    padding: 35px;
    text-align: center;
    color: #ffffff;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.4);
    position: relative;
    overflow: hidden;
}

.rk-final-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: var(--rk-calc-green);
}

.rk-final-title {
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 800;
    color: #94a3b8;
    margin-bottom: 15px;
    letter-spacing: 1px;
}

.rk-final-value {
    font-size: 48px;
    font-weight: 900;
    color: var(--rk-calc-green-light);
}

.rk-final-value span {
    font-size: 20px;
    font-weight: 700;
    color: var(--rk-calc-green);
}

.rk-final-desc {
    font-size: 14px;
    color: #94a3b8;
    margin-top: 15px;
    line-height: 1.6;
}

.rk-final-desc a {
    color: var(--rk-calc-sky);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px dotted var(--rk-calc-sky);
}

/* Responsywność - układ pionowy na mobile */
@media (max-width: 768px) {
    .rk-calc-header { padding: 30px 20px; text-align: left; }
    .rk-calc-header h2 { font-size: 22px; }
    .rk-calc-dashboard { padding: 25px 20px; gap: 20px; }
    .rk-calc-controls-grid { grid-template-columns: 1fr; gap: 25px; padding: 20px; }
    .rk-calc-steps-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-zone-selector { flex-wrap: wrap; }
    .rk-zone-opt { min-width: 30%; }
    .rk-final-card { padding: 25px 20px; }
}
</style>

<!-- Invisible Data JSON-LD -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#article-kalkulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/"
    },
    "headline": "Jak obliczyć OZC dla wybranej strefy klimatycznej krok po kroku według algorytmu inżynierskiego?",
    "description": "Interaktywny algorytm obliczeniowy prezentujący wpływ strefy klimatycznej, izolacji i wentylacji na szczytowe zapotrzebowanie na ciepło (OZC) budynku.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-01",
    "dateModified": "2026-08-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#dataset-kalkulator",
    "name": "Algorytm i parametry wejściowe do obliczeń OZC",
    "description": "Baza zmiennych projektowych wykorzystywana do wyznaczania strat ciepła przez przenikanie oraz wentylację w oparciu o normy PN-EN.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "obliczeniowe zapotrzebowanie na ciepło kalkulator",
      "jak obliczyć ozc budynku",
      "straty ciepła przez przenikanie",
      "współczynnik przenikania ciepła u",
      "zapotrzebowanie energetyczne budynku wzór"
    ],
    "measurementTechnique": "Dynamiczna kalkulacja strat ciepła wykorzystująca parametry strefowe (Delta T), współczynniki izolacyjności (U) oraz straty na wentylacji.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Krok 1: Wyznaczenie różnicy temperatur (wewnątrz +20 st. C, zewnątrz zależnie od strefy).",
        "Krok 2: Obliczenie strat przez przegrody bazując na powierzchni i izolacyjności.",
        "Krok 3: Wyliczenie strat wentylacyjnych.",
        "Krok 4: Bilans końcowy ze współczynnikiem narzutu na rozruch 1.10."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#webapp-kalkulator",
    "name": "Interaktywny Kalkulator Algorytmu OZC",
    "description": "Narzędzie inżynierskie umożliwiające inwestorom samodzielną symulację zapotrzebowania na moc grzewczą w czasie rzeczywistym, poprzez manipulację parametrami przegród i strefą klimatyczną.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container" id="rkKalkulatorOZC">
    <div class="rk-calc-header">
        <h2>Jak obliczyć OZC dla wybranej strefy klimatycznej krok po kroku według algorytmu inżynierskiego?</h2>
        <p>Zapotrzebowanie na ciepło (OZC) dla budynku jednorodzinnego w oparciu o strefę wyznacza się za pomocą ścisłego algorytmu. Przesuń suwaki poniżej i zobacz, jak parametry budynku reagują na surowszy klimat w czasie rzeczywistym.</p>
    </div>

    <div class="rk-calc-dashboard">
        
        <!-- Sekcja Górna: Panele Sterowania 2x2 -->
        <div class="rk-calc-controls-grid">
            
            <div class="rk-control-group">
                <div class="rk-control-label">
                    <span>1. Wybierz strefę (Temp. zewn.)</span>
                </div>
                <div class="rk-zone-selector" id="rkZoneSelect">
                    <div class="rk-zone-opt" data-temp="-16">I (-16)</div>
                    <div class="rk-zone-opt" data-temp="-18">II (-18)</div>
                    <div class="rk-zone-opt" data-temp="-20">III (-20)</div>
                    <div class="rk-zone-opt active" data-temp="-22">IV (-22)</div>
                    <div class="rk-zone-opt" data-temp="-24">V (-24)</div>
                </div>
            </div>

            <div class="rk-control-group">
                <div class="rk-control-label">
                    <span>2. Powierzchnia Przegród (A)</span>
                    <span class="rk-control-value" id="valAreaOut">200 m2</span>
                </div>
                <input type="range" class="rk-slider" id="inpArea" min="100" max="400" step="10" value="200">
            </div>

            <div class="rk-control-group">
                <div class="rk-control-label">
                    <span>3. Średni Współczynnik (U)</span>
                    <span class="rk-control-value" id="valUOut">0.18 W/m2K</span>
                </div>
                <input type="range" class="rk-slider" id="inpU" min="0.10" max="0.30" step="0.01" value="0.18">
            </div>

            <div class="rk-control-group">
                <div class="rk-control-label">
                    <span>4. Strumień Wentylacji</span>
                    <span class="rk-control-value" id="valVentOut">150 m3/h</span>
                </div>
                <input type="range" class="rk-slider" id="inpVent" min="50" max="300" step="10" value="150">
            </div>

        </div>

        <!-- Sekcja Środkowa: Wyniki Pośrednie -->
        <div class="rk-calc-steps-grid">
            <div class="rk-step-card">
                <div class="rk-step-title">Krok 1: Różnica (Delta T)</div>
                <div class="rk-step-val" id="resDeltaT">42 <span>K</span></div>
            </div>
            <div class="rk-step-card">
                <div class="rk-step-title">Krok 2: Straty Przenikania</div>
                <div class="rk-step-val" id="resPhiT">1512 <span>W</span></div>
            </div>
            <div class="rk-step-card">
                <div class="rk-step-title">Krok 3: Straty Wentylacji</div>
                <div class="rk-step-val" id="resPhiV">2142 <span>W</span></div>
            </div>
        </div>

        <!-- Sekcja Dolna: Wynik Końcowy -->
        <div class="rk-final-card">
            <div class="rk-final-title">Krok 4: Bilans Końcowy OZC (Szczytowy)</div>
            <div class="rk-final-value" id="resFinalKw">4.02 <span>kW</span></div>
            <div class="rk-final-desc">
                Z uwzględnieniem normowego narzutu +10% na ogrzewanie przejściowe po obniżeniu temperatury. Koniecznie sprawdź również <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">zaawansowany kalkulator strat ciepła budynku</a> dla pełnej weryfikacji.
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Referencje do elementów DOM
    var optsZone = document.querySelectorAll('.rk-zone-opt');
    var inpArea = document.getElementById('inpArea');
    var inpU = document.getElementById('inpU');
    var inpVent = document.getElementById('inpVent');

    var valAreaOut = document.getElementById('valAreaOut');
    var valUOut = document.getElementById('valUOut');
    var valVentOut = document.getElementById('valVentOut');

    var resDeltaT = document.getElementById('resDeltaT');
    var resPhiT = document.getElementById('resPhiT');
    var resPhiV = document.getElementById('resPhiV');
    var resFinalKw = document.getElementById('resFinalKw');

    // Zmienna przechowująca temperaturę zewnętrzną (domyślnie -22 dla strefy IV)
    var currentTempZewn = -22;

    // Funkcja obliczająca OZC
    function calculateOZC() {
        var area = parseFloat(inpArea.value);
        var uValue = parseFloat(inpU.value);
        var vent = parseFloat(inpVent.value);

        // Aktualizacja etykiet nad suwakami
        valAreaOut.innerText = area + " m2";
        valUOut.innerText = uValue.toFixed(2) + " W/m2K";
        valVentOut.innerText = vent + " m3/h";

        // Krok 1: Różnica temperatur (wewnątrz stałe 20 st. C)
        var deltaT = 20 - currentTempZewn;
        resDeltaT.innerHTML = deltaT + " <span>K</span>";

        // Krok 2: Przenikanie
        var phiT = Math.round(uValue * area * deltaT);
        resPhiT.innerHTML = phiT + " <span>W</span>";

        // Krok 3: Wentylacja (0.34 to przybliżone ciepło właściwe powietrza)
        var phiV = Math.round(vent * 0.34 * deltaT);
        resPhiV.innerHTML = phiV + " <span>W</span>";

        // Krok 4: Bilans z zapasem 10%
        var totalW = Math.round((phiT + phiV) * 1.10);
        var totalKW = (totalW / 1000).toFixed(2);
        resFinalKw.innerHTML = totalKW + " <span>kW</span>";
    }

    // Bezpieczne nasłuchiwanie kliknięć stref (brak zagrażających znaków logicznych)
    for (var i = 0; i < optsZone.length; i++) {
        optsZone[i].addEventListener('click', function() {
            var selectedTemp = parseFloat(this.getAttribute('data-temp'));
            
            // Usuwanie klasy active ze wszystkich przycisków
            for (var j = 0; j < optsZone.length; j++) {
                optsZone[j].classList.remove('active');
            }
            
            this.classList.add('active');
            currentTempZewn = selectedTemp;
            
            // Przelicz układ
            calculateOZC();
        });
    }

    // Nasłuchiwanie na suwaki
    inpArea.addEventListener('input', calculateOZC);
    inpU.addEventListener('input', calculateOZC);
    inpVent.addEventListener('input', calculateOZC);

    // Inicjalne uruchomienie
    calculateOZC();
});
</script>



<style>
:root {
    --rk-zone-dark: #0f172a;
    --rk-zone-blue: #0284c7;
    --rk-zone-sky: #e0f2fe;
    --rk-zone-red: #ef4444;
    --rk-zone-gray: #64748b;
    --rk-zone-light: #f8fafc;
    --rk-zone-border: #cbd5e1;
}

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

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

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

.rk-zone-header p {
    font-size: 15px;
    color: #94a3b8;
    margin: 0 auto;
    max-width: 800px;
    line-height: 1.6;
}

.rk-zone-interactive {
    padding: 40px 45px;
    background: var(--rk-zone-light);
}

/* Przełączniki stref - pionowe na mobile */
.rk-zone-controls {
    display: flex;
    gap: 15px;
    margin-bottom: 40px;
}

.rk-zone-btn {
    flex: 1;
    padding: 18px 20px;
    background: #ffffff;
    border: 2px solid var(--rk-zone-border);
    border-radius: 12px;
    cursor: pointer;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

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

.rk-zone-btn.active {
    background: var(--rk-zone-sky);
    border-color: var(--rk-zone-blue);
    box-shadow: 0 10px 15px -3px rgba(2, 132, 199, 0.15);
    transform: translateY(0);
}

.rk-zone-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #f1f5f9;
    color: var(--rk-zone-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 18px;
    flex-shrink: 0;
    transition: all 0.3s;
}

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

.rk-zone-btn-text h3 {
    margin: 0 0 4px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-zone-dark);
}

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

/* Dashboard z danymi parametrycznymi */
.rk-zone-dashboard {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.rk-metric-card {
    background: #ffffff;
    border: 1px solid var(--rk-zone-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
}

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

.rk-metric-label {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-zone-gray);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
}

.rk-metric-value {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-zone-dark);
    margin-bottom: 5px;
    transition: color 0.3s ease;
}

.rk-metric-unit {
    font-size: 16px;
    color: var(--rk-zone-gray);
    font-weight: 700;
}

.rk-metric-desc {
    font-size: 14px;
    line-height: 1.5;
    color: #475569;
    margin-top: 10px;
}

.rk-metric-desc a {
    color: var(--rk-zone-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-zone-blue);
}

/* Podsumowanie analityczne */
.rk-zone-summary {
    margin-top: 25px;
    padding: 20px 25px;
    background: var(--rk-zone-dark);
    border-radius: 12px;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 20px;
}

.rk-summary-icon {
    width: 48px;
    height: 48px;
    background: rgba(255,255,255,0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-zone-sky);
    flex-shrink: 0;
}

.rk-summary-text {
    font-size: 15px;
    line-height: 1.6;
}

.rk-summary-text strong {
    color: var(--rk-zone-sky);
}

/* Widok mobilny */
@media (max-width: 768px) {
    .rk-zone-header, .rk-zone-interactive { padding: 30px 20px; }
    .rk-zone-controls { flex-direction: column; gap: 10px; margin-bottom: 30px; }
    .rk-zone-btn { padding: 15px; }
    .rk-zone-dashboard { grid-template-columns: 1fr; gap: 15px; }
    .rk-metric-card { padding: 20px; }
    .rk-zone-summary { flex-direction: column; text-align: center; gap: 15px; padding: 25px 20px; }
    .rk-zone-header h2 { font-size: 22px; }
}
</style>

<!-- Invisible Data JSON-LD -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#article-roznice",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/"
    },
    "headline": "Jakie są parametryczne różnice w obciążeniu cieplnym między strefą I, III a V w Polsce?",
    "description": "Interaktywny panel zestawiający zmiany parametrów projektowych, takich jak projektowa temperatura zewnętrzna, różnica temperatur (Delta T), moc OZC oraz maksymalna temperatura zasilania podłogówki dla stref klimatycznych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-01",
    "dateModified": "2026-08-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#dataset-roznice",
    "name": "Tabela różnic parametrycznych stref klimatycznych w Polsce",
    "description": "Cyfrowe zestawienie wartości wejściowych do projektowania wodnego ogrzewania podłogowego. Dane wykazują zmiany od strefy I do V, w tym skok mocy OZC i temperatury hydraulicznej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projektowa temperatura zewnętrzna",
      "szczytowa moc OZC budynku 150m2",
      "maksymalna temperatura zasilania podłogówki",
      "różnica temperatur w strefach klimatycznych",
      "obciążenie cieplne a strefa w Polsce"
    ],
    "measurementTechnique": "Algorytmiczne obliczenia bilansu ciepła oparte na normach budowlanych, określające parametry hydrauliczne dla poszczególnych rejonów kraju.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Strefa I: Temp -16 st. C, Moc OZC 6.1 kW, Zasilanie max 33 st. C",
        "Strefa III: Temp -20 st. C, Moc OZC 6.8 kW, Zasilanie max 36 st. C",
        "Strefa V: Temp -24 st. C, Moc OZC 7.9 kW, Zasilanie max 41 st. C"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#webapp-roznice",
    "name": "Interaktywny Symulator Parametrów Klimatycznych",
    "description": "Widżet pozwalający użytkownikowi na żywo zmieniać strefy klimatyczne i obserwować w czasie rzeczywistym, jak zmienia się projektowe obciążenie budynku i temperatura źródła ciepła.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-zone-container" id="rkZoneParams">
    <div class="rk-zone-header">
        <h2>Jakie są parametryczne różnice w obciążeniu cieplnym między strefą I, III a V w Polsce?</h2>
        <p>Poniższe zestawienie parametrów projektowych dla skrajnych i środkowych stref klimatycznych obnaża brutalną prawdę inżynierską – to geografia w głównej mierze decyduje o rozmiarach Twojej instalacji grzewczej i portfelu.</p>
    </div>

    <div class="rk-zone-interactive">
        
        <!-- Przełączniki (układ pionowy na mobile) -->
        <div class="rk-zone-controls" id="rkZoneTabs">
            <button class="rk-zone-btn active" data-zone="z1">
                <div class="rk-zone-icon">I</div>
                <div class="rk-zone-btn-text">
                    <h3>Strefa Nadmorska</h3>
                    <p>Względnie łagodna zima</p>
                </div>
            </button>
            <button class="rk-zone-btn" data-zone="z3">
                <div class="rk-zone-icon">III</div>
                <div class="rk-zone-btn-text">
                    <h3>Centralna Polska</h3>
                    <p>Typowe mrozy (np. Podkarpacie nizinne)</p>
                </div>
            </button>
            <button class="rk-zone-btn" data-zone="z5">
                <div class="rk-zone-icon">V</div>
                <div class="rk-zone-btn-text">
                    <h3>Góry / Suwalszczyzna</h3>
                    <p>Ekstremalne uderzenia chłodu</p>
                </div>
            </button>
        </div>

        <!-- Dashboard Wartości Parametrycznych -->
        <div class="rk-zone-dashboard">
            
            <div class="rk-metric-card">
                <div class="rk-metric-label">Projektowa Temp. Zewnętrzna</div>
                <div class="rk-metric-value" id="valTemp">-16 <span class="rk-metric-unit">st. C</span></div>
                <div class="rk-metric-desc">Baza do startu obliczeń zapotrzebowania w danym rejonie kraju.</div>
            </div>

            <div class="rk-metric-card">
                <div class="rk-metric-label">Różnica Temperatur (Delta T)</div>
                <div class="rk-metric-value" id="valDiff">36 <span class="rk-metric-unit">K</span></div>
                <div class="rk-metric-desc">Zakładając we wnętrzu komfortowe 20 st. C. Zobacz jak powstaje <a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/">bilans cieplny budynku</a>.</div>
            </div>

            <div class="rk-metric-card">
                <div class="rk-metric-label">Moc OZC (dla 150 m2)</div>
                <div class="rk-metric-value" id="valOzc" style="color: var(--rk-zone-blue);">6.1 <span class="rk-metric-unit">kW</span></div>
                <div class="rk-metric-desc">Szczytowa wielkość źródła ciepła (wartość dla budynku w standardzie energooszczędnym).</div>
            </div>

            <div class="rk-metric-card">
                <div class="rk-metric-label">Max. Temperatura Zasilania</div>
                <div class="rk-metric-value" id="valFlow">33 <span class="rk-metric-unit">st. C</span></div>
                <div class="rk-metric-desc">Sprawdź dlaczego optymalizacja pod <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">maksymalną temperaturę zasilania</a> jest kluczowa dla żywotności wylewki.</div>
            </div>

        </div>

        <!-- Dynamiczne Wnioski -->
        <div class="rk-zone-summary">
            <div class="rk-summary-icon">
                <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
            </div>
            <div class="rk-summary-text" id="valSummary">
                W strefie I mamy optymalne środowisko dla pomp ciepła i niskich parametrów hydraulicznych. Przepływy są swobodne, a zapotrzebowanie budynku umiarkowane. Zgodnie z normą <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/" style="color:#e0f2fe; text-decoration:underline;">PN-EN 1264</a>, system pracuje w najbezpieczniejszym cyklu.
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Słownik danych dla poszczególnych stref (brak konieczności użycia && w logice)
    var zoneData = {
        z1: {
            temp: "-16",
            diff: "36",
            ozc: "6.1",
            flow: "33",
            color: "var(--rk-zone-blue)",
            summary: "W strefie I mamy optymalne środowisko dla pomp ciepła i niskich parametrów hydraulicznych. Przepływy są swobodne, a zapotrzebowanie budynku umiarkowane. Zgodnie z normą <a href=\"https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/\" style=\"color:#e0f2fe; text-decoration:underline;\">PN-EN 1264</a>, system pracuje w najbezpieczniejszym cyklu."
        },
        z3: {
            temp: "-20",
            diff: "40",
            ozc: "6.8",
            flow: "36",
            color: "#f59e0b", // pomarańczowy
            summary: "W strefie III temperatura zasilania rośnie. Większa strata ciepła (40 K różnicy) wymusza rzetelne obliczenia przepływów. Urządzenie grzewcze musi pracować stabilnie, by wyrównać utratę energii emitowanej przez przegrody zewnętrzne."
        },
        z5: {
            temp: "-24",
            diff: "44",
            ozc: "7.9",
            flow: "41",
            color: "var(--rk-zone-red)",
            summary: "Analiza dla strefy V pokazuje powagę sytuacji: <strong>maksymalna temperatura zasilania podłogówki wzrasta tu aż o 8 stopni w stosunku do strefy I</strong>. To konieczne, aby w czasie -24 st. C mrozów dostarczyć wymaganą gęstość strumienia ciepła z tej samej powierzchni posadzki."
        }
    };

    var buttons = document.querySelectorAll('.rk-zone-btn');
    var elTemp = document.getElementById('valTemp');
    var elDiff = document.getElementById('valDiff');
    var elOzc = document.getElementById('valOzc');
    var elFlow = document.getElementById('valFlow');
    var elSum = document.getElementById('valSummary');

    for (var i = 0; i < buttons.length; i++) {
        buttons[i].addEventListener('click', function() {
            var selectedId = this.getAttribute('data-zone');
            var data = zoneData[selectedId];

            // Czyszczenie aktywacji
            for (var j = 0; j < buttons.length; j++) {
                buttons[j].classList.remove('active');
            }
            
            // Ustawienie aktualnego elementu
            this.classList.add('active');

            // Nadpisanie wartości
            elTemp.innerHTML = data.temp + ' <span class="rk-metric-unit">st. C</span>';
            elDiff.innerHTML = data.diff + ' <span class="rk-metric-unit">K</span>';
            
            elOzc.style.color = data.color;
            elOzc.innerHTML = data.ozc + ' <span class="rk-metric-unit">kW</span>';
            
            elFlow.innerHTML = data.flow + ' <span class="rk-metric-unit">st. C</span>';
            elSum.innerHTML = data.summary;
        });
    }
});
</script>



<style>
:root {
    --rk-space-dark: #0f172a;
    --rk-space-blue: #0284c7;
    --rk-space-light-blue: #e0f2fe;
    --rk-space-red: #ef4444;
    --rk-space-red-light: #fef2f2;
    --rk-space-gray: #64748b;
    --rk-space-bg: #f8fafc;
    --rk-space-border: #cbd5e1;
}

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

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

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

.rk-space-header p {
    font-size: 15px;
    color: #94a3b8;
    margin: 0 auto;
    max-width: 800px;
    line-height: 1.6;
}

.rk-space-interactive {
    padding: 40px 45px;
    background: var(--rk-space-bg);
}

/* Przełącznik stref (Toggle) */
.rk-space-toggles {
    display: flex;
    background: #ffffff;
    border: 1px solid var(--rk-space-border);
    border-radius: 12px;
    padding: 6px;
    margin-bottom: 35px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.rk-space-toggle {
    flex: 1;
    padding: 14px 20px;
    background: transparent;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-space-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
}

.rk-space-toggle:hover {
    color: var(--rk-space-dark);
}

.rk-space-toggle.active {
    background: var(--rk-space-blue);
    color: #ffffff;
    box-shadow: 0 4px 10px -2px rgba(2, 132, 199, 0.4);
}

/* Panel Danych */
.rk-space-view {
    display: none;
    animation: fadeInSlide 0.4s ease forwards;
}

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

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

.rk-space-visual {
    background: #ffffff;
    border: 1px solid var(--rk-space-border);
    border-radius: 16px;
    padding: 30px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-space-visual-title {
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-space-gray);
    margin-bottom: 20px;
    letter-spacing: 1px;
}

/* Rysunek rur SVG */
.rk-pipe-pattern {
    width: 100%;
    height: 140px;
    background-color: #f1f5f9;
    border-radius: 8px;
    margin-bottom: 20px;
    position: relative;
}

.rk-pipe-line {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 12px;
    background: linear-gradient(90deg, #ef4444, #fca5a5);
    border-radius: 6px;
    box-shadow: 2px 0 5px rgba(239, 68, 68, 0.2);
}

/* Gęstość rur sterowana klasami */
.pipes-sparse .rk-pipe-line:nth-child(1) { left: 20%; }
.pipes-sparse .rk-pipe-line:nth-child(2) { left: 50%; }
.pipes-sparse .rk-pipe-line:nth-child(3) { left: 80%; }
.pipes-sparse .rk-pipe-line:nth-child(4), .pipes-sparse .rk-pipe-line:nth-child(5) { display: none; }

.pipes-dense .rk-pipe-line:nth-child(1) { left: 10%; }
.pipes-dense .rk-pipe-line:nth-child(2) { left: 30%; }
.pipes-dense .rk-pipe-line:nth-child(3) { left: 50%; }
.pipes-dense .rk-pipe-line:nth-child(4) { left: 70%; }
.pipes-dense .rk-pipe-line:nth-child(5) { left: 90%; }

.rk-space-val {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-space-dark);
}

.rk-space-val span {
    font-size: 16px;
    color: var(--rk-space-gray);
    font-weight: 700;
}

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

.rk-stat-box {
    background: #ffffff;
    border: 1px solid var(--rk-space-border);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-stat-box.warning {
    background: var(--rk-space-red-light);
    border-color: #fca5a5;
}

.rk-stat-label {
    font-size: 13px;
    color: var(--rk-space-gray);
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.rk-stat-value {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-space-dark);
}

.rk-stat-box.warning .rk-stat-value, .rk-stat-box.warning .rk-stat-label {
    color: var(--rk-space-red);
}

.rk-stat-desc {
    font-size: 14px;
    color: #475569;
    margin-top: 8px;
    line-height: 1.5;
}

.rk-stat-desc a {
    color: var(--rk-space-blue);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px dashed var(--rk-space-blue);
}

@media (max-width: 768px) {
    .rk-space-header, .rk-space-interactive { padding: 30px 20px; }
    .rk-space-toggles { flex-direction: column; max-width: 100%; border-radius: 12px; }
    .rk-space-toggle { padding: 16px; }
    .rk-space-view.active { grid-template-columns: 1fr; gap: 20px; }
    .rk-space-header h2 { font-size: 22px; }
}
</style>

<!-- Invisible Data JSON-LD -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#article-rozstaw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/"
    },
    "headline": "Jak strefa klimatyczna wymusza zmianę rozstawu rur i gęstości pętli w ogrzewaniu podłogowym?",
    "description": "Interaktywna analiza wpływu surowości stref klimatycznych na zagęszczenie rur instalacji podłogowej, gęstość strumienia cieplnego oraz parametry pracy pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-01",
    "dateModified": "2026-08-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#dataset-rozstaw",
    "name": "Zależność rozstawu rur od strefy klimatycznej i zapotrzebowania na moc",
    "description": "Zestawienie gęstości strumienia cieplnego i skoku rur w ogrzewaniu płaszczyznowym, definiujące optymalne warunki wymiany ciepła dla różnych rejonów Polski.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rozstaw rur ogrzewania podłogowego",
      "strefy klimatyczne a gęstość pętli",
      "moc cieplna z m2 podłogówki",
      "temperatura zasilania pompy ciepła",
      "strefa brzegowa podłogówki rozstaw"
    ],
    "measurementTechnique": "Symulacja zmian zapotrzebowania na ciepło W/m2 w skrajnych strefach klimatycznych wg normowych temperatur zewnętrznych, przy utrzymaniu max. temp. posadzki 29 st. C.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Strefa I: Średnie zapotrzebowanie 45 W/m2, optymalny rozstaw 15 cm.",
        "Strefa V: Zapotrzebowanie szczytowe 62 W/m2, rozstaw zagęszczony do 10 cm, w strefach brzegowych do 7,5 cm."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#webapp-rozstaw",
    "name": "Symulator Rozstawu Rur Podłogówki wg Strefy",
    "description": "Wizualizacja zagęszczenia pętli grzewczych i wpływu na wydajność SCOP w zależności od lokalizacji inwestycji na mapie Polski (skrajne warunki OZC).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-space-container" id="rkRozstawSymulator">
    <div class="rk-space-header">
        <h2>Jak strefa klimatyczna wymusza zmianę rozstawu rur i gęstości pętli w ogrzewaniu podłogowym?</h2>
        <p>Podział na 5 stref klimatycznych bezpośrednio decyduje o zagęszczeniu skoku rur podłogówki. W rejonach o surowszych zimach posadzka musi wyemitować znacznie większą moc cieplną z każdego metra kwadratowego, bez przekraczania bezpiecznej dla zdrowia temperatury powierzchni.</p>
    </div>

    <div class="rk-space-interactive">
        <div class="rk-space-toggles">
            <button class="rk-space-toggle active" data-zone="1">Strefa I (Nadmorska)</button>
            <button class="rk-space-toggle" data-zone="5">Strefa V (Górska / Suwałki)</button>
        </div>

        <!-- Widok dla Strefy I -->
        <div class="rk-space-view active" id="zone-1">
            <div class="rk-space-visual">
                <div class="rk-space-visual-title">Gęstość układania rur</div>
                <div class="rk-pipe-pattern pipes-sparse">
                    <div class="rk-pipe-line"></div>
                    <div class="rk-pipe-line"></div>
                    <div class="rk-pipe-line"></div>
                    <div class="rk-pipe-line"></div>
                    <div class="rk-pipe-line"></div>
                </div>
                <div class="rk-space-val">15 <span>cm</span></div>
                <div class="rk-stat-desc">Komfortowy i ekonomiczny układ dla łagodnych zim.</div>
            </div>
            
            <div class="rk-space-stats">
                <div class="rk-stat-box">
                    <div class="rk-stat-label">Strumień cieplny (q)</div>
                    <div class="rk-stat-value">~45 W/m2</div>
                    <div class="rk-stat-desc">Standardowe zapotrzebowanie salonu na ciepło. <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">Zobacz zasady układania</a>.</div>
                </div>
                <div class="rk-stat-box">
                    <div class="rk-stat-label">Efektywność i Bilans</div>
                    <div class="rk-stat-value" style="color: #059669;">Wysoki SCOP</div>
                    <div class="rk-stat-desc">Układ bez problemu osiąga bilans przy bardzo niskiej i bezpiecznej dla pompy temperaturze zasilania. Powierzchnia utrzymana poniżej 29 st. C.</div>
                </div>
            </div>
        </div>

        <!-- Widok dla Strefy V -->
        <div class="rk-space-view" id="zone-5">
            <div class="rk-space-visual" style="border-color: #fca5a5;">
                <div class="rk-space-visual-title">Zagęszczenie układania rur</div>
                <div class="rk-pipe-pattern pipes-dense">
                    <div class="rk-pipe-line"></div>
                    <div class="rk-pipe-line"></div>
                    <div class="rk-pipe-line"></div>
                    <div class="rk-pipe-line"></div>
                    <div class="rk-pipe-line"></div>
                </div>
                <div class="rk-space-val">10 <span>cm</span></div>
                <div class="rk-stat-desc">Konieczność przy mrozach sięgających -24 st. C.</div>
            </div>
            
            <div class="rk-space-stats">
                <div class="rk-stat-box">
                    <div class="rk-stat-label">Strumień cieplny (q)</div>
                    <div class="rk-stat-value">~62 W/m2</div>
                    <div class="rk-stat-desc">Drastyczny wzrost zapotrzebowania, wymagający uwzględnienia specyficznych <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/">stref brzegowych</a> ze skokiem rur co 7,5 cm.</div>
                </div>
                <div class="rk-stat-box warning">
                    <div class="rk-stat-label">Ryzyko Katalogowego Błędu</div>
                    <div class="rk-stat-value">Spadek wydajności źródła</div>
                    <div class="rk-stat-desc">Zastosowanie gotowego rozstawu 15 cm uniemożliwi bilans cieplny przy niskim parametrze. Zmusi to użytkownika do podbicia krzywej grzewczej i drastycznego pogorszenia wskaźnika SCOP.</div>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var toggles = document.querySelectorAll('.rk-space-toggle');
    var views = document.querySelectorAll('.rk-space-view');

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

            // Czyszczenie aktywnych klas (kod bezpieczny)
            for (var j = 0; j < toggles.length; j++) {
                toggles[j].classList.remove('active');
            }
            for (var k = 0; k < views.length; k++) {
                views[k].classList.remove('active');
            }

            // Aktywacja wybranych elementów
            this.classList.add('active');
            var activeView = document.getElementById('zone-' + targetZone);
            if (activeView !== null) {
                activeView.classList.add('active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-err-dark: #1e293b;
    --rk-err-blue: #0284c7;
    --rk-err-red: #ef4444;
    --rk-err-red-light: #fef2f2;
    --rk-err-orange: #f97316;
    --rk-err-bg: #f8fafc;
    --rk-err-border: #e2e8f0;
}

.rk-err-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 15px 35px -5px rgba(239, 68, 68, 0.1);
    border: 1px solid var(--rk-err-border);
    overflow: hidden;
}

.rk-err-header {
    background: var(--rk-err-dark);
    padding: 35px 45px;
    border-bottom: 4px solid var(--rk-err-red);
    text-align: center;
}

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

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

/* Nowa Nawigacja Górna (Siatka 2x2) */
.rk-err-top-nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    padding: 35px 45px 0;
    background: var(--rk-err-bg);
}

.rk-err-tab-btn {
    width: 100%;
    text-align: left;
    padding: 20px;
    background: #ffffff;
    border: 1px solid var(--rk-err-border);
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-err-tab-btn:hover {
    border-color: #cbd5e1;
    transform: translateY(-2px);
}

.rk-err-tab-btn.active {
    background: var(--rk-err-red-light);
    border: 1px solid #fca5a5;
    box-shadow: 0 10px 15px -3px rgba(239, 68, 68, 0.1);
    transform: translateY(0);
}

.rk-err-tab-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #f1f5f9;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s;
}

.rk-err-tab-btn.active .rk-err-tab-icon {
    background: var(--rk-err-red);
    color: #ffffff;
}

.rk-err-tab-text {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-err-dark);
    line-height: 1.3;
}

/* Panel Wyświetlania Contentu (Pełna szerokość) */
.rk-err-content-panel {
    padding: 35px 45px 45px;
    background: var(--rk-err-bg);
}

.rk-err-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 10px 30px -5px rgba(0,0,0,0.08);
    border: 1px solid var(--rk-err-border);
    display: none;
    animation: scaleIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.rk-err-card.active {
    display: block;
}

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

.rk-err-card-title {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--rk-err-border);
}

.rk-err-card-title h3 {
    margin: 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-err-dark);
}

.rk-err-card-body {
    font-size: 16px;
    line-height: 1.8;
    color: #475569;
}

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

.rk-err-consequence {
    margin-top: 30px;
    padding: 25px;
    background: var(--rk-err-red-light);
    border-left: 5px solid var(--rk-err-red);
    border-radius: 0 12px 12px 0;
}

.rk-err-consequence-title {
    font-weight: 900;
    color: var(--rk-err-red);
    margin-bottom: 8px;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Wersja Mobilna - brak sliderów poziomego, tylko układ pionowy */
@media (max-width: 768px) {
    .rk-err-header { padding: 30px 20px; text-align: left; }
    .rk-err-header h2 { font-size: 22px; }
    .rk-err-top-nav { grid-template-columns: 1fr; padding: 25px 20px 0; gap: 10px; }
    .rk-err-tab-btn { padding: 15px; }
    .rk-err-content-panel { padding: 25px 20px; }
    .rk-err-card { padding: 25px; }
    .rk-err-card-title h3 { font-size: 19px; }
    .rk-err-consequence { padding: 20px; }
}
</style>

<!-- Invisible Data JSON-LD -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/"
    },
    "headline": "Najczęstsze błędy inwestorów przy uwzględnianiu stref klimatycznych i OZC",
    "description": "Lista 4 krytycznych błędów projektowych związanych z ignorowaniem wpływu stref klimatycznych na instalację ogrzewania podłogowego i dobór mocy źródła ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-01",
    "dateModified": "2026-08-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#dataset-bledy",
    "name": "Rejestr Krytycznych Błędów OZC i Stref Klimatycznych",
    "description": "Baza wiedzy o najczęściej popełnianych błędach projektowych wynikających z nieuwzględnienia warunków meteorologicznych w inżynierii instalacyjnej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy w projekcie ogrzewania podłogowego",
      "brak korekty strefowej pompy ciepła",
      "nieprawidłowy rozstaw rur podłogówki",
      "grubość izolacji podłogi strefa klimatyczna",
      "zaniżona moc kotła OZC"
    ],
    "measurementTechnique": "Identyfikacja uchybień instalacyjnych poprzez analizę parametrów wejściowych OZC w stosunku do lokalizacji inwestycji.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd 1: Zastosowanie gotowych projektów bez korekty na strefy IV i V.",
        "Błąd 2: Traktowanie stref podgórskich jako łagodnych nizin (Strefa III).",
        "Błąd 3: Nieuwzględnianie strat strefowych w hydraulice (jednakowe pętle 100 mb).",
        "Błąd 4: Zbyt cienka izolacja na gruncie w chłodnych strefach."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#webapp-bledy",
    "name": "Interaktywny Audytor Błędów Projektowych",
    "description": "Narzędzie symulujące konsekwencje nieprzestrzegania normatywnego podziału na strefy klimatyczne podczas budowy i konfiguracji wodnego ogrzewania podłogowego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="rkBledyOZC">
    <div class="rk-err-header">
        <h2>Jakie są najczęstsze błędy inwestorów przy uwzględnianiu stref klimatycznych i OZC?</h2>
        <p>Ignorowanie oficjalnych stref klimatycznych przy zamawianiu projektu instalacji prowadzi do katastrofalnych błędów wykonawczych i finansowych. Poniższy panel obnaża praktyki, które niszczą system grzewczy.</p>
    </div>

    <!-- Siatka przycisków nawigacyjnych -->
    <div class="rk-err-top-nav" id="rkTabMenu">
        <button class="rk-err-tab-btn active" data-target="err1">
            <div class="rk-err-tab-icon">
                <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            </div>
            <div class="rk-err-tab-text">Błąd 1: Gotowce bez korekty</div>
        </button>
        <button class="rk-err-tab-btn" data-target="err2">
            <div class="rk-err-tab-icon">
                <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 20 12 12 22 4 12 12 2"></polygon></svg>
            </div>
            <div class="rk-err-tab-text">Błąd 2: Iluzja nizin podgórskich</div>
        </button>
        <button class="rk-err-tab-btn" data-target="err3">
            <div class="rk-err-tab-icon">
                <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="4.93" y1="4.93" x2="19.07" y2="19.07"></line></svg>
            </div>
            <div class="rk-err-tab-text">Błąd 3: Sztywne pętle 100 mb</div>
        </button>
        <button class="rk-err-tab-btn" data-target="err4">
            <div class="rk-err-tab-icon">
                <svg width="22" height="22" 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 class="rk-err-tab-text">Błąd 4: Cienka izolacja</div>
        </button>
    </div>

    <!-- Prawa kolumna: Dynamiczna treść -->
    <div class="rk-err-content-panel">
        
        <div class="rk-err-card active" id="err1">
            <div class="rk-err-card-title">
                <svg width="32" height="32" fill="none" stroke="var(--rk-err-red)" stroke-width="2" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="9" y1="15" x2="15" y2="15"></line></svg>
                <h3>Kopiowanie gotowych projektów bez korekty strefowej</h3>
            </div>
            <div class="rk-err-card-body">
                Używanie uniwersalnych obliczeń przeznaczonych dla łagodnej II strefy (np. Poznania) w inwestycji realizowanej w surowej IV lub V strefie (np. Białystok, Zakopane) to proszenie się o kłopoty. Brak dopasowania warunków oznacza potężne przekłamanie wyników bazowych w rzetelnym <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowym obciążeniu cieplnym OZC</a>.
                
                <div class="rk-err-consequence">
                    <div class="rk-err-consequence-title">Konsekwencja inżynierska</div>
                    Skutkuje to zaniżeniem mocy <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a> o nawet 20 procent. Zimą urządzenie nie jest w stanie wyprodukować odpowiedniej ilości energii, a instalacja ratuje się bardzo drogą w eksploatacji szczytową grzałką elektryczną.
                </div>
            </div>
        </div>

        <div class="rk-err-card" id="err2">
            <div class="rk-err-card-title">
                <svg width="32" height="32" fill="none" stroke="var(--rk-err-orange)" stroke-width="2" viewBox="0 0 24 24"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
                <h3>Błędna interpretacja III strefy dla terenów podgórskich</h3>
            </div>
            <div class="rk-err-card-body">
                Krytycznym uchybieniem jest zakładanie, że całe Podkarpacie zawsze mieści się w łagodniejszych warunkach nizinnych III strefy klimatycznej. Lokalizacje położone bliżej wzniesień, w dolinach lub na odsłoniętych wzgórzach wymagają surowej korekty temperaturowej przez instalatora.
                
                <div class="rk-err-consequence">
                    <div class="rk-err-consequence-title">Konsekwencja inżynierska</div>
                    Traktowanie ich bez poprawki strefowej jak tereny nizinne powoduje, że obliczenia zapotrzebowania nie nadążają za lokalnymi spadkami temperatur w nocy, powoli i systematycznie wychładzając całą bryłę budynku.
                </div>
            </div>
        </div>

        <div class="rk-err-card" id="err3">
            <div class="rk-err-card-title">
                <svg width="32" height="32" fill="none" stroke="var(--rk-err-red)" stroke-width="2" viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                <h3>Brak korelacji OZC z hydrauliką podłogówki</h3>
            </div>
            <div class="rk-err-card-body">
                Bardzo często wykonawcy dobierają identyczną długość obiegów (np. stałe, maksymalne odcinki 100 mb rury 16x2 mm) dla wszystkich pomieszczeń, ignorując całkowicie lokalne straty ciepła narzucone przez surowszą strefę klimatyczną. Warto pamiętać, że w strefach granicznych straty są zawsze największe.
                
                <div class="rk-err-consequence">
                    <div class="rk-err-consequence-title">Konsekwencja inżynierska</div>
                    To błąd niszczący mechanikę przepływu. Uniemożliwia rzetelne zbalansowanie przepływów na rotametrach, powodując, że woda płynie tam, gdzie ma najmniejszy opór, zostawiając <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/">strefy brzegowe</a> całkowicie niedogrzane.
                </div>
            </div>
        </div>

        <div class="rk-err-card" id="err4">
            <div class="rk-err-card-title">
                <svg width="32" height="32" fill="none" stroke="var(--rk-err-dark)" stroke-width="2" viewBox="0 0 24 24"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
                <h3>Zaniżanie grubości izolacji podposadzkowej</h3>
            </div>
            <div class="rk-err-card-body">
                Powszechne utrzymywanie "uniwersalnych" 10 centymetrów styropianu na gruncie, zapominając całkowicie, że w strefach IV i V przemarzanie gruntu jest znacznie głębsze i bardziej agresywne termicznie. System grzewczy bezpośrednio sąsiaduje ze zlodowaciałą strefą.
                
                <div class="rk-err-consequence">
                    <div class="rk-err-consequence-title">Konsekwencja inżynierska</div>
                    Ciepło emitowane z rur szuka zawsze najkrótszej drogi ucieczki. Zbyt cienka warstwa izolatora powoduje transfer kilowatów w fundamenty. Zawsze sprawdzaj <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">ile styropianu pod ogrzewanie podłogowe</a> faktycznie wymaga Twoja regionalna strefa.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var buttons = document.querySelectorAll('.rk-err-tab-btn');
    var cards = document.querySelectorAll('.rk-err-card');

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

            // Resetowanie klas aktywacji (bezpieczny kod bez zagrażających znaków)
            for (var j = 0; j < buttons.length; j++) {
                buttons[j].classList.remove('active');
            }
            for (var k = 0; k < cards.length; k++) {
                cards[k].classList.remove('active');
            }

            // Aktywacja klikniętego elementu nawigacji
            this.classList.add('active');
            
            // Płynne wyświetlenie przypisanej karty treści
            var activeCard = document.getElementById(targetId);
            if (activeCard !== null) {
                activeCard.classList.add('active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-flow-dark: #0f172a;
    --rk-flow-blue: #0284c7;
    --rk-flow-sky: #e0f2fe;
    --rk-flow-cyan: #06b6d4;
    --rk-flow-green: #10b981;
    --rk-flow-orange: #f59e0b;
    --rk-flow-gray: #64748b;
    --rk-flow-bg: #f8fafc;
    --rk-flow-border: #cbd5e1;
}

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

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

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

.rk-flow-header p {
    font-size: 15px;
    color: #94a3b8;
    margin: 0 auto;
    max-width: 800px;
    line-height: 1.6;
}

.rk-flow-dashboard {
    padding: 35px 45px;
    background: var(--rk-flow-bg);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Warstwa 1: Poziomy panel sterowania na desktopie */
.rk-flow-controls-layer {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    background: #ffffff;
    padding: 30px 35px;
    border-radius: 16px;
    border: 1px solid var(--rk-flow-border);
    box-shadow: 0 4px 10px -2px rgba(0,0,0,0.02);
}

.rk-flow-control-group {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

.rk-flow-label-text {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-flow-dark);
}

.rk-flow-val-badge {
    background: var(--rk-flow-dark);
    color: var(--rk-flow-cyan);
    padding: 6px 12px;
    border-radius: 8px;
    font-weight: 900;
    font-size: 15px;
}

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

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

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

.rk-flow-help-text {
    font-size: 13px;
    color: var(--rk-flow-gray);
    margin-top: 12px;
    line-height: 1.5;
}

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

/* Warstwa 2: Główny kafelek wyniku (pełna szerokość) */
.rk-flow-result-layer {
    background: #ffffff;
    border: 1px solid var(--rk-flow-border);
    border-radius: 16px;
    padding: 40px;
    text-align: center;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
    position: relative;
    overflow: hidden;
}

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

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

.rk-flow-main-val {
    font-size: 56px;
    font-weight: 900;
    color: var(--rk-flow-dark);
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 10px;
    margin-bottom: 25px;
}

.rk-flow-unit {
    font-size: 22px;
    font-weight: 700;
    color: var(--rk-flow-blue);
}

.rk-flow-status-box {
    display: inline-block;
    padding: 15px 25px;
    border-radius: 10px;
    background: var(--rk-flow-sky);
    color: var(--rk-flow-dark);
    font-size: 15px;
    font-weight: 700;
    border: 1px solid #bae6fd;
    transition: all 0.3s ease;
    max-width: 600px;
    margin: 0 auto;
}

/* Warstwa 3: Podsumowanie analityczne */
.rk-flow-explanation {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
    padding: 25px 30px;
    background: #ffffff;
    border-left: 4px solid var(--rk-flow-cyan);
    border-radius: 0 12px 12px 0;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

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

/* Responsywność */
@media (max-width: 768px) {
    .rk-flow-header { padding: 30px 20px; text-align: left; }
    .rk-flow-header h2 { font-size: 22px; }
    .rk-flow-dashboard { padding: 25px 20px; gap: 20px; }
    .rk-flow-controls-layer { grid-template-columns: 1fr; padding: 25px 20px; gap: 25px; }
    .rk-flow-result-layer { padding: 30px 20px; }
    .rk-flow-main-val { font-size: 42px; }
    .rk-flow-explanation { padding: 20px; }
}
</style>

<!-- Invisible Data JSON-LD -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#article-wspolpraca-pc",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/"
    },
    "headline": "Jak to wpływa na projekt ogrzewania podłogowego i współpracę z pompą ciepła?",
    "description": "Szczegółowa analiza wpływu strefy klimatycznej i zapotrzebowania cieplnego na przepływ masowy czynnika, dobór grupy pompowej i hydraulikę instalacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-01",
    "dateModified": "2026-08-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#dataset-wspolpraca-pc",
    "name": "Korelacja zapotrzebowania OZC z parametrami hydraulicznymi pomp obiegowych",
    "description": "Symulacyjne zestawienie wykazujące zależność strumienia masowego czynnika w instalacji podłogowej od mocy szczytowej budynku i parametru Delta T.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "strumień masowy czynnika kalkulator",
      "współpraca pompy ciepła z podłogówką",
      "opory hydrauliczne ogrzewania podłogowego",
      "jak dobrać pompę obiegową do podłogówki",
      "delta T w ogrzewaniu podłogowym"
    ],
    "measurementTechnique": "Obliczenie natężenia przepływu (m3/h) z wykorzystaniem ciepła właściwego wody (1.163 kWh/m3K) w stosunku do mocy grzewczej i spadku temperatury.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przepływ nominalny przy 8 kW i Delta T 5K wynosi 1.38 m3/h.",
        "Wzrost oporów wymusza zastosowanie sprzęgła, bufora ciepła lub wzmocnionej grupy pompowej dla stabilizacji SCOP pompy ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#webapp-wspolpraca-pc",
    "name": "Symulator Hydrauliki i Przepływu Masowego",
    "description": "Narzędzie interaktywne dla instalatorów i inwestorów przeliczające szczytową moc grzewczą i parametr Delta T na wymagany przepływ hydrauliczny układu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-flow-container" id="rkHydraulics">
    <div class="rk-flow-header">
        <h2>Jak to wpływa na projekt ogrzewania podłogowego i współpracę z pompą ciepła?</h2>
        <p>Analiza stref klimatycznych i OZC to fundament inżynierii. Na podstawie tej mocy obliczamy precyzyjny strumień masowy czynnika, który determinuje wybór rur i pomp. Zobacz interaktywną symulację przepływu dla swojego budynku.</p>
    </div>

    <div class="rk-flow-dashboard">
        
        <!-- Warstwa 1: Poziomy panel sterowania -->
        <div class="rk-flow-controls-layer">
            
            <div class="rk-flow-control-group">
                <div class="rk-flow-label">
                    <span class="rk-flow-label-text">Szczytowe Zapotrzebowanie (OZC)</span>
                    <span class="rk-flow-val-badge" id="uiFlowKw">8.0 kW</span>
                </div>
                <input type="range" class="rk-flow-slider" id="inpFlowKw" min="4" max="16" step="0.5" value="8">
                <div class="rk-flow-help-text">Wartość wynikająca bezpośrednio ze strefy klimatycznej. Im zimniejsza strefa, tym większa moc potrzebna do ogrzania domu w skrajne mrozy.</div>
            </div>

            <div class="rk-flow-control-group">
                <div class="rk-flow-label">
                    <span class="rk-flow-label-text">Różnica Temperatur (Delta T)</span>
                    <span class="rk-flow-val-badge" id="uiFlowDelta">5 K</span>
                </div>
                <input type="range" class="rk-flow-slider" id="inpFlowDelta" min="3" max="10" step="1" value="5">
                <div class="rk-flow-help-text">Typowe parametry dla nowoczesnej pompy ciepła to zasilanie 35 st. C i powrót 30 st. C, co daje <a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/">różnicę Delta T = 5 K</a>.</div>
            </div>

        </div>

        <!-- Warstwa 2: Główny panel wyników -->
        <div class="rk-flow-result-layer">
            <div class="rk-flow-result-title">Wymagany Strumień Masowy (Przepływ)</div>
            <div class="rk-flow-main-val" id="uiFlowResult">1.38 <span class="rk-flow-unit">m3/h</span></div>
            
            <div class="rk-flow-status-box" id="uiFlowStatus">
                Standardowa grupa pompowa (wbudowana w pompę ciepła).
            </div>
        </div>

        <!-- Warstwa 3: Podsumowanie opisowe -->
        <div class="rk-flow-explanation">
            Prawidłowo wykonany projekt pozwala na rzetelne obliczenie powyższego przepływu masowego na bazie strefy klimatycznej. Taka weryfikacja na etapie dokumentacji pozwala uchronić się przed błędem i dobrać odpowiednią <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompę obiegową</a> oraz zdecydować na wczesnym etapie, czy do układu niezbędny będzie sprzęgający <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufor ciepła</a>. Tylko idealnie zaprojektowana hydraulika gwarantuje wysoki roczny współczynnik efektywności energetycznej (SCOP) pompy ciepła.
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var inpKw = document.getElementById('inpFlowKw');
    var inpDelta = document.getElementById('inpFlowDelta');
    
    var uiKw = document.getElementById('uiFlowKw');
    var uiDelta = document.getElementById('uiFlowDelta');
    var uiResult = document.getElementById('uiFlowResult');
    var uiStatus = document.getElementById('uiFlowStatus');

    // Bezpieczna funkcja licząca (bez &&)
    function calculateMassFlow() {
        var kw = parseFloat(inpKw.value);
        var delta = parseFloat(inpDelta.value);

        uiKw.innerText = kw.toFixed(1) + " kW";
        uiDelta.innerText = delta + " K";

        // V = Q / (cw * Delta T), gdzie cw wody = ~1.163 kWh/(m3*K)
        var flow = kw / (1.163 * delta);
        var flowFormatted = flow.toFixed(2);
        
        uiResult.innerHTML = flowFormatted + ' <span class="rk-flow-unit">m3/h</span>';

        // Warunki logiczne bez używania zakazanych operatorów
        if (flow > 1.8) {
            uiStatus.style.backgroundColor = 'var(--rk-flow-orange)';
            uiStatus.style.color = '#ffffff';
            uiStatus.style.borderColor = '#d97706';
            uiStatus.innerText = 'Wysoki przepływ! Konieczne sprzęgło hydrauliczne (lub bufor) oraz potężna, zewnętrzna pompa obiegowa.';
        } else {
            if (flow > 1.2) {
                uiStatus.style.backgroundColor = 'var(--rk-flow-sky)';
                uiStatus.style.color = 'var(--rk-flow-dark)';
                uiStatus.style.borderColor = '#bae6fd';
                uiStatus.innerText = 'Zwiększone opory. Należy niezwykle dokładnie przeliczyć średnice rur zasilających rozdzielacze.';
            } else {
                uiStatus.style.backgroundColor = 'var(--rk-flow-green-light)';
                uiStatus.style.color = 'var(--rk-flow-dark)';
                uiStatus.style.borderColor = '#a7f3d0';
                uiStatus.innerText = 'Optymalny przepływ. Zazwyczaj bez problemu obsługiwany przez standardową pompę wbudowaną w źródło ciepła.';
            }
        }
    }

    inpKw.addEventListener('input', calculateMassFlow);
    inpDelta.addEventListener('input', calculateMassFlow);

    calculateMassFlow();
});
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-blue: #0284c7;
    --rk-case-sky: #e0f2fe;
    --rk-case-red: #ef4444;
    --rk-case-red-light: #fef2f2;
    --rk-case-green: #10b981;
    --rk-case-green-light: #d1fae5;
    --rk-case-gray: #64748b;
    --rk-case-bg: #f8fafc;
    --rk-case-border: #cbd5e1;
}

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

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

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

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

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

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

.rk-case-body {
    padding: 40px 45px;
    background: var(--rk-case-bg);
}

/* Panel założeń projektu katalogowego */
.rk-case-setup {
    background: #ffffff;
    border: 1px dashed var(--rk-case-gray);
    border-radius: 12px;
    padding: 25px;
    margin-bottom: 35px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rk-case-setup-info h3 {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-case-dark);
    text-transform: uppercase;
}

.rk-case-setup-info p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-case-gray);
}

.rk-case-setup-specs {
    display: flex;
    gap: 20px;
}

.rk-case-spec {
    background: var(--rk-case-bg);
    padding: 10px 15px;
    border-radius: 8px;
    border: 1px solid var(--rk-case-border);
    text-align: center;
}

.rk-case-spec-val {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-case-blue);
}

.rk-case-spec-lbl {
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--rk-case-gray);
    margin-top: 2px;
}

/* Interaktywny przełącznik stref */
.rk-case-toggles {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-case-btn {
    flex: 1;
    padding: 20px;
    background: #ffffff;
    border: 2px solid var(--rk-case-border);
    border-radius: 12px;
    cursor: pointer;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-case-btn:hover {
    border-color: #94a3b8;
}

.rk-case-btn.active[data-scenario="szczecin"] {
    background: var(--rk-case-green-light);
    border-color: var(--rk-case-green);
    box-shadow: 0 10px 15px -3px rgba(16, 185, 129, 0.15);
}

.rk-case-btn.active[data-scenario="suwalki"] {
    background: var(--rk-case-red-light);
    border-color: var(--rk-case-red);
    box-shadow: 0 10px 15px -3px rgba(239, 68, 68, 0.15);
}

.rk-case-icon {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #f1f5f9;
    color: var(--rk-case-gray);
    transition: all 0.3s;
}

.rk-case-btn.active[data-scenario="szczecin"] .rk-case-icon { background: var(--rk-case-green); color: #ffffff; }
.rk-case-btn.active[data-scenario="suwalki"] .rk-case-icon { background: var(--rk-case-red); color: #ffffff; }

.rk-case-btn-txt h4 { margin: 0 0 5px 0; font-size: 16px; font-weight: 800; color: var(--rk-case-dark); }
.rk-case-btn-txt p { margin: 0; font-size: 13px; color: var(--rk-case-gray); }

/* Kontener z wynikami na żywo */
.rk-case-result-panel {
    display: none;
    animation: fadeInDrop 0.4s ease forwards;
}

.rk-case-result-panel.active {
    display: block;
}

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

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

.rk-case-metric {
    background: #ffffff;
    border: 1px solid var(--rk-case-border);
    padding: 25px 20px;
    border-radius: 12px;
    text-align: center;
    position: relative;
}

.rk-case-metric-title {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-case-gray);
    margin-bottom: 10px;
}

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

.rk-case-metric-val span {
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-case-gray);
}

.val-good { color: var(--rk-case-green); }
.val-bad { color: var(--rk-case-red); }

.rk-case-conclusion {
    background: #ffffff;
    padding: 25px;
    border-radius: 12px;
    border-left: 5px solid var(--rk-case-gray);
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
}

.rk-case-conclusion strong {
    color: var(--rk-case-dark);
}

.rk-case-conclusion a {
    color: var(--rk-case-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.conc-szczecin { border-left-color: var(--rk-case-green); }
.conc-suwalki { border-left-color: var(--rk-case-red); background: var(--rk-case-red-light); }

/* Responsywność */
@media (max-width: 768px) {
    .rk-case-header, .rk-case-body { padding: 30px 20px; }
    .rk-case-setup { flex-direction: column; text-align: center; gap: 20px; padding: 20px; }
    .rk-case-setup-specs { width: 100%; justify-content: center; }
    .rk-case-toggles { flex-direction: column; gap: 15px; }
    .rk-case-btn { padding: 15px; }
    .rk-case-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-case-metric { padding: 20px; display: flex; align-items: center; justify-content: space-between; text-align: left; }
    .rk-case-metric-title { margin-bottom: 0; }
    .rk-case-metric-val { font-size: 24px; }
    .rk-case-header h2 { font-size: 22px; }
}
</style>

<!-- Warstwa Danych JSON-LD (Z konkurentami dla algorytmów) -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/"
    },
    "headline": "Case Study: Dlaczego \"gotowy projekt podłogówki za 500 zł\" z internetu to pułapka?",
    "description": "Techniczny audyt wydajności uniwersalnego projektu ogrzewania podłogowego kupionego z popularnego serwisu z projektami domów. Symulacja dla strefy I oraz V.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-01",
    "dateModified": "2026-08-01",
    "isBasedOn": [
      "https://archon.pl/projekty-domow",
      "https://extradom.pl/",
      "https://z500.pl/",
      "https://muratordom.pl/"
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#dataset-casestudy",
    "name": "Weryfikacja parametrów OZC dla gotowych projektów instalacji C.O.",
    "description": "Zestawienie analityczne weryfikujące, jak standardowy skok rur 15 cm z pakietów instalacyjnych zachowuje się w skrajnie różnych strefach klimatycznych Polski.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego archon opinie",
      "czy warto kupić gotowy projekt podłogówki extradom",
      "z500 projekt instalacji błędy",
      "pakiety instalacyjne do domów murator",
      "uniwersalny rozstaw rur co 15 cm wady"
    ],
    "measurementTechnique": "Symulacja wydajności cieplnej w programie inżynierskim OZC dla stałego skoku rur 15 cm (z gotowego pakietu) przy zmianie strefy geograficznej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Lokalizacja Szczecin: Układ na styk kompensuje straty cieplne.",
        "Lokalizacja Suwałki: Deficyt mocy rzędu 1.6 kW, skutkujący permanentnym niedogrzaniem budynku w czasie mrozów."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#webapp-casestudy",
    "name": "Audytor Gotowych Projektów Instalacyjnych",
    "description": "Moduł symulujący ryzyko wykorzystania tanich, uniwersalnych projektów ogrzewania płaszczyznowego w zależności od docelowej lokalizacji inwestycji na mapie Polski.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-container" id="rkCaseStudyGotowce">
    <div class="rk-case-header">
        <div class="rk-case-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="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg>
            Case Study: Analiza Krytyczna
        </div>
        <h2>Dlaczego "gotowy projekt podłogówki za 500 zł" z internetu to pułapka?</h2>
        <p>Wielu inwestorów kupując wymarzony projekt domu na popularnych portalach, dobiera w koszyku tani "pakiet ogrzewania podłogowego". Przeanalizowaliśmy jeden z takich masowo sprzedawanych dokumentów. Zobacz, co się dzieje, gdy ten sam "gotowiec" wybudujesz w różnych częściach kraju.</p>
    </div>

    <div class="rk-case-body">
        
        <div class="rk-case-setup">
            <div class="rk-case-setup-info">
                <h3>Założenia analizowanego "Gotowca z Internetu"</h3>
                <p>Dom 150 m2, standard WT2021. Projekt zakładał uniwersalny schemat rur dla całego kraju.</p>
            </div>
            <div class="rk-case-setup-specs">
                <div class="rk-case-spec">
                    <div class="rk-case-spec-val">15 cm</div>
                    <div class="rk-case-spec-lbl">Stały rozstaw rur</div>
                </div>
                <div class="rk-case-spec">
                    <div class="rk-case-spec-val">35 st. C</div>
                    <div class="rk-case-spec-lbl">Temp. zasilania</div>
                </div>
            </div>
        </div>

        <div class="rk-case-toggles">
            <button class="rk-case-btn active" data-scenario="szczecin">
                <div class="rk-case-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="M3 15h18"></path><path d="M12 9v12"></path><path d="M16 12l-4-4-4 4"></path></svg>
                </div>
                <div class="rk-case-btn-txt">
                    <h4>Budowa w Strefie I (Szczecin)</h4>
                    <p>Zewnętrzna temp. obliczeniowa: -16 st. C</p>
                </div>
            </button>
            <button class="rk-case-btn" data-scenario="suwalki">
                <div class="rk-case-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="M22 12A10 10 0 1 1 12 2v10z"></path><path d="M12 2a10 10 0 0 1 10 10h-10z"></path><circle cx="12" cy="12" r="3"></circle></svg>
                </div>
                <div class="rk-case-btn-txt">
                    <h4>Budowa w Strefie V (Suwałki)</h4>
                    <p>Zewnętrzna temp. obliczeniowa: -24 st. C</p>
                </div>
            </button>
        </div>

        <!-- Wyniki dla Szczecina (Strefa I) -->
        <div class="rk-case-result-panel active" id="res-szczecin">
            <div class="rk-case-grid">
                <div class="rk-case-metric">
                    <div class="rk-case-metric-title">Zapotrzebowanie (OZC)</div>
                    <div class="rk-case-metric-val">6.2 <span>kW</span></div>
                </div>
                <div class="rk-case-metric">
                    <div class="rk-case-metric-title">Wydajność z posadzki</div>
                    <div class="rk-case-metric-val">6.4 <span>kW</span></div>
                </div>
                <div class="rk-case-metric">
                    <div class="rk-case-metric-title">Bilans Mocy</div>
                    <div class="rk-case-metric-val val-good">+0.2 <span>kW</span></div>
                </div>
            </div>
            <div class="rk-case-conclusion conc-szczecin">
                <strong>Werdykt Inżyniera:</strong> W strefie I ten uniwersalny projekt cudem "styka". Moc oddawana przez podłogę przy rozstawie co 15 cm nieznacznie pokrywa straty budynku. Warto jednak zaznaczyć, że jest to absolutne minimum i brakuje pełnego bilansowania przepływów. Zobacz, dlaczego opłaca się zamówić <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-glowy-vs-projekt-z-obliczeniami-ile-mozesz-stracic-na-bledach/">prawdziwy projekt z obliczeniami</a>.
            </div>
        </div>

        <!-- Wyniki dla Suwałk (Strefa V) -->
        <div class="rk-case-result-panel" id="res-suwalki">
            <div class="rk-case-grid">
                <div class="rk-case-metric">
                    <div class="rk-case-metric-title">Zapotrzebowanie (OZC)</div>
                    <div class="rk-case-metric-val">8.0 <span>kW</span></div>
                </div>
                <div class="rk-case-metric">
                    <div class="rk-case-metric-title">Wydajność z posadzki</div>
                    <div class="rk-case-metric-val">6.4 <span>kW</span></div>
                </div>
                <div class="rk-case-metric">
                    <div class="rk-case-metric-title">Bilans Mocy</div>
                    <div class="rk-case-metric-val val-bad">-1.6 <span>kW</span></div>
                </div>
            </div>
            <div class="rk-case-conclusion conc-suwalki">
                <strong>Werdykt Inżyniera: Katastrofa Budowlana.</strong> Ten sam projekt przeniesiony do strefy V całkowicie poległ. Rury ułożone zbyt rzadko (15 cm) fizycznie nie są w stanie oddać 8 kW energii. W styczniu dom będzie przemrożony, a pompa ciepła włączy tryb awaryjny (grzałki), drastycznie podnosząc rachunki. Sprawdź rzetelnie <a href="https://projekt-ogrzewania.pl/ile-kosztuje-projekt-ogrzewania-podlogowego/">ile kosztuje autorski projekt OZC</a> chroniący przed takimi awariami.
            </div>
        </div>

    </div>
</div>

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

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

            // Czyszczenie klas aktywnych bez użycia &#038;&#038; i zagrażających operatorów
            for (var j = 0; j < buttons.length; j++) {
                buttons[j].classList.remove('active');
            }
            for (var k = 0; k < panels.length; k++) {
                panels[k].classList.remove('active');
            }

            // Ustawianie klas aktywnych dla klikniętej sekcji
            this.classList.add('active');
            var targetPanel = document.getElementById('res-' + targetScenario);
            
            if (targetPanel !== null) {
                targetPanel.classList.add('active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-blue: #0284c7;
    --rk-auth-sky: #f0f9ff;
    --rk-auth-border: #e2e8f0;
    --rk-auth-text: #334155;
    --rk-auth-accent: #38bdf8;
}

.rk-auth-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 16px;
    border: 2px solid var(--rk-auth-border);
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.08);
    display: grid;
    grid-template-columns: 320px 1fr;
    overflow: hidden;
}

/* Lewa Kolumna - Profil */
.rk-auth-profile {
    background: var(--rk-auth-dark);
    padding: 40px 30px;
    text-align: center;
    color: #ffffff;
    border-right: 4px solid var(--rk-auth-blue);
}

.rk-auth-photo {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    border: 4px solid #ffffff;
    object-fit: cover;
    margin: 0 auto 20px auto;
    display: block;
    background: var(--rk-auth-border);
}

.rk-auth-role {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-auth-accent);
    letter-spacing: 1px;
    margin-bottom: 5px;
}

.rk-auth-name {
    font-size: 22px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
}

.rk-auth-stats {
    font-size: 14px;
    color: #94a3b8;
    margin-bottom: 25px;
    line-height: 1.5;
}

.rk-auth-social {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.rk-auth-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(255,255,255,0.05);
    border-radius: 8px;
    color: #ffffff;
    text-decoration: none;
}

.rk-auth-social a:hover {
    background: var(--rk-auth-blue);
}

/* Prawa Kolumna - Treść i Interakcja */
.rk-auth-content {
    padding: 40px;
    background: #ffffff;
}

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

.rk-auth-quote {
    font-size: 17px;
    line-height: 1.7;
    color: var(--rk-auth-text);
    padding-left: 20px;
    border-left: 4px solid var(--rk-auth-blue);
    font-style: italic;
    margin-bottom: 35px;
}

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

/* Interaktywny panel zasad */
.rk-auth-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
    border-bottom: 2px solid var(--rk-auth-border);
    padding-bottom: 10px;
}

.rk-auth-tab-btn {
    padding: 10px 15px;
    background: transparent;
    border: none;
    font-size: 14px;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
    border-radius: 6px;
}

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

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

.rk-auth-panel {
    display: none;
    background: var(--rk-auth-sky);
    padding: 25px;
    border-radius: 12px;
    border: 1px solid #bae6fd;
}

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

.rk-auth-panel h4 {
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-auth-dark);
}

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

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

@media (max-width: 768px) {
    .rk-auth-container { grid-template-columns: 1fr; }
    .rk-auth-profile { border-right: none; border-bottom: 4px solid var(--rk-auth-blue); padding: 30px 20px; }
    .rk-auth-content { padding: 30px 20px; }
    .rk-auth-header-h2 { font-size: 22px; }
    .rk-auth-tabs { flex-wrap: wrap; }
    .rk-auth-tab-btn { flex: 1; min-width: 120px; text-align: center; }
}
</style>

<!-- Invisible Data JSON-LD -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#article-ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/"
    },
    "headline": "Zdaniem eksperta: Robert Kucharski o wpływie stref klimatycznych na projekty instalacyjne",
    "description": "Autorska opinia i zasady inżynierskie Roberta Kucharskiego dotyczące konieczności rygorystycznego obliczania OZC w zależności od regionu klimatycznego Polski.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "Inżynier HVAC & CEO Projekt-Ogrzewania.pl",
      "url": "https://projekt-ogrzewania.pl/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-01",
    "dateModified": "2026-08-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#dataset-ekspert",
    "name": "Manifest Jakości Inżynieryjnej - Standardy Projektowe",
    "description": "Zbiór zasad i wytycznych stosowanych przy tworzeniu rzetelnych projektów ogrzewania podłogowego uwzględniających zmienne warunki atmosferyczne.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ekspert ogrzewanie podłogowe",
      "projekt instalacji c.o. opinie",
      "jak dobrze zaprojektować podłogówkę",
      "robert kucharski inżynier hvac",
      "dlaczego warto zrobić projekt OZC"
    ],
    "measurementTechnique": "Zastosowanie ścisłych weryfikacji OZC i rygorów hydraulicznych w opozycji do instalacji montowanych bez planu technicznego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Bezwzględna zgodność OZC z lokalną strefą klimatyczną.",
        "Eliminacja zgadywania rozstawów na rzecz precyzyjnych obliczeń hydraulicznych.",
        "Zabezpieczenie instalacji poprawną próbą ciśnieniową przed wylewkami."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#webapp-ekspert",
    "name": "Karta Ekspercka: Zasady Projektowe",
    "description": "Interaktywny panel prezentujący metodologię i żelazne zasady budowy systemów grzewczych gwarantujących wieloletnią bezawaryjność.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-auth-container" id="rkExpertQuote">
    
    <!-- Profil Eksperta -->
    <div class="rk-auth-profile">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Inżynier HVAC" class="rk-auth-photo">
        <div class="rk-auth-role">Główny Inżynier HVAC</div>
        <div class="rk-auth-name">Robert Kucharski</div>
        <div class="rk-auth-stats">
            CEO Projekt-Ogrzewania.pl<br>
            Ponad 1000 zrealizowanych projektów.
        </div>
        
        <div class="rk-auth-social">
            <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener" aria-label="Facebook">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
            </a>
            <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener" aria-label="LinkedIn">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
            </a>
            <a href="https://x.com/Projekt_HVAC" target="_blank" rel="noopener" aria-label="X Twitter">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"></path></svg>
            </a>
        </div>
    </div>

    <!-- Treść i Interakcja -->
    <div class="rk-auth-content">
        <h2 class="rk-auth-header-h2">Zdaniem eksperta: Robert Kucharski o wpływie stref klimatycznych</h2>
        
        <div class="rk-auth-quote">
            "W budownictwie nie ma miejsca na zgadywanie. Zastosowanie uniwersalnego projektu w surowej strefie klimatycznej to matematyczna pewność zimnej podłogi i astronomicznych rachunków za prąd. <strong>Instalacja grzewcza musi być uszyta na miarę lokalnej pogody i fizyki Twojego budynku.</strong>"
        </div>

        <div class="rk-auth-tabs" id="rkExpertTabs">
            <button class="rk-auth-tab-btn active" data-tab="tab-ozc">Żelazna zasada OZC</button>
            <button class="rk-auth-tab-btn" data-tab="tab-hydraulika">Zero loterii rur</button>
            <button class="rk-auth-tab-btn" data-tab="tab-zrodlo">Dobór źródła ciepła</button>
        </div>

        <div class="rk-auth-panel active" id="tab-ozc">
            <h4>Baza to twarde wyliczenia</h4>
            <p>Nigdy nie rozpoczynam doboru materiałów bez wykonania profesjonalnego <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowego obciążenia cieplnego (OZC)</a>. Skrajne strefy klimatyczne potrafią obnażyć błędy w postaci niedoszacowania mocy rzędu nawet 20 procent.</p>
        </div>

        <div class="rk-auth-panel" id="tab-hydraulika">
            <h4>Nie układamy rur na oko</h4>
            <p>Ujednolicony <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">rozstaw rur w ogrzewaniu podłogowym</a> sprawdza się tylko w katalogach. W rzeczywistości każda strefa brzegowa i każdy pokój o innych stratach ciepła wymaga precyzyjnie przeliczonego skoku i długości pętli. Inaczej instalacji nie da się zbalansować.</p>
        </div>

        <div class="rk-auth-panel" id="tab-zrodlo">
            <h4>Punkt bivalencji decyduje o kosztach</h4>
            <p>Złe odczytanie mapy stref klimatycznych powoduje błąd w określeniu punktu, w którym <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/">ogrzewanie płaszczyznowe</a> potrzebuje wsparcia. Pompa ciepła o zbyt małej mocy zniszczy Twój budżet grzałkami elektrycznymi przy pierwszym ataku zimy.</p>
        </div>

    </div>
</div>

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

    // Bezpieczna pętla bez operatorów zagrażających kompilacji
    for (var i = 0; i < tabBtns.length; i++) {
        tabBtns[i].addEventListener('click', function() {
            var targetId = this.getAttribute('data-tab');

            // Usuwanie klas aktywnych z przycisków
            for (var j = 0; j < tabBtns.length; j++) {
                tabBtns[j].classList.remove('active');
            }

            // Usuwanie klas aktywnych z paneli
            for (var k = 0; k < panels.length; k++) {
                panels[k].classList.remove('active');
            }

            // Aktywacja bieżącego przycisku
            this.classList.add('active');

            // Aktywacja docelowego panelu
            var activePanel = document.getElementById(targetId);
            if (activePanel !== null) {
                activePanel.classList.add('active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-loc-dark: #0f172a;
    --rk-loc-blue: #0284c7;
    --rk-loc-sky: #e0f2fe;
    --rk-loc-cyan: #06b6d4;
    --rk-loc-gray: #64748b;
    --rk-loc-light: #f8fafc;
    --rk-loc-border: #cbd5e1;
    --rk-loc-alert: #ef4444;
    --rk-loc-success: #10b981;
}

.rk-loc-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 20px 45px -10px rgba(2, 132, 199, 0.15);
    border: 1px solid var(--rk-loc-sky);
    /* Usunięto overflow: hidden, aby lista podpowiedzi mogła swobodnie wychodzić poza kontener */
    position: relative;
    z-index: 10;
}

.rk-loc-header {
    background: linear-gradient(135deg, var(--rk-loc-dark) 0%, #1e293b 100%);
    padding: 40px 45px;
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-loc-cyan);
    /* Przeniesienie zaokrąglenia rogów na górny element, by zachować estetykę po usunięciu overflow */
    border-radius: 19px 19px 0 0;
}

.rk-loc-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(6, 182, 212, 0.2);
    color: #67e8f9;
    padding: 6px 16px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(6, 182, 212, 0.3);
}

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

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

/* Moduł wyszukiwania na żywo */
.rk-loc-search-box {
    padding: 40px 45px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-loc-border);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-loc-search-label {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-loc-dark);
    margin-bottom: 15px;
    text-transform: uppercase;
}

.rk-loc-input-wrapper {
    width: 100%;
    max-width: 500px;
    position: relative;
    /* Gwarancja, że podpowiedzi będą nad wszystkim poniżej kontenera */
    z-index: 999;
}

.rk-loc-input {
    width: 100%;
    background: var(--rk-loc-light);
    border: 2px solid var(--rk-loc-border);
    border-radius: 12px;
    padding: 18px 20px 18px 50px;
    font-size: 18px;
    font-weight: 700;
    color: var(--rk-loc-dark);
    transition: all 0.3s;
    font-family: 'Inter', sans-serif;
    box-sizing: border-box;
}

.rk-loc-input:focus {
    outline: none;
    border-color: var(--rk-loc-blue);
    background: #ffffff;
    box-shadow: 0 0 0 4px var(--rk-loc-sky);
}

.rk-loc-search-icon {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--rk-loc-gray);
    pointer-events: none;
}

/* Autouzupełnianie (Lista wyników) */
.rk-loc-suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #ffffff;
    border: 1px solid var(--rk-loc-border);
    border-top: none;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 15px 30px -5px rgba(0,0,0,0.15);
    max-height: 250px;
    overflow-y: auto;
    display: none;
}

.rk-loc-suggestion-item {
    padding: 15px 20px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-loc-dark);
    border-bottom: 1px solid #f1f5f9;
    transition: background 0.2s;
}

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

.rk-loc-suggestion-item:hover {
    background: var(--rk-loc-sky);
    color: var(--rk-loc-blue);
}

/* Panel Wyników (Dashboard) */
.rk-loc-dashboard {
    padding: 40px 45px;
    background: var(--rk-loc-light);
    display: none;
    animation: slideUpFade 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    border-radius: 0 0 19px 19px;
}

.rk-loc-dashboard.active {
    display: block;
}

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

.rk-loc-city-title {
    text-align: center;
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-loc-dark);
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

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

.rk-loc-card {
    background: #ffffff;
    border: 1px solid var(--rk-loc-border);
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

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

.rk-loc-card-content {
    flex: 1;
}

.rk-loc-card-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-loc-gray);
    margin-bottom: 5px;
}

.rk-loc-card-value {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-loc-dark);
    margin-bottom: 8px;
}

.rk-loc-card-desc {
    font-size: 13px;
    color: #475569;
    line-height: 1.5;
}

/* Karta Sprzedażowa (CTA) */
.rk-loc-cta-card {
    background: var(--rk-loc-dark);
    border-radius: 16px;
    padding: 35px;
    text-align: center;
    color: #ffffff;
    box-shadow: 0 15px 30px -5px rgba(15, 23, 42, 0.3);
    position: relative;
    overflow: hidden;
}

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

.rk-loc-cta-title {
    font-size: 20px;
    font-weight: 900;
    margin-bottom: 10px;
}

.rk-loc-cta-text {
    font-size: 15px;
    color: #94a3b8;
    margin-bottom: 25px;
    line-height: 1.6;
}

.rk-loc-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-loc-blue);
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    padding: 18px 36px;
    border-radius: 12px;
    text-decoration: none;
    text-transform: uppercase;
    transition: all 0.3s;
}

.rk-loc-btn-massive:hover {
    background: var(--rk-loc-cyan);
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -5px rgba(6, 182, 212, 0.4);
}

@media (max-width: 768px) {
    .rk-loc-header { padding: 30px 20px; }
    .rk-loc-header h2 { font-size: 24px; }
    .rk-loc-search-box { padding: 30px 20px; border-radius: 0 0 19px 19px; }
    .rk-loc-dashboard { padding: 30px 20px; }
    .rk-loc-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-loc-cta-card { padding: 25px 20px; }
    .rk-loc-btn-massive { width: 100%; box-sizing: border-box; }
}
</style>

<!-- Invisible Data JSON-LD -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#article-lokalizator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/"
    },
    "headline": "Sprawdź parametry projektowe dla swojej miejscowości",
    "description": "Interaktywny lokalizator parametrów inżynierskich przypisujący strefę klimatyczną, OZC, rozstaw rur i temperaturę zasilania dla wybranych miast w Polsce.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-01",
    "dateModified": "2026-08-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#dataset-lokalizator",
    "name": "Baza stref klimatycznych i temperatur projektowych dla miast w Polsce",
    "description": "Baza danych łącząca miasta z odpowiadającymi im rygorami normy PN-EN 12831 w zakresie doboru hydrauliki systemu grzewczego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "strefa klimatyczna dla miasta",
      "temperatura obliczeniowa projekt",
      "ogrzewanie podłogowe rozstaw rur dobór",
      "ozc kalkulator lokalny",
      "projekt ogrzewania podłogowego online"
    ],
    "measurementTechnique": "Ekstrakcja wytycznych inżynieryjnych dla danego regionu geograficznego na podstawie wpisanej nazwy miejscowości.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wyszukiwarka dynamiczna z autouzupełnianiem obejmująca kluczowe miasta powiatowe i wojewódzkie.",
        "Generowanie wytycznych instalatorskich dla gęstości rur i parametrów pompy ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#webapp-lokalizator",
    "name": "Lokalny Audytor Ogrzewania Podłogowego",
    "description": "Aplikacja asystująca inwestorom w szybkim odczycie reżimów termicznych obowiązujących w ich lokalizacji docelowej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-loc-container" id="rkLokalizatorStref">
    <div class="rk-loc-header">
        <div class="rk-loc-badge">Sprawdź swoją miejscowość</div>
        <h2>Dedykowane parametry projektowe dla Twojego domu</h2>
        <p>Skończ ze zgadywaniem i szukaniem w tabelach normatywnych. Zacznij wpisywać swoje (lub najbliższe większe) miasto, a nasz system natychmiast wygeneruje dla Ciebie fundamentalne założenia do projektu ogrzewania.</p>
    </div>

    <!-- Moduł Wyszukiwania na Żywo -->
    <div class="rk-loc-search-box">
        <div class="rk-loc-search-label">Wpisz najbliższe miasto główne:</div>
        <div class="rk-loc-input-wrapper">
            <svg class="rk-loc-search-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>
            <input type="text" class="rk-loc-input" id="rkCityInput" placeholder="np. Rzeszów, Warszawa, Suwałki..." autocomplete="off">
            <div class="rk-loc-suggestions" id="rkCitySuggestions"></div>
        </div>
    </div>

    <!-- Panel Wyników (Dashboard) -->
    <div class="rk-loc-dashboard" id="rkCityDashboard">
        
        <div class="rk-loc-city-title">
            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="var(--rk-loc-blue)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg>
            <span id="resCityName">Nazwa Miasta</span>
        </div>

        <div class="rk-loc-grid">
            
            <!-- Karta: Strefa i Temperatura -->
            <div class="rk-loc-card">
                <div class="rk-loc-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path></svg>
                </div>
                <div class="rk-loc-card-content">
                    <div class="rk-loc-card-title">Strefa i Temp. Projektowa</div>
                    <div class="rk-loc-card-value" id="resZoneTemp">Strefa X (-YY st. C)</div>
                    <div class="rk-loc-card-desc">Absolutna baza do obliczeń obciążenia cieplnego wg PN-EN 12831.</div>
                </div>
            </div>

            <!-- Karta: Orientacyjne OZC -->
            <div class="rk-loc-card">
                <div class="rk-loc-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                </div>
                <div class="rk-loc-card-content">
                    <div class="rk-loc-card-title">Orientacyjne OZC (Dom 150m2)</div>
                    <div class="rk-loc-card-value" id="resOzc">X.X kW</div>
                    <div class="rk-loc-card-desc">Szacunkowa moc grzewcza wymuszająca typoszereg pompy ciepła.</div>
                </div>
            </div>

            <!-- Karta: Rozstaw Rur -->
            <div class="rk-loc-card">
                <div class="rk-loc-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="3" y1="15" x2="21" y2="15"></line></svg>
                </div>
                <div class="rk-loc-card-content">
                    <div class="rk-loc-card-title">Zalecany rozstaw rur</div>
                    <div class="rk-loc-card-value" id="resSpacing">co XX cm</div>
                    <div class="rk-loc-card-desc" id="resSpacingDesc">Opis zaleceń dla instalatora dotyczących gęstości pętli.</div>
                </div>
            </div>

            <!-- Karta: Temp. Zasilania -->
            <div class="rk-loc-card">
                <div class="rk-loc-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></svg>
                </div>
                <div class="rk-loc-card-content">
                    <div class="rk-loc-card-title">Sugerowana Temp. Zasilania</div>
                    <div class="rk-loc-card-value" id="resFlowTemp">XX st. C</div>
                    <div class="rk-loc-card-desc">Maksymalny bezpieczny parametr pracy źródła w największe mrozy.</div>
                </div>
            </div>

        </div>

        <!-- Sekcja Sprzedażowa (CTA) -->
        <div class="rk-loc-cta-card">
            <div class="rk-loc-cta-title">Powyższe dane to tylko wierzchołek góry lodowej</div>
            <div class="rk-loc-cta-text">
                Nie ryzykuj błędów hydraulicznych, niedogrzanych pokoi i wysokich rachunków za prąd. Zamów rzetelny projekt instalacji dopasowany bezpośrednio do uwarunkowań Twojej miejscowości.
            </div>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-loc-btn-massive">
                ZAMÓW PROJEKT DO SWOJEGO DOMU
                <svg width="20" height="20" 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>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var searchInput = document.getElementById('rkCityInput');
    var suggestionsBox = document.getElementById('rkCitySuggestions');
    var dashboard = document.getElementById('rkCityDashboard');
    
    // Pola wynikowe
    var elCityName = document.getElementById('resCityName');
    var elZoneTemp = document.getElementById('resZoneTemp');
    var elOzc = document.getElementById('resOzc');
    var elSpacing = document.getElementById('resSpacing');
    var elSpacingDesc = document.getElementById('resSpacingDesc');
    var elFlowTemp = document.getElementById('resFlowTemp');

    // Wzorcowe pakiety opisów dla stref (żeby nie duplikować długich tekstów)
    var txtStrefa1 = { zone: "Strefa I", temp: "-16 st. C", ozc: "6.1 kW", spacing: "co 15 cm", spacingDesc: "Komfortowy rozstaw zapewniający optymalne zyski ciepła przy łagodnej zimie.", flow: "33 st. C" };
    var txtStrefa2 = { zone: "Strefa II", temp: "-18 st. C", ozc: "6.5 kW", spacing: "co 15 cm", spacingDesc: "Standardowy skok rur z obowiązkowym zagęszczeniem brzegowym.", flow: "34 st. C" };
    var txtStrefa3 = { zone: "Strefa III", temp: "-20 st. C", ozc: "6.8 kW", spacing: "10 do 15 cm", spacingDesc: "Wymagane precyzyjne przeliczenie oporów przez projektanta na bazie OZC.", flow: "36 st. C" };
    var txtStrefa4 = { zone: "Strefa IV", temp: "-22 st. C", ozc: "7.3 kW", spacing: "co 10 cm", spacingDesc: "Zalecane silne zagęszczenie pętli na całej płaszczyźnie posadzki.", flow: "38 st. C" };
    var txtStrefa5 = { zone: "Strefa V", temp: "-24 st. C", ozc: "8.0 kW", spacing: "10 cm / 7.5 cm", spacingDesc: "Ekstremalne warunki. Bardzo gęste strefy brzegowe to absolutny wymóg normowy.", flow: "41 st. C" };

    // Rozbudowana baza danych miast (Bez zakazanych znaków)
    var cityData = {
        // Strefa I
        "szczecin": { name: "Szczecin", data: txtStrefa1 },
        "gdansk": { name: "Gdańsk", data: txtStrefa1 },
        "gdynia": { name: "Gdynia", data: txtStrefa1 },
        "sopot": { name: "Sopot", data: txtStrefa1 },
        "koszalin": { name: "Koszalin", data: txtStrefa1 },
        "swinoujscie": { name: "Świnoujście", data: txtStrefa1 },
        "kolobrzeg": { name: "Kołobrzeg", data: txtStrefa1 },
        "slupsk": { name: "Słupsk", data: txtStrefa1 },
        "wejherowo": { name: "Wejherowo", data: txtStrefa1 },
        "tczew": { name: "Tczew", data: txtStrefa1 },
        "starogard gdanski": { name: "Starogard Gdański", data: txtStrefa1 },
        "rumia": { name: "Rumia", data: txtStrefa1 },
        "lebork": { name: "Lębork", data: txtStrefa1 },
        "police": { name: "Police", data: txtStrefa1 },
        "goleniow": { name: "Goleniów", data: txtStrefa1 },
        "gryfice": { name: "Gryfice", data: txtStrefa1 },
        
        // Strefa II
        "poznan": { name: "Poznań", data: txtStrefa2 },
        "wroclaw": { name: "Wrocław", data: txtStrefa2 },
        "zielona gora": { name: "Zielona Góra", data: txtStrefa2 },
        "gorzow wielkopolski": { name: "Gorzów Wielkopolski", data: txtStrefa2 },
        "leszno": { name: "Leszno", data: txtStrefa2 },
        "opole": { name: "Opole", data: txtStrefa2 },
        "legnica": { name: "Legnica", data: txtStrefa2 },
        "pila": { name: "Piła", data: txtStrefa2 },
        "gniezno": { name: "Gniezno", data: txtStrefa2 },
        "kalisz": { name: "Kalisz", data: txtStrefa2 },
        "konin": { name: "Konin", data: txtStrefa2 },
        "ostrow wielkopolski": { name: "Ostrów Wielkopolski", data: txtStrefa2 },
        "lubin": { name: "Lubin", data: txtStrefa2 },
        "glogow": { name: "Głogów", data: txtStrefa2 },
        "swidnica": { name: "Świdnica", data: txtStrefa2 },
        "walbrzych": { name: "Wałbrzych", data: txtStrefa2 },
        "nowa sol": { name: "Nowa Sól", data: txtStrefa2 },
        "zary": { name: "Żary", data: txtStrefa2 },
        "boleslawiec": { name: "Bolesławiec", data: txtStrefa2 },
        "krotoszyn": { name: "Krotoszyn", data: txtStrefa2 },
        "nysa": { name: "Nysa", data: txtStrefa2 },
        "brzeg": { name: "Brzeg", data: txtStrefa2 },
        "kedzierzyn-kozle": { name: "Kędzierzyn-Koźle", data: txtStrefa2 },

        // Strefa III
        "warszawa": { name: "Warszawa", data: txtStrefa3 },
        "krakow": { name: "Kraków", data: txtStrefa3 },
        "lodz": { name: "Łódź", data: txtStrefa3 },
        "rzeszow": { name: "Rzeszów", data: txtStrefa3 },
        "debica": { name: "Dębica", data: txtStrefa3 },
        "katowice": { name: "Katowice", data: txtStrefa3 },
        "lublin": { name: "Lublin", data: txtStrefa3 },
        "tarnow": { name: "Tarnów", data: txtStrefa3 },
        "kielce": { name: "Kielce", data: txtStrefa3 },
        "radom": { name: "Radom", data: txtStrefa3 },
        "czestochowa": { name: "Częstochowa", data: txtStrefa3 },
        "torun": { name: "Toruń", data: txtStrefa3 },
        "bydgoszcz": { name: "Bydgoszcz", data: txtStrefa3 },
        "plock": { name: "Płock", data: txtStrefa3 },
        "przemysl": { name: "Przemyśl", data: txtStrefa3 },
        "krosno": { name: "Krosno", data: txtStrefa3 },
        "wloclawek": { name: "Włocławek", data: txtStrefa3 },
        "grudziadz": { name: "Grudziądz", data: txtStrefa3 },
        "inowroclaw": { name: "Inowrocław", data: txtStrefa3 },
        "tarnobrzeg": { name: "Tarnobrzeg", data: txtStrefa3 },
        "mielec": { name: "Mielec", data: txtStrefa3 },
        "stalowa wola": { name: "Stalowa Wola", data: txtStrefa3 },
        "jaroslaw": { name: "Jarosław", data: txtStrefa3 },
        "sanok": { name: "Sanok", data: txtStrefa3 },
        "jaslo": { name: "Jasło", data: txtStrefa3 },
        "bielsko-biala": { name: "Bielsko-Biała", data: txtStrefa3 },
        "gliwice": { name: "Gliwice", data: txtStrefa3 },
        "zabrze": { name: "Zabrze", data: txtStrefa3 },
        "bytom": { name: "Bytom", data: txtStrefa3 },
        "sosnowiec": { name: "Sosnowiec", data: txtStrefa3 },
        "tychy": { name: "Tychy", data: txtStrefa3 },
        "rybnik": { name: "Rybnik", data: txtStrefa3 },
        "dabrowa gornicza": { name: "Dąbrowa Górnicza", data: txtStrefa3 },
        "chorzow": { name: "Chorzów", data: txtStrefa3 },
        "jaworzno": { name: "Jaworzno", data: txtStrefa3 },
        "piotrkow trybunalski": { name: "Piotrków Trybunalski", data: txtStrefa3 },
        "skierniewice": { name: "Skierniewice", data: txtStrefa3 },
        "pulawy": { name: "Puławy", data: txtStrefa3 },
        "swidnik": { name: "Świdnik", data: txtStrefa3 },
        "krasnik": { name: "Kraśnik", data: txtStrefa3 },
        "dabrowa tarnowska": { name: "Dąbrowa Tarnowska", data: txtStrefa3 },
        "bochnia": { name: "Bochnia", data: txtStrefa3 },
        "brzesko": { name: "Brzesko", data: txtStrefa3 },
        "wadowice": { name: "Wadowice", data: txtStrefa3 },
        "oswiecim": { name: "Oświęcim", data: txtStrefa3 },
        "grodzisk mazowiecki": { name: "Grodzisk Mazowiecki", data: txtStrefa3 },
        "piaseczno": { name: "Piaseczno", data: txtStrefa3 },
        "pruszkow": { name: "Pruszków", data: txtStrefa3 },
        "legionowo": { name: "Legionowo", data: txtStrefa3 },

        // Strefa IV
        "bialystok": { name: "Białystok", data: txtStrefa4 },
        "olsztyn": { name: "Olsztyn", data: txtStrefa4 },
        "ostroleka": { name: "Ostrołęka", data: txtStrefa4 },
        "siedlce": { name: "Siedlce", data: txtStrefa4 },
        "zamosc": { name: "Zamość", data: txtStrefa4 },
        "lomza": { name: "Łomża", data: txtStrefa4 },
        "elblag": { name: "Elbląg", data: txtStrefa4 },
        "elk": { name: "Ełk", data: txtStrefa4 },
        "gizycko": { name: "Giżycko", data: txtStrefa4 },
        "ketrzyn": { name: "Kętrzyn", data: txtStrefa4 },
        "mragowo": { name: "Mrągowo", data: txtStrefa4 },
        "szczytno": { name: "Szczytno", data: txtStrefa4 },
        "bartoszyce": { name: "Bartoszyce", data: txtStrefa4 },
        "bielsk podlaski": { name: "Bielsk Podlaski", data: txtStrefa4 },
        "hajnowka": { name: "Hajnówka", data: txtStrefa4 },
        "sokolka": { name: "Sokółka", data: txtStrefa4 },
        "augustow": { name: "Augustów", data: txtStrefa4 },
        "biala podlaska": { name: "Biała Podlaska", data: txtStrefa4 },
        "chelm": { name: "Chełm", data: txtStrefa4 },
        "hrubieszow": { name: "Hrubieszów", data: txtStrefa4 },
        "tomaszow lubelski": { name: "Tomaszów Lubelski", data: txtStrefa4 },

        // Strefa V
        "suwalki": { name: "Suwałki", data: txtStrefa5 },
        "zakopane": { name: "Zakopane", data: txtStrefa5 },
        "nowy targ": { name: "Nowy Targ", data: txtStrefa5 },
        "zywiec": { name: "Żywiec", data: txtStrefa5 },
        "karpacz": { name: "Karpacz", data: txtStrefa5 },
        "krynica-zdroj": { name: "Krynica-Zdrój", data: txtStrefa5 },
        "szklarska poreba": { name: "Szklarska Poręba", data: txtStrefa5 },
        "wisla": { name: "Wisła", data: txtStrefa5 },
        "ustron": { name: "Ustroń", data: txtStrefa5 },
        "szczyrk": { name: "Szczyrk", data: txtStrefa5 },
        "rabka-zdroj": { name: "Rabka-Zdrój", data: txtStrefa5 },
        "limanowa": { name: "Limanowa", data: txtStrefa5 },
        "sucha beskidzka": { name: "Sucha Beskidzka", data: txtStrefa5 },
        "gorlice": { name: "Gorlice", data: txtStrefa5 },
        "nowy sacz": { name: "Nowy Sącz", data: txtStrefa5 },
        "sejny": { name: "Sejny", data: txtStrefa5 },
        "olecko": { name: "Olecko", data: txtStrefa5 },
        "goldap": { name: "Gołdap", data: txtStrefa5 }
    };

    // Silnik autouzupełniania (bez znaków logicznych typu AND/OR)
    searchInput.addEventListener('input', function() {
        var val = this.value.toLowerCase();
        suggestionsBox.innerHTML = '';
        
        if (val === '') {
            suggestionsBox.style.display = 'none';
        } else {
            var hasMatches = false;
            
            for (var key in cityData) {
                var cityName = cityData[key].name;
                var matchIndex = cityName.toLowerCase().indexOf(val);
                
                if (matchIndex > -1) {
                    hasMatches = true;
                    var div = document.createElement('div');
                    div.className = 'rk-loc-suggestion-item';
                    div.innerText = cityName;
                    
                    div.setAttribute('data-key', key);
                    
                    div.addEventListener('click', function() {
                        var clickedKey = this.getAttribute('data-key');
                        showDashboard(clickedKey);
                    });
                    
                    suggestionsBox.appendChild(div);
                }
            }
            
            if (hasMatches === true) {
                suggestionsBox.style.display = 'block';
            } else {
                suggestionsBox.style.display = 'none';
            }
        }
    });

    // Funkcja aktualizująca dashboard po wybraniu miasta
    function showDashboard(cityKey) {
        var city = cityData[cityKey];
        var data = city.data;
        
        if (city !== undefined) {
            searchInput.value = city.name;
            suggestionsBox.style.display = 'none';
            
            elCityName.innerText = "Twoja lokalizacja: " + city.name;
            elZoneTemp.innerText = data.zone + " (" + data.temp + ")";
            elOzc.innerText = data.ozc;
            elSpacing.innerText = data.spacing;
            elSpacingDesc.innerText = data.spacingDesc;
            elFlowTemp.innerText = data.flow;

            dashboard.classList.remove('active');
            void dashboard.offsetWidth; 
            dashboard.classList.add('active');
        }
    }

    document.addEventListener('click', function(e) {
        if (e.target !== searchInput) {
            suggestionsBox.style.display = 'none';
        }
    });
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-blue: #0284c7;
    --rk-faq-bg-light: #f8fafc;
    --rk-faq-border: #cbd5e1;
    --rk-faq-text: #334155;
    --rk-faq-accent: #e0f2fe;
}

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

.rk-faq-header {
    background: linear-gradient(to right, var(--rk-faq-dark), #1e293b);
    padding: 40px 45px;
    text-align: left;
    position: relative;
}

.rk-faq-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--rk-faq-blue);
}

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

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

.rk-faq-wrapper {
    padding: 30px 45px 45px;
    background: var(--rk-faq-bg-light);
}

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

.rk-faq-item.active {
    border-color: var(--rk-faq-blue);
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.15);
}

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

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

.rk-faq-trigger h3 {
    font-size: 17px;
    font-weight: 700;
    color: var(--rk-faq-dark);
    margin: 0;
    padding-right: 20px;
    line-height: 1.4;
}

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

.rk-faq-item.active .rk-faq-icon {
    transform: rotate(180deg);
    background: var(--rk-faq-blue);
    color: #ffffff;
}

.rk-faq-content {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-item.active .rk-faq-content {
    grid-template-rows: 1fr;
}

.rk-faq-inner {
    overflow: hidden;
}

.rk-faq-text {
    padding: 0 30px 25px 30px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-faq-text);
}

.rk-faq-text a {
    color: var(--rk-faq-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-faq-blue);
    transition: color 0.2s, border-color 0.2s;
}

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

@media (max-width: 768px) {
    .rk-faq-header, .rk-faq-wrapper { padding: 25px 20px; }
    .rk-faq-trigger { padding: 20px; }
    .rk-faq-text { padding: 0 20px 20px 20px; }
    .rk-faq-trigger h3 { font-size: 15px; }
}
</style>

<!-- Zaawansowana Warstwa Danych (JSON-LD) - Article + FAQPage + Dataset + WebApplication -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/"
    },
    "headline": "Najczęściej zadawane pytania (FAQ) - Strefy Klimatyczne a Ogrzewanie Podłogowe",
    "description": "Zbiór najważniejszych technicznych pytań i odpowiedzi dotyczących stref klimatycznych w Polsce i ich wpływu na obliczenia OZC oraz parametry podłogówki.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-01",
    "dateModified": "2026-08-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Ile dokładnie stref klimatycznych wyróżnia się w Polsce w normach budowlanych?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "W Polsce wyróżnia się dokładnie 5 stref klimatycznych (od I do V), które definiują projektowe temperatury zewnętrzne od -16 st. C do -24 st. C."
        }
      },
      {
        "@type": "Question",
        "name": "Jaką temperaturę zewnętrzną przyjmuje się dla II strefy klimatycznej?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Dla II strefy klimatycznej projektowa temperatura zewnętrzna wynosi -18 st. C, co obejmuje m.in. niziny zachodnie i centralno-zachodnie, takie jak Poznań czy Wrocław."
        }
      },
      {
        "@type": "Question",
        "name": "Czy strefa klimatyczna wpływa na wybór mocy pompy ciepła?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, strefa klimatyczna bezpośrednio decyduje o obliczeniowym zapotrzebowaniu na ciepło OZC, co wymusza dobór pompy o odpowiedniej mocy szczytowej i punkcie bivalencji."
        }
      },
      {
        "@type": "Question",
        "name": "Gdzie zakwalifikowane jest Podkarpacie w podziale na strefy klimatyczne?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Podkarpacie w zależności od lokalizacji nizinnej najczęściej kwalifikuje się do III strefy klimatycznej z temperaturą -20 st. C, jednak tereny podwyższone wymagają zaostrzenia parametrów."
        }
      },
      {
        "@type": "Question",
        "name": "Czy ogrzewanie podłogowe w V strefie klimatycznej wymaga gęstszego układania rur?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, wyższe straty ciepła w strefie V (np. Suwałki, Zakopane) wymagają większej gęstości strumienia cieplnego, co wymusza zagęszczenie skoku rur do 10 cm lub mniej."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#dataset-faq",
    "name": "Zestawienie parametrów normatywnych i odpowiedzi dla stref klimatycznych",
    "description": "Baza wiedzy Q&A zawierająca interpretacje norm budowlanych w kontekście doboru parametrów hydraulicznych podłogówki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podział Polski na strefy klimatyczne",
      "jak dobrać moc pompy ciepła strefa",
      "temperatura obliczeniowa dla Poznania",
      "rozstaw rur podłogówki na Suwalszczyźnie",
      "normy klimatyczne a projekt ogrzewania"
    ],
    "measurementTechnique": "Ekstrakcja wytycznych z PN-EN 12831 w formie szybkich inżynierskich pytań i odpowiedzi.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Definicje temperatur dla 5 stref klimatycznych.",
        "Korelacja OZC z punktem bivalencji urządzeń grzewczych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#webapp-faq",
    "name": "Interaktywny Panel FAQ Stref Klimatycznych",
    "description": "Dynamiczny komponent przeglądarkowy usprawniający nawigację po najczęstszych problemach instalatorskich związanych z rejonizacją klimatyczną.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-container" id="rkStrefyFaq">
    <div class="rk-faq-header">
        <h2>Szybkie Q&A Inwestora</h2>
        <p>Błyskawiczne odpowiedzi na najczęstsze wątpliwości dotyczące doboru parametrów budynku do warunków zewnętrznych.</p>
    </div>

    <div class="rk-faq-wrapper">
        
        <div class="rk-faq-item">
            <button class="rk-faq-trigger" type="button">
                <h3>Ile dokładnie stref klimatycznych wyróżnia się w Polsce w normach budowlanych?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-inner">
                    <div class="rk-faq-text">
                        W Polsce wyróżnia się dokładnie <strong>5 stref klimatycznych</strong> (od I do V), które definiują projektowe temperatury zewnętrzne od -16 st. C do -24 st. C. To fundament wszelkich późniejszych obliczeń zapotrzebowania cieplnego budynku.
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-trigger" type="button">
                <h3>Jaką temperaturę zewnętrzną przyjmuje się dla II strefy klimatycznej?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-inner">
                    <div class="rk-faq-text">
                        Dla II strefy klimatycznej projektowa temperatura zewnętrzna wynosi dokładnie <strong>-18 st. C</strong>. Obejmuje ona między innymi niziny zachodnie i centralno-zachodnie, takie jak rozległe obszary wokół Poznania czy Wrocławia.
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-trigger" type="button">
                <h3>Czy strefa klimatyczna wpływa na wybór mocy pompy ciepła?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-inner">
                    <div class="rk-faq-text">
                        Tak, strefa klimatyczna bezpośrednio decyduje o obliczeniowym zapotrzebowaniu na ciepło OZC, co wymusza na projektancie dobór <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a> o odpowiedniej mocy szczytowej i bezbłędne wyznaczenie punktu bivalencji.
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-trigger" type="button">
                <h3>Gdzie zakwalifikowane jest Podkarpacie w podziale na strefy klimatyczne?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-inner">
                    <div class="rk-faq-text">
                        Podkarpacie, w zależności od lokalizacji nizinnej, najczęściej kwalifikuje się do <strong>III strefy klimatycznej</strong> z temperaturą -20 st. C. Jednakże warto zaznaczyć, że tereny podwyższone i specyficzne wzniesienia zmuszają projektanta do zaostrzenia parametrów wejściowych.
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-trigger" type="button">
                <h3>Czy ogrzewanie podłogowe w V strefie klimatycznej wymaga gęstszego układania rur?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-inner">
                    <div class="rk-faq-text">
                        Tak, wyższe straty ciepła w skrajnej strefie V (np. Suwałki, Zakopane) wymagają dużo większej gęstości strumienia cieplnego. To wymusza bezpośrednio gęstszy <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">rozstaw rur w ogrzewaniu podłogowym</a>, najczęściej do 10 cm, a w strefach brzegowych nawet mniej.
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var triggers = document.querySelectorAll('.rk-faq-trigger');
    
    for (var i = 0; i < triggers.length; i++) {
        triggers[i].addEventListener('click', function() {
            var parentItem = this.parentElement;
            var isCurrentlyActive = parentItem.classList.contains('active');
            var allItems = document.querySelectorAll('.rk-faq-item');
            
            // Zwijanie wszystkich otwartych kart - bezpieczny kod bez znaków zakazanych
            for (var j = 0; j < allItems.length; j++) {
                allItems[j].classList.remove('active');
            }
            
            // Otwieranie klikniętej karty, o ile nie była wcześniej otwarta
            if (isCurrentlyActive === false) {
                parentItem.classList.add('active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-blue: #0284c7;
    --rk-dl-sky: #e0f2fe;
    --rk-dl-cyan: #06b6d4;
    --rk-dl-gray: #64748b;
    --rk-dl-bg: #f8fafc;
    --rk-dl-border: #cbd5e1;
    --rk-dl-text: #334155;
}

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

/* Nagłówek sekcji */
.rk-dl-header {
    background: var(--rk-dl-dark);
    padding: 35px 45px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dl-blue);
}

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

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

/* Układ główny */
.rk-dl-body {
    display: grid;
    grid-template-columns: 320px 1fr;
    background: var(--rk-dl-bg);
}

/* Lewa strona - Miniatura */
.rk-dl-preview-box {
    padding: 40px 30px;
    background: #ffffff;
    border-right: 1px solid var(--rk-dl-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.rk-dl-thumbnail-wrapper {
    width: 100%;
    position: relative;
    border: 4px solid var(--rk-dl-sky);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    background: #f1f5f9;
}

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

.rk-dl-thumbnail-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(15, 23, 42, 0.85);
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
    padding: 8px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Prawa strona - Akcje i opisy */
.rk-dl-actions-box {
    padding: 40px;
}

.rk-dl-actions-box h3 {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-dl-dark);
    margin: 0 0 25px 0;
    text-transform: uppercase;
}

.rk-dl-buttons-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    margin-bottom: 35px;
}

/* Przyciski (bez animacji) */
.rk-dl-btn {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 100%;
    padding: 20px 25px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    text-decoration: none;
    border: none;
}

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

.rk-dl-btn-primary:hover {
    background: var(--rk-dl-cyan);
    border-color: var(--rk-dl-cyan);
}

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

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

.rk-dl-icon-container {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-dl-btn-secondary .rk-dl-icon-container {
    background: var(--rk-dl-sky);
    color: var(--rk-dl-blue);
}

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

.rk-dl-btn-title {
    display: block;
    font-size: 16px;
    margin-bottom: 3px;
}

.rk-dl-btn-sub {
    display: block;
    font-size: 12px;
    font-weight: 600;
    opacity: 0.85;
}

.rk-dl-btn-secondary .rk-dl-btn-sub {
    color: var(--rk-dl-gray);
}

/* Stopka z prawami autorskimi */
.rk-dl-copyright {
    background: #f1f5f9;
    padding: 20px;
    border-left: 4px solid var(--rk-dl-gray);
    font-size: 13px;
    line-height: 1.6;
    color: var(--rk-dl-text);
    border-radius: 0 8px 8px 0;
}

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

/* Modal do podglądu obrazka (bez animacji) */
.rk-dl-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.95);
    z-index: 9999;
    justify-content: center;
    align-items: center;
    padding: 20px;
    box-sizing: border-box;
}

.rk-dl-modal.active {
    display: flex;
}

.rk-dl-modal-content {
    position: relative;
    max-width: 900px;
    width: 100%;
    max-height: 90vh;
    background: #ffffff;
    border-radius: 12px;
    padding: 10px;
    display: flex;
    flex-direction: column;
}

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

.rk-dl-modal-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 8px;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-dl-body { grid-template-columns: 1fr; }
    .rk-dl-header { padding: 30px 20px; text-align: left; }
    .rk-dl-header h2 { font-size: 24px; }
    .rk-dl-preview-box { border-right: none; border-bottom: 1px solid var(--rk-dl-border); padding: 30px 20px; }
    .rk-dl-actions-box { padding: 30px 20px; }
    .rk-dl-btn { flex-direction: column; text-align: center; padding: 25px 20px; }
    .rk-dl-btn-text { text-align: center; }
    .rk-dl-thumbnail-wrapper { max-width: 320px; margin: 0 auto; }
}
</style>

<!-- Invisible Data JSON-LD -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#article-materialy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/"
    },
    "headline": "Pobierz darmowe materiały: Infografika stref klimatycznych i OZC",
    "description": "Zestawienie wizualne i techniczne wytycznych dotyczących wpływu stref klimatycznych na projekty ogrzewania podłogowego. Pobierz plik PDF lub przeglądaj infografikę online.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/08/Infografika-Strefy-klimatyczne-w-Polsce-a-ogrzewanie-podlogowe-i-OZC.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-01",
    "dateModified": "2026-08-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#dataset-materialy",
    "name": "Infografika normatywna: Strefy klimatyczne a instalacje grzewcze",
    "description": "Wizualne opracowanie danych inżynieryjnych łączących podział terytorialny kraju z wymogami projektowymi dla pomp ciepła i ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika strefy klimatyczne pdf",
      "mapa temperatur obliczeniowych do pobrania",
      "materiały dla instalatorów hvac",
      "ogrzewanie podłogowe zasady projektowania grafika",
      "ozc podsumowanie wizualne"
    ],
    "measurementTechnique": "Prezentacja wizualna norm PN-82/B-02403 oraz PN-EN 12831 w formie interaktywnego dokumentu PDF.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wizualizacja podziału Polski na 5 stref temperaturowych.",
        "Zestawienie najważniejszych różnic w stratach ciepła i doborze pomp obiegowych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#webapp-materialy",
    "name": "Panel Dystrybucji Materiałów Technicznych",
    "description": "Interaktywny moduł umożliwiający bezpośredni podgląd oraz bezpieczne pobranie zautoryzowanych plików graficznych i PDF z zachowaniem praw autorskich inżyniera.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="rkDownloadCenter">
    
    <!-- Nagłówek -->
    <div class="rk-dl-header">
        <h2>Pobierz darmowe materiały: Infografika stref klimatycznych i OZC</h2>
        <p>Przygotowałem dla Ciebie czytelne podsumowanie najważniejszych norm w formie wizualnej. Pobierz, wydrukuj i miej zawsze pod ręką podczas planowania budowy.</p>
    </div>

    <div class="rk-dl-body">
        
        <!-- Podgląd Miniatury -->
        <div class="rk-dl-preview-box">
            <div class="rk-dl-thumbnail-wrapper">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/08/Infografika-Strefy-klimatyczne-w-Polsce-a-ogrzewanie-podlogowe-i-OZC.webp" alt="Podgląd Infografiki - Strefy Klimatyczne" class="rk-dl-thumbnail" loading="lazy">
                <div class="rk-dl-thumbnail-overlay">Podgląd dokumentu</div>
            </div>
        </div>

        <!-- Akcje i Przyciski -->
        <div class="rk-dl-actions-box">
            <h3>Wybierz format materiału</h3>
            
            <div class="rk-dl-buttons-grid">
                
                <!-- Przycisk PDF -->
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/08/Infografika-Strefy-klimatyczne-w-Polsce-a-ogrzewanie-podlogowe-i-OZC.pdf" target="_blank" rel="noopener noreferrer" class="rk-dl-btn rk-dl-btn-primary">
                    <div class="rk-dl-icon-container">
                        <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="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="12" y1="18" x2="12" y2="12"></line><polyline points="9 15 12 18 15 15"></polyline></svg>
                    </div>
                    <div class="rk-dl-btn-text">
                        <span class="rk-dl-btn-title">Pobierz plik PDF</span>
                        <span class="rk-dl-btn-sub">Wysoka jakość do druku (Otwiera się w nowym oknie)</span>
                    </div>
                </a>

                <!-- Przycisk Podglądu Zdjęcia -->
                <button type="button" class="rk-dl-btn rk-dl-btn-secondary" id="rkBtnPreviewImg">
                    <div class="rk-dl-icon-container">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                    </div>
                    <div class="rk-dl-btn-text">
                        <span class="rk-dl-btn-title">Wyświetl na ekranie (WEBP)</span>
                        <span class="rk-dl-btn-sub">Szybki podgląd grafiki bezpośrednio na stronie</span>
                    </div>
                </button>

            </div>

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

        </div>

    </div>
</div>

<!-- Modal do wyświetlenia zdjęcia na pełnym ekranie (BEZ animacji) -->
<div class="rk-dl-modal" id="rkImageModal">
    <div class="rk-dl-modal-content">
        <button class="rk-dl-modal-close" id="rkBtnCloseModal">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
            ZAMKNIJ
        </button>
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/08/Infografika-Strefy-klimatyczne-w-Polsce-a-ogrzewanie-podlogowe-i-OZC.webp" alt="Pełnowymiarowa Infografika" class="rk-dl-modal-img" loading="lazy">
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btnOpen = document.getElementById('rkBtnPreviewImg');
    var btnClose = document.getElementById('rkBtnCloseModal');
    var modal = document.getElementById('rkImageModal');

    // Funkcja otwierająca modal (natychmiastowe pokazanie elementu)
    btnOpen.addEventListener('click', function(e) {
        e.preventDefault();
        modal.classList.add('active');
    });

    // Funkcja zamykająca modal kliknięciem w przycisk
    btnClose.addEventListener('click', function() {
        modal.classList.remove('active');
    });

    // Zamykanie modalu kliknięciem w ciemne tło (bezpieczny warunek bez uzycia &&)
    modal.addEventListener('click', function(e) {
        if (e.target === modal) {
            modal.classList.remove('active');
        }
    });
});
</script>



<style>
:root {
    --rk-klimat-dark: #1e293b;
    --rk-klimat-blue: #0369a1;
    --rk-klimat-light-blue: #f0f9ff;
    --rk-klimat-green: #059669;
    --rk-klimat-green-light: #ecfdf5;
    --rk-klimat-red: #dc2626;
    --rk-klimat-red-light: #fef2f2;
    --rk-klimat-gold: #d97706;
    --rk-klimat-gray: #64748b;
    --rk-klimat-border: #e2e8f0;
    --rk-klimat-bg: #ffffff;
}

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

/* Nagłówek Sekcji */
.rk-klimat-header {
    padding: 40px 45px 30px;
    background: var(--rk-klimat-light-blue);
    border-bottom: 2px solid var(--rk-klimat-border);
    text-align: center;
}

.rk-klimat-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #bae6fd;
    color: #0284c7;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

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

.rk-klimat-header p {
    font-size: 16px;
    color: var(--rk-klimat-gray);
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Interaktywny Moduł - Zero animacji, czysta funkcjonalność */
.rk-klimat-interactive {
    padding: 40px 45px;
    background: #f8fafc;
}

.rk-klimat-interactive h3 {
    text-align: center;
    font-size: 20px;
    color: var(--rk-klimat-dark);
    margin-top: 0;
    margin-bottom: 30px;
}

.rk-klimat-controls {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
}

.rk-klimat-btn {
    flex: 1;
    padding: 20px;
    border-radius: 12px;
    border: 2px solid var(--rk-klimat-border);
    background: #ffffff;
    cursor: pointer;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: background 0.2s, border-color 0.2s;
}

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

.rk-klimat-btn.active-pro {
    background: var(--rk-klimat-green-light);
    border-color: var(--rk-klimat-green);
}

.rk-klimat-btn.active-error {
    background: var(--rk-klimat-red-light);
    border-color: var(--rk-klimat-red);
}

.rk-klimat-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e2e8f0;
    color: #475569;
}

.active-pro .rk-klimat-icon { background: var(--rk-klimat-green); color: #fff; }
.active-error .rk-klimat-icon { background: var(--rk-klimat-red); color: #fff; }

.rk-btn-text h4 { margin: 0 0 5px 0; font-size: 16px; font-weight: 800; color: var(--rk-klimat-dark); }
.rk-btn-text p { margin: 0; font-size: 13px; color: var(--rk-klimat-gray); }

/* Wyniki */
.rk-klimat-result-box {
    background: #ffffff;
    border: 1px solid var(--rk-klimat-border);
    border-radius: 16px;
    padding: 30px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.rk-klimat-metric {
    padding-bottom: 15px;
    border-bottom: 1px solid #f1f5f9;
}

.rk-klimat-metric:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.rk-klimat-metric-label {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--rk-klimat-gray);
    margin-bottom: 8px;
    display: block;
}

.rk-klimat-metric-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-klimat-dark);
}

.rk-klimat-metric-desc {
    font-size: 14px;
    color: #64748b;
    margin-top: 5px;
}

.val-good { color: var(--rk-klimat-green); }
.val-bad { color: var(--rk-klimat-red); }

/* Tagi Długi Ogon */
.rk-klimat-tags-container {
    padding: 20px 45px;
    background: #ffffff;
    border-top: 1px solid var(--rk-klimat-border);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.rk-mat-tag {
    display: inline-block;
    padding: 6px 14px;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    color: #475569;
    font-size: 12px;
    border-radius: 6px;
    font-weight: 600;
}

/* Mocne CTA */
.rk-klimat-cta {
    padding: 40px 45px;
    background: var(--rk-klimat-dark);
    text-align: center;
}

.rk-klimat-cta h3 {
    color: #ffffff;
    font-size: 22px;
    margin: 0 0 15px 0;
}

.rk-klimat-cta p {
    color: #94a3b8;
    margin: 0 auto 25px auto;
    font-size: 15px;
    max-width: 600px;
}

.rk-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-klimat-blue);
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    padding: 18px 36px;
    border-radius: 12px;
    text-decoration: none;
    text-transform: uppercase;
}

@media (max-width: 768px) {
    .rk-klimat-header, .rk-klimat-interactive, .rk-klimat-cta, .rk-klimat-tags-container { padding: 30px 20px; }
    .rk-klimat-controls { flex-direction: column; gap: 15px; }
    .rk-klimat-result-box { grid-template-columns: 1fr; gap: 20px; }
    .rk-btn-massive { width: 100%; box-sizing: border-box; }
}
</style>

<!-- Niewidoczna Warstwa Danych (Invisible Data - JSON-LD) -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/"
    },
    "headline": "Podsumowanie: Błąd o jedną strefę klimatyczną to najdroższa pomyłka inwestora",
    "description": "Zestawienie parametrów technicznych i kosztów eksploatacji ogrzewania podłogowego w zależności od poprawnego przypisania budynku do strefy klimatycznej w Polsce wg normy PN-EN 12831.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-01",
    "dateModified": "2026-08-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#dataset",
    "name": "Symulacja kosztów i parametrów: Strefa II vs Strefa V dla OZC",
    "description": "Zbiór danych inżynieryjnych porównujących wpływ stref klimatycznych na obliczeniowe zapotrzebowanie na ciepło (OZC), wydajność pompy ciepła oraz zużycie energii elektrycznej w sezonie grzewczym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "strefy klimatyczne w Polsce mapa",
      "obliczenia OZC dla pompy ciepła",
      "jak obliczyć moc pompy ciepła strefy",
      "temperatura projektowa PN-EN 12831",
      "rozstaw rur a strefa klimatyczna"
    ],
    "measurementTechnique": "Kalkulacja strat ciepła wg PN-EN 12831 oraz symulacja poboru energii przez pompę ciepła w skrajnych warunkach temperaturowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przypadek Optymalny: Precyzyjne przypisanie budynku do V strefy klimatycznej, dobór źródła o mocy 9 kW, parametry pętli 10 cm.",
        "Przypadek Błędny: Zastosowanie projektu z II strefy dla budynku w V strefie, moc 6 kW, deficyt mocy, załączenie grzałek szczytowych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/#webapp",
    "name": "Kalkulator Skutków Błędnej Strefy Klimatycznej",
    "description": "Interaktywny widżet demonstracyjny pokazujący konsekwencje zastosowania uniwersalnego projektu (katalogowego) w trudniejszej strefie klimatycznej Polski.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-klimat-container" id="rkKlimatSummary">
    <div class="rk-klimat-header">
        <div class="rk-klimat-badge">WNIOSKI INŻYNIERSKIE</div>
        <h2>Podsumowanie: Błąd o jedną strefę klimatyczną to najdroższa pomyłka inwestora</h2>
        <p>Prawa fizyki nie wybaczają optymizmu. Wykorzystanie "uniwersalnego" gotowego projektu z łagodnej strefy klimatycznej w rejonie o surowych zimach zniszczy parametry Twojej pompy ciepła i zmusi ją do ciągłej pracy na najdroższych elektrycznych grzałkach wspomagających.</p>
    </div>

    <div class="rk-klimat-interactive">
        <h3>Symulator: Wpływ weryfikacji strefy klimatycznej na parametry domu</h3>
        
        <div class="rk-klimat-controls" id="klimatControls">
            <button class="rk-klimat-btn active-pro" data-klimat="pro">
                <div class="rk-klimat-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="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                <div class="rk-btn-text">
                    <h4>Precyzyjny Projekt OZC</h4>
                    <p>Budynek dopasowany do V strefy klimatycznej (-24 st. C).</p>
                </div>
            </button>
            <button class="rk-klimat-btn" data-klimat="error">
                <div class="rk-klimat-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                </div>
                <div class="rk-btn-text">
                    <h4>Gotowy Projekt "Katalogowy"</h4>
                    <p>Budynek w V strefie na bazie projektu z II strefy (-18 st. C).</p>
                </div>
            </button>
        </div>

        <div class="rk-klimat-result-box" id="klimatResultBox">
            <!-- Dynamiczna treść JS -->
            <div>
                <div class="rk-klimat-metric">
                    <span class="rk-klimat-metric-label">Zapotrzebowanie Mocy (OZC)</span>
                    <div class="rk-klimat-metric-val val-good">7.9 kW</div>
                    <div class="rk-klimat-metric-desc">Idealnie dobrana wielkość źródła ciepła dla skrajnych mrozów. Pompa pokrywa całe zapotrzebowanie.</div>
                </div>
                <div class="rk-klimat-metric" style="margin-top: 15px;">
                    <span class="rk-klimat-metric-label">Rozstaw rur w strefie dziennej</span>
                    <div class="rk-klimat-metric-val">co 10 cm</div>
                    <div class="rk-klimat-metric-desc">Zagęszczenie skoku kompensuje wyższe straty budynku przy zachowaniu chłodnej, zdrowej posadzki.</div>
                </div>
            </div>
            <div>
                <div class="rk-klimat-metric">
                    <span class="rk-klimat-metric-label">Rachunek za prąd (zima)</span>
                    <div class="rk-klimat-metric-val val-good">W normie / Niskie COP</div>
                    <div class="rk-klimat-metric-desc">Wysoki wskaźnik SCOP, sprężarka pracuje stabilnie i nie wymaga posiłkowania się potężnymi grzałkami.</div>
                </div>
                <div class="rk-klimat-metric" style="margin-top: 15px;">
                    <span class="rk-klimat-metric-label">Decyzja inżynierska</span>
                    <div class="rk-klimat-metric-desc">Sprawdź również <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/" style="color:var(--rk-klimat-blue); font-weight:700;">Kalkulator strat ciepła budynku</a> aby potwierdzić własne wyliczenia strefowe.</div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-klimat-tags-container">
        <span class="rk-mat-tag"># strefy klimatyczne w Polsce mapa</span>
        <span class="rk-mat-tag"># obliczenia OZC dla pompy ciepła</span>
        <span class="rk-mat-tag"># temperatura projektowa PN-EN 12831</span>
        <span class="rk-mat-tag"># wpływ strefy klimatycznej na ogrzewanie</span>
        <span class="rk-mat-tag"># rozstaw rur a strefa klimatyczna</span>
        <span class="rk-mat-tag"># zapotrzebowanie energetyczne budynku strefa IV</span>
        <span class="rk-mat-tag"># dobór pompy ciepła a strefa klimatyczna</span>
        <span class="rk-mat-tag"># polski biegun zimna ogrzewanie podłogowe</span>
        <span class="rk-mat-tag"># straty cieplne normy budowlane</span>
        <span class="rk-mat-tag"># błędy w projekcie ogrzewania podłogowego</span>
    </div>

    <div class="rk-klimat-cta">
        <h3>Nie zgaduj. Licz zgodnie z normami.</h3>
        <p>Brak optymalizacji instalacji pod warunki klimatyczne to prosta droga do niedogrzanego domu i astronomicznych rachunków za prąd. Skorzystaj ze sprawdzonej wiedzy i darmowych poradników.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-massive">
            PRZEJDŹ DO BAZY WIEDZY I KALKULATORÓW
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var buttons = document.querySelectorAll('.rk-klimat-btn');
    var resultBox = document.getElementById('klimatResultBox');

    var data = {
        pro: `
            <div>
                <div class="rk-klimat-metric">
                    <span class="rk-klimat-metric-label">Zapotrzebowanie Mocy (OZC)</span>
                    <div class="rk-klimat-metric-val val-good">7.9 kW</div>
                    <div class="rk-klimat-metric-desc">Idealnie dobrana wielkość źródła ciepła dla skrajnych mrozów w V strefie. Pompa pokrywa całe zapotrzebowanie bez wysiłku.</div>
                </div>
                <div class="rk-klimat-metric" style="margin-top: 15px;">
                    <span class="rk-klimat-metric-label">Rozstaw rur w strefie dziennej</span>
                    <div class="rk-klimat-metric-val">co 10 cm</div>
                    <div class="rk-klimat-metric-desc">Zagęszczenie skoku do 10 cm kompensuje wyższe straty budynku przy zachowaniu chłodnej, zdrowej posadzki.</div>
                </div>
            </div>
            <div>
                <div class="rk-klimat-metric">
                    <span class="rk-klimat-metric-label">Rachunek za prąd (Zima)</span>
                    <div class="rk-klimat-metric-val val-good">Stabilny (Wysoki SCOP)</div>
                    <div class="rk-klimat-metric-desc">Temperatura zasilania utrzymana w ryzach. Sprężarka pracuje wydajnie, izolując Twój portfel od skoków cen prądu.</div>
                </div>
                <div class="rk-klimat-metric" style="margin-top: 15px;">
                    <span class="rk-klimat-metric-label">Decyzja inżynierska</span>
                    <div class="rk-klimat-metric-desc">Zanim wylejesz beton, zweryfikuj hydraulikę odwiedzając <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/" style="color:var(--rk-klimat-blue); font-weight:700;">Kalkulator doboru pompy obiegowej</a>.</div>
                </div>
            </div>
        `,
        error: `
            <div>
                <div class="rk-klimat-metric">
                    <span class="rk-klimat-metric-label">Zapotrzebowanie Mocy (OZC)</span>
                    <div class="rk-klimat-metric-val val-bad">6.1 kW (Błąd -18%)</div>
                    <div class="rk-klimat-metric-desc">Moc obliczona dla II strefy zamiast dla V. Brakuje niemal 2 kW mocy, gdy temperatura za oknem spadnie poniżej -15 st. C.</div>
                </div>
                <div class="rk-klimat-metric" style="margin-top: 15px;">
                    <span class="rk-klimat-metric-label">Rozstaw rur w strefie dziennej</span>
                    <div class="rk-klimat-metric-val val-bad">co 15 cm (Katalogowy)</div>
                    <div class="rk-klimat-metric-desc">Zbyt rzadkie ułożenie uniemożliwia oddanie odpowiedniej ilości ciepła bez drastycznego podniesienia temperatury wody.</div>
                </div>
            </div>
            <div>
                <div class="rk-klimat-metric">
                    <span class="rk-klimat-metric-label">Rachunek za prąd (Zima)</span>
                    <div class="rk-klimat-metric-val val-bad">+ 6000 PLN Rośnie!</div>
                    <div class="rk-klimat-metric-desc">Punkt bivalencji przesunięty. Do akcji wkraczają grzałki elektryczne 1:1, a niska temperatura posadzki wymusza pracę pompy na parametrze 45 stopni.</div>
                </div>
                <div class="rk-klimat-metric" style="margin-top: 15px;">
                    <span class="rk-klimat-metric-label">Ocena instalatora</span>
                    <div class="rk-klimat-metric-desc">Błąd w strefie bezpośrednio wpływa na wydajność węzła, dlatego zapoznaj się z wiedzą z sekcji <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/" style="color:var(--rk-klimat-blue); font-weight:700;">Rozdzielacz do podłogówki</a>.</div>
                </div>
            </div>
        `
    };

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

            // Usuwanie klas aktywnych z bezpiecznym formatowaniem pętli (bez używania &#038;&#038;)
            for (var j = 0; j < buttons.length; j++) {
                buttons[j].classList.remove('active-pro');
                buttons[j].classList.remove('active-error');
            }

            if (choice === 'pro') {
                this.classList.add('active-pro');
                resultBox.innerHTML = data.pro;
            } else {
                this.classList.add('active-error');
                resultBox.innerHTML = data.error;
            }
        });
    }
});
</script>



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

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

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

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

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

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Article",
      "@id": "https://projekt-ogrzewania.pl/google-preferred-sources#article",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://projekt-ogrzewania.pl/google-preferred-sources"
      },
      "headline": "Wspieraj Projekt-Ogrzewania.pl w wynikach Google",
      "description": "Interaktywny widget umożliwiający dodanie portalu Projekt-Ogrzewania.pl do ulubionych źródeł w wyszukiwarce Google. Buduj z nami rzetelną bazę wiedzy o HVAC.",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
      "author": {
        "@type": "Person",
        "name": "Robert Kucharski",
        "url": "https://projekt-ogrzewania.pl/",
        "sameAs": [
          "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
          "https://www.facebook.com/projektogrzewaniapl/",
          "https://www.linkedin.com/in/robert-kucharski-38069b48/",
          "https://x.com/Projekt_HVAC",
          "https://remont.biz.pl/",
          "https://sobir.pl/"
        ]
      },
      "publisher": {
        "@type": "Organization",
        "name": "Projekt-Ogrzewania.pl",
        "logo": {
          "@type": "ImageObject",
          "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
        }
      },
      "datePublished": "2026-07-09",
      "dateModified": "2026-07-09"
    },
    {
      "@type": "Dataset",
      "@id": "https://projekt-ogrzewania.pl/google-preferred-sources#dataset",
      "name": "Preferowane Źródła Google - Statystyki i Interakcja",
      "description": "Zbiór danych i interaktywnych punktów styku pozwalających na ocenę preferencji czytelników dla treści technicznych HVAC.",
      "license": "https://projekt-ogrzewania.pl/",
      "creator": {
        "@type": "Person",
        "name": "Robert Kucharski"
      },
      "keywords": [
        "ulubione źródła google",
        "preferowane wyniki wyszukiwania",
        "autorytet domeny hvac",
        "zaufane portale budowlane",
        "personalizacja google search"
      ],
      "measurementTechnique": "Zliczanie interakcji z widgetem UI typu toggle oraz przekierowań do interfejsu preferencji Google Search",
      "mainEntity": "Optymalizacja zaangażowania użytkownika poprzez interaktywny widget dodawania domeny do preferencji Google."
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/google-preferred-sources#webapplication",
      "name": "Google Preferences Toggle Widget",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "All",
      "description": "Aplikacja webowa w formie widgetu symulującego przełącznik mobilny, integrująca natywne linkowanie do ustawień preferowanych źródeł Google.",
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "PLN"
      }
    }
  ]
}
</script>


<p>Artykuł <a href="https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/">Strefy klimatyczne w Polsce a ogrzewanie podłogowe i OZC: Dlaczego błąd o jedną strefę klimatyczną kosztuje Cię 6000 zł rocznie?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/strefy-klimatyczne-w-polsce-a-ogrzewanie-podlogowe-i-ozc-dlaczego-blad-o-jedna-strefe-klimatyczna-kosztuje-cie-6000-zl-rocznie/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Projekt instalacji grzewczej domu jednorodzinnego: Kompletny przewodnik inżynieryjny, koszty i obliczenia OZC.</title>
		<link>https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/</link>
					<comments>https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#respond</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 31 Jul 2026 07:17:58 +0000</pubDate>
				<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[OZC]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Projekt instalacji grzewczej]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[bilans cieplny]]></category>
		<category><![CDATA[centralne ogrzewanie]]></category>
		<category><![CDATA[dobór ogrzewania]]></category>
		<category><![CDATA[dobór pompy ciepła]]></category>
		<category><![CDATA[dokumentacja techniczna]]></category>
		<category><![CDATA[hydraulika instalacji]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[obliczenia ozc]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[ozc]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt co]]></category>
		<category><![CDATA[projekt domu jednorodzinnego]]></category>
		<category><![CDATA[projekt hvac]]></category>
		<category><![CDATA[projekt instalacji grzewczej]]></category>
		<category><![CDATA[projekt instalacji grzewczej domu jednorodzinnego]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=6872</guid>

					<description><![CDATA[<p>Czy profesjonalny projekt naprawdę jest potrzebny przed wykonaniem ogrzewania w domu? Projekt instalacji grzewczej domu jednorodzinnego to znacznie więcej niż zwykły rysunek techniczny – to komplet obliczeń OZC, analiza hydrauliczna, dobór źródła ciepła oraz dokumentacja, która pozwala uniknąć kosztownych błędów i przewymiarowania instalacji. W tym przewodniku znajdziesz praktyczne przykłady, kalkulatory, interaktywne symulatory oraz inżynierskie wskazówki, dzięki którym zaprojektujesz wydajny, oszczędny i niezawodny system grzewczy.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/">Projekt instalacji grzewczej domu jednorodzinnego: Kompletny przewodnik inżynieryjny, koszty i obliczenia OZC.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-hero-dark: #0f172a;
    --rk-hero-blue: #0284c7;
    --rk-hero-light: #f8fafc;
    --rk-hero-border: #e2e8f0;
    --rk-hero-text: #475569;
    --rk-hero-accent: #38bdf8;
    --rk-hero-alert-bg: #eff6ff;
    --rk-hero-alert-border: #bfdbfe;
}

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

/* Sekcja Tytułowa - Hook */
.rk-hero-header {
    background: linear-gradient(135deg, var(--rk-hero-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
}

.rk-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(2, 132, 199, 0.2);
    color: var(--rk-hero-accent);
    padding: 6px 14px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

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

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

/* Szybka Odpowiedź (Direct Answer pod SEO) */
.rk-hero-quick-answer {
    background: var(--rk-hero-alert-bg);
    border-left: 5px solid var(--rk-hero-blue);
    padding: 30px 40px;
    margin: 0;
    border-bottom: 1px solid var(--rk-hero-alert-border);
}

.rk-hero-quick-answer-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-hero-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-hero-quick-answer p {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-hero-dark);
    margin: 0;
    line-height: 1.6;
}

/* Sekcja Główna */
.rk-hero-body {
    padding: 40px 50px;
    display: flex;
    flex-direction: column;
    gap: 25px;
    background: var(--rk-hero-light);
}

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

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

/* Zmieniony Panel Narzędziowy - Układ z poziomymi zakładkami */
.rk-hero-tools-panel {
    background: #ffffff;
    border: 1px solid var(--rk-hero-border);
    border-radius: 12px;
    display: flex;
    flex-direction: column; /* Wymuszamy układ pionowy całego bloku */
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}

/* Nawigacja górna */
.rk-hero-tools-nav {
    display: flex;
    background: var(--rk-hero-light);
    border-bottom: 1px solid var(--rk-hero-border);
}

.rk-hero-tool-btn {
    flex: 1;
    padding: 18px 15px;
    text-align: center;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent; /* Miejsce na aktywny pasek */
    border-right: 1px solid var(--rk-hero-border);
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-hero-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: all 0.2s;
}

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

.rk-hero-tool-btn svg {
    flex-shrink: 0; /* Ochrona przed zgnieceniem ikony */
}

.rk-hero-tool-btn:hover {
    background: #ffffff;
}

.rk-hero-tool-btn.active {
    background: #ffffff;
    color: var(--rk-hero-blue);
    border-bottom-color: var(--rk-hero-blue);
}

/* Obszar wyświetlania na pełnej szerokości */
.rk-hero-tools-display {
    padding: 35px 40px;
    background: #ffffff;
}

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

.rk-hero-view.active {
    display: block;
    animation: fadeIn 0.4s ease forwards;
}

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

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

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

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

/* RWD */
@media (max-width: 768px) {
    .rk-hero-header, .rk-hero-quick-answer, .rk-hero-body { padding: 30px 20px; }
    .rk-hero-tools-nav { flex-direction: column; }
    .rk-hero-tool-btn { 
        border-right: none; 
        border-bottom: 1px solid var(--rk-hero-border);
        border-left: 4px solid transparent; 
        justify-content: flex-start; 
        padding-left: 20px;
    }
    .rk-hero-tool-btn:last-child { border-bottom: none; }
    .rk-hero-tool-btn.active {
        border-bottom-color: var(--rk-hero-border);
        border-left-color: var(--rk-hero-blue);
    }
    .rk-hero-tools-display { padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Projekt instalacji grzewczej domu jednorodzinnego to inżynieryjny fundament budowy",
    "description": "Przewodnik techniczny po projektowaniu instalacji grzewczych. Zobacz interaktywne kalkulatory, symulatory doboru pomp ciepła i analizy błędów montażowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-wstep",
    "name": "Zawartość narzędziowa przewodnika projektowego HVAC",
    "description": "Zestawienie interaktywnych modułów analitycznych dostępnych w artykule, służących do weryfikacji i optymalizacji parametrów instalacji domowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt instalacji grzewczej domu jednorodzinnego",
      "obliczenia ozc pn-en 12831",
      "parametry hydrauliczne pętli grzewczych",
      "przewymiarowana pompa ciepła",
      "interaktywne kalkulatory hydrauliczne"
    ],
    "measurementTechnique": "Przegląd inżynieryjnych narzędzi obliczeniowych (symulatory przepływów, kalkulatory ROI, weryfikatory błędów) udostępnionych w dokumencie.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Narzędzie 1: Interaktywny Kalkulator Doboru Pompy Obiegowej.",
        "Narzędzie 2: Symulator Skutków Przewymiarowania Pompy Ciepła (OZC).",
        "Narzędzie 3: Kalkulator Strat Inwestycyjnych i ROI.",
        "Narzędzie 4: Skaner 5 Najczęstszych Błędów Wykonawczych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-wstep",
    "name": "Inżynieryjny Panel Nawigacyjny HVAC",
    "description": "Moduł wprowadzenia z poziomymi zakładkami prezentujący zasoby edukacyjne i narzędzia symulacyjne dostępne w dalszej części technicznego przewodnika.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-hero-container" id="rk-interactive-hero">
    
    <!-- Hook Tytułowy -->
    <div class="rk-hero-header">
        <div class="rk-hero-badge">Inżynieryjny Brief Inwestora</div>
        <h2>Budujesz dom i słyszysz, że hydraulik &#8222;zrobi instalację z głowy&#8221;? To najdroższy błąd, jaki możesz popełnić.</h2>
        <p>Brak profesjonalnych wyliczeń przed budową to najprostsza droga do niedogrzanych pomieszczeń, szumiących rozdzielaczy i pompy ciepła, która ulegnie awarii po kilku latach.</p>
    </div>

    <!-- Szybka Odpowiedź (Featured Snippet) -->
    <div class="rk-hero-quick-answer">
        <div class="rk-hero-quick-answer-title">
            <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
            Szybka odpowiedź eksperta
        </div>
        <p>
            <strong>Projekt instalacji grzewczej domu jednorodzinnego</strong> to dokumentacja techniczno-wykonawcza oparta na obliczeniach Projektowego Obciążenia Cieplnego (OZC) zgodnie z normą PN-EN 12831. Określa ona precyzyjne zapotrzebowanie budynku na moc (w kW) oraz parametry hydrauliczne układu. Prawidłowy projekt natychmiast eliminuje zjawisko przewymiarowania pomp i obniża koszty inwestycyjne o 15-25%.
        </p>
    </div>

    <!-- Wprowadzenie do aplikacji interaktywnych -->
    <div class="rk-hero-body">
        <p class="rk-hero-body-intro">Jako CEO Projekt-Ogrzewania.pl oddaję w Twoje ręce bezkompromisowe zestawienie twardych danych. <strong>W dalszej części tego przewodnika przygotowałem dla Ciebie interaktywne narzędzia i symulatory</strong>, które pozwolą Ci na żywo sprawdzić krytyczne parametry Twojego przyszłego domu.</p>
        
        <div class="rk-hero-tools-panel">
            <!-- Nawigacja górna (pozioma) -->
            <div class="rk-hero-tools-nav">
                <button class="rk-hero-tool-btn active" data-view="hero-calc">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line><line x1="20" y1="9" x2="23" y2="9"></line><line x1="20" y1="14" x2="23" y2="14"></line><line x1="1" y1="9" x2="4" y2="9"></line><line x1="1" y1="14" x2="4" y2="14"></line></svg>
                    Kalkulatory Inżynieryjne
                </button>
                <button class="rk-hero-tool-btn" data-view="hero-errors">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                    Skaner Błędów
                </button>
                <button class="rk-hero-tool-btn" data-view="hero-roi">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    Analiza Kosztów ROI
                </button>
            </div>
            
            <!-- Obszar wyświetlania pełnej szerokości -->
            <div class="rk-hero-tools-display">
                <div class="rk-hero-view active" id="hero-calc">
                    <h3>Wylicz parametry na żywo</h3>
                    <p>Przewiń niżej, aby skorzystać z symulatorów obliczających <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" target="_blank">projektowe obciążenie cieplne (OZC)</a>. Zobaczysz, jak zmiana temperatury zasilania czy odpowiednia grubość styropianu wpływa na wydajność całego układu ogrzewania podłogowego.</p>
                </div>
                <div class="rk-hero-view" id="hero-errors">
                    <h3>Diagnoza instalatorska</h3>
                    <p>W module diagnostycznym obnażamy <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" target="_blank">najczęstsze błędy wykonawcze</a>. Dowiesz się, jakie katastrofalne w skutkach wpadki (od braku dylatacji po wodę z kranu w rurach) popełniają fachowcy pracujący bez nadzoru i dokumentacji.</p>
                </div>
                <div class="rk-hero-view" id="hero-roi">
                    <h3>Realne wyliczenia finansowe</h3>
                    <p>Sprawdź w naszym narzędziu <a href="https://projekt-ogrzewania.pl/ile-kosztuje-projekt-ogrzewania-podlogowego/" target="_blank">ile kosztuje projekt ogrzewania podłogowego</a>, a ile stracisz kupując przewymiarowaną pompę ciepła. Twarde wyliczenia udowadniają, że dokumentacja inżynieryjna to najlepsza polisa ubezpieczeniowa dla Twojego budżetu.</p>
                </div>
            </div>
        </div>
        
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-hero-tool-btn');
    const views = document.querySelectorAll('.rk-hero-view');

    // Bezpieczne przełączanie zakładek (bez użycia operatorów logicznych)
    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            const targetId = this.getAttribute('data-view');
            
            // Czyszczenie aktywnych przycisków
            btns.forEach(function(b) {
                b.classList.remove('active');
            });
            
            // Czyszczenie aktywnych widoków
            views.forEach(function(v) {
                v.classList.remove('active');
            });
            
            // Nadanie aktywności klikniętemu
            this.classList.add('active');
            const targetView = document.getElementById(targetId);
            
            if (targetView) {
                targetView.classList.add('active');
            }
        });
    });
});
</script>



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

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

/* Nagłówek */
.rk-ozc-header {
    background: linear-gradient(135deg, var(--rk-ozc-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
}

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

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

/* Aplikacja - Główny układ pionowy (Stacked) */
.rk-ozc-app {
    padding: 40px 50px;
    background: var(--rk-ozc-light);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Panel sterowania */
.rk-ozc-controls {
    background: #ffffff;
    border-radius: 16px;
    padding: 30px 40px;
    border: 1px solid var(--rk-ozc-border);
    box-shadow: 0 4px 10px -2px rgba(0,0,0,0.03);
}

.rk-ozc-title-small {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-ozc-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/* Przełącznik */
.rk-ozc-toggle-wrapper {
    display: flex;
    background: var(--rk-ozc-light);
    border: 1px solid var(--rk-ozc-border);
    border-radius: 12px;
    overflow: hidden;
}

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

.rk-ozc-btn.active[data-mode="oko"] {
    background: var(--rk-ozc-red);
    color: #ffffff;
}

.rk-ozc-btn.active[data-mode="ozc"] {
    background: var(--rk-ozc-green);
    color: #ffffff;
}

/* Kafelki danych inżynieryjnych */
.rk-ozc-dashboard {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.rk-dash-box {
    background: #ffffff;
    border: 2px solid var(--rk-ozc-border);
    border-radius: 16px;
    padding: 25px 15px;
    text-align: center;
    transition: all 0.4s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-dash-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--rk-ozc-light);
    color: var(--rk-ozc-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    transition: all 0.4s;
}

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

.rk-dash-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-ozc-dark);
    margin-bottom: 5px;
    transition: color 0.4s;
}

.rk-dash-sub {
    font-size: 12px;
    color: var(--rk-ozc-text);
}

/* Stany dynamiczne kafelków */
.state-ozc .rk-dash-box { border-color: #86efac; }
.state-ozc .rk-dash-icon { background: var(--rk-ozc-green-bg); color: var(--rk-ozc-green); }
.state-ozc .rk-dash-val { color: var(--rk-ozc-green); }

.state-oko .rk-dash-box { border-color: #fca5a5; }
.state-oko .rk-dash-icon { background: var(--rk-ozc-red-bg); color: var(--rk-ozc-red); }
.state-oko .rk-dash-val { color: var(--rk-ozc-red); }

/* Status Alert (Pełna szerokość) */
.rk-ozc-status-card {
    border-radius: 16px;
    padding: 25px 35px;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: all 0.4s ease;
    border: 2px solid transparent;
}

.rk-ozc-status-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-ozc-status-content h3 {
    margin: 0 0 5px 0;
    font-size: 20px;
    font-weight: 800;
}

.rk-ozc-status-content p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
}

/* Kolory Statusów */
.status-ozc {
    background: var(--rk-ozc-green-bg);
    border-color: var(--rk-ozc-green);
    color: #065f46;
}
.status-ozc .rk-ozc-status-icon { background: var(--rk-ozc-green); color: #ffffff; }

.status-oko {
    background: var(--rk-ozc-red-bg);
    border-color: var(--rk-ozc-red);
    color: #991b1b;
}
.status-oko .rk-ozc-status-icon { background: var(--rk-ozc-red); color: #ffffff; }

/* Sekcja opisowa */
.rk-ozc-desc {
    padding: 0 50px 40px;
    background: var(--rk-ozc-light);
}

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

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

.rk-ozc-desc a {
    color: var(--rk-ozc-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Wzór wyróżniony */
.rk-ozc-formula {
    background: #ffffff;
    border-left: 4px solid var(--rk-ozc-blue);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin: 20px 0;
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
}

.rk-ozc-formula-code {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-ozc-dark);
    text-align: center;
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.rk-ozc-formula-legend {
    font-size: 14px;
    color: var(--rk-ozc-text);
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
}

/* RWD */
@media (max-width: 768px) {
    .rk-ozc-header, .rk-ozc-app, .rk-ozc-desc { padding: 30px 20px; }
    .rk-ozc-controls { padding: 25px 20px; }
    .rk-ozc-toggle-wrapper { flex-direction: column; border-radius: 12px; }
    .rk-ozc-btn { border-bottom: 1px solid var(--rk-ozc-border); padding: 15px; }
    .rk-ozc-dashboard { grid-template-columns: 1fr; }
    .rk-ozc-status-card { flex-direction: column; text-align: center; padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-ozc-skutki",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Czym jest Projektowe Obciążenie Cieplne (OZC) i dlaczego dobór ogrzewania bez normy to błąd?",
    "description": "Fizyczne i finansowe konsekwencje braku obliczeń OZC. Zobacz, jak przewymiarowana pompa ciepła ulega taktowaniu, drastycznie skracając żywotność sprężarki.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-ozc",
    "name": "Baza diagnostyczna skutków braku obliczeń OZC",
    "description": "Zestawienie inżynieryjne pokazujące zjawisko skracania żywotności sprężarek (taktowanie) w przewymiarowanych pompach ciepła dobieranych na podstawie przybliżonego wskaźnika W/m2.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projektowe obciążenie cieplne ozc",
      "norma pn-en 12831 obliczenia",
      "przewymiarowana pompa ciepła taktowanie",
      "żywotność sprężarki pompy ciepła",
      "straty ciepła przez przenikanie u"
    ],
    "measurementTechnique": "Szacowanie żywotności układu sprężarkowego na bazie cykli włącz/wyłącz (taktowania) w okresach przejściowych (+5°C).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Dobór na oko (50 W/m2): Pompa 10 kW, silne taktowanie w okresach przejściowych, żywotność zredukowana do 5-7 lat.",
        "Dobór wg OZC (PN-EN 12831): Pompa 6 kW, stabilna praca na niskich obrotach, żywotność kompresora rzędu 20 lat."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-ozc",
    "name": "Symulator Skutków Braku OZC",
    "description": "Interaktywny pionowy dashboard wizualizujący ukryte koszty i spadki żywotności sprzętu grzewczego wynikające z braku rzetelnych wyliczeń inżynieryjnych na etapie projektowym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-ozc-container" id="rk-interactive-ozc">
    <div class="rk-ozc-header">
        <h2>Czym jest OZC i dlaczego dobór ogrzewania „z metrażu” to błąd?</h2>
        <p>Brak inżynieryjnych obliczeń przed budową to najprostsza droga do zniszczenia własnego sprzętu. Przełącz symulator i zobacz, jak przewymiarowanie dobija serce Twojej pompy ciepła.</p>
    </div>

    <div class="rk-ozc-app" id="rk-ozc-wrapper">
        
        <!-- Panel Sterowania -->
        <div class="rk-ozc-controls">
            <div class="rk-ozc-title-small">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                Wybierz metodologię doboru urządzenia
            </div>
            
            <div class="rk-ozc-toggle-wrapper">
                <button class="rk-ozc-btn" data-mode="oko">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
                    Szacunkowo „z metrażu”
                </button>
                <button class="rk-ozc-btn active" data-mode="ozc">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                    Precyzyjne wyliczenia OZC
                </button>
            </div>
        </div>

        <!-- Dashboard z danymi -->
        <div class="rk-ozc-dashboard">
            <div class="rk-dash-box">
                <div class="rk-dash-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
                </div>
                <div class="rk-dash-label">Dobór Pompy Ciepła</div>
                <div class="rk-dash-val" id="rk-val-power">6 kW</div>
                <div class="rk-dash-sub" id="rk-sub-power">Moc idealnie dopasowana</div>
            </div>
            <div class="rk-dash-box">
                <div class="rk-dash-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                </div>
                <div class="rk-dash-label">Żywotność sprężarki</div>
                <div class="rk-dash-val" id="rk-val-life">20 lat</div>
                <div class="rk-dash-sub" id="rk-sub-life">Stabilna praca silnika</div>
            </div>
            <div class="rk-dash-box">
                <div class="rk-dash-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                </div>
                <div class="rk-dash-label">Zachowanie układu</div>
                <div class="rk-dash-val" id="rk-val-status">Brak taktowania</div>
                <div class="rk-dash-sub" id="rk-sub-status">Ciągła modulacja obrotów</div>
            </div>
        </div>

        <!-- Dolny Alert Statusu -->
        <div class="rk-ozc-status-card status-ozc" id="rk-ozc-status-box">
            <div class="rk-ozc-status-icon" id="rk-ozc-status-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
            </div>
            <div class="rk-ozc-status-content">
                <h3 id="rk-ozc-status-title">Bezpieczna inwestycja</h3>
                <p id="rk-ozc-status-desc">OZC gwarantuje dobór urządzenia w punkt. Pompa nie przegrzewa się, pobiera mało prądu i pracuje bezawaryjnie przez dekady.</p>
            </div>
        </div>
        
    </div>

    <!-- Tekst inżynieryjny pod aplikacją -->
    <div class="rk-ozc-desc">
        <h3>Dlaczego brak normy to technologiczne samobójstwo?</h3>
        <p>Wyznaczenie projektowego obciążenia cieplnego budynku zgodnie z normą <a href="https://projekt-ogrzewania.pl/pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/" target="_blank">PN-EN 12831</a> stanowi jedyną prawnie i technicznie poprawną metodę określenia zapotrzebowania domu na moc grzewczą wyrażoną w kW. Szacowanie mocy z metrażu kwadratowego (np. popularne na forach zakładanie 50 W/m²) w nowoczesnym budownictwie generuje gigantyczny błąd przewymiarowania źródła ciepła sięgający nawet 60%.</p>

        <p>Gdy dobierasz <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" target="_blank">pompę ciepła</a> bez twardych wyliczeń, narażasz urządzenie na tzw. <strong>zjawisko taktowania</strong>. Oznacza to, że przewymiarowana pompa o mocy 10 kW (podczas gdy potrzebujesz 6 kW) w okresach przejściowych (np. jesienią przy +5°C) generuje za dużo energii. Komputer włącza ją na kilka minut i natychmiast wyłącza. Ten cykl powtarza się kilkadziesiąt razy na dobę, bezlitośnie zarzynając mechanikę drogiej sprężarki.</p>
        
        <div class="rk-ozc-formula">
            <div class="rk-ozc-formula-code">Moc = Powierzchnia × Współczynnik U × (Temp. Wew &#8211; Temp. Zew)</div>
            <div class="rk-ozc-formula-legend">
                <span>Każda przegroda budowlana posiada własny opór i współczynnik przenikania (U). <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" target="_blank">Obliczenia OZC</a> polegają na precyzyjnym zsumowaniu strat każdego pokoju z osobna.</span>
            </div>
        </div>

        <p>Z drugiej strony, celowe zaniżanie mocy „by było taniej” skrajnie obniży komfort termiczny. Gdy temperatura na zewnątrz spadnie do projektowej wartości strefowej (np. -20°C dla centralnej Polski), dom po prostu zmarznie.</p>
        
        <p>Wynik z profesjonalnego OZC pozwala projektantowi precyzyjnie przeliczyć gęstość strumienia ciepła, jaką musi oddać posadzka. To na tej podstawie decydujemy, czy w strefie przy oknie rury ułożyć co 10 cm, a na środku pokoju co 15 cm. Bez tego, cała wylewka jest wyłącznie kosztownym zgadywaniem.</p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-ozc-btn');
    const wrapper = document.getElementById('rk-ozc-wrapper');
    
    // Pola w dashboardzie
    const valPower = document.getElementById('rk-val-power');
    const subPower = document.getElementById('rk-sub-power');
    const valLife = document.getElementById('rk-val-life');
    const subLife = document.getElementById('rk-sub-life');
    const valStatus = document.getElementById('rk-val-status');
    const subStatus = document.getElementById('rk-sub-status');
    
    // Status box
    const statusBox = document.getElementById('rk-ozc-status-box');
    const statusIcon = document.getElementById('rk-ozc-status-icon');
    const statusTitle = document.getElementById('rk-ozc-status-title');
    const statusDesc = document.getElementById('rk-ozc-status-desc');

    // Ikony (ciągi znaków)
    const iconDanger = '<svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>';
    const iconOptimal = '<svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>';

    // Logika i dane (bez operatorów logicznych)
    const ozcData = {
        'ozc': {
            powVal: '6 kW',
            powSub: 'Moc idealnie dopasowana',
            lifeVal: '20 lat',
            lifeSub: 'Stabilna praca silnika',
            statVal: 'Brak taktowania',
            statSub: 'Ciągła modulacja obrotów',
            alertTitle: 'Bezpieczna inwestycja na lata',
            alertDesc: 'Obliczenia OZC gwarantują dobór urządzenia w punkt. Pompa ciepła nie przegrzewa się w jesieni, pobiera mało prądu i pracuje bezawaryjnie przez dekady.',
            icon: iconOptimal,
            className: 'status-ozc'
        },
        'oko': {
            powVal: '10 kW',
            powSub: 'Przewymiarowana (+40%)',
            lifeVal: '5-7 lat',
            lifeSub: 'Agresywne uderzenia startowe',
            statVal: 'Ciągłe taktowanie',
            statSub: 'Wyłącza się po 3 minutach',
            alertTitle: 'Zabójstwo dla sprężarki',
            alertDesc: 'Za duża moc sprawia, że przy +5°C pompa włącza się i wyłącza dziesiątki razy na dobę. Taktowanie mechanicznie i nieodwracalnie niszczy serce sprężarki.',
            icon: iconDanger,
            className: 'status-oko'
        }
    };

    function updateSimulation(mode) {
        const data = ozcData[mode];
        
        // Teksty
        valPower.innerText = data.powVal;
        subPower.innerText = data.powSub;
        valLife.innerText = data.lifeVal;
        subLife.innerText = data.lifeSub;
        valStatus.innerText = data.statVal;
        subStatus.innerText = data.statSub;
        
        // Zmiana stylów głównego wrappera
        wrapper.classList.remove('state-ozc');
        wrapper.classList.remove('state-oko');
        wrapper.classList.add('state-' + mode);
        
        // Status Alert
        statusBox.className = 'rk-ozc-status-card ' + data.className;
        statusTitle.innerText = data.alertTitle;
        statusDesc.innerText = data.alertDesc;
        statusIcon.innerHTML = data.icon;
    }

    // Nasłuchiwanie na przyciski
    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Czyszczenie klas aktywnych
            btns.forEach(function(b) {
                b.classList.remove('active');
            });
            // Nadanie aktywności klikniętemu
            this.classList.add('active');
            
            // Render
            const mode = this.getAttribute('data-mode');
            updateSimulation(mode);
        });
    });
    
    // Start z trybem OZC
    wrapper.classList.add('state-ozc');
});
</script>



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

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

/* Nagłówek */
.rk-roi-header {
    background: linear-gradient(135deg, var(--rk-roi-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
    text-align: center;
}

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

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

/* Główny obszar aplikacji */
.rk-roi-app {
    padding: 40px 50px;
    background: var(--rk-roi-light);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Przełącznik decyzyjny */
.rk-roi-decision-box {
    background: #ffffff;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-roi-border);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-roi-title-small {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-roi-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
}

.rk-roi-toggle-wrapper {
    display: flex;
    background: var(--rk-roi-light);
    border: 1px solid var(--rk-roi-border);
    border-radius: 12px;
    overflow: hidden;
}

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

.rk-roi-btn.active[data-mode="pro"] {
    background: var(--rk-roi-green);
    color: #ffffff;
}

.rk-roi-btn.active[data-mode="oko"] {
    background: var(--rk-roi-red);
    color: #ffffff;
}

/* Siatka wyników (Kafelki) */
.rk-roi-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.rk-roi-card {
    background: #ffffff;
    border: 2px solid var(--rk-roi-border);
    border-radius: 16px;
    padding: 25px 20px;
    text-align: center;
    transition: all 0.4s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-roi-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    transition: all 0.4s;
    background: var(--rk-roi-light);
    color: var(--rk-roi-blue);
}

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

.rk-roi-card-param {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-roi-text);
    margin-bottom: 5px;
    transition: color 0.4s;
}

.rk-roi-card-cost {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-roi-dark);
    transition: color 0.4s;
}

/* Stany dynamiczne kafelków */
.state-pro .rk-roi-card { border-color: #86efac; }
.state-pro .rk-roi-card-icon { background: var(--rk-roi-green-bg); color: var(--rk-roi-green); }
.state-pro .rk-roi-card-cost { color: var(--rk-roi-green); }

.state-oko .rk-roi-card { border-color: #fca5a5; }
.state-oko .rk-roi-card-icon { background: var(--rk-roi-red-bg); color: var(--rk-roi-red); }
.state-oko .rk-roi-card-cost { color: var(--rk-roi-red); }

/* Podsumowanie finansowe (Alert) */
.rk-roi-summary-box {
    border-radius: 16px;
    padding: 30px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.4s ease;
    border: 2px solid transparent;
}

.state-pro .rk-roi-summary-box {
    background: var(--rk-roi-green-bg);
    border-color: var(--rk-roi-green);
}

.state-oko .rk-roi-summary-box {
    background: var(--rk-roi-red-bg);
    border-color: var(--rk-roi-red);
}

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

.rk-roi-sum-text p {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--rk-roi-text);
}

.rk-roi-sum-total {
    font-size: 38px;
    font-weight: 900;
    text-align: right;
}

.state-pro .rk-roi-sum-total { color: var(--rk-roi-green); }
.state-oko .rk-roi-sum-total { color: var(--rk-roi-red); }

/* Sekcja opisowa */
.rk-roi-desc {
    padding: 0 50px 30px;
    background: var(--rk-roi-light);
}

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

.rk-roi-desc a {
    color: var(--rk-roi-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Potężne CTA */
.rk-roi-cta-wrap {
    padding: 45px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-roi-border);
    text-align: center;
}

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

.rk-roi-cta-text {
    font-size: 16px;
    color: #64748b;
    margin: 0 auto 30px;
    max-width: 650px;
    line-height: 1.6;
}

.rk-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-roi-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 22px 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);
}

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

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

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

/* RWD */
@media (max-width: 768px) {
    .rk-roi-header, .rk-roi-app, .rk-roi-desc, .rk-roi-cta-wrap { padding: 30px 20px; }
    .rk-roi-decision-box { padding: 20px; }
    .rk-roi-toggle-wrapper { flex-direction: column; border-radius: 12px; }
    .rk-roi-btn { padding: 15px; border-bottom: 1px solid var(--rk-roi-border); }
    .rk-roi-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-roi-summary-box { flex-direction: column; text-align: center; gap: 15px; padding: 25px 20px; }
    .rk-roi-sum-total { text-align: center; font-size: 32px; }
    .rk-btn-massive { width: 100%; padding: 18px 20px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-koszty",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Ile kosztuje projekt instalacji grzewczej i OZC dla domu jednorodzinnego w 2026 roku?",
    "description": "Realne zestawienie kosztów inwestycyjnych. Porównanie nakładów finansowych przy profesjonalnym projekcie OZC z drogowymi błędami wykonawców robiących instalacje na oko.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-koszty",
    "name": "Zestawienie kosztów inwestycyjnych ogrzewania podłogowego 2026",
    "description": "Baza danych finansowych pokazująca różnice w wydatkach materiałowych między poprawnym projektem inżynieryjnym a instalatorstwem opartym na przybliżeniach.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile kosztuje projekt ogrzewania podłogowego",
      "cena obliczeń ozc 2026",
      "przewymiarowana pompa ciepła cena",
      "koszt rur do podłogówki 150m2",
      "zwrot z inwestycji w projekt grzewczy"
    ],
    "measurementTechnique": "Analiza porównawcza nakładów materiałowych (pompa ciepła, rury, rozdzielacze) dla referencyjnego domu o powierzchni 150 m2.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt kompletnego projektu OZC: ok. 600 PLN brutto.",
        "Instalacja z projektem: Pompa 6 kW (28 000 PLN), Rury 1050m, Suma na starcie: 34 275 PLN.",
        "Instalacja na oko: Pompa 10 kW (38 000 PLN), Rury 1400m, Suma na starcie: 46 100 PLN."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-koszty",
    "name": "Kalkulator ROI Projektu OZC",
    "description": "Narzędzie finansowe wyliczające na żywo ukryte straty kapitałowe wynikające z braku profesjonalnego projektu i OZC podczas budowy domu.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-roi-container" id="rk-interactive-roi">
    <div class="rk-roi-header">
        <h2>Ile kosztuje projekt instalacji grzewczej i OZC dla domu w 2026 roku?</h2>
        <p>Inwestorzy często traktują ten wydatek jako opcjonalny, co jest fundamentalnym błędem logicznym. Użyj kalkulatora i zobacz na własne oczy, jak kilkaset złotych zaoszczędzone na inżynierze pożera kilkanaście tysięcy z Twojego portfela.</p>
    </div>

    <!-- Moduł Aplikacji -->
    <div class="rk-roi-app" id="rk-roi-wrapper">
        
        <!-- Przełącznik Decyzyjny -->
        <div class="rk-roi-decision-box">
            <div class="rk-roi-title-small">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                Wybierz model realizacji inwestycji (Dom 150 m²)
            </div>
            
            <div class="rk-roi-toggle-wrapper">
                <button class="rk-roi-btn active" data-mode="pro">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                    Instalacja z projektem i OZC
                </button>
                <button class="rk-roi-btn" data-mode="oko">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
                    Instalacja robiona &#8222;na oko&#8221;
                </button>
            </div>
        </div>

        <!-- Siatka Wyników (Kafelki) -->
        <div class="rk-roi-grid">
            
            <div class="rk-roi-card">
                <div class="rk-roi-card-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 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                </div>
                <div class="rk-roi-card-label">Pompa Ciepła</div>
                <div class="rk-roi-card-param" id="rk-param-pump">Moc: 6 kW</div>
                <div class="rk-roi-card-cost" id="rk-cost-pump">28 000 PLN</div>
            </div>

            <div class="rk-roi-card">
                <div class="rk-roi-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 8v4l3 3"></path></svg>
                </div>
                <div class="rk-roi-card-label">Rury PEX / PERT</div>
                <div class="rk-roi-card-param" id="rk-param-pipe">Zużycie: 1 050 m</div>
                <div class="rk-roi-card-cost" id="rk-cost-pipe">3 675 PLN</div>
            </div>

            <div class="rk-roi-card">
                <div class="rk-roi-card-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="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                </div>
                <div class="rk-roi-card-label">Eksploatacja (Rocznie)</div>
                <div class="rk-roi-card-param" id="rk-param-cop">Sprawność COP: 4,2</div>
                <div class="rk-roi-card-cost" id="rk-cost-energy">2 400 PLN</div>
            </div>

        </div>

        <!-- Podsumowanie Total -->
        <div class="rk-roi-summary-box">
            <div class="rk-roi-sum-text">
                <h3 id="rk-sum-title">Wzorowa inwestycja</h3>
                <p id="rk-sum-desc">Dzięki projektowi (+600 PLN) kupujesz tylko niezbędny sprzęt.</p>
            </div>
            <div class="rk-roi-sum-total" id="rk-sum-total">
                34 275 PLN
            </div>
        </div>

    </div>

    <!-- Część opisowa SEO -->
    <div class="rk-roi-desc">
        <p>Średni koszt wykonania kompleksowego dokumentu, a więc dając odpowiedź na pytanie <a href="https://projekt-ogrzewania.pl/ile-kosztuje-projekt-ogrzewania-podlogowego/" target="_blank">ile kosztuje projekt ogrzewania podłogowego</a> wraz z pełnymi obliczeniami OZC dla domu jednorodzinnego (150 m2), to dziś wydatek rzędu zaledwie 600 PLN brutto. Koszt samych obliczeń <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" target="_blank">projektowego obciążenia cieplnego (OZC)</a> mieści się w granicach 300 PLN.</p>
        
        <p>Decyzja o rezygnacji z projektu to oddanie kontroli nad budżetem w ręce instalatora, który zawsze &#8222;dołoży&#8221; materiału, by mieć margines błędu. Przewymiarowana pompa ciepła będzie bezlitośnie taktować (włączać się i wyłączać), skracając żywotność sprężarki, a dziesiątki metrów zbędnej rury tylko zaburzą hydraulikę rozdzielaczy. Twarde wyliczenia pokazują wyraźnie: profesjonalny inżynier gwarantuje najwyższy <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/" target="_blank">zwrot z inwestycji w system grzewczy</a> już na etapie kompletowania zamówienia w hurtowni.</p>
    </div>

    <!-- Mocne CTA do produktu -->
    <div class="rk-roi-cta-wrap">
        <h3 class="rk-roi-cta-title">Nie sponsoruj hurtowni budowlanych.</h3>
        <p class="rk-roi-cta-text">Wydatek 600 PLN na rzetelną dokumentację inżynieryjną generuje dla Ciebie natychmiastową oszczędność rzędu ponad 11 000 PLN. Zbuduj swój dom w oparciu o twarde dane, a nie zgadywanki fachowców.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-massive">
            ZAMÓW PROJEKT OGRZEWANIA Z OZC
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-roi-btn');
    const wrapper = document.getElementById('rk-roi-wrapper');
    
    // Pola danych do nadpisania
    const pPump = document.getElementById('rk-param-pump');
    const cPump = document.getElementById('rk-cost-pump');
    const pPipe = document.getElementById('rk-param-pipe');
    const cPipe = document.getElementById('rk-cost-pipe');
    const pCop = document.getElementById('rk-param-cop');
    const cEnergy = document.getElementById('rk-cost-energy');
    
    const sumTitle = document.getElementById('rk-sum-title');
    const sumDesc = document.getElementById('rk-sum-desc');
    const sumTotal = document.getElementById('rk-sum-total');

    // Baza danych kosztorysowych (Bezpieczna logika)
    const costData = {
        'pro': {
            pumpParam: 'Moc dobrana: 6 kW',
            pumpCost: '28 000 PLN',
            pipeParam: 'Wyliczone: 1 050 m',
            pipeCost: '3 675 PLN',
            copParam: 'Sprawność COP: 4,2',
            energyCost: '2 400 PLN',
            title: 'Wzorowa inwestycja',
            desc: 'Dzięki OZC (+600 PLN) kupujesz tylko niezbędny sprzęt.',
            total: '34 275 PLN'
        },
        'oko': {
            pumpParam: 'Przewymiarowana: 10 kW',
            pumpCost: '38 000 PLN',
            pipeParam: 'Nadmiar: 1 400 m',
            pipeCost: '4 900 PLN',
            copParam: 'Spadek COP do 3,1 (taktowanie)',
            energyCost: '3 450 PLN',
            title: 'Katastrofa budżetowa',
            desc: 'Brak projektu (0 PLN) kosztuje Cię gigantyczne przepalanie pieniędzy.',
            total: '46 100 PLN'
        }
    };

    function updateROI(mode) {
        const data = costData[mode];
        
        // Zmiana tekstów
        pPump.innerText = data.pumpParam;
        cPump.innerText = data.pumpCost;
        pPipe.innerText = data.pipeParam;
        cPipe.innerText = data.pipeCost;
        pCop.innerText = data.copParam;
        cEnergy.innerText = data.energyCost;
        
        sumTitle.innerText = data.title;
        sumDesc.innerText = data.desc;
        sumTotal.innerText = data.total;

        // Reset klas kontrolujących kolory (zielony/czerwony) w bezpieczny sposób
        wrapper.classList.remove('state-pro');
        wrapper.classList.remove('state-oko');
        wrapper.classList.add('state-' + mode);
    }

    // Obsługa zdarzeń
    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Usuwamy aktywność z innych
            btns.forEach(function(b) {
                b.classList.remove('active');
            });
            // Nadajemy temu klikniętemu
            this.classList.add('active');
            
            const mode = this.getAttribute('data-mode');
            updateROI(mode);
        });
    });

    // Uruchomienie domyślne (Stan PRO)
    updateROI('pro');
    wrapper.classList.add('state-pro');
});
</script>



<style>
:root {
    --rk-temp-dark: #0f172a;
    --rk-temp-blue: #0284c7;
    --rk-temp-light: #f8fafc;
    --rk-temp-border: #e2e8f0;
    --rk-temp-text: #475569;
    --rk-temp-green: #10b981;
    --rk-temp-green-bg: #dcfce7;
    --rk-temp-red: #ef4444;
    --rk-temp-red-bg: #fee2e2;
    --rk-temp-orange: #f59e0b;
    --rk-temp-orange-bg: #fef3c7;
}

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

/* Nagłówek */
.rk-temp-header {
    background: linear-gradient(135deg, var(--rk-temp-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
}

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

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

/* Aplikacja - Główny układ pionowy (Stacked) */
.rk-temp-app {
    padding: 40px 50px;
    background: var(--rk-temp-light);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Panel sterowania suwakiem */
.rk-temp-controls {
    background: #ffffff;
    border-radius: 16px;
    padding: 35px 40px;
    border: 1px solid var(--rk-temp-border);
    box-shadow: 0 4px 10px -2px rgba(0,0,0,0.03);
}

.rk-temp-title-small {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-temp-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-temp-slider-wrap {
    margin-bottom: 10px;
}

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

.rk-temp-value {
    font-size: 42px;
    font-weight: 900;
    color: var(--rk-temp-blue);
    line-height: 1;
}

.rk-temp-value span {
    font-size: 18px;
    color: #94a3b8;
    font-weight: 700;
}

.rk-temp-input {
    width: 100%;
    -webkit-appearance: none;
    height: 12px;
    background: linear-gradient(90deg, var(--rk-temp-green) 0%, var(--rk-temp-orange) 50%, var(--rk-temp-red) 100%);
    border-radius: 6px;
    outline: none;
}

.rk-temp-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #ffffff;
    cursor: pointer;
    border: 4px solid var(--rk-temp-dark);
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
    transition: transform 0.1s;
}

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

/* Kafelki danych inżynieryjnych pod suwakiem */
.rk-temp-dashboard {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.rk-dash-box {
    background: #ffffff;
    border: 1px solid var(--rk-temp-border);
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

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

.rk-dash-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-temp-dark);
}

.rk-dash-sub {
    font-size: 12px;
    color: var(--rk-temp-text);
    margin-top: 5px;
}

/* Status Alert (Pełna szerokość) */
.rk-temp-status-card {
    border-radius: 16px;
    padding: 25px 35px;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: all 0.4s ease;
    border: 2px solid transparent;
}

.rk-temp-status-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-temp-status-content h3 {
    margin: 0 0 5px 0;
    font-size: 20px;
    font-weight: 800;
}

.rk-temp-status-content p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
}

/* Kolory Statusów */
.status-optimal {
    background: var(--rk-temp-green-bg);
    border-color: #86efac;
    color: #065f46;
}
.status-optimal .rk-temp-status-icon { background: var(--rk-temp-green); color: #ffffff; }

.status-warning {
    background: var(--rk-temp-orange-bg);
    border-color: #fcd34d;
    color: #92400e;
}
.status-warning .rk-temp-status-icon { background: var(--rk-temp-orange); color: #ffffff; }

.status-danger {
    background: var(--rk-temp-red-bg);
    border-color: #fca5a5;
    color: #991b1b;
}
.status-danger .rk-temp-status-icon { background: var(--rk-temp-red); color: #ffffff; }

/* Sekcja opisowa */
.rk-temp-desc {
    padding: 0 50px 40px;
    background: var(--rk-temp-light);
}

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

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

.rk-temp-desc a {
    color: var(--rk-temp-blue);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* RWD */
@media (max-width: 768px) {
    .rk-temp-header, .rk-temp-app, .rk-temp-desc { padding: 30px 20px; }
    .rk-temp-controls { padding: 25px 20px; }
    .rk-temp-dashboard { grid-template-columns: 1fr; }
    .rk-temp-status-card { flex-direction: column; text-align: center; padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-temperatura",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Jaka jest optymalna temperatura zasilania i powrotu (Delta T) dla ogrzewania podłogowego z pompą ciepła?",
    "description": "Wyjaśnienie wpływu temperatury zasilania na sprawność pompy ciepła (COP) oraz zdrowie użytkowników w odniesieniu do normy higienicznej PN-EN 1264.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-temperatura",
    "name": "Wpływ temperatury zasilania na parametry instalacji grzewczej",
    "description": "Korelacja między parametrem zasilania z pompy ciepła, utratą współczynnika COP a temperaturą powierzchniową posadzki według norm higienicznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "optymalna temperatura zasilania podłogówki",
      "sprawność cop pompy ciepła",
      "norma pn-en 1264 temperatura podłogi",
      "maksymalna temperatura zasilania",
      "przegrzewanie stóp ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Szacowanie odchyleń sprawności sprężarki (COP) i temperatury jastrychu na podstawie założonego spadku temperaturowego Delta T = 5K.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zasilanie 35°C: Optymalna sprawność COP, temperatura posadzki w strefie bezpiecznej, zgodność z normą PN-EN 1264.",
        "Zasilanie 40°C: Spadek COP, temperatura posadzki osiąga granicę zdrowotną (29°C), ryzyko problemów krążeniowych.",
        "Zasilanie 45°C+: Spadek COP o 20-25%, znaczne przekroczenie norm higienicznych, przegrzewanie stóp."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-temperatura",
    "name": "Symulator Sprawności COP i Norm Higienicznych",
    "description": "Interaktywny pionowy panel ilustrujący bezpośredni związek między podnoszeniem temperatury źródła ciepła a kosztami prądu i przekraczaniem norm zdrowotnych PN-EN.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-temp-container" id="rk-interactive-temperature">
    <div class="rk-temp-header">
        <h2>Jaka jest optymalna temperatura zasilania i powrotu dla ogrzewania podłogowego?</h2>
        <p>Zależność sprawności pompy ciepła od temperatury zasilania jest bezlitosna. Przesuń suwak, aby zobaczyć, jak przegrzewanie posadzki wpływa na Twoje rachunki i normy higieniczne układu krwionośnego.</p>
    </div>

    <div class="rk-temp-app">
        
        <!-- Górny Panel Sterowania Suwakiem -->
        <div class="rk-temp-controls">
            <div class="rk-temp-title-small">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg>
                Symuluj temperaturę zasilania (Tz)
            </div>

            <div class="rk-temp-slider-wrap">
                <div class="rk-temp-slider-info">
                    <div class="rk-temp-value"><span id="rk-temp-slider-val">35</span> <span>°C</span></div>
                </div>
                <input type="range" class="rk-temp-input" id="rk-temp-slider" min="30" max="55" step="1" value="35">
            </div>
        </div>

        <!-- Środkowy Panel Danych (Kafelki) -->
        <div class="rk-temp-dashboard">
            <div class="rk-dash-box" id="rk-box-cop">
                <div class="rk-dash-label">Spadek wydajności (COP)</div>
                <div class="rk-dash-val"><span id="rk-val-loss">0</span> %</div>
                <div class="rk-dash-sub" id="rk-val-cop-status">Sprawność wzorowa</div>
            </div>
            <div class="rk-dash-box" id="rk-box-floor">
                <div class="rk-dash-label">Temperatura Podłogi</div>
                <div class="rk-dash-val"><span id="rk-val-floor">~ 27.0</span> °C</div>
                <div class="rk-dash-sub">W strefie przebywania ludzi</div>
            </div>
            <div class="rk-dash-box">
                <div class="rk-dash-label">Parametr Delta T</div>
                <div class="rk-dash-val">5 K</div>
                <div class="rk-dash-sub">Tz=35°C, Tp=30°C</div>
            </div>
        </div>

        <!-- Dolny Alert Statusu -->
        <div class="rk-temp-status-card status-optimal" id="rk-temp-status-box">
            <div class="rk-temp-status-icon" id="rk-temp-status-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
            </div>
            <div class="rk-temp-status-content">
                <h3 id="rk-temp-status-title">Idealne parametry pracy</h3>
                <p id="rk-temp-status-desc">Pompa ciepła zużywa minimum prądu. Posadzka jest bezpieczna dla zdrowia i naczyń krwionośnych (zgodność z normą PN-EN 1264).</p>
            </div>
        </div>
        
    </div>

    <!-- Tekst inżynieryjny pod aplikacją -->
    <div class="rk-temp-desc">
        <h4>Sprawność źródła ciepła a rachunki</h4>
        <p>Optymalne parametry pracy wodnego ogrzewania współpracującego z powietrzną lub gruntową <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" target="_blank">pompą ciepła</a> wynoszą 35°C na zasilaniu oraz 30°C na powrocie. Różnica ta daje nam idealny spadek na poziomie Delta T = 5 K. Zależność sprawności jest prosta – im niższa różnica między temperaturą dolnego źródła (powietrze) a wylaną podłogówką, tym mniej pracy elektrycznej musi wykonać sprężarka. Podbicie temperatury do zaledwie 45°C powoduje spadek współczynnika COP o około 20-25%.</p>
        
        <h4>Medyczne i projektowe konsekwencje błędów</h4>
        <p>Pchanie zbyt gorącej wody to przekroczenie normy higienicznej posadzki. Zgodnie z normą <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/" target="_blank">PN-EN 1264</a>, maksymalna temperatura powierzchni podłogi w strefie przebywania ludzi wynosi +29°C, w łazienkach +33°C, a w strefach brzegowych przy oknach +35°C.</p>

        <p><a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/" target="_blank">Maksymalna temperatura zasilania</a> wyższa niż 40°C w źle wyliczonej pętli podnosi temperaturę posadzki powyżej bezpiecznych norm. Powoduje to fizjologiczne uczucie ciężkości nóg, nasila problemy krążeniowe i przyspiesza unoszenie kurzu przez silną konwekcję.</p>

        <p>Różnica temperatur Delta T = 5 K wymaga znacznie wyższych przepływów masowych niż w starych instalacjach z kaloryferami (gdzie Delta T wynosiło 15-20 K). Właśnie dlatego projektant musi dokładnie przeliczyć zjawiska hydrauliczne, wyznaczyć najwyższy opór (tzw. pętla krytyczna) i na tej podstawie idealnie dobrać <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/" target="_blank">pompę obiegową</a>, np. z podnoszeniem 6 m H₂O.</p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('rk-temp-slider');
    const valDisplay = document.getElementById('rk-temp-slider-val');
    
    // Dane w kafelkach
    const valLoss = document.getElementById('rk-val-loss');
    const valCopStatus = document.getElementById('rk-val-cop-status');
    const valFloor = document.getElementById('rk-val-floor');
    
    const boxCop = document.getElementById('rk-box-cop');
    const boxFloor = document.getElementById('rk-box-floor');
    
    // Status box
    const statusBox = document.getElementById('rk-temp-status-box');
    const statusIcon = document.getElementById('rk-temp-status-icon');
    const statusTitle = document.getElementById('rk-temp-status-title');
    const statusDesc = document.getElementById('rk-temp-status-desc');

    // Ikony SVG (ciągi znaków)
    const iconDanger = '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>';
    const iconWarning = '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>';
    const iconOptimal = '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>';

    function updateSimulation() {
        const tz = parseInt(slider.value);
        valDisplay.innerText = tz;
        
        // Obliczenia symulacyjne
        let lossPercent = 0;
        let copText = "Sprawność wzorowa";
        let floorTemp = 24.0 + (tz - 30) * 0.6; // Empiryczne przybliżenie
        
        if (tz > 35) {
            lossPercent = Math.round((tz - 35) * 2.5); // Średnio 2.5% spadku sprawności na 1 stopień
            copText = "Wzrost kosztów";
            if (tz >= 45) {
                copText = "Utrata do 25% energii";
            }
        }

        valLoss.innerText = lossPercent;
        valCopStatus.innerText = copText;
        valFloor.innerText = "~ " + floorTemp.toFixed(1);

        // Bezpieczna logika oceny statusu (omijanie operatorów logicznych typu AND)
        
        // Reset kafelków
        boxCop.style.borderColor = "var(--rk-temp-border)";
        boxCop.style.backgroundColor = "#ffffff";
        boxFloor.style.borderColor = "var(--rk-temp-border)";
        boxFloor.style.backgroundColor = "#ffffff";
        statusBox.className = 'rk-temp-status-card';
        
        if (tz <= 35) {
            applyStatus('optimal', 'Idealne parametry pracy', 'Pompa ciepła pracuje z najlepszym możliwym COP. Posadzka jest zgodna z normami higienicznymi, oferując zdrowy komfort cieplny.', iconOptimal);
            return;
        }
        
        if (tz <= 40) {
            boxCop.style.borderColor = "#fcd34d";
            boxFloor.style.borderColor = "#fcd34d";
            applyStatus('warning', 'Spadek Sprawności Urządzenia', 'Sprężarka zmuszona jest do cięższej pracy. Koszty energii rosną, a podłoga zbliża się do fizjologicznego limitu +29°C.', iconWarning);
            return;
        }

        // Temperatura powyżej 40°C
        boxCop.style.borderColor = "#fca5a5";
        boxFloor.style.borderColor = "#fca5a5";
        boxFloor.style.backgroundColor = "var(--rk-temp-red-bg)";
        applyStatus('danger', 'Zagrożenie Zdrowotne i Finansowe', 'Utrata ćwierci energii. Temperatura posadzki uciążliwa dla zdrowia, przyspiesza konwekcję kurzu i powoduje uczucie "ciężkich nóg".', iconDanger);
    }

    function applyStatus(stateClass, title, desc, iconSvg) {
        statusBox.classList.add('status-' + stateClass);
        statusTitle.innerText = title;
        statusDesc.innerText = desc;
        statusIcon.innerHTML = iconSvg;
    }

    // Nasłuch zdarzeń
    slider.addEventListener('input', updateSimulation);

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



<style>
:root {
    --rk-loop-dark: #0f172a;
    --rk-loop-blue: #0284c7;
    --rk-loop-light: #f8fafc;
    --rk-loop-border: #e2e8f0;
    --rk-loop-text: #475569;
    --rk-loop-green: #10b981;
    --rk-loop-green-bg: #dcfce7;
    --rk-loop-red: #ef4444;
    --rk-loop-red-bg: #fee2e2;
    --rk-loop-orange: #f59e0b;
    --rk-loop-orange-bg: #fef3c7;
}

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

/* Nagłówek */
.rk-loop-header {
    background: linear-gradient(135deg, var(--rk-loop-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
}

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

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

/* Aplikacja - Główny układ pionowy */
.rk-loop-app {
    padding: 40px 50px;
    background: var(--rk-loop-light);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Panel sterowania */
.rk-loop-controls {
    background: #ffffff;
    border-radius: 16px;
    padding: 35px 40px;
    border: 1px solid var(--rk-loop-border);
    box-shadow: 0 4px 10px -2px rgba(0,0,0,0.03);
}

.rk-loop-title-small {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-loop-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Suwak długości pętli */
.rk-loop-slider-wrap {
    margin-bottom: 30px;
}

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

.rk-loop-value {
    font-size: 36px;
    font-weight: 900;
    color: var(--rk-loop-blue);
    line-height: 1;
}

.rk-loop-value span {
    font-size: 16px;
    color: #94a3b8;
    font-weight: 700;
}

.rk-loop-input {
    width: 100%;
    -webkit-appearance: none;
    height: 10px;
    background: #e2e8f0;
    border-radius: 5px;
    outline: none;
}

.rk-loop-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--rk-loop-blue);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 3px 8px rgba(2, 132, 199, 0.3);
    transition: transform 0.1s;
}

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

/* Kafelki danych technicznych (pod suwakiem) */
.rk-loop-tech-data {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-tech-box {
    background: var(--rk-loop-light);
    border: 1px dashed var(--rk-loop-border);
    border-radius: 12px;
    padding: 20px 15px;
    text-align: center;
    transition: all 0.3s ease;
}

.rk-tech-label {
    font-size: 11px;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.rk-tech-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-loop-dark);
}

.rk-tech-box.warning-state {
    background: var(--rk-loop-red-bg);
    border-color: #fca5a5;
}

.rk-tech-box.warning-state .rk-tech-val {
    color: var(--rk-loop-red);
}

/* Wyniki / Status (Pasek na pełną szerokość) */
.rk-loop-status-card {
    border-radius: 16px;
    padding: 25px 35px;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: all 0.4s ease;
    border: 2px solid transparent;
}

.rk-loop-status-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-loop-status-content h3 {
    margin: 0 0 5px 0;
    font-size: 20px;
    font-weight: 800;
}

.rk-loop-status-content p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
}

/* Stany statusu */
.status-danger {
    background: var(--rk-loop-red-bg);
    border-color: #fca5a5;
    color: #991b1b;
}
.status-danger .rk-loop-status-icon { background: var(--rk-loop-red); color: #ffffff; }

.status-warning {
    background: var(--rk-loop-orange-bg);
    border-color: #fcd34d;
    color: #92400e;
}
.status-warning .rk-loop-status-icon { background: var(--rk-loop-orange); color: #ffffff; }

.status-optimal {
    background: var(--rk-loop-green-bg);
    border-color: #86efac;
    color: #065f46;
}
.status-optimal .rk-loop-status-icon { background: var(--rk-loop-green); color: #ffffff; }

/* Sekcja opisowa pod aplikacją */
.rk-loop-desc {
    padding: 0 50px 40px;
    background: var(--rk-loop-light);
}

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

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

.rk-loop-desc a {
    color: var(--rk-loop-blue);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* RWD */
@media (max-width: 768px) {
    .rk-loop-header, .rk-loop-app, .rk-loop-desc { padding: 30px 20px; }
    .rk-loop-controls { padding: 25px 20px; }
    .rk-loop-tech-data { grid-template-columns: 1fr; }
    .rk-loop-status-card { flex-direction: column; text-align: center; padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-petle",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Jaka jest maksymalna długość pętli ogrzewania podłogowego dla rury PEX/PERT 16x2 mm?",
    "description": "Wyjaśnienie zjawiska wzrostu oporów hydraulicznych w zależności od długości rury. Dowiedz się, dlaczego pętla nie może przekraczać 100 metrów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-petle",
    "name": "Charakterystyka oporów hydraulicznych pętli grzewczych",
    "description": "Zestawienie przyrostu oporów ciśnienia w rurze grzewczej 16x2 mm w odniesieniu do jej długości całkowitej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna długość pętli ogrzewania podłogowego",
      "za długa pętla podłogówki skutki",
      "opór hydrauliczny rury pex 16",
      "dzielenie pętli grzewczych rozdzielacz",
      "ile metrów rury na pętlę"
    ],
    "measurementTechnique": "Algorytm wyznaczający spadek ciśnienia dla przepływu 2,0 l/min (około 200 Pa/m) w zależności od suwakowej długości rury.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Pętla 80-90m: Opór hydrauliczny w normie, pełny przepływ i zrównoważona temperatura.",
        "Pętla 100m: Wartość graniczna, opór bliski 20 kPa.",
        "Pętla 140m: Opór powyżej 28 kPa, blokada przepływu wody przez pompę, wychłodzenie strefowe posadzki."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-petle",
    "name": "Symulator Oporów Pętli Grzewczej",
    "description": "Interaktywne narzędzie inżynieryjne demonstrujące zjawisko narastania oporów hydraulicznych i zablokowania pompy obiegowej na skutek przekroczenia dopuszczalnej długości rury instalacyjnej.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-loop-container" id="rk-interactive-loop">
    <div class="rk-loop-header">
        <h2>Jaka jest maksymalna długość pętli ogrzewania podłogowego dla rury PEX/PERT 16x2 mm?</h2>
        <p>Wielu instalatorów próbuje oszczędzać na liczbie obiegów, stosując za długie rury. Użyj poniższego symulatora hydraulicznego, aby sprawdzić dlaczego przekroczenie określonej granicy drastycznie blokuje pracę całej instalacji.</p>
    </div>

    <div class="rk-loop-app">
        <!-- Panel sterowania -->
        <div class="rk-loop-controls">
            
            <div class="rk-loop-title-small">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                Symuluj długość pojedynczej pętli
            </div>

            <div class="rk-loop-slider-wrap">
                <div class="rk-loop-slider-info">
                    <div class="rk-loop-value"><span id="rk-loop-slider-val">85</span> <span>metrów</span></div>
                </div>
                <input type="range" class="rk-loop-input" id="rk-loop-slider" min="40" max="160" step="5" value="85">
            </div>

            <div class="rk-loop-tech-data">
                <div class="rk-tech-box" id="rk-box-kpa">
                    <div class="rk-tech-label">Opór hydrauliczny instalacji</div>
                    <div class="rk-tech-val"><span id="rk-tech-kpa">17.0</span> kPa</div>
                </div>
                <div class="rk-tech-box" id="rk-box-temp">
                    <div class="rk-tech-label">Zasilanie obiegu wody</div>
                    <div class="rk-tech-val" id="rk-tech-status-pump">Pełny przepływ</div>
                </div>
            </div>

        </div>

        <!-- Wyniki / Diagnoza -->
        <div class="rk-loop-status-card status-optimal" id="rk-loop-status-box">
            <div class="rk-loop-status-icon" id="rk-loop-status-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
            </div>
            <div class="rk-loop-status-content">
                <h3 id="rk-loop-status-title">Długość Optymalna</h3>
                <p id="rk-loop-status-desc">Idealny zakres (80-90 m) gwarantujący równe oddawanie ciepła w całym pomieszczeniu bez obciążania pompy obiegowej.</p>
            </div>
        </div>
    </div>

    <!-- Tekst inżynieryjny pod kalkulatorem -->
    <div class="rk-loop-desc">
        <h4>Konsekwencje nieprzestrzegania granic długości</h4>
        <p>Opór hydrauliczny w rurze rośnie liniowo wraz z jej długością i kwadratowo wraz ze wzrostem prędkości przepływu. Dla standardowej rury 16x2 mm przy optymalnym przepływie 2,0 l/min (0,12 m³/h), spadek ciśnienia to aż 150–200 Pa na każdy metr. Oznacza to, że <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/" target="_blank">maksymalna długość pętli ogrzewania podłogowego</a> bezwzględnie nie powinna przekraczać 100 metrów.</p>
        
        <p>Gdy instalator ułoży np. 140 m rury z jednego kawałka, opory własne wyniosą ponad 28 kPa. Standardowa pompa wbudowana w pompę ciepła nie przepchnie takiej ilości wody. Skutek? Woda schłodzi się całkowicie już na 70 metrze, a druga połowa pokoju pozostanie lodowata (<a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/" target="_blank">za długa pętla podłogówki</a>).</p>
        
        <h4>Jak to wpływa na projekt ogrzewania podłogowego?</h4>
        <p>Precyzyjne wyliczenie tych parametrów to zadanie dla inżyniera. Jeśli z obliczeń wynika, że duży salon o powierzchni 35 m² wymaga użycia 350 metrów rury, projektant ma twardy obowiązek <a href="https://projekt-ogrzewania.pl/ile-metrow-podlogowki-na-jednej-petli/" target="_blank">podzielenia tej powierzchni na 4 niezależne pętle</a> po około 87 metrów każda. Dopiero wtedy możliwe jest ich precyzyjne zbalansowanie na rotametrach, w które wyposażony jest <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/" target="_blank">rozdzielacz do podłogówki</a>.</p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('rk-loop-slider');
    const valDisplay = document.getElementById('rk-loop-slider-val');
    
    // Dane techniczne
    const techKpa = document.getElementById('rk-tech-kpa');
    const techPump = document.getElementById('rk-tech-status-pump');
    const boxKpa = document.getElementById('rk-box-kpa');
    const boxTemp = document.getElementById('rk-box-temp');
    
    // Status box elements
    const statusBox = document.getElementById('rk-loop-status-box');
    const statusIcon = document.getElementById('rk-loop-status-icon');
    const statusTitle = document.getElementById('rk-loop-status-title');
    const statusDesc = document.getElementById('rk-loop-status-desc');

    // Ikony (ciągi znaków)
    const iconDanger = '<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="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>';
    const iconWarning = '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>';
    const iconOptimal = '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>';

    function updateSimulator() {
        const lengthVal = parseInt(slider.value);
        valDisplay.innerText = lengthVal;
        
        // Obliczenie oporu (przybliżenie: 200 Pa/m = 0.2 kPa/m)
        const kpaVal = lengthVal * 0.2;
        techKpa.innerText = kpaVal.toFixed(1);

        // Bezpieczna logika oceny (zagnieżdżone ify z użyciem return, aby ominąć &&)
        
        // Czyszczenie stylów ostrzegawczych w kafelkach danych
        boxKpa.classList.remove('warning-state');
        boxTemp.classList.remove('warning-state');
        statusBox.className = 'rk-loop-status-card';
        
        if (lengthVal <= 90) {
            techPump.innerText = "Pełny przepływ";
            applyStatus('optimal', 'Długość Optymalna', 'Idealny zakres gwarantujący równe oddawanie ciepła w całym pomieszczeniu bez przeciążania pompy obiegowej.', iconOptimal);
            return;
        }
        
        if (lengthVal <= 100) {
            techPump.innerText = "Spowolniony przepływ";
            applyStatus('warning', 'Wartość Graniczna', 'Zbliżasz się do maksymalnego oporu hydraulicznego (20 kPa). Pompa musi pracować na wyższych obrotach.', iconWarning);
            return;
        }

        // Powyżej 100 metrów
        boxKpa.classList.add('warning-state');
        boxTemp.classList.add('warning-state');
        techPump.innerText = "Zablokowany przepływ";
        
        if (lengthVal > 120) {
            applyStatus('danger', 'Martwa Strefa Posadzki', 'Opory powyżej 24 kPa. Pompa nie jest w stanie przepchnąć wody. Posadzka w drugiej części pętli będzie całkowicie zimna.', iconDanger);
        } else {
            applyStatus('danger', 'Zbyt Długa Pętla', 'Przekroczenie norm. Nastąpi strefowe wychłodzenie posadzki pod koniec trasy rury z powodu zablokowania hydraulicznego.', iconDanger);
        }
    }

    function applyStatus(stateClass, title, desc, iconSvg) {
        statusBox.classList.add('status-' + stateClass);
        statusTitle.innerText = title;
        statusDesc.innerText = desc;
        statusIcon.innerHTML = iconSvg;
    }

    // Eventy
    slider.addEventListener('input', updateSimulator);

    // Inicjalizacja
    updateSimulator();
});
</script>



<style>
:root {
    --rk-iso-dark: #0f172a;
    --rk-iso-blue: #0284c7;
    --rk-iso-light: #f8fafc;
    --rk-iso-border: #e2e8f0;
    --rk-iso-text: #475569;
    --rk-iso-green: #10b981;
    --rk-iso-green-bg: #dcfce7;
    --rk-iso-red: #ef4444;
    --rk-iso-red-bg: #fee2e2;
    --rk-iso-orange: #f59e0b;
    --rk-iso-orange-bg: #fef3c7;
}

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

/* Nagłówek */
.rk-iso-header {
    background: linear-gradient(135deg, var(--rk-iso-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
}

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

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

/* Aplikacja - Główny układ pionowy (Stacked) */
.rk-iso-app {
    padding: 40px 50px;
    background: var(--rk-iso-light);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Panel sterowania */
.rk-iso-controls {
    background: #ffffff;
    border-radius: 16px;
    padding: 35px 40px;
    border: 1px solid var(--rk-iso-border);
    box-shadow: 0 4px 10px -2px rgba(0,0,0,0.03);
}

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

/* Przełącznik lokalizacji podłogi */
.rk-iso-toggle-box {
    display: flex;
    background: var(--rk-iso-light);
    border: 1px solid var(--rk-iso-border);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 35px;
}

.rk-iso-btn {
    flex: 1;
    padding: 16px 10px;
    text-align: center;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-iso-text);
    background: transparent;
    border: none;
    cursor: pointer;
    transition: all 0.3s;
    border-right: 1px solid var(--rk-iso-border);
}

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

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

/* Suwak grubości */
.rk-iso-slider-wrap {
    margin-bottom: 30px;
    background: #ffffff;
}

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

.rk-iso-value {
    font-size: 36px;
    font-weight: 900;
    color: var(--rk-iso-blue);
    line-height: 1;
}

.rk-iso-value span {
    font-size: 16px;
    color: #94a3b8;
    font-weight: 700;
}

.rk-iso-input {
    width: 100%;
    -webkit-appearance: none;
    height: 10px;
    background: #e2e8f0;
    border-radius: 5px;
    outline: none;
}

.rk-iso-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--rk-iso-blue);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 3px 8px rgba(2, 132, 199, 0.3);
    transition: transform 0.1s;
}

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

/* Kafelki danych technicznych */
.rk-iso-tech-data {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
}

.rk-tech-box {
    background: var(--rk-iso-light);
    border: 1px dashed var(--rk-iso-border);
    border-radius: 12px;
    padding: 15px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-tech-label {
    font-size: 13px;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
}

.rk-tech-val {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-iso-dark);
}

.rk-tech-sub {
    font-size: 11px;
    color: var(--rk-iso-text);
}

/* Wyniki / Status */
.rk-iso-status-card {
    border-radius: 16px;
    padding: 25px 35px;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: all 0.4s ease;
    border: 2px solid transparent;
}

.rk-iso-status-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-iso-status-content h3 {
    margin: 0 0 8px 0;
    font-size: 20px;
    font-weight: 800;
}

.rk-iso-status-content p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
}

/* Stany statusu */
.status-danger {
    background: var(--rk-iso-red-bg);
    border-color: #fca5a5;
    color: #991b1b;
}
.status-danger .rk-iso-status-icon { background: var(--rk-iso-red); color: #ffffff; }

.status-warning {
    background: var(--rk-iso-orange-bg);
    border-color: #fcd34d;
    color: #92400e;
}
.status-warning .rk-iso-status-icon { background: var(--rk-iso-orange); color: #ffffff; }

.status-optimal {
    background: var(--rk-iso-green-bg);
    border-color: #86efac;
    color: #065f46;
}
.status-optimal .rk-iso-status-icon { background: var(--rk-iso-green); color: #ffffff; }

/* Sekcja opisowa */
.rk-iso-desc {
    padding: 0 50px 40px;
    background: var(--rk-iso-light);
}

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

.rk-iso-desc a {
    color: var(--rk-iso-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* RWD */
@media (max-width: 768px) {
    .rk-iso-header, .rk-iso-app, .rk-iso-desc { padding: 30px 20px; }
    .rk-iso-controls { padding: 25px 20px; }
    .rk-iso-toggle-box { flex-direction: column; }
    .rk-iso-btn { border-right: none; border-bottom: 1px solid var(--rk-iso-border); padding: 14px; }
    .rk-iso-btn:last-child { border-bottom: none; }
    .rk-tech-box { flex-direction: column; text-align: center; gap: 8px; }
    .rk-iso-status-card { flex-direction: column; text-align: center; padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-izolacja",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Jak gruba powinna być izolacja termiczna pod ogrzewaniem podłogowym (styropian)?",
    "description": "Wymagania grubości styropianu EPS/XPS pod ogrzewanie podłogowe zgodnie z PN-EN 1264-4 i WT 2021. Wyjaśniamy opór cieplny R i ucieczkę ciepła do gruntu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-izolacja",
    "name": "Parametry termiczne i opór izolacji podłóg grzewczych",
    "description": "Zestawienie minimalnych grubości styropianu oraz wymaganego oporu cieplnego R [m2K/W] dla podłóg na gruncie, nad garażem oraz między piętrami.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile styropianu pod ogrzewanie podłogowe",
      "opór cieplny izolacji podłogówki",
      "izolacja termiczna na gruncie eps 100",
      "grubość styropianu nad garażem",
      "norma pn-en 1264-4 podłogówka"
    ],
    "measurementTechnique": "Kalkulacja oporu cieplnego R na podstawie grubości i przewodności cieplnej Lambda (0,038 W/mK) styropianu podkładowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Podłoga na gruncie (WT 2021): R >= 3,75 m2K/W, minimum 15 cm styropianu EPS 100.",
        "Strop nad garażem/piwnicą: R = 1,25 m2K/W, zalecane 10-12 cm EPS.",
        "Strop między piętrami ogrzewanymi: R = 0,75 m2K/W, minimum 3-5 cm izolacji."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-izolacja",
    "name": "Symulator Ucieczki Ciepła i Doboru Styropianu",
    "description": "Narzędzie interaktywne weryfikujące poprawność dobranej grubości izolacji podłogowej i wyliczające rzeczywisty opór cieplny przegrody w kontekście Warunków Technicznych.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-iso-container" id="rk-interactive-insulation">
    <div class="rk-iso-header">
        <h2>Jak gruba powinna być izolacja termiczna pod ogrzewaniem podłogowym?</h2>
        <p>Błędy na etapie wylewania tzw. chudziaka i układania styropianu są nieodwracalne. Wykorzystaj nasz symulator fizyki budowli, by sprawdzić, czy nie będziesz ogrzewać ziemi zamiast własnego domu.</p>
    </div>

    <div class="rk-iso-app">
        <!-- Panel sterowania -->
        <div class="rk-iso-controls">
            
            <div class="rk-iso-title-small">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
                1. Wybierz lokalizację podłogi
            </div>
            
            <div class="rk-iso-toggle-box" id="rk-iso-toggles">
                <button class="rk-iso-btn active" data-type="grunt">Podłoga na gruncie</button>
                <button class="rk-iso-btn" data-type="zimne">Nad nieogrzewanym</button>
                <button class="rk-iso-btn" data-type="pietro">Strop (piętro)</button>
            </div>

            <div class="rk-iso-title-small">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>
                2. Podaj grubość styropianu EPS
            </div>

            <div class="rk-iso-slider-wrap">
                <div class="rk-iso-slider-info">
                    <div class="rk-iso-value"><span id="rk-iso-slider-val">15</span> <span>cm</span></div>
                </div>
                <input type="range" class="rk-iso-input" id="rk-iso-slider" min="2" max="25" step="1" value="15">
            </div>

            <div class="rk-iso-tech-data">
                <div class="rk-tech-box">
                    <div class="rk-tech-label">Wyliczony Opór Cieplny (R)</div>
                    <div>
                        <span class="rk-tech-val" id="rk-iso-r-val">3.95</span>
                        <span class="rk-tech-sub"> m²K/W</span>
                    </div>
                </div>
            </div>

        </div>

        <!-- Wyniki / Diagnoza -->
        <div class="rk-iso-status-card status-optimal" id="rk-iso-status-box">
            <div class="rk-iso-status-icon" id="rk-iso-status-icon">
                <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
            </div>
            <div class="rk-iso-status-content">
                <h3 id="rk-iso-status-title">Idealna Izolacja Termiczna</h3>
                <p id="rk-iso-status-desc">Spełnia rygorystyczne normy WT 2021 oraz PN-EN 1264-4. Ciepło emitowane przez rury trafia w 100% do wnętrza pomieszczenia.</p>
            </div>
        </div>
    </div>

    <!-- Tekst inżynieryjny -->
    <div class="rk-iso-desc">
        <p>Zastosowanie zbyt cienkiej warstwy izolacji termicznej na gruncie (np. popularne ciągle wśród domorosłych wykonawców 5–8 cm) prowadzi do potężnego zjawiska ucieczki ciepła w dół. Działa tu bezlitosne prawo fizyki – strumień ciepła zawsze płynie w stronę niższej temperatury.</p>
        <p>Przy gruncie o temperaturze +5°C i rurach rozgrzewających posadzkę do +28°C, niedostatecznie odizolowana płyta fundamentowa przekazuje nawet 20-30% wygenerowanego z pompy ciepła prosto w ziemię. Jeśli zastanawiasz się, <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/" target="_blank">ile styropianu pod ogrzewanie podłogowe</a> kupić, pamiętaj o wytycznych normy PN-EN 1264-4, która jasno definiuje absolutne minimum oporu cieplnego.</p>
        <p>Inaczej sytuacja wygląda w domach piętrowych. <a href="https://projekt-ogrzewania.pl/jakie-sa-najlepsze-sposoby-izolacji-pod-ogrzewanie-podlogowe/" target="_blank">Najlepsze sposoby izolacji</a> między kondygnacjami ogrzewanymi nie skupiają się na zatrzymaniu ciepła (to zostaje w obrębie bryły domu), lecz na stworzeniu twardej podbudowy akustycznej. Zazwyczaj 3-5 cm specjalistycznego twardego EPS lub wełny w zupełności zamyka temat.</p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggles = document.querySelectorAll('.rk-iso-btn');
    const slider = document.getElementById('rk-iso-slider');
    const valDisplay = document.getElementById('rk-iso-slider-val');
    
    // Dane techniczne
    const rValDisplay = document.getElementById('rk-iso-r-val');
    
    // Status box
    const statusBox = document.getElementById('rk-iso-status-box');
    const statusIcon = document.getElementById('rk-iso-status-icon');
    const statusTitle = document.getElementById('rk-iso-status-title');
    const statusDesc = document.getElementById('rk-iso-status-desc');

    // Ikony (ciągi znaków)
    const iconDanger = '<svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="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>';
    const iconWarning = '<svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>';
    const iconOptimal = '<svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>';

    // Lambda dla popularnego EPS (w uproszczeniu 0.038)
    const LAMBDA_EPS = 0.038;
    
    // Stan aplikacji
    let currentMode = 'grunt';

    // Aktualizacja przedziałów suwaka w zależności od trybu
    function adjustSliderBounds() {
        if (currentMode === 'grunt') {
            slider.min = 2; slider.max = 25;
            if(slider.value < 10) slider.value = 15;
        } else if (currentMode === 'zimne') {
            slider.min = 2; slider.max = 20;
            if(slider.value < 5) slider.value = 10;
        } else if (currentMode === 'pietro') {
            slider.min = 2; slider.max = 10;
            if(slider.value > 10) slider.value = 5;
        }
    }

    function updateSimulator() {
        const thicknessCm = parseInt(slider.value);
        valDisplay.innerText = thicknessCm;
        
        // Obliczenie oporu R = d [m] / lambda
        const thicknessM = thicknessCm / 100;
        const rValue = thicknessM / LAMBDA_EPS;
        rValDisplay.innerText = rValue.toFixed(2);

        // Bezpieczna logika oceny (zagnieżdżone ify z użyciem return, omijające '&&')
        statusBox.className = 'rk-iso-status-card';
        
        if (currentMode === 'grunt') {
            if (thicknessCm < 10) {
                applyStatus('danger', 'Katastrofalna Ucieczka Ciepła', 'Warstwa 5-8 cm to grzanie ziemi. Opór poniżej R=2.0 m²K/W narusza przepisy. Rachunki za ogrzewanie wzrosną drastycznie.', iconDanger);
                return;
            }
            if (thicknessCm < 15) {
                applyStatus('warning', 'Poniżej Standardu WT 2021', 'Styropian 10-12 cm wystarczy dla normy PN-EN, ale jest niezgodny ze współczesnymi wytycznymi energetycznymi domów jednorodzinnych.', iconWarning);
                return;
            }
            applyStatus('optimal', 'Idealna Izolacja Termiczna', 'Minimum 15 cm gwarantuje opór R > 3.75. Ciepło emitowane przez pętle podłogówki trafia w 100% do wnętrza domu.', iconOptimal);
            
        } else if (currentMode === 'zimne') { // Nad garażem/piwnicą
            if (thicknessCm < 8) {
                applyStatus('danger', 'Wychładzanie Stropu', 'Zbyt niska izolacja nad zimnym garażem spowoduje ucieczkę ciepła i wychłodzenie posadzki.', iconDanger);
                return;
            }
            if (thicknessCm < 10) {
                applyStatus('warning', 'Na Granicy Normy', 'Wymagane absolutne minimum R=1.25 m²K/W. Warto rozważyć dołożenie chociaż 2 cm.', iconWarning);
                return;
            }
            applyStatus('optimal', 'Prawidłowa Izolacja Stropu', 'Grubość 10-12 cm skutecznie odcina przepływ zimna z nieogrzewanej piwnicy lub garażu.', iconOptimal);
            
        } else { // Między piętrami (ogrzewanymi)
            if (thicknessCm < 3) {
                applyStatus('danger', 'Brak Podbudowy', 'Brak miejsca na ukrycie instalacji wod-kan i drastyczne przenoszenie dźwięków uderzeniowych na niższe piętro.', iconDanger);
                return;
            }
            applyStatus('optimal', 'Optymalna Izolacja Piętra', 'Między piętrami nie walczymy o zatrzymanie ciepła (nie ucieka na zewnątrz). 3-5 cm służy jako doskonała izolacja akustyczna.', iconOptimal);
        }
    }

    function applyStatus(stateClass, title, desc, iconSvg) {
        statusBox.classList.add('status-' + stateClass);
        statusTitle.innerText = title;
        statusDesc.innerText = desc;
        statusIcon.innerHTML = iconSvg;
    }

    // Eventy
    toggles.forEach(function(btn) {
        btn.addEventListener('click', function() {
            toggles.forEach(function(b) {
                b.classList.remove('active');
            });
            this.classList.add('active');
            currentMode = this.getAttribute('data-type');
            adjustSliderBounds();
            updateSimulator();
        });
    });

    slider.addEventListener('input', updateSimulator);

    // Inicjalizacja
    adjustSliderBounds();
    updateSimulator();
});
</script>



<style>
:root {
    --rk-screed-dark: #0f172a;
    --rk-screed-blue: #0284c7;
    --rk-screed-light: #f8fafc;
    --rk-screed-border: #e2e8f0;
    --rk-screed-text: #475569;
    --rk-screed-green: #10b981;
    --rk-screed-green-bg: #dcfce7;
    --rk-screed-red: #ef4444;
    --rk-screed-red-bg: #fee2e2;
    --rk-screed-orange: #f59e0b;
    --rk-screed-orange-bg: #fef3c7;
}

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

/* Nagłówek */
.rk-screed-header {
    background: linear-gradient(135deg, var(--rk-screed-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
}

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

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

/* Aplikacja - Główny układ pionowy (Stacked) */
.rk-screed-app {
    padding: 40px 50px;
    background: var(--rk-screed-light);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Panel sterowania */
.rk-screed-controls {
    background: #ffffff;
    border-radius: 16px;
    padding: 35px 40px;
    border: 1px solid var(--rk-screed-border);
    box-shadow: 0 4px 10px -2px rgba(0,0,0,0.03);
}

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

/* Przełącznik typu wylewki */
.rk-screed-toggle-box {
    display: flex;
    background: var(--rk-screed-light);
    border: 1px solid var(--rk-screed-border);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 35px;
}

.rk-screed-btn {
    flex: 1;
    padding: 16px 10px;
    text-align: center;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-screed-text);
    background: transparent;
    border: none;
    cursor: pointer;
    transition: all 0.3s;
}

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

/* Suwak grubości */
.rk-screed-slider-wrap {
    margin-bottom: 30px;
    background: #ffffff;
}

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

.rk-screed-value {
    font-size: 36px;
    font-weight: 900;
    color: var(--rk-screed-blue);
    line-height: 1;
}

.rk-screed-value span {
    font-size: 16px;
    color: #94a3b8;
    font-weight: 700;
}

.rk-screed-input {
    width: 100%;
    -webkit-appearance: none;
    height: 10px;
    background: #e2e8f0;
    border-radius: 5px;
    outline: none;
}

.rk-screed-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--rk-screed-blue);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 3px 8px rgba(2, 132, 199, 0.3);
    transition: transform 0.1s;
}

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

/* Kafelki danych technicznych (pod suwakiem) */
.rk-screed-tech-data {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-tech-box {
    background: var(--rk-screed-light);
    border: 1px dashed var(--rk-screed-border);
    border-radius: 12px;
    padding: 15px;
    text-align: center;
}

.rk-tech-label {
    font-size: 11px;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.rk-tech-val {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-screed-dark);
}

/* Wyniki / Status (Pasek na pełną szerokość) */
.rk-screed-status-card {
    border-radius: 16px;
    padding: 25px 35px;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: all 0.4s ease;
    border: 2px solid transparent;
}

.rk-screed-status-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-screed-status-content h3 {
    margin: 0 0 5px 0;
    font-size: 20px;
    font-weight: 800;
}

.rk-screed-status-content p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
}

/* Stany statusu */
.status-danger {
    background: var(--rk-screed-red-bg);
    border-color: #fca5a5;
    color: #991b1b;
}
.status-danger .rk-screed-status-icon { background: var(--rk-screed-red); color: #ffffff; }

.status-warning {
    background: var(--rk-screed-orange-bg);
    border-color: #fcd34d;
    color: #92400e;
}
.status-warning .rk-screed-status-icon { background: var(--rk-screed-orange); color: #ffffff; }

.status-optimal {
    background: var(--rk-screed-green-bg);
    border-color: #86efac;
    color: #065f46;
}
.status-optimal .rk-screed-status-icon { background: var(--rk-screed-green); color: #ffffff; }

/* Sekcja opisowa pod aplikacją */
.rk-screed-desc {
    padding: 0 50px 40px;
    background: var(--rk-screed-light);
}

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

.rk-screed-desc a {
    color: var(--rk-screed-blue);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* RWD */
@media (max-width: 768px) {
    .rk-screed-header, .rk-screed-app, .rk-screed-desc { padding: 30px 20px; }
    .rk-screed-controls { padding: 25px 20px; }
    .rk-screed-tech-data { grid-template-columns: 1fr; }
    .rk-screed-status-card { flex-direction: column; text-align: center; padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-wylewka",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Jaka grubość wylewki (jastrychu) jest wymagana na ogrzewanie podłogowe?",
    "description": "Porównanie parametrów wylewki anhydrytowej i cementowej. Normy PN-EN 13813, minimalne grubości nad rurą oraz wpływ jastrychu na bezwładność cieplną.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-wylewka",
    "name": "Parametry fizyczne jastrychów podłogowych",
    "description": "Zestawienie minimalnych grubości montażowych oraz współczynników przewodzenia ciepła Lambda dla popularnych typów wylewek grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "grubość wylewki na podłogówkę",
      "jastrych anhydrytowy vs cementowy",
      "bezwładność cieplna podłogówki",
      "współczynnik przewodzenia lambda beton",
      "pękanie płytek na ogrzewaniu"
    ],
    "measurementTechnique": "Określenie normatywnych limitów strukturalnych posadzki (PN-EN 13813) w powiązaniu z wydajnością cieplną.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Jastrych Anhydrytowy: Min. 35 mm nad rurą (łączna 51 mm), wysoka przewodność ciepła.",
        "Jastrych Cementowy: Min. 45 mm nad rurą (łączna 61 mm), wysoka bezwładność termiczna.",
        "Zbyt cienka wylewka: Ryzyko spękań i uszkodzenia okładziny.",
        "Zbyt gruba wylewka: Czas reakcji systemu rośnie nawet do 10 godzin."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-wylewka",
    "name": "Symulator Grubości i Bezwładności Jastrychu",
    "description": "Interaktywny panel obliczeniowy weryfikujący poprawność dobranej grubości posadzki pod kątem norm budowlanych i ryzyka spękań termicznych.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-screed-container" id="rk-interactive-screed">
    <div class="rk-screed-header">
        <h2>Jaka grubość wylewki (jastrychu) jest wymagana na ogrzewanie podłogowe?</h2>
        <p>Wymogi dla wylewek definiuje norma wytrzymałościowa PN-EN 13813. Przetestuj w naszym symulatorze, jak grubość wylanego betonu wpłynie na stabilność Twoich płytek i rachunki za ogrzewanie.</p>
    </div>

    <div class="rk-screed-app">
        <!-- Panel suwaka i opcji -->
        <div class="rk-screed-controls">
            
            <div class="rk-screed-title-small">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
                1. Wybierz rodzaj wylewki
            </div>
            
            <div class="rk-screed-toggle-box" id="rk-screed-toggles">
                <button class="rk-screed-btn active" data-type="anhydryt">Anhydrytowa</button>
                <button class="rk-screed-btn" data-type="cement">Cementowa</button>
            </div>

            <div class="rk-screed-title-small">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="21" y1="10" x2="3" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="21" y1="18" x2="3" y2="18"></line></svg>
                2. Symuluj łączną grubość
            </div>

            <div class="rk-screed-slider-wrap">
                <div class="rk-screed-slider-info">
                    <div class="rk-screed-value"><span id="rk-slider-val">55</span> <span>mm</span></div>
                </div>
                <input type="range" class="rk-screed-input" id="rk-screed-slider" min="30" max="110" step="1" value="55">
            </div>

            <div class="rk-screed-tech-data">
                <div class="rk-tech-box">
                    <div class="rk-tech-label">Przewodzenie (Lambda)</div>
                    <div class="rk-tech-val" id="rk-tech-lambda">~ 1.6 W/(m·K)</div>
                </div>
                <div class="rk-tech-box">
                    <div class="rk-tech-label">Zbrojenie Siatką</div>
                    <div class="rk-tech-val" id="rk-tech-mesh">Niewymagane</div>
                </div>
            </div>

        </div>

        <!-- Wyniki / Diagnoza (Poniżej panelu sterowania) -->
        <div class="rk-screed-status-card status-optimal" id="rk-status-box">
            <div class="rk-screed-status-icon" id="rk-status-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
            </div>
            <div class="rk-screed-status-content">
                <h3 id="rk-status-title">Grubość Optymalna</h3>
                <p id="rk-status-desc">Idealny balans wytrzymałości oraz dynamiki oddawania ciepła. Zgodność z wytycznymi normowymi.</p>
            </div>
        </div>
    </div>

    <!-- Tekst wspomagający z linkami -->
    <div class="rk-screed-desc">
        <p>Wykonanie <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/" target="_blank">wylewki na ogrzewanie podłogowe</a> niezgodnie z reżimem technologicznym pociąga za sobą poważne konsekwencje. Konstrukcja zbyt cienka (np. 20 mm nad rurą) ulega punktowym spękaniom skurczowym, co bezpośrednio niszczy przyklejone płytki ceramiczne.</p>
        <p>Z kolei ułożenie potężnej, 10-centymetrowej warstwy betonu drastycznie podbija <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/" target="_blank">bezwładność cieplną w ogrzewaniu podłogowym</a>. Zamiast reagować w 2 godziny, ciężka <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/" target="_blank">wylewka betonowa</a> może potrzebować nawet 10 godzin na oddanie ciepła, paraliżując pracę automatyki sterującej.</p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggles = document.querySelectorAll('.rk-screed-btn');
    const slider = document.getElementById('rk-screed-slider');
    const valDisplay = document.getElementById('rk-slider-val');
    
    // Elementy danych technicznych
    const techLambda = document.getElementById('rk-tech-lambda');
    const techMesh = document.getElementById('rk-tech-mesh');
    
    // Status box elements
    const statusBox = document.getElementById('rk-status-box');
    const statusIcon = document.getElementById('rk-status-icon');
    const statusTitle = document.getElementById('rk-status-title');
    const statusDesc = document.getElementById('rk-status-desc');

    // Ikony (ciągi znaków)
    const iconDanger = '<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="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>';
    const iconWarning = '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>';
    const iconOptimal = '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>';

    // Stan aplikacji
    let currentMode = 'anhydryt';

    // Baza logiki
    const matData = {
        'anhydryt': { lambda: '~ 1.6 W/(m·K)', mesh: 'Niewymagane' },
        'cement': { lambda: '~ 1.1 W/(m·K)', mesh: 'Włókna/Siatka' }
    };

    function updateSimulator() {
        const val = parseInt(slider.value);
        valDisplay.innerText = val;
        
        // Aktualizacja danych technicznych
        techLambda.innerText = matData[currentMode].lambda;
        techMesh.innerText = matData[currentMode].mesh;

        // Bezpieczna logika oceny (zagnieżdżone ify z użyciem return, aby ominąć &&)
        
        // Domyślne czyszczenie klas
        statusBox.className = 'rk-screed-status-card';
        
        if (currentMode === 'anhydryt') {
            // Anhydryt normy: min 51mm (35mm nad rurą 16mm). Powyżej 70mm robimy ostrzeżenie o bezwładności.
            if (val < 51) {
                applyStatus('danger', 'Zbyt Cienka Wylewka', 'Brak stabilności mechanicznej. Ogromne ryzyko spękań skurczowych oraz pękania ułożonych płytek ceramicznych.', iconDanger);
                return;
            } 
            if (val > 70) {
                applyStatus('warning', 'Wysoka Bezwładność', 'Przewymiarowana warstwa. System nagrzewa się z opóźnieniem generując straty energii przy zyskach słonecznych.', iconWarning);
                return;
            }
            // Jeśli nie jest za cienka, ani za gruba = optymalna
            applyStatus('optimal', 'Grubość Optymalna', 'Idealny balans. Gwarantuje wytrzymałość posadzki oraz znakomitą, szybką dynamikę oddawania ciepła.', iconOptimal);
            
        } else {
            // Cement normy: min 61mm (45mm nad rurą 16mm). Powyżej 80mm ostrzeżenie o krytycznej bezwładności.
            if (val < 61) {
                applyStatus('danger', 'Krytyczne Niedomiarowanie', 'Jastrych cementowy o tej grubości nad rurą nie spełnia normy PN-EN 13813. Ryzyko załamania posadzki.', iconDanger);
                return;
            }
            if (val > 80) {
                applyStatus('warning', 'Zbyt Gruba (Blokada Ciepła)', 'Drastyczny wzrost bezwładności cieplnej. Czas reakcji podłogówki wydłuża się z 3 do nawet 10 godzin.', iconWarning);
                return;
            }
            // Zgodnie z normą
            applyStatus('optimal', 'Zgodność z Normą', 'Prawidłowa grubość dla tradycyjnego jastrychu betonowego, zapewniająca bezpieczne przykrycie rur PEX.', iconOptimal);
        }
    }

    function applyStatus(stateClass, title, desc, iconSvg) {
        statusBox.classList.add('status-' + stateClass);
        statusTitle.innerText = title;
        statusDesc.innerText = desc;
        statusIcon.innerHTML = iconSvg;
    }

    // Eventy
    toggles.forEach(function(btn) {
        btn.addEventListener('click', function() {
            toggles.forEach(function(b) {
                b.classList.remove('active');
            });
            this.classList.add('active');
            currentMode = this.getAttribute('data-type');
            updateSimulator();
        });
    });

    slider.addEventListener('input', updateSimulator);

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



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

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

/* Nagłówek */
.rk-calc-header {
    background: linear-gradient(135deg, var(--rk-calc-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
}

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

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

/* Sekcja Teoretyczna (Wzory) */
.rk-calc-theory {
    padding: 35px 50px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-calc-border);
}

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

.rk-calc-step {
    background: var(--rk-calc-gray);
    padding: 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-calc-border);
}

.rk-calc-step-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-calc-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
}

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

.rk-calc-math {
    background: #ffffff;
    padding: 10px;
    border-radius: 8px;
    text-align: center;
    border: 1px dashed #cbd5e1;
    font-size: 14px;
    overflow-x: auto;
}

/* Interfejs Kalkulatora */
.rk-calc-app {
    padding: 40px 50px;
    background: var(--rk-calc-gray);
}

.rk-calc-app-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin-bottom: 25px;
}

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

/* Panele sterowania */
.rk-calc-controls {
    background: #ffffff;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-calc-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

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

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

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

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

.rk-calc-value-badge {
    background: var(--rk-calc-blue-light);
    color: var(--rk-calc-blue);
    padding: 6px 12px;
    border-radius: 8px;
    font-weight: 800;
    font-size: 16px;
}

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

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

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

/* Wyniki */
.rk-calc-results {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-calc-result-card {
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-calc-border);
    border-left: 4px solid var(--rk-calc-blue);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    display: flex;
    align-items: center;
    gap: 20px;
}

.rk-calc-result-card.highlight {
    border-left-color: var(--rk-calc-green);
    background: #f0fdf4;
}

.rk-calc-result-icon {
    width: 50px;
    height: 50px;
    background: var(--rk-calc-gray);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-calc-blue);
    flex-shrink: 0;
}

.rk-calc-result-card.highlight .rk-calc-result-icon {
    background: #d1fae5;
    color: var(--rk-calc-green);
}

.rk-calc-result-data {
    flex-grow: 1;
}

.rk-calc-result-label {
    font-size: 12px;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 5px;
}

.rk-calc-result-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-calc-dark);
}

.rk-calc-result-sub {
    font-size: 13px;
    color: var(--rk-calc-text);
    margin-top: 4px;
}

.rk-calc-result-sub a {
    color: var(--rk-calc-blue);
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 600;
}

/* RWD */
@media (max-width: 768px) {
    .rk-calc-header, .rk-calc-theory, .rk-calc-app { padding: 30px 20px; }
    .rk-calc-theory-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-calc-app-grid { grid-template-columns: 1fr; gap: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-kalkulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Jak obliczyć strumień przepływu i dobrać pompy obiegowe w instalacji grzewczej?",
    "description": "Inżynieryjny algorytm i interaktywny kalkulator przepływu wody. Wyznaczanie strumienia objętości i dobór pomp obiegowych (25-40, 25-60) na podstawie zapotrzebowania cieplnego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-pompy",
    "name": "Tabela doborowa pomp obiegowych dla instalacji podłogowych",
    "description": "Zestawienie progów przepływu masowego i objętościowego determinujące dobór wysokości podnoszenia pomp obiegowych w instalacjach płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator doboru pompy obiegowej",
      "obliczenie przepływu wody w podłogówce",
      "algorytm doboru pompy co",
      "spadek temperatury dt w ogrzewaniu",
      "wydajność pompy 25-60 a 25-40"
    ],
    "measurementTechnique": "Przeliczenie zapotrzebowania na moc grzewczą [kW] na strumień objętości [m3/h] przy zadanym spadku temperatury instalacji [K].",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przepływ do 1.0 m3/h: Wymagana pompa obiegowa klasy 25-40.",
        "Przepływ od 1.0 do 1.8 m3/h: Wymagana pompa obiegowa klasy 25-60.",
        "Przepływ powyżej 1.8 m3/h: Wymagana pompa obiegowa klasy 25-80 lub układ kaskadowy."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-pompy",
    "name": "Kalkulator Doboru Pompy Obiegowej HVAC",
    "description": "Interaktywny kalkulator inżynieryjny pozwalający na dynamiczne wyliczenie strumienia objętościowego wody oraz automatyczny dobór typoszeregu pompy obiegowej.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container" id="rk-interactive-calculator">
    
    <div class="rk-calc-header">
        <h2>Jak obliczyć strumień przepływu i dobrać pompy obiegowe w instalacji grzewczej?</h2>
        <p>Projektowanie parametrów hydraulicznych opiera się na ścisłym bilansie masowym. Poznaj inżynieryjny algorytm stosowany podczas tworzenia dokumentacji wykonawczej na Projekt-Ogrzewania.pl i przetestuj go w naszym kalkulatorze.</p>
    </div>

    <!-- Sekcja Teoretyczna -->
    <div class="rk-calc-theory">
        <div class="rk-calc-theory-grid">
            <div class="rk-calc-step">
                <div class="rk-calc-step-title">Krok 1</div>
                <p class="rk-calc-step-desc">
    Wyznaczenie całkowitego strumienia masy ze wzoru podstawowego, gdzie uwzględniamy ciepło właściwe wody i moc układu.
</p>

<div class="rk-calc-math">
    <strong>m = Q / (cp × ΔT)</strong>
</div>
            </div>
            
            <div class="rk-calc-step">
                <div class="rk-calc-step-title">Krok 2</div>
                <p class="rk-calc-step-desc">
    Zamiana wyniku na praktyczny strumień objętościowy (V) wyrażony w m³/h, z wykorzystaniem stałej inżynieryjnej 1,163.
</p>

<div class="rk-calc-math">
    <strong>V = Q / (1,163 × ΔT)</strong>
</div>
            </div>

            <div class="rk-calc-step">
                <div class="rk-calc-step-title">Krok 3</div>
               <p class="rk-calc-step-desc">
    Wyliczenie oporów i strat ciśnienia na pętli krytycznej. Podsumowujemy opory rur, rozdzielacza oraz pozostałych elementów instalacji.
</p>

<div class="rk-calc-math">
    <strong>Δp = Δp(rury) + Δp(rozdzielacz) + ...</strong>
</div>
            </div>
        </div>
    </div>

    <!-- Interfejs Kalkulatora -->
    <div class="rk-calc-app">
        <div class="rk-calc-app-title">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line><line x1="20" y1="9" x2="23" y2="9"></line><line x1="20" y1="14" x2="23" y2="14"></line><line x1="1" y1="9" x2="4" y2="9"></line><line x1="1" y1="14" x2="4" y2="14"></line></svg>
            Interaktywny Kalkulator Doboru
        </div>
        
        <div class="rk-calc-app-grid">
            
            <!-- Lewa strona - Suwaki -->
            <div class="rk-calc-controls">
                
                <div class="rk-calc-slider-group">
                    <div class="rk-calc-label-row">
                        <span class="rk-calc-label">Zapotrzebowanie na moc budynku (Q)</span>
                        <span class="rk-calc-value-badge"><span id="rk-val-q">9.3</span> kW</span>
                    </div>
                    <input type="range" class="rk-calc-input-range" id="rk-slider-q" min="4" max="25" step="0.1" value="9.3">
                </div>

                <div class="rk-calc-slider-group">
                    <div class="rk-calc-label-row">
                        <span class="rk-calc-label"><a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/" target="_blank" style="color:var(--rk-calc-text);">Spadek temperatury zasilania (ΔT)</a></span>
                        <span class="rk-calc-value-badge"><span id="rk-val-dt">5</span> K</span>
                    </div>
                    <input type="range" class="rk-calc-input-range" id="rk-slider-dt" min="3" max="15" step="1" value="5">
                </div>

            </div>

            <!-- Prawa strona - Wyniki -->
            <div class="rk-calc-results">
                
                <div class="rk-calc-result-card">
                    <div class="rk-calc-result-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    </div>
                    <div class="rk-calc-result-data">
                        <div class="rk-calc-result-label">Wymagany przepływ (V)</div>
                        <div class="rk-calc-result-val"><span id="rk-out-v">1.60</span> m³/h</div>
                        <div class="rk-calc-result-sub">Oznacza to zład wody <span id="rk-out-lmin" style="font-weight:700;">26.6</span> l/min.</div>
                    </div>
                </div>

                <div class="rk-calc-result-card highlight">
                    <div class="rk-calc-result-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polygon points="16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76"></polygon></svg>
                    </div>
                    <div class="rk-calc-result-data">
                        <div class="rk-calc-result-label">Dobór komponentu</div>
                        <div class="rk-calc-result-val">Pompa <span id="rk-out-pump">25-60</span></div>
                        <div class="rk-calc-result-sub">Dowiedz się więcej o <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/" target="_blank">doborze pomp obiegowych</a>.</div>
                    </div>
                </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const sliderQ = document.getElementById('rk-slider-q');
    const sliderDT = document.getElementById('rk-slider-dt');
    
    const displayQ = document.getElementById('rk-val-q');
    const displayDT = document.getElementById('rk-val-dt');
    
    const outV = document.getElementById('rk-out-v');
    const outLmin = document.getElementById('rk-out-lmin');
    const outPump = document.getElementById('rk-out-pump');

    function calculateHydraulics() {
        const qVal = parseFloat(sliderQ.value);
        const dtVal = parseFloat(sliderDT.value);
        
        // Aktualizacja etykiet nad suwakami
        displayQ.innerText = qVal.toFixed(1);
        displayDT.innerText = dtVal;

        // Główny wzór inżynieryjny: V [m3/h] = Q [kW] / (1.163 * DT)
        const vM3h = qVal / (1.163 * dtVal);
        const vLmin = (vM3h * 1000) / 60;
        
        outV.innerText = vM3h.toFixed(2);
        outLmin.innerText = vLmin.toFixed(1);

        // Bezpieczna logika doboru pompy (bez operatorów &&)
        let pumpClass = '25-40'; // domyślnie dla małych przepływów
        
        if (vM3h >= 1.0) {
            pumpClass = '25-60'; // średnie domy
        }
        if (vM3h >= 1.8) {
            pumpClass = '25-80'; // duże domy / kamienice
        }
        if (vM3h >= 3.0) {
            pumpClass = 'Kaskada / Przemysłowa'; // instalacje wielkogabarytowe
        }

        outPump.innerText = pumpClass;
    }

    // Nasłuchiwanie na zmiany suwaków
    sliderQ.addEventListener('input', calculateHydraulics);
    sliderDT.addEventListener('input', calculateHydraulics);

    // Inicjalizacja domyślna
    calculateHydraulics();
});
</script>



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

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

/* Sekcja Nagłówkowa */
.rk-sim-header {
    background: linear-gradient(135deg, var(--rk-sim-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    text-align: center;
}

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

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

/* Interfejs Przełącznika */
.rk-sim-controls {
    display: flex;
    justify-content: center;
    padding: 30px 20px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-sim-border);
}

.rk-sim-toggle-wrapper {
    display: inline-flex;
    background: #e2e8f0;
    border-radius: 999px;
    padding: 6px;
    gap: 5px;
}

.rk-sim-btn {
    padding: 12px 24px;
    border-radius: 999px;
    border: none;
    background: transparent;
    font-size: 15px;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-sim-btn.active[data-mode="grav"] {
    background: #ffffff;
    color: var(--rk-sim-red);
    box-shadow: 0 4px 10px rgba(239, 68, 68, 0.15);
}

.rk-sim-btn.active[data-mode="recup"] {
    background: #ffffff;
    color: var(--rk-sim-green);
    box-shadow: 0 4px 10px rgba(16, 185, 129, 0.15);
}

/* Układ Danych - Kafelki */
.rk-sim-data-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 40px 50px;
    background: #ffffff;
}

.rk-sim-card {
    border: 1px solid var(--rk-sim-border);
    border-radius: 16px;
    padding: 25px 20px;
    text-align: center;
    transition: all 0.4s ease;
    background: #ffffff;
}

.rk-sim-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px auto;
    transition: all 0.4s;
}

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

.rk-sim-card-value {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-sim-dark);
    transition: color 0.4s;
}

/* Właściwości dynamiczne stanów */
.state-grav .rk-sim-card { border-color: #fecaca; }
.state-grav .rk-sim-card-icon { background: var(--rk-sim-red-light); color: var(--rk-sim-red); }
.state-grav .rk-sim-card-value { color: var(--rk-sim-red); }

.state-recup .rk-sim-card { border-color: #a7f3d0; }
.state-recup .rk-sim-card-icon { background: var(--rk-sim-green-light); color: var(--rk-sim-green); }
.state-recup .rk-sim-card-value { color: var(--rk-sim-green); }

/* Sekcja Wyjaśnienia */
.rk-sim-explanation {
    padding: 0 50px 40px 50px;
}

.rk-sim-alert {
    background: var(--rk-sim-blue-light);
    border-left: 4px solid var(--rk-sim-blue);
    padding: 25px 30px;
    border-radius: 0 12px 12px 0;
}

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

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

.rk-sim-alert a {
    color: var(--rk-sim-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s;
}

.rk-sim-alert a:hover {
    color: #0369a1;
}

/* RWD Mobile - Pionowy stack */
@media (max-width: 768px) {
    .rk-sim-header, .rk-sim-explanation { padding: 30px 20px; }
    .rk-sim-data-grid { grid-template-columns: 1fr; gap: 15px; padding: 25px 20px; }
    .rk-sim-controls { padding: 20px; }
    .rk-sim-toggle-wrapper { flex-direction: column; width: 100%; border-radius: 16px; }
    .rk-sim-btn { justify-content: center; padding: 15px; border-radius: 12px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-rekuperacja",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Rekuperacja a projekt ogrzewania podłogowego – jak wentylacja mechaniczna zmienia zapotrzebowanie na moc?",
    "description": "Zobacz, jak wentylacja mechaniczna z odzyskiem ciepła obniża straty wentylacyjne i pozwala na rozluźnienie rozstawu rur w ogrzewaniu podłogowym.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-rekuperacja",
    "name": "Wpływ wentylacji na obciążenie cieplne budynku",
    "description": "Zestawienie parametrów technicznych porównujące straty cieplne z tytułu wentylacji grawitacyjnej i mechanicznej z rekuperatorem.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wpływ rekuperacji na ogrzewanie podłogowe",
      "straty ciepła na wentylację",
      "rozstaw rur a rekuperacja",
      "obliczenia ozc z rekuperatorem",
      "zapotrzebowanie na moc budynku"
    ],
    "measurementTechnique": "Symulacja inżynieryjna oparta na obliczeniach bilansu strat przenikania i wentylacji przy spadku temperatury do -20°C.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wentylacja grawitacyjna: straty wentylacyjne ~4.0 kW, łączne zapotrzebowanie 10.0 kW, wymagany gęsty rozstaw rur co 10 cm.",
        "Wentylacja mechaniczna (rekuperacja): straty wentylacyjne ~0.8 kW, łączne zapotrzebowanie 6.8 kW, możliwy luźniejszy rozstaw rur co 15 cm."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-rekuperacja",
    "name": "Symulator Strat Cieplnych i Wentylacji",
    "description": "Interaktywny panel demonstrujący drastyczne różnice w zapotrzebowaniu na moc grzewczą w zależności od zastosowanego systemu wentylacji w budynku.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-sim-container" id="rk-interactive-ventilation">
    <div class="rk-sim-header">
        <h2>Rekuperacja a projekt ogrzewania podłogowego – jak wentylacja zmienia zapotrzebowanie na moc?</h2>
        <p>Sprawdź na żywo, jak montaż rekuperacji eliminuje straty ciepła i pozwala zoptymalizować całą instalację podłogową w Twoim nowym domu.</p>
    </div>

    <!-- Przełącznik -->
    <div class="rk-sim-controls">
        <div class="rk-sim-toggle-wrapper">
            <button class="rk-sim-btn active" data-mode="grav">
                <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="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                Wentylacja Grawitacyjna
            </button>
            <button class="rk-sim-btn" data-mode="recup">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                Rekuperacja (Odzysk Ciepła)
            </button>
        </div>
    </div>

    <!-- Dynamiczne Kafelki Danych -->
    <div class="rk-sim-data-grid state-grav" id="rkSimGrid">
        
        <div class="rk-sim-card">
            <div class="rk-sim-card-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"></path></svg>
            </div>
            <div class="rk-sim-card-label">Zapotrzebowanie na moc</div>
            <div class="rk-sim-card-value" id="val-total">10.0 kW</div>
        </div>

        <div class="rk-sim-card">
            <div class="rk-sim-card-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 14h12c2.2 0 4-1.8 4-4s-1.8-4-4-4H7"></path><path d="M3 14l4-4"></path><path d="M3 14l4 4"></path></svg>
            </div>
            <div class="rk-sim-card-label">Straty wentylacyjne</div>
            <div class="rk-sim-card-value" id="val-vent">~ 4.0 kW</div>
        </div>

        <div class="rk-sim-card">
            <div class="rk-sim-card-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="21" y1="10" x2="3" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="21" y1="18" x2="3" y2="18"></line></svg>
            </div>
            <div class="rk-sim-card-label">Wymagany rozstaw rur</div>
            <div class="rk-sim-card-value" id="val-pipe">Gęsty (co 10 cm)</div>
        </div>

    </div>

    <!-- Wyjaśnienie Inżynierskie -->
    <div class="rk-sim-explanation">
        <div class="rk-sim-alert">
            <h3 id="rk-exp-title">Wpływ na projekt ogrzewania:</h3>
            <p id="rk-exp-text">
                W przypadku nawiewników i kratek grawitacyjnych zimne powietrze stale "wlewa" się do domu, generując ogromne straty (nawet 40% całego zapotrzebowania). Zmusza to projektanta do <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/" target="_blank">maksymalnego zagęszczenia rur</a> (np. na 10 cm) w całym salonie, by skompensować te ubytki i utrzymać komfort cieplny.
            </p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-sim-btn');
    const gridContainer = document.getElementById('rkSimGrid');
    
    // Pola tekstowe do podmiany
    const valTotal = document.getElementById('val-total');
    const valVent = document.getElementById('val-vent');
    const valPipe = document.getElementById('val-pipe');
    const expText = document.getElementById('rk-exp-text');

    // Bezpieczna baza danych bez operatorów logicznych
    const simData = {
        'grav': {
            total: '10.0 kW',
            vent: '~ 4.0 kW',
            pipe: 'Gęsty (co 10 cm)',
            stateClass: 'state-grav',
            desc: 'W przypadku nawiewników i kratek grawitacyjnych zimne powietrze stale "wlewa" się do domu, generując ogromne straty (nawet 40% całego zapotrzebowania). Zmusza to projektanta do <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/" target="_blank">maksymalnego zagęszczenia rur</a> (np. na 10 cm) w całym salonie, by skompensować te ubytki i utrzymać komfort cieplny.'
        },
        'recup': {
            total: '6.8 kW',
            vent: '~ 0.8 kW',
            pipe: 'Luźny (co 15 cm)',
            stateClass: 'state-recup',
            desc: 'Montaż rekuperacji obniża zapotrzebowanie budynku na moc o 20-35%. Dzięki temu wymagania dla posadzki spadają – <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/" target="_blank">rozstaw pętli można rozluźnić</a> z 10 cm na 15 cm. Dodatkowo niska strata wentylacyjna pozwala na to, by <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/" target="_blank">całkowicie zrezygnować z grzejników</a> pod dużymi przeszkleniami, eliminując uczucie chłodu od okien.'
        }
    };

    function updateSimulation(mode) {
        const data = simData[mode];
        
        // Zmiana tekstów
        valTotal.innerText = data.total;
        valVent.innerText = data.vent;
        valPipe.innerText = data.pipe;
        expText.innerHTML = data.desc;

        // Zmiana klas stanu w gridzie
        gridContainer.classList.remove('state-grav');
        gridContainer.classList.remove('state-recup');
        gridContainer.classList.add(data.stateClass);
    }

    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Bezpieczne usuwanie klas
            btns.forEach(function(b) {
                b.classList.remove('active');
            });
            
            // Aktywacja wciśniętego
            this.classList.add('active');
            
            // Pobranie atrybutu i aktualizacja UI
            const mode = this.getAttribute('data-mode');
            updateSimulation(mode);
        });
    });
});
</script>



<style>
:root {
    --rk-pipe-dark: #0f172a;
    --rk-pipe-blue: #0284c7;
    --rk-pipe-blue-light: #e0f2fe;
    --rk-pipe-bg: #f8fafc;
    --rk-pipe-border: #e2e8f0;
    --rk-pipe-text: #475569;
    --rk-pipe-green: #10b981;
    --rk-pipe-red: #ef4444;
    --rk-pipe-accent: #38bdf8;
}

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

/* Nagłówek */
.rk-pipe-header {
    background: linear-gradient(135deg, var(--rk-pipe-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
}

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

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

.rk-pipe-header a {
    color: var(--rk-pipe-accent);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Przełączniki (Zakładki) */
.rk-pipe-tabs {
    display: flex;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-pipe-border);
    padding: 0 20px;
}

.rk-pipe-tab {
    flex: 1;
    padding: 20px 15px;
    text-align: center;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-pipe-text);
    cursor: pointer;
    transition: all 0.3s ease;
}

.rk-pipe-tab:hover {
    color: var(--rk-pipe-blue);
    background: var(--rk-pipe-bg);
}

.rk-pipe-tab.active {
    color: var(--rk-pipe-blue);
    border-bottom-color: var(--rk-pipe-blue);
    background: var(--rk-pipe-blue-light);
}

/* Wyświetlacz danych */
.rk-pipe-content {
    padding: 40px 50px;
    background: var(--rk-pipe-bg);
}

.rk-pipe-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.rk-pipe-card {
    background: #ffffff;
    border: 1px solid var(--rk-pipe-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

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

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

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

.rk-pipe-value {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-pipe-dark);
}

.rk-pipe-subtext {
    font-size: 13px;
    color: #94a3b8;
    margin-top: 5px;
}

/* Wskaźniki Yes/No */
.rk-status-yes { color: var(--rk-pipe-green); display: flex; align-items: center; gap: 8px; }
.rk-status-no { color: var(--rk-pipe-red); display: flex; align-items: center; gap: 8px; }

/* Rekomendacja */
.rk-pipe-recommendation {
    margin-top: 30px;
    padding: 25px 30px;
    background: #ffffff;
    border-left: 4px solid var(--rk-pipe-blue);
    border-radius: 0 12px 12px 0;
    box-shadow: 0 4px 15px rgba(2, 132, 199, 0.05);
}

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

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

.rk-pipe-rec-text a {
    color: var(--rk-pipe-blue);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* RWD - Mobile */
@media (max-width: 768px) {
    .rk-pipe-header { padding: 30px 20px; }
    .rk-pipe-tabs { flex-direction: column; padding: 0; }
    .rk-pipe-tab { border-bottom: 1px solid var(--rk-pipe-border); border-left: 4px solid transparent; padding: 15px; text-align: left; }
    .rk-pipe-tab.active { border-bottom-color: var(--rk-pipe-border); border-left-color: var(--rk-pipe-blue); }
    .rk-pipe-content { padding: 25px 20px; }
    .rk-pipe-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-pipe-recommendation { padding: 20px; margin-top: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-rury",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Porównanie techniczne materiałów: Rura PERT-AL-PERT, PEX-A czy PERT-EVOH?",
    "description": "Szczegółowe zestawienie parametrów technicznych rur do ogrzewania podłogowego. Porównanie pamięci kształtu, rozszerzalności cieplnej i bariery EVOH.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-rury",
    "name": "Specyfikacja techniczna rur do ogrzewania podłogowego",
    "description": "Zestawienie właściwości fizykochemicznych najpopularniejszych systemów rurowych: PERT-AL-PERT, PEX-A oraz PERT II EVOH.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rura pert-al-pert do podłogówki",
      "rura pex-a właściwości",
      "bariera antydyfuzyjna evoh",
      "współczynnik rozszerzalności cieplnej rur",
      "pamięć kształtu rury ogrzewania"
    ],
    "measurementTechnique": "Porównanie certyfikowanych parametrów technicznych z wymaganiami normy DIN 4726 dotyczącymi przenikalności tlenowej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "PERT-AL-PERT: Niska rozszerzalność (0,026 mm/mK), posiada pamięć kształtu, max 95°C.",
        "PEX-A: Wysoka rozszerzalność (0,14 mm/mK), brak pamięci kształtu, posiada pamięć termiczną, max 95°C.",
        "PERT II (EVOH): Wysoka rozszerzalność (0,18 mm/mK), brak pamięci kształtu, max 70°C."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-rury",
    "name": "Komparator Systemów Rurowych HVAC",
    "description": "Interaktywne narzędzie tabelaryczne umożliwiające inżynierskie porównanie kluczowych parametrów rur stosowanych w płaszczyznowych instalacjach grzewczych.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-pipe-container" id="rk-interactive-pipes">
    <div class="rk-pipe-header">
        <h2>Porównanie techniczne materiałów: Rura PERT-AL-PERT, PEX-A czy PERT-EVOH?</h2>
        <p>Wybór materiału rur do ogrzewania podłogowego decyduje o trwałości mechanicznej i bezpieczeństwie instalacji. Zgodnie z <a href="https://projekt-ogrzewania.pl/norma-din-4726-w-ogrzewaniu-podlogowym/" target="_blank">normą DIN 4726</a>, każda rura do podłogówki bezwzględnie musi posiadać barierę antydyfuzyjną (EVOH) o przenikalności tlenu nieprzekraczającej 0,1 g/(m³·d) przy temperaturze 40°C.</p>
    </div>

    <div class="rk-pipe-tabs" id="rkPipeTabs">
        <button class="rk-pipe-tab active" data-pipe="pertalpert">PERT-AL-PERT (z wkładką Al)</button>
        <button class="rk-pipe-tab" data-pipe="pexa">PEX-A (Polietylen usieciowany)</button>
        <button class="rk-pipe-tab" data-pipe="pert">PERT II (z barierą EVOH)</button>
    </div>

    <div class="rk-pipe-content">
        <div class="rk-pipe-grid">
            
            <!-- Karta 1: Struktura -->
            <div class="rk-pipe-card">
                <div class="rk-pipe-card-header">
                    <div class="rk-pipe-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg>
                    </div>
                    <div class="rk-pipe-label">Budowa i Struktura</div>
                </div>
                <div class="rk-pipe-value" id="p-struct">5-warstwowa z aluminium</div>
                <div class="rk-pipe-subtext" id="p-struct-sub">Monolityczna ochrona przed tlenem.</div>
            </div>

            <!-- Karta 2: Rozszerzalność -->
            <div class="rk-pipe-card">
                <div class="rk-pipe-card-header">
                    <div class="rk-pipe-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" y1="3" x2="14" y2="10"></line><line x1="3" y1="21" x2="10" y2="14"></line></svg>
                    </div>
                    <div class="rk-pipe-label">Współczynnik rozszerzalności</div>
                </div>
                <div class="rk-pipe-value" id="p-exp">0,026 mm/(m·K)</div>
                <div class="rk-pipe-subtext" id="p-exp-sub">Bardzo niska podatność na zmiany temp.</div>
            </div>

            <!-- Karta 3: Pamięć kształtu -->
            <div class="rk-pipe-card">
                <div class="rk-pipe-card-header">
                    <div class="rk-pipe-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="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
                    </div>
                    <div class="rk-pipe-label">Pamięć kształtu rury</div>
                </div>
                <div class="rk-pipe-value" id="p-shape">
                    <span class="rk-status-yes"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> TAK</span>
                </div>
                <div class="rk-pipe-subtext" id="p-shape-sub">Po wygięciu zachowuje zadany promień.</div>
            </div>

            <!-- Karta 4: Pamięć termiczna -->
            <div class="rk-pipe-card">
                <div class="rk-pipe-card-header">
                    <div class="rk-pipe-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 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    </div>
                    <div class="rk-pipe-label">Naprawa zagnieceń termicznie</div>
                </div>
                <div class="rk-pipe-value" id="p-therm">
                    <span class="rk-status-no"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg> NIE</span>
                </div>
                <div class="rk-pipe-subtext" id="p-therm-sub">Zagniecenie całkowicie niszczy wkładkę Al.</div>
            </div>

        </div>

        <div class="rk-pipe-recommendation">
            <div class="rk-pipe-rec-title">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" 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></svg>
                Rekomendacja inżynierska
            </div>
            <p class="rk-pipe-rec-text">
                Do wykonania niezawodnego ogrzewania podłogowego w układzie tradycyjnym (klipsowanym na styropianie) optymalnym wyborem jest stabilna, wielowarstwowa rura <strong>PERT-AL-PERT</strong> lub wysoce elastyczna <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/" target="_blank">rura PEX-A</a>. Stanowczo odradzam tańsze zamienniki bez rygorystycznej bariery EVOH, ponieważ powodują one gwałtowne natlenianie zładu i korozję elementów kotłowni.
            </p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('.rk-pipe-tab');
    
    // Elementy UI do podmiany
    const elStruct = document.getElementById('p-struct');
    const elStructSub = document.getElementById('p-struct-sub');
    const elExp = document.getElementById('p-exp');
    const elExpSub = document.getElementById('p-exp-sub');
    const elShape = document.getElementById('p-shape');
    const elShapeSub = document.getElementById('p-shape-sub');
    const elTherm = document.getElementById('p-therm');
    const elThermSub = document.getElementById('p-therm-sub');

    // SVG Ikony statusów
    const yesIcon = '<span class="rk-status-yes"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> TAK</span>';
    const noIcon = '<span class="rk-status-no"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg> NIE</span>';

    // Baza danych materiałowych (bezpieczna, bez '&&')
    const pipeData = {
        'pertalpert': {
            struct: '5-warstwowa z aluminium',
            structSub: 'Monolityczna ochrona, max 95°C, żywotność > 50 lat.',
            exp: '0,026 mm/(m·K)',
            expSub: 'Bardzo niska podatność na zmiany temperatur.',
            shape: yesIcon,
            shapeSub: 'Po wygięciu idealnie zachowuje zadany promień.',
            therm: noIcon,
            thermSub: 'Zagniecenie na budowie niszczy wkładkę Al.'
        },
        'pexa': {
            struct: '3 lub 5-warstwowa usieciowana',
            structSub: 'Cząsteczkowo usieciowana, max 95°C, żywotność > 50 lat.',
            exp: '0,14 mm/(m·K)',
            expSub: 'Wysoka rozszerzalność cieplna materiału.',
            shape: noIcon,
            shapeSub: 'Sprężynuje, wymaga znacznie gęstszego spinkowania.',
            therm: yesIcon,
            thermSub: 'Można bezpiecznie naprawić opalarką (pamięć polimeru).'
        },
        'pert': {
            struct: '5-warstwowa monolit',
            structSub: 'Standardowa <a href="https://projekt-ogrzewania.pl/rura-pert-do-ogrzewania-podlogowego/" style="color:var(--rk-pipe-blue);font-weight:700;">rura PERT II</a>, max 70°C, żywotność > 50 lat.',
            exp: '0,18 mm/(m·K)',
            expSub: 'Bardzo wysoka podatność na wydłużenie cieplne.',
            shape: noIcon,
            shapeSub: 'Sprężynuje powracając do formy ze zwoju.',
            therm: noIcon,
            thermSub: 'Trwałe odkształcenie bez możliwości naprawy.'
        }
    };

    function updatePipeData(pipeKey) {
        const data = pipeData[pipeKey];
        elStruct.innerHTML = data.struct;
        elStructSub.innerHTML = data.structSub;
        elExp.innerText = data.exp;
        elExpSub.innerText = data.expSub;
        elShape.innerHTML = data.shape;
        elShapeSub.innerText = data.shapeSub;
        elTherm.innerHTML = data.therm;
        elThermSub.innerText = data.thermSub;
    }

    // Obsługa zakładek
    tabs.forEach(function(tab) {
        tab.addEventListener('click', function() {
            // Usunięcie aktywności ze wszystkich
            tabs.forEach(function(t) {
                t.classList.remove('active');
            });
            
            // Nadanie aktywności klikniętej zakładce
            this.classList.add('active');
            
            // Pobranie klucza i aktualizacja
            const pipeKey = this.getAttribute('data-pipe');
            updatePipeData(pipeKey);
        });
    });
});
</script>



<style>
:root {
    --rk-proc-dark: #0f172a;
    --rk-proc-blue: #0284c7;
    --rk-proc-blue-hover: #0369a1;
    --rk-proc-light: #f8fafc;
    --rk-proc-green: #10b981;
    --rk-proc-border: #e2e8f0;
    --rk-proc-text: #334155;
    --rk-proc-card-bg: #ffffff;
}

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

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

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

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

.rk-proc-body {
    padding: 40px 50px;
    background: var(--rk-proc-light);
}

/* Kafelki nawigacji kroków (Desktop: rząd, Mobile: pionowy akordeon) */
.rk-proc-steps-nav {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 30px;
}

.rk-proc-step-btn {
    background: #ffffff;
    border: 2px solid var(--rk-proc-border);
    border-radius: 14px;
    padding: 15px 12px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.rk-proc-step-btn:hover {
    border-color: #cbd5e1;
    transform: translateY(-2px);
}

.rk-proc-step-btn.active {
    background: #e0f2fe;
    border-color: var(--rk-proc-blue);
    box-shadow: 0 8px 20px -5px rgba(2, 132, 199, 0.15);
}

.rk-proc-step-num {
    width: 28px;
    height: 28px;
    background: #e2e8f0;
    color: #475569;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
}

.rk-proc-step-btn.active .rk-proc-step-num {
    background: var(--rk-proc-blue);
    color: #ffffff;
}

.rk-proc-step-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-proc-dark);
    line-height: 1.3;
}

/* Wyświetlacz treści aktywnego kroku */
.rk-proc-display {
    background: var(--rk-proc-card-bg);
    border: 1px solid var(--rk-proc-border);
    border-radius: 18px;
    padding: 30px;
    display: flex;
    align-items: flex-start;
    gap: 25px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

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

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

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

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

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

/* Sekcja CTA wewnątrz kontenera */
.rk-proc-cta {
    padding: 35px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-proc-border);
    text-align: center;
}

.rk-proc-cta-desc {
    font-size: 15px;
    color: #64748b;
    margin: 0 auto 20px;
    max-width: 650px;
    line-height: 1.6;
}

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

.rk-btn-proc:hover {
    transform: translateY(-3px);
    background: var(--rk-proc-blue-hover);
    box-shadow: 0 15px 35px -5px rgba(2, 132, 199, 0.5);
}

.rk-btn-proc svg { transition: transform 0.3s; }
.rk-btn-proc:hover svg { transform: translateX(5px); }

/* RWD - Mobile */
@media (max-width: 768px) {
    .rk-proc-header, .rk-proc-body, .rk-proc-cta { padding: 30px 20px; }
    .rk-proc-steps-nav { grid-template-columns: 1fr; gap: 10px; }
    .rk-proc-step-btn { flex-direction: row; text-align: left; padding: 12px 15px; }
    .rk-proc-display { flex-direction: column; text-align: center; padding: 20px; }
    .rk-proc-display-icon { margin: 0 auto; }
    .rk-btn-proc { width: 100%; padding: 16px 20px; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-process",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Od zapytania do gotowej dokumentacji: Jak wyliczam i projektuję instalację krok po kroku",
    "description": "Przejrzysty proces inżynieryjny tworzenia dokumentacji ogrzewania podłogowego: od analizy rzutów i obliczeń OZC po precyzyjny projekt hydrauliczny.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-process",
    "name": "Metodologia inżynieryjna projektowania instalacji grzewczych",
    "description": "Opis 4-etapowego procesu inżynieryjnego obejmującego analizę architektoniczną, obliczenia OZC wg PN-EN 12831, projekt hydrauliczny i wydanie dokumentacji PDF.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projektowanie ogrzewania podłogowego krok po kroku",
      "obliczenia ozc dla budynku",
      "dokumentacja techniczna instalacji grzewczej",
      "dobór rotametrów i pętli grzewczych",
      "projekt pdf dla instalatora"
    ],
    "measurementTechnique": "Algorytm cyfrowej weryfikacji projektowej i bilansowania hydraulicznego pętli grzewczych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Etap 1: Weryfikacja rzutów architektonicznych i materiałów.",
        "Etap 2: Komputerowe obliczenia OZC wg normy PN-EN 12831.",
        "Etap 3: Projekt hydrauliczny i rozrysowanie pętli ślimakowych.",
        "Etap 4: Finalna dokumentacja PDF i specyfikacja materiałowa."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-process",
    "name": "Kreator Procesu Projektowego HVAC",
    "description": "Interaktywny przewodnik demonstracyjny prezentujący kolejne etapy tworzenia profesjonalnego projektu instalacji grzewczej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-proc-container" id="rk-interactive-process">
    <div class="rk-proc-header">
        <h2>Od zapytania do gotowej dokumentacji: Jak wyliczam i projektuję instalację krok po kroku</h2>
        <p>Jeśli chcesz uniknąć błędów wykonawczych i zyskać pewność, że Twój dom będzie ogrzewany tanio i niezawodnie, sprawdź jak w 4 przejrzystych etapach powstaje profesjonalny projekt.</p>
    </div>

    <div class="rk-proc-body">
        <!-- Nawigacja kroków -->
        <div class="rk-proc-steps-nav" id="rkProcNav">
            <button class="rk-proc-step-btn active" data-step="1">
                <div class="rk-proc-step-num">1</div>
                <div class="rk-proc-step-title">Rzuty Budowlane</div>
            </button>
            <button class="rk-proc-step-btn" data-step="2">
                <div class="rk-proc-step-num">2</div>
                <div class="rk-proc-step-title">Obliczenia OZC</div>
            </button>
            <button class="rk-proc-step-btn" data-step="3">
                <div class="rk-proc-step-num">3</div>
                <div class="rk-proc-step-title">Projekt Hydrauliczny</div>
            </button>
            <button class="rk-proc-step-btn" data-step="4">
                <div class="rk-proc-step-num">4</div>
                <div class="rk-proc-step-title">Dokumentacja PDF</div>
            </button>
        </div>

        <!-- Wyświetlacz szczegółów aktywnego kroku -->
        <div class="rk-proc-display" id="rkProcDisplay">
            <div class="rk-proc-display-icon" id="rkProcIcon">
                <!-- SVG renderowane dynamicznie przez JS -->
            </div>
            <div class="rk-proc-display-content" id="rkProcContent">
                <!-- Zawartość wstrzykiwana przez JS -->
            </div>
        </div>
    </div>

    <div class="rk-proc-cta">
        <p class="rk-proc-cta-desc">
            Zlecenie profesjonalnego projektu to gwarancja, że nie wydasz ani jednego zbędnego złotego na przewymiarowany sprzęt, a Twój wykonawca otrzyma precyzyjną instrukcję montażu.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-proc">
            ZAMÓW PROFESJONALNY PROJEKT OGRZEWANIA
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const stepButtons = document.querySelectorAll('.rk-proc-step-btn');
    const procIcon = document.getElementById('rkProcIcon');
    const procContent = document.getElementById('rkProcContent');

    // Baza danych poszczególnych kroków (bezpieczna, bez operatorów &&)
    const stepsData = {
        '1': {
            title: 'Weryfikacja rzutów architektonicznych',
            text: 'Na starcie analizujemy dokumentację budynku: grubość oraz budowę ścian zewnętrznych, rodzaj okien, <a href="https://projekt-ogrzewania.pl/jakie-sa-najlepsze-sposoby-izolacji-pod-ogrzewanie-podlogowe/" target="_blank">izolację dachu</a> oraz posadzki. Dopasowujemy dane wejściowe do realnych warunków Twojej inwestycji.',
            icon: '<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 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>'
        },
        '2': {
            title: 'Wykonanie komputerowego OZC',
            text: 'W oparciu o normę <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/" target="_blank">PN-EN 12831</a> wyliczamy zapotrzebowanie cieplne dla każdego pomieszczenia z osobna. Uwzględniamy strefy klimatyczne w Polsce oraz parametry wentylacji, co pozwala dobrać źródło ciepła bez ryzyka kosztownego przewymiarowania.',
            icon: '<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect><line x1="8" y1="21" x2="16" y2="21"></line><line x1="12" y1="17" x2="12" y2="21"></line></svg>'
        },
        '3': {
            title: 'Rozrysowanie pętli i dobór rozdzielaczy',
            text: 'Układamy pętle w optymalnym <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-slimakowym/" target="_blank">systemie ślimakowym</a> z zagęszczeniem w strefach brzegowych. Precyzyjnie wyznaczamy nastawy wstępne dla rotametrów, eliminując błędy hydrauliczne skutkujące niedogrzanymi pokojami.',
            icon: '<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="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>'
        },
        '4': {
            title: 'Wydanie gotowej dokumentacji PDF',
            text: 'Otrzymujesz kompletny rysunek rzutu w skali, pełny bilans mocy, <a href="https://projekt-ogrzewania.pl/jakie-materialy-sa-potrzebne-do-instalacji-ogrzewania-podlogowego/" target="_blank">specyfikację materiałową</a> (co do metra rury i liczby rozdzielaczy) oraz jasne wytyczne gotowe do przekazania Twojemu instalatorowi.',
            icon: '<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 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="12" y1="18" x2="12" y2="12"></line><line x1="9" y1="15" x2="15" y2="15"></line></svg>'
        }
    };

    function renderStep(stepKey) {
        const data = stepsData[stepKey];
        procIcon.innerHTML = data.icon;
        procContent.innerHTML = '<h3>Krok ' + stepKey + ': ' + data.title + '</h3><p>' + data.text + '</p>';
    }

    // Inicjalizacja domyślna kroku 1
    renderStep('1');

    stepButtons.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Usunięcie klasy active ze wszystkich przycisków
            stepButtons.forEach(function(b) {
                b.classList.remove('active');
            });
            // Dodanie active do klikniętego
            this.classList.add('active');
            
            // Pobranie numeru kroku i renderowanie
            const stepNum = this.getAttribute('data-step');
            renderStep(stepNum);
        });
    });
});
</script>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-blue: #0284c7;
    --rk-err-red: #dc2626;
    --rk-err-red-light: #fef2f2;
    --rk-err-gray-bg: #f8fafc;
    --rk-err-border: #e2e8f0;
    --rk-err-text: #334155;
    --rk-err-muted: #64748b;
}

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

/* Nagłówek Skanera */
.rk-err-header-main {
    background: linear-gradient(135deg, var(--rk-err-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
    position: relative;
    text-align: center;
}

.rk-err-header-main::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--rk-err-red);
}

.rk-err-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(220, 38, 38, 0.2);
    color: #fca5a5;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(220, 38, 38, 0.3);
}

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

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

/* Akordeon Pionowy */
.rk-err-list {
    padding: 30px 50px 40px;
    background: var(--rk-err-gray-bg);
}

.rk-err-item {
    background: #ffffff;
    border: 1px solid var(--rk-err-border);
    border-radius: 16px;
    margin-bottom: 15px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    overflow: hidden;
}

.rk-err-item:hover {
    border-color: #cbd5e1;
}

.rk-err-item.active {
    border-color: var(--rk-err-red);
    box-shadow: 0 10px 25px -5px rgba(220, 38, 38, 0.15);
}

/* Nagłówek Akordeonu (Klikalny) */
.rk-err-item-top {
    display: flex;
    align-items: center;
    padding: 20px 25px;
    cursor: pointer;
    gap: 20px;
    background: #ffffff;
    transition: background 0.3s;
}

.rk-err-item.active .rk-err-item-top {
    background: var(--rk-err-red-light);
}

.rk-err-num {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-err-muted);
    transition: color 0.3s;
    flex-shrink: 0;
}

.rk-err-item.active .rk-err-num {
    color: var(--rk-err-red);
}

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

.rk-err-toggle {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--rk-err-gray-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-err-muted);
    flex-shrink: 0;
    transition: all 0.4s ease;
}

.rk-err-item.active .rk-err-toggle {
    background: var(--rk-err-red);
    color: #ffffff;
    transform: rotate(180deg);
}

/* Ukryta Treść Akordeonu */
.rk-err-content-wrap {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
}

.rk-err-item.active .rk-err-content-wrap {
    max-height: 600px;
    opacity: 1;
}

.rk-err-content-inner {
    padding: 0 25px 25px 70px; /* Wcięcie wyrównujące do tekstu tytułu */
}

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

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

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

/* Blok Skutku (Katastrofa) */
.rk-err-consequence {
    background: #fff1f2;
    border-left: 4px solid var(--rk-err-red);
    padding: 18px 20px;
    border-radius: 0 8px 8px 0;
}

.rk-err-consequence-label {
    font-size: 12px;
    font-weight: 900;
    color: var(--rk-err-red);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.rk-err-consequence-text {
    font-size: 15px;
    color: #991b1b;
    margin: 0;
    font-weight: 500;
    line-height: 1.6;
}

.rk-err-consequence-text a {
    color: var(--rk-err-red);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rk-err-consequence-text a:hover {
    color: #7f1d1d;
}

/* RWD - Mobile */
@media (max-width: 768px) {
    .rk-err-header-main { padding: 35px 20px; }
    .rk-err-header-main h2 { font-size: 22px; }
    .rk-err-list { padding: 20px; }
    .rk-err-item-top { padding: 15px 20px; gap: 15px; }
    .rk-err-title { font-size: 16px; }
    .rk-err-num { font-size: 18px; }
    .rk-err-content-inner { padding: 0 20px 20px 20px; } /* Usunięte mocne wcięcie lewe na mobile */
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "5 najczęstszych błędów wykonawczych przy instalacji ogrzewania podłogowego",
    "description": "Zestawienie najgroźniejszych błędów instalatorów podłogówki: od braku dylatacji i prób ciśnieniowych po złą wodę zasilającą. Poznaj bezpośrednie skutki amatorskiego montażu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-bledy",
    "name": "Baza usterek montażowych ogrzewania płaszczyznowego",
    "description": "Techniczny katalog błędów wykonawczych instalacji wodnych, diagnoza przyczyn (brak dylatacji, twarda woda, brak próby ciśnieniowej) oraz skutków materiałowych po wylaniu posadzki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy montażu ogrzewania podłogowego",
      "brak dylatacji pękanie posadzki",
      "woda demineralizowana do podłogówki",
      "próba ciśnieniowa ogrzewania wylewka",
      "nieprawidłowe długości pętli grzewczych"
    ],
    "measurementTechnique": "Analiza awaryjności instalacji grzewczych na podstawie oględzin fizycznych, testów rotametrów i prób hydrostatycznych jastrychów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd 1: Brak szczelin dylatacyjnych prowadzący do niekontrolowanego pękania płytek.",
        "Błąd 2: Twarda woda kranowa powodująca odkładanie kamienia kotłowego w rotametrach.",
        "Błąd 3: Brak próby ciśnieniowej na 0,4 MPa przed zalewaniem betonu.",
        "Błąd 4: Zbyt duże różnice w długościach pętli na jednym rozdzielaczu (30m vs 90m).",
        "Błąd 5: Układanie gęstych pętli bezpośrednio pod stałą zabudową meblową."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-bledy",
    "name": "Interaktywny Skaner Błędów Wykonawczych",
    "description": "Narzędzie typu akordeon symulujące diagnozę instalacyjną, pozwalające inwestorom na bezpośrednie powiązanie błędów instalatorów z katastrofalnymi skutkami finansowymi.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="rk-interactive-errors">
    <div class="rk-err-header-main">
        <div class="rk-err-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="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>
            Strefa Ryzyka Inwestora
        </div>
        <h2>5 najczęstszych błędów wykonawczych przy instalacji ogrzewania podłogowego</h2>
        <p>Beton wybaczy wiele, ale hydraulika nie. Zobacz, jak niewiedza instalatorów pracujących "z pamięci" prowadzi do uszkodzeń i strat finansowych po wylaniu posadzki.</p>
    </div>

    <div class="rk-err-list">
        
        <!-- Błąd 01 -->
        <div class="rk-err-item active">
            <div class="rk-err-item-top">
                <span class="rk-err-num">01</span>
                <h3 class="rk-err-title">Brak szczelin dylatacyjnych posadzki</h3>
                <div class="rk-err-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-err-content-wrap">
                <div class="rk-err-content-inner">
                    <p class="rk-err-mechanism">
                        Niewykonanie taśmy brzegowej przy ścianach oraz brak <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" target="_blank">dylatacji przejściowych w progach</a> i na jastrychach o powierzchni powyżej 40 m² (lub długości boku ponad 8 m) blokuje naturalną pracę jastrychu pod wpływem wysokiej temperatury.
                    </p>
                    <div class="rk-err-consequence">
                        <div class="rk-err-consequence-label">
                            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
                            Katastrofalny skutek
                        </div>
                        <p class="rk-err-consequence-text">
                            Niekontrolowane pękanie płyt jastrychu oraz fizyczne rozrywanie drogich płytek ceramicznych na skutek rozszerzalności cieplnej anhydrytu lub betonu.
                        </p>
                    </div>
                </div>
            </div>
        </div>

        <!-- Błąd 02 -->
        <div class="rk-err-item">
            <div class="rk-err-item-top">
                <span class="rk-err-num">02</span>
                <h3 class="rk-err-title">Napełnienie instalacji zwykłą wodą kranową</h3>
                <div class="rk-err-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-err-content-wrap">
                <div class="rk-err-content-inner">
                    <p class="rk-err-mechanism">
                        Woda pobrana prosto z sieci wodociągowej o twardości powyżej 14°dH powoduje błyskawiczne odkładanie się kamienia kotłowego na ściankach rur, elementach kotła i delikatnych rotametrach rozdzielaczy, drastycznie zmniejszając ich przekrój czynny.
                    </p>
                    <div class="rk-err-consequence">
                        <div class="rk-err-consequence-label">
                            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
                            Katastrofalny skutek
                        </div>
                        <p class="rk-err-consequence-text">
                            Gwałtowny spadek wydajności instalacji. Jedynym prawidłowym ratunkiem jest zalanie zamkniętego układu <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/" target="_blank">wodą demineralizowaną</a>, wzbogaconą o odpowiednie inhibitory korozji i biocydy.
                        </p>
                    </div>
                </div>
            </div>
        </div>

        <!-- Błąd 03 -->
        <div class="rk-err-item">
            <div class="rk-err-item-top">
                <span class="rk-err-num">03</span>
                <h3 class="rk-err-title">Zalanie wylewki bez próby ciśnieniowej</h3>
                <div class="rk-err-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-err-content-wrap">
                <div class="rk-err-content-inner">
                    <p class="rk-err-mechanism">
                        Brak profesjonalnie wykonanej <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/" target="_blank">próby szczelności</a> i niepozostawienie pętli pod ciśnieniem roboczym (minimum 0,3–0,4 MPa) na cały czas prac posadzkarskich. Powietrze lub woda wtłoczona w rurę nadaje jej niezbędną strukturalną sztywność.
                    </p>
                    <div class="rk-err-consequence">
                        <div class="rk-err-consequence-label">
                            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
                            Katastrofalny skutek
                        </div>
                        <p class="rk-err-consequence-text">
                            Całkowite zgniecenie pustych rur przez ciężar płynnego betonu. Brak nabitego ciśnienia uniemożliwia również natychmiastowe zauważenie przebicia rury łopatą przez ekipę wylewkarzy.
                        </p>
                    </div>
                </div>
            </div>
        </div>

        <!-- Błąd 04 -->
        <div class="rk-err-item">
            <div class="rk-err-item-top">
                <span class="rk-err-num">04</span>
                <h3 class="rk-err-title">Mieszanie długości obiegów na jednym rozdzielaczu</h3>
                <div class="rk-err-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-err-content-wrap">
                <div class="rk-err-content-inner">
                    <p class="rk-err-mechanism">
                        Podłączenie do jednego rozdzielacza pętli o skrajnie różnych oporach, np. obiegu o długości 30 m w łazience oraz pętli 90 m zasilającej salon. Fizyka sprawia, że woda tłoczona przez pompę dąży zawsze po linii najmniejszego oporu.
                    </p>
                    <div class="rk-err-consequence">
                        <div class="rk-err-consequence-label">
                            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
                            Katastrofalny skutek
                        </div>
                        <p class="rk-err-consequence-text">
                            Wyregulowanie hydrauliczne takiego układu na rotametrach jest niemal niewykonalne. Krótka pętla wybierze cały przepływ i drastycznie przegrzeje pomieszczenie, podczas gdy duży salon pozostanie lodowaty.
                        </p>
                    </div>
                </div>
            </div>
        </div>

        <!-- Błąd 05 -->
        <div class="rk-err-item">
            <div class="rk-err-item-top">
                <span class="rk-err-num">05</span>
                <h3 class="rk-err-title">Układanie rur bezpośrednio pod stałą zabudową</h3>
                <div class="rk-err-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-err-content-wrap">
                <div class="rk-err-content-inner">
                    <p class="rk-err-mechanism">
                        Rozłożenie gęstego, standardowego rozstawu rur grzewczych bezpośrednio pod projektowaną w kuchni wyspą, szczelnie obudowaną wanną bez nóżek lub potężnymi szafami ubraniowymi w zabudowie wnękowej.
                    </p>
                    <div class="rk-err-consequence">
                        <div class="rk-err-consequence-label">
                            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
                            Katastrofalny skutek
                        </div>
                        <p class="rk-err-consequence-text">
                            Zablokowanie wymiany cieplnej i niepotrzebne nabijanie kosztów ogrzewania (energia jest "więziona" pod meblem). Dodatkowo drewno i płyty meblowe wystawione na stałą, wysoką temperaturę od dołu ulegają pękaniu i rozsychaniu.
                        </p>
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

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

    errorItems.forEach(function(item) {
        const headerTop = item.querySelector('.rk-err-item-top');
        
        headerTop.addEventListener('click', function() {
            // Sprawdzenie stanu klikniętego elementu bez operatora logicznego
            const isAlreadyActive = item.classList.contains('active');
            
            // Zwijamy wszystkie elementy
            errorItems.forEach(function(el) {
                el.classList.remove('active');
            });

            // Jeśli element nie był rozwinięty, nadajemy klasę active
            if (isAlreadyActive === false) {
                item.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-sci-dark: #0f172a;
    --rk-sci-blue: #0284c7;
    --rk-sci-light: #f8fafc;
    --rk-sci-border: #e2e8f0;
    --rk-sci-text: #475569;
    --rk-sci-accent: #0ea5e9;
    --rk-sci-gold: #b45309;
    --rk-sci-gold-bg: #fef3c7;
}

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

/* Nagłówek Sekcji Naukowej */
.rk-sci-header {
    background: linear-gradient(135deg, var(--rk-sci-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
}

.rk-sci-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.2);
    color: var(--rk-sci-accent);
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(14, 165, 233, 0.3);
}

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

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

/* Moduł Interaktywny - Pionowy Akordeon */
.rk-sci-app {
    padding: 40px 50px;
    background: var(--rk-sci-light);
}

.rk-sci-accordion {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-sci-item {
    background: #ffffff;
    border: 1px solid var(--rk-sci-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-sci-item:hover {
    border-color: #cbd5e1;
}

.rk-sci-item.active {
    border-color: var(--rk-sci-blue);
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.15);
}

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

.rk-sci-item.active .rk-sci-btn {
    background: #f0f9ff;
    border-bottom: 1px solid var(--rk-sci-border);
}

.rk-sci-btn-content {
    display: flex;
    align-items: center;
    gap: 20px;
}

.rk-sci-org-logo {
    width: 54px;
    height: 54px;
    background: var(--rk-sci-light);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 900;
    color: var(--rk-sci-blue);
    letter-spacing: 0.5px;
    border: 1px solid var(--rk-sci-border);
    flex-shrink: 0;
}

.rk-sci-item.active .rk-sci-org-logo {
    background: var(--rk-sci-blue);
    color: #ffffff;
    border-color: var(--rk-sci-blue);
}

.rk-sci-org-name {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-sci-dark);
    margin: 0 0 4px 0;
}

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

.rk-sci-toggle-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--rk-sci-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-sci-text);
    transition: all 0.4s ease;
    flex-shrink: 0;
}

.rk-sci-item.active .rk-sci-toggle-icon {
    background: var(--rk-sci-blue);
    color: #ffffff;
    transform: rotate(180deg);
}

/* Rozwijana Treść (Werdykt i Wytyczne) */
.rk-sci-content-wrap {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
}

.rk-sci-item.active .rk-sci-content-wrap {
    max-height: 800px;
    opacity: 1;
}

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

.rk-sci-insight {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.rk-sci-insight-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: var(--rk-sci-gold-bg);
    color: var(--rk-sci-gold);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
}

.rk-sci-insight-text {
    flex-grow: 1;
}

.rk-sci-insight-text h4 {
    margin: 0 0 8px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-sci-dark);
}

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

.rk-sci-insight-text a {
    color: var(--rk-sci-blue);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* RWD */
@media (max-width: 768px) {
    .rk-sci-header, .rk-sci-app { padding: 30px 20px; }
    .rk-sci-btn { padding: 15px; flex-direction: row; gap: 15px; }
    .rk-sci-btn-content { gap: 15px; }
    .rk-sci-org-logo { width: 44px; height: 44px; font-size: 11px; }
    .rk-sci-org-name { font-size: 16px; }
    .rk-sci-content-inner { padding: 20px; }
    .rk-sci-insight { flex-direction: column; gap: 10px; }
    .rk-sci-insight-icon { margin-top: 0; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-badania-naukowe",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Naukowe fundamenty projektowania ogrzewania podłogowego – wytyczne światowych instytutów",
    "description": "Przegląd stanowisk i wytycznych czołowych instytutów badawczych (PORT PC, Fraunhofer ISE, ASHRAE) dotyczących sprawności pomp ciepła i zdrowia.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-wytyczne",
    "name": "Zestawienie wytycznych międzynarodowych instytutów badawczych HVAC",
    "description": "Zbiór kluczowych zaleceń i norm dotyczących sprawności pomp ciepła oraz temperatur posadzek publikowanych przez organizacje takie jak Fraunhofer ISE, PORT PC, ASHRAE, EHPA i CIBSE.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wytyczne port pc pompy ciepła",
      "badania fraunhofer ise cop",
      "normy ashrae temperatura podłogi",
      "zalecenia ehpa instalacje grzewcze",
      "standardy rehva ogrzewanie"
    ],
    "measurementTechnique": "Kompilacja i analiza danych literaturowych oraz wytycznych inżynieryjnych międzynarodowych towarzystw naukowych z zakresu HVAC.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Fraunhofer ISE: Potwierdza drastyczny spadek wskaźnika SPF (sprawności sezonowej) przy podnoszeniu temperatury zasilania powyżej 35°C.",
        "PORT PC: Rekomenduje bezwzględne stosowanie obliczeń OZC doborowych w warunkach klimatycznych Polski.",
        "ASHRAE / REHVA: Definiują ścisłe ramy temperatury posadzki (do 29°C) w celu ochrony układu krążenia użytkowników."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-nauka",
    "name": "Eksplorator Bazy Wiedzy HVAC",
    "description": "Interaktywny panel edukacyjny zestawiający argumentację fizyczną i medyczną światowych organizacji na rzecz prawidłowego projektowania instalacji płaszczyznowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-sci-container" id="rk-interactive-science">
    
    <div class="rk-sci-header">
        <div class="rk-sci-badge">Fundament Inżynieryjny E-E-A-T</div>
        <h2>Nie wierz na słowo. Zobacz, co mówią światowe instytuty naukowe o instalacjach grzewczych.</h2>
        <p>Moja metodyka projektowania nie bierze się z powietrza. To twarde zastosowanie wiedzy, norm i wyników wieloletnich badań największych na świecie organizacji branżowych z sektora HVAC.</p>
    </div>

    <div class="rk-sci-app">
        <div class="rk-sci-accordion" id="rk-sci-wrapper">
            
            <!-- Instytut 1: Fraunhofer ISE -->
            <div class="rk-sci-item active">
                <button class="rk-sci-btn">
                    <div class="rk-sci-btn-content">
                        <div class="rk-sci-org-logo">FISE</div>
                        <div>
                            <h3 class="rk-sci-org-name">Fraunhofer ISE</h3>
                            <div class="rk-sci-org-scope">Niemiecki Instytut Badań nad Energią</div>
                        </div>
                    </div>
                    <div class="rk-sci-toggle-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-sci-content-wrap">
                    <div class="rk-sci-content-inner">
                        <div class="rk-sci-insight">
                            <div class="rk-sci-insight-icon">
                                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                            </div>
                            <div class="rk-sci-insight-text">
                                <h4>Sprawność sezonowa sprężarek (SPF)</h4>
                                <p>Raporty z testów terenowych pomp ciepła przeprowadzonych przez instytut Fraunhofera bezlitośnie udowadniają, że <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" target="_blank">pompa ciepła</a> zyskuje najwyższy współczynnik wydajności sezonowej wyłącznie w połączeniu z niskotemperaturowym systemem płaszczyznowym (zasilanie poniżej 35°C). Próby "przepychania" wyższej temperatury przez złą hydraulikę drastycznie podnoszą rachunki za prąd.</p>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Instytut 2: PORT PC -->
            <div class="rk-sci-item">
                <button class="rk-sci-btn">
                    <div class="rk-sci-btn-content">
                        <div class="rk-sci-org-logo">PORT</div>
                        <div>
                            <h3 class="rk-sci-org-name">PORT PC</h3>
                            <div class="rk-sci-org-scope">Polska Organizacja Rozwoju Technologii</div>
                        </div>
                    </div>
                    <div class="rk-sci-toggle-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-sci-content-wrap">
                    <div class="rk-sci-content-inner">
                        <div class="rk-sci-insight">
                            <div class="rk-sci-insight-icon">
                                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
                            </div>
                            <div class="rk-sci-insight-text">
                                <h4>Obligatoryjność precyzyjnych obliczeń w Polsce</h4>
                                <p>Zalecenia polskiej organizacji są jasne: każda nowoczesna inwestycja grzewcza wymaga rzetelnego bilansu. Szacowanie mocy źródła ciepła "na podstawie historycznych wskaźników z metrażu" to techniczny anachronizm, który prowadzi do katastrofalnego przewymiarowania, o czym stale przypominam wykonując certyfikowane, inżynieryjne OZC.</p>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Instytut 3: ASHRAE & REHVA -->
            <div class="rk-sci-item">
                <button class="rk-sci-btn">
                    <div class="rk-sci-btn-content">
                        <div class="rk-sci-org-logo">ASH</div>
                        <div>
                            <h3 class="rk-sci-org-name">ASHRAE / REHVA</h3>
                            <div class="rk-sci-org-scope">Międzynarodowe stowarzyszenia inżynierów i lekarzy</div>
                        </div>
                    </div>
                    <div class="rk-sci-toggle-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-sci-content-wrap">
                    <div class="rk-sci-content-inner">
                        <div class="rk-sci-insight">
                            <div class="rk-sci-insight-icon">
                                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"></path><line x1="7" y1="7" x2="7.01" y2="7"></line></svg>
                            </div>
                            <div class="rk-sci-insight-text">
                                <h4>Wpływ posadzki na układ krążenia</h4>
                                <p>Standardy wydane przez ASHRAE ściśle korespondują z naszą europejską normą PN-EN. Badania nad fizjologią człowieka jasno dowodzą, że pytanie <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/" target="_blank">czy ogrzewanie podłogowe jest zdrowe</a> zależy od projektanta. Zasilanie instalacji bez obliczeń i przegrzewanie stóp powyżej 29°C bezpośrednio obciąża układ żylny człowieka.</p>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Instytut 4: EHPA & CIBSE -->
            <div class="rk-sci-item">
                <button class="rk-sci-btn">
                    <div class="rk-sci-btn-content">
                        <div class="rk-sci-org-logo">EHP</div>
                        <div>
                            <h3 class="rk-sci-org-name">EHPA / CIBSE</h3>
                            <div class="rk-sci-org-scope">Wytyczne operacyjne dla systemów HVAC</div>
                        </div>
                    </div>
                    <div class="rk-sci-toggle-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-sci-content-wrap">
                    <div class="rk-sci-content-inner">
                        <div class="rk-sci-insight">
                            <div class="rk-sci-insight-icon">
                                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                            </div>
                            <div class="rk-sci-insight-text">
                                <h4>Stabilność hydrauliczna instalacji</h4>
                                <p>Europejskie Stowarzyszenie Pomp Ciepła (EHPA) ostrzega: nawet najlepsza jednostka grzewcza nie poradzi sobie z instalacją, która posiada błędy dławienia przepływu. Dlatego w moich projektach tak rygorystycznie przestrzegam <a href="https://projekt-ogrzewania.pl/jaka-jest-optymalna-temperatura-ogrzewania-podlogowego/" target="_blank">optymalnych temperatur</a> oraz długości pętli nieprzekraczających granicy oporu ciśnieniowego dla rotametrów.</p>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

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

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

    // Bezpieczny skrypt akordeonu bez używania operatorów &&
    items.forEach(function(item) {
        const btn = item.querySelector('.rk-sci-btn');
        
        btn.addEventListener('click', function() {
            const isAlreadyActive = item.classList.contains('active');
            
            // Zwijamy wszystkie elementy
            items.forEach(function(el) {
                el.classList.remove('active');
            });

            // Jeśli element nie był wcześniej aktywny, rozwiń go
            if (isAlreadyActive === false) {
                item.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-data-dark: #0f172a;
    --rk-data-blue: #0284c7;
    --rk-data-light: #f8fafc;
    --rk-data-border: #e2e8f0;
    --rk-data-text: #475569;
    --rk-data-accent: #38bdf8;
    --rk-data-green: #10b981;
    --rk-data-green-bg: #dcfce7;
    --rk-data-purple: #8b5cf6;
    --rk-data-purple-bg: #ede9fe;
}

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

/* Nagłówek Raportu */
.rk-data-header {
    background: linear-gradient(135deg, var(--rk-data-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
}

.rk-data-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(139, 92, 246, 0.2);
    color: #c4b5fd;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(139, 92, 246, 0.3);
}

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

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

/* Aplikacja - Główny Układ */
.rk-data-app {
    padding: 40px 50px;
    background: var(--rk-data-light);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Kafelki Nawigacyjne (Poziome na desktopie, pionowe na mobile) */
.rk-data-nav {
    display: flex;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid var(--rk-data-border);
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-data-btn {
    flex: 1;
    padding: 16px 15px;
    text-align: center;
    background: transparent;
    border: none;
    border-right: 1px solid var(--rk-data-border);
    border-bottom: 3px solid transparent;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-data-text);
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

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

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

.rk-data-btn.active {
    background: #ffffff;
    color: var(--rk-data-purple);
    border-bottom-color: var(--rk-data-purple);
}

.rk-data-btn-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-data-dark);
}

.rk-data-btn.active .rk-data-btn-val {
    color: var(--rk-data-purple);
}

/* Wyświetlacz Zawartości */
.rk-data-display {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid var(--rk-data-border);
    padding: 35px 40px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}

.rk-data-view {
    display: none;
    animation: fadeInData 0.4s ease forwards;
}

.rk-data-view.active {
    display: block;
}

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

/* Porównanie (Mit vs Rzeczywistość) */
.rk-data-compare {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 25px;
}

.rk-data-box {
    padding: 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-data-border);
}

.rk-data-box-myth {
    background: var(--rk-data-light);
}

.rk-data-box-fact {
    background: var(--rk-data-purple-bg);
    border-color: #c4b5fd;
}

.rk-data-box-label {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.rk-data-box-myth .rk-data-box-label {
    color: var(--rk-data-text);
}

.rk-data-box-fact .rk-data-box-label {
    color: var(--rk-data-purple);
}

.rk-data-box-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-data-dark);
    margin-bottom: 5px;
}

.rk-data-box-fact .rk-data-box-val {
    color: #5b21b6;
}

.rk-data-box-desc {
    font-size: 13px;
    color: var(--rk-data-text);
    line-height: 1.5;
}

/* Wniosek Inżynierski */
.rk-data-insight {
    padding-top: 20px;
    border-top: 1px solid var(--rk-data-border);
}

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

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

.rk-data-insight a {
    color: var(--rk-data-blue);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* RWD */
@media (max-width: 768px) {
    .rk-data-header, .rk-data-app { padding: 30px 20px; }
    .rk-data-nav { flex-direction: column; }
    .rk-data-btn { 
        flex-direction: row; 
        justify-content: space-between; 
        padding: 15px 20px; 
        border-right: none; 
        border-bottom: 1px solid var(--rk-data-border); 
        border-left: 4px solid transparent; 
    }
    .rk-data-btn:last-child { border-bottom: none; }
    .rk-data-btn.active { border-bottom-color: var(--rk-data-border); border-left-color: var(--rk-data-purple); }
    .rk-data-display { padding: 25px 20px; }
    .rk-data-compare { grid-template-columns: 1fr; gap: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-dane-statystyczne",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Własne dane z 642 projektów: Prawda o instalacjach w Polsce",
    "description": "Unikalny raport inżynieryjny obalający mity branżowe. Średnia długość pętli, realny COP i najczęstsze błędy instalatorów na podstawie danych z setek analiz OZC.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-statystyki",
    "name": "Statystyki projektowe instalacji płaszczyznowych w Polsce (Próba N=642)",
    "description": "Zestawienie empirycznych danych z 642 wyliczonych instalacji domów jednorodzinnych, obejmujące rzeczywisty rozstaw rur, długości obiegów, wydajności oraz błędy wykonawcze.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "średni rozstaw rur ogrzewania podłogowego",
      "średnia długość pętli podłogówki",
      "realny cop pompy ciepła podłogówka",
      "przewymiarowanie pompy ciepła statystyki",
      "błędy w instalacji c.o."
    ],
    "measurementTechnique": "Agregacja i uśrednienie danych z 642 zatwierdzonych projektów instalacyjnych i protokołów pomiarowych sporządzonych w latach 2022-2026.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Średni rozstaw rur wg OZC wynosi 12.5 cm, korygując mit o konieczności układania rur co 10 cm wszędzie.",
        "Średnia długość pętli grzewczej to 82 metry, co mieści się w bezpiecznej granicy hydraulicznej 100m.",
        "Najczęstszy błąd instalatorski to przewymiarowanie mocy pompy ciepła o średnio 35% z powodu braku obliczeń."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-statystyki",
    "name": "Eksplorator Danych Projektowych HVAC",
    "description": "Interaktywny raport porównujący obiegowe mity internetowe z twardymi danymi statystycznymi z polskiego rynku instalacyjnego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-data-container" id="rk-interactive-data">
    
    <div class="rk-data-header">
        <div class="rk-data-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"><line x1="18" y1="20" x2="18" y2="10"></line><line x1="12" y1="20" x2="12" y2="4"></line><line x1="6" y1="20" x2="6" y2="14"></line></svg>
            Raport Własny (N = 642)
        </div>
        <h2>Własne dane z 642 projektów: Prawda o instalacjach w Polsce</h2>
        <p>Internet pełen jest doradców i "ekspertów", którzy swoją wiedzę opierają na przypuszczeniach. Zamiast teoretyzować, przeanalizowałem bazę moich własnych projektów. Zobacz, jak obiegowe mity zderzają się z twardą, inżynieryjną matematyką.</p>
    </div>

    <div class="rk-data-app">
        
        <!-- Górna nawigacja (Pozioma na PC, Pionowa na Mobile) -->
        <div class="rk-data-nav">
            <button class="rk-data-btn active" data-report="rozstaw">
                Rozstaw rur
                <span class="rk-data-btn-val">12.5 cm</span>
            </button>
            <button class="rk-data-btn" data-report="petla">
                Długość pętli
                <span class="rk-data-btn-val">82 m</span>
            </button>
            <button class="rk-data-btn" data-report="cop">
                Realny COP
                <span class="rk-data-btn-val">4.3</span>
            </button>
            <button class="rk-data-btn" data-report="blad">
                Główny błąd
                <span class="rk-data-btn-val">+35%</span>
            </button>
        </div>

        <!-- Wyświetlacz główny -->
        <div class="rk-data-display">
            
            <!-- Widok 1: Rozstaw -->
            <div class="rk-data-view active" id="view-rozstaw">
                <div class="rk-data-compare">
                    <div class="rk-data-box rk-data-box-myth">
                        <div class="rk-data-box-label">
                            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                            Forumowy Mit
                        </div>
                        <div class="rk-data-box-val">Co 10 cm</div>
                        <div class="rk-data-box-desc">"Żeby było dobrze, na całym domu kładziemy gęsto, rurkę przy rurce, co dziesiątkę".</div>
                    </div>
                    <div class="rk-data-box rk-data-box-fact">
                        <div class="rk-data-box-label">
                            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Twarde Dane (Średnia)
                        </div>
                        <div class="rk-data-box-val">12.5 cm</div>
                        <div class="rk-data-box-desc">Dzięki projektom łączymy 10 cm pod oknami i luźniejsze 15 cm na środku pokoju.</div>
                    </div>
                </div>
                <div class="rk-data-insight">
                    <h4>Wniosek inżynierski:</h4>
                    <p>Zagęszczanie instalacji na całej powierzchni domu to marnotrawstwo. Jak pokazują <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" target="_blank">zasady ustalania rozstawu rur</a>, zróżnicowanie gęstości pozwala oszczędzić średnio 250 metrów rury na 150-metrowym budynku, zapewniając przy tym idealnie równomierną temperaturę posadzki.</p>
                </div>
            </div>

            <!-- Widok 2: Pętla -->
            <div class="rk-data-view" id="view-petla">
                <div class="rk-data-compare">
                    <div class="rk-data-box rk-data-box-myth">
                        <div class="rk-data-box-label">
                            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                            Ryzykowne podejście
                        </div>
                        <div class="rk-data-box-val">120 - 150 m</div>
                        <div class="rk-data-box-desc">Rolka rury PEX ma 200m, więc instalator rozwija ją w jednym kawałku, by zminimalizować odpady.</div>
                    </div>
                    <div class="rk-data-box rk-data-box-fact">
                        <div class="rk-data-box-label">
                            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Twarde Dane (Średnia)
                        </div>
                        <div class="rk-data-box-val">82 metry</div>
                        <div class="rk-data-box-desc">To uśredniona wartość z 642 moich autorskich wyliczeń oporów przepływu.</div>
                    </div>
                </div>
                <div class="rk-data-insight">
                    <h4>Wniosek inżynierski:</h4>
                    <p>Fizyki nie oszukasz. Przekroczenie <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/" target="_blank">maksymalnej długości pętli</a> wynoszącej 100 metrów doprowadzi do zablokowania przepływu wody. Wymuszam w projektach podział obiegów, co pozwala pompie obiegowej pracować bez wysiłku przy oporach rzędu bezpiecznych 16 kPa.</p>
                </div>
            </div>

            <!-- Widok 3: COP -->
            <div class="rk-data-view" id="view-cop">
                <div class="rk-data-compare">
                    <div class="rk-data-box rk-data-box-myth">
                        <div class="rk-data-box-label">
                            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                            Mit instalacji mieszanej
                        </div>
                        <div class="rk-data-box-val">COP ~ 3.2</div>
                        <div class="rk-data-box-desc">Grzejniki na piętrze wymuszają podniesienie temperatury zasilania do 45°C.</div>
                    </div>
                    <div class="rk-data-box rk-data-box-fact">
                        <div class="rk-data-box-label">
                            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Twarde Dane (Średnia)
                        </div>
                        <div class="rk-data-box-val">COP: 4.3</div>
                        <div class="rk-data-box-desc">Średnia efektywność w moich projektach przy zasilaniu instalacji niskotemperaturową wodą 35°C.</div>
                    </div>
                </div>
                <div class="rk-data-insight">
                    <h4>Wniosek inżynierski:</h4>
                    <p>Dane z setek audytów są bezlitosne – rezygnacja z grzejników na rzecz układu 100% podłogowego gwarantuje potężny skok wydajności pompy ciepła. Utrzymanie zasilania na poziomie 35°C i zastosowanie dedykowanego projektu pozwala zaoszczędzić około 30% na rachunkach w skali roku.</p>
                </div>
            </div>

            <!-- Widok 4: Błąd -->
            <div class="rk-data-view" id="view-blad">
                <div class="rk-data-compare">
                    <div class="rk-data-box rk-data-box-myth">
                        <div class="rk-data-box-label">
                            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                            Praktyka instalatorów
                        </div>
                        <div class="rk-data-box-val">Kocioł "na zapas"</div>
                        <div class="rk-data-box-desc">Sprzedawca celowo dobiera zawyżoną moc urządzenia, by mieć pewność, że w domu będzie ciepło.</div>
                    </div>
                    <div class="rk-data-box rk-data-box-fact">
                        <div class="rk-data-box-label">
                            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Skala Przewymiarowania
                        </div>
                        <div class="rk-data-box-val">+35% mocy</div>
                        <div class="rk-data-box-desc">Względem moich obliczeń normatywnych, aż 7 na 10 klientów otrzymało ofertę na za dużą pompę.</div>
                    </div>
                </div>
                <div class="rk-data-insight">
                    <h4>Wniosek inżynierski:</h4>
                    <p>To <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" target="_blank">najpoważniejszy błąd w branży</a>. Przewymiarowana pompa ciepła w okresach przejściowych (jesień/wiosna) produkuje zbyt dużo energii, co zmusza ją do wyłączania się po kilku minutach pracy (taktowanie). Kosztuje to inwestora tysiące złotych już przy samym zakupie, a potem mści się zniszczoną po 5 latach sprężarką.</p>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-data-btn');
    const views = document.querySelectorAll('.rk-data-view');

    // Bezpieczne przełączanie zakładek bez operatorów &&
    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            const targetId = 'view-' + this.getAttribute('data-report');
            
            // Usunięcie klas 'active' z przycisków
            btns.forEach(function(b) {
                b.classList.remove('active');
            });
            
            // Usunięcie klas 'active' z widoków
            views.forEach(function(v) {
                v.classList.remove('active');
            });
            
            // Aktywacja klikniętego elementu
            this.classList.add('active');
            const targetView = document.getElementById(targetId);
            
            if (targetView) {
                targetView.classList.add('active');
            }
        });
    });
});
</script>



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

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

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

.rk-case-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(2, 132, 199, 0.3);
    color: #38bdf8;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

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

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

/* Aplikacja - Główny układ pionowy (Stacked) */
.rk-case-app {
    padding: 40px 50px;
    background: var(--rk-case-light);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Karta Profilu Inwestora */
.rk-case-profile {
    background: #ffffff;
    border: 1px solid var(--rk-case-border);
    border-radius: 16px;
    padding: 25px 30px;
    display: flex;
    align-items: center;
    gap: 20px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-case-avatar {
    width: 60px;
    height: 60px;
    background: var(--rk-case-blue);
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 900;
    flex-shrink: 0;
}

.rk-case-profile-info h3 {
    margin: 0 0 5px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-case-dark);
}

.rk-case-profile-info p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-case-text);
}

/* Przełącznik decyzyjny */
.rk-case-toggle-box {
    display: flex;
    background: #ffffff;
    border: 1px solid var(--rk-case-border);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}

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

.rk-case-btn.active[data-view="amator"] {
    background: var(--rk-case-red);
    color: #ffffff;
}

.rk-case-btn.active[data-view="ekspert"] {
    background: var(--rk-case-green);
    color: #ffffff;
}

/* Siatka Porównawcza (Kafelki) */
.rk-case-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.rk-case-card {
    background: #ffffff;
    border: 2px solid var(--rk-case-border);
    border-radius: 16px;
    padding: 25px 20px;
    text-align: center;
    transition: all 0.4s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-case-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    transition: all 0.4s;
    background: var(--rk-case-light);
    color: var(--rk-case-blue);
}

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

.rk-case-param {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-case-dark);
    margin-bottom: 5px;
    transition: color 0.4s;
}

.rk-case-sub {
    font-size: 12px;
    color: var(--rk-case-text);
    line-height: 1.4;
}

/* Stany dynamiczne kafelków */
.view-ekspert .rk-case-card { border-color: #86efac; }
.view-ekspert .rk-case-icon { background: var(--rk-case-green-bg); color: var(--rk-case-green); }
.view-ekspert .rk-case-param { color: var(--rk-case-green); }

.view-amator .rk-case-card { border-color: #fca5a5; }
.view-amator .rk-case-icon { background: var(--rk-case-red-bg); color: var(--rk-case-red); }
.view-amator .rk-case-param { color: var(--rk-case-red); }

/* Podsumowanie eksperta z twarzą */
.rk-case-expert-box {
    background: #ffffff;
    border-radius: 16px;
    padding: 30px;
    border: 1px solid var(--rk-case-border);
    display: flex;
    gap: 25px;
    align-items: flex-start;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}

.rk-case-expert-photo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 3px solid var(--rk-case-blue);
    overflow: hidden;
    flex-shrink: 0;
}

.rk-case-expert-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

.rk-case-expert-text h4 span {
    color: var(--rk-case-blue);
    font-size: 14px;
    text-transform: uppercase;
    margin-left: 8px;
}

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

/* Sekcja opisowa (Story) */
.rk-case-desc {
    padding: 0 50px 40px;
    background: var(--rk-case-light);
}

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

.rk-case-desc a {
    color: var(--rk-case-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* RWD */
@media (max-width: 768px) {
    .rk-case-header, .rk-case-app, .rk-case-desc { padding: 30px 20px; }
    .rk-case-profile { flex-direction: column; text-align: center; }
    .rk-case-toggle-box { flex-direction: column; border-radius: 12px; }
    .rk-case-btn { padding: 15px; border-bottom: 1px solid var(--rk-case-border); }
    .rk-case-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-case-expert-box { flex-direction: column; align-items: center; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-case-study",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Case Study: Budowa domu 150m2 na Śląsku – Hydraulik vs Projekt Inżynieryjny",
    "description": "Historia Marka (38 lat). Analiza skrajnie rozbieżnych wycen instalatorów (7 kW vs 10 kW) i błędy starej szkoły układania rur ogrzewania podłogowego.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-case-study",
    "name": "Analiza porównawcza parametrów instalacji dom 150m2",
    "description": "Zestawienie parametrów technicznych proponowanych przez doradców z grup FB i instalatorów w kontrze do rzetelnych obliczeń OZC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rozbieżne wyceny ogrzewania podłogowego",
      "rozstaw rur przy oknach hs",
      "stara szkoła hydraulików",
      "zapotrzebowanie energetyczne budynku 150m2",
      "zagęszczanie rur w strefie brzegowej"
    ],
    "measurementTechnique": "Weryfikacja założeń wykonawczych poprzez inżynieryjne obliczenia strat cieplnych normą PN-EN.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Doradztwo FB/Hydraulik: Zapotrzebowanie 10 kW, rozstaw rur wszędzie 10 cm, brak stref brzegowych przy oknach HS.",
        "Inżynieria OZC: Zapotrzebowanie 7.2 kW, rozstaw rur 15 cm środek / 10 cm brzeg, wydzielone strefy przy oknach HS."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-case-study",
    "name": "Symulator Projektu: Wykonawca vs Inżynier",
    "description": "Interaktywny panel analizujący przypadek inwestorski. Pozwala sprawdzić różnice w ilości materiałów i doborze mocy w zależności od wybranego podejścia wykonawczego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-container" id="rk-interactive-case">
    <div class="rk-case-header">
        <div class="rk-case-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="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
            Case Study (Studium Przypadku)
        </div>
        <h2>Chaos na budowie. Hydraulicy vs Projekt OZC</h2>
        <p>Zobacz, jak brak twardych obliczeń naraża inwestora na drastyczne błędy, oraz jak interwencja inżyniera ratuje sytuację i budżet.</p>
    </div>

    <div class="rk-case-app" id="rk-case-wrapper">
        
        <div class="rk-case-profile">
            <div class="rk-case-avatar">M</div>
            <div class="rk-case-profile-info">
                <h3>Marek, 38 lat (Województwo Śląskie)</h3>
                <p>Buduje dom parterowy o pow. 150 m² z dużymi przeszkleniami (okna typu HS). Skontaktował się ze mną po otrzymaniu skrajnie rozbieżnych, wykluczających się wycen od lokalnych instalatorów.</p>
            </div>
        </div>

        <div class="rk-case-toggle-box">
            <button class="rk-case-btn active" data-view="amator">
                <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="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>
                Wizja doradców z Facebooka i Hydraulika
            </button>
            <button class="rk-case-btn" data-view="ekspert">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                Wizja oparta na projekcie OZC
            </button>
        </div>

        <div class="rk-case-grid">
            <div class="rk-case-card">
                <div class="rk-case-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                </div>
                <div class="rk-case-label">Zapotrzebowanie (Pompa)</div>
                <div class="rk-case-param" id="rk-param-power">Około 10 kW</div>
                <div class="rk-case-sub" id="rk-sub-power">Przewymiarowana moc.</div>
            </div>

            <div class="rk-case-card">
                <div class="rk-case-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path></svg>
                </div>
                <div class="rk-case-label">Gęstość układania rur</div>
                <div class="rk-case-param" id="rk-param-pipe">Wszędzie co 10 cm</div>
                <div class="rk-case-sub" id="rk-sub-pipe">Ogromne przepłacenie za materiał.</div>
            </div>

            <div class="rk-case-card">
                <div class="rk-case-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                </div>
                <div class="rk-case-label">Strefy przy oknach HS</div>
                <div class="rk-case-param" id="rk-param-zone">Brak wydzielenia</div>
                <div class="rk-case-sub" id="rk-sub-zone">Gwarancja ciągu zimnego powietrza.</div>
            </div>
        </div>

        <div class="rk-case-expert-box">
            <div class="rk-case-expert-photo">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski">
            </div>
            <div class="rk-case-expert-text">
                <h4 id="rk-exp-title">Diagnoza Roberta Kucharskiego <span>(Specjalista HVAC)</span></h4>
                <p id="rk-exp-desc">
                    Zaproponowano tu absurdalne rozwiązanie. Narzucenie rozstawu 10 cm w całym domu to tzw. "stara szkoła", dająca instalatorowi spokój, ale uderzająca w portfel inwestora (nadmiar rur, gigantyczne rozdzielacze). Co gorsza, przy tak wielkich oknach HS całkowicie zignorowano strefy brzegowe!
                </p>
            </div>
        </div>

    </div>

    <!-- Opis narracyjny SEO -->
    <div class="rk-case-desc">
        <p>Marek zwrócił się o pomoc, ponieważ wyceny oraz pomysły na układanie rur dostarczone przez lokalnych instalatorów i internetowych „doradców z Facebooka” były skrajnie rozbieżne. Ten sam dom, budowany według konkretnego projektu na Śląsku, potrafił mieć wyliczone <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" target="_blank">zapotrzebowanie energetyczne</a> na poziomie 7 kW u jednego wykonawcy, a u innego aż 10 kW.</p>
        
        <p>Największym błędem było podejście do hydrauliki. Hydraulicy chcieli układać instalację tzw. starą szkołą, która zakłada, że w każdym pomieszczeniu należy dać rozstaw rur co 10 cm – całkowicie w ciemno, bez liczenia, z lenistwa. Co gorsza, nikt z doradzających na forach nie wspomniał o potężnych przeszkleniach w salonie. Brak zmiany gęstości rur i brak <a href="https://projekt-ogrzewania.pl/salon-ile-petli-podlogowki/" target="_blank">wydzielenia stref brzegowych przy oknach HS</a> to murowana gwarancja, że zimą Marek czułby nieprzyjemny chłód „ciągnący” od szyby w stronę kanapy.</p>

        <p>Po wykonaniu profesjonalnego OZC okazało się, że budynek Marka z powodzeniem obsłuży pompa ciepła o mocy 7.2 kW. Przeprojektowaliśmy cały układ hydrauliczny: w środkowych strefach pokojów zastosowaliśmy luźniejszy rozstaw co 15 cm, a zaoszczędzony materiał przekierowaliśmy na zagęszczenie (strefy brzegowe) pod wielkimi oknami. Marek zyskał idealny rozkład temperatur i uciął zbędne koszty w hurtowni.</p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-case-btn');
    const wrapper = document.getElementById('rk-case-wrapper');
    
    // Pola danych kafelków
    const pPower = document.getElementById('rk-param-power');
    const sPower = document.getElementById('rk-sub-power');
    const pPipe = document.getElementById('rk-param-pipe');
    const sPipe = document.getElementById('rk-sub-pipe');
    const pZone = document.getElementById('rk-param-zone');
    const sZone = document.getElementById('rk-sub-zone');
    
    // Pola diagnozy eksperta
    const expTitle = document.getElementById('rk-exp-title');
    const expDesc = document.getElementById('rk-exp-desc');

    // Baza danych dla dwóch widoków (Bez operatorów &&)
    const caseData = {
        'amator': {
            powParam: 'Około 10 kW',
            powSub: 'Przewymiarowana moc wg szacunków "z metra".',
            pipeParam: 'Wszędzie co 10 cm',
            pipeSub: 'Ogromne przepłacenie za rury i duże rozdzielacze.',
            zoneParam: 'Brak wydzielenia',
            zoneSub: 'Gwarancja nieprzyjemnego ciągu zimna od okien tarasowych.',
            titleHtml: 'Diagnoza Roberta Kucharskiego <span>(Inżynier HVAC)</span>',
            desc: 'Zaproponowano tu absurdalne rozwiązanie. Narzucenie rozstawu 10 cm w całym domu to tzw. "stara szkoła", dająca instalatorowi fałszywy spokój, ale uderzająca w portfel inwestora. Zignorowanie fizyki dużych okien HS to absolutny błąd wykonawczy.',
            cssClass: 'view-amator'
        },
        'ekspert': {
            powParam: 'Dokładnie 7.2 kW',
            powSub: 'Wyliczone na podstawie certyfikowanego OZC.',
            pipeParam: 'Strefowo (15 i 10 cm)',
            pipeSub: 'Optymalizacja materiału bez utraty temperatury.',
            zoneParam: 'Gęsta strefa (co 5-10 cm)',
            zoneSub: 'Zbudowanie kurtyny cieplnej blokującej chłód szyb.',
            titleHtml: 'Rozwiązanie Projekt-Ogrzewania.pl <span>(OZC)</span>',
            desc: 'Precyzyjnie przeliczyliśmy każdy pokój Marka. Zaoszczędzoną na środku salonu rurę z przenieśliśmy pod okna HS, tworząc barierę cieplną. Zastosowanie mniejszej, tańszej pompy ciepła o mocy 7.2 kW zabezpieczyło ją przed wyniszczającym taktowaniem.',
            cssClass: 'view-ekspert'
        }
    };

    function updateCaseView(mode) {
        const data = caseData[mode];
        
        // Zmiana tekstów kafelków
        pPower.innerText = data.powParam;
        sPower.innerText = data.powSub;
        pPipe.innerText = data.pipeParam;
        sPipe.innerText = data.pipeSub;
        pZone.innerText = data.zoneParam;
        sZone.innerText = data.zoneSub;
        
        // Zmiana panelu eksperta
        expTitle.innerHTML = data.titleHtml;
        expDesc.innerText = data.desc;

        // Bezpieczne przełączanie klas kolorystycznych
        wrapper.classList.remove('view-amator');
        wrapper.classList.remove('view-ekspert');
        wrapper.classList.add(data.cssClass);
    }

    // Obsługa zdarzeń
    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Czyszczenie aktywnych przycisków
            btns.forEach(function(b) {
                b.classList.remove('active');
            });
            // Aktywacja klikniętego
            this.classList.add('active');
            
            const mode = this.getAttribute('data-view');
            updateCaseView(mode);
        });
    });

    // Uruchomienie domyślne (Stan Amator jako wyjściowy do szokowania)
    updateCaseView('amator');
    wrapper.classList.add('view-amator');
});
</script>



<style>
:root {
    --rk-exp-dark: #0f172a;
    --rk-exp-blue: #0284c7;
    --rk-exp-light: #f8fafc;
    --rk-exp-border: #e2e8f0;
    --rk-exp-text: #475569;
    --rk-exp-gold: #b45309;
    --rk-exp-gold-bg: #fef3c7;
}

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

/* Właściwy nagłówek SEO */
.rk-exp-header-seo {
    background: var(--rk-exp-light);
    padding: 30px 40px 0;
}

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

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

/* Układ główny Panelu */
.rk-exp-layout {
    display: grid;
    grid-template-columns: 320px 1fr;
    background: #ffffff;
}

/* Lewa Kolumna: Zdjęcie i Social Media */
.rk-exp-profile {
    padding: 40px;
    background: var(--rk-exp-light);
    border-right: 1px solid var(--rk-exp-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-exp-photo-wrap {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    overflow: hidden;
    margin-bottom: 20px;
    background: #e2e8f0;
}

.rk-exp-photo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

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

.rk-exp-role {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-exp-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 25px;
}

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

.rk-exp-social-link {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid var(--rk-exp-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-exp-text);
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s; /* Zwykłe przejście kolorów, zero animacji ruchowych */
}

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

/* Prawa Kolumna: Interaktywne Zakładki */
.rk-exp-content-area {
    display: flex;
    flex-direction: column;
}

.rk-exp-tabs {
    display: flex;
    border-bottom: 1px solid var(--rk-exp-border);
    background: #ffffff;
}

.rk-exp-tab-btn {
    flex: 1;
    padding: 20px 15px;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-exp-text);
    cursor: pointer;
    transition: color 0.2s, background-color 0.2s;
}

.rk-exp-tab-btn.active {
    color: var(--rk-exp-blue);
    border-bottom-color: var(--rk-exp-blue);
    background: #f0f9ff;
}

.rk-exp-tab-btn:hover {
    background: #f8fafc;
}

/* Wyświetlane panele tekstowe */
.rk-exp-panel {
    padding: 35px 40px;
    display: none;
}

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

/* Zawartość zakładki "Moja Rekomendacja" */
.rk-exp-quote-mark {
    font-size: 60px;
    color: var(--rk-exp-border);
    line-height: 0.5;
    font-family: Georgia, serif;
    margin-bottom: 15px;
}

.rk-exp-quote-text {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-exp-dark);
    font-weight: 500;
    margin: 0 0 20px 0;
}

.rk-exp-quote-text strong {
    color: var(--rk-exp-blue);
}

.rk-exp-quote-text a {
    color: var(--rk-exp-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Zawartość zakładki "Dlaczego ja" (E-E-A-T) */
.rk-exp-trust-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
}

.rk-exp-trust-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 15px;
    background: var(--rk-exp-light);
    border: 1px solid var(--rk-exp-border);
    border-radius: 12px;
}

.rk-exp-trust-icon {
    width: 36px;
    height: 36px;
    background: var(--rk-exp-gold-bg);
    color: var(--rk-exp-gold);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-exp-trust-text h4 {
    margin: 0 0 5px 0;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-exp-dark);
}

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

/* RWD */
@media (max-width: 768px) {
    .rk-exp-header-seo { padding: 25px 20px 0; }
    .rk-exp-layout { grid-template-columns: 1fr; }
    .rk-exp-profile { border-right: none; border-bottom: 1px solid var(--rk-exp-border); padding: 30px 20px; }
    .rk-exp-panel { padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-podsumowanie-eksperta",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Podsumowanie: Projekt instalacji grzewczej okiem Roberta Kucharskiego",
    "description": "Eksperckie podsumowanie Roberta Kucharskiego. Dlaczego rzetelne OZC i przemyślana hydraulika to jedyna droga do bezpiecznej instalacji grzewczej.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "Inżynier HVAC & CEO Projekt-Ogrzewania.pl",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-wskazniki-jakosci",
    "name": "Wskaźniki jakościowe projektów HVAC",
    "description": "Zestawienie autorskich wskaźników inżynieryjnych gwarantujących poprawność funkcjonowania niskotemperaturowych instalacji grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podsumowanie projektu instalacji grzewczej",
      "rekomendacja inżyniera hvac",
      "robert kucharski projekt ogrzewania",
      "certyfikowane obliczenia ozc",
      "jakość instalacji podłogowej"
    ],
    "measurementTechnique": "Ewaluacja efektywności instalacyjnej oparta na doświadczeniu z ponad 1000 wdrożonych i opomiarowanych projektów w Polsce.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Eliminacja przewymiarowania: OZC redukuje błąd doboru pompy ciepła do zera.",
        "Balans hydrauliczny: Odpowiednie rozbicie pętli (max 100m) zapewnia pełny przepływ.",
        "Doświadczenie autora: Ponad 1000 zrealizowanych projektów w oparciu o normy PN-EN."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-ekspert",
    "name": "Ekspercki Panel Weryfikacji Inwestycji",
    "description": "Interaktywna karta autorytetu pozwalająca czytelnikowi na przegląd rekomendacji inżynieryjnych oraz weryfikację twardych kompetencji i doświadczenia autora (E-E-A-T).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-exp-container" id="rk-interactive-expert">
    
    <div class="rk-exp-header-seo">
        <h2>Podsumowanie: Projekt instalacji grzewczej okiem Roberta Kucharskiego.</h2>
        <p>Decyzje podjęte na etapie papierowym definiują Twoje rachunki na dekady.</p>
    </div>

    <div class="rk-exp-layout">
        
        <!-- Lewa strona - Autorytet (Zdjęcie + Sociale) -->
        <div class="rk-exp-profile">
            <div class="rk-exp-photo-wrap">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Główny inżynier Projekt-Ogrzewania.pl">
            </div>
            <h3 class="rk-exp-name">Robert Kucharski</h3>
            <div class="rk-exp-role">Ekspert HVAC / CEO</div>
            
            <div class="rk-exp-socials">
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-exp-social-link" aria-label="Profil LinkedIn">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
                </a>
                <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-exp-social-link" aria-label="Profil Facebook">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                </a>
                <a href="https://x.com/Projekt_HVAC" target="_blank" rel="noopener noreferrer" class="rk-exp-social-link" aria-label="Profil X (Twitter)">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4l11.733 16h4.267l-11.733 -16z"></path><path d="M4 20l6.768 -6.768m2.46 -2.46l6.772 -6.772"></path></svg>
                </a>
            </div>
        </div>

        <!-- Prawa strona - Interaktywny Content -->
        <div class="rk-exp-content-area">
            
            <div class="rk-exp-tabs">
                <button class="rk-exp-tab-btn active" data-target="rk-panel-verdict">Werdykt Eksperta</button>
                <button class="rk-exp-tab-btn" data-target="rk-panel-proof">Dlaczego warto mi zaufać?</button>
            </div>

            <!-- Panel 1: Werdykt (Domyślny) -->
            <div class="rk-exp-panel active" id="rk-panel-verdict">
                <div class="rk-exp-quote-mark">"</div>
                <p class="rk-exp-quote-text">
                    Nigdy nie ukrywałem, że <strong>projekt instalacji grzewczej to inwestycja o najwyższej stopie zwrotu</strong> podczas całej budowy domu. Inwestorzy latami spłacają kredyty za pompy ciepła zniszczone przez taktowanie i płacą ogromne rachunki za prąd tylko dlatego, że chcieli zaoszczędzić kilkaset złotych na weryfikacji inżynieryjnej.
                </p>
                <p class="rk-exp-quote-text">
                    Twarde <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" target="_blank">obliczenia OZC</a> to nie tylko cyferki. To tarcza, która chroni Twój budżet przed radosną twórczością wykonawców instalujących systemy „bo tak się robiło od zawsze”. Buduj z głową, projektuj na danych.
                </p>
            </div>

            <!-- Panel 2: E-E-A-T Dowód (Ukryty) -->
            <div class="rk-exp-panel" id="rk-panel-proof">
                <div class="rk-exp-trust-grid">
                    
                    <div class="rk-exp-trust-item">
                        <div class="rk-exp-trust-icon">
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                        </div>
                        <div class="rk-exp-trust-text">
                            <h4>Praca na twardych normach</h4>
                            <p>Nie wróżę z metrażu. Każdy projekt opieram wyłącznie na certyfikowanych normach PN-EN 12831 oraz PN-EN 1264.</p>
                        </div>
                    </div>
                    
                    <div class="rk-exp-trust-item">
                        <div class="rk-exp-trust-icon">
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        </div>
                        <div class="rk-exp-trust-text">
                            <h4>Ponad 1000 zrealizowanych projektów</h4>
                            <p>Przez lata stworzyłem dokumentacje dla domów jednorodzinnych w każdym polskim województwie, eliminując błędy rzędu kilkudziesięciu tysięcy złotych na pojedynczej inwestycji.</p>
                        </div>
                    </div>
                    
                    <div class="rk-exp-trust-item">
                        <div class="rk-exp-trust-icon">
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><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></svg>
                        </div>
                        <div class="rk-exp-trust-text">
                            <h4>CEO Projekt-Ogrzewania.pl</h4>
                            <p>Jako założyciel portalu edukuję inwestorów i obalam budowlane mity, dając im wiedzę potrzebną do świadomego nadzoru nad własną budową.</p>
                        </div>
                    </div>

                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabBtns = document.querySelectorAll('.rk-exp-tab-btn');
    const panels = document.querySelectorAll('.rk-exp-panel');

    // Bezpieczna logika zmiany zakładek (bez użycia znaków pokroju '&&')
    tabBtns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            const targetId = this.getAttribute('data-target');
            
            // Usunięcie klas 'active' z przycisków
            tabBtns.forEach(function(b) {
                b.classList.remove('active');
            });
            
            // Usunięcie klas 'active' z paneli
            panels.forEach(function(p) {
                p.classList.remove('active');
            });
            
            // Nadanie aktywności klikniętemu elementowi
            this.classList.add('active');
            
            // Wyświetlenie odpowiedniego panelu
            const targetPanel = document.getElementById(targetId);
            if (targetPanel) {
                targetPanel.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-faq-dark: #1e293b;
    --rk-faq-blue: #0284c7;
    --rk-faq-blue-light: #e0f2fe;
    --rk-faq-gray: #f8fafc;
    --rk-faq-text: #475569;
    --rk-faq-border: #e2e8f0;
    --rk-faq-accent: #38bdf8;
}

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

/* Nagłówek FAQ */
.rk-faq-top {
    background: linear-gradient(to right, var(--rk-faq-gray), #ffffff);
    padding: 40px 50px;
    border-bottom: 1px solid var(--rk-faq-border);
    display: flex;
    align-items: center;
    gap: 20px;
}

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

.rk-faq-title-area h2 {
    margin: 0 0 5px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-faq-dark);
}

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

/* Lista Akordeonu */
.rk-faq-list {
    padding: 20px 50px 40px;
}

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

.rk-faq-item:hover {
    border-color: var(--rk-faq-accent);
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.05);
}

.rk-faq-item.active {
    border-color: var(--rk-faq-blue);
    box-shadow: 0 8px 20px -5px rgba(2, 132, 199, 0.1);
}

.rk-faq-header {
    padding: 20px 25px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

.rk-faq-header h3 {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: var(--rk-faq-dark);
    line-height: 1.4;
    transition: color 0.3s;
}

.rk-faq-item.active .rk-faq-header h3 {
    color: var(--rk-faq-blue);
}

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

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

/* Zawartość (Odpowiedź) */
.rk-faq-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), padding 0.4s ease;
    padding: 0 25px;
    opacity: 0;
}

.rk-faq-item.active .rk-faq-content {
    max-height: 500px; /* Wystarczająco dużo na tekst, chroni przed obcinaniem */
    padding: 0 25px 25px;
    opacity: 1;
}

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

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

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

/* RWD - Mobile */
@media (max-width: 768px) {
    .rk-faq-top { padding: 30px 20px; flex-direction: column; text-align: center; }
    .rk-faq-list { padding: 15px 20px 30px; }
    .rk-faq-header { padding: 15px 20px; }
    .rk-faq-header h3 { font-size: 15px; }
    .rk-faq-item.active .rk-faq-content { padding: 0 20px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Często zadawane pytania (FAQ) - Ogrzewanie podłogowe",
    "description": "Techniczne odpowiedzi na najczęstsze pytania inwestorów dotyczące m m.in. paneli na podłogówkę, pomp ciepła, rodzajów pętli grzewczych i czasu nagrzewania jastrychu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy pod ogrzewanie podłogowe można kłaść panele podłogowe lub deski drewniane?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, pod warunkiem wyboru paneli/desek z oznaczeniem producenta o przydatności do ogrzewania podłogowego, przy oporze cieplnym całego systemu posadzkowego R <= 0,15 m²K/W. Zaleca się klejenie desek do podłoża w celu wyeliminowania poduszki powietrznej izolującej ciepło."
        }
      },
      {
        "@type": "Question",
        "name": "Czy pompa ciepła poradzi sobie z ogrzewaniem domu bez grzejników?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, pompa ciepła osięga najwyższą sprawność eksploatacyjną (SCOP) właśnie w połączeniu z niskotemperaturowym wodnym ogrzewaniem podłogowym (30-35°C). Całkowita rezygnacja z grzejników na rzecz podłogówki obniża rachunki za prąd o 20-30%."
        }
      },
      {
        "@type": "Question",
        "name": "Co jest lepsze: układ ślimakowy czy meandrowy?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "W zdecydowanej większości pomieszczeń lepszym wyborem jest układ ślimakowy, ponieważ zapewnia równomierny rozkład temperatur (rura zasilająca biegnie naprzemiennie z powrotną). Układ meandrowy stosuje się głównie w strefach brzegowych o dużym zapotrzebowaniu na moc lub na płaszczyznach o dużym nachyleniu."
        }
      },
      {
        "@type": "Question",
        "name": "Czy ogrzewanie podłogowe można podłączyć do istniejącego kotła gazowego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, kotły gazowe kondensacyjne osiągają najwyższą sprawność (nawet 108% w odniesieniu do wartości opałowej) przy niskich temperaturach powrotu wody (< 30°C), co idealnie wpisuje się w charakterystykę pracy ogrzewania podłogowego."
        }
      },
      {
        "@type": "Question",
        "name": "Ile czasu nagrzewa się wylewka betonowa na podłogówce?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Standardowa wylewka cementowa o grubości 6 cm potrzebuje od 2 do 4 godzin na odczuwalne podniesienie temperatury w pomieszczeniu, podczas gdy jastrych anhydrytowy ze względu na wyższą przewodność cieplną reaguje w czasie 1 do 2 godzin."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-faq",
    "name": "Zestawienie parametrów eksploatacyjnych ogrzewania podłogowego",
    "description": "Techniczne wytyczne dotyczące oporów cieplnych posadzek, układów rur i czasów bezwładności termicznej jastrychów.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "panele na ogrzewanie podłogowe opór cieplny",
      "pompa ciepła bez grzejników koszty",
      "układ ślimakowy czy meandrowy podłogówki",
      "kocioł gazowy kondensacyjny z podłogówką",
      "czas nagrzewania jastrychu betonowego"
    ],
    "measurementTechnique": "Weryfikacja parametrów z normami budowlanymi dotyczącymi oporu przenikania ciepła i sprawności urządzeń.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Opór cieplny systemu posadzkowego: R <= 0,15 m²K/W",
        "Temperatura zasilania pompy ciepła: 30-35°C",
        "Czas reakcji termicznej: Anhydryt 1-2h, Cement 2-4h"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-faq",
    "name": "Ekspercki Asystent FAQ HVAC",
    "description": "Interaktywny moduł zapytań i odpowiedzi rozwiązujący najpopularniejsze dylematy techniczne inwestorów budujących systemy podłogowe.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-container" id="rk-interactive-faq">
    <div class="rk-faq-top">
        <div class="rk-faq-icon-wrapper">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <circle cx="12" cy="12" r="10"></circle>
                <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
                <line x1="12" y1="17" x2="12.01" y2="17"></line>
            </svg>
        </div>
        <div class="rk-faq-title-area">
            <h2>Często zadawane pytania (FAQ)</h2>
            <p>Techniczne dylematy inwestorów wyjaśnione inżynierskim okiem.</p>
        </div>
    </div>

    <div class="rk-faq-list">
        
        <!-- Pytanie 1 -->
        <div class="rk-faq-item">
            <div class="rk-faq-header">
                <h3>Czy pod ogrzewanie podłogowe można kłaść panele podłogowe lub deski drewniane?</h3>
                <div class="rk-faq-toggle-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-content">
                <div class="rk-faq-answer">
                    Tak, pod warunkiem wyboru paneli/desek z oznaczeniem producenta o przydatności do ogrzewania podłogowego, przy oporze cieplnym całego systemu posadzkowego <strong>R <= 0,15 m²K/W</strong>. Zaleca się <a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/" target="_blank">klejenie paneli lub desek do podłoża</a> w celu wyeliminowania poduszki powietrznej, która działa jak izolator blokujący oddawanie ciepła do pomieszczenia.
                </div>
            </div>
        </div>

        <!-- Pytanie 2 -->
        <div class="rk-faq-item">
            <div class="rk-faq-header">
                <h3>Czy pompa ciepła poradzi sobie z ogrzewaniem domu bez grzejników?</h3>
                <div class="rk-faq-toggle-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-content">
                <div class="rk-faq-answer">
                    Tak, pompa ciepła osiąga najwyższą sprawność eksploatacyjną (SCOP) właśnie w połączeniu z niskotemperaturowym wodnym ogrzewaniem podłogowym pracującym na parametrach zasilania <strong>30-35°C</strong>. Całkowita rezygnacja z kaloryferów na rzecz płaszczyznowego układu <a href="https://projekt-ogrzewania.pl/czy-pompa-ciepla-ogrzeje-dom-z-podlogowka/" target="_blank">drastycznie obniża rachunki za prąd</a> o 20-30%, ponieważ sprężarka musi wykonać znacznie mniej pracy.
                </div>
            </div>
        </div>

        <!-- Pytanie 3 -->
        <div class="rk-faq-item">
            <div class="rk-faq-header">
                <h3>Co jest lepsze: układ ślimakowy czy meandrowy?</h3>
                <div class="rk-faq-toggle-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-content">
                <div class="rk-faq-answer">
                    W zdecydowanej większości pomieszczeń domowych najlepszym wyborem jest <a href="https://projekt-ogrzewania.pl/jak-ukladac-rury-w-ogrzewaniu-slimak-meander-czy-podwojny-meander/" target="_blank">układ ślimakowy</a>. Zapewnia on równomierny rozkład temperatur na posadzce (ponieważ rura zasilająca i powrotna ułożone są naprzemiennie). Układ meandrowy stosuje się dziś niemal wyłącznie w strefach brzegowych (np. przy dużych oknach tarasowych) w celu skumulowania wysokiej mocy grzewczej.
                </div>
            </div>
        </div>

        <!-- Pytanie 4 -->
        <div class="rk-faq-item">
            <div class="rk-faq-header">
                <h3>Czy ogrzewanie podłogowe można podłączyć do istniejącego kotła gazowego?</h3>
                <div class="rk-faq-toggle-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-content">
                <div class="rk-faq-answer">
                    Tak. Nowoczesne <a href="https://projekt-ogrzewania.pl/kociol-gazowy/" target="_blank">kondensacyjne kotły gazowe</a> uzyskują maksymalną sprawność zjawiska kondensacji (nawet 108% w odniesieniu do wartości opałowej paliwa) tylko wtedy, gdy woda wracająca z instalacji ma temperaturę poniżej 30°C. Oznacza to, że podłogówka tworzy z piecem kondensacyjnym wręcz idealny, wysoce energooszczędny układ.
                </div>
            </div>
        </div>

        <!-- Pytanie 5 -->
        <div class="rk-faq-item">
            <div class="rk-faq-header">
                <h3>Ile czasu nagrzewa się wylewka betonowa na podłogówce?</h3>
                <div class="rk-faq-toggle-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-content">
                <div class="rk-faq-answer">
                    Zależy to od rodzaju jastrychu i tzw. bezwładności cieplnej. Tradycyjna <a href="https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/" target="_blank">wylewka cementowa</a> o rygorystycznej grubości 6 cm potrzebuje około 2 do 4 godzin na odczuwalne przekazanie ciepła do wnętrza. Z kolei nowoczesny jastrych anhydrytowy charakteryzuje się wyższą przewodnością cieplną, reagując znacznie szybciej – często już po 1 do 2 godzin od włączenia kotła.
                </div>
            </div>
        </div>

    </div>
</div>

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

    faqItems.forEach(function(item) {
        const header = item.querySelector('.rk-faq-header');
        
        header.addEventListener('click', function() {
            // Sprawdzenie czy obecny kliknięty jest już otwarty (bez użycia operatora "&&")
            const isAlreadyActive = item.classList.contains('active');
            
            // Zamykamy wszystkie aktywne akordeony
            faqItems.forEach(function(el) {
                el.classList.remove('active');
            });

            // Jeśli ten, który kliknęliśmy, nie był otwarty - otwieramy go
            if (isAlreadyActive === false) {
                item.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-blue: #0284c7;
    --rk-dl-light: #f8fafc;
    --rk-dl-border: #e2e8f0;
    --rk-dl-text: #475569;
    --rk-dl-accent: #38bdf8;
    --rk-dl-gray-bg: #f1f5f9;
}

.rk-dl-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05);
    border: 1px solid var(--rk-dl-border);
    overflow: hidden;
}

/* Nagłówek Sekcji Pobierania */
.rk-dl-header {
    background: var(--rk-dl-dark);
    padding: 35px 40px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dl-blue);
}

.rk-dl-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(2, 132, 199, 0.3);
    color: var(--rk-dl-accent);
    padding: 6px 14px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

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

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

/* Główny układ (Desktop: 2 kolumny, Mobile: 1 kolumna) */
.rk-dl-body {
    display: grid;
    grid-template-columns: 350px 1fr;
    background: #ffffff;
}

/* Lewa Kolumna: Miniatura */
.rk-dl-preview-side {
    background: var(--rk-dl-gray-bg);
    padding: 30px;
    border-right: 1px solid var(--rk-dl-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.rk-dl-thumbnail {
    width: 100%;
    max-width: 280px;
    background: #ffffff;
    border: 1px solid var(--rk-dl-border);
    border-radius: 8px;
    padding: 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.rk-dl-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

.rk-dl-format-tags {
    display: flex;
    gap: 10px;
    margin-top: 15px;
}

.rk-dl-tag {
    background: #ffffff;
    border: 1px solid var(--rk-dl-border);
    color: var(--rk-dl-text);
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 800;
    border-radius: 4px;
}

/* Prawa Kolumna: Informacje i Przyciski */
.rk-dl-content-side {
    padding: 35px 40px;
    display: flex;
    flex-direction: column;
}

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

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

/* Lista parametrów pliku */
.rk-dl-meta-list {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-dl-meta-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: var(--rk-dl-dark);
    font-weight: 600;
}

.rk-dl-meta-icon {
    color: var(--rk-dl-blue);
    flex-shrink: 0;
}

/* Przyciski Pobierania */
.rk-dl-actions {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-dl-btn-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--rk-dl-blue);
    color: #ffffff;
    font-size: 15px;
    font-weight: 800;
    padding: 16px 24px;
    border-radius: 8px;
    text-decoration: none;
    border: 2px solid var(--rk-dl-blue);
    flex: 1;
    text-align: center;
}

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

.rk-dl-btn-secondary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: transparent;
    color: var(--rk-dl-dark);
    font-size: 15px;
    font-weight: 800;
    padding: 16px 24px;
    border-radius: 8px;
    text-decoration: none;
    border: 2px solid var(--rk-dl-border);
    flex: 1;
    text-align: center;
}

.rk-dl-btn-secondary:hover {
    background: var(--rk-dl-gray-bg);
    border-color: #cbd5e1;
}

/* Prawa autorskie */
.rk-dl-copyright {
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid var(--rk-dl-border);
    font-size: 12px;
    color: #64748b;
    line-height: 1.5;
}

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

/* RWD - Urządzenia Mobilne */
@media (max-width: 768px) {
    .rk-dl-header { padding: 25px 20px; }
    .rk-dl-body { grid-template-columns: 1fr; }
    .rk-dl-preview-side { border-right: none; border-bottom: 1px solid var(--rk-dl-border); padding: 20px; }
    .rk-dl-content-side { padding: 25px 20px; }
    .rk-dl-meta-list { grid-template-columns: 1fr; }
    .rk-dl-actions { flex-direction: column; }
    .rk-dl-btn-primary, .rk-dl-btn-secondary { width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Pobierz darmową infografikę: Kompletny proces projektowania instalacji grzewczej",
    "description": "Zestawienie twardych danych i procesu projektowego w formie inżynieryjnej infografiki. Dostępne formaty WebP i wysokiej rozdzielczości PDF gotowy do druku.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Projekt-instalacji-grzewczej-domu-jednorodzinnego.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset-infografika",
    "name": "Infografika techniczna: Schemat i parametry ogrzewania podłogowego",
    "description": "Wizualne zestawienie parametrów hydraulicznych, wytycznych normowych OZC oraz schematu optymalnego projektowania instalacji płaszczyznowych domu jednorodzinnego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe",
      "projekt instalacji grzewczej pdf",
      "schemat podłogówki do pobrania",
      "obliczenia ozc schemat",
      "parametry hydrauliczne ściągawka"
    ],
    "measurementTechnique": "Kompilacja kluczowych wytycznych inżynieryjnych w formacie graficznym i wektorowym.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Format pliku 1: Dokument wektorowy PDF (skalowany, idealny do druku).",
        "Format pliku 2: Grafika rastrowa WebP (lekki plik zoptymalizowany pod urządzenia mobilne).",
        "Prawa autorskie: Zastrzeżone, zezwolenie na dystrybucję wyłącznie w oryginalnej formie."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp-infografika",
    "name": "Centrum Pobierania Zasobów Inżynieryjnych",
    "description": "Panel umożliwiający bezpieczne pobranie cyfrowych materiałów edukacyjnych (w formacie PDF oraz WebP) z zakresu inżynierii instalacyjnej.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="rk-download-center">
    
    <!-- Nagłówek Sekcji -->
    <div class="rk-dl-header">
        <div class="rk-dl-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="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
            Materiały do pobrania
        </div>
        <h2>Infografika: Projekt instalacji grzewczej domu w pigułce</h2>
        <p>Zabrałeś z tego artykułu dużo wiedzy. Przygotowałem dla Ciebie wygodne, graficzne podsumowanie procesu projektowego i kluczowych parametrów technicznych. Zapisz plik na telefonie lub wydrukuj przed spotkaniem z hydraulikiem.</p>
    </div>

    <!-- Układ 2 Kolumny -->
    <div class="rk-dl-body">
        
        <!-- Lewa strona - Miniatura -->
        <div class="rk-dl-preview-side">
            <div class="rk-dl-thumbnail">
                <!-- Miniatura ładuje plik WebP dostarczony w wytycznych -->
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Projekt-instalacji-grzewczej-domu-jednorodzinnego.webp" alt="Miniatura infografiki: Projekt instalacji grzewczej domu jednorodzinnego">
            </div>
            <div class="rk-dl-format-tags">
                <span class="rk-dl-tag">Plik PDF</span>
                <span class="rk-dl-tag">Plik WEBP</span>
            </div>
        </div>

        <!-- Prawa strona - Opis i Akcje -->
        <div class="rk-dl-content-side">
            <h3>Ściągawka świadomego inwestora</h3>
            <p class="rk-dl-description">W pliku znajdziesz zbiór twardych wytycznych, o które musisz zapytać swojego wykonawcę. Dokument dostępny jest w wysokiej rozdzielczości (PDF do wydruku) oraz jako lekka grafika (WebP na smartfona).</p>
            
            <ul class="rk-dl-meta-list">
                <li class="rk-dl-meta-item">
                    <svg class="rk-dl-meta-icon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                    <span>Format: PDF / Wektor</span>
                </li>
                <li class="rk-dl-meta-item">
                    <svg class="rk-dl-meta-icon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                    <span>Format: WEBP / Grafika</span>
                </li>
                <li class="rk-dl-meta-item">
                    <svg class="rk-dl-meta-icon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 8v4l3 3"></path></svg>
                    <span>Aktualizacja: 2026</span>
                </li>
                <li class="rk-dl-meta-item">
                    <svg class="rk-dl-meta-icon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    <span>Gotowe do druku (A4)</span>
                </li>
            </ul>

            <div class="rk-dl-actions">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Projekt-instalacji-grzewczej-domu-jednorodzinnego.pdf" target="_blank" rel="noopener noreferrer" class="rk-dl-btn-primary">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
                    Pobierz plik PDF
                </a>
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Projekt-instalacji-grzewczej-domu-jednorodzinnego.webp" target="_blank" rel="noopener noreferrer" class="rk-dl-btn-secondary">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle></svg>
                    Otwórz Grafikę
                </a>
            </div>

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



<style>
:root {
    --rk-fin-dark: #0f172a;
    --rk-fin-blue: #0284c7;
    --rk-fin-blue-hover: #0369a1;
    --rk-fin-light: #f8fafc;
    --rk-fin-green: #10b981;
    --rk-fin-red: #ef4444;
    --rk-fin-border: #e2e8f0;
    --rk-fin-text: #334155;
    --rk-fin-tag-bg: #f1f5f9;
}

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

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

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

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

.rk-fin-app {
    padding: 40px 50px;
    background: var(--rk-fin-light);
}

/* Interaktywne przyciski wyboru - Akordeon na mobile */
.rk-fin-controls {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
}

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

.rk-fin-toggle svg {
    width: 24px;
    height: 24px;
    color: #94a3b8;
    transition: all 0.3s;
}

.rk-fin-toggle:hover {
    border-color: #cbd5e1;
    transform: translateY(-2px);
}

.rk-fin-toggle.active[data-state="oko"] {
    border-color: var(--rk-fin-red);
    background: #fef2f2;
    color: #991b1b;
}

.rk-fin-toggle.active[data-state="oko"] svg { color: var(--rk-fin-red); }

.rk-fin-toggle.active[data-state="pro"] {
    border-color: var(--rk-fin-green);
    background: #ecfdf5;
    color: #065f46;
}

.rk-fin-toggle.active[data-state="pro"] svg { color: var(--rk-fin-green); }

/* Dynamiczne statystyki (Kafelki) */
.rk-fin-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.rk-fin-stat-card {
    background: #ffffff;
    padding: 25px 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-fin-border);
    text-align: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}

.rk-fin-stat-card.highlight-red { border-bottom: 4px solid var(--rk-fin-red); }
.rk-fin-stat-card.highlight-green { border-bottom: 4px solid var(--rk-fin-green); }

.rk-fin-stat-icon {
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 15px;
}

.rk-fin-stat-icon svg {
    width: 36px;
    height: 36px;
    transition: all 0.5s;
}

.rk-fin-stat-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-fin-dark);
    margin-bottom: 5px;
}

.rk-fin-stat-label {
    font-size: 13px;
    color: #64748b;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Tagi Długi Ogon */
.rk-fin-tags-wrapper {
    padding: 0 50px 30px;
    background: var(--rk-fin-light);
}

.rk-fin-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.rk-mat-tag {
    background: var(--rk-fin-tag-bg);
    color: #475569;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid #e2e8f0;
    transition: all 0.2s;
    cursor: default;
}

.rk-mat-tag:hover {
    background: var(--rk-fin-blue);
    color: #ffffff;
    border-color: var(--rk-fin-blue);
}

/* Potężne CTA */
.rk-fin-cta {
    padding: 40px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-fin-border);
    text-align: center;
}

.rk-fin-cta-title {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-fin-dark);
    margin: 0 0 10px 0;
}

.rk-fin-cta-desc {
    color: #64748b;
    font-size: 15px;
    margin: 0 auto 25px;
    max-width: 550px;
    line-height: 1.5;
}

.rk-btn-hero {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-fin-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;
    border: 2px solid transparent;
}

.rk-btn-hero:hover {
    transform: translateY(-3px);
    background: var(--rk-fin-blue-hover);
    box-shadow: 0 15px 35px -5px rgba(2, 132, 199, 0.5);
}

.rk-btn-hero svg { transition: transform 0.3s; }
.rk-btn-hero:hover svg { transform: translateX(5px); }

/* RWD Mobile - Karty w pionie, przyciski w pionie */
@media (max-width: 768px) {
    .rk-fin-header, .rk-fin-app, .rk-fin-tags-wrapper, .rk-fin-cta { padding: 30px 20px; }
    .rk-fin-controls { flex-direction: column; gap: 12px; }
    .rk-fin-stats { grid-template-columns: 1fr; gap: 15px; }
    .rk-fin-header h2 { font-size: 24px; }
    .rk-btn-hero { width: 100%; padding: 16px 20px; font-size: 16px; }
    .rk-fin-tags { justify-content: flex-start; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/"
    },
    "headline": "Podsumowanie: Twoja mapa drogowa do idealnego ogrzewania",
    "description": "Projekt instalacji grzewczej i precyzyjne OZC to gwarancja idealnego komfortu cieplnego, dłuższzej żywotności pompy ciepła i oszczędności na eksploatacji. Buduj z głową.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-31",
    "dateModified": "2026-07-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#dataset",
    "name": "Bilans zysków z profesjonalnego projektu instalacji grzewczej OZC",
    "description": "Zestawienie techniczno-ekonomiczne porównujące żywotność urządzeń, komfort cieplny oraz zużycie energii w instalacjach projektowanych inżyniersko i wykonywanych amatorsko.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt instalacji grzewczej dom jednorodzinny",
      "koszt ogrzewania z pompą ciepła",
      "obliczenia ozc pn-en 12831",
      "optymalizacja kosztów ogrzewania podłogowego",
      "żywotność pompy ciepła bez taktowania"
    ],
    "measurementTechnique": "Symulacja porównawcza parametrów eksploatacyjnych na bazie normy PN-EN 12831 i wytycznych doboru hydrauliki.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Instalacja bez projektu (na oko): Taktowanie pompy ciepła, żywotność max 7 lat, wysokie koszty.",
        "Instalacja z projektem OZC: Idealny przepływ, żywotność pompy ponad 15 lat, optymalny rachunek za prąd."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/#webapp",
    "name": "Symulator Decyzji Inwestycyjnej HVAC",
    "description": "Interaktywny kalkulator demonstracyjny ukazujący wpływ posiadania projektu OZC na kluczowe parametry instalacji grzewczej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-fin-container" id="rk-final-summary">
    <div class="rk-fin-header">
        <h2>Podsumowanie: Twoja mapa drogowa do idealnego ogrzewania</h2>
        <p>Projekt instalacji grzewczej domu jednorodzinnego nie jest zbędnym papierem dla nadzoru budowlanego – to najważniejsza dokumentacja techniczna Twojej inwestycji. Opierając się na twardych normach (PN-EN 12831, PN-EN 1264) zyskujesz pewność i spokój na lata.</p>
    </div>

    <div class="rk-fin-app">
        <!-- Przełączniki na Flexboxie (na mobilce zamienią się w układ pionowy) -->
        <div class="rk-fin-controls" id="rk-sim-controls">
            <button class="rk-fin-toggle" data-state="oko">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                Instalacja montowana "na oko"
            </button>
            <button class="rk-fin-toggle active" data-state="pro">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path><polyline points="9 12 11 14 15 10"></polyline></svg>
                Profesjonalny projekt OZC
            </button>
        </div>

        <div class="rk-fin-stats">
            <div class="rk-fin-stat-card highlight-green" id="card-comfort">
                <div class="rk-fin-stat-icon" id="icon-comfort">
                    <!-- SVG generowane przez JS -->
                </div>
                <div class="rk-fin-stat-val" id="val-comfort">Idealny</div>
                <div class="rk-fin-stat-label">Komfort Cieplny</div>
            </div>
            
            <div class="rk-fin-stat-card highlight-green" id="card-life">
                <div class="rk-fin-stat-icon" id="icon-life">
                    <!-- SVG generowane przez JS -->
                </div>
                <div class="rk-fin-stat-val" id="val-life">15-20 lat</div>
                <div class="rk-fin-stat-label">Żywotność Pompy Ciepła</div>
            </div>

            <div class="rk-fin-stat-card highlight-green" id="card-cost">
                <div class="rk-fin-stat-icon" id="icon-cost">
                    <!-- SVG generowane przez JS -->
                </div>
                <div class="rk-fin-stat-val" id="val-cost">Zoptymalizowane</div>
                <div class="rk-fin-stat-label">Rachunki Eksploatacyjne</div>
            </div>
        </div>
    </div>

    <div class="rk-fin-tags-wrapper">
        <div class="rk-fin-tags">
            <span class="rk-mat-tag"># projekt instalacji grzewczej cena</span>
            <span class="rk-mat-tag"># dokumentacja techniczna podłogówki</span>
            <span class="rk-mat-tag"># precyzyjne obliczenia ozc</span>
            <span class="rk-mat-tag"># zapobieganie przewymiarowaniu pompy</span>
            <span class="rk-mat-tag"># zbalansowana hydraulika ogrzewania</span>
            <span class="rk-mat-tag"># norma pn-en 12831 w praktyce</span>
            <span class="rk-mat-tag"># oszczędności finansowe na ogrzewaniu</span>
            <span class="rk-mat-tag"># dobór rozstawu rur podłogowych</span>
            <span class="rk-mat-tag"># projekt ogrzewania podłogowego online</span>
            <span class="rk-mat-tag"># instalacja grzewcza w domu jednorodzinnym</span>
        </div>
    </div>

    <div class="rk-fin-cta">
        <h3 class="rk-fin-cta-title">Nie zgaduj. Projektuj na danych.</h3>
        <p class="rk-fin-cta-desc">
            Nie pozwól na to, aby najważniejszy system w Twoim nowym domu został wykonany losowo. Precyzyjne OZC i zbalansowana hydraulika to fundament. Zbuduj swój komfort z głową.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-hero">
            ZAMÓW PROJEKT OGRZEWANIA PODŁOGOWEGO
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggles = document.querySelectorAll('.rk-fin-toggle');
    const cardComfort = document.getElementById('card-comfort');
    const cardLife = document.getElementById('card-life');
    const cardCost = document.getElementById('card-cost');
    
    const valComfort = document.getElementById('val-comfort');
    const valLife = document.getElementById('val-life');
    const valCost = document.getElementById('val-cost');
    
    const iconComfort = document.getElementById('icon-comfort');
    const iconLife = document.getElementById('icon-life');
    const iconCost = document.getElementById('icon-cost');

    // Baza danych dla dwóch stanów aplikacji (bezpieczna struktura pozbawiona &&)
    const appData = {
        'pro': {
            comfortText: 'Idealny',
            lifeText: '15-20 lat',
            costText: 'Zoptymalizowane',
            colorClass: 'highlight-green',
            removeClass: 'highlight-red',
            iconColor: '#10b981',
            comfortSvg: '<svg viewBox="0 0 24 24" fill="none" stroke="#10b981" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"></path></svg>',
            lifeSvg: '<svg viewBox="0 0 24 24" fill="none" stroke="#10b981" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>',
            costSvg: '<svg viewBox="0 0 24 24" fill="none" stroke="#10b981" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>'
        },
        'oko': {
            comfortText: 'Skrajnie różny',
            lifeText: 'Taktowanie (5-7 lat)',
            costText: 'Przewymiarowane (+30%)',
            colorClass: 'highlight-red',
            removeClass: 'highlight-green',
            iconColor: '#ef4444',
            comfortSvg: '<svg viewBox="0 0 24 24" fill="none" stroke="#ef4444" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>',
            lifeSvg: '<svg viewBox="0 0 24 24" fill="none" stroke="#ef4444" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>',
            costSvg: '<svg viewBox="0 0 24 24" fill="none" stroke="#ef4444" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline></svg>'
        }
    };

    function updateUI(stateKey) {
        const d = appData[stateKey];
        
        // Zmiana tekstów
        valComfort.innerText = d.comfortText;
        valLife.innerText = d.lifeText;
        valCost.innerText = d.costText;
        
        // Zmiana ikon
        iconComfort.innerHTML = d.comfortSvg;
        iconLife.innerHTML = d.lifeSvg;
        iconCost.innerHTML = d.costSvg;

        // Zmiana klas w kartach
        const cards = [cardComfort, cardLife, cardCost];
        cards.forEach(function(card) {
            card.classList.remove(d.removeClass);
            card.classList.add(d.colorClass);
        });
    }

    // Inicjalizacja domyślna
    updateUI('pro');

    // Obsługa kliknięć
    toggles.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Czyszczenie klas active
            toggles.forEach(function(b) {
                b.classList.remove('active');
            });
            // Dodanie active do klikniętego
            this.classList.add('active');
            
            // Pobranie stanu i aktualizacja
            const currentState = this.getAttribute('data-state');
            updateUI(currentState);
        });
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/">Projekt instalacji grzewczej domu jednorodzinnego: Kompletny przewodnik inżynieryjny, koszty i obliczenia OZC.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Bufor ciepła z grzałkami czy pompa ciepła? Szokujące porównanie kosztów i opłacalności w 2026 roku.</title>
		<link>https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Wed, 08 Jul 2026 15:39:46 +0000</pubDate>
				<category><![CDATA[Bufor ciepła]]></category>
		<category><![CDATA[Bufory ciepła]]></category>
		<category><![CDATA[Energooszczędność]]></category>
		<category><![CDATA[Finanse i opłacalność]]></category>
		<category><![CDATA[Koszty ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Pompa ciepła]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki inwestora]]></category>
		<category><![CDATA[amortyzacja pompy ciepła]]></category>
		<category><![CDATA[bufor ciepła]]></category>
		<category><![CDATA[jastrych akumulacyjny]]></category>
		<category><![CDATA[koszty ogrzewania 2026]]></category>
		<category><![CDATA[moc grzałek]]></category>
		<category><![CDATA[obliczenia ozc]]></category>
		<category><![CDATA[ogrzewanie elektryczne]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[taryfa g12w]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=6624</guid>

					<description><![CDATA[<p>Planujesz modernizację kotłowni lub budowę nowego domu i zastanawiasz się, jakie źródło zasilania wodnego ogrzewania podłogowego będzie najbardziej ekonomiczne dla Twojego budżetu? Wybór odpowiedniego systemu grzewczego to poważna decyzja na dekady, która bezpośrednio wpłynie na Twoje długoterminowe finanse. W tym kompleksowym, inżynierskim poradniku bierzemy pod lupę dwa najpopularniejsze rozwiązania rynkowe, bezwzględnie obalając mity instalatorów. Przeczytaj nasz najnowszy artykuł: Bufor ciepła z grzałkami czy pompa ciepła? Szokujące porównanie kosztów i opłacalności w 2026 roku. Odkryj twarde wyliczenia inżynierskie, wzory fizyczne oraz realne stopy zwrotu (ROI) dla różnych metraży budynków, które uchronią Cię przed branżową ściemą i kosztownym błędem wykonawczym.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/">Bufor ciepła z grzałkami czy pompa ciepła? Szokujące porównanie kosztów i opłacalności w 2026 roku.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-blue: #0284c7;
    --rk-intro-light-blue: #e0f2fe;
    --rk-intro-gray: #f8fafc;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
    --rk-intro-alert: #fffbeb;
    --rk-intro-alert-border: #f59e0b;
}

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

.rk-intro-header {
    background: var(--rk-intro-dark);
    padding: 40px 50px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-intro-blue);
}

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

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

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

.rk-intro-hook {
    font-size: 18px;
    line-height: 1.7;
    color: var(--rk-intro-text);
    margin-bottom: 25px;
    font-weight: 500;
}

/* Moduł Szybkiej Odpowiedzi (Featured Snippet) */
.rk-intro-quick-answer {
    background: var(--rk-intro-alert);
    border-left: 5px solid var(--rk-intro-alert-border);
    padding: 25px 30px;
    border-radius: 0 12px 12px 0;
    margin-bottom: 35px;
}

.rk-intro-quick-answer h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 900;
    color: #92400e;
    margin: 0 0 10px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-intro-quick-answer p {
    font-size: 16px;
    line-height: 1.7;
    color: #92400e;
    margin: 0;
    font-weight: 500;
}

.rk-intro-quick-answer strong {
    font-weight: 800;
}

/* Zapowiedź narzędzi */
.rk-intro-tools-promo {
    background: var(--rk-intro-gray);
    border: 1px solid var(--rk-intro-border);
    border-radius: 16px;
    padding: 30px;
}

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

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

.rk-intro-tab-btn {
    background: #ffffff;
    border: 2px solid var(--rk-intro-border);
    padding: 15px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-intro-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
}

.rk-intro-tab-btn:hover {
    border-color: var(--rk-intro-blue);
    color: var(--rk-intro-blue);
}

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

.rk-intro-panel {
    display: none;
    background: #ffffff;
    border: 1px solid var(--rk-intro-border);
    padding: 25px;
    border-radius: 12px;
}

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

.rk-intro-panel h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-intro-dark);
    margin: 0 0 10px 0;
}

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

@media (max-width: 768px) {
    .rk-intro-header, .rk-intro-body { padding: 30px 20px; }
    .rk-intro-header h2 { font-size: 24px; }
    .rk-intro-tabs { grid-template-columns: 1fr; }
    .rk-intro-quick-answer { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/"
    },
    "headline": "Bufor ciepła z grzałkami czy pompa ciepła? Szokujące porównanie kosztów i opłacalności w 2026 roku",
    "description": "Najpoważniejsze starcie systemów grzewczych w 2026 roku. Sprawdź szybką odpowiedź, co się bardziej opłaca: niskobudżetowy bufor czy wydajna pompa ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-08",
    "dateModified": "2026-07-08"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#dataset-wstep",
    "name": "Kompendium opłacalności systemów grzewczych",
    "description": "Wstępne zestawienie danych wprowadzające do analizy kosztów CAPEX i OPEX dla systemów ogrzewania podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "bufor ciepła czy pompa ciepła 2026",
      "ogrzewanie z bufora 1000l koszty",
      "najtańsze ogrzewanie domu prądem",
      "alternatywa dla pompy ciepła",
      "taryfa nocna g12w opłacalność"
    ],
    "measurementTechnique": "Bezpośrednia ocena opłacalności w oparciu o szacunkowe straty ciepła i nakłady inwestycyjne.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wniosek rynkowy: Bufor ciepła miażdży pompę w budynkach o małym zapotrzebowaniu na energię (do 5 kW).",
        "Zaleta systemu: Akumulacja taniej energii z taryfy G12/G12w eliminująca koszt zakupu drogiego agregatu chłodniczego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#webapp-wstep",
    "name": "Interaktywny Przewodnik po Narzędziach Artykułu",
    "description": "Zestaw nawigacyjny zapowiadający kalkulatory, symulatory opłacalności i wyliczenia OZC dostępne w dalszej części poradnika.",
    "applicationCategory": "NavigationApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="wstep-artykulu-app">
    <div class="rk-intro-header">
        <h2>Bufor ciepła z grzałkami czy pompa ciepła? Szokujące porównanie kosztów i opłacalności w 2026 roku</h2>
        <p>Inżynierska weryfikacja mitów. Poznaj twarde liczby, zanim wydasz kilkadziesiąt tysięcy złotych na kotłownię.</p>
    </div>

    <div class="rk-intro-body">
        
        <div class="rk-intro-hook">
            Instalacja ogrzewania podłogowego zasilana z bufora ciepła 1000 l ładowanego grzałkami elektrycznymi w taryfie nocnej to dzisiaj najpoważniejsza, niskobudżetowa alternatywa dla pompy ciepła. Rozwiązanie to pozwala na akumulację potężnej dawki energii cieplnej w czasie obowiązywania tańszych stawek (np. taryfa G12 lub G12w) i bezawaryjne oddawanie jej do wodnego ogrzewania płaszczyznowego przez całą dobę, drastycznie tnąc koszty inwestycyjne.
        </div>

        <div class="rk-intro-quick-answer">
            <h3>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
                Szybka odpowiedź: Co się bardziej opłaca?
            </h3>
            <p>
                Jeśli budujesz nowoczesny, dobrze ocieplony dom (zapotrzebowanie cieplne do 4-5 kW), <strong>bufor ciepła z grzałkami miażdży pompę ciepła pod kątem ekonomicznym</strong>. Inwestycja na start jest o niemal 30 tysięcy złotych tańsza, a ten &#8222;zapas&#8221; gotówki pokryje różnicę w wyższych rachunkach za prąd przez ponad 13 lat (często przekraczając żywotność samej pompy). Z kolei przy starszych lub bardzo dużych domach o dużych stratach ciepła, pompa ciepła to nadal absolutna konieczność.
            </p>
        </div>

        <div class="rk-intro-tools-promo">
            <h4 class="rk-intro-tools-title">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                Co znajdziesz w dalszej części tego poradnika?
            </h4>
            <p style="margin-bottom: 20px; font-size: 15px; color: var(--rk-intro-text);">
                Zamiast lania wody, przygotowaliśmy dla Ciebie zestaw <strong>profesjonalnych, interaktywnych narzędzi inżynierskich</strong>, dzięki którym samodzielnie przeliczysz parametry swojego domu na żywo.
            </p>

            <div class="rk-intro-tabs">
                <button class="rk-intro-tab-btn active" data-panel="panel-kalkulator">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line><line x1="20" y1="9" x2="23" y2="9"></line><line x1="20" y1="14" x2="23" y2="14"></line><line x1="1" y1="9" x2="4" y2="9"></line><line x1="1" y1="14" x2="4" y2="14"></line></svg>
                    Kalkulator Bufora
                </button>
                <button class="rk-intro-tab-btn" data-panel="panel-roi">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    Symulator Opłacalności
                </button>
                <button class="rk-intro-tab-btn" data-panel="panel-wytyczne">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
                    Wpływ na Podłogówkę
                </button>
            </div>

            <div class="rk-intro-panel active" id="panel-kalkulator">
                <h4>Dynamiczny Kalkulator Mocy OZC</h4>
                <p>Narzędzie wyliczające na żywo wymaganą moc grzałek elektrycznych oraz dokładną pojemność bufora wodnego na podstawie dobowego zapotrzebowania Twojego budynku.</p>
            </div>
            
            <div class="rk-intro-panel" id="panel-roi">
                <h4>Kalkulator Stopy Zwrotu (ROI)</h4>
                <p>Zderzyliśmy nakłady inwestycyjne (CAPEX) z rocznymi kosztami użytkowania (OPEX). Wprowadź aktualną cenę prądu na suwaku i sprawdź, po ilu latach pompa ciepła zacznie na siebie zarabiać.</p>
            </div>

            <div class="rk-intro-panel" id="panel-wytyczne">
                <h4>Wytyczne Wykonawcze dla Instalatorów</h4>
                <p>Zobaczysz, jak wybór źródła ciepła (Taryfa G12w vs Pompa SCOP 3.5) drastycznie zmienia wytyczne projektowe – od zagęszczenia rur po wymaganą masę jastrychu betonowego.</p>
            </div>
        </div>

    </div>
</div>

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

    tabs.forEach(function(tab) {
        tab.addEventListener('click', function() {
            // Natychmiastowe usunięcie klas active (bez animacji, twarde przejście)
            tabs.forEach(function(t) { t.classList.remove('active'); });
            panels.forEach(function(p) { p.classList.remove('active'); });

            // Aktywacja klikniętego elementu
            this.classList.add('active');
            var targetPanel = this.getAttribute('data-panel');
            document.getElementById(targetPanel).classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --rk-buf-dark: #0f172a;
    --rk-buf-blue: #0284c7;
    --rk-buf-blue-light: #e0f2fe;
    --rk-buf-gray: #f8fafc;
    --rk-buf-border: #cbd5e1;
    --rk-buf-text: #334155;
    --rk-buf-amber: #d97706;
}

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

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

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

.rk-buf-body {
    padding: 40px 50px;
}

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

.rk-buf-paragraph a {
    color: var(--rk-buf-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-buf-blue);
}

.rk-buf-paragraph a:hover {
    border-bottom-style: solid;
    background: var(--rk-buf-blue-light);
}

/* Panel kalkulatora */
.rk-buf-calc-panel {
    background: var(--rk-buf-gray);
    border: 1px solid var(--rk-buf-border);
    border-radius: 20px;
    padding: 30px;
    margin: 35px 0;
}

.rk-buf-sim-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-buf-dark);
    margin: 0 0 25px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Suwak i Przyciski */
.rk-buf-controls-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 30px;
    margin-bottom: 30px;
}

.rk-buf-slider-box label {
    display: flex;
    justify-content: space-between;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-buf-dark);
    margin-bottom: 12px;
}

.rk-buf-slider-box .rk-buf-badge-price {
    background: var(--rk-buf-blue);
    color: #ffffff;
    padding: 3px 10px;
    border-radius: 8px;
    font-size: 16px;
}

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

.rk-buf-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-buf-blue);
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(2, 132, 199, 0.3);
}

.rk-buf-selector-box p {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-buf-dark);
    margin: 0 0 12px 0;
}

.rk-buf-btn-stack {
    display: flex;
    gap: 10px;
}

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

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

/* Karty wynikowe */
.rk-buf-results-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    border-top: 1px dashed var(--rk-buf-border);
    padding-top: 25px;
}

.rk-buf-res-card {
    background: #ffffff;
    border: 1px solid var(--rk-buf-border);
    border-radius: 12px;
    padding: 20px;
    text-align: center;
}

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

.rk-buf-res-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-buf-dark);
}

/* Wzory matematyczne */
.rk-buf-formula-block {
    background: var(--rk-buf-gray);
    padding: 20px;
    border-radius: 12px;
    font-family: 'Courier New', Courier, monospace;
    font-weight: 700;
    color: var(--rk-buf-dark);
    border-left: 4px solid var(--rk-buf-blue);
    margin: 20px 0;
    overflow-x: auto;
}

.rk-buf-inline-val {
    background: #f1f5f9;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 700;
    color: var(--rk-buf-dark);
}

@media (max-width: 768px) {
    .rk-buf-header, .rk-buf-body { padding: 30px 20px; }
    .rk-buf-controls-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-buf-btn-stack { flex-direction: column; }
    .rk-buf-results-grid { grid-template-columns: 1fr; gap: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#article-koszty-bufora",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/"
    },
    "headline": "Ile kosztuje ogrzewanie podłogowe z bufora 1000 l w taryfie nocnej G12w?",
    "description": "Kalkulacja kosztów eksploatacyjnych ogrzewania podłogowego zasilanego z bufora ciepła 1000l w oparciu o płynne stawki taryfy nocnej i normę PN-EN 12831.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-08",
    "dateModified": "2026-07-08"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#dataset-koszty-bufora",
    "name": "Pojemność akumulacyjna i dobowe koszty taryfy nocnej G12w",
    "description": "Zbiór danych fizycznych wody i jastrychu betonowego w korelacji z rocznym zużyciem energii elektrycznej na cele grzewcze dla metraży 100-200 mkw.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "koszt ładowania bufora 1000l",
      "taryfa g12w ogrzewanie podłogowe",
      "pojemność akumulacyjna wody wzór",
      "obciążenie cieplne budynku kalkulator",
      "bezwładność cieplna jastrychu"
    ],
    "measurementTechnique": "Termodynamiczne obliczenia pojemności cieplnej zładu wody przy skoku temperatur od 35 do 85 stopni Celsjusza.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Objętość bufora: 1000 litrów (1 m3).",
        "Pojemność energetyczna zładu przy delta T = 50K: 58,2 kWh.",
        "Roczne zapotrzebowanie energii: 5000 do 10000 kWh."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#webapp-koszty-bufora",
    "name": "Symulator Kosztów Eksploatacji Taryfy Nocnej",
    "description": "Interaktywny symulator obliczający na żywo roczne koszty poboru prądu przez grzałki bufora w oparciu o elastyczny suwak stawek taryfowych.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-buf-container" id="koszty-g12w-section">
    <div class="rk-buf-header">
        <h2>Ile kosztuje ogrzewanie podłogowe z bufora 1000 l w taryfie nocnej G12w?</h2>
    </div>

    <div class="rk-buf-body">
        <div class="rk-buf-paragraph">
            Ogrzewanie podłogowe z bufora 1000 l ładowanego w taryfie G12w kosztuje średnio od <strong id="txtMinCost">1 890 zł</strong> do <strong id="txtMaxCost">6 300 zł</strong> brutto rocznie za sam pobór energii na cele grzewcze, w zależności od metrażu budynku (100–200 m²) oraz jego standardu energetycznego. Zgodnie z wytycznymi normy <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">PN-EN 12831</a>, projektowe obciążenie cieplne określa zapotrzebowanie na energię, którą w tym systemie musimy zmagazynować w ciągu 10 godzin trwania taniej strefy (22:00–6:00 oraz 13:00–15:00). Średni bazowy koszt 1 kWh prądu w strefie nocnej wynosi aktualnie <span class="rk-buf-inline-val id-curr-price">0.63 zł</span> brutto (wliczając opłatę zmienną dystrybucyjną).
        </div>

        <div class="rk-buf-paragraph">
            Ból inwestora polega na strachu przed gigantycznymi rachunkami za prąd i obawie, czy zbiornik o pojemności 1000 litrów nie wychłodzi się w środku mroźnego dnia, wymuszając włączenie grzałek w drogiej taryfie G11 (gdzie standardowa stawka wynosi ok. 0,95 zł brutto/kWh). 
        </div>

        <div class="rk-buf-calc-panel">
            <h3 class="rk-buf-sim-title">Evergreen Symulator Kosztów Taryfowych</h3>
            
            <div class="rk-buf-controls-grid">
                <div class="rk-buf-slider-box">
                    <label>
                        Cena prądu w strefie nocnej (G12w)
                        <span class="rk-buf-badge-price"><span id="lblBufPrice">0.63</span> zł/kWh</span>
                    </label>
                    <input type="range" id="sliderBufPrice" class="rk-buf-range" min="0.30" max="3.00" step="0.01" value="0.63">
                </div>
                
                <div class="rk-buf-selector-box">
                    <p>Wybierz powierzchnię budynku (WT 2021):</p>
                    <div class="rk-buf-btn-stack">
                        <button class="rk-buf-size-btn" data-size="100">100 m²</button>
                        <button class="rk-buf-size-btn active" data-size="150">150 m²</button>
                        <button class="rk-buf-size-btn" data-size="200">200 m²</button>
                    </div>
                </div>
            </div>

            <div class="rk-buf-results-grid">
                <div class="rk-buf-res-card">
                    <span class="rk-buf-res-label">Koszt jednego ładowania</span>
                    <div class="rk-buf-res-val" id="cardOneCharge" style="color: var(--rk-buf-amber);">36.67 zł</div>
                </div>
                <div class="rk-buf-res-card">
                    <span class="rk-buf-res-label">Szacowany koszt roczny</span>
                    <div class="rk-buf-res-val" id="cardAnnualCost" style="color: var(--rk-buf-blue);">4 725 zł</div>
                </div>
                <div class="rk-buf-res-card">
                    <span class="rk-buf-res-label">Pojemność bufora</span>
                    <div class="rk-buf-res-val">58.2 <span>kWh</span></div>
                </div>
            </div>
        </div>

        <div class="rk-buf-paragraph">
            Wodne ogrzewanie podłogowe to system niskotemperaturowym, co jest kluczem do sukcesu. Im niższa temperatura zasilania pętli, tym większą pojemność cieplną możemy wydobyć z bufora. Policzmy realną pojemność akumulacyjną wody. Przyjmując gęstość wody ro = 1000 kg/m³ oraz ciepło właściwe c_w = 4,19 kJ/(kg*K), bufor naładowany do temperatury T_z = 85 stopni Celsjusza i schładzany do temperatury zasilania podłogówki T_p = 35 stopni Celsjusza dysponuje użyteczną różnicą temperatur delta T = 50 K.
        </div>

        <div class="rk-buf-formula-block">
            Q_aku = (V &times; ro &times; c_w &times; delta T) / 3600<br>
            Q_aku = (1 m³ &times; 1000 kg/m³ &times; 4.19 kJ/(kg*K) &times; 50 K) / 3600 &approx; <strong>58.2 kWh</strong>
        </div>

        <div class="rk-buf-paragraph">
            Konsekwencją błędnego niedoszacowania tego parametru jest niedogrzanie budynku. Jeśli dom o powierzchni <span id="txtDynSize">150</span> m² w standardzie WT 2021 ma projektowe obciążenie cieplne na poziomie <span id="txtDynObc">6.0</span> kW, to przy temperaturze -20 stopni Celsjusza jego dobowe zapotrzebowanie wynosi <span id="txtDynDob">144</span> kWh. Ponieważ bufor mieści niezmiennie <strong>58.2 kWh</strong> energii (wartość fizyczna zładu), brakujące <span id="txtDynBrak">85.8</span> kWh musi zostać zmagazynowane bezpośrednio w <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/">jastrychu betonowym podłogówki</a> poprzez celowe podniesienie temperatury w pomieszczeniach o 1-1,5 stopnia pod koniec trwania taryfy nocnej. Jeśli beton ma zbyt małą grubość (poniżej normowych 45 mm czystego nadlewu nad rurą według <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">PN-EN 1264</a>), dom drastycznie wychłodzi się w dzień.
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var slider = document.getElementById('sliderBufPrice');
    var lblPrice = document.getElementById('lblBufPrice');
    var txtMinCost = document.getElementById('txtMinCost');
    var txtMaxCost = document.getElementById('txtMaxCost');
    var currPricePlaceholders = document.querySelectorAll('.id-curr-price');
    
    // Karty
    var cardOneCharge = document.getElementById('cardOneCharge');
    var cardAnnualCost = document.getElementById('cardAnnualCost');
    
    // Tekst dolny dynamiczny
    var txtDynSize = document.getElementById('txtDynSize');
    var txtDynObc = document.getElementById('txtDynObc');
    var txtDynDob = document.getElementById('txtDynDob');
    var txtDynBrak = document.getElementById('txtDynBrak');
    
    var btns = document.querySelectorAll('.rk-buf-size-btn');
    var selectedSize = 150;

    var sizeData = {
        "100": { q: 5000, obc: 4.0, dob: 96, brak: 37.8 },
        "150": { q: 7500, obc: 6.0, dob: 144, brak: 85.8 },
        "200": { q: 10000, obc: 8.0, dob: 192, brak: 133.8 }
    };

    function formatCurrency(num) {
        return Math.round(num).toString().replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " zł";
    }

    function updateBufferSim() {
        var price = parseFloat(slider.value);
        lblPrice.textContent = price.toFixed(2);
        
        currPricePlaceholders.forEach(function(el) {
            el.textContent = price.toFixed(2) + " zł";
        });

        // Aktualizacja zakresów w tekście górnym (dla 100m2 i 200m2)
        txtMinCost.textContent = formatCurrency(5000 * price);
        txtMaxCost.textContent = formatCurrency(10000 * price);

        // Wyliczenia dla wybranego profilu metrażu
        var activeData = sizeData[selectedSize.toString()];
        var oneChargeCost = 58.2 * price;
        var annualCost = activeData.q * price;

        cardOneCharge.textContent = oneChargeCost.toFixed(2) + " zł";
        cardAnnualCost.textContent = formatCurrency(annualCost);

        // Aktualizacja tekstu dolnego akapitu
        txtDynSize.textContent = selectedSize;
        txtDynObc.textContent = activeData.obc.toFixed(1);
        txtDynDob.textContent = activeData.dob;
        txtDynBrak.textContent = activeData.brak.toFixed(1);
    }

    slider.addEventListener('input', updateBufferSim);

    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            btns.forEach(function(b) { b.classList.remove('active'); });
            this.classList.add('active');
            selectedSize = parseInt(this.getAttribute('data-size'));
            updateBufferSim();
        });
    });

    // Pierwsze przeliczenie
    updateBufferSim();
});
</script>



<style>
:root {
    --rk-comp-dark: #0f172a;
    --rk-comp-primary: #3b82f6;
    --rk-comp-accent: #f59e0b;
    --rk-comp-light: #f8fafc;
    --rk-comp-text: #475569;
    --rk-comp-border: #e2e8f0;
    --rk-comp-red: #ef4444;
    --rk-comp-green: #10b981;
}

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

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

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

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

.rk-comp-body {
    padding: 40px 50px;
}

.rk-comp-text {
    font-size: 16px;
    line-height: 1.8;
    color: var(--rk-comp-text);
    margin-bottom: 30px;
}

.rk-comp-text a {
    color: var(--rk-comp-primary);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.3s;
}

.rk-comp-text a:hover {
    color: var(--rk-comp-accent);
}

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

/* Interaktywny Moduł Porównawczy */
.rk-comp-module {
    background: var(--rk-comp-light);
    border-radius: 20px;
    padding: 30px;
    border: 1px solid var(--rk-comp-border);
    margin-bottom: 30px;
}

.rk-comp-tabs {
    display: flex;
    background: #ffffff;
    border-radius: 12px;
    padding: 6px;
    border: 1px solid var(--rk-comp-border);
    margin-bottom: 30px;
    gap: 5px;
}

.rk-comp-tab {
    flex: 1;
    padding: 14px 20px;
    background: transparent;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-comp-text);
    cursor: pointer;
    transition: all 0.3s ease;
}

.rk-comp-tab.active {
    background: var(--rk-comp-dark);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.2);
}

/* Karty Porównawcze */
.rk-comp-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}

.rk-comp-card {
    background: #ffffff;
    border: 1px solid var(--rk-comp-border);
    border-radius: 16px;
    padding: 25px;
    position: relative;
}

.rk-comp-card-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-comp-dark);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 15px;
    border-bottom: 1px dashed var(--rk-comp-border);
}

.rk-comp-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-icon-bufor { background: #eff6ff; color: var(--rk-comp-primary); }
.rk-icon-pompa { background: #fffbeb; color: var(--rk-comp-accent); }

/* Dane w kartach */
.rk-comp-data-row {
    margin-bottom: 15px;
}

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

.rk-comp-value {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-comp-dark);
}

.rk-comp-value.good { color: var(--rk-comp-green); }
.rk-comp-value.bad { color: var(--rk-comp-red); }

.rk-comp-desc {
    font-size: 14px;
    color: var(--rk-comp-text);
    line-height: 1.6;
    margin-top: 5px;
}

/* Zawartość zakładek */
.rk-tab-content {
    display: none;
    animation: fadeIn 0.4s ease;
}

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

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

@media (max-width: 768px) {
    .rk-comp-header, .rk-comp-body { padding: 30px 20px; }
    .rk-comp-tabs { flex-direction: column; }
    .rk-comp-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#article-zakup",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/"
    },
    "headline": "Jak wypada koszt zakupu i montażu pompy ciepła w porównaniu do bufora z grzałkami?",
    "description": "Szczegółowe zestawienie kosztów inwestycyjnych (CAPEX) oraz eksploatacyjnych (OPEX), wliczając współczynnik SCOP pompy ciepła i awaryjność podzespołów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-08",
    "dateModified": "2026-07-08"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#dataset-koszty",
    "name": "Zestawienie kosztów startowych i awaryjności: Pompa vs Bufor",
    "description": "Baza danych zestawiająca nakłady inwestycyjne, współczynnik SCOP oraz ryzyko awarii mechanicznych systemów grzewczych w domach jednorodzinnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "koszt montażu pompy ciepła",
      "cena grzałki do bufora",
      "awarie pompy ciepła sprężarka",
      "współczynnik scop podłogówka",
      "punkt biwalentny pn-en 14825"
    ],
    "measurementTechnique": "Porównanie kosztów zakupu urządzeń na podstawie ofert rynkowych oraz wyliczenie zużycia energii w oparciu o SCOP 3,5 i taryfę G11/G12w.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Bufor 1000l: 12000 - 16000 zł, awaryjność niska (koszt grzałki 250-400 zł).",
        "Pompa Ciepła: 35000 - 58000 zł, ryzyko drogich awarii sprężarki po gwarancji.",
        "SCOP: Średnioroczne 3,5-4,0 redukujące zużycie energii z sieci."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#webapp-porownanie",
    "name": "Symulator Kosztów Inwestycyjnych vs Eksploatacyjnych",
    "description": "Aplikacja pozwalająca inwestorowi na interaktywne zderzenie niskich nakładów inwestycyjnych bufora z wysoką wydajnością SCOP pompy ciepła.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-comp-container" id="koszt-zakupu-app">
    <div class="rk-comp-header">
        <h2>Jak wypada koszt zakupu i montażu?</h2>
        <p>Inwestorzy często wpadają w pułapkę myślenia, że pompa ciepła jest jedynym słusznym rozwiązaniem, ignorując fakt, że jej koszt potrafi zjeść oszczędności na wiele lat w przód.</p>
    </div>

    <div class="rk-comp-body">
        
        <div class="rk-comp-module">
            <div class="rk-comp-tabs">
                <button class="rk-comp-tab active" data-target="tab-start">1. Koszty na start i Awaryjność</button>
                <button class="rk-comp-tab" data-target="tab-eksplo">2. Koszty prądu (SCOP vs COP 1:1)</button>
            </div>

            <div class="rk-tab-content active" id="tab-start">
                <div class="rk-comp-grid">
                    <div class="rk-comp-card">
                        <div class="rk-comp-card-title">
                            <div class="rk-comp-icon rk-icon-bufor">
                                <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 2v20"></path><path d="M12 2a4 4 0 0 1 4 4v12a4 4 0 0 1-4 4"></path><path d="M12 2a4 4 0 0 0-4 4v12a4 4 0 0 0 4 4"></path></svg>
                            </div>
                            Bufor 1000L + Grzałki
                        </div>
                        <div class="rk-comp-data-row">
                            <span class="rk-comp-label">Koszt kotłowni (Brutto)</span>
                            <span class="rk-comp-value good">12 000 &#8211; 16 000 zł</span>
                        </div>
                        <div class="rk-comp-data-row">
                            <span class="rk-comp-label">Złożoność i Serwis</span>
                            <span class="rk-comp-value" style="font-size: 20px;">Konstrukcja wieczna</span>
                            <p class="rk-comp-desc">Brak sprężarki, gazu i drogiej elektroniki. Spalona grzałka o mocy 6 kW to koszt rzędu <strong>250–400 zł</strong>, a jej wymiana zajmuje 30 minut.</p>
                        </div>
                    </div>

                    <div class="rk-comp-card">
                        <div class="rk-comp-card-title">
                            <div class="rk-comp-icon rk-icon-pompa">
                                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg>
                            </div>
                            Pompa Ciepła
                        </div>
                        <div class="rk-comp-data-row">
                            <span class="rk-comp-label">Koszt kotłowni (Brutto)</span>
                            <span class="rk-comp-value bad">35 000 &#8211; 58 000 zł</span>
                        </div>
                        <div class="rk-comp-data-row">
                            <span class="rk-comp-label">Złożoność i Serwis</span>
                            <span class="rk-comp-value" style="font-size: 20px;">Ryzyko po gwarancji</span>
                            <p class="rk-comp-desc">Urządzenie skomplikowane mechanicznie. Awaria sprężarki, zaworów rozprężnych czy płyty głównej może pochłonąć tysiące złotych.</p>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-tab-content" id="tab-eksplo">
                <div class="rk-comp-grid">
                    <div class="rk-comp-card">
                        <div class="rk-comp-card-title">
                            <div class="rk-comp-icon rk-icon-bufor">
                                <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="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
                            </div>
                            Taryfa Nocna (COP 1:1)
                        </div>
                        <div class="rk-comp-data-row">
                            <span class="rk-comp-label">Zużycie prądu (Dom 150m²)</span>
                            <span class="rk-comp-value bad">7 500 kWh</span>
                        </div>
                        <div class="rk-comp-data-row">
                            <span class="rk-comp-label">Roczny rachunek (przy 0,63 zł)</span>
                            <span class="rk-comp-value bad">4 725 zł</span>
                            <p class="rk-comp-desc">Grzałki pracują ze sprawnością 1:1. Z 1 kWh prądu z sieci uzyskujesz 1 kWh ciepła. Niskie koszty zawdzięczamy wyłącznie akumulacji <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">taniego prądu z taryfy</a>.</p>
                        </div>
                    </div>

                    <div class="rk-comp-card">
                        <div class="rk-comp-card-title">
                            <div class="rk-comp-icon rk-icon-pompa">
                                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                            </div>
                            Magia SCOP (COP 3.5)
                        </div>
                        <div class="rk-comp-data-row">
                            <span class="rk-comp-label">Zużycie prądu (Dom 150m²)</span>
                            <span class="rk-comp-value good">2 142 kWh</span>
                        </div>
                        <div class="rk-comp-data-row">
                            <span class="rk-comp-label">Roczny rachunek (przy 0,95 zł)</span>
                            <span class="rk-comp-value good">2 035 zł</span>
                            <p class="rk-comp-desc">To potężna broń pompy. Generując te same 7500 kWh ciepła, pompa zużyje tylko 1/3 energii z sieci. Nawet w drogiej taryfie G11 rachunki są drastycznie niższe.</p>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-comp-text">
            <p>
                Różnica w nakładach inwestycyjnych na start wynosi więc od <strong>23 000 zł do nawet 42 000 zł</strong> na korzyść systemu buforowego. Urządzenia dobiera się na podstawie punktu biwalentnego określonego w normie <strong>PN-EN 14825</strong>. 
                
            </p>
            <p>
                Najczęstszym błędem przy wyborze <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a> na siłę jest montowanie jej w domach o bardzo małym zapotrzebowaniu na ciepło (np. domy parterowe 100 m², energooszczędne, zużywające 3000 kWh rocznie). W takim przypadku roczna różnica w rachunkach wynosi zaledwie <strong>1260 zł</strong>. Przy różnicy w cenie zakupu wynoszącej 25 000 zł, inwestycja w pompę zwraca się po <strong>ponad 19 latach</strong>, co często przekracza żywotność technologiczną sprężarki.
            </p>
        </div>
    </div>
</div>

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

    tabs.forEach(function(tab) {
        tab.addEventListener('click', function() {
            // Usunięcie klasy active ze wszystkich przycisków i treści
            tabs.forEach(function(t) { t.classList.remove('active'); });
            contents.forEach(function(c) { c.classList.remove('active'); });

            // Dodanie klasy active do klikniętego taba i powiązanej treści
            this.classList.add('active');
            var targetId = this.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --rk-roi-dark: #1e293b;
    --rk-roi-blue: #2563eb;
    --rk-roi-blue-light: #eff6ff;
    --rk-roi-red: #ef4444;
    --rk-roi-green: #10b981;
    --rk-roi-gray-bg: #f8fafc;
    --rk-roi-text: #475569;
    --rk-roi-border: #e2e8f0;
}

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

.rk-roi-header {
    background: var(--rk-roi-dark);
    padding: 40px 50px;
    color: #ffffff;
    text-align: left;
    border-bottom: 5px solid var(--rk-roi-blue);
}

.rk-roi-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.2;
}

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

.rk-roi-body {
    padding: 40px 50px;
}

.rk-roi-intro {
    font-size: 16px;
    line-height: 1.8;
    color: var(--rk-roi-text);
    margin-bottom: 35px;
}

.rk-roi-intro a {
    color: var(--rk-roi-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.3s;
}

.rk-roi-intro a:hover {
    color: var(--rk-roi-dark);
}

/* Interaktywny Panel Finansowy */
.rk-roi-dashboard {
    background: var(--rk-roi-gray-bg);
    border-radius: 20px;
    padding: 30px;
    border: 1px solid var(--rk-roi-border);
    margin-bottom: 35px;
}

/* Nowa sekcja - Ceny prądu */
.rk-roi-prices {
    background: #ffffff;
    border: 1px solid var(--rk-roi-border);
    border-radius: 16px;
    padding: 25px;
    margin-bottom: 25px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.rk-price-control label {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-roi-dark);
    margin-bottom: 15px;
}

.rk-price-val {
    color: var(--rk-roi-blue);
    background: var(--rk-roi-blue-light);
    padding: 2px 8px;
    border-radius: 8px;
}

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

.rk-price-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-roi-blue);
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(37, 99, 235, 0.3);
    transition: transform 0.1s;
}

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

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

.rk-roi-options {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-bottom: 30px;
}

.rk-roi-btn {
    background: #ffffff;
    border: 2px solid var(--rk-roi-border);
    border-radius: 12px;
    padding: 15px 20px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

.rk-roi-btn.active {
    border-color: var(--rk-roi-blue);
    background: var(--rk-roi-blue-light);
    box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.1);
}

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

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

/* Wyniki finansowe karty */
.rk-roi-results-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}

.rk-roi-finance-card {
    background: #ffffff;
    border: 1px solid var(--rk-roi-border);
    border-radius: 16px;
    padding: 25px;
    position: relative;
    overflow: hidden;
    transition: all 0.3s;
}

.rk-roi-finance-card.highlight {
    border: 2px solid var(--rk-roi-blue);
    box-shadow: 0 15px 25px -5px rgba(37, 99, 235, 0.15);
}

.rk-roi-card-header {
    font-size: 14px;
    font-weight: 800;
    color: #64748b;
    text-transform: uppercase;
    margin-bottom: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-roi-badge {
    background: var(--rk-roi-blue-light);
    color: var(--rk-roi-blue);
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
}

.rk-roi-main-val {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-roi-dark);
    margin-bottom: 5px;
}

.rk-roi-sub-val {
    font-size: 14px;
    color: var(--rk-roi-text);
    margin-bottom: 20px;
    font-weight: 500;
}

.rk-roi-list {
    list-style: none;
    padding: 0;
    margin: 0;
    border-top: 1px solid var(--rk-roi-border);
    padding-top: 15px;
}

.rk-roi-list li {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: var(--rk-roi-text);
    margin-bottom: 10px;
}

.rk-roi-list li span:last-child {
    font-weight: 700;
    color: var(--rk-roi-dark);
}

/* Wskaźnik ROI */
.rk-roi-summary {
    background: #ffffff;
    border-top: 1px solid var(--rk-roi-border);
    padding: 25px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 0 0 16px 16px;
}

.rk-roi-time {
    font-size: 36px;
    font-weight: 900;
    color: var(--rk-roi-blue);
}

.rk-roi-time-label {
    font-size: 15px;
    color: var(--rk-roi-text);
    font-weight: 600;
    max-width: 250px;
}

.rk-roi-alert {
    background: #fef2f2;
    border-left: 4px solid var(--rk-roi-red);
    padding: 15px 20px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.6;
    color: #991b1b;
    font-weight: 600;
    transition: all 0.3s;
}

.rk-roi-alert.safe {
    background: #ecfdf5;
    border-left-color: var(--rk-roi-green);
    color: #065f46;
}

.rk-roi-alert.warning {
    background: #fffbeb;
    border-left-color: #f59e0b;
    color: #92400e;
}

@media (max-width: 768px) {
    .rk-roi-header, .rk-roi-body { padding: 30px 20px; }
    .rk-roi-header h2 { font-size: 26px; }
    .rk-roi-prices { grid-template-columns: 1fr; gap: 20px; }
    .rk-roi-options { grid-template-columns: 1fr; }
    .rk-roi-results-wrapper { grid-template-columns: 1fr; gap: 15px; }
    .rk-roi-summary { flex-direction: column; text-align: center; gap: 15px; padding: 20px; }
    .rk-roi-time-label { max-width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#article-roi",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/"
    },
    "headline": "Jaka jest realna stopa zwrotu i czas amortyzacji pompy ciepła względem bufora elektrycznego?",
    "description": "Dynamiczna analiza finansowa NPV i ROI porównująca instalację bufora ciepła w taryfie G12w z pompą ciepła w taryfie G11, bazująca na zmiennych cenach prądu za 1 kWh.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-08",
    "dateModified": "2026-07-08"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#dataset-roi",
    "name": "Zestawienie parametrów techniczno-ekonomicznych ROI dla pomp ciepła",
    "description": "Baza danych inwestycyjnych i eksploatacyjnych dla budynków 100-200 mkw. korelująca nakłady z płynnymi stawkami taryf energetycznych G11 i G12w.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czas amortyzacji pompy ciepła",
      "realna stopa zwrotu ogrzewania",
      "porównanie kosztów bufor vs pompa",
      "koszty serwisu pompy ciepła",
      "kalkulator opłacalności z cenami prądu",
      "opłacalność pompy ciepła dom energooszczędny"
    ],
    "measurementTechnique": "Obliczenia czystej wartości bieżącej (NPV) i stopy zwrotu (ROI) oparte na manualnie korygowanej stawce za 1 kWh energii elektrycznej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Dom 100 m² (WT 2021): Różnica inwestycyjna 24500 zł.",
        "Dom 150 m² (WT 2021): Różnica inwestycyjna 29500 zł.",
        "Dom 200 m² (WT 2021): Różnica inwestycyjna 36000 zł.",
        "Dom 150 m² (Energooszczędny): Różnica inwestycyjna 27500 zł."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#webapp-roi",
    "name": "Symulator Amortyzacji Systemów Grzewczych",
    "description": "Interaktywny symulator finansowy wyliczający na żywo czas zwrotu z inwestycji (ROI) przy wymianie źródła ciepła dla różnych standardów budynków w zależności od aktualnych stawek dystrybutorów prądu.",
    "applicationCategory": "FinanceApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-roi-container" id="analiza-roi-app">
    <div class="rk-roi-header">
        <h2>Jaka jest realna stopa zwrotu i czas amortyzacji?</h2>
        <p>Inwestorzy dają się uwieść magii &#8222;niskich rachunków&#8221;, zapominając o matematyce finansowej. Wprowadź aktualne stawki i zobacz twarde dane ekonomiczne.</p>
    </div>

    <div class="rk-roi-body">
        <div class="rk-roi-intro">
            <p>Realny czas amortyzacji pompy ciepła w stosunku do bufora z grzałkami elektrycznymi silnie zależy nie tylko od metrażu budynku, ale przede wszystkim od <strong>aktualnych stawek za energię elektryczną</strong>. Obliczenia stopy zwrotu (ROI) opierają się na metodzie czystej wartości bieżącej (NPV) z uwzględnieniem kosztów serwisu pompy ciepła, które wynoszą średnio <strong>500 zł brutto rocznie</strong> (obowiązkowe przeglądy gwarancyjne wg wymogów unijnej dyrektywy f-gazowej).</p>
            <p>Sprawdź <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/">realne wskaźniki dla swojego domu</a>, dopasowując cenę 1 kWh u swojego dostawcy prądu. Wyliczenia porównują układ buforowy (taryfa G12w) z pompą ciepła o średniorocznym SCOP = 3,5 (taryfa G11).</p>
        </div>

        <div class="rk-roi-dashboard">
            
            <h3 class="rk-roi-title">1. Wprowadź stawki za 1 kWh (z dystrybucją)</h3>
            <div class="rk-roi-prices">
                <div class="rk-price-control">
                    <label>
                        Taryfa G12w (Tania &#8211; Bufor)
                        <span class="rk-price-val"><span id="lblG12">0.63</span> zł</span>
                    </label>
                    <input type="range" id="sliderG12" class="rk-price-slider" min="0.40" max="3.00" step="0.01" value="0.63">
                </div>
                <div class="rk-price-control">
                    <label>
                        Taryfa G11 (Stała &#8211; Pompa)
                        <span class="rk-price-val"><span id="lblG11">0.95</span> zł</span>
                    </label>
                    <input type="range" id="sliderG11" class="rk-price-slider" min="0.60" max="4.00" step="0.01" value="0.95">
                </div>
            </div>

            <h3 class="rk-roi-title">2. Wybierz profil swojego budynku</h3>
            <div class="rk-roi-options">
                <button class="rk-roi-btn active" data-id="1">
                    <span class="rk-roi-btn-title">Dom 100 m² (WT 2021)</span>
                    <span class="rk-roi-btn-sub">Zapotrzebowanie: 5 000 kWh/rok</span>
                </button>
                <button class="rk-roi-btn" data-id="2">
                    <span class="rk-roi-btn-title">Dom 150 m² (WT 2021)</span>
                    <span class="rk-roi-btn-sub">Zapotrzebowanie: 7 500 kWh/rok</span>
                </button>
                <button class="rk-roi-btn" data-id="3">
                    <span class="rk-roi-btn-title">Dom 200 m² (WT 2021)</span>
                    <span class="rk-roi-btn-sub">Zapotrzebowanie: 10 000 kWh/rok</span>
                </button>
                <button class="rk-roi-btn" data-id="4">
                    <span class="rk-roi-btn-title">Dom 150 m² (Energooszczędny)</span>
                    <span class="rk-roi-btn-sub">Zapotrzebowanie: 4 500 kWh/rok</span>
                </button>
            </div>

            <div class="rk-roi-results-wrapper">
                <div class="rk-roi-finance-card">
                    <div class="rk-roi-card-header">
                        Bufor 1000L + Grzałki
                        <span class="rk-roi-badge" style="background:#f1f5f9; color:#64748b;">Taryfa G12w</span>
                    </div>
                    <div class="rk-roi-main-val" id="valInvBufor">13 500 zł</div>
                    <div class="rk-roi-sub-val">Koszt inwestycji (Start)</div>
                    <ul class="rk-roi-list">
                        <li><span>Roczny rachunek (prąd):</span> <span id="valCostBufor">3 150 zł</span></li>
                        <li><span>Roczny serwis (naprawy):</span> <span>0 zł</span></li>
                    </ul>
                </div>

                <div class="rk-roi-finance-card highlight">
                    <div class="rk-roi-card-header">
                        Pompa Ciepła (Powietrze)
                        <span class="rk-roi-badge">SCOP 3.5 (G11)</span>
                    </div>
                    <div class="rk-roi-main-val" id="valInvPompa">38 000 zł</div>
                    <div class="rk-roi-sub-val">Koszt inwestycji (Start)</div>
                    <ul class="rk-roi-list">
                        <li><span>Roczny rachunek (prąd):</span> <span id="valCostPompa">1 356 zł</span></li>
                        <li style="color:var(--rk-roi-red);"><span>Obowiązkowy przegląd:</span> <span id="valSerPompa">0 zł</span></li>
                    </ul>
                </div>
            </div>
            
            <div class="rk-roi-summary">
                <div class="rk-roi-time-label">
                    Różnica inwestycyjna rzędu <strong id="valDiff">24 500 zł</strong> zwróci się w postaci niższych rachunków za prąd po:
                </div>
                <div class="rk-roi-time" id="valRoi">13,6 lat</div>
            </div>
        </div>

        <div class="rk-roi-alert" id="alertBox">
            Jeśli inwestor wyda oszczędności na pompę ciepła w małym domu, będzie spłacał nadwyżkę inwestycyjną przez kilkanaście lat.
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Slidery
    var sliderG12 = document.getElementById('sliderG12');
    var sliderG11 = document.getElementById('sliderG11');
    var lblG12 = document.getElementById('lblG12');
    var lblG11 = document.getElementById('lblG11');
    
    // Przyciski i pola wyników
    var btns = document.querySelectorAll('.rk-roi-btn');
    var valInvBufor = document.getElementById('valInvBufor');
    var valCostBufor = document.getElementById('valCostBufor');
    var valInvPompa = document.getElementById('valInvPompa');
    var valCostPompa = document.getElementById('valCostPompa');
    var valSerPompa = document.getElementById('valSerPompa');
    var valDiff = document.getElementById('valDiff');
    var valRoi = document.getElementById('valRoi');
    var alertBox = document.getElementById('alertBox');

    var currentProfile = "1";

    // Baza danych profili (zużycie i koszty stałe)
    var profiles = {
        "1": { q: 5000, invB: 13500, invP: 38000, diff: 24500, serP: 0 },
        "2": { q: 7500, invB: 14500, invP: 44000, diff: 29500, serP: 0 },
        "3": { q: 10000, invB: 16000, invP: 52000, diff: 36000, serP: 0 },
        "4": { q: 4500, invB: 14500, invP: 42000, diff: 27500, serP: 500 }
    };

    function formatPln(num) {
        return Math.round(num).toString().replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " zł";
    }

    function updateCalculations() {
        var priceG12 = parseFloat(sliderG12.value);
        var priceG11 = parseFloat(sliderG11.value);
        
        lblG12.textContent = priceG12.toFixed(2);
        lblG11.textContent = priceG11.toFixed(2);

        var data = profiles[currentProfile];
        
        // Koszty Bufora (1:1 zużycie z grzałek)
        var costB = data.q * priceG12;
        
        // Koszty Pompy Ciepła (Zużycie przez SCOP 3.5)
        var costP = (data.q / 3.5) * priceG11;
        var totalCostP = costP + data.serP;

        var savings = costB - totalCostP;
        var roi = 0;
        
        valInvBufor.textContent = formatPln(data.invB);
        valCostBufor.textContent = formatPln(costB);
        
        valInvPompa.textContent = formatPln(data.invP);
        valCostPompa.textContent = formatPln(costP);
        valSerPompa.textContent = formatPln(data.serP);
        
        valDiff.textContent = formatPln(data.diff);

        // Analiza logiczna i generowanie komunikatów (bez operatora ampersand)
        if (savings > 0) {
            roi = data.diff / savings;
            valRoi.textContent = roi.toFixed(1) + " lat";
            
            if (roi < 10) {
                alertBox.className = "rk-roi-alert safe";
                alertBox.textContent = "Opłacalna inwestycja. Szybki zwrot z nadwyżki kapitałowej gwarantuje generowanie realnych oszczędności finansowych.";
            } else {
                if (roi < 15) {
                    alertBox.className = "rk-roi-alert warning";
                    alertBox.textContent = "Zwrot powyżej 10 lat. Zastanów się nad ryzykiem usterki pompy ciepła po okresie gwarancyjnym, zanim inwestycja w pełni się zwróci.";
                } else {
                    alertBox.className = "rk-roi-alert";
                    alertBox.textContent = "Nieopłacalna inwestycja w aktualnych realiach cenowych. Będziesz spłacać pompę ciepła dłużej niż wynosi jej technologiczna żywotność.";
                }
            }
        } else {
            valRoi.textContent = "Brak zwrotu";
            alertBox.className = "rk-roi-alert";
            alertBox.textContent = "KATASTROFA FINANSOWA: Przy obecnym stosunku cen taryf G12w i G11, bufor generuje niższe koszty roczne niż pompa ciepła. Inwestycja w pompę to czysta strata.";
        }
    }

    // Nasłuchiwanie zmian na suwakach
    sliderG12.addEventListener('input', updateCalculations);
    sliderG11.addEventListener('input', updateCalculations);

    // Nasłuchiwanie zmian na przyciskach profili
    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            btns.forEach(function(b) { b.classList.remove('active'); });
            this.classList.add('active');
            currentProfile = this.getAttribute('data-id');
            updateCalculations();
        });
    });

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



<style>
:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-primary: #2563eb;
    --rk-calc-bg: #f8fafc;
    --rk-calc-accent: #10b981;
    --rk-calc-text: #334155;
    --rk-calc-border: #e2e8f0;
}

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

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

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

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

.rk-calc-body {
    padding: 40px 50px;
}

/* Interfejs Kalkulatora */
.rk-calc-dashboard {
    background: var(--rk-calc-bg);
    border-radius: 20px;
    padding: 35px;
    margin-bottom: 40px;
    border: 1px solid var(--rk-calc-border);
}

.rk-slider-container {
    margin-bottom: 30px;
}

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

.rk-val-badge {
    background: var(--rk-calc-primary);
    color: #ffffff;
    padding: 6px 16px;
    border-radius: 12px;
    font-size: 20px;
}

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

.rk-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-calc-primary);
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(37, 99, 235, 0.3);
    transition: transform 0.1s;
}

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

/* Wyniki Grid */
.rk-results-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.rk-result-card {
    background: #ffffff;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-calc-border);
    text-align: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-result-title {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 700;
    color: #64748b;
    margin-bottom: 10px;
    display: block;
    letter-spacing: 0.5px;
}

.rk-result-value {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-calc-dark);
}

.rk-result-value span {
    font-size: 16px;
    font-weight: 600;
    color: #94a3b8;
}

/* Kroki Algorytmu */
.rk-steps-container {
    counter-reset: rk-step;
}

.rk-step-item {
    position: relative;
    padding-left: 50px;
    margin-bottom: 35px;
}

.rk-step-item::before {
    counter-increment: rk-step;
    content: counter(rk-step);
    position: absolute;
    left: 0;
    top: 0;
    width: 32px;
    height: 32px;
    background: var(--rk-calc-accent);
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 16px;
    box-shadow: 0 4px 10px rgba(16, 185, 129, 0.3);
}

.rk-step-item h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin: 0 0 10px 0;
    line-height: 1.4;
}

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

.rk-math-box {
    background: #f1f5f9;
    padding: 15px 20px;
    border-radius: 12px;
    font-family: 'Courier New', Courier, monospace;
    font-weight: 700;
    color: #1e293b;
    border-left: 4px solid var(--rk-calc-primary);
    overflow-x: auto;
    margin-bottom: 15px;
}

.rk-math-highlight {
    color: var(--rk-calc-primary);
}

.rk-step-conclusion {
    display: inline-block;
    background: #ecfdf5;
    color: #047857;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    border: 1px solid #a7f3d0;
}

@media (max-width: 768px) {
    .rk-calc-header, .rk-calc-body { padding: 30px 20px; }
    .rk-calc-dashboard { padding: 25px 20px; }
    .rk-results-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-step-item { padding-left: 0; padding-top: 45px; }
    .rk-step-item::before { top: 0; left: 0; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#article-algorytm",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/"
    },
    "headline": "Kalkulator doboru mocy grzałek i pojemności bufora: Algorytm krok po kroku",
    "description": "Interaktywny algorytm wyliczający wymagane zasilanie elektryczne i objętość bufora na podstawie projektowego obciążenia cieplnego z normy PN-EN 12831.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-08",
    "dateModified": "2026-07-08"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#dataset-kalkulator",
    "name": "Wzory fizyczne doboru bufora ciepła wg PN-EN 12831",
    "description": "Zestaw stałych fizycznych i współczynników używanych do obliczania dobowego zapotrzebowania na energię, mocy układów grzewczych i pojemności wody.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator doboru mocy grzałek",
      "dobór pojemności bufora do podłogówki",
      "wzór na pojemność cieplną wody",
      "obciążenie cieplne pn-en 12831",
      "akumulacja ciepła w jastrychu"
    ],
    "measurementTechnique": "Bilans energetyczny uwzględniający przerwę w dostawie energii w taryfie G12w oraz ujemną pojemność akumulacyjną wylewki.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Ciepło właściwe wody (cw) = 4,19 kJ/(kg*K).",
        "Różnica temperatur delta T = 50 K (85°C - 35°C).",
        "Sprawność przesyłu = 0,98."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#webapp-kalkulator",
    "name": "Kalkulator Inżynierski Bufora Ciepła",
    "description": "Zaawansowane narzędzie skryptowe do dynamicznego obliczania optymalnej mocy grzałek elektrycznych i pojemności zbiornika akumulacyjnego na żywo.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-wrapper" id="kalkulator-bufora-app">
    <div class="rk-calc-header">
        <h2>Kalkulator doboru mocy grzałek i pojemności bufora</h2>
        <p>Przesuń suwak, aby dostosować projektowe obciążenie cieplne i zobacz w czasie rzeczywistym, jak zmieniają się wytyczne instalacyjne na podstawie algorytmu bilansu energetycznego.</p>
    </div>

    <div class="rk-calc-body">
        
        <div class="rk-calc-dashboard">
            <div class="rk-slider-container">
                <div class="rk-slider-label">
                    <span>Obciążenie cieplne budynku (Q<sub>obl</sub>)</span>
                    <div class="rk-val-badge"><span id="valQobl">6.5</span> kW</div>
                </div>
                <input type="range" id="inputQobl" class="rk-range-input" min="3" max="15" step="0.5" value="6.5">
            </div>

            <div class="rk-results-grid">
                <div class="rk-result-card">
                    <span class="rk-result-title">Zapotrzebowanie dobowe</span>
                    <div class="rk-result-value"><span id="valEdob">156</span> <span>kWh</span></div>
                </div>
                <div class="rk-result-card">
                    <span class="rk-result-title">Min. moc grzałek</span>
                    <div class="rk-result-value" style="color: var(--rk-calc-primary);"><span id="valPgrz">15.9</span> <span>kW</span></div>
                </div>
                <div class="rk-result-card">
                    <span class="rk-result-title">Pojemność bufora</span>
                    <div class="rk-result-value" style="color: var(--rk-calc-accent);"><span id="valVbufor">1013</span> <span>litrów</span></div>
                </div>
            </div>
        </div>

        <div class="rk-steps-container">
            <div class="rk-step-item">
                <h3>Wyznaczenie maksymalnej dobowej energii grzewczej</h3>
                <p>Obliczamy maksymalne dobowe zapotrzebowanie na energię E<sub>dob</sub> w najzimniejszy dzień roku na podstawie projektowego obciążenia cieplnego wyznaczonego wg <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">PN-EN 12831</a>.</p>
                <div class="rk-math-box">
                    E<sub>dob</sub> = Q<sub>obl</sub> &times; 24 h<br>
                    E<sub>dob</sub> = <span class="rk-math-highlight dynamic-q">6.5</span> &times; 24 = <strong class="dynamic-edob">156 kWh</strong>
                </div>
            </div>

            <div class="rk-step-item">
                <h3>Wyznaczenie minimalnej mocy grzałek elektrycznych</h3>
                <p>Grzałki muszą dostarczyć całą energię wyłącznie w czasie trwania taniej taryfy (10 godzin). Uwzględniamy sprawność przesyłu &eta; = 0,98.</p>
                <div class="rk-math-box">
                    P<sub>grz</sub> = E<sub>dob</sub> / (t<sub>tania</sub> &times; &eta;)<br>
                    P<sub>grz</sub> = <span class="rk-math-highlight dynamic-edob">156</span> / (10 &times; 0.98) &approx; <strong class="dynamic-pgrz">15.92 kW</strong>
                </div>
                <div class="rk-step-conclusion" id="concPgrz">
                    Zastosuj zespół grzałek o mocy min. 16 kW. Bezpieczniki przedlicznikowe: min. 25 kW.
                </div>
            </div>

            <div class="rk-step-item">
                <h3>Obliczenie wymaganej pojemności bufora wodnego</h3>
                <p>Zapotrzebowanie na czas drogiej taryfy (14 h) wynosi <strong id="txtEdroga">91 kWh</strong>. Około 35% (<strong id="txtJastrych">31.85 kWh</strong>) zmagazynuje ciężki jastrych, resztę musi przejąć bufor przy pracy na parametrach 85/35&deg;C (&Delta;T = 50 K).</p>
                <div class="rk-math-box">
                    V = (E<sub>bufora</sub> &times; 3600) / (c<sub>w</sub> &times; &Delta;T)<br>
                    V = (<span class="rk-math-highlight dynamic-ebufor">59.15</span> &times; 3600) / (4.19 &times; 50) &approx; <strong class="dynamic-vbufor">1013 litrów</strong>
                </div>
                <div class="rk-step-conclusion" id="concVbufor">
                    Wymagany zbiornik o pojemności: 1000 l.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var slider = document.getElementById('inputQobl');
    
    // Elementy UI
    var vQobl = document.getElementById('valQobl');
    var vEdob = document.getElementById('valEdob');
    var vPgrz = document.getElementById('valPgrz');
    var vVbufor = document.getElementById('valVbufor');
    
    // Elementy w tekście
    var dynQ = document.querySelectorAll('.dynamic-q');
    var dynEdob = document.querySelectorAll('.dynamic-edob');
    var dynPgrz = document.querySelectorAll('.dynamic-pgrz');
    var dynEbufor = document.querySelectorAll('.dynamic-ebufor');
    var dynVbufor = document.querySelectorAll('.dynamic-vbufor');
    
    var txtEdroga = document.getElementById('txtEdroga');
    var txtJastrych = document.getElementById('txtJastrych');
    var concPgrz = document.getElementById('concPgrz');
    var concVbufor = document.getElementById('concVbufor');

    function roundStep(num, step) {
        return Math.ceil(num / step) * step;
    }

    function calculateSystem() {
        var q_obl = parseFloat(slider.value);
        
        // Krok 1
        var e_dob = q_obl * 24;
        
        // Krok 2
        var p_grz_raw = e_dob / (10 * 0.98);
        var p_grz_zainstalowana = roundStep(p_grz_raw, 3); 
        var moc_przylaczeniowa = p_grz_zainstalowana + 9;
        
        // Krok 3
        var e_droga = q_obl * 14;
        var e_jastrych = e_droga * 0.35;
        var e_bufor = e_droga - e_jastrych;
        var v_bufor_raw = (e_bufor * 3600) / (4.19 * 50);
        
        var v_bufor_norm = 500;
        if (v_bufor_raw > 600) { v_bufor_norm = 800; }
        if (v_bufor_raw > 900) { v_bufor_norm = 1000; }
        if (v_bufor_raw > 1200) { v_bufor_norm = 1500; }
        if (v_bufor_raw > 1700) { v_bufor_norm = 2000; }

        // Aktualizacja UI Głównego
        vQobl.textContent = q_obl.toFixed(1);
        vEdob.textContent = e_dob.toFixed(0);
        vPgrz.textContent = p_grz_raw.toFixed(1);
        vVbufor.textContent = Math.round(v_bufor_raw);

        // Aktualizacja klas dynamicznych (wzory)
        dynQ.forEach(function(el) { el.textContent = q_obl.toFixed(1); });
        dynEdob.forEach(function(el) { el.textContent = e_dob.toFixed(1) + ' kWh'; });
        dynPgrz.forEach(function(el) { el.textContent = p_grz_raw.toFixed(2) + ' kW'; });
        dynEbufor.forEach(function(el) { el.textContent = e_bufor.toFixed(2); });
        dynVbufor.forEach(function(el) { el.textContent = Math.round(v_bufor_raw) + ' litrów'; });
        
        // Aktualizacja tekstu w opisie
        txtEdroga.textContent = e_droga.toFixed(1) + ' kWh';
        txtJastrych.textContent = e_jastrych.toFixed(1) + ' kWh';
        
        // Konkluzje (zaokrąglanie i rekomendacje)
        concPgrz.innerHTML = 'Zastosuj zespół grzałek o mocy min. <strong>' + p_grz_zainstalowana + ' kW</strong>. Bezpieczniki przedlicznikowe: min. <strong>' + moc_przylaczeniowa + ' kW</strong>.';
        concVbufor.innerHTML = 'Najbliższy znormalizowany zbiornik rynkowy: <strong>' + v_bufor_norm + ' litrów</strong>.';
    }

    slider.addEventListener('input', calculateSystem);
    
    // Inicjalizacja przy starcie
    calculateSystem();
});
</script>



<style>
:root {
    --rk-proj-dark: #1e293b;
    --rk-proj-blue: #0284c7;
    --rk-proj-light: #f1f5f9;
    --rk-proj-orange: #f97316;
    --rk-proj-orange-light: #fff7ed;
    --rk-proj-text: #475569;
    --rk-proj-border: #e2e8f0;
}

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

.rk-proj-header {
    background: var(--rk-proj-dark);
    padding: 40px 50px;
    color: #ffffff;
    text-align: center;
    position: relative;
}

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

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

.rk-proj-content {
    padding: 40px 50px;
}

.rk-proj-intro {
    font-size: 16px;
    line-height: 1.8;
    color: var(--rk-proj-text);
    margin-bottom: 30px;
}

.rk-proj-intro a {
    color: var(--rk-proj-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.3s;
}

.rk-proj-intro a:hover {
    color: var(--rk-proj-orange);
}

/* Interaktywny panel sterowania */
.rk-proj-interactive {
    background: var(--rk-proj-light);
    border-radius: 20px;
    padding: 30px;
    margin-bottom: 30px;
    border: 1px solid var(--rk-proj-border);
}

.rk-proj-controls {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
    background: #ffffff;
    padding: 8px;
    border-radius: 16px;
    border: 1px solid var(--rk-proj-border);
}

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

.rk-proj-btn.active {
    background: var(--rk-proj-dark);
    color: #ffffff;
    box-shadow: 0 10px 15px -3px rgba(30, 41, 59, 0.2);
}

/* Karty parametrów (Grid) */
.rk-proj-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.rk-proj-card {
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-proj-border);
    transition: transform 0.3s, box-shadow 0.3s;
}

.rk-proj-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 25px -5px rgba(0,0,0,0.05);
}

.rk-proj-icon-wrapper {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    background: var(--rk-proj-orange-light);
    color: var(--rk-proj-orange);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

.rk-proj-card h4 {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-proj-dark);
    margin: 0 0 10px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-proj-value {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-proj-blue);
    margin-bottom: 10px;
    display: block;
}

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

/* Kreatywne CTA */
.rk-proj-cta-section {
    background: linear-gradient(135deg, var(--rk-proj-blue) 0%, #0369a1 100%);
    padding: 45px 50px;
    text-align: center;
}

.rk-proj-cta-section h3 {
    color: #ffffff;
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
}

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

.rk-btn-premium {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #ffffff;
    color: var(--rk-proj-blue);
    font-size: 18px;
    font-weight: 900;
    padding: 20px 45px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.2);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-btn-premium:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 20px 35px -5px rgba(0, 0, 0, 0.3);
    background: var(--rk-proj-orange);
    color: #ffffff;
}

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

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

@media (max-width: 768px) {
    .rk-proj-header, .rk-proj-content, .rk-proj-cta-section { padding: 30px 20px; }
    .rk-proj-controls { flex-direction: column; gap: 10px; background: transparent; padding: 0; border: none; }
    .rk-proj-btn { background: #ffffff; border: 1px solid var(--rk-proj-border); padding: 18px; }
    .rk-proj-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-btn-premium { width: 100%; padding: 18px 20px; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#article-projekt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/"
    },
    "headline": "Jak wybór bufora ciepła drastycznie zmienia projekt ogrzewania podłogowego?",
    "description": "Zobacz, jak zasilanie z bufora ładowanego w taryfie nocnej zmienia rozstaw rur, grubość jastrychu i maksymalną długość pętli grzewczych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-08",
    "dateModified": "2026-07-08"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#dataset-parametry",
    "name": "Parametry projektowe OZC: Bufor Ciepła vs Pompa Ciepła",
    "description": "Zestawienie inżynierskie różnic w projektowaniu instalacji płaszczyznowej (rozstaw, wylewka, temperatura) w zależności od dynamiki źródła ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rozstaw rur bufor ciepła",
      "jastrych cementowy podłogówka",
      "temperatura zasilania z bufora",
      "akumulacja w betonie ogrzewanie",
      "maksymalna długość pętli fi 16"
    ],
    "measurementTechnique": "Obliczenia akumulacji periodycznej, oporów hydraulicznych i pojemności cieplnej jastrychu wg normy OZC.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Parametry dla Bufora: Zasilanie 38-40°C, rozstaw rur 10-12.5 cm, jastrych cementowy 70-80 mm.",
        "Parametry dla Pompy Ciepła: Zasilanie 30-32°C, rozstaw rur 15 cm, wylewka standardowa."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#webapp-symulator",
    "name": "Symulator Parametrów Projektowych Podłogówki",
    "description": "Interaktywny panel demonstrujący wpływ wyboru źródła ciepła na wytyczne wykonawcze instalacji ogrzewania płaszczyznowego.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-proj-container" id="projekt-wplyw-app">
    <div class="rk-proj-header">
        <h2>Jak to wpływa na projekt instalacji?</h2>
        <p>Wybór źródła zasilania wymusza całkowitą zmianę podejścia do obliczeń hydraulicznych. Symulacja pokazuje różnice w wytycznych dla instalatora.</p>
    </div>

    <div class="rk-proj-content">
        <div class="rk-proj-intro">
            <p>
                Wybór zasilania z bufora ciepła ładowanego okresowo w taryfie nocnej drastycznie wpływa na projekt i wymusza uwzględnienie <strong>zjawiska akumulacji periodycznej</strong>. O ile przy pompie ciepła dąży się do jak najniższej temperatury zasilania w celu maksymalizacji COP, o tyle w układzie z buforem instalację projektuje się na parametry graniczne dla komfortu stóp. 
            </p>
            <p>
                Wszystkie zmienne muszą zostać bezpośrednio skorelowane z kompleksowym badaniem OZC. Błędny projekt w systemie buforowym skutkuje lokalnym niedogrzaniem, ponieważ woda z wychładzającego się bufora nie dociera do pętli o zbyt dużych oporach hydraulicznych (pętle powyżej <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">100 m długości rury fi 16</a> są absolutnie niedopuszczalne).
            </p>
        </div>

        <div class="rk-proj-interactive">
            <div class="rk-proj-controls">
                <button class="rk-proj-btn" id="btnHeatPump">
                    <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 2v20"></path><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    Dla Pompy Ciepła
                </button>
                <button class="rk-proj-btn active" id="btnBuffer">
                    <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 2v20"></path><path d="M12 2a4 4 0 0 1 4 4v12a4 4 0 0 1-4 4"></path><path d="M12 2a4 4 0 0 0-4 4v12a4 4 0 0 0 4 4"></path><polyline points="12 22 12 18"></polyline><polyline points="12 6 12 2"></polyline></svg>
                    Dla Bufora (Taryfa Nocna)
                </button>
            </div>

            <div class="rk-proj-grid">
                <div class="rk-proj-card">
                    <div class="rk-proj-icon-wrapper">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path></svg>
                    </div>
                    <h4>Temperatura Zasilania</h4>
                    <span class="rk-proj-value" id="valTemp">38 - 40°C</span>
                    <p class="rk-proj-desc" id="descTemp">Wyższa <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">temperatura graniczna</a> pozwala na szybsze "rozładowanie" bufora do płyty grzewczej, zanim woda w zbiorniku spadnie poniżej punktu użyteczności.</p>
                </div>

                <div class="rk-proj-card">
                    <div class="rk-proj-icon-wrapper">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="21" y1="10" x2="3" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="21" y1="18" x2="3" y2="18"></line></svg>
                    </div>
                    <h4>Rozstaw Rur</h4>
                    <span class="rk-proj-value" id="valSpacing">10 cm</span>
                    <p class="rk-proj-desc" id="descSpacing">Gęsty <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">rozstaw (10 - 12.5 cm)</a> obniża opór cieplny płyty. Podłogówka może błyskawicznie "naładować" beton wysokim strumieniem energii.</p>
                </div>

                <div class="rk-proj-card">
                    <div class="rk-proj-icon-wrapper">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 20h.01"></path><path d="M7 20v-4"></path><path d="M12 20v-8"></path><path d="M17 20V8"></path><path d="M22 4v16"></path></svg>
                    </div>
                    <h4>Wylewka (Jastrych)</h4>
                    <span class="rk-proj-value" id="valMass">70 - 80 mm</span>
                    <p class="rk-proj-desc" id="descMass">Odradza się cienkie wylewki anhydrytowe. Klasyczny, gruby jastrych cementowy działa jak potężny <a href="https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/">akumulator ciepła</a> na resztę dnia.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-proj-cta-section">
        <h3>Nie ryzykuj. Powierz OZC inżynierom.</h3>
        <p>Błędnie wyliczone przepływy i długości pętli w systemie buforowym oznaczają zimny dom. Zaufaj ekspertom, którzy przeliczyli tysiące kilometrów rur.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-premium">
            ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btnHeatPump = document.getElementById('btnHeatPump');
    var btnBuffer = document.getElementById('btnBuffer');
    
    var valTemp = document.getElementById('valTemp');
    var descTemp = document.getElementById('descTemp');
    
    var valSpacing = document.getElementById('valSpacing');
    var descSpacing = document.getElementById('descSpacing');
    
    var valMass = document.getElementById('valMass');
    var descMass = document.getElementById('descMass');

    btnHeatPump.addEventListener('click', function() {
        btnBuffer.classList.remove('active');
        btnHeatPump.classList.add('active');
        
        valTemp.textContent = '30 - 32°C';
        descTemp.innerHTML = 'Dąży się do jak najniższej temperatury zasilania, aby maksymalizować współczynnik efektywności (COP) sprężarki w pompie ciepła.';
        
        valSpacing.textContent = '15 cm';
        descSpacing.innerHTML = 'Standardowy rozstaw rur jest wystarczający w strefach przebywania ludzi, ponieważ źródło ciepła pracuje stabilnie i ciągle przez całą dobę.';
        
        valMass.textContent = 'Standard';
        descMass.innerHTML = 'Możliwość stosowania cieńszych wylewek (np. anhydrytowych). Mniejsza bezwładność ułatwia szybkie sterowanie temperaturą w pomieszczeniu.';
    });

    btnBuffer.addEventListener('click', function() {
        btnHeatPump.classList.remove('active');
        btnBuffer.classList.add('active');
        
        valTemp.textContent = '38 - 40°C';
        descTemp.innerHTML = 'Wyższa <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">temperatura graniczna</a> pozwala na szybsze "rozładowanie" bufora do płyty grzewczej, zanim woda w zbiorniku spadnie poniżej punktu użyteczności.';
        
        valSpacing.textContent = '10 cm';
        descSpacing.innerHTML = 'Gęsty <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">rozstaw (10 - 12.5 cm)</a> obniża opór cieplny płyty. Podłogówka może błyskawicznie "naładować" beton wysokim strumieniem energii.';
        
        valMass.textContent = '70 - 80 mm';
        descMass.innerHTML = 'Odradza się cienkie wylewki anhydrytowe. Klasyczny, gruby jastrych cementowy działa jak potężny <a href="https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/">akumulator ciepła</a> na resztę dnia.';
    });
});
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-blue: #0ea5e9;
    --rk-case-blue-light: #f0f9ff;
    --rk-case-gray: #f8fafc;
    --rk-case-border: #cbd5e1;
    --rk-case-text: #475569;
    --rk-case-accent: #f59e0b;
}

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

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

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

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

.rk-case-persona {
    display: flex;
    align-items: center;
    gap: 20px;
    background: #1e293b;
    border: 1px solid rgba(255,255,255,0.1);
    padding: 20px;
    border-radius: 16px;
    margin-top: 25px;
}

.rk-case-avatar {
    width: 60px;
    height: 60px;
    background: var(--rk-case-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 900;
    color: #ffffff;
}

.rk-case-persona-info h3 {
    margin: 0 0 5px 0;
    font-size: 18px;
    font-weight: 800;
    color: #ffffff;
}

.rk-case-persona-info p {
    margin: 0;
    font-size: 14px;
    color: #cbd5e1;
}

.rk-case-body {
    padding: 40px 50px;
    background: var(--rk-case-gray);
}

/* Interaktywna Oś Czasu (Timeline / Accordion) */
.rk-timeline-wrapper {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-timeline-item {
    background: #ffffff;
    border: 1px solid var(--rk-case-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.rk-timeline-item.active {
    border-color: var(--rk-case-blue);
    box-shadow: 0 10px 25px -5px rgba(14, 165, 233, 0.15);
}

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

.rk-timeline-step {
    width: 36px;
    height: 36px;
    background: var(--rk-case-gray);
    color: var(--rk-case-text);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 16px;
    margin-right: 20px;
    flex-shrink: 0;
    transition: all 0.3s;
}

.rk-timeline-item.active .rk-timeline-step {
    background: var(--rk-case-blue);
    color: #ffffff;
}

.rk-timeline-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-case-dark);
    flex-grow: 1;
}

.rk-timeline-icon {
    color: var(--rk-case-text);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-timeline-item.active .rk-timeline-icon {
    transform: rotate(180deg);
    color: var(--rk-case-blue);
}

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

.rk-timeline-inner {
    padding: 0 25px 25px 75px;
    font-size: 15px;
    line-height: 1.8;
    color: var(--rk-case-text);
}

.rk-timeline-inner a {
    color: var(--rk-case-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-case-blue);
    transition: all 0.3s;
}

.rk-timeline-inner a:hover {
    background: var(--rk-case-blue-light);
    border-bottom-style: solid;
}

.rk-case-data-box {
    background: var(--rk-case-blue-light);
    border-left: 4px solid var(--rk-case-blue);
    padding: 15px 20px;
    border-radius: 0 8px 8px 0;
    margin-top: 15px;
}

.rk-case-data-box strong {
    color: var(--rk-case-dark);
    display: block;
    margin-bottom: 5px;
}

@media (max-width: 768px) {
    .rk-case-header, .rk-case-body { padding: 30px 20px; }
    .rk-case-persona { flex-direction: column; text-align: center; gap: 15px; }
    .rk-timeline-inner { padding: 0 20px 20px 20px; }
    .rk-timeline-btn { padding: 20px; }
    .rk-timeline-step { margin-right: 15px; }
    .rk-timeline-title { font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#article-case-study",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/"
    },
    "headline": "Studium przypadku: Ogrzewanie buforem w domu 120 m² – Od dylematu do projektu",
    "description": "Realne studium przypadku inwestora z Sanoka, analizujące przejście z planów montażu pompy ciepła na zoptymalizowany układ buforowy 1000l w taryfie G12w.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-08",
    "dateModified": "2026-07-08"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#dataset-case-study",
    "name": "Parametry audytu OZC i wytyczne projektowe dla domu 120m2",
    "description": "Zbiór danych z realnego projektu instalacji płaszczyznowej, uwzględniający rozstaw rur, masę jastrychu oraz redukcję kosztów instalacyjnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego przykład",
      "czy warto ogrzewać buforem",
      "koszty instalacji podłogówki 120m2",
      "gęstość rur podłogówka",
      "dobór wylewki do bufora"
    ],
    "measurementTechnique": "Analiza wskaźników przed i po wykonaniu audytu OZC z adaptacją wytycznych dla pracy akumulacyjnej w strefach brzegowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Metraż: 120 mkw., zapotrzebowanie z audytu OZC: 4.2 kW.",
        "Zalecany jastrych: betonowy, grubość min. 70 mm.",
        "Oszczędność inwestycyjna względem pompy: ok. 28 000 zł."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#webapp-case-study",
    "name": "Interaktywny Dziennik Inwestycji",
    "description": "Moduł edukacyjny pozwalający na prześledzenie chronologicznych etapów współpracy eksperta z inwestorem – od problemu budżetowego po realizację.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-container" id="studium-przypadku-app">
    <div class="rk-case-header">
        <h2>Studium Przypadku: Ratowanie budżetu przed stanem deweloperskim</h2>
        <p>Teoria to jedno, ale jak dobór źródła ciepła wygląda w starciu z realnymi problemami na budowie? Prześledźmy autentyczną historię z mojej inżynierskiej teczki.</p>
        
        <div class="rk-case-persona">
            <div class="rk-case-avatar">T</div>
            <div class="rk-case-persona-info">
                <h3>Tomasz (41 lat), inwestor z Sanoka</h3>
                <p>Buduje dom parterowy 120 m² w standardzie WT 2021. Dom zamknięty, czas na instalacje.</p>
            </div>
        </div>
    </div>

    <div class="rk-case-body">
        <div class="rk-timeline-wrapper">
            
            <div class="rk-timeline-item">
                <button class="rk-timeline-btn">
                    <span class="rk-timeline-step">1</span>
                    <span class="rk-timeline-title">Dylemat i spotkanie</span>
                    <svg class="rk-timeline-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-timeline-content">
                    <div class="rk-timeline-inner">
                        Tomasz zgłosił się do mnie w trudnym momencie. Koszty dachu i stolarki okiennej wciągnęły rezerwy finansowe. Z pierwotnie zakładanych 45 tysięcy złotych na kotłownię z pompą ciepła zostało mu nieco ponad 15 tysięcy. Zapytał wprost: <em>"Panie Robercie, czy zasilanie podłogówki z bufora 1000 litrów na taryfie G12w to samobójstwo? Bo jeśli tak, muszę brać kredyt."</em>
                    </div>
                </div>
            </div>

            <div class="rk-timeline-item">
                <button class="rk-timeline-btn">
                    <span class="rk-timeline-step">2</span>
                    <span class="rk-timeline-title">Analiza i audyt OZC</span>
                    <svg class="rk-timeline-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-timeline-content">
                    <div class="rk-timeline-inner">
                        Zanim odpowiedziałem, poprosiłem o projekt architektoniczny. Z zewnątrz dom wyglądał standardowo, ale warstwy izolacyjne (20 cm grafitu na elewacji, piana PUR na stropie) były doskonałe. Musieliśmy sprawdzić, <a href="https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/">czy w ogóle potrzebujemy tak drogiego źródła</a>. Przeliczyłem dokładnie fizykę budynku.
                        <div class="rk-case-data-box">
                            <strong>Wynik OZC (Obliczeniowe Zapotrzebowanie Cieplne):</strong>
                            Zaledwie 4.2 kW przy temperaturze projektowej -20°C. Dobowe zapotrzebowanie wynosiło zaledwie około 100 kWh.
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-timeline-item">
                <button class="rk-timeline-btn">
                    <span class="rk-timeline-step">3</span>
                    <span class="rk-timeline-title">Decyzja i przeprojektowanie systemu</span>
                    <svg class="rk-timeline-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-timeline-content">
                    <div class="rk-timeline-inner">
                        Kredyt nie był potrzebny. Zarekomendowałem układ buforowy, ale pod jednym warunkiem: musieliśmy usiąść do rzutów i precyzyjnie przeprojektować hydraulikę pod akumulację. Zrezygnowaliśmy z cienkiej wylewki na rzecz klasycznej, grubej <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewki betonowej (75 mm)</a>, która przejęła rolę wtórnego magazynu energii.
                        <br><br>
                        Musieliśmy też przeliczyć, <a href="https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/">jak gęsto rozkładać rury</a>. Zagęściliśmy pętle do 10 cm w salonie, aby system mógł błyskawicznie "zrzucić" ciepło z bufora do betonu pod koniec trwania taniej taryfy.
                    </div>
                </div>
            </div>

            <div class="rk-timeline-item">
                <button class="rk-timeline-btn">
                    <span class="rk-timeline-step">4</span>
                    <span class="rk-timeline-title">Finał: Koszty i spokojny sen inwestora</span>
                    <svg class="rk-timeline-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-timeline-content">
                    <div class="rk-timeline-inner">
                        Obniżyliśmy <a href="https://projekt-ogrzewania.pl/ile-kosztuje-100-m%c2%b2-ogrzewania-podlogowego/">początkowe koszty instalacji</a> o blisko 28 000 zł, ratując budżet Tomasza bez konieczności zadłużania się. Dom od dwóch sezonów zimowych pracuje bezawaryjnie. System ładuje bufor 1000L dwiema grzałkami (łącznie 12 kW) w tańszych godzinach taryfy weekendowej. Przez cały dzień w domu utrzymuje się stabilne 21.5°C dzięki potężnej masie nagrzanego jastrychu.
                    </div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    var items = document.querySelectorAll('.rk-timeline-item');
    var btns = document.querySelectorAll('.rk-timeline-btn');

    // Otwórz pierwszy element na start
    if(items.length > 0) {
        items[0].classList.add('active');
        var firstContent = items[0].querySelector('.rk-timeline-content');
        firstContent.style.maxHeight = firstContent.scrollHeight + "px";
    }

    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            var parentItem = this.parentElement;
            var content = this.nextElementSibling;
            var isActive = parentItem.classList.contains('active');
            
            // Zamknij wszystkie
            items.forEach(function(item) {
                item.classList.remove('active');
                item.querySelector('.rk-timeline-content').style.maxHeight = null;
            });
            
            // Jeśli kliknięty nie był aktywny, to go otwórz
            if (isActive === false) {
                parentItem.classList.add('active');
                content.style.maxHeight = content.scrollHeight + "px";
            }
        });
    });
});
</script>



<style>
:root {
    --rk-auth-dark: #1e293b;
    --rk-auth-blue: #0284c7;
    --rk-auth-light: #f8fafc;
    --rk-auth-gray: #e2e8f0;
    --rk-auth-text: #334155;
    --rk-auth-social-bg: #f1f5f9;
}

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

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

.rk-auth-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

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

.rk-auth-body {
    display: grid;
    grid-template-columns: 300px 1fr;
    background: #ffffff;
}

/* Kolumna Autora */
.rk-auth-sidebar {
    background: var(--rk-auth-light);
    padding: 40px 30px;
    border-right: 1px solid var(--rk-auth-gray);
    text-align: center;
}

.rk-auth-photo {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    margin: 0 auto 20px auto;
    display: block;
}

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

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

.rk-auth-socials {
    display: flex;
    justify-content: center;
    gap: 12px;
}

.rk-auth-social-link {
    width: 42px;
    height: 42px;
    background: var(--rk-auth-social-bg);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-auth-dark);
    text-decoration: none;
    border: 1px solid var(--rk-auth-gray);
}

.rk-auth-social-link:hover {
    background: var(--rk-auth-blue);
    color: #ffffff;
    border-color: var(--rk-auth-blue);
}

/* Kolumna Treści */
.rk-auth-content {
    padding: 40px;
}

.rk-auth-quote-mark {
    font-family: Georgia, serif;
    font-size: 60px;
    color: var(--rk-auth-gray);
    line-height: 0;
    margin-bottom: 20px;
    display: block;
}

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

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

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

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

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

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

.rk-auth-panel a {
    color: var(--rk-auth-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rk-auth-highlight-box {
    background: #eff6ff;
    border-left: 4px solid var(--rk-auth-blue);
    padding: 15px 20px;
    margin-top: 20px;
}

.rk-auth-highlight-box strong {
    color: var(--rk-auth-dark);
    display: block;
    margin-bottom: 5px;
    font-size: 15px;
}

@media (max-width: 768px) {
    .rk-auth-body { grid-template-columns: 1fr; }
    .rk-auth-sidebar { border-right: none; border-bottom: 1px solid var(--rk-auth-gray); padding: 30px 20px; }
    .rk-auth-content { padding: 30px 20px; }
    .rk-auth-nav { flex-direction: column; gap: 5px; border-bottom: none; }
    .rk-auth-tab { text-align: left; background: var(--rk-auth-social-bg); }
    .rk-auth-header h2 { font-size: 22px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#article-ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/"
    },
    "headline": "Robert Kucharski radzi: Konfrontacja twardych danych",
    "description": "Autorskie podsumowanie eksperta HVAC dotyczące błędów w doborze systemów grzewczych i weryfikacji mitów inwestycyjnych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "Specjalista HVAC & CEO Projekt-Ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-08",
    "dateModified": "2026-07-08"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#dataset-ekspert",
    "name": "Wytyczne inżynierskie Roberta Kucharskiego dla instalacji płaszczyznowych",
    "description": "Zbiór żelaznych zasad projektowych zabezpieczających instalację przed awariami i niedogrzaniem w oparciu o ponad 1000 zrealizowanych audytów.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "robert kucharski hvac",
      "projekt ogrzewania opinie ekspertów",
      "błędy instalatorów pomp ciepła",
      "rzetelny projekt ozc podłogówka",
      "dobór źródła ciepła bez ściemy"
    ],
    "measurementTechnique": "Weryfikacja założeń inwestycyjnych z fizyką budowli i normami europejskimi.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Bezwzględny wymóg audytu OZC przed doborem agregatu.",
        "Traktowanie jastrychu jako aktywnego bufora magazynującego.",
        "Kategoryczne odrzucenie doboru urządzeń na podstawie powierzchni użytkowej."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#webapp-ekspert",
    "name": "Karta Weryfikacji Eksperckiej E-E-A-T",
    "description": "Interaktywna wizytówka inżyniera pozwalająca na przegląd rekomendacji i twardych danych rynkowych bez opuszczania kontekstu artykułu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-auth-wrapper" id="ekspert-podsumowanie-app">
    <div class="rk-auth-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="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
            Zdaniem eksperta: Robert Kucharski o optymalizacji inwestycji
        </h2>
    </div>

    <div class="rk-auth-body">
        <aside class="rk-auth-sidebar">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski Inżynier HVAC" class="rk-auth-photo" width="160" height="160" loading="lazy">
            <h3 class="rk-auth-name">Robert Kucharski</h3>
            <p class="rk-auth-role">Specjalista HVAC / Twórca portalu</p>
            
            <div class="rk-auth-socials">
                <a href="https://www.facebook.com/projektogrzewaniapl/" class="rk-auth-social-link" aria-label="Facebook" target="_blank" rel="noopener noreferrer">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                </a>
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" class="rk-auth-social-link" aria-label="LinkedIn" target="_blank" rel="noopener noreferrer">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
                </a>
                <a href="https://x.com/Projekt_HVAC" class="rk-auth-social-link" aria-label="X Twitter" target="_blank" rel="noopener noreferrer">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></svg>
                </a>
            </div>
        </aside>

        <section class="rk-auth-content">
            <span class="rk-auth-quote-mark">"</span>
            
            <div class="rk-auth-nav">
                <button class="rk-auth-tab active" data-panel="panel-wniosek">Kluczowy Wniosek</button>
                <button class="rk-auth-tab" data-panel="panel-bledy">Twarde Reguły</button>
                <button class="rk-auth-tab" data-panel="panel-normy">Weryfikacja Norm</button>
            </div>

            <div class="rk-auth-panel active" id="panel-wniosek">
                <p>
                    Wybór źródła ciepła to nie jest plebiscyt popularności w internecie, tylko surowa fizyka i matematyka finansowa. Pakowanie oszczędności życia w drogą pompę ciepła w domu o minimalnym zapotrzebowaniu to finansowe samobójstwo, które spłaca się latami. Z kolei ignorowanie <a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/">bilansu cieplnego</a> na rzecz taniego bufora w starym, niedocieplonym budynku to gwarancja gigantycznych rachunków za prąd.
                </p>
                <div class="rk-auth-highlight-box">
                    <strong>Pamiętaj:</strong>
                    Zawsze domagaj się od instalatora rzetelnego obciążenia OZC. Instalacja projektowana na tzw. "chłopski rozum" kosztuje podwójnie – najpierw przy montażu, a potem w eksploatacji.
                </div>
            </div>

            <div class="rk-auth-panel" id="panel-bledy">
                <p>
                    Instalacje oparte na buforach ładujących się periodycznie (tylko w taryfie nocnej) nie wybaczają amatorszczyzny. <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">Błędy montażowe</a> takie jak rozwlekłe pętle powyżej 100 metrów, brak rzetelnej izolacji brzegowej czy zastosowanie wylewki o małej masie dyskwalifikują ten system, zanim jeszcze zapłacisz pierwszy rachunek.
                </p>
                <p>
                    Jeśli wybierasz pompę ciepła, kluczem jest bezbłędny <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/">rozstaw rur</a>, pozwalający na pracę na najniższych możliwych parametrach zasilania, co bezpośrednio determinuje wysoki współczynnik SCOP.
                </p>
            </div>

            <div class="rk-auth-panel" id="panel-normy">
                <p>
                    Osobiście weryfikowałem tysiące dokumentacji. Stabilność obu rozwiązań opiera się na przestrzeganiu dwóch fundamentalnych standardów. Obliczanie strat ciepła bezwzględnie w oparciu o <strong>PN-EN 12831</strong> oraz projektowanie płyt grzewczych zgodnie ze ścisłymi wytycznymi <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">PN-EN 1264</a>. 
                </p>
                <div class="rk-auth-highlight-box">
                    <strong>Podejście inżynierskie:</strong>
                    Zład wody w rurach pex i masa posadzki to w pełni wymierne, fizyczne parametry. Ogrzewanie podłogowe projektuje się w Excelu i na rzutach, a nie na budowie z rozwijakiem w ręku.
                </div>
            </div>
        </section>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var tabs = document.querySelectorAll('.rk-auth-tab');
    var panels = document.querySelectorAll('.rk-auth-panel');

    tabs.forEach(function(tab) {
        tab.addEventListener('click', function() {
            // Natychmiastowe zerowanie klas aktywnych
            tabs.forEach(function(t) { t.classList.remove('active'); });
            panels.forEach(function(p) { p.classList.remove('active'); });

            // Aktywacja klikniętego elementu (bez przejść CSS)
            this.classList.add('active');
            var targetPanel = this.getAttribute('data-panel');
            document.getElementById(targetPanel).classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-blue: #0284c7;
    --rk-faq-blue-light: #e0f2fe;
    --rk-faq-gray-bg: #f8fafc;
    --rk-faq-text: #334155;
    --rk-faq-border: #cbd5e1;
    --rk-faq-shadow: rgba(15, 23, 42, 0.05);
}

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

.rk-faq-top {
    background: linear-gradient(135deg, var(--rk-faq-gray-bg) 0%, #ffffff 100%);
    padding: 40px 50px 30px;
    border-bottom: 1px solid var(--rk-faq-border);
    text-align: left;
}

.rk-faq-top h2 {
    color: var(--rk-faq-dark);
    font-size: 32px;
    font-weight: 900;
    margin: 0;
    line-height: 1.2;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-faq-icon-title {
    color: var(--rk-faq-blue);
    background: var(--rk-faq-blue-light);
    padding: 12px;
    border-radius: 14px;
    display: flex;
}

.rk-faq-list {
    padding: 20px 50px 40px;
}

.rk-faq-item {
    border-bottom: 1px solid var(--rk-faq-border);
    margin-bottom: 10px;
}

.rk-faq-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.rk-faq-header {
    width: 100%;
    background: transparent;
    border: none;
    padding: 25px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    text-align: left;
    transition: color 0.3s ease;
}

.rk-faq-header:hover h3 {
    color: var(--rk-faq-blue);
}

.rk-faq-header h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--rk-faq-dark);
    margin: 0;
    padding-right: 20px;
    line-height: 1.5;
    transition: color 0.3s;
}

.rk-faq-toggle {
    min-width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--rk-faq-gray-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-faq-blue);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s;
}

.rk-faq-header.active .rk-faq-toggle {
    transform: rotate(180deg);
    background: var(--rk-faq-blue);
    color: #ffffff;
}

.rk-faq-header.active h3 {
    color: var(--rk-faq-blue);
}

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

.rk-faq-content-inner {
    padding: 0 0 25px 0;
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-faq-text);
}

.rk-faq-content-inner a {
    color: var(--rk-faq-blue);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-faq-blue);
    transition: all 0.3s;
}

.rk-faq-content-inner a:hover {
    background: var(--rk-faq-blue-light);
    border-bottom-style: solid;
}

@media (max-width: 768px) {
    .rk-faq-top { padding: 30px 20px; }
    .rk-faq-list { padding: 10px 20px 30px; }
    .rk-faq-top h2 { font-size: 24px; }
    .rk-faq-header h3 { font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy bufor 1000 l wystarczy do ogrzania domu 150 m2 przy mrozach -20°C?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Sam bufor 1000 l zmagazynuje ok. 58 kWh energii, co przy dużych mrozach pokryje ok. 40-50% dobowego zapotrzebowania domu o powierzchni 150 m². Brakującą część energii musi zmagazynować ciężka wylewka betonowa podłogówki poprzez celowe przegrzanie pomieszczeń w nocy."
        }
      },
      {
        "@type": "Question",
        "name": "Jakie grzałki elektryczne muszę zamontować do bufora 1000 l?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Do pełnego naładowania bufora 1000 l w ciągu 10 godzin taniej taryfy wymagane są grzałki o łącznej mocy minimum 12 kW, a optymalnie 16 kW. Montaż tak dużej mocy wymaga weryfikacji warunków technicznych przyłącza prądu i zwiększenia mocy umownej w zakładzie energetycznym do min. 25 kW."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka taryfa prądu jest najlepsza do ogrzewania buforowego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Najbardziej opłacalna jest taryfa weekendowa G12w, która oferuje tani prąd przez 10 godzin w ciągu doby w dni powszednie oraz przez całą dobę w soboty, niedziele i dni ustawowo wolne od pracy. Pozwala to na głębokie ładowanie bufora i jastrychu w weekendy przy znacznie niższych kosztach."
        }
      },
      {
        "@type": "Question",
        "name": "Czy wylewka anhydrytowa nadaje się do systemu z buforem ciepła?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Wylewka anhydrytowa ze względu na niską masę i mniejszą grubość ma słabą pojemność cieplną, przez co szybciej oddaje ciepło i szybciej stygnie. W systemie akumulacyjnym opartym na taryfie nocnej znacznie lepiej sprawdza się gruby, ciężki jastrych cementowy (7-8 cm), który działa jak skuteczny akumulator."
        }
      },
      {
        "@type": "Question",
        "name": "Co się stanie, gdy w buforze skończy się gorąca woda w trakcie dnia?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Jeśli automatyka wykryje spadek temperatury w buforze poniżej progu użyteczności (np. 30°C), system przełączy się na pobór prądu w drogiej taryfie dziennej G11, aby utrzymać komfort w domu. Aby tego uniknąć, należy precyzyjnie zsynchronizować krzywą grzewczą i wykorzystać masę termiczną betonu."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/"
    },
    "headline": "Najczęściej zadawane pytania (FAQ) o bufory ciepła i ogrzewanie elektryczne",
    "description": "Baza wiedzy Q&A odpowiadająca na najczęstsze obawy inwestorów dotyczące pojemności bufora, mocy grzałek elektrycznych oraz doboru taryfy G12w.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-08",
    "dateModified": "2026-07-08"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#dataset-faq",
    "name": "Zestawienie parametrów technicznych do ładowania bufora 1000l",
    "description": "Zbiór danych określających optymalną moc przyłączeniową, wymagania pojemnościowe jastrychu oraz wydajność magazynowania energii z taryfy nocnej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "moc grzałek do bufora 1000l",
      "wylewka anhydrytowa a bufor",
      "taryfa g12w czy g11 do bufora",
      "jak zsynchronizować krzywą grzewczą",
      "pojemność cieplna jastrychu cementowego"
    ],
    "measurementTechnique": "Określanie minimalnej mocy grzewczej i pojemności na podstawie przerw w dostawie taniej energii.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zalecana moc grzałek: 12-16 kW.",
        "Zalecana grubość jastrychu: 7-8 cm (cementowy).",
        "Pojemność energetyczna bufora 1000l: ~58 kWh."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#webapp-faq",
    "name": "Interaktywna Baza Wiedzy Q&A",
    "description": "Rozwijany moduł edukacyjny pozwalający inwestorowi na szybką nawigację po najtrudniejszych zagadnieniach hydraulicznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-wrapper" id="faq-section">
    <div class="rk-faq-top">
        <h2>
            <div class="rk-faq-icon-title">
                <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            </div>
            Najczęściej zadawane pytania
        </h2>
    </div>

    <div class="rk-faq-list">
        
        <div class="rk-faq-item">
            <button class="rk-faq-header">
                <h3>Czy bufor 1000 l wystarczy do ogrzania domu 150 m² przy mrozach -20°C?</h3>
                <div class="rk-faq-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    Sam bufor 1000 l zmagazynuje ok. 58 kWh energii, co przy dużych mrozach pokryje ok. 40-50% dobowego zapotrzebowania domu o powierzchni 150 m². Brakującą część energii musi zmagazynować ciężka <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewka betonowa podłogówki</a> poprzez celowe przegrzanie pomieszczeń w nocy na podstawie odpowiednio skonfigurowanego <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/">bilansu strat cieplnych</a>.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-header">
                <h3>Jakie grzałki elektryczne muszę zamontować do bufora 1000 l?</h3>
                <div class="rk-faq-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    Do pełnego naładowania bufora 1000 l w ciągu 10 godzin taniej taryfy wymagane są grzałki o łącznej mocy minimum 12 kW, a optymalnie 16 kW. Montaż tak dużej mocy wymaga weryfikacji warunków technicznych przyłącza prądu i zwiększenia mocy umownej w zakładzie energetycznym do min. 25 kW.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-header">
                <h3>Jaka taryfa prądu jest najlepsza do ogrzewania buforowego?</h3>
                <div class="rk-faq-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    Najbardziej opłacalna jest taryfa weekendowa G12w, która oferuje tani prąd przez 10 godzin w ciągu doby w dni powszednie oraz przez całą dobę w soboty, niedziele i dni ustawowo wolne od pracy. Pozwala to na głębokie ładowanie bufora i jastrychu w weekendy przy znacznie niższych kosztach.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-header">
                <h3>Czy wylewka anhydrytowa nadaje się do systemu z buforem ciepła?</h3>
                <div class="rk-faq-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    Wylewka anhydrytowa ze względu na niską masę i mniejszą grubość ma słabą pojemność cieplną, przez co szybciej oddaje ciepło i szybciej stygnie. W systemie akumulacyjnym opartym na taryfie nocnej znacznie lepiej sprawdza się gruby, ciężki <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">jastrych cementowy (7-8 cm)</a>, który działa jak skuteczny akumulator.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-header">
                <h3>Co się stanie, gdy w buforze skończy się gorąca woda w trakcie dnia?</h3>
                <div class="rk-faq-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    Jeśli automatyka wykryje spadek temperatury w buforze poniżej progu użyteczności (np. 30°C), system przełączy się na pobór prądu w drogiej taryfie dziennej G11, aby utrzymać komfort w domu. Aby tego uniknąć, należy precyzyjnie zsynchronizować <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/">krzywą grzewczą</a> i w pełni wykorzystać masę termiczną betonu.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var faqButtons = document.querySelectorAll('.rk-faq-header');
    
    faqButtons.forEach(function(btn) {
        btn.addEventListener('click', function() {
            var content = this.nextElementSibling;
            var isAlreadyActive = this.classList.contains('active');
            
            // Zwijamy wszystkie elementy akordeonu
            faqButtons.forEach(function(otherBtn) {
                otherBtn.classList.remove('active');
                otherBtn.nextElementSibling.style.maxHeight = null;
            });
            
            // Jeśli kliknięty element nie był otwarty, rozwijamy go
            if (isAlreadyActive === false) {
                this.classList.add('active');
                content.style.maxHeight = content.scrollHeight + "px";
            }
        });
    });
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-blue: #0284c7;
    --rk-dl-gray-bg: #f8fafc;
    --rk-dl-border: #cbd5e1;
    --rk-dl-text: #334155;
    --rk-dl-pdf-color: #ef4444;
}

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

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

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

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

.rk-dl-body {
    padding: 40px 45px;
}

.rk-dl-grid {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 40px;
    align-items: start;
}

/* Sekcja Podglądu (Miniatura) */
.rk-dl-preview-box {
    background: var(--rk-dl-gray-bg);
    border: 1px solid var(--rk-dl-border);
    border-radius: 12px;
    padding: 15px;
    text-align: center;
}

.rk-dl-thumb-container {
    width: 100%;
    height: 250px;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid var(--rk-dl-border);
    margin-bottom: 15px;
    background: #ffffff;
}

.rk-dl-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.rk-dl-toggle-btn {
    width: 100%;
    background: #ffffff;
    border: 2px solid var(--rk-dl-blue);
    color: var(--rk-dl-blue);
    padding: 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

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

/* Sekcja Akcji (Przyciski pobierania) */
.rk-dl-actions-box h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-dl-dark);
    margin: 0 0 15px 0;
}

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

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

.rk-btn-pdf, .rk-btn-img {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 18px 25px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
}

.rk-btn-pdf {
    background: #fef2f2;
    border: 2px solid var(--rk-dl-pdf-color);
    color: #b91c1c;
}

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

.rk-btn-img {
    background: #eff6ff;
    border: 2px solid var(--rk-dl-blue);
    color: var(--rk-dl-blue);
}

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

.rk-dl-meta {
    display: flex;
    gap: 20px;
    font-size: 13px;
    color: #64748b;
    font-weight: 600;
}

.rk-dl-copyright {
    background: var(--rk-dl-gray-bg);
    border-left: 4px solid var(--rk-dl-blue);
    padding: 15px 20px;
    font-size: 12px;
    line-height: 1.6;
    color: var(--rk-dl-text);
    margin-top: 30px;
}

/* Pełny widok obrazu (rozwijany) */
.rk-dl-full-view {
    display: none;
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px dashed var(--rk-dl-border);
}

.rk-dl-full-img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    border: 1px solid var(--rk-dl-border);
}

@media (max-width: 768px) {
    .rk-dl-header, .rk-dl-body { padding: 30px 20px; }
    .rk-dl-grid { grid-template-columns: 1fr; gap: 30px; }
    .rk-dl-thumb-container { height: auto; max-height: 300px; }
    .rk-dl-meta { flex-direction: column; gap: 5px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/"
    },
    "headline": "Pobierz infografikę techniczno-finansową: Bufor ciepła czy Pompa ciepła?",
    "description": "Zestawienie kosztów, parametrów montażowych oraz danych OZC w formie czytelnej infografiki oraz dokumentu PDF gotowego do druku i udostępniania.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Bufor-ciepla-z-grzalkami-czy-pompa-ciepla-Szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-08",
    "dateModified": "2026-07-08"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#dataset-infografika",
    "name": "Infografika techniczna i zestawienie danych: Bufor ciepła vs Pompa ciepła (2026)",
    "description": "Pliki graficzne i dokumentowe zawierające twarde wyliczenia kosztów instalacyjnych, rozstawów rur, grubości jastrychu oraz pojemności buforowej w zależności od standardu WT 2021.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe",
      "porównanie pompy ciepła i bufora",
      "tabela kosztów ogrzewania prądem",
      "schemat podłogówki do bufora",
      "pobierz projekt ogrzewania pdf"
    ],
    "measurementTechnique": "Wizualizacja danych analitycznych (CAPEX i OPEX) z zastosowaniem wykresów ROI oraz przekrojów instalacyjnych.",
    "distribution": [
      {
        "@type": "DataDownload",
        "encodingFormat": "application/pdf",
        "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Bufor-ciepla-z-grzalkami-czy-pompa-ciepla-Szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku.pdf"
      },
      {
        "@type": "DataDownload",
        "encodingFormat": "image/webp",
        "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Bufor-ciepla-z-grzalkami-czy-pompa-ciepla-Szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku.webp"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#webapp-infografika",
    "name": "Przeglądarka materiałów inżynierskich",
    "description": "Moduł umożliwiający szybki podgląd i dystrybucję materiałów szkoleniowo-projektowych w formacie bezstratnym dla instalatorów HVAC.",
    "applicationCategory": "MultimediaApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-wrapper" id="pobierz-materialy-app">
    <div class="rk-dl-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="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
            Materiały edukacyjne: Infografika techniczna
        </h2>
        <p>Pobierz kompleksowe zestawienie danych analitycznych do analizy offline lub udostępnienia swojemu instalatorowi.</p>
    </div>

    <div class="rk-dl-body">
        <div class="rk-dl-grid">
            <div class="rk-dl-preview-box">
                <div class="rk-dl-thumb-container">
                    <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Bufor-ciepla-z-grzalkami-czy-pompa-ciepla-Szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku.webp" alt="Miniatura infografiki porównującej bufor z pompą ciepła" class="rk-dl-thumb-img" loading="lazy">
                </div>
                <button class="rk-dl-toggle-btn" id="btnToggleImage">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" y1="3" x2="14" y2="10"></line><line x1="3" y1="21" x2="10" y2="14"></line></svg>
                    Powiększ na stronie
                </button>
            </div>

            <div class="rk-dl-actions-box">
                <h3>Gotowy plik do analizy</h3>
                <p class="rk-dl-desc">Dokument zawiera podsumowanie kosztów CAPEX i OPEX, różnice w rozstawach rur, wytyczne grubości jastrychu oraz tabele zwrotu z inwestycji (ROI) dla standardów WT 2021.</p>
                
                <div class="rk-dl-buttons-stack">
                    <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Bufor-ciepla-z-grzalkami-czy-pompa-ciepla-Szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku.pdf" download class="rk-btn-pdf" target="_blank" rel="noopener noreferrer">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                        Pobierz dokument PDF
                    </a>
                    
                    <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Bufor-ciepla-z-grzalkami-czy-pompa-ciepla-Szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku.webp" target="_blank" rel="noopener noreferrer" class="rk-btn-img">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                        Otwórz grafikę WebP w nowej karcie
                    </a>
                </div>

                <div class="rk-dl-meta">
                    <span>Ostatnia aktualizacja: 2026 r.</span>
                    <span>Waga pliku PDF: ok. 1.2 MB</span>
                </div>
            </div>
        </div>

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

        <div class="rk-dl-full-view" id="fullImgContainer">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Bufor-ciepla-z-grzalkami-czy-pompa-ciepla-Szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku.webp" alt="Szczegółowa infografika techniczna do artykułu" class="rk-dl-full-img" loading="lazy">
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btnToggle = document.getElementById('btnToggleImage');
    var fullContainer = document.getElementById('fullImgContainer');

    btnToggle.addEventListener('click', function() {
        var isHidden = (fullContainer.style.display === '' || fullContainer.style.display === 'none');
        
        if(isHidden) {
            fullContainer.style.display = 'block';
            btnToggle.innerHTML = '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 14 10 14 10 20"></polyline><polyline points="20 10 14 10 14 4"></polyline><line x1="14" y1="10" x2="21" y2="3"></line><line x1="3" y1="21" x2="10" y2="14"></line></svg> Ukryj podgląd';
            // Przewinięcie do kontenera z obrazkiem
            fullContainer.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
        } else {
            fullContainer.style.display = 'none';
            btnToggle.innerHTML = '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" y1="3" x2="14" y2="10"></line><line x1="3" y1="21" x2="10" y2="14"></line></svg> Powiększ na stronie';
        }
    });
});
</script>



<style>
:root {
    --rk-exp-dark: #1e293b;
    --rk-exp-blue: #0369a1;
    --rk-exp-light: #f8fafc;
    --rk-exp-accent: #f59e0b;
    --rk-exp-green: #059669;
    --rk-exp-red: #dc2626;
    --rk-exp-border: #cbd5e1;
    --rk-exp-shadow: rgba(15, 23, 42, 0.08);
}

.rk-expert-box {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 20px 40px var(--rk-exp-shadow);
    border: 1px solid var(--rk-exp-border);
    overflow: hidden;
}

.rk-expert-header {
    background: var(--rk-exp-dark);
    padding: 40px 50px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-exp-accent);
}

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

.rk-expert-header h3 {
    color: #94a3b8;
    font-size: 18px;
    font-weight: 500;
    margin: 0;
}

.rk-expert-content {
    padding: 40px 50px;
    background: var(--rk-exp-light);
}

.rk-expert-text p {
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
    margin-bottom: 20px;
}

.rk-expert-text a {
    color: var(--rk-exp-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid rgba(3, 105, 161, 0.2);
    transition: all 0.3s;
}

.rk-expert-text a:hover {
    border-bottom-color: var(--rk-exp-blue);
    background: rgba(3, 105, 161, 0.05);
}

/* Interaktywny Selektor */
.rk-selector-container {
    background: #ffffff;
    border: 1px solid var(--rk-exp-border);
    border-radius: 16px;
    padding: 30px;
    margin: 30px 0;
    box-shadow: 0 10px 15px -3px var(--rk-exp-shadow);
}

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

.rk-btn-group {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
}

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

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

.rk-select-btn.active-small {
    background: #ecfdf5;
    border-color: var(--rk-exp-green);
    color: var(--rk-exp-green);
}

.rk-select-btn.active-large {
    background: #eff6ff;
    border-color: var(--rk-exp-blue);
    color: var(--rk-exp-blue);
}

.rk-result-panel {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 25px;
    align-items: center;
    padding-top: 25px;
    border-top: 1px dashed var(--rk-exp-border);
}

.rk-result-icon svg {
    width: 100%;
    height: auto;
}

.rk-result-info h4 {
    margin: 0 0 10px 0;
    font-size: 22px;
    font-weight: 800;
}

.rk-result-info p {
    margin: 0;
    font-size: 15px;
    color: #475569;
    line-height: 1.6;
}

/* Tagi długiego ogona */
.rk-tags-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}

.rk-mat-tag {
    background: #e2e8f0;
    color: #475569;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid #cbd5e1;
}

/* Kreatywne CTA */
.rk-expert-cta {
    background: linear-gradient(to right, var(--rk-exp-dark), #334155);
    padding: 40px 50px;
    text-align: center;
    color: #ffffff;
}

.rk-expert-cta h3 {
    font-size: 24px;
    margin: 0 0 15px 0;
    font-weight: 800;
}

.rk-expert-cta p {
    font-size: 16px;
    color: #94a3b8;
    margin: 0 auto 25px auto;
    max-width: 600px;
}

.rk-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    background: var(--rk-exp-accent);
    color: var(--rk-exp-dark);
    font-size: 18px;
    font-weight: 900;
    padding: 18px 40px;
    border-radius: 12px;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 0.3s, box-shadow 0.3s;
}

.rk-cta-btn:hover {
    transform: scale(1.02);
    box-shadow: 0 10px 20px rgba(245, 158, 11, 0.4);
}

@media (max-width: 768px) {
    .rk-expert-header, .rk-expert-content, .rk-expert-cta { padding: 30px 20px; }
    .rk-btn-group { flex-direction: column; gap: 15px; }
    .rk-result-panel { grid-template-columns: 1fr; text-align: center; }
    .rk-result-icon svg { max-width: 80px; margin: 0 auto; display: block; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/"
    },
    "headline": "Podsumowanie i rekomendacja eksperta: Co ostatecznie wybrać?",
    "description": "Techniczne zestawienie i rekomendacja inżynierska wyboru między buforem ciepła a pompą ciepła w zależności od obciążenia cieplnego i powierzchni budynku.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-08",
    "dateModified": "2026-07-08"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#dataset-podsumowanie",
    "name": "Kalkulacja opłacalności: Bufor 1000l vs Pompa ciepła",
    "description": "Baza danych i algorytm oceniający opłacalność inwestycji w pompę ciepła w odniesieniu do całkowitego zapotrzebowania energetycznego budynku.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "opłacalność pompy ciepła w małym domu",
      "bufor ciepła 1000l koszty eksploatacji",
      "czas zwrotu inwestycji w pompę ciepła",
      "koszty ogrzewania prądem 2026",
      "dylemat bufor czy pompa"
    ],
    "measurementTechnique": "Analiza krzywej stopy zwrotu (ROI) w korelacji do projektowego obciążenia cieplnego budynku.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Dom do 120m2 (Zapotrzebowanie 3000-4000 kWh): Rekomendacja systemu buforowego z grzałkami elektrycznymi.",
        "Dom powyżej 180m2: Rekomendacja inwestycji w pompę ciepła o wysokim współczynniku SCOP."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/#webapp-rekomendacja",
    "name": "Interaktywny doradca wyboru źródła ciepła",
    "description": "Narzędzie symulacyjne dostosowujące rekomendację źródła zasilania ogrzewania podłogowego na podstawie wariantu metrażowego budynku.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-expert-box" id="rekomendacja-app">
    <div class="rk-expert-header">
        <h2>Podsumowanie i rekomendacja eksperta: Co ostatecznie wybrać?</h2>
        <h3>Zapotrzebowanie na ciepło a matematyka finansowa</h3>
    </div>

    <div class="rk-expert-content">
        <div class="rk-expert-text">
            <p>
                Wybór między <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompą ciepła</a> a instalacją z <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">buforem 1000 l</a> i grzałkami elektrycznymi nie jest kwestią chwilowej mody, lecz bezlitosnej kalkulacji ekonomicznej opartej na profilu energetycznym budynku. Jako inżynier HVAC powiem wprost: im mniejsze jest całkowite zapotrzebowanie budynku na energię, tym bardziej opłacalny staje się prosty system buforowy pracujący w taniej strefie prądu.
            </p>
        </div>

        <div class="rk-selector-container">
            <h4 class="rk-selector-title">Symulator Decyzji Inwestycyjnej</h4>
            <div class="rk-btn-group" id="decisionBtns">
                <button class="rk-select-btn active-small" data-type="small">
                    <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="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>
                    Nowoczesny dom (100–120 m2)
                </button>
                <button class="rk-select-btn" data-type="large">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="9" y1="3" x2="9" y2="21"></line></svg>
                    Duży budynek (powyżej 180 m2)
                </button>
            </div>

            <div class="rk-result-panel" id="resultPanel">
                <div class="rk-result-icon" id="resultIcon">
                    <svg viewBox="0 0 100 100" fill="none" stroke="var(--rk-exp-green)" stroke-width="4" stroke-linecap="round" stroke-linejoin="round">
                        <circle cx="50" cy="50" r="40" fill="#ecfdf5"></circle>
                        <path d="M35 50 L45 60 L70 35" stroke-width="6"></path>
                    </svg>
                </div>
                <div class="rk-result-info" id="resultText">
                    <h4 style="color: var(--rk-exp-green);">Wybór optymalny: Bufor z grzałkami</h4>
                    <p>
                        Dla świetnie zaizolowanych domów, gdzie zapotrzebowanie wynosi ok. 3000–4000 kWh rocznie, topienie 40 000 zł w pompę ciepła to błąd. Czas zwrotu przekroczy 15 lat. Zwykły bufor zblokowany automatyką zapewni Ci pełne bezpieczeństwo, <strong>zerowe koszty serwisu</strong> i stabilne ogrzewanie podłogowe na dekady.
                    </p>
                </div>
            </div>
        </div>

        <div class="rk-expert-text">
            <p>
                Każda decyzja o źródle ciepła musi być jednak poprzedzona indywidualnym, rzetelnym wykonaniem <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczeń OZC</a>. Dobieranie urządzeń w oparciu o <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">kalkulator strat ciepła</a> traktowany z przymrużeniem oka to najprostsza droga do zrujnowania budżetu inwestora.
            </p>
        </div>

        <div class="rk-tags-wrapper">
            <span class="rk-mat-tag"># opłacalność pompy ciepła w małym domu</span>
            <span class="rk-mat-tag"># bufor ciepła 1000l koszty eksploatacji</span>
            <span class="rk-mat-tag"># taryfa g12w a ogrzewanie podłogowe</span>
            <span class="rk-mat-tag"># czas zwrotu inwestycji w pompę ciepła</span>
            <span class="rk-mat-tag"># kalkulator doboru źródła ciepła</span>
            <span class="rk-mat-tag"># projektowanie instalacji ozc</span>
            <span class="rk-mat-tag"># dylemat bufor czy pompa</span>
            <span class="rk-mat-tag"># koszty ogrzewania prądem 2026</span>
        </div>
    </div>

    <div class="rk-expert-cta">
        <h3>Nie zgaduj z portfelem w ręku. Inwestuj na podstawie danych.</h3>
        <p>Projektowanie na "chłopski rozum" to marnowanie tysięcy złotych. Odkryj profesjonalne narzędzia, normy i tabele projektowe, które ochronią Twoją inwestycję przed błędami instalatorów.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-cta-btn">
            WEJDŹ DO BAZY WIEDZY HVAC
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="M12 5l7 7-7 7"></path></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btns = document.querySelectorAll('.rk-select-btn');
    var resultIcon = document.getElementById('resultIcon');
    var resultText = document.getElementById('resultText');

    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Czyszczenie klas
            btns.forEach(function(b) {
                b.classList.remove('active-small');
                b.classList.remove('active-large');
            });

            var type = this.getAttribute('data-type');

            if (type === 'small') {
                this.classList.add('active-small');
                
                var svgSmall = '<svg viewBox="0 0 100 100" fill="none" stroke="var(--rk-exp-green)" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"><circle cx="50" cy="50" r="40" fill="#ecfdf5" /><path d="M35 50 L45 60 L70 35" stroke-width="6" /></svg>';
                
                var htmlSmall = '<h4 style="color: var(--rk-exp-green);">Wybór optymalny: Bufor z grzałkami</h4>' +
                                '<p>Dla świetnie zaizolowanych domów, gdzie zapotrzebowanie wynosi ok. 3000–4000 kWh rocznie, topienie 40 000 zł w pompę ciepła to błąd. Czas zwrotu przekroczy 15 lat. Zwykły bufor zblokowany automatyką zapewni Ci pełne bezpieczeństwo, <strong>zerowe koszty serwisu</strong> i stabilne ogrzewanie podłogowe na dekady.</p>';
                                
                resultIcon.innerHTML = svgSmall;
                resultText.innerHTML = htmlSmall;
            } else {
                this.classList.add('active-large');
                
                var svgLarge = '<svg viewBox="0 0 100 100" fill="none" stroke="var(--rk-exp-blue)" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 13 37 38 37 38 2" fill="#eff6ff" /><polyline points="13 14 38 14" /><polyline points="13 26 38 26" /><path d="M38 19 L75 19 L75 80 L25 80 L25 37" /><circle cx="50" cy="55" r="12" /><path d="M50 43 L50 35" /><path d="M50 75 L50 67" /><path d="M38 55 L30 55" /><path d="M70 55 L62 55" /></svg>';
                
                var htmlLarge = '<h4 style="color: var(--rk-exp-blue);">Wybór optymalny: Pompa Ciepła</h4>' +
                                '<p>W domach o wyższym wskaźniku strat ciepła wolumen zużywanej energii jest na tyle duży, że <strong>wysoki współczynnik SCOP pompy</strong> generuje gigantyczne oszczędności kwotowe na rachunkach miesięcznych. To pozwala na błyskawiczną amortyzację systemu, najczęściej w zdrowym okresie 7–9 lat.</p>';
                                
                resultIcon.innerHTML = svgLarge;
                resultText.innerHTML = htmlLarge;
            }
        });
    });
});
</script>



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

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

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

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

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

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Article",
      "@id": "https://projekt-ogrzewania.pl/google-preferred-sources#article",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://projekt-ogrzewania.pl/google-preferred-sources"
      },
      "headline": "Wspieraj Projekt-Ogrzewania.pl w wynikach Google",
      "description": "Interaktywny widget umożliwiający dodanie portalu Projekt-Ogrzewania.pl do ulubionych źródeł w wyszukiwarce Google. Buduj z nami rzetelną bazę wiedzy o HVAC.",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
      "author": {
        "@type": "Person",
        "name": "Robert Kucharski",
        "url": "https://projekt-ogrzewania.pl/",
        "sameAs": [
          "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
          "https://www.facebook.com/projektogrzewaniapl/",
          "https://www.linkedin.com/in/robert-kucharski-38069b48/",
          "https://x.com/Projekt_HVAC",
          "https://remont.biz.pl/",
          "https://sobir.pl/"
        ]
      },
      "publisher": {
        "@type": "Organization",
        "name": "Projekt-Ogrzewania.pl",
        "logo": {
          "@type": "ImageObject",
          "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
        }
      },
      "datePublished": "2026-07-09",
      "dateModified": "2026-07-09"
    },
    {
      "@type": "Dataset",
      "@id": "https://projekt-ogrzewania.pl/google-preferred-sources#dataset",
      "name": "Preferowane Źródła Google - Statystyki i Interakcja",
      "description": "Zbiór danych i interaktywnych punktów styku pozwalających na ocenę preferencji czytelników dla treści technicznych HVAC.",
      "license": "https://projekt-ogrzewania.pl/",
      "creator": {
        "@type": "Person",
        "name": "Robert Kucharski"
      },
      "keywords": [
        "ulubione źródła google",
        "preferowane wyniki wyszukiwania",
        "autorytet domeny hvac",
        "zaufane portale budowlane",
        "personalizacja google search"
      ],
      "measurementTechnique": "Zliczanie interakcji z widgetem UI typu toggle oraz przekierowań do interfejsu preferencji Google Search",
      "mainEntity": "Optymalizacja zaangażowania użytkownika poprzez interaktywny widget dodawania domeny do preferencji Google."
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/google-preferred-sources#webapplication",
      "name": "Google Preferences Toggle Widget",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "All",
      "description": "Aplikacja webowa w formie widgetu symulującego przełącznik mobilny, integrująca natywne linkowanie do ustawień preferowanych źródeł Google.",
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "PLN"
      }
    }
  ]
}
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/bufor-ciepla-z-grzalkami-czy-pompa-ciepla-szokujace-porownanie-kosztow-i-oplacalnosci-w-2026-roku/">Bufor ciepła z grzałkami czy pompa ciepła? Szokujące porównanie kosztów i opłacalności w 2026 roku.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pompa ciepła, podłogówka i grzejniki.</title>
		<link>https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 04 Jul 2026 07:13:33 +0000</pubDate>
				<category><![CDATA[Grzejniki]]></category>
		<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Koszty ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[OZC]]></category>
		<category><![CDATA[Pompa ciepła]]></category>
		<category><![CDATA[Pompy ciepła]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Termomodernizacja]]></category>
		<category><![CDATA[bufor ciepła]]></category>
		<category><![CDATA[grupa pompowa]]></category>
		<category><![CDATA[grzejniki v33]]></category>
		<category><![CDATA[instalacja mieszana]]></category>
		<category><![CDATA[klimakonwektory]]></category>
		<category><![CDATA[kryzowanie grzejników]]></category>
		<category><![CDATA[obliczenia ozc]]></category>
		<category><![CDATA[pn-en 12831]]></category>
		<category><![CDATA[pompa ciepła podłogówka i grzejniki]]></category>
		<category><![CDATA[przepływ zwarciowy]]></category>
		<category><![CDATA[regulacja hydrauliczna]]></category>
		<category><![CDATA[sprawność scop]]></category>
		<category><![CDATA[sprzęgło hydrauliczne]]></category>
		<category><![CDATA[taktowanie pompy ciepła]]></category>
		<category><![CDATA[układ hybrydowy]]></category>
		<category><![CDATA[zawór trójdrogowy mieszający]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=6505</guid>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        textContent.innerHTML = data.html;
    }

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </div>
</div>

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                </div>
            </div>

        </div>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.rk-ozc-panel-graphic {
    flex: 0 0 140px;
    text-align: center;
}

.rk-ozc-svg-icon {
    width: 100%;
    max-width: 120px;
    height: auto;
}

/* Animacje SVG */
.anim-pipe { stroke-dasharray: 1000; stroke-dashoffset: 1000; animation: drawPipe 2s ease forwards; }
.anim-heat-wave { transform-origin: bottom; animation: heatRise 2s infinite alternate ease-in-out; }

@keyframes drawPipe { to { stroke-dashoffset: 0; } }
@keyframes heatRise { from { transform: translateY(5px) scaleY(0.9); opacity: 0.6; } to { transform: translateY(-5px) scaleY(1.1); opacity: 1; } }

.rk-ozc-panel-text {
    flex: 1;
}

.rk-ozc-panel-text h3 {
    margin: 0 0 15px 0;
    font-size: 22px;
    font-weight: 800;
}

.rk-ozc-panel-text p {
    margin: 0 0 15px 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-ozc-text-main);
}

.rk-ozc-data-highlight {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 6px;
    font-weight: 800;
    background: #e2e8f0;
}

/* Mocne CTA na dole */
.rk-ozc-cta-box {
    background: #ffffff;
    padding: 40px;
    text-align: center;
    border-top: 1px dashed var(--rk-ozc-border);
}

.rk-ozc-cta-box h3 {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-ozc-dark);
    margin: 0 0 15px 0;
}

.rk-ozc-cta-box p {
    color: #64748b;
    margin: 0 auto 30px auto;
    max-width: 650px;
    line-height: 1.6;
}

.rk-btn-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-ozc-brand);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
}

.rk-btn-cta:hover {
    transform: translateY(-4px);
    background: var(--rk-ozc-brand-hover);
    box-shadow: 0 15px 30px -5px rgba(2, 132, 199, 0.5);
    border-color: #bae6fd;
}

.rk-btn-cta svg {
    transition: transform 0.3s;
}

.rk-btn-cta:hover svg {
    transform: translateX(5px);
}

/* Mobile Responsive - Accordion/Stack style */
@media (max-width: 768px) {
    .rk-ozc-header, .rk-ozc-content, .rk-ozc-cta-box { padding: 30px 20px; }
    .rk-ozc-nav { flex-direction: column; gap: 10px; }
    .rk-ozc-panel.active { flex-direction: column; text-align: center; align-items: center; padding: 25px 20px; }
    .rk-ozc-panel-graphic { flex: 0 0 auto; margin-bottom: 10px; }
    .rk-btn-cta { width: 100%; padding: 18px 20px; font-size: 16px; }
}
</style>

<div class="rk-ozc-container" id="rk-ozc-simulator">
    <div class="rk-ozc-header">
        <h2>Jak OZC i system mieszany wpływają na projekt ogrzewania?</h2>
        <p>Wdrożenie systemu z pompą ciepła bezwzględnie wymaga zaktualizowanych, rygorystycznych obliczeń według normy <strong>PN-EN 12831-1:2017-08</strong>. Optymalizacja instalacji to walka o maksymalne obniżenie temperatury zasilania. Zobacz, jak wpływa to na poszczególne strefy budynku.</p>
    </div>

    <div class="rk-ozc-content">
        <div class="rk-ozc-nav">
            <button class="rk-ozc-tab-btn active" data-target="floor">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="3" y1="15" x2="21" y2="15"></line></svg>
                Strefa Parteru (Podłogówka)
            </button>
            <button class="rk-ozc-tab-btn" data-target="radiator">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16v16H4z"></path><line x1="8" y1="4" x2="8" y2="20"></line><line x1="12" y1="4" x2="12" y2="20"></line><line x1="16" y1="4" x2="16" y2="20"></line></svg>
                Strefa Piętra (Grzejniki)
            </button>
        </div>

        <div class="rk-ozc-panel active" id="panel-floor">
            <div class="rk-ozc-panel-graphic">
                <svg class="rk-ozc-svg-icon" viewBox="0 0 100 100">
                    <path class="anim-pipe" d="M10 20 L90 20 A 10 10 0 0 1 100 30 L100 30 A 10 10 0 0 1 90 40 L10 40 A 10 10 0 0 0 0 50 L0 50 A 10 10 0 0 0 10 60 L90 60 A 10 10 0 0 1 100 70 L100 70 A 10 10 0 0 1 90 80 L10 80" fill="none" stroke="var(--rk-ozc-accent-warm)" stroke-width="6" stroke-linecap="round"></path>
                </svg>
            </div>
            <div class="rk-ozc-panel-text">
                <h3 style="color: #b45309;">Ekstremalna kompensacja pętlami</h3>
                <p>Wiedząc z pliku OZC, że nie mogę wysłać na dom wody o temperaturze 55°C (bo zniszczę sprawność SCOP pompy ciepła), muszę "zapakować" rurę w beton na parterze niezwykle gęsto. Tylko wtedy układ odda stabilnie <span class="rk-ozc-data-highlight">60 W/m²</span>.</p>
                <p>Konieczne jest zagęszczenie rozstawu rur z typowych 15 cm na <span class="rk-ozc-data-highlight">10 cm</span>, a w strefach obwodowych (przy ogromnych oknach tarasowych HST) schodzimy w projekcie nawet do <span class="rk-ozc-data-highlight">5 cm</span>. Pod uwagę w algorytmach bierzemy również docelowy opór cieplny paneli (R &lt; 0,15 m²K/W) oraz precyzyjną grubość jastrychu.</p>
            </div>
        </div>

        <div class="rk-ozc-panel" id="panel-radiator">
            <div class="rk-ozc-panel-graphic">
                <svg class="rk-ozc-svg-icon" viewBox="0 0 100 100">
                    <path class="anim-heat-wave" d="M30 40 Q 40 20 30 0" fill="none" stroke="var(--rk-ozc-accent-cool)" stroke-width="4" stroke-linecap="round"></path>
                    <path class="anim-heat-wave" d="M50 40 Q 60 20 50 0" fill="none" stroke="var(--rk-ozc-accent-cool)" stroke-width="4" stroke-linecap="round" style="animation-delay: 0.5s;"></path>
                    <path class="anim-heat-wave" d="M70 40 Q 80 20 70 0" fill="none" stroke="var(--rk-ozc-accent-cool)" stroke-width="4" stroke-linecap="round" style="animation-delay: 1s;"></path>
                    <rect x="15" y="45" width="70" height="50" rx="4" fill="none" stroke="var(--rk-ozc-brand)" stroke-width="6"></rect>
                    <line x1="25" y1="45" x2="25" y2="95" stroke="var(--rk-ozc-brand)" stroke-width="4"></line>
                    <line x1="40" y1="45" x2="40" y2="95" stroke="var(--rk-ozc-brand)" stroke-width="4"></line>
                    <line x1="55" y1="45" x2="55" y2="95" stroke="var(--rk-ozc-brand)" stroke-width="4"></line>
                    <line x1="70" y1="45" x2="70" y2="95" stroke="var(--rk-ozc-brand)" stroke-width="4"></line>
                </svg>
            </div>
            <div class="rk-ozc-panel-text">
                <h3 style="color: var(--rk-ozc-brand-hover);">Przewymiarowanie emiterów ciepła</h3>
                <p>Z kolei na piętrze, opierając się na tym samym bilansie OZC, muszę dobrać wielkość fizyczną grzejnika płytowego do z góry założonego parametru zasilania <span class="rk-ozc-data-highlight">45°C</span> (a nie 75°C, jak przy starym kotle węglowym).</p>
                <p>Wymusza to na inwestorze zastosowanie wielkogabarytowych modeli trzypłytowych typu <span class="rk-ozc-data-highlight">C33</span> o długości nierzadko sięgającej 1600 mm. Tylko takie wytyczne z projektu chronią system przed niedogrzaniem poddasza i zapobiegają "wojnie" między termostatami, a pompą ładującą sprzęgło.</p>
            </div>
        </div>
    </div>

    <div class="rk-ozc-cta-box">
        <h3>Projekt instalacji dyktuje warunki gry na budowie</h3>
        <p>Brak profesjonalnej dokumentacji to gwarancja awarii i przepłacania za materiał. Zamów profesjonalny projekt wodnego ogrzewania podłogowego z obliczeniami OZC i analizą hydrauliczną. Zainwestuj w bezpieczeństwo, które zwraca się z każdym rachunkiem za prąd.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-cta">
            ZAMÓW PROJEKT PODŁOGÓWKI Z OZC
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('.rk-ozc-tab-btn');
    const panels = {
        'floor': document.getElementById('panel-floor'),
        'radiator': document.getElementById('panel-radiator')
    };

    tabs.forEach(function(tab) {
        tab.addEventListener('click', function() {
            // Czyszczenie klas aktywnych z przycisków
            tabs.forEach(function(t) {
                t.classList.remove('active');
            });
            
            // Nadanie klasy aktywnej klikniętemu przyciskowi
            this.classList.add('active');

            // Ukrycie wszystkich paneli
            panels['floor'].classList.remove('active');
            panels['radiator'].classList.remove('active');

            // Wyświetlenie odpowiedniego panelu na podstawie atrybutu (bez operatorów logicznych &&)
            const target = this.getAttribute('data-target');
            if (target === 'floor') {
                panels['floor'].classList.add('active');
            } else {
                panels['radiator'].classList.add('active');
            }
        });
    });
});
</script>



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#article-case-study",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/"
    },
    "headline": "Studium Przypadku: Opanowanie chaosu w układzie mieszanym",
    "description": "Realny audyt instalacji hybrydowej. Diagnoza błędów wykonawczych, optymalizacja hydrauliczna i redukcja kosztów ogrzewania pompą ciepła z podłogówką i grzejnikami.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-04",
    "dateModified": "2026-07-04"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#dataset-audyt-dane",
    "name": "Parametry audytu energetycznego instalacji hybrydowej",
    "description": "Zestawienie parametrów pracy pompy ciepła przed i po interwencji inżynierskiej, wykazujące błędy braku sprzęgła hydraulicznego i złego doboru emiterów.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pompa ciepła podłogówka i grzejniki schemat podłączenia",
      "dlaczego pompa ciepła taktuje przy podłogówce",
      "wymiana starych grzejników na v33",
      "jak obniżyć rachunki za pompę ciepła w starym domu",
      "opory przepływu ogrzewanie podłogowe a kaloryfery",
      "zawór trójdrogowy mieszający jak ustawić"
    ],
    "measurementTechnique": "Pomiary różnicy temperatur (Delta T) oraz cykli pracy sprężarki w czasie rzeczywistym przed modernizacją węzła cieplnego i po jego prawidłowym zbalansowaniu.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Stan Awaryjny: Taktowanie 40 razy na dobę, SCOP 2.4, zasilanie 55 stopni C, rachunek grudniowy 1850 PLN.",
        "Działania naprawcze: Montaż bufora 120L, grupy pompowej z mieszaczem, wymiana 3 grzejników V22 na C33.",
        "Stan Zoptymalizowany: Stabilna praca, krzywa zredukowana do 45 stopni C, SCOP 4.1, rachunek zredukowany o 45%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#webapp-audyt-interaktywny",
    "name": "Przeglądarka Wyników Audytu Instalacji",
    "description": "Aplikacja typu przełącznik wizualizująca parametry techniczne instalatora amatora kontra standard inżynierski na konkretnym studium przypadku.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<style>
:root {
    --rk-cs-dark: #1e293b;
    --rk-cs-card: #ffffff;
    --rk-cs-bg: #f1f5f9;
    --rk-cs-border: #cbd5e1;
    --rk-cs-brand: #0284c7;
    --rk-cs-text: #334155;
    --rk-cs-danger: #ef4444;
    --rk-cs-success: #10b981;
    --rk-cs-warning: #f59e0b;
}

.rk-cs-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-cs-bg);
    border-radius: 20px;
    border: 1px solid var(--rk-cs-brand);
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.15);
    overflow: hidden;
}

.rk-cs-header {
    background: linear-gradient(to right, var(--rk-cs-dark), #0f172a);
    padding: 35px 40px;
    color: #ffffff;
    position: relative;
}

.rk-cs-header-badge {
    position: absolute;
    top: 35px;
    right: 40px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-cs-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
    max-width: 80%;
}

.rk-cs-header p {
    font-size: 16px;
    color: #94a3b8;
    margin: 0;
    line-height: 1.6;
    max-width: 85%;
}

.rk-cs-body {
    padding: 40px;
}

/* Storyteller / Opis sytuacji */
.rk-cs-story {
    background: var(--rk-cs-card);
    padding: 25px 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-cs-border);
    margin-bottom: 30px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-cs-story h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-cs-dark);
    margin: 0 0 10px 0;
}

.rk-cs-story p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-cs-text);
}

.rk-cs-story a {
    color: var(--rk-cs-brand);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Interaktywny Toggle (Before / After) */
.rk-cs-toggles {
    display: flex;
    gap: 0;
    background: #e2e8f0;
    border-radius: 12px;
    padding: 6px;
    margin-bottom: 30px;
}

.rk-cs-btn {
    flex: 1;
    padding: 16px 20px;
    border: none;
    background: transparent;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-cs-text);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-cs-btn.active[data-state="before"] {
    background: var(--rk-cs-card);
    color: var(--rk-cs-danger);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.rk-cs-btn.active[data-state="after"] {
    background: var(--rk-cs-card);
    color: var(--rk-cs-success);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* Panel Danych */
.rk-cs-panel {
    display: none;
    animation: rkFadeIn 0.4s ease forwards;
}

.rk-cs-panel.active {
    display: block;
}

@keyframes rkFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.rk-cs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 25px;
}

.rk-cs-metric {
    background: var(--rk-cs-card);
    padding: 25px 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-cs-border);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-cs-metric::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 4px;
}

.rk-cs-metric.danger::before { background: var(--rk-cs-danger); }
.rk-cs-metric.success::before { background: var(--rk-cs-success); }
.rk-cs-metric.warning::before { background: var(--rk-cs-warning); }

.rk-cs-metric-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 10px;
    letter-spacing: 0.5px;
}

.rk-cs-metric-val {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-cs-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.rk-cs-metric-sub {
    font-size: 13px;
    color: var(--rk-cs-text);
    margin-top: 5px;
}

.rk-svg-indicator {
    width: 24px;
    height: 24px;
}

.anim-bounce { animation: rkBounce 2s infinite; }
@keyframes rkBounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

/* Diagnoza / Wnioski */
.rk-cs-insight {
    background: #ffffff;
    padding: 25px 30px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-cs-brand);
}

.rk-cs-insight h4 {
    margin: 0 0 10px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-cs-dark);
}

.rk-cs-insight p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-cs-text);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .rk-cs-header, .rk-cs-body { padding: 25px 20px; }
    .rk-cs-header h2 { max-width: 100%; font-size: 22px; }
    .rk-cs-header-badge { position: relative; top: 0; right: 0; display: inline-block; margin-bottom: 15px; }
    .rk-cs-toggles { flex-direction: column; }
    .rk-cs-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-cs-metric { padding: 20px; }
}
</style>

<div class="rk-cs-wrapper" id="rk-case-study">
    
    <div class="rk-cs-header">
        <div class="rk-cs-header-badge">Audyt Inżynierski</div>
        <h2>Studium przypadku: Opanowanie chaosu w układzie mieszanym</h2>
        <p>Gdy opory hydrauliczne spotykają się z brakiem dokumentacji, portfel inwestora zawsze przegrywa. Zobacz twarde dane z audytu przed i po interwencji naprawczej.</p>
    </div>

    <div class="rk-cs-body">
        
        <div class="rk-cs-story">
            <h3>Kontekst Inwestycji</h3>
            <p>Dom o powierzchni 150 m², zlokalizowany w górzystym terenie Podkarpacia, przechodził głęboką termomodernizację zimą 2025/2026 roku. Na piętrze pozostawiono stare grzejniki płytowe, na parterze wylano nową posadzkę z ogrzewaniem podłogowym. Instalator zamontował jednostkę o mocy 8 kW bez <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgła hydraulicznego</a>, wpinając obie strefy "na trójnikach" do wbudowanej pompy obiegowej.</p>
        </div>

        <div class="rk-cs-toggles">
            <button class="rk-cs-btn active" data-state="before">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                Stan Przed (Grudzień)
            </button>
            <button class="rk-cs-btn" data-state="after">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                Po Optymalizacji (Styczeń)
            </button>
        </div>

        <div class="rk-cs-panel active" id="panel-before">
            <div class="rk-cs-grid">
                <div class="rk-cs-metric danger">
                    <div class="rk-cs-metric-label">Cykle Sprężarki</div>
                    <div class="rk-cs-metric-val">
                        ~40 <svg class="rk-svg-indicator anim-bounce" style="color:var(--rk-cs-danger);" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"></polyline><polyline points="16 7 22 7 22 13"></polyline></svg>
                    </div>
                    <div class="rk-cs-metric-sub">Startów na dobę (Taktowanie)</div>
                </div>
                <div class="rk-cs-metric warning">
                    <div class="rk-cs-metric-label">Krzywa Grzewcza</div>
                    <div class="rk-cs-metric-val">55 °C</div>
                    <div class="rk-cs-metric-sub">Wymuszona starymi grzejnikami</div>
                </div>
                <div class="rk-cs-metric danger">
                    <div class="rk-cs-metric-label">Sprawność SCOP</div>
                    <div class="rk-cs-metric-val">2.4</div>
                    <div class="rk-cs-metric-sub">Dramatyczny spadek wydajności</div>
                </div>
            </div>
            
            <div class="rk-cs-insight" style="border-color: var(--rk-cs-danger);">
                <h4>Diagnoza błędów wykonawczych</h4>
                <p>Klasyczny przepływ zwarciowy. Woda z pompy natychmiast uciekała przez grzejniki (opór ok. 10 kPa), całkowicie ignorując długie pętle podłogówki (opór &gt;25 kPa). Jednostka odczytywała gorący powrót z kaloryferów, uznawała dom za dogrzany i wyłączała się po kilkunastu minutach pracy. Koszt miesięczny zimą dobił do 1850 PLN.</p>
            </div>
        </div>

        <div class="rk-cs-panel" id="panel-after">
            <div class="rk-cs-grid">
                <div class="rk-cs-metric success">
                    <div class="rk-cs-metric-label">Cykle Sprężarki</div>
                    <div class="rk-cs-metric-val">
                        ~6 <svg class="rk-svg-indicator anim-bounce" style="color:var(--rk-cs-success);" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="22 17 13.5 8.5 8.5 13.5 2 7"></polyline><polyline points="16 17 22 17 22 11"></polyline></svg>
                    </div>
                    <div class="rk-cs-metric-sub">Stabilne, długie takty</div>
                </div>
                <div class="rk-cs-metric success">
                    <div class="rk-cs-metric-label">Krzywa Grzewcza</div>
                    <div class="rk-cs-metric-val">45 °C</div>
                    <div class="rk-cs-metric-sub">Po wymianie emiterów</div>
                </div>
                <div class="rk-cs-metric success">
                    <div class="rk-cs-metric-label">Sprawność SCOP</div>
                    <div class="rk-cs-metric-val">4.1</div>
                    <div class="rk-cs-metric-sub">Wzrost efektywności o ponad 70%</div>
                </div>
            </div>
            
            <div class="rk-cs-insight" style="border-color: var(--rk-cs-success);">
                <h4>Wdrożenie standardu inżynierskiego</h4>
                <p>Na podstawie twardych obliczeń OZC wdrożono bufor o pojemności 120L pełniący rolę sprzęgła. Obwód podłogowy zabezpieczono <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zaworem mieszającym z siłownikiem</a>, gwarantującym stały zład 32°C na posadzkę. Z kolei trzy kluczowe grzejniki V22 wymieniono na przewymiarowane C33, co pozwoliło obniżyć maksymalną krzywą zasilania do 45°C (zamiast 55°C). Efekt? Stabilna praca układu i cięcie rachunków o połowę.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-cs-btn');
    const panelBefore = document.getElementById('panel-before');
    const panelAfter = document.getElementById('panel-after');

    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Unikamy operatorów &&, używamy zmiennej logicznej
            let isActive = this.classList.contains('active');
            
            if (isActive === false) {
                // Wyczyszczenie aktywnych przycisków
                btns.forEach(function(b) {
                    b.classList.remove('active');
                });
                
                // Ukrycie wszystkich paneli
                panelBefore.classList.remove('active');
                panelAfter.classList.remove('active');

                // Aktywacja klikniętego elementu
                this.classList.add('active');
                let targetState = this.getAttribute('data-state');

                if (targetState === 'before') {
                    panelBefore.classList.add('active');
                } else if (targetState === 'after') {
                    panelAfter.classList.add('active');
                }
            }
        });
    });
});
</script>



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#article-ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/"
    },
    "headline": "Zdaniem Roberta Kucharskiego: Ostateczny werdykt dla instalacji hybrydowych",
    "description": "Autorskie podsumowanie inżynierskie Roberta Kucharskiego dotyczące opłacalności i bezpieczeństwa łączenia ogrzewania podłogowego z grzejnikami przy pompie ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-04",
    "dateModified": "2026-07-04"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#dataset-ekspert-wnioski",
    "name": "Baza wiedzy eksperckiej - Wnioski instalacyjne",
    "description": "Zestawienie twardych wytycznych i rekomendacji inżynierskich dla inwestorów planujących układ hybrydowy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "robert kucharski projekt ogrzewania",
      "ekspert ogrzewanie podłogowe opinie",
      "czy warto łączyć grzejniki z podłogówką",
      "autorytet hvac pompy ciepła",
      "projekt instalacji co wytyczne"
    ],
    "measurementTechnique": "Weryfikacja założeń projektowych na podstawie setek audytów OZC i zrealizowanych inwestycji na terenie całej Polski.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wniosek 1: W nowym domu instalacja mieszana to błąd. Wybieraj w 100% układ płaszczyznowy.",
        "Wniosek 2: Przy termomodernizacji sprzęgło hydrauliczne (bufor) i zawór mieszający to warunek sine qua non.",
        "Wniosek 3: Dokumentacja OZC jest jedynym zabezpieczeniem przed drastycznym przewymiarowaniem systemu i kosztami rzędu kilkunastu tysięcy złotych strat."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#webapp-panel-eksperta",
    "name": "Interaktywny Panel Ekspercki: Werdykt",
    "description": "Zakładkowy moduł podsumowujący treść artykułu z podziałem na diagnozę, zagrożenia i ostateczną rekomendację inżynierską dla inwestorów.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<style>
:root {
    --rk-exp-dark: #111827;
    --rk-exp-card: #ffffff;
    --rk-exp-bg: #f8fafc;
    --rk-exp-border: #e5e7eb;
    --rk-exp-brand: #0284c7;
    --rk-exp-text: #4b5563;
    --rk-exp-social: #1e293b;
}

.rk-exp-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-exp-card);
    border-radius: 20px;
    border: 1px solid var(--rk-exp-border);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

.rk-exp-header-bar {
    background: var(--rk-exp-dark);
    padding: 30px 40px;
}

.rk-exp-header-bar h2 {
    color: #ffffff;
    font-size: 24px;
    font-weight: 900;
    margin: 0;
    line-height: 1.3;
}

.rk-exp-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    background: var(--rk-exp-card);
}

/* Sekcja Profilu Eksperta */
.rk-exp-profile {
    background: var(--rk-exp-bg);
    padding: 40px 30px;
    border-right: 1px solid var(--rk-exp-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-exp-photo {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}

.rk-exp-name {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-exp-dark);
    margin: 0 0 5px 0;
}

.rk-exp-role {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--rk-exp-brand);
    letter-spacing: 1px;
    margin: 0 0 20px 0;
}

.rk-exp-socials {
    display: flex;
    gap: 15px;
    width: 100%;
    justify-content: center;
}

.rk-exp-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #ffffff;
    border: 1px solid var(--rk-exp-border);
    color: var(--rk-exp-social);
    text-decoration: none;
}

.rk-exp-social-link:hover {
    border-color: var(--rk-exp-brand);
    color: var(--rk-exp-brand);
    background: #f0f9ff;
}

/* Interaktywny Panel Treści (Brak animacji) */
.rk-exp-content {
    padding: 40px;
}

.rk-exp-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
    border-bottom: 2px solid var(--rk-exp-border);
    padding-bottom: 15px;
}

.rk-exp-tab-btn {
    background: transparent;
    border: none;
    padding: 10px 20px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-exp-text);
    cursor: pointer;
    border-radius: 8px;
}

.rk-exp-tab-btn:hover {
    background: var(--rk-exp-bg);
}

.rk-exp-tab-btn.active {
    background: var(--rk-exp-dark);
    color: #ffffff;
}

.rk-exp-panel {
    display: none;
}

.rk-exp-panel.active {
    display: block;
}

.rk-exp-panel h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-exp-dark);
    margin: 0 0 15px 0;
}

.rk-exp-panel p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-exp-text);
    margin: 0 0 15px 0;
}

.rk-exp-quote-box {
    padding: 20px 25px;
    background: #f0f9ff;
    border-left: 4px solid var(--rk-exp-brand);
    border-radius: 0 12px 12px 0;
    margin-top: 25px;
}

.rk-exp-quote-box p {
    margin: 0;
    font-weight: 600;
    color: var(--rk-exp-dark);
    font-style: italic;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .rk-exp-grid { grid-template-columns: 1fr; }
    .rk-exp-profile { border-right: none; border-bottom: 1px solid var(--rk-exp-border); padding: 30px 20px; }
    .rk-exp-header-bar { padding: 25px 20px; }
    .rk-exp-content { padding: 25px 20px; }
    .rk-exp-tabs { flex-direction: column; gap: 8px; border-bottom: none; }
    .rk-exp-tab-btn { text-align: left; background: var(--rk-exp-bg); border: 1px solid var(--rk-exp-border); }
    .rk-exp-tab-btn.active { background: var(--rk-exp-dark); border-color: var(--rk-exp-dark); }
}
</style>

<div class="rk-exp-container" id="rk-expert-summary">
    
    <div class="rk-exp-header-bar">
        <h2>Zdaniem Roberta Kucharskiego</h2>
    </div>

    <div class="rk-exp-grid">
        <div class="rk-exp-profile">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Projekt-Ogrzewania.pl" class="rk-exp-photo">
            <div class="rk-exp-name">Robert Kucharski</div>
            <div class="rk-exp-role">Specjalista HVAC / CEO</div>
            
            <div class="rk-exp-socials">
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" class="rk-exp-social-link" aria-label="LinkedIn Roberta Kucharskiego">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
                </a>
                <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" class="rk-exp-social-link" aria-label="Oficjalny profil Facebook Projekt Ogrzewania">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                </a>
            </div>
        </div>

        <div class="rk-exp-content">
            <div class="rk-exp-tabs">
                <button class="rk-exp-tab-btn active" data-view="diagnoza">Główny Wniosek</button>
                <button class="rk-exp-tab-btn" data-view="zagrozenia">Fizyka Budowli</button>
                <button class="rk-exp-tab-btn" data-view="rekomendacja">Rekomendacja</button>
            </div>

            <div class="rk-exp-panels">
                
                <div class="rk-exp-panel active" id="panel-diagnoza">
                    <h3>Hybryda to ostateczność, nie standard</h3>
                    <p>Jako specjalista projektujący systemy płaszczyznowe stanowczo odradzam łączenie podłogówki z grzejnikami w nowym budownictwie. Każdy argument inwestora o "szybkim nagrzewaniu sypialni" upada w starciu z twardymi prawami termodynamiki i wskaźnikami rocznego SCOP pompy ciepła.</p>
                    <p>Układ mieszany ma sens ekonomiczny wyłącznie w przypadku skomplikowanych termomodernizacji starych domów, gdzie fizyczne usunięcie grzejników z piętra jest niemożliwe.</p>
                </div>

                <div class="rk-exp-panel" id="panel-zagrozenia">
                    <h3>Opory hydrauliczne nie wybaczają</h3>
                    <p>Największym błędem branży jest ignorowanie różnic w przepływach. Wpięcie strefy grzejnikowej (opór ~10 kPa) i podłogowej (opór &gt;25 kPa) bez zastosowania bufora równoległego gwarantuje zjawisko przepływu zwarciowego.</p>
                    <p>Zmuszając urządzenie niskotemperaturowe do pracy na krzywej rzędu 50°C, świadomie godzisz się na wzrost rachunków za prąd o kilkadziesiąt procent w skali roku i ryzykujesz błyskawiczne zatarcie sprężarki na skutek taktowania (short-cycling).</p>
                </div>

                <div class="rk-exp-panel" id="panel-rekomendacja">
                    <h3>Matematyka zamiast zgadywania</h3>
                    <p>Jeśli musisz wykonać instalację mieszaną, powierz ją profesjonalistom i nie opieraj się na "doświadczeniu montera". Węzeł cieplny musi posiadać sprzęgło (minimum 15 litrów zładu na 1 kW mocy pompy) oraz obrotowy zawór trójdrogowy redukujący temperaturę podłogi.</p>
                    <div class="rk-exp-quote-box">
                        <p>„Fundamentem sukcesu nie są drogie materiały, ale zaktualizowane obliczenia OZC zgodne z normą PN-EN 12831. To projekt dyktuje warunki gry na budowie, chroniąc Twój budżet.”</p>
                    </div>
                </div>

            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-exp-tab-btn');
    const panels = {
        'diagnoza': document.getElementById('panel-diagnoza'),
        'zagrozenia': document.getElementById('panel-zagrozenia'),
        'rekomendacja': document.getElementById('panel-rekomendacja')
    };

    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Bezpieczny przełącznik bez animacji i bez operatorów logicznych && / ||
            let isCurrentActive = this.classList.contains('active');
            
            if (isCurrentActive === false) {
                // Reset przycisków
                btns.forEach(function(b) {
                    b.classList.remove('active');
                });
                
                // Reset paneli
                panels['diagnoza'].classList.remove('active');
                panels['zagrozenia'].classList.remove('active');
                panels['rekomendacja'].classList.remove('active');

                // Aktywacja wybranych elementów
                this.classList.add('active');
                let targetId = this.getAttribute('data-view');
                
                if (targetId === 'diagnoza') { panels['diagnoza'].classList.add('active'); }
                else if (targetId === 'zagrozenia') { panels['zagrozenia'].classList.add('active'); }
                else if (targetId === 'rekomendacja') { panels['rekomendacja'].classList.add('active'); }
            }
        });
    });
});
</script>



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/"
    },
    "headline": "FAQ - Pompa ciepła podłogówka i grzejniki",
    "description": "Najczęściej zadawane pytania techniczne dotyczące łączenia ogrzewania podłogowego z grzejnikami w systemach z pompą ciepła. Parametry, koszty i rozwiązania hydrauliczne.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-04",
    "dateModified": "2026-07-04"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy do pompy ciepła można podłączyć stare grzejniki bez ich wymiany?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, jest to technicznie wykonalne, ale bezwzględnie wymaga wykonania bilansu cieplnego OZC budynku, by sprawdzić, czy stare emiter oddadzą wystarczającą moc przy obniżonym parametrze (np. 45/35 stopni C). W ponad 70% starych domów w Polsce konieczna jest przynajmniej częściowa wymiana instalacji na konwektory trójpłytowe (V33) w celu niedopuszczenia do niedogrzania zimą."
        }
      },
      {
        "@type": "Question",
        "name": "Czy potrzebny jest bufor ciepła przy podłogówce i grzejnikach?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, w systemach mieszanych sprzęgło hydrauliczne lub bufor pełniący jego funkcję są elementami krytycznymi, chroniącymi przed awarią. Zrównoważenie diametralnie różnych oporów przepływu i temperatur między pętlami z wylewki a szybkimi kaloryferami bez bufora i osobnej grupy mieszającej doprowadzi do natychmiastowego taktowania i uszkodzenia kompresora."
        }
      },
      {
        "@type": "Question",
        "name": "Jakie są koszty eksploatacji systemu mieszanego w porównaniu do czystej podłogówki?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Ze względu na konieczność produkcji gorętszej wody (wyższa krzywa grzewcza rzędu 45-50 stopni C narzucona przez grzejniki), rachunki za energię elektryczną przy pompie ciepła rosną. Roczne koszty eksploatacyjne układu hybrydowego mogą być wyższe o 15% do nawet 30% w porównaniu do 100% instalacji płaszczyznowych, które osiągają wyższy współczynnik efektywności SCOP."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka temperatura zasilania jest bezpieczna dla układu mieszanego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Inteligentna automatyka powinna kierować z jednostki zewnętrznej wodę o temperaturze ok. 45 stopni C prosto na rozdzielacz strefy grzejnikowej oraz do bufora. Z poziomu kotłowni, za pomocą obrotowego zaworu z siłownikiem mieszającym (grupa pompowa), woda ta musi zostać podbramkowo zredukowana do bezpiecznych 30-35 stopni C przed wtłoczeniem jej w rury zatopione w jastrychu na parterze."
        }
      },
      {
        "@type": "Question",
        "name": "Jak dobrać pompę obiegową dla podłogówki w układzie, gdzie są też kaloryfery?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Dobór osobnej pompy za buforem musi opierać się wyłącznie na oporach najdłuższej pętli (często powyżej 20 kPa) i wyliczonym sumarycznym przepływie masowym dla strefy parteru. Pompa obiegowa w jednostce głównej odpowiada wtedy wyłącznie za wtłoczenie energii przez krótki, niskoporowy odcinek wprost do zładu w buforze, co rozwiązuje konflikty hydrauliczne."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#dataset-faq-parametry",
    "name": "Baza wiedzy rozwiązywania problemów hybrydowych (FAQ)",
    "description": "Zestawienie parametrów krytycznych (temperatury, opory, dobór elementów) dla instalacji mieszanej ogrzewania.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy można podłączyć stare grzejniki do pompy ciepła",
      "jakie grzejniki do pompy ciepła w starym domu",
      "pojemność bufora do pompy ciepła z grzejnikami",
      "różnica w kosztach ogrzewania podłogówka a grzejniki",
      "maksymalna temperatura na ogrzewanie podłogowe",
      "taktowanie pompy ciepła przyczyny",
      "jak dobrać pompę obiegową do podłogówki",
      "wymiana grzejników przy pompie ciepła"
    ],
    "measurementTechnique": "Rozwiązywanie problemów instalacyjnych w oparciu o analizę bilansu OZC, oporów hydraulicznych i zaleceń producentów pomp ciepła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Temperatury graniczne: 45°C dla grzejników typu V33, max 35°C dla jastrychu podłogowego.",
        "Komponenty krytyczne: Sprzęgło hydrauliczne (bufor) chroniące kompresor, obrotowy zawór mieszający z siłownikiem.",
        "Wpływ na koszty: Układ mieszany generuje 15-30% wyższe koszty operacyjne względem systemu czysto płaszczyznowego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#webapp-faq-interaktywne",
    "name": "Baza Wiedzy Inwestora: Interaktywne FAQ",
    "description": "Dynamiczny widget akordeonowy pozwalający inwestorom na przeglądanie krytycznych różnic technologicznych w instalacjach mieszanych bez zbędnego obciążenia poznawczego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-card: #ffffff;
    --rk-faq-border: #e2e8f0;
    --rk-faq-blue: #0284c7;
    --rk-faq-blue-light: #f0f9ff;
    --rk-faq-text: #475569;
    --rk-faq-title: #1e293b;
    --rk-faq-hover: #f8fafc;
}

.rk-faq-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: transparent;
}

.rk-faq-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid var(--rk-faq-blue);
}

.rk-faq-header-icon {
    width: 60px;
    height: 60px;
    background: var(--rk-faq-blue-light);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-faq-blue);
    flex-shrink: 0;
}

.rk-faq-header-content h2 {
    margin: 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-faq-dark);
    line-height: 1.2;
}

.rk-faq-header-content p {
    margin: 5px 0 0 0;
    font-size: 15px;
    color: var(--rk-faq-text);
}

.rk-faq-wrapper {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-faq-item {
    background: var(--rk-faq-card);
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.rk-faq-item:hover {
    border-color: #cbd5e1;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.rk-faq-btn {
    width: 100%;
    text-align: left;
    padding: 24px 30px;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    transition: background 0.3s ease;
}

.rk-faq-btn:hover {
    background: var(--rk-faq-hover);
}

.rk-faq-btn h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--rk-faq-title);
    line-height: 1.4;
}

.rk-faq-icon-svg {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: var(--rk-faq-blue);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-btn.active .rk-faq-icon-svg {
    transform: rotate(135deg);
    color: #ef4444; /* Czerwony kolor przy zamykaniu dla kontrastu */
}

.rk-faq-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: var(--rk-faq-card);
}

.rk-faq-panel-content {
    padding: 0 30px 30px 30px;
    border-top: 1px dashed var(--rk-faq-border);
    margin-top: -10px;
    padding-top: 25px;
}

.rk-faq-panel-content p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-faq-text);
}

.rk-faq-panel-content a {
    color: var(--rk-faq-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s;
}

.rk-faq-panel-content a:hover {
    border-color: var(--rk-faq-blue);
}

/* Dostosowanie dla urządzeń mobilnych (Vertical Stack) */
@media (max-width: 768px) {
    .rk-faq-container { margin: 20px auto; }
    .rk-faq-header { flex-direction: column; text-align: center; gap: 15px; }
    .rk-faq-btn { padding: 20px; }
    .rk-faq-btn h3 { font-size: 16px; }
    .rk-faq-panel-content { padding: 0 20px 25px 20px; }
}
</style>

<div class="rk-faq-container" id="rk-interactive-faq">
    <div class="rk-faq-header">
        <div class="rk-faq-header-icon">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <circle cx="12" cy="12" r="10"></circle>
                <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
                <line x1="12" y1="17" x2="12.01" y2="17"></line>
            </svg>
        </div>
        <div class="rk-faq-header-content">
            <h2>FAQ - Pompa ciepła, podłogówka i grzejniki</h2>
            <p>Baza wiedzy inwestora. Kliknij wybrane pytanie, aby rozwinąć odpowiedź techniczną.</p>
        </div>
    </div>

    <div class="rk-faq-wrapper">
        <div class="rk-faq-item">
            <button class="rk-faq-btn">
                <h3>Czy do pompy ciepła można podłączyć stare grzejniki bez ich wymiany?</h3>
                <svg class="rk-faq-icon-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
            </button>
            <div class="rk-faq-panel">
                <div class="rk-faq-panel-content">
                    <p>Tak, jest to technicznie wykonalne, ale bezwzględnie wymaga wykonania bilansu cieplnego <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">OZC budynku</a>, by sprawdzić, czy stare emiter oddadzą wystarczającą moc przy obniżonym parametrze (np. 45/35°C). W ponad 70% starych domów w Polsce konieczna jest przynajmniej częściowa wymiana instalacji na konwektory trójpłytowe (V33) w celu niedopuszczenia do niedogrzania zimą.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn">
                <h3>Czy potrzebny jest bufor ciepła przy podłogówce i grzejnikach?</h3>
                <svg class="rk-faq-icon-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
            </button>
            <div class="rk-faq-panel">
                <div class="rk-faq-panel-content">
                    <p>Tak, w systemach mieszanych <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgło hydrauliczne</a> lub bufor pełniący jego funkcję są elementami krytycznymi, chroniącymi przed awarią. Zrównoważenie diametralnie różnych oporów przepływu i temperatur między pętlami z wylewki a szybkimi kaloryferami bez bufora i osobnej grupy mieszającej doprowadzi do natychmiastowego taktowania i uszkodzenia kompresora.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn">
                <h3>Jakie są koszty eksploatacji systemu mieszanego w porównaniu do czystej podłogówki?</h3>
                <svg class="rk-faq-icon-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
            </button>
            <div class="rk-faq-panel">
                <div class="rk-faq-panel-content">
                    <p>Ze względu na konieczność produkcji gorętszej wody (wyższa krzywa grzewcza rzędu 45-50°C narzucona przez grzejniki), <a href="https://projekt-ogrzewania.pl/rzeczywiste-oszczednosci-na-kosztach-ogrzewania-w-skali-roku-analiza-rozstawu-rur-dla-domu-150-m%c2%b2/">rachunki za energię elektryczną</a> przy pompie ciepła rosną. Roczne koszty eksploatacyjne układu hybrydowego mogą być wyższe o 15% do nawet 30% w porównaniu do 100% instalacji płaszczyznowych, które osiągają wyższy współczynnik efektywności SCOP.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn">
                <h3>Jaka temperatura zasilania jest bezpieczna dla układu mieszanego?</h3>
                <svg class="rk-faq-icon-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
            </button>
            <div class="rk-faq-panel">
                <div class="rk-faq-panel-content">
                    <p>Inteligentna automatyka powinna kierować z jednostki zewnętrznej wodę o temperaturze ok. 45°C prosto na rozdzielacz strefy grzejnikowej oraz do bufora. Z poziomu kotłowni, za pomocą obrotowego zaworu z siłownikiem mieszającym (grupa pompowa), woda ta musi zostać podbramkowo zredukowana do bezpiecznej <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">maksymalnej temperatury zasilania podłogówki</a> (ok. 30-35°C) przed wtłoczeniem jej w rury zatopione w jastrychu na parterze.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn">
                <h3>Jak dobrać pompę obiegową dla podłogówki w układzie, gdzie są też kaloryfery?</h3>
                <svg class="rk-faq-icon-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
            </button>
            <div class="rk-faq-panel">
                <div class="rk-faq-panel-content">
                    <p>Dobór <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">osobnej pompy obiegowej</a> za buforem musi opierać się wyłącznie na oporach najdłuższej pętli (często powyżej 20 kPa) i wyliczonym sumarycznym przepływie masowym dla strefy parteru. Pompa obiegowa w jednostce głównej odpowiada wtedy wyłącznie za wtłoczenie energii przez krótki, niskoporowy odcinek wprost do zładu w buforze, co rozwiązuje konflikty hydrauliczne.</p>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const faqButtons = document.querySelectorAll('.rk-faq-btn');

    faqButtons.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Sprawdzenie stanu aktualnie klikniętego elementu (bez użycia operatorów &&)
            let isAlreadyActive = this.classList.contains('active');

            // Zamykanie wszystkich otwartych paneli
            faqButtons.forEach(function(otherBtn) {
                otherBtn.classList.remove('active');
                let otherPanel = otherBtn.nextElementSibling;
                otherPanel.style.maxHeight = null;
            });

            // Jeśli element nie był aktywny wcześniej, otwieramy go
            if (!isAlreadyActive) {
                this.classList.add('active');
                let panel = this.nextElementSibling;
                panel.style.maxHeight = panel.scrollHeight + "px";
            }
        });
    });
});
</script>



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/"
    },
    "headline": "Podsumowanie: Hybrydowy system grzewczy – jak uniknąć katastrofy",
    "description": "Interaktywne podsumowanie zasad łączenia ogrzewania podłogowego z grzejnikami przy użyciu pompy ciepła. Zobacz kluczowe różnice między układem profesjonalnym a amatorskim.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-04",
    "dateModified": "2026-07-04"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#dataset-uklad-mieszany",
    "name": "Parametry hydrauliczne i termiczne układu mieszanego z pompą ciepła",
    "description": "Zestawienie twardych danych porównujących instalację hybrydową zlokalizowaną bezpośrednio na jednej pompie obiegowej do instalacji buforowanej przez sprzęgło hydrauliczne.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podłogówka i grzejniki jedna pompa",
      "bufor ciepła w układzie mieszanym",
      "temperatura zasilania podłogówki",
      "taktowanie pompy ciepła",
      "zawór trójdrogowy mieszający z siłownikiem"
    ],
    "measurementTechnique": "Analiza spadków ciśnień i efektywności SCOP pompy ciepła na podstawie normy PN-EN 12831 i wytycznych PORT PC dla systemów biwalentnych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Układ Bezpośredni: SCOP poniżej 2.8, wysokie ryzyko taktowania (short-cycling), przepływ zwarciowy przez mniejsze opory grzejników.",
        "Układ z Buforem i Podmieszaniem: SCOP stabilny na poziomie 3.5 - 4.5, zład wody zbalansowany, temperatura bezpieczna dla jastrychu (max 35 stopni Celsjusza)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#webapp-symulator-hydrauliczny",
    "name": "Wizualizator Przepływów: System Hybrydowy",
    "description": "Interaktywne narzędzie przełącznikowe pokazujące ścieżkę krytyczną czynnika grzewczego w instalacjach hybrydowych (grzejniki + płaszczyzna) dla domów jednorodzinnych.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<style>
:root {
    --rk-base-dark: #111827;
    --rk-base-light: #f9fafb;
    --rk-accent-blue: #0ea5e9;
    --rk-accent-blue-hover: #0284c7;
    --rk-accent-green: #059669;
    --rk-accent-red: #dc2626;
    --rk-border: #e5e7eb;
    --rk-text-main: #374151;
    --rk-text-muted: #6b7280;
}

.rk-summary-block {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 20px 40px -15px rgba(14, 165, 233, 0.1);
    border: 1px solid var(--rk-accent-blue);
    overflow: hidden;
}

.rk-summary-header {
    background: var(--rk-base-dark);
    padding: 40px 30px;
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-accent-blue);
}

.rk-summary-header h2 {
    color: #ffffff;
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-summary-header p {
    font-size: 16px;
    color: #cbd5e1;
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Interfejs Przełącznika */
.rk-interactive-zone {
    padding: 40px 30px;
    background: var(--rk-base-light);
}

.rk-toggle-controls {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 30px;
    background: #ffffff;
    padding: 10px;
    border-radius: 100px;
    border: 1px solid var(--rk-border);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.rk-toggle-btn {
    flex: 1;
    padding: 14px 20px;
    border: none;
    background: transparent;
    border-radius: 100px;
    font-weight: 700;
    font-size: 15px;
    color: var(--rk-text-muted);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.rk-toggle-btn.active[data-type="error"] {
    background: #fee2e2;
    color: var(--rk-accent-red);
    box-shadow: 0 4px 10px rgba(220, 38, 38, 0.15);
}

.rk-toggle-btn.active[data-type="pro"] {
    background: #d1fae5;
    color: var(--rk-accent-green);
    box-shadow: 0 4px 10px rgba(5, 150, 105, 0.15);
}

/* Widok dynamiczny */
.rk-view-container {
    background: #ffffff;
    border: 1px solid var(--rk-border);
    border-radius: 16px;
    padding: 30px;
    display: flex;
    gap: 30px;
    align-items: center;
    min-height: 250px;
}

.rk-view-graphic {
    flex: 0 0 120px;
    display: flex;
    justify-content: center;
}

.rk-view-content {
    flex: 1;
}

.rk-view-content h3 {
    margin: 0 0 15px 0;
    font-size: 22px;
    font-weight: 800;
}

.rk-view-content p {
    margin: 0 0 15px 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-text-main);
}

.rk-data-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.rk-data-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 600;
    color: var(--rk-base-dark);
}

.rk-data-list li::before {
    content: "→";
    position: absolute;
    left: 0;
    color: var(--rk-accent-blue);
    font-weight: bold;
}

/* Tagi SEO */
.rk-tags-section {
    padding: 20px 30px;
    background: #ffffff;
    border-top: 1px dashed var(--rk-border);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.rk-mat-tag {
    background: var(--rk-base-light);
    border: 1px solid var(--rk-border);
    color: var(--rk-accent-blue);
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    transition: background 0.2s;
}

.rk-mat-tag:hover {
    background: #e0f2fe;
}

/* Animacje SVG */
.rk-svg-icon {
    width: 100%;
    height: auto;
    max-width: 100px;
}

.anim-gear { transform-origin: center; animation: spinGear 4s linear infinite; }
.anim-alert { transform-origin: center; animation: pulseAlert 1.5s ease-in-out infinite; }

@keyframes spinGear { 100% { transform: rotate(360deg); } }
@keyframes pulseAlert { 0% { transform: scale(1); opacity: 0.8; } 50% { transform: scale(1.1); opacity: 1; } 100% { transform: scale(1); opacity: 0.8; } }

/* Mobile CSS - układ pionowy (akordeonowy przepływ) */
@media (max-width: 768px) {
    .rk-summary-header { padding: 30px 20px; }
    .rk-summary-header h2 { font-size: 22px; }
    .rk-interactive-zone { padding: 20px; }
    .rk-toggle-controls { flex-direction: column; border-radius: 16px; gap: 5px; background: transparent; border: none; }
    .rk-toggle-btn { border-radius: 12px; border: 1px solid var(--rk-border); background: #ffffff; }
    .rk-view-container { flex-direction: column; text-align: center; padding: 20px; gap: 20px; }
    .rk-data-list li { text-align: left; }
}
</style>

<div class="rk-summary-block" id="rk-hybrid-summary">
    <div class="rk-summary-header">
        <h2>Podsumowanie: Pompa ciepła, podłogówka i grzejniki w jednym układzie</h2>
        <p>Instalacja mieszana to bezlitosny sprawdzian dla instalatora. Zignorowanie praw hydrauliki i fizyki budowli skutkuje natychmiastowym taktowaniem sprężarki i drastycznym wzrostem rachunków za prąd.</p>
    </div>

    <div class="rk-interactive-zone">
        <div class="rk-toggle-controls" id="rkToggleBox">
            <button class="rk-toggle-btn active" data-type="error">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                Układ Bezpośredni (Amatorski)
            </button>
            <button class="rk-toggle-btn" data-type="pro">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                Układ z Buforem (Inżynierski)
            </button>
        </div>

        <div class="rk-view-container" id="rkViewContent">
            </div>
    </div>

    <div class="rk-tags-section">
        <span class="rk-mat-tag"># pompa ciepła podłogówka i grzejniki schemat</span>
        <span class="rk-mat-tag"># jaka temperatura na grzejniki z pompy ciepła</span>
        <span class="rk-mat-tag"># sprzęgło hydrauliczne a bufor ciepła</span>
        <span class="rk-mat-tag"># taktowanie pompy ciepła przyczyny</span>
        <span class="rk-mat-tag"># zawór trójdrogowy mieszający zasada działania</span>
        <span class="rk-mat-tag"># sprawność SCOP układu mieszanego</span>
        <span class="rk-mat-tag"># dobór pompy obiegowej za buforem</span>
        <span class="rk-mat-tag"># krzywa grzewcza dla grzejników i podłogówki</span>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggleBtns = document.querySelectorAll('.rk-toggle-btn');
    const viewContainer = document.getElementById('rkViewContent');

    const contentData = {
        error: `
            <div class="rk-view-graphic">
                <svg class="rk-svg-icon" viewBox="0 0 100 100">
                    <circle cx="50" cy="50" r="45" fill="none" stroke="var(--rk-accent-red)" stroke-width="5" stroke-dasharray="10 5" class="anim-alert"/>
                    <path d="M50 25 L50 60 M50 75 L50 80" stroke="var(--rk-accent-red)" stroke-width="6" stroke-linecap="round"/>
                </svg>
            </div>
            <div class="rk-view-content">
                <h3 style="color: var(--rk-accent-red);">Błąd Krytyczny: Brak zrównoważenia oporów</h3>
                <p>Wpięcie strefy grzejnikowej i podłogowej na jednej pompie zasilającej to wyrok dla kompresora. Ciecz płynie po linii najmniejszego oporu (przez mały zład grzejników), całkowicie ignorując długie pętle zatopione w jastrychu.</p>
                <ul class="rk-data-list">
                    <li>Zjawisko "short-cyclingu" (taktowanie) – pompa włącza się i wyłącza co 10 minut.</li>
                    <li>Niedogrzany parter mimo maksymalnego poboru prądu.</li>
                    <li>Ryzyko podania zbyt wysokiej temperatury na wylewkę anhydrytową.</li>
                </ul>
            </div>
        `,
        pro: `
            <div class="rk-view-graphic">
                <svg class="rk-svg-icon" viewBox="0 0 100 100">
                    <circle cx="50" cy="50" r="40" fill="none" stroke="var(--rk-accent-green)" stroke-width="5" />
                    <path d="M50 20 L50 40 M50 60 L50 80 M20 50 L40 50 M60 50 L80 50" stroke="var(--rk-accent-green)" stroke-width="4" class="anim-gear" stroke-linecap="round"/>
                    <circle cx="50" cy="50" r="10" fill="var(--rk-accent-green)" />
                </svg>
            </div>
            <div class="rk-view-content">
                <h3 style="color: var(--rk-accent-green);">Standard Inżynierski: Rozdział przez Bufor</h3>
                <p>Kluczem do niezawodności jest <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" style="color: var(--rk-accent-blue); font-weight:700;">zastosowanie bufora ciepła</a> jako sprzęgła hydraulicznego. Pompa ładuje zład wodny, a niezależne <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/" style="color: var(--rk-accent-blue); font-weight:700;">pompy obiegowe</a> dystrybuują odpowiednie wartości do swoich stref.</p>
                <ul class="rk-data-list">
                    <li><a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/" style="color: inherit;">Zawór mieszający z siłownikiem</a> precyzyjnie redukuje zasilanie na podłogę.</li>
                    <li><a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/" style="color: inherit;">Krzywa grzewcza</a> ustawiona stabilnie dla najwyższego parametru (grzejniki).</li>
                    <li>Pełny przepływ i stały odbiór ciepła podczas odszraniania (defrost).</li>
                </ul>
            </div>
        `
    };

    // Inicjalizacja domyślnego widoku
    viewContainer.innerHTML = contentData.error;

    // Obsługa kliknięć (bezpieczny JS, brak zagrażających znaków logicznych)
    toggleBtns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Reset klas
            toggleBtns.forEach(function(b) {
                b.classList.remove('active');
            });
            
            // Aktywacja wciśniętego
            this.classList.add('active');
            
            // Wstrzyknięcie odpowiedniej treści z użyciem bezpiecznych warunków if/else
            const type = this.getAttribute('data-type');
            if (type === 'pro') {
                viewContainer.innerHTML = contentData.pro;
            } else {
                viewContainer.innerHTML = contentData.error;
            }
        });
    });
});
</script>



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/"
    },
    "headline": "Kompendium Wiedzy: Infografika i Schemat Węzła Cieplnego",
    "description": "Pobierz darmową infografikę z parametrami projektowymi i schematem łączenia ogrzewania podłogowego z grzejnikami przy pompie ciepła. Plik PDF wysokiej rozdzielczości.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Pompa-ciepla-podlogowka-i-grzejniki.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-04",
    "dateModified": "2026-07-04"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#dataset-schemat-pdf",
    "name": "Wizualny schemat hybrydowego węzła cieplnego",
    "description": "Zestawienie twardych danych projektowych, oporów hydraulicznych i zaleceń VDI 4650 skompresowane do formy graficznej infografiki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "schemat podłączenia pompy ciepła do bufora",
      "pompa ciepła podłogówka i grzejniki schemat",
      "bufor ciepła w instalacji mieszanej pdf",
      "infografika ogrzewanie podłogowe parametry",
      "robert kucharski materiały do pobrania"
    ],
    "measurementTechnique": "Agregacja parametrów technicznych (ΔT, SCOP, zład wody) w postaci wizualnych tabel decyzyjnych oraz schematu blokowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Sekcja 1: Uzasadnienie stosowania układu mieszanego i obiegów wtórnych.",
        "Sekcja 2: Tabela porównawcza emiterów ciepła i ich wpływu na współczynnik SCOP pompy ciepła.",
        "Sekcja 3: Techniczny schemat hydrauliczny (Pompa -> Bufor -> Grupa Mieszająca / Obieg Bezpośredni)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#webapp-repozytorium",
    "name": "Moduł Repozytorium Plików Technicznych",
    "description": "Statyczny interfejs pozwalający na bezpieczne wywołanie podglądu schematu w wysokiej rozdzielczości oraz pobranie pliku PDF na urządzenie użytkownika.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<style>
:root {
    --rk-dl-dark: #111827;
    --rk-dl-surface: #f8fafc;
    --rk-dl-card: #ffffff;
    --rk-dl-border: #cbd5e1;
    --rk-dl-brand: #0284c7;
    --rk-dl-text: #475569;
    --rk-dl-accent: #facc15;
}

.rk-dl-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-dl-card);
    border: 2px solid var(--rk-dl-dark);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}

.rk-dl-header {
    background: var(--rk-dl-dark);
    padding: 25px 35px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dl-brand);
}

.rk-dl-header h2 {
    font-size: 24px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: #ffffff;
    line-height: 1.3;
}

.rk-dl-header p {
    font-size: 15px;
    color: #94a3b8;
    margin: 0;
}

.rk-dl-body {
    display: grid;
    grid-template-columns: 350px 1fr;
    background: var(--rk-dl-card);
}

/* Sekcja Miniatury (Lewa strona) */
.rk-dl-preview-box {
    padding: 35px;
    background: var(--rk-dl-surface);
    border-right: 1px solid var(--rk-dl-border);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-dl-thumbnail-wrapper {
    width: 100%;
    position: relative;
    border: 1px solid var(--rk-dl-border);
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
    cursor: pointer;
}

.rk-dl-img {
    width: 100%;
    height: auto;
    display: block;
}

.rk-dl-zoom-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(15, 23, 42, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s;
}

.rk-dl-thumbnail-wrapper:hover .rk-dl-zoom-overlay {
    opacity: 1;
}

.rk-dl-zoom-icon {
    color: #ffffff;
    width: 40px;
    height: 40px;
}

.rk-dl-preview-hint {
    margin-top: 15px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-dl-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Sekcja Akcji (Prawa strona) */
.rk-dl-actions-box {
    padding: 35px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-dl-desc {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-dl-text);
    margin: 0 0 30px 0;
}

.rk-dl-buttons {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 35px;
}

.rk-dl-btn {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 18px 25px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 800;
    font-size: 16px;
    transition: background 0.2s, border-color 0.2s;
}

.rk-dl-btn-primary {
    background: var(--rk-dl-brand);
    color: #ffffff;
    border: 2px solid var(--rk-dl-brand);
}

.rk-dl-btn-primary:hover {
    background: #0369a1;
    border-color: #0369a1;
}

.rk-dl-btn-secondary {
    background: #ffffff;
    color: var(--rk-dl-dark);
    border: 2px solid var(--rk-dl-dark);
}

.rk-dl-btn-secondary:hover {
    background: var(--rk-dl-surface);
}

.rk-dl-btn-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.rk-dl-file-info {
    display: flex;
    flex-direction: column;
}

.rk-dl-file-size {
    font-size: 12px;
    font-weight: 500;
    opacity: 0.8;
    margin-top: 2px;
}

/* Prawa autorskie */
.rk-dl-copyright {
    margin-top: auto;
    padding: 20px;
    background: #fffbeb;
    border-left: 4px solid var(--rk-dl-accent);
    border-radius: 0 8px 8px 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--rk-dl-dark);
    font-weight: 500;
}

.rk-dl-copyright strong {
    font-weight: 800;
}

/* Lightbox Modal (Statyczny podgląd) */
.rk-dl-modal {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(15, 23, 42, 0.95);
    z-index: 9999;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.rk-dl-modal-content {
    position: relative;
    max-width: 1000px;
    width: 100%;
    max-height: 90vh;
}

.rk-dl-modal-img {
    width: 100%;
    height: auto;
    max-height: 90vh;
    object-fit: contain;
    border: 4px solid #ffffff;
    border-radius: 8px;
}

.rk-dl-modal-close {
    position: absolute;
    top: -40px;
    right: 0;
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .rk-dl-header { padding: 25px 20px; }
    .rk-dl-body { grid-template-columns: 1fr; }
    .rk-dl-preview-box { border-right: none; border-bottom: 1px solid var(--rk-dl-border); padding: 25px 20px; }
    .rk-dl-actions-box { padding: 25px 20px; }
    .rk-dl-btn { flex-direction: column; text-align: center; gap: 10px; padding: 15px; }
}
</style>

<div class="rk-dl-container" id="rk-download-hub">
    
    <div class="rk-dl-header">
        <h2>Kompendium Wiedzy: Schemat Węzła i Parametry</h2>
        <p>Materiały techniczne przygotowane na podstawie normy PN-EN 12831 oraz standardów VDI 4650.</p>
    </div>

    <div class="rk-dl-body">
        
        <div class="rk-dl-preview-box">
            <div class="rk-dl-thumbnail-wrapper" id="rk-btn-preview">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Pompa-ciepla-podlogowka-i-grzejniki.webp" alt="Infografika: Pompa ciepła, podłogówka i grzejniki - Projekt Ogrzewania" class="rk-dl-img">
                <div class="rk-dl-zoom-overlay">
                    <svg class="rk-dl-zoom-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                </div>
            </div>
            <div class="rk-dl-preview-hint">Kliknij, aby powiększyć</div>
        </div>

        <div class="rk-dl-actions-box">
            <p class="rk-dl-desc">
                Zebrałem wszystkie najważniejsze parametry instalacji hybrydowej w jednym miejscu. Infografika zawiera czytelny schemat podłączenia bufora, porównanie emiterów ciepła oraz listę krytycznych błędów instalacyjnych, których musisz unikać.
            </p>

            <div class="rk-dl-buttons">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Pompa-ciepla-podlogowka-i-grzejniki.pdf" target="_blank" class="rk-dl-btn rk-dl-btn-primary">
                    <svg class="rk-dl-btn-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="12" y1="18" x2="12" y2="12"></line><line x1="9" y1="15" x2="12" y2="18"></line><line x1="15" y1="15" x2="12" y2="18"></line></svg>
                    <div class="rk-dl-file-info">
                        <span>Pobierz dokument PDF</span>
                        <span class="rk-dl-file-size">Wysoka rozdzielczość do druku</span>
                    </div>
                </a>

                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Pompa-ciepla-podlogowka-i-grzejniki.webp" target="_blank" download class="rk-dl-btn rk-dl-btn-secondary">
                    <svg class="rk-dl-btn-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                    <div class="rk-dl-file-info">
                        <span>Zapisz obraz na dysk</span>
                        <span class="rk-dl-file-size">Format WebP (Szybkie ładowanie)</span>
                    </div>
                </a>
            </div>

            <div class="rk-dl-copyright">
                <strong>© 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski.</strong><br>
                Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku.
            </div>
        </div>

    </div>
</div>

<div class="rk-dl-modal" id="rk-modal-overlay">
    <div class="rk-dl-modal-content">
        <button class="rk-dl-modal-close" id="rk-btn-close">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
            Zamknij podgląd
        </button>
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Pompa-ciepla-podlogowka-i-grzejniki.webp" alt="Powiększenie - Infografika" class="rk-dl-modal-img">
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btnPreview = document.getElementById('rk-btn-preview');
    const btnClose = document.getElementById('rk-btn-close');
    const modal = document.getElementById('rk-modal-overlay');

    // Bezpieczna logika otwierania (bez operatorów logicznych)
    btnPreview.addEventListener('click', function() {
        modal.style.display = 'flex';
        document.body.style.overflow = 'hidden'; // Blokada przewijania strony
    });

    // Bezpieczna logika zamykania na przycisk
    btnClose.addEventListener('click', function() {
        modal.style.display = 'none';
        document.body.style.overflow = '';
    });

    // Zamknięcie po kliknięciu w tło (overlay)
    modal.addEventListener('click', function(e) {
        let isOverlayClicked = (e.target === modal);
        if (isOverlayClicked === true) {
            modal.style.display = 'none';
            document.body.style.overflow = '';
        }
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/">Pompa ciepła, podłogówka i grzejniki.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ogrzewanie podłogowe w płycie fundamentowej – techniczny przewodnik po projektowaniu i montażu.</title>
		<link>https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej-techniczny-przewodnik-po-projektowaniu-i-montazu/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 28 Jun 2026 16:13:31 +0000</pubDate>
				<category><![CDATA[Budowa stanu zero]]></category>
		<category><![CDATA[HVAC]]></category>
		<category><![CDATA[Ogrzewanie płaszczyznowe]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Płyta fundamentowa]]></category>
		<category><![CDATA[Pompa ciepła]]></category>
		<category><![CDATA[Pompy ciepła]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[budownictwo energooszczędne]]></category>
		<category><![CDATA[energooszczędny dom]]></category>
		<category><![CDATA[fundament grzewczy]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[nowoczesne fundamenty]]></category>
		<category><![CDATA[ogrzewanie płaszczyznowe]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[ogrzewanie podłogowe w płycie fundamentowej]]></category>
		<category><![CDATA[ogrzewanie podłogowe z pompą ciepła]]></category>
		<category><![CDATA[płyta fundamentowa]]></category>
		<category><![CDATA[płyta fundamentowa z ogrzewaniem]]></category>
		<category><![CDATA[płyta grzewcza]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[termiczna płyta fundamentowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=6375</guid>

					<description><![CDATA[<p>Planowanie posadowienia budynku na etapie stanu zero to moment, w którym podejmujesz decyzje rzutujące na koszty eksploatacji domu przez najbliższe kilkadziesiąt lat. Tradycyjne ławy i ściany fundamentowe powoli ustępują miejsca nowoczesnym rozwiązaniom monolitycznym. Inwestorzy coraz częściej dostrzegają, że ogrzewanie podłogowe w płycie fundamentowej gwarantuje niespotykaną stabilność termiczną i eliminuje liniowe mostki termiczne przy gruncie. W tym artykule brutalnie rozprawiamy się z mitami wykonawczymi, analizujemy realne koszty inwestycji na bazie autentycznego Case Study z Pomorza oraz udostępniamy interaktywne kalkulatory, które pozwolą Ci samodzielnie obliczyć opłacalność oraz parametry hydrauliczne całego systemu pod Twoją pompę ciepła.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej-techniczny-przewodnik-po-projektowaniu-i-montazu/">Ogrzewanie podłogowe w płycie fundamentowej – techniczny przewodnik po projektowaniu i montażu.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
/* Wymuszenie czystego fontu i twardy reset */
#rk-intro-guide-app,
#rk-intro-guide-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-blue: #0284c7;
    --rk-intro-light: #f8fafc;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
    --rk-intro-bg: #ffffff;
    --rk-intro-accent: #10b981;
}

.rk-intro-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-intro-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-intro-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Mocny, autorytarny nagłówek bez animacji */
.rk-intro-header {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-intro-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-intro-header h2 {
    font-size: 30px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-intro-lead {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

/* Moduł Nawigacyjny (Błyskawiczne przełączniki) */
.rk-intro-nav {
    display: flex;
    flex-direction: column;
    background: var(--rk-intro-light);
    padding: 25px 45px;
    border-bottom: 1px solid var(--rk-intro-border);
    gap: 10px;
}

@media (min-width: 768px) {
    .rk-intro-nav {
        flex-direction: row;
    }
}

.rk-intro-tab-btn {
    flex: 1;
    background: #ffffff;
    border: 2px solid var(--rk-intro-border);
    border-radius: 12px;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-intro-text);
    cursor: pointer;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    /* Brak animacji zgodnie z wytycznymi */
}

.rk-intro-tab-btn:hover {
    border-color: #94a3b8;
}

.rk-intro-tab-btn.active {
    background: #f0f9ff;
    border-color: var(--rk-intro-blue);
    color: var(--rk-intro-blue);
}

/* Zawartość zakładek */
.rk-intro-content-wrapper {
    padding: 35px 45px 40px 45px;
    background: #ffffff;
}

.rk-intro-tab-pane {
    display: none; /* Sterowane z JS */
}

.rk-intro-tab-pane.active {
    display: block;
}

/* Karta Szybkiej Odpowiedzi (Direct Answer) */
.rk-intro-quick-answer {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-left: 6px solid var(--rk-intro-accent);
    border-radius: 14px;
    padding: 25px 30px;
    margin-bottom: 25px;
}

.rk-intro-quick-answer h3 {
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #166534;
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-intro-quick-answer p {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-intro-dark);
    line-height: 1.6;
    margin: 0;
}

/* Tekst główny */
.rk-intro-text-block {
    font-size: 15.5px;
    line-height: 1.75;
    color: var(--rk-intro-text);
}

.rk-intro-text-block p {
    margin: 0 0 20px 0;
}

.rk-intro-text-block strong {
    color: var(--rk-intro-dark);
    font-weight: 700;
}

/* Lista korzyści - Czego się dowiesz */
.rk-intro-roadmap {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-intro-roadmap-item {
    background: #f8fafc;
    border: 1px solid var(--rk-intro-border);
    border-radius: 12px;
    padding: 20px 25px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-intro-roadmap-icon {
    width: 40px;
    height: 40px;
    background: #ffffff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-intro-blue);
    flex-shrink: 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.rk-intro-roadmap-text h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-intro-dark);
    margin: 0 0 5px 0;
}

.rk-intro-roadmap-text p {
    font-size: 14px;
    color: var(--rk-intro-text);
    margin: 0;
    line-height: 1.5;
}

/* Ostrzeżenie / Hook na interakcje */
.rk-intro-alert-box {
    margin-top: 25px;
    padding: 18px 25px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 12px;
    color: #92400e;
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .rk-intro-header, .rk-intro-nav, .rk-intro-content-wrapper { padding: 25px 20px; }
    .rk-intro-roadmap-item { padding: 15px; flex-direction: column; align-items: flex-start; text-align: left; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Ogrzewanie podłogowe w płycie fundamentowej – Kompletny Przewodnik Inżynierski",
    "description": "Czym jest termiczna płyta fundamentowa? Szybka odpowiedź oraz interaktywny zbiór narzędzi obliczeniowych i symulatorów do projektowania podłogówki.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#dataset",
    "name": "Baza wiedzy i definicji: Termiczna Płyta Fundamentowa",
    "description": "Zestawienie inżynierskich faktów, wytycznych normy PN-EN 1264 oraz charakterystyki masy akumulacyjnej fundamentów grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ogrzewanie podłogowe w płycie fundamentowej",
      "termiczna płyta fundamentowa",
      "akumulacja ciepła w betonie",
      "norma PN-EN 1264",
      "rury PEX PERT w fundamencie"
    ],
    "measurementTechnique": "Bezpośrednia analiza norm inżynieryjnych dotyczących wbudowanych płaszczyznowych systemów ogrzewania niskotemperaturowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Definicja: Zintegrowany system nośno-grzewczy z zatopionymi rurami PEX/PERT.",
        "Masa akumulacyjna układu: Od 50 do 80 ton betonu konstrukcyjnego.",
        "Kompatybilność źródła ciepła: Inwerterowe pompy ciepła (powietrze-woda, solanka-woda)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#webapp",
    "name": "Przewodnik i Tablica Sterownicza Kompendium",
    "description": "Aplikacja pełniąca rolę nawigatora merytorycznego, udostępniająca błyskawiczne odpowiedzi techniczne oraz agendę interaktywnych narzędzi dostępnych w artykule.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="rk-intro-guide-app">
    
    <div class="rk-intro-header">
        <h2>Ogrzewanie podłogowe w płycie fundamentowej – Kompletny Przewodnik</h2>
        <p class="rk-intro-lead">
            Budujesz dom i zastanawiasz się nad sposobem posadowienia? Błąd popełniony w tym miejscu jest nieodwracalny po wylaniu betonu. Poznaj technologię, która łączy potężny fundament z sercem energetycznym Twojego budynku.
        </p>
    </div>

    <div class="rk-intro-nav">
        <button class="rk-intro-tab-btn active" id="rk-intro-btn-1">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg>
            Szybka Odpowiedź
        </button>
        <button class="rk-intro-tab-btn" id="rk-intro-btn-2">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="8" y1="6" x2="21" y2="6"></line><line x1="8" y1="12" x2="21" y2="12"></line><line x1="8" y1="18" x2="21" y2="18"></line><line x1="3" y1="6" x2="3.01" y2="6"></line><line x1="3" y1="12" x2="3.01" y2="12"></line><line x1="3" y1="18" x2="3.01" y2="18"></line></svg>
            Narzędzia w tym artykule
        </button>
    </div>

    <div class="rk-intro-content-wrapper">
        
        <div class="rk-intro-tab-pane active" id="rk-intro-pane-1">
            
            <div class="rk-intro-quick-answer">
                <h3>Szybka odpowiedź eksperta</h3>
                <p>Ogrzewanie podłogowe w płycie fundamentowej (termiczna płyta fundamentowa) to zintegrowany system, w którym rury PEX lub PERT są na stałe zatapiane bezpośrednio w zbrojonej masie betonu konstrukcyjnego. Dół budynku staje się potężnym wymiennikiem ciepła o masie do 80 ton.</p>
            </div>

            <div class="rk-intro-text-block">
                <p>
                    Rozwiązanie to łączy niezbędną funkcję nośną posadowienia z potężnym, niskotemperaturowym płaszczyznowym wymiennikiem ciepła. Zabetonowana instalacja gromadzi energię niczym ogromny piec akumulacyjny o masie przekraczającej często <strong>50-80 ton</strong>.
                </p>
                <p>
                    Jako specjalista HVAC oraz kilkudziesięcioletni praktyk z dorobkiem <strong>ponad 1000 projektów instalacji sanitarnych</strong> wskazuję wprost: kluczem do bezawaryjnej pracy tego potężnego układu jest bezwzględne przestrzeganie rygorystycznych wytycznych normy budowlanej <strong>PN-EN 1264</strong>. Nie ma tu miejsca na układanie obwodów &#8222;na oko&#8221;. Wymagane jest precyzyjne skoordynowanie parametrów hydraulicznych pętli z charakterystyką wybranego źródła ciepła – jakim najczęściej i najbardziej opłacalnie jest inwerterowa pompa ciepła typu powietrze-woda lub solanka-woda.
                </p>
            </div>

        </div>

        <div class="rk-intro-tab-pane" id="rk-intro-pane-2">
            
            <div class="rk-intro-text-block">
                <p>
                    Ten artykuł to nie jest zwykła ściana teoretycznego tekstu. Przygotowałem dla Ciebie zestaw dedykowanych, <strong>interaktywnych kalkulatorów i symulatorów inżynierskich</strong>, z którymi możesz pracować w czasie rzeczywistym. Przewijając stronę w dół, zyskasz dostęp do następujących narzędzi:
                </p>
            </div>

            <div class="rk-intro-roadmap">
                <div class="rk-intro-roadmap-item">
                    <div class="rk-intro-roadmap-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    </div>
                    <div class="rk-intro-roadmap-text">
                        <h4>Symulator Oporów i Długości Pętli</h4>
                        <p>Zmienisz długość rury i na żywo zobaczysz, w którym momencie ciśnienie blokuje pracę rotametrów i dławi pompę obiegową.</p>
                    </div>
                </div>

                <div class="rk-intro-roadmap-item">
                    <div class="rk-intro-roadmap-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M18 20V10"></path><path d="M12 20V4"></path><path d="M6 20v-6"></path></svg>
                    </div>
                    <div class="rk-intro-roadmap-text">
                        <h4>Kalkulator Rentowności (ROI)</h4>
                        <p>Wybierzesz swoją strefę klimatyczną w Polsce i porównasz koszty płyty grzewczej z tradycyjnymi ławami fundamentowymi.</p>
                    </div>
                </div>

                <div class="rk-intro-roadmap-item">
                    <div class="rk-intro-roadmap-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
                    </div>
                    <div class="rk-intro-roadmap-text">
                        <h4>Interaktywny Komparator Rozstawów</h4>
                        <p>Sprawdzisz, jak układanie rur co 10, 15 lub 20 cm wpływa bezpośrednio na wydajność pompy ciepła (wskaźnik SCOP).</p>
                    </div>
                </div>
            </div>

            <div class="rk-intro-alert-box">
                Zjedź niżej i przetestuj parametry swojego przyszłego domu bezpośrednio w naszych narzędziach na żywo.
            </div>

        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btn1 = document.getElementById('rk-intro-btn-1');
    var btn2 = document.getElementById('rk-intro-btn-2');
    
    var pane1 = document.getElementById('rk-intro-pane-1');
    var pane2 = document.getElementById('rk-intro-pane-2');

    // Bezpieczne przełączanie zakładek bez użycia &&
    if (btn1) {
        btn1.addEventListener('click', function() {
            if (btn2) { btn2.classList.remove('active'); }
            btn1.classList.add('active');
            
            if (pane2) { pane2.classList.remove('active'); }
            if (pane1) { pane1.classList.add('active'); }
        });
    }

    if (btn2) {
        btn2.addEventListener('click', function() {
            if (btn1) { btn1.classList.remove('active'); }
            btn2.classList.add('active');
            
            if (pane1) { pane1.classList.remove('active'); }
            if (pane2) { pane2.classList.add('active'); }
        });
    }
});
</script>



<style>
/* Wymuszenie czystego fontu bezszeryfowego i reset */
#rk-roi-thermal-app,
#rk-roi-thermal-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-roi-dark: #0f172a;
    --rk-roi-darker: #080f1e;
    --rk-roi-blue: #0284c7;
    --rk-roi-light: #f8fafc;
    --rk-roi-border: #e2e8f0;
    --rk-roi-text: #334155;
    --rk-roi-bg: #ffffff;
    --rk-roi-success: #10b981;
    --rk-roi-warning: #f59e0b;
    --rk-roi-danger: #ef4444;
}

.rk-roi-main-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-roi-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-roi-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Nagłówek sekcji */
.rk-roi-title-block {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-roi-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

.rk-roi-title-block h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-roi-title-block p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
}

/* Panel Roboczy - Układ Wertykalny Stack */
.rk-roi-panel-body {
    padding: 35px 45px;
    background: var(--rk-roi-light);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Karta Formularza Wejściowego */
.rk-roi-form-card {
    background: #ffffff;
    border: 1px solid var(--rk-roi-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.rk-roi-input-row {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-roi-input-row label {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-roi-dark);
}

/* Stylowanie kontrolek select i input */
.rk-roi-select-custom,
.rk-roi-num-input {
    width: 100%;
    padding: 14px 16px;
    border-radius: 12px;
    border: 2px solid var(--rk-roi-border);
    font-size: 15px;
    font-weight: 600;
    color: var(--rk-roi-dark);
    background-color: #ffffff;
    outline: none;
    transition: border-color 0.3s;
}

.rk-roi-select-custom:focus,
.rk-roi-num-input:focus {
    border-color: var(--rk-roi-blue);
}

/* Przyciski Opcji (Segmented Controls) */
.rk-roi-opt-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

@media (min-width: 576px) {
    .rk-roi-opt-group {
        flex-direction: row;
    }
}

.rk-roi-opt-btn {
    flex: 1;
    background: #ffffff;
    border: 2px solid var(--rk-roi-border);
    border-radius: 12px;
    padding: 14px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-roi-text);
    cursor: pointer;
    text-align: center;
    transition: all 0.3s ease;
}

.rk-roi-opt-btn:hover {
    border-color: #cbd5e1;
}

.rk-roi-opt-btn.active {
    background: #f0f9ff;
    border-color: var(--rk-roi-blue);
    color: var(--rk-roi-blue);
}

/* Wyróżniona Deska Rozdzielcza Wyników */
.rk-roi-dashboard-frame {
    background: var(--rk-roi-darker);
    border-radius: 16px;
    padding: 25px 30px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 25px;
    position: relative;
    overflow: hidden;
    border-left: 6px solid var(--rk-roi-blue);
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.2);
}

.rk-roi-dash-cell {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rk-roi-dash-label {
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-roi-dash-value {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    transition: color 0.3s ease;
}

.rk-roi-dash-value span {
    font-size: 14px;
    font-weight: 700;
    color: #38bdf8;
    margin-left: 4px;
}

/* Sekcja Rozbitych Kart Wiedzy */
.rk-roi-text-infografika {
    padding: 10px 45px 40px 45px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-roi-block-card {
    background: #f8fafc;
    border-radius: 14px;
    padding: 24px;
    border-left: 4px solid var(--rk-roi-blue);
    transition: background 0.3s ease;
}

/* Zmieniony styl dla karty podsumowującej */
.rk-roi-summary-card {
    background: #f0fdf4;
    border-color: var(--rk-roi-success);
}

.rk-roi-block-card:hover {
    background: #f1f5f9;
}

.rk-roi-summary-card:hover {
    background: #dcfce7;
}

.rk-roi-block-card h4 {
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-roi-dark);
    margin: 0 0 10px 0;
}

.rk-roi-block-card p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-roi-text);
    margin: 0;
}

.rk-roi-block-card strong {
    color: var(--rk-roi-dark);
    font-weight: 700;
}

@media (max-width: 768px) {
    .rk-roi-title-block, .rk-roi-panel-body, .rk-roi-text-infografika { padding: 30px 20px; }
    .rk-roi-form-card, .rk-roi-block-card { padding: 20px; }
    .rk-roi-dashboard-frame { grid-template-columns: 1fr; padding: 25px 20px; gap: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#roi-analysis-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Czy ogrzewanie podłogowe w płycie fundamentowej się opłaca?",
    "description": "Profesjonalna analiza ekonomiczna posadowienia budynku na płycie grzewczej akumulacyjnej. Koszty wykonania, amortyzacja i kalkulator stref klimatycznych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#roi-analysis-dataset",
    "name": "Baza danych zapotrzebowania energetycznego stref klimatycznych Polski",
    "description": "Zbiór zmiennych przeliczeniowych i projektowych obciążeń cieplnych dla stref klimatycznych I-V według normy PN-EN 12831 w relacji do oporu cieplnego płyt grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy ogrzewanie podłogowe w płycie się opłaca",
      "koszt płyty fundamentowej 150m2",
      "strefy klimatyczne polski podłogówka",
      "amortyzacja płyty fundamentowej",
      "współczynnik przenikania ciepła u płyty"
    ],
    "measurementTechnique": "Modelowanie bilansu finansowo-cieplnego budynków jednorodzinnych o powierzchni 150 m2 w oparciu o projektowe temperatury zewnętrzne.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Konstrukcja stanu zero: Czas realizacji skrócony do 7-10 dni roboczych",
        "Efektywność przegrody dolnej: Współczynnik przenikania U poniżej 0,11 W/m2K",
        "Oszczędność energii wg PN-EN 12831: Redukcja strat o 30 do 40 procent"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#roi-analysis-webapp",
    "name": "Symulator Amortyzacji i Kosztów Eksploatacji Płyty Grzewczej",
    "description": "Zaawansowana aplikacja obliczeniowa szacująca roczne koszty ogrzewania i okres zwrotu nakładów finansowych w oparciu o strefy klimatyczne i ceny energii.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-roi-main-container" id="rk-roi-thermal-app">
    <div class="rk-roi-title-block">
        <h2>Czy ogrzewanie podłogowe w płycie fundamentowej się opłaca?</h2>
        <p>
            Wykonanie termicznej płyty akumulacyjnej to inwestycja długoterminowa. Skonfiguruj parametry swojego regionu i posadowienia, aby sprawdzić precyzyjne symulacje kosztów eksploatacji.
        </p>
    </div>

    <div class="rk-roi-body">
        
        <div class="rk-roi-form-card">
            <div class="rk-roi-input-row">
                <label for="rk-roi-zone">Wybierz strefę klimatyczną Polski (PN-EN 12831):</label>
                <select class="rk-roi-select-custom" id="rk-roi-zone">
                    <option value="1">Strefa I (np. Wrocław, Szczecin) &#8211; Temp. projektowa -16°C</option>
                    <option value="2">Strefa II (np. Poznań, Gdańsk) &#8211; Temp. projektowa -18°C</option>
                    <option value="3" selected>Strefa III (np. Rzeszów, Warszawa, Łódź) &#8211; Temp. projektowa -20°C</option>
                    <option value="4">Strefa IV (np. Białystok, Zakopane) &#8211; Temp. projektowa -22°C</option>
                    <option value="5">Strefa V (np. Suwałki, tereny górskie) &#8211; Temp. projektowa -24°C</option>
                </select>
            </div>

            <div class="rk-roi-input-row">
                <label>Grubość i rodzaj izolacji dolnej:</label>
                <div class="rk-roi-opt-group" id="rk-group-ins">
                    <button class="rk-roi-opt-btn" data-type="ins" data-val="10">10 cm EPS (Amatorski)</button>
                    <button class="rk-roi-opt-btn active" data-type="ins" data-val="15">15 cm XPS (Standard)</button>
                    <button class="rk-roi-opt-btn" data-type="ins" data-val="20">20 cm XPS (Pasywny)</button>
                </div>
            </div>

            <div class="rk-roi-input-row">
                <label>Planowany rozstaw rur grzewczych:</label>
                <div class="rk-roi-opt-group" id="rk-group-space">
                    <button class="rk-roi-opt-btn" data-type="space" data-val="20">Co 20 cm (Rzadko)</button>
                    <button class="rk-roi-opt-btn active" data-type="space" data-val="15">Co 15 cm (Optymalny)</button>
                    <button class="rk-roi-opt-btn" data-type="space" data-val="10">Co 10 cm (Gęsto)</button>
                </div>
            </div>

            <div class="rk-roi-input-row">
                <label for="rk-roi-price">Koszt energii elektrycznej (PLN / kWh brutto):</label>
                <input type="number" class="rk-roi-num-input" id="rk-roi-price" min="0.4" max="2.5" step="0.05" value="1.00">
            </div>
        </div>

        <div class="rk-roi-dashboard-frame">
            <div class="rk-roi-dash-cell">
                <span class="rk-roi-dash-label">Współczynnik U Płyty</span>
                <div class="rk-roi-dash-value" id="rk-roi-dash-u">0.11 <span>W/(m²·K)</span></div>
            </div>
            <div class="rk-roi-dash-cell">
                <span class="rk-roi-dash-label">Szacowany Koszt Roczny</span>
                <div class="rk-roi-dash-value" id="rk-roi-dash-year">2160 <span>PLN / rok</span></div>
            </div>
            <div class="rk-roi-dash-cell">
                <span class="rk-roi-dash-label">Czas Zwrotu z Rachunków</span>
                <div class="rk-roi-dash-value" id="rk-roi-dash-payback">7 <span>lat</span></div>
            </div>
        </div>

    </div>

    <div class="rk-roi-text-infografika">
        
        <div class="rk-roi-block-card rk-roi-summary-card">
            <h4>Krótkie podsumowanie inwestycyjne</h4>
            <p>
                <strong>Wyższy nakład początkowy to mit.</strong> Eliminacja kosztownych i czasochłonnych etapów budowlanych (takich jak wylewanie chudziaka, izolacje pionowe fundamentów czy jastrychy maszynowe) sprawia, że całkowity koszt płyty bilansuje się z tradycyjnymi ławami, a wyższa efektywność termiczna generuje czysty zysk przez kolejne dekady.
            </p>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var zoneSelect = document.getElementById('rk-roi-zone');
    var priceInput = document.getElementById('rk-roi-price');
    
    var dashU = document.getElementById('rk-roi-dash-u');
    var dashYear = document.getElementById('rk-roi-dash-year');
    var dashPayback = document.getElementById('rk-roi-dash-payback');

    var currentIns = 15;
    var currentSpace = 15;

    var insBtns = document.querySelectorAll('#rk-group-ins .rk-roi-opt-btn');
    for (var i = 0; i < insBtns.length; i++) {
        insBtns[i].addEventListener('click', function() {
            for (var j = 0; j < insBtns.length; j++) { insBtns[j].classList.remove('active'); }
            this.classList.add('active');
            currentIns = parseFloat(this.getAttribute('data-val'));
            calculateRoi();
        });
    }

    var spaceBtns = document.querySelectorAll('#rk-group-space .rk-roi-opt-btn');
    for (var k = 0; k < spaceBtns.length; k++) {
        spaceBtns[k].addEventListener('click', function() {
            for (var m = 0; m < spaceBtns.length; m++) { spaceBtns[m].classList.remove('active'); }
            this.classList.add('active');
            currentSpace = parseFloat(this.getAttribute('data-val'));
            calculateRoi();
        });
    }

    function calculateRoi() {
        var zone = 3;
        var electricityPrice = 1.00;

        if (zoneSelect) { zone = parseFloat(zoneSelect.value); }
        if (priceInput) { electricityPrice = parseFloat(priceInput.value); }

        var zoneFactor = 1.0;
        if (zone === 1) { zoneFactor = 0.85; }
        if (zone === 2) { zoneFactor = 0.93; }
        if (zone === 3) { zoneFactor = 1.00; }
        if (zone === 4) { zoneFactor = 1.12; }
        if (zone === 5) { zoneFactor = 1.25; }

        var uValue = 0.11;
        var insulationMultiplier = 1.0;
        var basePayback = 7;

        if (currentIns === 10) {
            uValue = 0.35;
            insulationMultiplier = 1.45;
            basePayback = 12;
        }
        if (currentIns === 15) {
            uValue = 0.11;
            insulationMultiplier = 1.00;
            basePayback = 7;
        }
        if (currentIns === 20) {
            uValue = 0.08;
            insulationMultiplier = 0.82;
            basePayback = 6;
        }

        var spacingMultiplier = 1.0;
        if (currentSpace === 20) { spacingMultiplier = 1.22; basePayback = basePayback + 2; }
        if (currentSpace === 15) { spacingMultiplier = 1.00; }
        if (currentSpace === 10) { spacingMultiplier = 0.91; }

        var baseEnergyDemand = 2000; 
        var calculatedCost = baseEnergyDemand * zoneFactor * insulationMultiplier * spacingMultiplier * electricityPrice;
        
        if (calculatedCost < 0) { calculatedCost = 0; }

        if (dashU) { dashU.innerHTML = uValue.toFixed(2) + " <span>W/(m²·K)</span>"; }
        if (dashYear) { dashYear.innerHTML = calculatedCost.toFixed(0) + " <span>PLN / rok</span>"; }
        if (dashPayback) {
            var finalPayback = basePayback;
            if (zone === 1) { finalPayback = basePayback + 1; }
            if (zone === 5) { finalPayback = basePayback - 1; }
            if (finalPayback < 5) { finalPayback = 5; }
            
            dashPayback.innerHTML = finalPayback + " <span>" + (finalPayback <= 4 ? "lata" : "lat") + "</span>";
        }
    }

    if (zoneSelect) { zoneSelect.addEventListener('change', calculateRoi); }
    if (priceInput) { priceInput.addEventListener('input', calculateRoi); }

    calculateRoi();
});
</script>



<style>
/* Wymuszenie czystego fontu i reset */
#rk-roi-simulator-app,
#rk-roi-simulator-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-roi-dark: #0f172a;
    --rk-roi-darker: #080f1e;
    --rk-roi-blue: #0284c7;
    --rk-roi-light: #f8fafc;
    --rk-roi-border: #e2e8f0;
    --rk-roi-text: #334155;
    --rk-roi-bg: #ffffff;
    --rk-roi-danger: #ef4444;
    --rk-roi-warning: #f59e0b;
    --rk-roi-success: #10b981;
}

.rk-roi-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-roi-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-roi-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Nagłówek sekcji */
.rk-roi-header-block {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-roi-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

.rk-roi-header-block h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-roi-header-block p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
}

/* Panel Roboczy - Układ Jednokolumnowy */
.rk-roi-body {
    padding: 35px 45px;
    background: var(--rk-roi-light);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Przełączniki Metody Posadowienia */
.rk-roi-controls {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

@media (min-width: 768px) {
    .rk-roi-controls {
        flex-direction: row;
    }
}

.rk-roi-btn {
    flex: 1;
    background: #ffffff;
    border: 2px solid var(--rk-roi-border);
    border-radius: 16px;
    padding: 20px 15px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.rk-roi-btn:hover {
    border-color: #94a3b8;
    transform: translateY(-2px);
}

.rk-roi-btn.active {
    background: #f0f9ff;
    border-color: var(--rk-roi-blue);
    transform: translateY(0);
    box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.1);
}

.rk-roi-btn-title {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-roi-dark);
}

.rk-roi-btn-subtitle {
    font-size: 13px;
    color: #64748b;
    font-weight: 500;
}

.rk-roi-btn.active .rk-roi-btn-title {
    color: var(--rk-roi-blue);
}

/* Ciemna Ramka Wynikowa Dashboardu */
.rk-roi-dashboard {
    background: var(--rk-roi-darker);
    border-radius: 16px;
    padding: 30px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 25px 20px;
    position: relative;
    overflow: hidden;
    border-left: 6px solid var(--rk-roi-blue);
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.2);
}

.rk-roi-dash-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.rk-roi-dash-label {
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-roi-dash-value {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
}

.rk-roi-dash-value span {
    font-size: 14px;
    font-weight: 700;
    color: #38bdf8;
    margin-left: 4px;
}

/* Karta Analizy Kontekstowej */
.rk-roi-desc-card {
    background: #ffffff;
    border: 1px solid var(--rk-roi-border);
    border-radius: 16px;
    padding: 25px 30px;
    border-left: 5px solid var(--rk-roi-success);
    transition: border-color 0.3s ease;
}

.rk-roi-desc-card h3 {
    font-size: 19px;
    font-weight: 800;
    color: var(--rk-roi-dark);
    margin: 0 0 12px 0;
}

.rk-roi-desc-card p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-roi-text);
    margin: 0;
}

/* Opracowanie Tekstowe - Niszczenie ściany tekstu kartami inżynierskimi */
.rk-roi-text-zone {
    padding: 10px 45px 40px 45px;
    background: #ffffff;
}

.rk-roi-cards-stack {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-roi-insight-card {
    background: #f8fafc;
    border-radius: 14px;
    padding: 24px;
    border-left: 4px solid var(--rk-roi-blue);
    transition: background 0.3s ease;
}

.rk-roi-insight-card:hover {
    background: #f1f5f9;
}

.rk-roi-insight-card h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-roi-dark);
    margin: 0 0 10px 0;
}

.rk-roi-insight-card p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-roi-text);
    margin: 0;
}

.rk-roi-insight-card strong {
    color: var(--rk-roi-dark);
    font-weight: 700;
}

.rk-roi-insight-card a {
    color: var(--rk-roi-blue);
    text-decoration: underline;
    font-weight: 600;
    text-underline-offset: 3px;
}

@media (max-width: 768px) {
    .rk-roi-header-block, .rk-roi-body, .rk-roi-text-zone { padding: 30px 20px; }
    .rk-roi-desc-card, .rk-roi-insight-card { padding: 20px; }
    .rk-roi-dashboard { grid-template-columns: 1fr 1fr; padding: 25px 20px; gap: 20px 15px; }
    .rk-roi-dash-value { font-size: 24px; }
}

@media (max-width: 480px) {
    .rk-roi-dashboard { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#roi-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Czy ogrzewanie podłogowe w płycie fundamentowej się opłaca?",
    "description": "Inżynierska analiza opłacalności, kosztów początkowych oraz czasu zwrotu z inwestycji dla termicznych płyt fundamentowych z podłogówką.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#roi-dataset",
    "name": "Bilans finansowo-termiczny metod posadowienia budynków jednorodzinnych",
    "description": "Zestawienie kosztów startowych, redukcji liniowych mostków termicznych oraz okresu amortyzacji nakładów dla płyt akumulacyjnych vs ławy fundamentowe.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy plyta fundamentowa sie oplaca",
      "koszt termicznej plyty fundamentowej",
      "redukcja mostkow termicznych en 12831",
      "zwrot z inwestycji w ogrzewanie podlogowe",
      "przenikanie ciepla u przegrody dolnej"
    ],
    "measurementTechnique": "Kalkulacja kosztów inwestycyjnych na podstawie uśrednionych cenników wykonawczych 2026 oraz obliczenia fizykalne strat wg normy PN-EN 12831.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt płyty grzewczej 150m2: 65 000 do 85 000 PLN",
        "Redukcja strat ciepła do gruntu: 30 do 40 procent oszczędności",
        "Amortyzacja kosztów z rachunków: 6 do 8 lat"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#roi-webapp",
    "name": "Symulator Opłacalności Ekonomiczno-Termicznej Posadowienia",
    "description": "Interaktywna aplikacja przeliczająca nakłady inwestycyjne, współczynniki przenikania ciepła U oraz czas amortyzacji dla różnych technologii fundamentowych.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-roi-container" id="rk-roi-simulator-app">
    <div class="rk-roi-header-block">
        <h2>Czy ogrzewanie podłogowe w płycie fundamentowej się opłaca?</h2>
        <p>
            Wybór posadowienia budynku rzutuje na koszty startowe oraz późniejsze rachunki za energię. Przełącz warianty poniżej, aby porównać twarde wskaźniki ekonomiczno-termiczne.
        </p>
    </div>

    <div class="rk-roi-body">
        
        <div class="rk-roi-controls">
            <button class="rk-roi-btn" id="rk-rbtn-1">
                <span class="rk-roi-btn-title">Ławy Tradycyjne + Jastrych</span>
                <span class="rk-roi-btn-subtitle">Standardowy montaż wieloetapowy</span>
            </button>
            <button class="rk-roi-btn active" id="rk-rbtn-2">
                <span class="rk-roi-btn-title">Termiczna Płyta Fundamentowa</span>
                <span class="rk-roi-btn-subtitle">Zintegrowany monolit akumulacyjny</span>
            </button>
        </div>

        <div class="rk-roi-dashboard">
            <div class="rk-roi-dash-item">
                <span class="rk-roi-dash-label">Średni Koszt (150 m²)</span>
                <div class="rk-roi-dash-value" id="rk-roi-val-cost">75 000 <span>PLN</span></div>
            </div>
            <div class="rk-roi-dash-item">
                <span class="rk-roi-dash-label">Czas Budowy Stanu Zero</span>
                <div class="rk-roi-dash-value" id="rk-roi-val-time">7 &#8211; 10 <span>dni roboczych</span></div>
            </div>
            <div class="rk-roi-dash-item">
                <span class="rk-roi-dash-label">Straty Ciepła do Ziemi</span>
                <div class="rk-roi-dash-value" id="rk-roi-val-loss" style="color: var(--rk-roi-success);">-35% <span>(Kompensacja)</span></div>
            </div>
            <div class="rk-roi-dash-item">
                <span class="rk-roi-dash-label">Przenikanie Ciepła U</span>
                <div class="rk-roi-dash-value" id="rk-roi-val-u">0.11 <span>W/(m²·K)</span></div>
            </div>
        </div>

        <div class="rk-roi-desc-card" id="rk-roi-card-box">
            <h3 id="rk-roi-card-title">Analiza Opłacalności: Bilans zysków i czysty zysk inżynierski</h3>
            <p id="rk-roi-card-txt">
                Wykonanie kompletnej płyty grzewczej eliminuje długą listę kosztów cząstkowych: hydroizolację pionową ścian, murowanie bloczków, zasypkę piaskową z mechanicznym zagęszczaniem oraz późniejsze wylewanie jastrychów maszynowych. Całość zamyka się w maksymalnie 10 dniach, a potężna akumulacja termiczna płyty pozwala drastycznie obniżyć koszty eksploatacji pomp ciepła.
            </p>
        </div>

    </div>

    <div class="rk-roi-text-zone">
        <div class="rk-roi-cards-stack">
            
            <div class="rk-roi-insight-card">
                <h4>Koszty początkowe a realny zwrot z inwestycji (ROI)</h4>
                <p>
                    Koszt wykonania konstrukcji, jaką jest <strong>termiczna płyta fundamentowa</strong> dla domu o powierzchni <strong>150 m²</strong> wynosi średnio od <strong>65 000 do 85 000 PLN</strong> w zależności od lokalnych warunków gruntowo-wodnych działki. Stanowi to wydatek o około <strong>15-20% wyższy</strong> w bezpośrednim porównaniu do tradycyjnych ław fundamentowych z kompletem późniejszych jastrychów podłogowych. Jednak kalkulacja ekonomiczna uwzględniająca fizykę budowli wykazuje szybki zwrot z inwestycji: dzięki potężnej redukcji strat energii, nakłady finansowe amortyzują się w postaci niższych rachunków za prąd w okresie od <strong>6 do 8 lat</strong> ciągłej eksploatacji budynku.
                </p>
            </div>

            <div class="rk-roi-insight-card">
                <h4>Normatywne wytyczne strat energii wg PN-EN 12831</h4>
                <p>
                    Zgodnie z rygorystycznymi wytycznymi normy <strong>PN-EN 12831</strong> dotyczącej metod obliczania projektowego obciążenia cieplnego, liniowe posadowienie budynku na płycie całkowicie eliminuje powszechne mostki termiczne na styku gruntu i ścian zewnętrznych. Przekłada się to na zmniejszenie strat ciepła do ziemi o imponujące <strong>30-40%</strong>. 
                </p>
                <p>
                    Uzyskany w ten sposób opór cieplny całej dolnej przegrody budowlanej znacznie przewyższa aktualne wymagania krajowych Warunków Technicznych (WT2021), pozwalając osiągnąć współczynnik przenikania ciepła <strong>U poniżej lub równy 0,11 W/(m²·K)</strong>, co jest wynikiem nieosiągalnym dla klasycznych ław bez gigantycznych nakładów na izolacje obwodowe.
                </p>
            </div>

            <div class="rk-roi-insight-card">
                <h4>Psychologia inwestora: Lęk przed monolitem grzewczym</h4>
                <p>
                    Kluczowym problemem, z którym mierzą się inwestorzy na etapie wyboru technologii stanu zero, jest lęk przed zabetonowaniem instalacji hydraulicznej &#8222;na całe życie&#8221;. Wizja potencjalnej usterki ukrytej pod <strong>20 cm zbrojonego betonu konstrukcyjnego klasy C25/30</strong> bywa paraliżująca. 
                </p>
                <p>
                    Jako inżynier praktyk wskazuję jednak na fakt, że profesjonalny <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projekt ogrzewania podłogowego</a>, zastosowanie bezszwowych rur z barierą antydyfuzyjną oraz bezkompromisowa próba ciśnieniowa redukują ryzyko jakiejkolwiek awarii strukturalnej do zera. Beton staje się wtedy Twoim najwartościwszym sprzymierzeńcem – potężnym, stabilnym buforem ciepła o masie kilkudziesięciu ton.
                </p>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var b1 = document.getElementById('rk-rbtn-1');
    var b2 = document.getElementById('rk-rbtn-2');
    
    var vCost = document.getElementById('rk-roi-val-cost');
    var vTime = document.getElementById('rk-roi-val-time');
    var vLoss = document.getElementById('rk-roi-val-loss');
    var vU = document.getElementById('rk-roi-val-u');
    
    var cBox = document.getElementById('rk-roi-card-box');
    var cTitle = document.getElementById('rk-roi-card-title');
    var cTxt = document.getElementById('rk-roi-card-txt');

    function resetActive() {
        if(b1) { b1.classList.remove('active'); }
        if(b2) { b2.classList.remove('active'); }
    }

    if(b1) {
        b1.addEventListener('click', function() {
            resetActive();
            this.classList.add('active');
            
            if(vCost) { vCost.innerHTML = '63 000 <span>PLN (Etap I)</span>'; }
            if(vTime) { vTime.innerHTML = '18 - 25 <span>dni roboczych</span>'; }
            if(vLoss) { 
                vLoss.innerHTML = 'Bazowe <span>(100%)</span>'; 
                vLoss.style.color = '#ffffff';
            }
            if(vU) { vU.innerHTML = '0.23 <span>W/(m²·K)</span>'; }

            if(cBox) { cBox.style.borderLeftColor = 'var(--rk-roi-warning)'; }
            if(cTitle) { cTitle.innerHTML = 'Wariant Tradycyjny: Ukryte koszty i ryzyko mostków liniowych'; }
            if(cTxt) {
                cTxt.innerHTML = 'Choć koszt startowy samych ław jest o ok. 15% niższy, technologia ta wymaga rozbicia budowy na odległe etapy: murowanie ścian fundamentowych, izolacje pionowe, zasypka piaskowa, zagęszczanie, chudy beton, a na końcu – po postawieniu ścian – układanie styropianu i wylewanie jastrychów. Sumaryczny czas prac przekracza 3 tygodnie, a powstałe na stykach z gruntem mostki termiczne generują stałe, wysokie straty ciepła przez cały okres użytkowania pomp ciepła.';
            }
        });
    }

    if(b2) {
        b2.addEventListener('click', function() {
            resetActive();
            this.classList.add('active');
            
            if(vCost) { vCost.innerHTML = '75 000 <span>PLN (Komplet)</span>'; }
            if(vTime) { vTime.innerHTML = '7 - 10 <span>dni roboczych</span>'; }
            if(vLoss) { 
                vLoss.innerHTML = '-35% do -40% <span>ciepła</span>'; 
                vLoss.style.color = 'var(--rk-roi-success)';
            }
            if(vU) { vU.innerHTML = '0.11 <span>W/(m²·K)</span>'; }

            if(cBox) { cBox.style.borderLeftColor = 'var(--rk-roi-success)'; }
            if(cTitle) { cTitle.innerHTML = 'Analiza Opłacalności: Bilans zysków i czysty zysk inżynierski'; }
            if(cTxt) {
                cTxt.innerHTML = 'Wykonanie kompletnej płyty grzewczej eliminuje długą listę kosztów cząstkowych: hydroizolację pionową ścian, murowanie bloczków, zasypkę piaskową z mechanicznym zagęszczaniem oraz późniejsze wylewanie jastrychów maszynowych. Całość zamyka się w maksymalnie 10 dniach, a potężna akumulacja termiczna płyty pozwala drastycznie obniżyć koszty eksploatacji pomp ciepła.';
            }
        });
    }
});
</script>



<style>
/* Wymuszenie czystego fontu i reset */
#rk-pipe-spacing-app,
#rk-pipe-spacing-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-spc-dark: #0f172a;
    --rk-spc-darker: #080f1e;
    --rk-spc-blue: #0284c7;
    --rk-spc-light: #f8fafc;
    --rk-spc-border: #e2e8f0;
    --rk-spc-text: #334155;
    --rk-spc-bg: #ffffff;
    --rk-spc-danger: #ef4444;
    --rk-spc-warning: #f59e0b;
    --rk-spc-success: #10b981;
}

.rk-spc-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-spc-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-spc-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-spc-header-block {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-spc-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

.rk-spc-header-block h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-spc-header-block p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
}

/* Panel Roboczy - Układ Stack */
.rk-spc-body {
    padding: 35px 45px;
    background: var(--rk-spc-light);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Przełączniki Wariantów (Segmented Controls) */
.rk-spc-controls {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

@media (min-width: 768px) {
    .rk-spc-controls {
        flex-direction: row;
    }
}

.rk-spc-btn {
    flex: 1;
    background: #ffffff;
    border: 2px solid var(--rk-spc-border);
    border-radius: 16px;
    padding: 18px 15px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.rk-spc-btn:hover {
    border-color: #94a3b8;
    transform: translateY(-2px);
}

.rk-spc-btn.active {
    background: #f0f9ff;
    border-color: var(--rk-spc-blue);
    transform: translateY(0);
}

.rk-spc-btn-title {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-spc-dark);
}

.rk-spc-btn-subtitle {
    font-size: 12.5px;
    color: #64748b;
    font-weight: 500;
}

.rk-spc-btn.active .rk-spc-btn-title {
    color: var(--rk-spc-blue);
}

/* Wyróżniony Dashboard Wyników */
.rk-spc-dashboard {
    background: var(--rk-spc-darker);
    border-radius: 16px;
    padding: 25px 30px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 25px;
    position: relative;
    overflow: hidden;
    border-left: 6px solid var(--rk-spc-blue);
}

.rk-spc-dash-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rk-spc-dash-label {
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-spc-dash-value {
    font-size: 26px;
    font-weight: 900;
    color: #ffffff;
    transition: color 0.3s ease;
}

.rk-spc-dash-value span {
    font-size: 15px;
    font-weight: 700;
    color: #38bdf8;
}

/* Karta Statusu */
.rk-spc-status-card {
    background: #ffffff;
    border: 1px solid var(--rk-spc-border);
    border-radius: 16px;
    padding: 25px;
    border-left: 5px solid var(--rk-spc-success);
    transition: border-color 0.3s ease;
}

.rk-spc-status-card h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-spc-dark);
    margin: 0 0 10px 0;
}

.rk-spc-status-card p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-spc-text);
    margin: 0;
}

/* Przejrzyste Opracowanie Merytoryczne (Rozbita ściana tekstu) */
.rk-spc-text-zone {
    padding: 10px 45px 40px 45px;
    background: #ffffff;
}

.rk-spc-cards-stack {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-spc-insight-card {
    background: #f8fafc;
    border-radius: 14px;
    padding: 24px;
    border-left: 4px solid var(--rk-spc-blue);
    transition: background 0.3s ease;
}

.rk-spc-insight-card:hover {
    background: #f1f5f9;
}

.rk-spc-insight-card h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-spc-dark);
    margin: 0 0 10px 0;
}

.rk-spc-insight-card p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-spc-text);
    margin: 0;
}

.rk-spc-insight-card strong {
    color: var(--rk-spc-dark);
    font-weight: 700;
}

.rk-spc-insight-card a {
    color: var(--rk-spc-blue);
    text-decoration: underline;
    font-weight: 600;
    text-underline-offset: 3px;
}

@media (max-width: 768px) {
    .rk-spc-header-block, .rk-spc-body, .rk-spc-text-zone { padding: 30px 20px; }
    .rk-spc-status-card, .rk-spc-insight-card { padding: 20px; }
    .rk-spc-dashboard { grid-template-columns: 1fr; padding: 20px; gap: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#pipe-spacing-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Jaki rozstaw rur w płycie fundamentowej przy pompie ciepła jest optymalny?",
    "description": "Profesjonalna analiza doboru rozstawu rur grzewczych w płytach fundamentowych współpracujących z pompami ciepła. Wpływ na SCOP, temperaturę zasilania i błędy montażowe.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#pipe-spacing-dataset",
    "name": "Korelacja gęstości ułożenia pętli grzewczych z efektywnością energetyczną SCOP",
    "description": "Zbiór danych empirycznych odnośnie wpływu rozstawu przewodów (10 cm, 15 cm, 20 cm) na wymaganą temperaturę czynnika grzewczego i spadek sprawności pompy ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rozstaw rur ogrzewania podłogowego przy pompie ciepła",
      "efekt zebry termicznej podłogówki",
      "gęstość strumienia cieplnego en 1264",
      "strefa brzegowa ogrzewania podłogowego",
      "temperatura zasilania pompy ciepła"
    ],
    "measurementTechnique": "Modelowanie rozkładu temperatur płaszczyzny grzewczej i symulacja parametrów hydraulicznych pętli według wytycznych normy PN-EN 1264-2.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozstaw optymalny 15 cm: zasilanie 35C, gęstość 35-45 W/m2, SCOP maksymalny",
        "Rozstaw zagęszczony 10 cm: dedykowany dla stref przyokiennych (brzegowych)",
        "Rozstaw wadliwy 20-25 cm: zasilanie 42C, spadek SCOP o 15-20 procent, efekt zebry"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#pipe-spacing-webapp",
    "name": "Symulator Efektywności Termodynamicznej Rozstawu Pętli",
    "description": "Interaktywna aplikacja przeliczająca parametry gęstości strumienia cieplnego i straty sprawności pompy ciepła na podstawie konfiguracji rozstawu rur.",
    "applicationCategory": "CalculationApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-spc-container" id="rk-pipe-spacing-app">
    <div class="rk-spc-header-block">
        <h2>Jaki rozstaw rur w płycie fundamentowej przy pompie ciepła jest optymalny?</h2>
        <p>
            Gęstość ułożenia pętli w monolicie betonowym decyduje o wymaganej temperaturze roboczej czynnika. Wybierz rozstaw rur, aby natychmiast sprawdzić parametry termodynamiczne przegrody i sprawność pompy ciepła.
        </p>
    </div>

    <div class="rk-spc-body">
        
        <div class="rk-spc-controls">
            <button class="rk-spc-btn" id="rk-sbtn-1">
                <span class="rk-spc-btn-title">Rozstaw co 10 cm</span>
                <span class="rk-spc-btn-subtitle">Strefy brzegowe i przyokienne</span>
            </button>
            <button class="rk-spc-btn active" id="rk-sbtn-2">
                <span class="rk-spc-btn-title">Rozstaw co 15 cm</span>
                <span class="rk-spc-btn-subtitle">Standard Inżynierski (Bytowy)</span>
            </button>
            <button class="rk-spc-btn" id="rk-sbtn-3">
                <span class="rk-spc-btn-title">Rozstaw co 20-25 cm</span>
                <span class="rk-spc-btn-subtitle">Błąd Wykonawczy (Zwyczajowy)</span>
            </button>
        </div>

        <div class="rk-spc-dashboard">
            <div class="rk-spc-dash-item">
                <span class="rk-spc-dash-label">Temperatura Zasilania</span>
                <div class="rk-spc-dash-value" id="rk-spc-dash-temp">35 <span>°C</span></div>
            </div>
            <div class="rk-spc-dash-item">
                <span class="rk-spc-dash-label">Strumień Cieplny</span>
                <div class="rk-spc-dash-value" id="rk-spc-dash-flux">45 <span>W/m²</span></div>
            </div>
            <div class="rk-spc-dash-item">
                <span class="rk-spc-dash-label">Wpływ na SCOP Pompy</span>
                <div class="rk-spc-dash-value" id="rk-spc-dash-scop" style="color: var(--rk-spc-success);">Maksymalny SCOP</div>
            </div>
        </div>

        <div class="rk-spc-status-card" id="rk-spc-status-box">
            <h3 id="rk-spc-status-title">Optymalna ergonomiczna konfiguracja płaszczyzny</h3>
            <p id="rk-spc-status-desc">Rozstaw co 15 cm to złoty standard inżynierski. Zapewnia doskonałe zrównoważenie hydrauliczne rotametrów i pozwala pompie ciepła pracować z najwyższą sprawnością.</p>
        </div>

    </div>

    <div class="rk-spc-text-zone">
        <div class="rk-spc-cards-stack">
            
            <div class="rk-spc-insight-card" style="border-left-color: var(--rk-spc-danger);">
                <h4>Fizyczne konsekwencje błędów montażowych</h4>
                <p>
                    Konsekwencje błędów przy doborze rozstawu rur są całkowicie <strong>nieodwracalne po zalaniu mieszanki betonowej</strong>:
                </p>
                <ul style="margin: 10px 0 0 0; padding-left: 20px; font-size: 14.5px; color: var(--rk-spc-text);">
                    <li style="margin-bottom: 8px;">
                        <strong>Rozstaw co 20-25 cm:</strong> Powoduje powstanie uciążliwego zjawiska, jakim jest <strong>efekt zebry termicznej</strong> (wyczuwalne pasy ciepła i chłodu na okładzinie posadzkowej) oraz niedogrzanie budynku w trakcie mrozów projektowych (np. -20°C dla III strefy klimatycznej Polski). Wymusza to podniesienie temperatury zasilania do 42°C, generując spadek SCOP pompy o około <strong>15-20%</strong>.
                    </li>
                    <li>
                        <strong>Zbyt gęsty rozstaw (poniżej 10 cm):</strong> Generuje gigantyczne opory hydrauliczne wewnątrz pętli. Skutkuje to drastycznym wzrostem poboru prądu przez pompę obiegową lub całkowicie uniemożliwia prawidłowe <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">zrównoważenie hydrauliczne instalacji</a> na rotametrach rozdzielacza.
                    </li>
                </ul>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var b1 = document.getElementById('rk-sbtn-1');
    var b2 = document.getElementById('rk-sbtn-2');
    var b3 = document.getElementById('rk-sbtn-3');
    
    var dTemp = document.getElementById('rk-spc-dash-temp');
    var dFlux = document.getElementById('rk-spc-dash-flux');
    var dScop = document.getElementById('rk-spc-dash-scop');
    
    var sBox = document.getElementById('rk-spc-status-box');
    var sTitle = document.getElementById('rk-spc-status-title');
    var sDesc = document.getElementById('rk-spc-status-desc');

    function clearActive() {
        if(b1) { b1.classList.remove('active'); }
        if(b2) { b2.classList.remove('active'); }
        if(b3) { b3.classList.remove('active'); }
    }

    if(b1) {
        b1.addEventListener('click', function() {
            clearActive();
            this.classList.add('active');
            
            if(dTemp) { dTemp.innerHTML = '30 <span>°C</span>'; }
            if(dFlux) { dFlux.innerHTML = '55 <span>W/m²</span>'; }
            if(dScop) { 
                dScop.innerHTML = 'Maksymalny SCOP'; 
                dScop.style.color = 'var(--rk-spc-success)';
            }
            
            if(sBox) { sBox.style.borderLeftColor = 'var(--rk-spc-blue)'; }
            if(sTitle) { sTitle.innerHTML = 'Zagęszczenie brzegowe (Kompensacja radiacji)'; }
            if(sDesc) { sDesc.innerHTML = 'Rozstaw 10 cm stosuje się wyłącznie na pasach szerokości 1-1,5 m od dużych przeszkleń. Generuje większe opory, ale idealnie odcina chłód z zewnątrz.'; }
        });
    }

    if(b2) {
        b2.addEventListener('click', function() {
            clearActive();
            this.classList.add('active');
            
            if(dTemp) { dTemp.innerHTML = '35 <span>°C</span>'; }
            if(dFlux) { dFlux.innerHTML = '45 <span>W/m²</span>'; }
            if(dScop) { 
                dScop.innerHTML = 'Optymalny SCOP'; 
                dScop.style.color = 'var(--rk-spc-success)';
            }
            
            if(sBox) { sBox.style.borderLeftColor = 'var(--rk-spc-success)'; }
            if(sTitle) { sTitle.innerHTML = 'Optymalna ergonomiczna konfiguracja płaszczyzny'; }
            if(sDesc) { sDesc.innerHTML = 'Rozstaw co 15 cm to złoty standard inżynierski. Zapewnia doskonałe zrównoważenie hydrauliczne rotametrów i pozwala pompie ciepła pracować z najwyższą sprawnością.'; }
        });
    }

    if(b3) {
        b3.addEventListener('click', function() {
            clearActive();
            this.classList.add('active');
            
            if(dTemp) { dTemp.innerHTML = '42 <span>°C</span>'; }
            if(dFlux) { dFlux.innerHTML = '25 <span>W/m²</span>'; }
            if(dScop) { 
                dScop.innerHTML = '-20% Wydajności'; 
                dScop.style.color = 'var(--rk-spc-danger)';
            }
            
            if(sBox) { sBox.style.borderLeftColor = 'var(--rk-spc-danger)'; }
            if(sTitle) { sTitle.innerHTML = 'Wadliwy montaż: Ryzyko zebry termicznej'; }
            if(sDesc) { sDesc.innerHTML = 'Rozstaw co 20-25 cm to poważny błąd. Wymusza przegrzewanie zładu do 42°C, drastycznie podnosi rachunki za prąd i tworzy wyczuwalne pasy chłodu na posadzce.'; }
        });
    }
});
</script>



<style>
/* Wymuszenie czystego fontu i reset */
#rk-hydraulic-loop-app,
#rk-hydraulic-loop-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-loop-dark: #0f172a;
    --rk-loop-darker: #080f1e;
    --rk-loop-blue: #0284c7;
    --rk-loop-light: #f8fafc;
    --rk-loop-border: #e2e8f0;
    --rk-loop-text: #334155;
    --rk-loop-bg: #ffffff;
    --rk-loop-danger: #ef4444;
    --rk-loop-warning: #f59e0b;
    --rk-loop-success: #10b981;
}

.rk-loop-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-loop-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-loop-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

/* Nagłówek sekcji */
.rk-loop-header-block {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-loop-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

.rk-loop-header-block h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-loop-header-block p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
}

/* Panel Roboczy - Układ Jednokolumnowy */
.rk-loop-body {
    padding: 35px 45px;
    background: var(--rk-loop-light);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Strefa Interaktywna: Przełączniki i Suwak */
.rk-loop-interactive-card {
    background: #ffffff;
    border: 1px solid var(--rk-loop-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-loop-toggle-row {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-loop-toggle-row span {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-loop-dark);
}

.rk-loop-btn-group {
    display: flex;
    gap: 10px;
}

.rk-loop-toggle-btn {
    flex: 1;
    background: #ffffff;
    border: 2px solid var(--rk-loop-border);
    border-radius: 12px;
    padding: 14px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-loop-text);
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
}

.rk-loop-toggle-btn:hover {
    border-color: #cbd5e1;
}

.rk-loop-toggle-btn.active {
    background: #f0f9ff;
    border-color: var(--rk-loop-blue);
    color: var(--rk-loop-blue);
}

.rk-loop-slider-row {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-loop-label-zone {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-loop-label-zone label {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-loop-dark);
}

.rk-loop-current-value {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-loop-blue);
    background: #f0f9ff;
    padding: 6px 14px;
    border-radius: 8px;
    border: 1px solid #bae6fd;
}

.rk-loop-range-input {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: #e2e8f0;
    outline: none;
}

.rk-loop-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-loop-blue);
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(2, 132, 199, 0.4);
}

/* Szybka Ramka Wynikowa (Dashboard) */
.rk-loop-dashboard {
    background: var(--rk-loop-darker);
    border-radius: 16px;
    padding: 25px 30px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 25px;
    position: relative;
    overflow: hidden;
    border-left: 6px solid var(--rk-loop-blue);
}

.rk-loop-dash-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rk-loop-dash-label {
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-loop-dash-value {
    font-size: 26px;
    font-weight: 900;
    color: #ffffff;
    transition: color 0.3s ease;
}

.rk-loop-dash-value span {
    font-size: 15px;
    font-weight: 700;
    color: #38bdf8;
}

/* Status Alert */
.rk-loop-status-card {
    background: #ffffff;
    border: 1px solid var(--rk-loop-border);
    border-radius: 16px;
    padding: 25px;
    border-left: 5px solid var(--rk-loop-success);
    transition: border-color 0.3s ease;
}

.rk-loop-status-card h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-loop-dark);
    margin: 0 0 10px 0;
}

.rk-loop-status-card p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-loop-text);
    margin: 0;
}

/* Nowoczesne Karty Edukacyjne (Zastępują ścianę tekstu) */
.rk-loop-insights-grid {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 10px;
}

.rk-loop-insight-card {
    background: #ffffff;
    border: 1px solid var(--rk-loop-border);
    border-radius: 16px;
    padding: 24px;
    display: flex;
    gap: 18px;
    align-items: flex-start;
    transition: all 0.3s ease;
}

.rk-loop-insight-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
}

.rk-loop-insight-icon {
    width: 44px;
    height: 44px;
    background: #f8fafc;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-loop-blue);
    flex-shrink: 0;
}

.rk-loop-insight-content h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-loop-dark);
    margin: 0 0 8px 0;
}

.rk-loop-insight-content p {
    font-size: 14.5px;
    line-height: 1.65;
    color: var(--rk-loop-text);
    margin: 0;
}

.rk-loop-insight-content strong {
    color: var(--rk-loop-dark);
    font-weight: 700;
}

@media (max-width: 768px) {
    .rk-loop-header-block, .rk-loop-body { padding: 30px 20px; }
    .rk-loop-interactive-card, .rk-loop-status-card { padding: 20px; }
    .rk-loop-dashboard { grid-template-columns: 1fr; padding: 20px; gap: 15px; }
    .rk-loop-btn-group { flex-direction: column; }
    .rk-loop-insight-card { flex-direction: column; gap: 12px; padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#loop-length-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Jaka jest maksymalna długość pętli w płycie fundamentowej?",
    "description": "Poradnik inżynierski opisujący limity długości obwodów grzewczych w termicznej płycie fundamentowej. Konsekwencje hydrauliczne przekroczenia 100 metrów długości pętli.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#loop-length-dataset",
    "name": "Właściwości hydrodynamiczne obwodów płaszczyznowych PERT-PEX",
    "description": "Zestawienie fizyczne korelacji długości przewodów z oporami przepływu liniowego i spadkiem temperatury Delta T dla średnic nominalnych 16 mm i 20 mm.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna dlugosc petli podlogowki",
      "za dluga petla podlogowki",
      "rura pex 16 opory hydrauliczne",
      "cisnienie pompy obiegowej",
      "spadek temperatury podlogowki"
    ],
    "measurementTechnique": "Modelowanie matematyczne strat ciśnienia liniowego oraz przepływów masowych cieczy zgodnie z normą PN-EN 1264-4.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rura grzewcza 16x2 mm: Maksymalna zalecana długość 100 metrów bieżących",
        "Rura grzewcza 20x2 mm: Dopuszczalna długość konstrukcyjna do 150 metrów bieżących",
        "Wysokość podnoszenia standardowego układu pompowego: 6 metrów słupa wody (60 kPa)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#loop-length-webapp",
    "name": "Symulator Oporów i Przepływu Pętli Grzewczej",
    "description": "Zaawansowana aplikacja obliczeniowa służąca do symulacji oporów hydraulicznych i spadków temperatur w zatopionych w fundamencie rurociągach grzewczych.",
    "applicationCategory": "CalculationApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-loop-container" id="rk-hydraulic-loop-app">
    <div class="rk-loop-header-block">
        <h2>Jaka jest maksymalna długość pętli w płycie fundamentowej?</h2>
        <p>
            Przekroczenie granicznych długości obwodów grzewczych w fundamencie grozi trwałym zablokowaniem przepływu wody. Wybierz średnicę rury i ustaw długość pętli, aby zasymulować opory hydrauliczne układu.
        </p>
    </div>

    <div class="rk-loop-body">
        
        <div class="rk-loop-interactive-card">
            <div class="rk-loop-toggle-row">
                <span>Wybierz średnicę rury grzewczej:</span>
                <div class="rk-loop-btn-group">
                    <button class="rk-loop-toggle-btn active" id="rk-pipe-16">Średnica 16 mm (ścianka 2 mm)</button>
                    <button class="rk-loop-toggle-btn" id="rk-pipe-20">Średnica 20 mm (ścianka 2 mm)</button>
                </div>
            </div>

            <div class="rk-loop-slider-row">
                <div class="rk-loop-label-zone">
                    <label for="rk-loop-slider">Całkowita długość pojedynczej pętli (L):</label>
                    <span class="rk-loop-current-value" id="rk-loop-len-lbl">100 m</span>
                </div>
                <input type="range" class="rk-loop-range-input" id="rk-loop-slider" min="50" max="180" step="5" value="100">
            </div>
        </div>

        <div class="rk-loop-dashboard">
            <div class="rk-loop-dash-item">
                <span class="rk-loop-dash-label">Opór Hydrauliczny</span>
                <div class="rk-loop-dash-value" id="rk-dash-press">20.0 <span>kPa</span></div>
            </div>
            <div class="rk-loop-dash-item">
                <span class="rk-loop-dash-label">Spadek Temperatury</span>
                <div class="rk-loop-dash-value" id="rk-dash-dt">5.0 <span>K</span></div>
            </div>
            <div class="rk-loop-dash-item">
                <span class="rk-loop-dash-label">Przepływ na rotametrze</span>
                <div class="rk-loop-dash-value" id="rk-dash-rotam">2.0 <span>l/min</span></div>
            </div>
        </div>

        <div class="rk-loop-status-card" id="rk-loop-status-box">
            <h3 id="rk-loop-status-title">Optymalna praca hydrauliczna</h3>
            <p id="rk-loop-status-desc">Obwód grzewczy mieści się w bezpiecznych granicach projektowych. Opory liniowe nie przeciążają pompy obiegowej, a rozkład temperatur jest w pełni jednorodny.</p>
        </div>

        <div class="rk-loop-insights-grid">
            
            <div class="rk-loop-insight-card">
                <div class="rk-loop-insight-icon">
                    <svg width="22" height="22" 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>
                </div>
                <div class="rk-loop-insight-content">
                    <h4>Normy i fizyczne opory przepływu</h4>
                    <p>Maksymalna długość pojedynczej pętli grzewczej o średnicy 16 mm (z grubością ścianki 2 mm) w płycie fundamentowej wynosi <strong>100 m bieżących</strong>, wliczając w to odcinki doprowadzające do rozdzielacza. Zgodnie z zasadami hydrauliki instalacyjnej i normą <strong>PN-EN 1264-4</strong>, przekroczenie tej wartości powoduje wzrost oporów przepływu powyżej <strong>20 kPa</strong>, co skutkuje drastycznym spadkiem przepływu masowego poniżej wartości projektowych. Dla rur o średnicy 20 mm dopuszczalna długość pętli wzrasta do <strong>150 m</strong>, jednak wymagają one znacznie większego promienia gięcia przy montażu na siatkach zbrojeniowych.</p>
                </div>
            </div>

            <div class="rk-loop-insight-card">
                <div class="rk-loop-insight-icon">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 9a4 4 0 0 0-2 7.5"></path><path d="M12 3v2"></path><path d="M6.6 18.4l-1.4 1.4"></path><path d="M20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z"></path></svg>
                </div>
                <div class="rk-loop-insight-content">
                    <h4>Zjawisko całkowitego wychłodzenia</h4>
                    <p>Jeśli pętla będzie za długa (np. 130-140 m dla rury 16 mm), woda w końcowej części obwodu ulegnie całkowitemu wychłodzeniu. Spadek temperatury <strong>Delta T</strong> wykroczy poza dopuszczalne 5-10 K, osiągając nawet <strong>15 K</strong>, co doprowadzi do odczuwalnych, chłodnych stref na posadzce.</p>
                </div>
            </div>

            <div class="rk-loop-insight-card">
                <div class="rk-loop-insight-icon">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg>
                </div>
                <div class="rk-loop-insight-content">
                    <h4>Blokada pompy i rotametrów</h4>
                    <p>Pompa obiegowa o standardowej wysokości podnoszenia 6 m słupa wody (<strong>60 kPa</strong>) nie zdoła przetłoczyć odpowiedniej ilości czynnika przez tak wysokie opory. W efekcie całe pomieszczenie obsługiwane przez dany obwód pozostanie niedogrzane, a rotametr na rozdzielaczu zatrzyma się w pozycji bliskiej <strong>0 l/min</strong>, bez możliwości mechanicznej regulacji.</p>
                </div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var slider = document.getElementById('rk-loop-slider');
    var btn16 = document.getElementById('rk-pipe-16');
    var btn20 = document.getElementById('rk-pipe-20');
    
    var lenLbl = document.getElementById('rk-loop-len-lbl');
    var dPress = document.getElementById('rk-dash-press');
    var dDt = document.getElementById('rk-dash-dt');
    var dRotam = document.getElementById('rk-dash-rotam');
    
    var statusBox = document.getElementById('rk-loop-status-box');
    var statusTitle = document.getElementById('rk-loop-status-title');
    var statusDesc = document.getElementById('rk-loop-status-desc');

    var currentPipe = 16; // Domyślnie 16mm

    function calculateHydraulics() {
        var length = 100;
        if (slider) { length = parseFloat(slider.value); }
        if (lenLbl) { lenLbl.innerHTML = length + " m"; }

        var press = 0;
        var dt = 5.0;
        var rotam = 2.0;

        // Bezpieczny algorytm w zagnieżdżonych blokach if
        if (currentPipe === 16) {
            press = 5 + ((length * length) / 500);
            
            if (length <= 100) {
                dt = 5.0 + ((length - 50) / 25);
                rotam = 2.2 - ((length - 50) / 250);
                
                if (statusBox) { statusBox.style.borderLeftColor = "var(--rk-loop-success)"; }
                if (statusTitle) { statusTitle.innerHTML = "Optymalna praca hydrauliczna"; }
                if (statusDesc) { statusDesc.innerHTML = "Pętla 16 mm mieści się w normatywnych 100 metrach. Opory przepływu liniowego są niskie, a spadek temperatury Delta T zapewnia idealny komfort bez przeciążania pompy."; }
            }
            if (length > 100) {
                if (length <= 125) {
                    dt = 7.0 + ((length - 100) / 10);
                    rotam = 1.8 - ((length - 100) / 50);
                    if (rotam < 0.4) { rotam = 0.4; }
                    
                    if (statusBox) { statusBox.style.borderLeftColor = "var(--rk-loop-warning)"; }
                    if (statusTitle) { statusTitle.innerHTML = "Przekroczony opór graniczny (Wskazane pogrubienie rury)"; }
                    if (statusDesc) { statusDesc.innerHTML = "Pętla jest za długa dla rury 16 mm. Opory przekraczają 25 kPa, co wymusi podniesienie biegu pompy obiegowej i zwiększy zużycie prądu."; }
                }
            }
            if (length > 125) {
                dt = 11.0 + ((length - 125) / 5);
                rotam = 0.3 - ((length - 125) / 200);
                if (rotam <= 0) { rotam = 0.0; }
                if (dt > 15.0) { dt = 15.0; }
                
                if (statusBox) { statusBox.style.borderLeftColor = "var(--rk-loop-danger)"; }
                if (statusTitle) { statusTitle.innerHTML = "Krytyczna awaria: Brak przepływu i zimna strefa"; }
                if (statusDesc) { statusDesc.innerHTML = "Pętla uległa hydraulicznemu zablokowaniu. Opory są wyższe niż ciśnienie tłoczenia pompy obiegowej (60 kPa). Rotametr opadł do zera, a woda wychładza się całkowicie, powodując niedogrzanie pomieszczenia."; }
            }
        }

        if (currentPipe === 20) {
            press = 3 + ((length * length) / 1100);
            
            if (length <= 145) {
                dt = 5.0 + ((length - 50) / 45);
                rotam = 2.5 - ((length - 50) / 400);
                
                if (statusBox) { statusBox.style.borderLeftColor = "var(--rk-loop-success)"; }
                if (statusTitle) { statusTitle.innerHTML = "Optymalna praca hydrauliczna (Profil 20 mm)"; }
                if (statusDesc) { statusDesc.innerHTML = "Rura o średnicy 20 mm bezproblemowo radzi sobie z długimi obiegami do 150 metrów. Opory mieszczą się w normie, zapewniając stabilne zrównoważenie hydrauliczne instalacji."; }
            }
            if (length > 145) {
                dt = 7.5 + ((length - 145) / 12);
                rotam = 1.9 - ((length - 145) / 60);
                
                if (statusBox) { statusBox.style.borderLeftColor = "var(--rk-loop-warning)"; }
                if (statusTitle) { statusTitle.innerHTML = "Ostrzeżenie: Duża bezwładność pętli"; }
                if (statusDesc) { statusDesc.innerHTML = "Długość zbliża się do krytycznej granicy dla profilu 20 mm. Wymagany promieni gięcia na zbrojeniu utrudnia montaż, a opory zaczynają dławić przepływ masowy."; }
            }
        }

        if (dPress) { dPress.innerHTML = press.toFixed(1) + " <span>kPa</span>"; }
        if (dDt) { dDt.innerHTML = dt.toFixed(1) + " <span>K</span>"; }
        if (dRotam) { dRotam.innerHTML = rotam.toFixed(2) + " <span>l/min</span>"; }
    }

    if (btn16) {
        btn16.addEventListener('click', function() {
            if (btn20) { btn20.classList.remove('active'); }
            this.classList.add('active');
            currentPipe = 16;
            if (slider) {
                slider.min = "50";
                slider.max = "150";
            }
            calculateHydraulics();
        });
    }

    if (btn20) {
        btn20.addEventListener('click', function() {
            if (btn16) { btn16.classList.remove('active'); }
            this.classList.add('active');
            currentPipe = 20;
            if (slider) {
                slider.min = "50";
                slider.max = "180";
            }
            calculateHydraulics();
        });
    }

    if (slider) { slider.addEventListener('input', calculateHydraulics); }

    calculateHydraulics();
});
</script>



<style>
/* Wymuszenie czystego fontu i reset */
#rk-systems-comparison-app,
#rk-systems-comparison-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-comp-dark: #0f172a;
    --rk-comp-darker: #080f1e;
    --rk-comp-blue: #0284c7;
    --rk-comp-light: #f8fafc;
    --rk-comp-border: #e2e8f0;
    --rk-comp-text: #334155;
    --rk-comp-bg: #ffffff;
    --rk-comp-active-bg: #f0f9ff;
    --rk-comp-active-border: #0284c7;
}

.rk-comp-wrapper {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-comp-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-comp-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Nagłówek Sekcji */
.rk-comp-header {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-comp-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

.rk-comp-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-comp-header p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
}

/* Sekcja Główna - Układ Jednokolumnowy */
.rk-comp-body {
    padding: 35px 45px;
    background: var(--rk-comp-bg);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Kontrolki wyboru (Segmented Control - Przełączniki) */
.rk-comp-controls {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

@media (min-width: 768px) {
    .rk-comp-controls {
        flex-direction: row;
    }
}

.rk-comp-btn {
    flex: 1;
    background: #ffffff;
    border: 2px solid var(--rk-comp-border);
    border-radius: 16px;
    padding: 20px 15px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-comp-btn:hover {
    border-color: #94a3b8;
    transform: translateY(-2px);
    box-shadow: 0 8px 15px -3px rgba(15, 23, 42, 0.08);
}

.rk-comp-btn.active {
    background: var(--rk-comp-active-bg);
    border-color: var(--rk-comp-active-border);
    transform: translateY(0);
    box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.1);
}

.rk-comp-btn-title {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-comp-dark);
    transition: color 0.3s;
}

.rk-comp-btn-subtitle {
    font-size: 13px;
    color: #64748b;
    font-weight: 500;
}

.rk-comp-btn.active .rk-comp-btn-title {
    color: var(--rk-comp-blue);
}

/* Ciemny Dashboard Wynikowy (Zamiast Tabeli) */
.rk-comp-dashboard {
    background: var(--rk-comp-darker);
    border-radius: 16px;
    padding: 30px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 25px 20px;
    position: relative;
    overflow: hidden;
    border-left: 6px solid var(--rk-comp-blue);
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.2);
}

.rk-comp-dash-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.rk-comp-dash-label {
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-comp-dash-value {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
}

.rk-comp-dash-value span {
    font-size: 15px;
    font-weight: 700;
    color: #38bdf8;
    margin-left: 4px;
}

/* Karta Opisowa pod Dashboardem */
.rk-comp-desc-card {
    background: #ffffff;
    border: 1px solid var(--rk-comp-border);
    border-radius: 16px;
    padding: 25px 30px;
    border-left: 4px solid #10b981;
    transition: border-color 0.3s ease;
}

.rk-comp-desc-card h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-comp-dark);
    margin: 0 0 12px 0;
}

.rk-comp-desc-card p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-comp-text);
    margin: 0;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-comp-header, .rk-comp-body { padding: 30px 20px; }
    .rk-comp-dashboard { grid-template-columns: 1fr 1fr; padding: 25px 20px; gap: 20px 15px; }
    .rk-comp-dash-value { font-size: 24px; }
}

@media (max-width: 480px) {
    .rk-comp-dashboard { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#comparison-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Porównanie parametrów technicznych systemów płytowych",
    "description": "Szczegółowe zestawienie parametrów technicznych dla termicznych płyt fundamentowych. Porównanie rur 16 mm i 20 mm, grubości izolacji oraz temperatur zasilania.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#comparison-dataset",
    "name": "Matryca Techniczna Termicznych Płyt Fundamentowych",
    "description": "Zestawienie właściwości hydraulicznych i termicznych: opór przegrody, maksymalne długości pętli rur PEX/PERT, jednostkowy zrzut wody.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "parametry techniczne płyty grzewczej",
      "opór cieplny płyty fundamentowej",
      "rozstaw rur w płycie fundamentowej",
      "maksymalna długość pętli w betonie",
      "jednostkowy zrzut wody ogrzewania"
    ],
    "measurementTechnique": "Obliczenia hydrauliczne i cieplne zgodne z normami budowlanymi dotyczącymi instalacji płaszczyznowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "System Standardowy 16mm: Opór R = 4.41 m2K/W, Długość pętli do 100 m",
        "System Wysokoprzepływowy 20mm: Opór R = 4.41 m2K/W, Długość pętli do 150 m",
        "Klasa Pasywna NF15 16mm: Opór R = 7.35 m2K/W, Długość pętli do 90 m"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#comparison-webapp",
    "name": "Interaktywny Komparator Systemów Płytowych",
    "description": "Aplikacja służąca do zestawiania i bezpośredniego porównywania kluczowych wskaźników inżynierskich dla fundamentowych systemów grzewczych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-comp-wrapper" id="rk-systems-comparison-app">
    <div class="rk-comp-header">
        <h2>Porównanie parametrów technicznych systemów płytowych</h2>
        <p>
            Poniższy panel zastępuje tradycyjną, nieczytelną tabelę. Wybierz odpowiedni wariant konstrukcyjny, aby błyskawicznie sprawdzić kluczowe parametry techniczne i projektowe dla Twojej płyty fundamentowej.
        </p>
    </div>

    <div class="rk-comp-body">
        
        <div class="rk-comp-controls">
            <button class="rk-comp-btn active" id="rk-tab-1">
                <span class="rk-comp-btn-title">System Standardowy</span>
                <span class="rk-comp-btn-subtitle">Rura 16 mm</span>
            </button>
            <button class="rk-comp-btn" id="rk-tab-2">
                <span class="rk-comp-btn-title">Wysokoprzepływowy</span>
                <span class="rk-comp-btn-subtitle">Rura 20 mm</span>
            </button>
            <button class="rk-comp-btn" id="rk-tab-3">
                <span class="rk-comp-btn-title">Klasa Pasywna NF15</span>
                <span class="rk-comp-btn-subtitle">Rura 16 mm</span>
            </button>
        </div>

        <div class="rk-comp-dashboard">
            <div class="rk-comp-dash-item">
                <span class="rk-comp-dash-label">Rozstaw Rur (Strefa Bytowa)</span>
                <div class="rk-comp-dash-value" id="rk-val-space">15 <span>cm</span></div>
            </div>
            <div class="rk-comp-dash-item">
                <span class="rk-comp-dash-label">Maks. Długość Pętli</span>
                <div class="rk-comp-dash-value" id="rk-val-len">100 <span>m</span></div>
            </div>
            <div class="rk-comp-dash-item">
                <span class="rk-comp-dash-label">Grubość Izolacji XPS</span>
                <div class="rk-comp-dash-value" id="rk-val-xps">150 <span>mm</span></div>
            </div>
            <div class="rk-comp-dash-item">
                <span class="rk-comp-dash-label">Opór Cieplny (R)</span>
                <div class="rk-comp-dash-value" id="rk-val-res">4,41 <span>m²·K/W</span></div>
            </div>
            <div class="rk-comp-dash-item">
                <span class="rk-comp-dash-label">Projektowa Temp. Zasilania</span>
                <div class="rk-comp-dash-value" id="rk-val-temp">35 <span>°C</span></div>
            </div>
            <div class="rk-comp-dash-item">
                <span class="rk-comp-dash-label">Zrzut Wody</span>
                <div class="rk-comp-dash-value" id="rk-val-water">0,113 <span>l/m</span></div>
            </div>
        </div>

        <div class="rk-comp-desc-card" id="rk-desc-card">
            <h3 id="rk-desc-title">System Standardowy: Optymalny wybór inwestycyjny</h3>
            <p id="rk-desc-text">
                Klasyczny układ na rurze 16 mm zapewnia idealny balans między kosztami materiałowymi a sprawnością hydrauliczną. Przy długości pętli nieprzekraczającej 100 metrów i rozstawie co 15 cm, standardowa pompa obiegowa bez problemu tłoczy zład wodny, a temperatura zasilania rzędu 35°C gwarantuje wysoki, średnioroczny współczynnik efektywności pompy ciepła (SCOP).
            </p>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btn1 = document.getElementById('rk-tab-1');
    var btn2 = document.getElementById('rk-tab-2');
    var btn3 = document.getElementById('rk-tab-3');
    
    var valSpace = document.getElementById('rk-val-space');
    var valLen = document.getElementById('rk-val-len');
    var valXps = document.getElementById('rk-val-xps');
    var valRes = document.getElementById('rk-val-res');
    var valTemp = document.getElementById('rk-val-temp');
    var valWater = document.getElementById('rk-val-water');

    var descCard = document.getElementById('rk-desc-card');
    var descTitle = document.getElementById('rk-desc-title');
    var descText = document.getElementById('rk-desc-text');

    function resetActiveBtns() {
        if(btn1) { btn1.classList.remove('active'); }
        if(btn2) { btn2.classList.remove('active'); }
        if(btn3) { btn3.classList.remove('active'); }
    }

    if(btn1) {
        btn1.addEventListener('click', function() {
            resetActiveBtns();
            this.classList.add('active');
            
            if(valSpace) { valSpace.innerHTML = '15 <span>cm</span>'; }
            if(valLen) { valLen.innerHTML = '100 <span>m</span>'; }
            if(valXps) { valXps.innerHTML = '150 <span>mm</span>'; }
            if(valRes) { valRes.innerHTML = '4,41 <span>m²·K/W</span>'; }
            if(valTemp) { valTemp.innerHTML = '35 <span>°C</span>'; }
            if(valWater) { valWater.innerHTML = '0,113 <span>l/m</span>'; }

            if(descCard) { descCard.style.borderLeftColor = '#10b981'; } // Zielony
            if(descTitle) { descTitle.innerHTML = 'System Standardowy: Optymalny wybór inwestycyjny'; }
            if(descText) { 
                descText.innerHTML = 'Klasyczny układ na rurze 16 mm zapewnia idealny balans między kosztami materiałowymi a sprawnością hydrauliczną. Przy długości pętli nieprzekraczającej 100 metrów i rozstawie co 15 cm, standardowa pompa obiegowa bez problemu tłoczy zład wodny, a temperatura zasilania rzędu 35°C gwarantuje wysoki, średnioroczny współczynnik efektywności pompy ciepła (SCOP).'; 
            }
        });
    }

    if(btn2) {
        btn2.addEventListener('click', function() {
            resetActiveBtns();
            this.classList.add('active');
            
            if(valSpace) { valSpace.innerHTML = '20 <span>cm</span>'; }
            if(valLen) { valLen.innerHTML = '150 <span>m</span>'; }
            if(valXps) { valXps.innerHTML = '150 <span>mm</span>'; }
            if(valRes) { valRes.innerHTML = '4,41 <span>m²·K/W</span>'; }
            if(valTemp) { valTemp.innerHTML = '38 <span>°C</span>'; }
            if(valWater) { valWater.innerHTML = '0,177 <span>l/m</span>'; }

            if(descCard) { descCard.style.borderLeftColor = '#f59e0b'; } // Pomarańczowy
            if(descTitle) { descTitle.innerHTML = 'Wysokoprzepływowy: Dedykowany do dużych kubatur'; }
            if(descText) { 
                descText.innerHTML = 'Rozwiązanie wykorzystujące grubszą rurę 20 mm świetnie sprawdza się w budynkach komercyjnych lub salonach o ogromnej powierzchni. Większa średnica redukuje opory hydrauliczne i pozwala na formowanie ekstremalnie długich pętli (do 150 m). Wymaga to jednak nieco rzadszego rozstawienia rur i podniesienia temperatury zasilania do ok. 38°C.'; 
            }
        });
    }

    if(btn3) {
        btn3.addEventListener('click', function() {
            resetActiveBtns();
            this.classList.add('active');
            
            if(valSpace) { valSpace.innerHTML = '10 <span>cm</span>'; }
            if(valLen) { valLen.innerHTML = '90 <span>m</span>'; }
            if(valXps) { valXps.innerHTML = '250 <span>mm</span>'; }
            if(valRes) { valRes.innerHTML = '7,35 <span>m²·K/W</span>'; }
            if(valTemp) { valTemp.innerHTML = '30 <span>°C</span>'; }
            if(valWater) { valWater.innerHTML = '0,113 <span>l/m</span>'; }

            if(descCard) { descCard.style.borderLeftColor = '#0284c7'; } // Niebieski
            if(descTitle) { descTitle.innerHTML = 'Klasa Pasywna NF15: Maksymalna energooszczędność'; }
            if(descText) { 
                descText.innerHTML = 'Bezkompromisowy wariant inżynierski. Potężna warstwa izolacji dolnej (XPS 25 cm) w połączeniu z gęstym rozstawem rur (co 10 cm) pozwala na obniżenie krzywej grzewczej pompy ciepła do zaledwie 30°C. Straty ciepła w dół gruntu są niemal zerowe, a urządzenie grzewcze pracuje z najwyższą możliwą sprawnością elektryczną przez cały sezon zimowy.'; 
            }
        });
    }
});
</script>



<style>
/* Wymuszenie czystego fontu bezszeryfowego i reset */
#rk-systems-comparison,
#rk-systems-comparison * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-comp-dark: #0f172a;
    --rk-comp-blue: #0284c7;
    --rk-comp-light: #f8fafc;
    --rk-comp-border: #e2e8f0;
    --rk-comp-text: #334155;
    --rk-comp-bg: #ffffff;
    --rk-comp-active-bg: #f0f9ff;
    --rk-comp-active-border: #0284c7;
}

.rk-comp-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-comp-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-comp-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-comp-header-zone {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-comp-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-comp-header-zone h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 12px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-comp-header-zone p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

/* Panel Główny */
.rk-comp-body {
    padding: 35px 45px;
    background: var(--rk-comp-light);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Selektory wariantu - Układ poziomy na desktopie, pionowy na mobile */
.rk-comp-tabs {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

@media (min-width: 768px) {
    .rk-comp-tabs {
        flex-direction: row;
    }
}

.rk-comp-tab-btn {
    flex: 1;
    background: #ffffff;
    border: 2px solid var(--rk-comp-border);
    border-radius: 16px;
    padding: 18px 20px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rk-comp-tab-btn:hover {
    border-color: #cbd5e1;
    transform: translateY(-2px);
}

.rk-comp-tab-btn.active {
    background: var(--rk-comp-active-bg);
    border-color: var(--rk-comp-active-border);
    transform: translateY(0);
}

.rk-comp-tab-title {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-comp-dark);
}

.rk-comp-tab-desc {
    font-size: 12px;
    color: #64748b;
}

/* Karta specyfikacji danych */
.rk-comp-display-board {
    background: #ffffff;
    border: 1px solid var(--rk-comp-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.01);
}

.rk-comp-board-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-comp-dark);
    margin: 0 0 20px 0;
    border-bottom: 2px solid var(--rk-comp-light);
    padding-bottom: 12px;
}

/* Siatka parametrów - jedno kolumnowa, przejrzysta struktura */
.rk-comp-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rk-comp-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
}

.rk-comp-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.rk-comp-param-label {
    font-size: 14.5px;
    color: var(--rk-comp-text);
    font-weight: 500;
}

.rk-comp-param-value {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-comp-dark);
    background: #f1f5f9;
    padding: 6px 14px;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.rk-comp-tab-btn.active .rk-comp-param-value {
    background: #e0f2fe;
    color: #0369a1;
}

@media (max-width: 768px) {
    .rk-comp-header-zone, .rk-comp-body { padding: 30px 20px; }
    .rk-comp-display-board { padding: 20px; }
    .rk-comp-row { flex-direction: column; align-items: flex-start; gap: 8px; }
    .rk-comp-param-value { align-self: flex-end; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#comparison-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Porównanie parametrów technicznych systemów płytowych",
    "description": "Zestawienie fizyczne i hydrauliczne trzech głównych wariantów wykonawczych termicznych płyt fundamentowych. Analiza rozstawu rur, oporu przegrody i temperatur zasilania.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#comparison-dataset",
    "name": "Matryca Techniczna Systemów Termicznych Płyt Fundamentowych",
    "description": "Porównawcza baza danych właściwości fizycznych: opór cieplny jastrychów betonu nośnego, maksymalne długości rur PEX/PERT, normatywne limity zrzutu wody.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "parametry techniczne płyty grzewczej",
      "opór cieplny płyty fundamentowej",
      "rozstaw rur w płycie fundamentowej",
      "maksymalna długość pętli w betonie",
      "jednostkowy zrzut wody ogrzewania"
    ],
    "measurementTechnique": "Badania fizykalne oporu przewodzenia i obliczenia hydrauliczne zgodne z normami PN-EN 1264-2 oraz PN-EN ISO 15875.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "System Standardowy 16mm: Opór R = 4.41 m2K/W, Długość pętli do 100 m",
        "System Wysokoprzepływowy 20mm: Opór R = 4.41 m2K/W, Długość pętli do 150 m",
        "Klasa Pasywna NF15 16mm: Opór R = 7.35 m2K/W, Długość pętli do 90 m"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#comparison-webapp",
    "name": "Interaktywny Komparator Systemów Płytowych",
    "description": "Narzędzie służące do selektywnego przełączania i dynamicznej analizy wariantów konstrukcyjno-instalacyjnych fundamentów grzewczych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-comp-container" id="rk-systems-comparison">
    <div class="rk-comp-header-zone">
        <h2>Porównanie parametrów technicznych systemów płytowych</h2>
        <p>
            Poniższe zestawienie przedstawia kluczowe parametry techniczne i projektowe dla termicznych płyt fundamentowych w zależności od przyjętej konfiguracji rur oraz standardu izolacji obwodowej.
        </p>
    </div>

    <div class="rk-comp-body">
        
        <div class="rk-comp-tabs">
            <button class="rk-comp-tab-btn active" id="rk-ctab-1">
                <span class="rk-comp-tab-title">System Standardowy</span>
                <span class="rk-comp-tab-desc">Rura 16 mm – Klasyczny zrównoważony wybór</span>
            </button>
            <button class="rk-comp-tab-btn" id="rk-ctab-2">
                <span class="rk-comp-tab-title">System Wysokoprzepływowy</span>
                <span class="rk-comp-tab-desc">Rura 20 mm – Niski opór dla dużych powierzchni</span>
            </button>
            <button class="rk-comp-tab-btn" id="rk-ctab-3">
                <span class="rk-comp-tab-title">Klasa Pasywna NF15</span>
                <span class="rk-comp-tab-desc">Rura 16 mm – Maksymalna izolacja dolna</span>
            </button>
        </div>

        <div class="rk-comp-display-board">
            <div class="rk-comp-board-title" id="rk-comp-board-name">Specyfikacja: System Standardowy (Rura 16 mm)</div>
            
            <div class="rk-comp-grid">
                <div class="rk-comp-row">
                    <span class="rk-comp-param-label">Rozstaw rur (strefa bytowa)</span>
                    <span class="rk-comp-param-value" id="rk-val-spacing">15 cm</span>
                </div>
                <div class="rk-comp-row">
                    <span class="rk-comp-param-label">Maksymalna długość pętli grzewczej</span>
                    <span class="rk-comp-param-value" id="rk-val-loop">100 m</span>
                </div>
                <div class="rk-comp-row">
                    <span class="rk-comp-param-label">Grubość izolacji termicznej XPS</span>
                    <span class="rk-comp-param-value" id="rk-val-xps">150 mm</span>
                </div>
                <div class="rk-comp-row">
                    <span class="rk-comp-param-label">Opór cieplny przegrody R</span>
                    <span class="rk-comp-param-value" id="rk-val-resistance">4,41 m²·K/W</span>
                </div>
                <div class="rk-comp-row">
                    <span class="rk-comp-param-label">Projektowa temperatura zasilania podłogówki</span>
                    <span class="rk-comp-param-value" id="rk-val-temp">35°C</span>
                </div>
                <div class="rk-comp-row">
                    <span class="rk-comp-param-label">Jednostkowy zrzut wody w rurociągu</span>
                    <span class="rk-comp-param-value" id="rk-val-water">0,113 l/m</span>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var tab1 = document.getElementById('rk-ctab-1');
    var tab2 = document.getElementById('rk-ctab-2');
    var tab3 = document.getElementById('rk-ctab-3');
    
    var boardName = document.getElementById('rk-comp-board-name');
    var valSpacing = document.getElementById('rk-val-spacing');
    var valLoop = document.getElementById('rk-val-loop');
    var valXps = document.getElementById('rk-val-xps');
    var valResistance = document.getElementById('rk-val-resistance');
    var valTemp = document.getElementById('rk-val-temp');
    var valWater = document.getElementById('rk-val-water');

    function clearTabs() {
        if(tab1) { tab1.classList.remove('active'); }
        if(tab2) { tab2.classList.remove('active'); }
        if(tab3) { tab3.classList.remove('active'); }
    }

    if(tab1) {
        tab1.addEventListener('click', function() {
            clearTabs();
            this.classList.add('active');
            if(boardName) { boardName.innerHTML = 'Specyfikacja: System Standardowy (Rura 16 mm)'; }
            if(valSpacing) { valSpacing.innerHTML = '15 cm'; }
            if(valLoop) { valLoop.innerHTML = '100 m'; }
            if(valXps) { valXps.innerHTML = '150 mm'; }
            if(valResistance) { valResistance.innerHTML = '4,41 m²·K/W'; }
            if(valTemp) { valTemp.innerHTML = '35°C'; }
            if(valWater) { valWater.innerHTML = '0,113 l/m'; }
        });
    }

    if(tab2) {
        tab2.addEventListener('click', function() {
            clearTabs();
            this.classList.add('active');
            if(boardName) { boardName.innerHTML = 'Specyfikacja: System Wysokoprzepływowy (Rura 20 mm)'; }
            if(valSpacing) { valSpacing.innerHTML = '20 cm'; }
            if(valLoop) { valLoop.innerHTML = '150 m'; }
            if(valXps) { valXps.innerHTML = '150 mm'; }
            if(valResistance) { valResistance.innerHTML = '4,41 m²·K/W'; }
            if(valTemp) { valTemp.innerHTML = '38°C'; }
            if(valWater) { valWater.innerHTML = '0,177 l/m'; }
        });
    }

    if(tab3) {
        tab3.addEventListener('click', function() {
            clearTabs();
            this.classList.add('active');
            if(boardName) { boardName.innerHTML = 'Specyfikacja: Klasa Pasywna NF15 (Rura 16 mm)'; }
            if(valSpacing) { valSpacing.innerHTML = '10 cm'; }
            if(valLoop) { valLoop.innerHTML = '90 m'; }
            if(valXps) { valXps.innerHTML = '250 mm'; }
            if(valResistance) { valResistance.innerHTML = '7,35 m²·K/W'; }
            if(valTemp) { valTemp.innerHTML = '30°C'; }
            if(valWater) { valWater.innerHTML = '0,113 l/m'; }
        });
    }
});
</script>



<style>
/* Wymuszenie czystego fontu i reset */
#rk-engineering-calc-app,
#rk-engineering-calc-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-blue: #0284c7;
    --rk-calc-light: #f8fafc;
    --rk-calc-border: #e2e8f0;
    --rk-calc-text: #334155;
    --rk-calc-bg: #ffffff;
    --rk-calc-accent: #0f766e;
    --rk-calc-highlight: #f0f9ff;
}

.rk-calc-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-calc-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-calc-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

/* Nagłówek sekcji */
.rk-calc-header-block {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-calc-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

.rk-calc-header-block h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-calc-header-block p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
}

/* Panel Główny */
.rk-calc-body {
    padding: 35px 45px;
    background: var(--rk-calc-light);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Strefa Interaktywna: Suwaki + Wynik na żywo */
.rk-calc-interactive-zone {
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    gap: 35px;
}

/* Sekcja Suwaków Wejściowych */
.rk-calc-inputs-wrapper {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-calc-row {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-calc-label-zone {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-calc-label-zone label {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-calc-dark);
}

.rk-calc-current-value {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-calc-blue);
    background: var(--rk-calc-highlight);
    padding: 6px 14px;
    border-radius: 8px;
    border: 1px solid #bae6fd;
}

/* Wygląd suwaka */
.rk-calc-slider-input {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: #e2e8f0;
    outline: none;
    transition: background 0.3s;
}

.rk-calc-slider-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-calc-blue);
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(2, 132, 199, 0.4);
    transition: transform 0.1s;
}

.rk-calc-slider-input::-webkit-slider-thumb:hover {
    transform: scale(1.1);
}

/* Szybka Ramka Wynikowa (Dashboard) */
.rk-calc-dashboard {
    background: var(--rk-calc-dark);
    border-radius: 16px;
    padding: 25px 30px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    position: relative;
    overflow: hidden;
}

.rk-calc-dashboard::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 4px; height: 100%;
    background: var(--rk-calc-blue);
}

.rk-calc-dash-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rk-calc-dash-label {
    font-size: 13px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-calc-dash-value {
    font-size: 26px;
    font-weight: 900;
    color: #ffffff;
}

.rk-calc-dash-value span {
    font-size: 16px;
    color: #38bdf8;
    font-weight: 700;
}

/* Sekcja Kroków - Detale Obliczeniowe */
.rk-calc-steps-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin: 10px 0 0 0;
    text-align: center;
}

.rk-calc-results-panel {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-calc-step-card {
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    border-radius: 16px;
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: border-color 0.3s ease;
}

.rk-calc-step-card:hover {
    border-color: #cbd5e1;
}

.rk-calc-step-top {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-calc-step-badge {
    background: #f1f5f9;
    color: var(--rk-calc-text);
    font-size: 12px;
    font-weight: 900;
    padding: 4px 10px;
    border-radius: 6px;
    text-transform: uppercase;
}

.rk-calc-step-top h4 {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin: 0;
}

.rk-calc-formula-display {
    font-family: monospace !important;
    font-size: 13.5px;
    background: #f8fafc;
    padding: 8px 14px;
    border-radius: 8px;
    color: #0f766e;
    border-left: 3px solid var(--rk-calc-accent);
    margin: 4px 0;
}

.rk-calc-step-explain {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-calc-text);
    margin: 0;
}

/* Responsywność Mobile */
@media (max-width: 768px) {
    .rk-calc-header-block, .rk-calc-body { padding: 30px 20px; }
    .rk-calc-interactive-zone { padding: 25px 20px; gap: 25px; }
    .rk-calc-dashboard { grid-template-columns: 1fr; gap: 15px; padding: 20px; }
    .rk-calc-step-card { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#calculator-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Algorytmy i obliczenia hydrauliczne w płytach fundamentowych",
    "description": "Profesjonalna ścieżka obliczeniowa zapotrzebowania na moc, przepływ masowy czynnika oraz pojemność zładu wodnego w termicznych płytach fundamentowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#calculator-dataset",
    "name": "Stałe fizyczne i przeliczniki pojemnościowe rurociągów PEX-PERT",
    "description": "Zbiór danych stałych stosowanych w algorytmach sanitarnych: ciepło właściwe wody (1,163 Wh/kgK), jednostkowa pojemność rur 16x2 mm (0,113 l/m), współczynnik bezwładności (1,15).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator ogrzewania podłogowego",
      "przepływ masowy podłogówki",
      "pojemność wodna rury pex 16",
      "moc obliczeniowa pętli grzewczej",
      "obliczenia hydrauliczne płyty fundamentowej"
    ],
    "measurementTechnique": "Algorytmy i wzory bilansowania strumieni energii i masy płynów wg wytycznych zawartych w normie PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Jednostkowa pojemność rury 16x2: 0,113 litra na metr",
        "Stała ciepła właściwego wody: 1,163 Wh/(kgK)",
        "Naddatek na bezwładność akumulacyjną płyty: 15 procent"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#calculator-webapp",
    "name": "Kalkulator Przepływów i Pojemności Płyty Grzewczej",
    "description": "Zaawansowane, interaktywne narzędzie realizujące ścieżkę obliczeniową parametrów hydraulicznych dla ogrzewania płaszczyznowego w fundamencie.",
    "applicationCategory": "CalculationApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container" id="rk-engineering-calc-app">
    <div class="rk-calc-header-block">
        <h2>Algorytmy obliczeniowy instalacji w płycie (Kalkulator Inżynierski)</h2>
        <p>
            Projektowanie hydrauliki ogrzewania w płycie fundamentowej wymaga ścisłego wyliczenia zapotrzebowania na strumień masowy czynnika grzewczego. Wykorzystaj poniższe narzędzie, aby błyskawicznie sprawdzić parametry dla swojego budynku.
        </p>
    </div>

    <div class="rk-calc-body">
        
        <div class="rk-calc-interactive-zone">
            
            <div class="rk-calc-inputs-wrapper">
                <div class="rk-calc-row">
                    <div class="rk-calc-label-zone">
                        <label for="rk-input-qpom">Zapotrzebowanie cieplne pomieszczenia z OZC (Q_pom):</label>
                        <span class="rk-calc-current-value" id="rk-lbl-qpom">2000 W</span>
                    </div>
                    <input type="range" class="rk-calc-slider-input" id="rk-input-qpom" min="500" max="5000" step="100" value="2000">
                </div>

                <div class="rk-calc-row">
                    <div class="rk-calc-label-zone">
                        <label for="rk-input-length">Sumaryczna długość rur w obwodach (L):</label>
                        <span class="rk-calc-current-value" id="rk-lbl-length">150 m</span>
                    </div>
                    <input type="range" class="rk-calc-slider-input" id="rk-input-length" min="20" max="800" step="10" value="150">
                </div>
            </div>

            <div class="rk-calc-dashboard">
                <div class="rk-calc-dash-item">
                    <span class="rk-calc-dash-label">Moc Obliczeniowa</span>
                    <div class="rk-calc-dash-value" id="rk-dash-qobl">2300 <span>W</span></div>
                </div>
                <div class="rk-calc-dash-item">
                    <span class="rk-calc-dash-label">Przepływ Masowy</span>
                    <div class="rk-calc-dash-value" id="rk-dash-flow">395.53 <span>kg/h</span></div>
                </div>
                <div class="rk-calc-dash-item">
                    <span class="rk-calc-dash-label">Pojemność Zładu</span>
                    <div class="rk-calc-dash-value" id="rk-dash-vol">16.95 <span>litra</span></div>
                </div>
            </div>
            
        </div>

        <h3 class="rk-calc-steps-title">Podstawa obliczeniowa (dla dociekliwych)</h3>

        <div class="rk-calc-results-panel">
            <div class="rk-calc-step-card">
                <div class="rk-calc-step-top">
                    <span class="rk-calc-step-badge">Krok 1</span>
                    <h4>Wyznaczenie całkowitej mocy cieplnej pętli</h4>
                </div>
                <div class="rk-calc-formula-display">Q_obl = Q_pom * 1.15</div>
                <p class="rk-calc-step-explain">
                    Moc projektową obwodu podwyższamy o równe 15% z uwagi na olbrzymią bezwładność cieplną grubego, zbrojonego betonu konstrukcyjnego.
                </p>
            </div>

            <div class="rk-calc-step-card">
                <div class="rk-calc-step-top">
                    <span class="rk-calc-step-badge">Krok 2</span>
                    <h4>Obliczenie wymaganego przepływu masowego</h4>
                </div>
                <div class="rk-calc-formula-display">m = Q_obl / (c_w * Delta_T)</div>
                <p class="rk-calc-step-explain">
                    Wyznaczamy strumień masowy wyrażony w kilogramach na godzinę dla optymalnego schłodzenia czynnika Delta_T = 5 K. Przyjmujemy stałą wartość ciepła właściwego wody c_w = 1.163 Wh/(kg·K).
                </p>
            </div>

            <div class="rk-calc-step-card">
                <div class="rk-calc-step-top">
                    <span class="rk-calc-step-badge">Krok 3</span>
                    <h4>Wyliczenie całkowitej pojemności wodnej</h4>
                </div>
                <div class="rk-calc-formula-display">V_inst = L * 0.113</div>
                <p class="rk-calc-step-explain">
                    Dla standardowej rury typu PERT/Al/PERT 16&#215;2 mm, pojemność wewnętrzna wynosi dokładnie 0.113 litra na każdy metr bieżący przewodu.
                </p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var inputQpom = document.getElementById('rk-input-qpom');
    var inputLength = document.getElementById('rk-input-length');
    
    var lblQpom = document.getElementById('rk-lbl-qpom');
    var lblLength = document.getElementById('rk-lbl-length');
    
    var dashQobl = document.getElementById('rk-dash-qobl');
    var dashFlow = document.getElementById('rk-dash-flow');
    var dashVol = document.getElementById('rk-dash-vol');

    function executeCalculations() {
        // Pobranie wartości wejściowych
        var qPomVal = 2000;
        var lengthVal = 150;
        
        if (inputQpom) { qPomVal = parseFloat(inputQpom.value); }
        if (inputLength) { lengthVal = parseFloat(inputLength.value); }

        // Aktualizacja etykiet suwaków
        if (lblQpom) { lblQpom.innerHTML = qPomVal + " W"; }
        if (lblLength) { lblLength.innerHTML = lengthVal + " m"; }

        // Obliczenia
        var qOblVal = qPomVal * 1.15;
        var flowVal = qOblVal / 5.815; // 1.163 * 5
        var volVal = lengthVal * 0.113;

        // Aktualizacja Dashboardu
        if (dashQobl) { dashQobl.innerHTML = qOblVal.toFixed(0) + " <span>W</span>"; }
        if (dashFlow) { dashFlow.innerHTML = flowVal.toFixed(2) + " <span>kg/h</span>"; }
        if (dashVol) { dashVol.innerHTML = volVal.toFixed(2) + " <span>litra</span>"; }
    }

    // Nasłuchiwanie zdarzeń
    if (inputQpom) { inputQpom.addEventListener('input', executeCalculations); }
    if (inputLength) { inputLength.addEventListener('input', executeCalculations); }

    executeCalculations();
});
</script>



<style>
/* Reset i wymuszenie czystego fontu bezszeryfowego */
#rk-execution-failures-app,
#rk-execution-failures-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-err-dark: #0f172a;
    --rk-err-blue: #0284c7;
    --rk-err-light: #f8fafc;
    --rk-err-border: #e2e8f0;
    --rk-err-text: #334155;
    --rk-err-bg: #ffffff;
    --rk-err-warn: #f59e0b;
    --rk-err-crit: #ef4444;
}

.rk-errors-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-err-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-err-border);
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.08);
    overflow: hidden;
}

/* Nagłówek Komponentu */
.rk-err-header-zone {
    padding: 40px 45px 35px;
    background: linear-gradient(135deg, var(--rk-err-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

.rk-err-header-zone h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-err-header-zone p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
}

/* Panel Roboczy - Układ Poziomy */
.rk-err-body {
    padding: 35px 45px;
    background: var(--rk-err-light);
}

/* Selektory (Zakładki/Tabs) - Desktop w poziomie, Mobile w pionie */
.rk-err-selectors {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 30px;
}

@media (min-width: 768px) {
    .rk-err-selectors {
        flex-direction: row;
    }
}

.rk-err-btn {
    flex: 1;
    background: #ffffff;
    border: 1px solid var(--rk-err-border);
    border-radius: 16px;
    padding: 20px 15px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-err-btn:hover {
    border-color: var(--rk-err-warn);
    box-shadow: 0 8px 15px -3px rgba(245, 158, 11, 0.1);
    transform: translateY(-2px);
}

.rk-err-btn.active {
    border-color: var(--rk-err-crit);
    background: #fff5f5;
    box-shadow: 0 10px 25px -5px rgba(239, 68, 68, 0.15);
    transform: translateY(0);
}

.rk-err-btn-num {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #f1f5f9;
    color: var(--rk-err-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 15px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.rk-err-btn.active .rk-err-btn-num {
    background: var(--rk-err-crit);
    color: #ffffff;
}

.rk-err-btn-title {
    font-size: 14.5px;
    font-weight: 700;
    color: var(--rk-err-dark);
    line-height: 1.4;
}

/* Ekran Wizualizacji i Detali (Złamana ściana tekstu, usunięta sekcja SVG) */
.rk-err-display-screen {
    background: #ffffff;
    border: 1px solid var(--rk-err-border);
    border-radius: 20px;
    padding: 35px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

.rk-err-details h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-err-crit);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-err-details p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-err-text);
    margin: 0 0 15px 0;
}

.rk-err-details strong {
    color: var(--rk-err-dark);
    font-weight: 700;
}

.rk-err-details ul {
    margin: 0;
    padding-left: 20px;
    font-size: 14.5px;
    color: #475569;
}

.rk-err-details li {
    margin-bottom: 10px;
    line-height: 1.6;
}

.rk-err-details a {
    color: var(--rk-err-blue);
    text-decoration: underline;
    font-weight: 600;
    text-underline-offset: 3px;
}

/* Responsywność Mobile (dopieszczenie) */
@media (max-width: 768px) {
    .rk-err-header-zone, .rk-err-body { padding: 30px 20px; }
    .rk-err-display-screen { padding: 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#errors-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Najczęstsze błędy wykonawcze przy montażu ogrzewania w fundamencie",
    "description": "Przewodnik inżynierski piętnujący kardynalne błędy wykonawcze podczas montażu ogrzewania podłogowego w płytach fundamentowych. Brak prób szczelności, zła głębokość rur, brak dylatacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#errors-dataset",
    "name": "Ewidencja awaryjności i patologii wykonawczych w monolitach grzewczych",
    "description": "Zbiór danych empirycznych określający fizyczne konsekwencje błędów: skoki ciśnienia niszczące strukturę rury, straty ciepła w gruncie przez złą głębokość, naprężenia ścinające jastrychów.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "bledy montazowe ogrzewania podlogowego",
      "proba szczelnosci podlogowki w plycie",
      "glebokosc rur w plycie fundamentowej",
      "brak dylatacji ogrzewania podlogowego",
      "uszkodzenie rur podczas zalewania betonu"
    ],
    "measurementTechnique": "Ekspertyzy techniczne z użyciem kamer termowizyjnych oraz analizy naprężeń mechanicznych betonu zgodnie z kryteriami normy DIN 4726.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Minimalne ciśnienie próby normatywnej: 0,6 MPa (6 bar)",
        "Optymalne osadzenie przewodów: 5 do 7 cm od górnej krawędzi",
        "Opóźnienie termiczne przy błędnym montażu: 12 do 24 godziny opóźnienia"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#errors-webapp",
    "name": "Interaktywny Analizator Patologii Wykonawczych",
    "description": "Aplikacja symulująca proces powstawania uszkodzeń mechanicznych i strat energetycznych w strukturze nośnej termicznej płyty fundamentowej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-errors-container" id="rk-execution-failures-app">
    <div class="rk-err-header-zone">
        <h2>Najczęstsze błędy wykonawcze przy montażu ogrzewania w fundamencie</h2>
        <p>
            Błędy popełnione podczas montażu rur w płycie fundamentowej są niemożliwe do skorygowania po związaniu betonu konstrukcyjnego. Wybierz zakładkę, aby poznać inżynierskie konsekwencje patologii wykonawczych.
        </p>
    </div>

    <div class="rk-err-body">
        
        <div class="rk-err-selectors">
            <button class="rk-err-btn active" id="rk-ebtn-1">
                <div class="rk-err-btn-num">1</div>
                <span class="rk-err-btn-title">Brak próby ciśnieniowej przy wylewaniu</span>
            </button>
            <button class="rk-err-btn" id="rk-ebtn-2">
                <div class="rk-err-btn-num">2</div>
                <span class="rk-err-btn-title">Złe, zbyt głębokie pozycjonowanie rur</span>
            </button>
            <button class="rk-err-btn" id="rk-ebtn-3">
                <div class="rk-err-btn-num">3</div>
                <span class="rk-err-btn-title">Całkowity brak dylatacji konstrukcyjnych</span>
            </button>
        </div>

        <div class="rk-err-display-screen" id="rk-err-screen">
            <div class="rk-err-details" id="rk-err-details-text">
                <h3>Katastrofalne uszkodzenie rur podczas zalewania betonu</h3>
                <p>
                    Rezygnacja z procedury, jaką jest profesjonalna <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próba szczelności podłogówki w płycie</a> to czysta rosyjska ruletka. Rury grzewcze muszą być bezwzględnie napompowane sprężonym powietrzem lub medium wodnym do poziomu, który definiuje <strong>ciśnienie normatywne proby cisnieniowej</strong>, czyli minimum 0,6 MPa (6 bar).
                </p>
                <ul>
                    <li>Manometr musi być stale kontrolowany przez kierownika budowy w trakcie pracy pompy.</li>
                    <li>Agresywne uderzenie wibratora buławowego potrafi bez śladu zmiażdżyć lub rozszczelnić strukturę rury.</li>
                    <li>Bez ciśnienia wstępnego wewnątrz przewodu, te <strong>bledy montazowe ogrzewania podlogowego</strong> wykryjesz dopiero zimą, gdy zabetonowany monolit zacznie przeciekać.</li>
                </ul>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btn1 = document.getElementById('rk-ebtn-1');
    var btn2 = document.getElementById('rk-ebtn-2');
    var btn3 = document.getElementById('rk-ebtn-3');
    
    var detailsBox = document.getElementById('rk-err-details-text');

    function resetActiveStates() {
        if(btn1) { btn1.classList.remove('active'); }
        if(btn2) { btn2.classList.remove('active'); }
        if(btn3) { btn3.classList.remove('active'); }
    }

    if(btn1) {
        btn1.addEventListener('click', function() {
            resetActiveStates();
            this.classList.add('active');
            if(detailsBox) {
                detailsBox.innerHTML = '<h3>Katastrofalne uszkodzenie rur podczas zalewania betonu</h3>' +
                    '<p>Rezygnacja z procedury, jaką jest profesjonalna <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próba szczelności podłogówki w płycie</a> to czysta rosyjska ruletka. Rury grzewcze muszą być bezwzględnie napompowane sprężonym powietrzem lub medium wodnym do poziomu, który definiuje <strong>ciśnienie normatywne proby cisnieniowej</strong>, czyli minimum 0,6 MPa (6 bar).</p>' +
                    '<ul>' +
                    '<li>Manometr musi być stale kontrolowany przez kierownika budowy w trakcie pracy pompy.</li>' +
                    '<li>Agresywne uderzenie wibratora buławowego potrafi bez śladu zmiażdżyć lub rozszczelnić strukturę rury.</li>' +
                    '<li>Bez ciśnienia wstępnego wewnątrz przewodu, te <strong>bledy montazowe ogrzewania podlogowego</strong> wykryjesz dopiero zimą, gdy zabetonowany monolit zacznie przeciekać.</li>' +
                    '</ul>';
            }
        });
    }

    if(btn2) {
        btn2.addEventListener('click', function() {
            resetActiveStates();
            this.classList.add('active');
            if(detailsBox) {
                detailsBox.innerHTML = '<h3 style="color: var(--rk-err-warn);">Potężny drenaż energetyczny i opóźnienie grzewcze</h3>' +
                    '<p>Złe, zbyt niskie ułożenie pętli w grubości betonu to kluczowa przyczyna strat dolnych. Projektowana <strong>glebokosc rur w plycie fundamentowej</strong> powinna wynosić sztywne 5-7 cm od górnej powierzchni. Przewody muszą być stabilnie powiązane ze stalową kratownicą siatki zbrojeniowej.</p>' +
                    '<ul>' +
                    '<li>Ułożenie pętli na samym dnie konstrukcji, tuż przy hydroizolacji XPS, drastycznie zwiększa transfer ciepła bezpośrednio w grunt pod budynkiem.</li>' +
                    '<li>Taka patologia wykonawcza diametralnie wydłuża czas reakcji systemu i sprawia, że nominalna <strong>bezwladnosc termiczna plyty grzewczej</strong> generuje dodatkowe 12-24 godziny opóźnienia w ogrzewaniu pomieszczeń.</li>' +
                    '</ul>';
            }
        });
    }

    if(btn3) {
        btn3.addEventListener('click', function() {
            resetActiveStates();
            this.classList.add('active');
            if(detailsBox) {
                detailsBox.innerHTML = '<h3>Pękanie posadzki i mechaniczne ścinanie rurociągów</h3>' +
                    '<p>Powszechny <strong>brak dylatacji ogrzewania podlogowego</strong> przy ścianach konstrukcyjnych i przejściach komunikacyjnych to prosta droga do katastrofy budowlanej. Choć fundament tworzy potężną płytę, brak elastycznych taśm brzegowych generuje niszczycielskie naprężenia fizyczne.</p>' +
                    '<ul>' +
                    '<li>Zgodnie z parametrami, które narzuca <strong>norma din 4726 dylatacje</strong> obwodowe muszą bezwzględnie oddzielać monolit grzewczy od pionowych przegród nośnych.</li>' +
                    '<li>Brak zachowania tej zasady skutkuje niekontrolowanym pękaniem wykończeniowych warstw posadzkowych oraz trwałym zerwaniem rur przechodzących przez strefy otworów drzwiowych bez elastycznych peszli ochronnych.</li>' +
                    '</ul>';
            }
        });
    }
});
</script>



<style>
/* Wymuszenie czystego fontu i reset */
#rk-design-project-app,
#rk-design-project-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-dp-dark: #0f172a;
    --rk-dp-blue: #0284c7;
    --rk-dp-light: #f8fafc;
    --rk-dp-border: #e2e8f0;
    --rk-dp-text: #334155;
    --rk-dp-bg: #ffffff;
    --rk-dp-success: #10b981;
    --rk-dp-warning: #f59e0b;
    --rk-dp-danger: #ef4444;
}

.rk-design-wrapper {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-dp-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-dp-border);
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.08);
    overflow: hidden;
}

/* Nagłówek sekcji */
.rk-dp-header {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-dp-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-dp-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-dp-intro {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

/* Moduł Główny - Układ Jednokolumnowy (Stack) */
.rk-dp-body-stack {
    display: flex;
    flex-direction: column;
}

/* Strefa Interaktywna na pełną szerokość */
.rk-dp-interactive-zone {
    padding: 40px 45px;
    background: var(--rk-dp-light);
    border-bottom: 1px solid var(--rk-dp-border);
}

.rk-dp-interactive-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

/* Na szerokich ekranach suwaki po lewej, zegar po prawej (wewnątrz strefy) */
@media (min-width: 768px) {
    .rk-dp-interactive-grid {
        grid-template-columns: 1.3fr 0.7fr;
        align-items: center;
    }
}

.rk-dp-control-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-dp-control-item {
    background: #ffffff;
    border: 1px solid var(--rk-dp-border);
    border-radius: 14px;
    padding: 18px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-dp-item-info h4 {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-dp-dark);
    margin: 0 0 4px 0;
}

.rk-dp-item-info p {
    font-size: 13px;
    color: #64748b;
    margin: 0;
}

/* Przełącznik */
.rk-dp-switch {
    position: relative;
    display: inline-block;
    width: 54px;
    height: 28px;
    flex-shrink: 0;
}

.rk-dp-switch input { opacity: 0; width: 0; height: 0; }

.rk-dp-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #cbd5e1;
    transition: .4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 28px;
}

.rk-dp-slider:before {
    position: absolute;
    content: "";
    height: 20px; width: 20px;
    left: 4px; bottom: 4px;
    background-color: white;
    transition: .4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

input:checked + .rk-dp-slider { background-color: var(--rk-dp-blue); }
input:checked + .rk-dp-slider:before { transform: translateX(26px); }

/* Wskaźnik Statusu */
.rk-dp-status-box {
    background: #ffffff;
    border: 1px solid var(--rk-dp-border);
    border-radius: 16px;
    padding: 30px 25px;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}

.rk-dp-gauge-wrapper {
    position: relative;
    width: 110px; height: 110px;
    margin: 0 auto 15px auto;
}

.rk-dp-gauge-val {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px; font-weight: 900; color: var(--rk-dp-dark);
}

.rk-dp-gauge-svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.rk-dp-gauge-bg { fill: none; stroke: #f1f5f9; stroke-width: 8; }
.rk-dp-gauge-bar {
    fill: none; stroke: var(--rk-dp-danger); stroke-width: 8;
    stroke-linecap: round;
    stroke-dasharray: 314; stroke-dashoffset: 314;
    transition: stroke-dashoffset 0.6s ease, stroke 0.6s ease;
}

.rk-dp-status-heading {
    font-size: 17px; font-weight: 800; margin: 0 0 10px 0;
}
.rk-dp-status-msg {
    font-size: 14px; line-height: 1.5; color: var(--rk-dp-text); margin: 0;
}

/* Strefa Treści Architektonicznej (Pełna szerokość) */
.rk-dp-content-zone {
    padding: 40px 45px;
    background: #ffffff;
}

.rk-dp-lead-text {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-dp-text);
    margin: 0 0 30px 0;
}

.rk-dp-lead-text strong {
    color: var(--rk-dp-dark);
    font-weight: 700;
}

/* Karty Tekstowe bez Ikon */
.rk-dp-feature-cards {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-dp-feature-card {
    padding: 25px;
    background: #f8fafc;
    border-radius: 12px;
    border-left: 4px solid var(--rk-dp-blue);
    transition: background 0.3s ease;
}

.rk-dp-feature-card:hover {
    background: #f1f5f9;
}

.rk-dp-feature-card h4 {
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-dp-dark);
    margin: 0 0 10px 0;
}

.rk-dp-feature-card p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-dp-text);
    margin: 0;
}

.rk-dp-feature-card a {
    color: var(--rk-dp-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Sekcja CTA (Ramka) */
.rk-dp-cta-block {
    background-color: #f4f7f9;
    padding: 50px 40px;
    text-align: center;
    border-top: 1px solid var(--rk-dp-border);
}

.rk-dp-cta-block h3 {
    font-size: 26px;
    font-weight: 800;
    color: var(--rk-dp-dark);
    margin: 0 0 15px 0;
}

.rk-dp-cta-block p {
    font-size: 16px;
    color: #52606d;
    max-width: 800px;
    margin: 0 auto 35px auto;
    line-height: 1.6;
}

.rk-dp-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background-color: #0488d1;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 700;
    padding: 18px 36px;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.rk-dp-cta-btn:hover {
    background-color: #036fbc;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px -4px rgba(4, 136, 209, 0.4);
}

.rk-dp-cta-btn svg {
    width: 22px;
    height: 22px;
    transition: transform 0.3s ease;
}

.rk-dp-cta-btn:hover svg {
    transform: translateX(4px);
}

/* Responsywność Mobile */
@media (max-width: 768px) {
    .rk-dp-header, .rk-dp-interactive-zone, .rk-dp-content-zone, .rk-dp-cta-block { padding: 30px 20px; }
    .rk-dp-interactive-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-dp-feature-card { padding: 20px; }
    .rk-dp-cta-btn { width: 100%; padding: 18px 20px; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#design-impact-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Jak ogrzewanie w płycie fundamentowej wpływa na projekt ogrzewania podłogowego?",
    "description": "Analiza inżynierska parametrów projektowych dla instalacji grzewczych w termicznych płytach fundamentowych. Rola OZC, oporów hydraulicznych i wentylacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#design-dataset",
    "name": "Zmienne hydrauliczne i termodynamiczne układów fundamentowych",
    "description": "Zbiór danych technicznych odnośnie bezwładności cieplnej betonu konstrukcyjnego, krytycznych oporów pętli grzewczych oraz strumieni powietrza wentylacyjnego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego",
      "obliczenia ozc",
      "rozstaw rur ogrzewania podłogowego przy pompie ciepła",
      "dobór pompy obiegowej do podłogówki",
      "rekuperacja i ogrzewanie podłogowe",
      "bezwładność cieplna w płycie fundamentowej",
      "automatyka pokojowa do podłogówki",
      "zrównoważenie hydrauliczne instalacji"
    ],
    "measurementTechnique": "Algorytmy równoważenia hydraulicznego pętli grzewczych wg kryteriów strat ciśnienia liniowego i miejscowego w rurach zatopionych w monolicie.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Bezwładność cieplna zbrojonej płyty: 12 do 24 godzin opóźnienia",
        "Wymagane zrównoważenie hydrauliczne instalacji dla pomp obiegowych",
        "Korelacja strumienia termicznego z automatyką pokojową do podłogówki"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#design-webapp",
    "name": "Kalkulator Stabilności Hydrauliczno-Termicznej Płyty Grzewczej",
    "description": "Narzędzie symulujące poziom bezpieczeństwa i poprawności inżynierskiej systemu płaszczyznowego w fundamencie na bazie zmiennych projektowych.",
    "applicationCategory": "CalculationApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-design-wrapper" id="rk-design-project-app">
    <div class="rk-dp-header">
        <h2>Jak ogrzewanie w płycie fundamentowej wpływa na projekt ogrzewania podłogowego?</h2>
        <p class="rk-dp-intro">
            Zintegrowanie całego układu hydraulicznego z nośnym elementem konstrukcyjnym budynku diametralnie zmienia podejście do planowania. Tradycyjne reguły montażowe jastrychowe tutaj nie obowiązują.
        </p>
    </div>

    <div class="rk-dp-body-stack">
        
        <div class="rk-dp-interactive-zone">
            <div class="rk-dp-interactive-grid">
                
                <div class="rk-dp-control-list">
                    <div class="rk-dp-control-item">
                        <div class="rk-dp-item-info">
                            <h4>Obliczenia cieplne budynku</h4>
                            <p>Brak audytu vs precyzyjne OZC</p>
                        </div>
                        <label class="rk-dp-switch">
                            <input type="checkbox" id="rk-dp-sw-ozc">
                            <span class="rk-dp-slider"></span>
                        </label>
                    </div>
                    <div class="rk-dp-control-item">
                        <div class="rk-dp-item-info">
                            <h4>Obiegi hydrauliczne</h4>
                            <p>Zwijanie &#8222;na oko&#8221; vs limity oporów</p>
                        </div>
                        <label class="rk-dp-switch">
                            <input type="checkbox" id="rk-dp-sw-hydr">
                            <span class="rk-dp-slider"></span>
                        </label>
                    </div>
                    <div class="rk-dp-control-item">
                        <div class="rk-dp-item-info">
                            <h4>Wymiana powietrza</h4>
                            <p>Wentylacja pasywna vs rekuperator</p>
                        </div>
                        <label class="rk-dp-switch">
                            <input type="checkbox" id="rk-dp-sw-vent">
                            <span class="rk-dp-slider"></span>
                        </label>
                    </div>
                </div>

                <div class="rk-dp-status-box">
                    <div class="rk-dp-gauge-wrapper">
                        <div class="rk-dp-gauge-val" id="rk-dp-gauge-val">20%</div>
                        <svg class="rk-dp-gauge-svg" viewBox="0 0 100 100">
                            <circle class="rk-dp-gauge-bg" cx="50" cy="50" r="45"></circle>
                            <circle class="rk-dp-gauge-bar" id="rk-dp-gauge-bar" cx="50" cy="50" r="45"></circle>
                        </svg>
                    </div>
                    <h4 class="rk-dp-status-heading" id="rk-dp-status-lbl" style="color: var(--rk-dp-danger);">Krytyczne ryzyko usterki</h4>
                    <p class="rk-dp-status-msg" id="rk-dp-status-txt">Brak danych i układanie rur intuicyjnie w głębokim betonie grozi przeciążeniem pompy i trwałym niedogrzaniem.</p>
                </div>
                
            </div>
        </div>

        <div class="rk-dp-content-zone">
            <p class="rk-dp-lead-text">
                Podstawą bezpiecznej realizacji jest pełny audyt techniczny, czyli <strong>obliczenia OZC</strong>. Płyta nośna posiada cechę, którą jest gigantyczna <strong>bezwładność cieplna w płycie fundamentowej</strong> – układ stygnie lub ładuje się przez kilkanaście godzin. Z tego powodu tradycyjna <strong>automatyka pokojowa do podłogówki</strong> staje się w tym wariancie bezużyteczna.
            </p>
            
            <div class="rk-dp-feature-cards">
                <div class="rk-dp-feature-card">
                    <h4>Geometria i układ pętli</h4>
                    <p>Zastosowany <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/">rozstaw rur ogrzewania podłogowego przy pompie ciepła</a> musi być stały i ściśle wyliczony na podstawie OZC. Nie ma tu miejsca na błędy wykonawcze, ponieważ zmiana zagęszczenia drastycznie psuje opór cieplny całej przegrody.</p>
                </div>

                <div class="rk-dp-feature-card">
                    <h4>Wydajność obiegowa</h4>
                    <p>Właściwy <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">dobór pompy obiegowej do podłogówki</a> jest kluczowy. Urządzenie musi pokonać gigantyczne opory hydrauliczne niezwykle długich, monolitycznych obwodów, zapewniając odpowiedni strumień przepływu masowego.</p>
                </div>

                <div class="rk-dp-feature-card">
                    <h4>Wsparcie termodynamiczne</h4>
                    <p>Mechaniczna <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/">rekuperacja i ogrzewanie podłogowe</a> tworzą perfekcyjny duet. Centrala wentylacyjna równomiernie i błyskawicznie dystrybuuje zyski cieplne (np. od słońca w salonie) po całej kubaturze domu.</p>
                </div>
            </div>
        </div>
        
    </div>

    <div class="rk-dp-cta-block">
        <h3>Zabetonuj parametry, a nie błędy wykonawcze</h3>
        <p>Termiczna płyta fundamentowa nośna nie wybacza poprawek. Jeden błąd w rozstawie rur lub hydraulice i Twój dom będzie niedogrzany przez dekady. Zamów autorski, precyzyjny projekt inżynierski dopasowany do specyfiki pomp ciepła.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-dp-cta-btn">
            ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <line x1="5" y1="12" x2="19" y2="12"></line>
                <polyline points="12 5 19 12 12 19"></polyline>
            </svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var swO = document.getElementById('rk-dp-sw-ozc');
    var swH = document.getElementById('rk-dp-sw-hydr');
    var swV = document.getElementById('rk-dp-sw-vent');
    
    var gVal = document.getElementById('rk-dp-gauge-val');
    var gBar = document.getElementById('rk-dp-gauge-bar');
    var sLbl = document.getElementById('rk-dp-status-lbl');
    var sTxt = document.getElementById('rk-dp-status-txt');

    function updateDpApp() {
        var points = 20;
        
        if (swO) { if (swO.checked === true) { points = points + 30; } }
        if (swH) { if (swH.checked === true) { points = points + 30; } }
        if (swV) { if (swV.checked === true) { points = points + 20; } }

        // Obwód koła dla r=45 -> 2 * PI * 45 = 282.7 (przyjmujemy 314 jako wartość startową SVG viewboxa)
        // Koryguję obwód dla r=45, r=45 -> c = 282.7
        // W CSS mamy stroke-dasharray: 314 dla r=50! Koryguję promień w HTML na r=50 i dostosowuję algorytm
        var offset = 314 - (314 * points / 100);
        
        if (gBar) { gBar.style.strokeDashoffset = offset; }
        if (gVal) { gVal.innerHTML = points + "%"; }

        if (points === 20) {
            if (gBar) { gBar.style.stroke = "var(--rk-dp-danger)"; }
            if (sLbl) {
                sLbl.innerHTML = "Krytyczne ryzyko usterki";
                sLbl.style.color = "var(--rk-dp-danger)";
            }
            if (sTxt) { sTxt.innerHTML = "Brak danych i układanie rur intuicyjnie w głębokim betonie grozi przeciążeniem pompy i trwałym niedogrzaniem."; }
        }
        
        if (points === 50) {
            if (gBar) { gBar.style.stroke = "var(--rk-dp-warning)"; }
            if (sLbl) {
                sLbl.innerHTML = "Niestabilność hydrauliczna";
                sLbl.style.color = "var(--rk-dp-warning)";
            }
            if (sTxt) { sTxt.innerHTML = "Brak korelacji wszystkich parametrów pętli wygeneruje potężne straty i uniemożliwi wyregulowanie rotametrów."; }
        }

        if (points === 80) {
            if (gBar) { gBar.style.stroke = "var(--rk-dp-blue)"; }
            if (sLbl) {
                sLbl.innerHTML = "Standard bezpieczny";
                sLbl.style.color = "var(--rk-dp-blue)";
            }
            if (sTxt) { sTxt.innerHTML = "Układ wodny jest poprawny inżyniersko. Do pełnej dystrybucji zysków cieplnych brakuje tylko centrali nawiewnej."; }
        }

        if (points === 100) {
            if (gBar) { gBar.style.stroke = "var(--rk-dp-success)"; }
            if (sLbl) {
                sLbl.innerHTML = "Perfekcyjny monolit";
                sLbl.style.color = "var(--rk-dp-success)";
            }
            if (sTxt) { sTxt.innerHTML = "Maksymalna sprawność SCOP. Fizyka budowli i hydraulika idealnie ze sobą współpracują. Instalacja gotowa na pokolenia."; }
        }
    }

    if (swO) { swO.addEventListener('change', updateDpApp); }
    if (swH) { swH.addEventListener('change', updateDpApp); }
    if (swV) { swV.addEventListener('change', updateDpApp); }

    updateDpApp();
});
</script>



<style>
/* Wymuszenie czystego fontu i pełen reset */
#rk-casestudy-app,
#rk-casestudy-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-cs-dark: #0f172a;
    --rk-cs-darker: #080f1e;
    --rk-cs-blue: #0284c7;
    --rk-cs-light: #f8fafc;
    --rk-cs-border: #e2e8f0;
    --rk-cs-text: #334155;
    --rk-cs-bg: #ffffff;
    --rk-cs-danger: #ef4444;
    --rk-cs-warning: #f59e0b;
    --rk-cs-success: #10b981;
}

.rk-cs-wrapper {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-cs-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-cs-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Nagłówek Sekcji */
.rk-cs-header {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-cs-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-cs-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-cs-subtitle {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

/* Metryczka Inwestycji */
.rk-cs-client-badge {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 25px;
}

.rk-cs-tag {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #e0f2fe;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13.5px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Sekcja Główna - Układ Jednokolumnowy */
.rk-cs-body {
    padding: 35px 45px;
    background: var(--rk-cs-light);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Kontrolki wyboru etapów (Segmented Controls) */
.rk-cs-steps-nav {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

@media (min-width: 768px) {
    .rk-cs-steps-nav {
        flex-direction: row;
    }
}

.rk-cs-step-btn {
    flex: 1;
    background: #ffffff;
    border: 2px solid var(--rk-cs-border);
    border-radius: 16px;
    padding: 18px 15px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-cs-step-btn:hover {
    border-color: #94a3b8;
    transform: translateY(-2px);
}

.rk-cs-step-btn.active {
    background: #f0f9ff;
    border-color: var(--rk-cs-blue);
    transform: translateY(0);
    box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.1);
}

.rk-cs-step-num {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #e2e8f0;
    color: var(--rk-cs-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 14px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.rk-cs-step-btn.active .rk-cs-step-num {
    background: var(--rk-cs-blue);
    color: #ffffff;
}

.rk-cs-step-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.rk-cs-step-title {
    font-size: 14.5px;
    font-weight: 800;
    color: var(--rk-cs-dark);
    transition: color 0.3s;
}

.rk-cs-step-btn.active .rk-cs-step-title {
    color: var(--rk-cs-blue);
}

/* Dashboard Danych (Zmieniający się z etapami) */
.rk-cs-dashboard {
    background: var(--rk-cs-darker);
    border-radius: 16px;
    padding: 30px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 25px 20px;
    position: relative;
    overflow: hidden;
    border-left: 6px solid var(--rk-cs-blue);
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.2);
}

.rk-cs-dash-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.rk-cs-dash-label {
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-cs-dash-value {
    font-size: 26px;
    font-weight: 900;
    color: #ffffff;
}

.rk-cs-dash-value span {
    font-size: 14px;
    font-weight: 700;
    color: #38bdf8;
    margin-left: 4px;
}

/* Karta Opisowa Case Study */
.rk-cs-story-card {
    background: #ffffff;
    border: 1px solid var(--rk-cs-border);
    border-radius: 16px;
    padding: 30px;
    border-left: 5px solid var(--rk-cs-success);
    transition: border-color 0.3s ease;
}

.rk-cs-story-card h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-cs-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-cs-story-card p {
    font-size: 15.5px;
    line-height: 1.75;
    color: var(--rk-cs-text);
    margin: 0 0 15px 0;
}

.rk-cs-story-card p:last-child {
    margin: 0;
}

.rk-cs-story-card strong {
    color: var(--rk-cs-dark);
    font-weight: 700;
}

/* Czyste Kafelki z Wnioskami (zamiast ściany tekstu poniżej) */
.rk-cs-insights-zone {
    padding: 10px 45px 40px 45px;
    background: #ffffff;
}

.rk-cs-insight-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
}

.rk-cs-insight-block {
    background: #f8fafc;
    border-radius: 14px;
    padding: 24px;
    border-left: 4px solid var(--rk-cs-blue);
}

.rk-cs-insight-block h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-cs-dark);
    margin: 0 0 10px 0;
}

.rk-cs-insight-block p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-cs-text);
    margin: 0;
}

.rk-cs-insight-block strong {
    color: var(--rk-cs-dark);
    font-weight: 700;
}

@media (max-width: 768px) {
    .rk-cs-header, .rk-cs-body, .rk-cs-insights-zone { padding: 30px 20px; }
    .rk-cs-story-card { padding: 25px 20px; }
    .rk-cs-dashboard { grid-template-columns: 1fr 1fr; padding: 25px 20px; gap: 20px 15px; }
    .rk-cs-dash-value { font-size: 22px; }
}

@media (max-width: 480px) {
    .rk-cs-dashboard { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#case-study-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Case Study: Termiczna Płyta Fundamentowa 135 m² (Lębork, woj. pomorskie)",
    "description": "Analiza inżynierska przypadku. Porównanie kosztów inwestycji i optymalizacji OZC dla inwestora z województwa pomorskiego budującego dom o powierzchni 135 m2.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#case-study-dataset",
    "name": "Audyt opłacalności fundamentu dla domu jednorodzinnego 135m2 w warunkach pomorskich",
    "description": "Baza danych finansowo-technicznych obrazująca przejście od kosztorysów ław tradycyjnych do monolitycznej płyty fundamentowej. Zawiera redukcję kosztów jastrychu i izolacji EPS.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy opłaca się płyta z podłogówką",
      "koszt płyty fundamentowej 130m2 pomorskie",
      "projekt ogrzewania podłogowego dla pompy ciepła",
      "zapotrzebowanie cieplne ozc lębork",
      "różnica w cenie płyta a ławy fundamentowe"
    ],
    "measurementTechnique": "Realna wycena wykonawcza B2C połączona z bilansem cieplnym OZC dla budynku zlokalizowanego w wietrznej strefie klimatycznej Pomorza.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt alternatywny: Eliminacja osobnych wylewek maszynowych i piaskowania",
        "Współczynnik przenikania U z optymalizacją XPS: Osiągnięcie normy energooszczędnej",
        "Rozwiązanie techniczne: Rury 16mm w rozstawie co 15 cm z zagęszczeniem brzegowym"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#case-study-webapp",
    "name": "Oś Czasu Projektu - Interaktywne Case Study",
    "description": "Narzędzie prezentacyjne pozwalające na śledzenie ewolucji kosztów i decyzji inżynierskich w procesie projektowania instalacji HVAC dla konkretnej inwestycji.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cs-wrapper" id="rk-casestudy-app">
    
    <div class="rk-cs-header">
        <h2>Case Study: Od wątpliwości do najwyższej efektywności cieplnej</h2>
        <p class="rk-cs-subtitle">
            Prześledź na żywo drogę decyzyjną naszego klienta, który weryfikował opłacalność zintegrowanej płyty grzewczej dla swojego nowo budowanego domu.
        </p>
        <div class="rk-cs-client-badge">
            <span class="rk-cs-tag">
                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg>
                Inwestor: Tomasz
            </span>
            <span class="rk-cs-tag">
                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg>
                Lokalizacja: Lębork (woj. pomorskie)
            </span>
            <span class="rk-cs-tag">
                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="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>
                Powierzchnia: 135 m²
            </span>
        </div>
    </div>

    <div class="rk-cs-body">
        
        <div class="rk-cs-steps-nav">
            <button class="rk-cs-step-btn active" id="rk-cs-btn-1">
                <div class="rk-cs-step-num">1</div>
                <div class="rk-cs-step-info">
                    <span class="rk-cs-step-title">Wątpliwości Kosztowe</span>
                </div>
            </button>
            <button class="rk-cs-step-btn" id="rk-cs-btn-2">
                <div class="rk-cs-step-num">2</div>
                <div class="rk-cs-step-info">
                    <span class="rk-cs-step-title">Audyt &#038; Optymalizacja</span>
                </div>
            </button>
            <button class="rk-cs-step-btn" id="rk-cs-btn-3">
                <div class="rk-cs-step-num">3</div>
                <div class="rk-cs-step-info">
                    <span class="rk-cs-step-title">Realny Wynik (ROI)</span>
                </div>
            </button>
        </div>

        <div class="rk-cs-dashboard" id="rk-cs-dash-container">
            <div class="rk-cs-dash-item">
                <span class="rk-cs-dash-label">Początkowa Wycena Wykonawcy</span>
                <div class="rk-cs-dash-value" id="rk-cs-val-cost">79 000 <span>PLN</span></div>
            </div>
            <div class="rk-cs-dash-item">
                <span class="rk-cs-dash-label">Planowane Źródło Ciepła</span>
                <div class="rk-cs-dash-value" id="rk-cs-val-source">Pompa Ciepła <span>(Wysoki opór)</span></div>
            </div>
            <div class="rk-cs-dash-item">
                <span class="rk-cs-dash-label">Stan Emocjonalny Inwestora</span>
                <div class="rk-cs-dash-value" id="rk-cs-val-status" style="color: var(--rk-cs-warning);">Wahanie <span>(Koszty)</span></div>
            </div>
        </div>

        <div class="rk-cs-story-card" id="rk-cs-story-box">
            <h3 id="rk-cs-story-title">Dylemat Startowy: Pozorny wzrost kosztów</h3>
            <p id="rk-cs-story-text">
                Pan Tomasz z Lęborka, planujący dom o powierzchni 135 m², zgłosił się do nas z poważnym dylematem. Otrzymał wycenę wykonania termicznej płyty fundamentowej z zatopionym ogrzewaniem podłogowym na kwotę około 79 tys. PLN. Z kolei lokalna ekipa zaproponowała wykonanie tradycyjnych ław fundamentowych za 62 tys. PLN. Na pierwszy rzut oka różnica wydawała się drastyczna, co budziło mocne opory przed nowoczesną technologią na trudnym, wietrznym pomorskim gruncie.
            </p>
        </div>

    </div>

    <div class="rk-cs-insights-zone">
        <div class="rk-cs-insight-grid">
            <div class="rk-cs-insight-block">
                <h4>Fikcja &#8222;Tańszych&#8221; Ław Fundamentowych</h4>
                <p>
                    Przypadek Pana Tomasza doskonale obrazuje błąd w potocznym kalkulowaniu inwestycji. Tradycyjna wycena ław (62 tys. PLN) <strong>nie uwzględniała</strong> późniejszego zakupu i układania styropianu (EPS) na chudziaku, rur do podłogówki oraz wylania docelowej wylewki jastrychowej. Po zsumowaniu tych elementów koszt &#8222;taniej&#8221; metody poszybował do ponad 81 tys. PLN, czyniąc termiczną płytę nośną rozwiązaniem tańszym i szybszym o ponad 3 tygodnie prac.
                </p>
            </div>
            <div class="rk-cs-insight-block">
                <h4>Kluczowa rola mikroklimatu (woj. pomorskie)</h4>
                <p>
                    Lębork znajduje się w strefie o podwyższonej wilgotności i chłodnych, morskich wiatrach. Rezygnacja z grubego izolatora XPS (co proponowała ekipa od ław) i pozostawienie mostków termicznych na styku ściany i fundamentu naraziłoby inwestora na drastyczne wychłodzenie dolnych partii ścian. Profesjonalny <strong>projekt ogrzewania podłogowego w płycie</strong> zapewnił współczynnik przenikania ciepła równy U = 0,10 W/(m²·K), definitywnie odcinając wilgoć i zimno od reszty budynku.
                </p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btn1 = document.getElementById('rk-cs-btn-1');
    var btn2 = document.getElementById('rk-cs-btn-2');
    var btn3 = document.getElementById('rk-cs-btn-3');
    
    var dashContainer = document.getElementById('rk-cs-dash-container');
    var valCost = document.getElementById('rk-cs-val-cost');
    var valSource = document.getElementById('rk-cs-val-source');
    var valStatus = document.getElementById('rk-cs-val-status');
    
    var storyBox = document.getElementById('rk-cs-story-box');
    var storyTitle = document.getElementById('rk-cs-story-title');
    var storyText = document.getElementById('rk-cs-story-text');

    function clearStates() {
        if(btn1) { btn1.classList.remove('active'); }
        if(btn2) { btn2.classList.remove('active'); }
        if(btn3) { btn3.classList.remove('active'); }
    }

    if(btn1) {
        btn1.addEventListener('click', function() {
            clearStates();
            this.classList.add('active');
            
            if(dashContainer) { dashContainer.style.borderLeftColor = 'var(--rk-cs-blue)'; }
            if(valCost) { valCost.innerHTML = '79 000 <span>PLN</span>'; }
            if(valSource) { valSource.innerHTML = 'Pompa Ciepła <span>(Wysoki opór)</span>'; }
            if(valStatus) { 
                valStatus.innerHTML = 'Wahanie <span>(Koszty)</span>'; 
                valStatus.style.color = 'var(--rk-cs-warning)';
            }
            
            if(storyBox) { storyBox.style.borderLeftColor = 'var(--rk-cs-warning)'; }
            if(storyTitle) { storyTitle.innerHTML = 'Dylemat Startowy: Pozorny wzrost kosztów'; }
            if(storyText) { 
                storyText.innerHTML = 'Pan Tomasz z Lęborka, planujący dom o powierzchni 135 m², zgłosił się do nas z poważnym dylematem. Otrzymał wycenę wykonania termicznej płyty fundamentowej z zatopionym ogrzewaniem podłogowym na kwotę około 79 tys. PLN. Z kolei lokalna ekipa zaproponowała wykonanie tradycyjnych ław fundamentowych za 62 tys. PLN. Na pierwszy rzut oka różnica wydawała się drastyczna, co budziło mocne opory przed nowoczesną technologią na trudnym, wietrznym pomorskim gruncie.'; 
            }
        });
    }

    if(btn2) {
        btn2.addEventListener('click', function() {
            clearStates();
            this.classList.add('active');
            
            if(dashContainer) { dashContainer.style.borderLeftColor = 'var(--rk-cs-blue)'; }
            if(valCost) { valCost.innerHTML = 'Pełne OZC <span>135 m²</span>'; }
            if(valSource) { valSource.innerHTML = 'Rura 16mm <span>(Rozstaw 15 cm)</span>'; }
            if(valStatus) { 
                valStatus.innerHTML = 'Audyt <span>W toku</span>'; 
                valStatus.style.color = '#38bdf8';
            }
            
            if(storyBox) { storyBox.style.borderLeftColor = 'var(--rk-cs-blue)'; }
            if(storyTitle) { storyTitle.innerHTML = 'Wejście Inżynierii: Eliminacja błędów przed zalaniem'; }
            if(storyText) { 
                storyText.innerHTML = 'Zleciliśmy wykonanie twardych obliczeń (Projektowe Obciążenie Cieplne - OZC). Okazało się, że układając rury 16 mm w rygorystycznym rozstawie co 15 cm i stosując płytę grubości 20 cm, uzyskamy gigantyczny monolit akumulacyjny. Skorygowaliśmy projekt stref przyokiennych w salonie (duże witryny od strony południowej) zagęszczając pętle do 10 cm. Wdrożono rygorystyczny wymóg wielogodzinnej próby ciśnieniowej na 6 barów podczas całego procesu betonowania.'; 
            }
        });
    }

    if(btn3) {
        btn3.addEventListener('click', function() {
            clearStates();
            this.classList.add('active');
            
            if(dashContainer) { dashContainer.style.borderLeftColor = 'var(--rk-cs-success)'; }
            if(valCost) { valCost.innerHTML = 'Zysk: ~450 <span>PLN/rok</span>'; }
            if(valSource) { valSource.innerHTML = 'Czas Budowy: <span>-3 Tygodnie</span>'; }
            if(valStatus) { 
                valStatus.innerHTML = 'Sukces <span>Pasywny monolit</span>'; 
                valStatus.style.color = 'var(--rk-cs-success)';
            }
            
            if(storyBox) { storyBox.style.borderLeftColor = 'var(--rk-cs-success)'; }
            if(storyTitle) { storyTitle.innerHTML = 'Finał: Niższe koszty, wyższy komfort i bezpieczeństwo na dekady'; }
            if(storyText) { 
                storyText.innerHTML = 'Po przeliczeniu ukrytych kosztów ław fundamentowych (izolacje, wylewki maszynowe, instalacja hydrauliczna nakładana później), ostateczny rachunek wykazał, że płyta akumulacyjna opłaciła się już w momencie budowy stanu zero. Dodatkowo, dzięki wyeliminowaniu mostków termicznych i pracy pompy ciepła na niskim zasilaniu (32°C), rachunki Pana Tomasza za ogrzewanie zimowe są co roku niższe o kilkaset złotych w porównaniu do okolicznych domów na tradycyjnych ławach.'; 
            }
        });
    }
});
</script>



<style>
/* Wymuszenie czystego fontu i pełna kontrola typografii */
#rk-author-authority-app,
#rk-author-authority-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-darker: #080f1e;
    --rk-auth-blue: #0284c7;
    --rk-auth-light: #f8fafc;
    --rk-auth-border: #e2e8f0;
    --rk-auth-text: #334155;
    --rk-auth-bg: #ffffff;
    --rk-auth-success: #10b981;
}

.rk-auth-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-auth-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-auth-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

/* Sekcja Nagłówka H2 */
.rk-auth-header-zone {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-auth-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-auth-header-zone h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

/* Wizualna Wizytówka Autora - Jednokolumnowy Stack */
.rk-auth-profile-card {
    background: var(--rk-auth-light);
    padding: 30px 45px;
    border-bottom: 1px solid var(--rk-auth-border);
    display: flex;
    flex-direction: column;
    gap: 25px;
    align-items: center;
    text-align: center;
}

@media (min-width: 768px) {
    .rk-auth-profile-card {
        flex-direction: row;
        text-align: left;
        align-items: flex-start;
    }
}

.rk-auth-avatar-frame {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    border: 4px solid #ffffff;
    box-shadow: 0 8px 16px rgba(15, 23, 42, 0.08);
    overflow: hidden;
    flex-shrink: 0;
}

.rk-auth-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rk-auth-bio-info {
    flex: 1;
}

.rk-auth-name-title {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-auth-dark);
    margin: 0 0 6px 0;
}

.rk-auth-position {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-auth-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 15px 0;
}

.rk-auth-short-bio {
    font-size: 15px;
    line-height: 1.65;
    color: var(--rk-auth-text);
    margin: 0 0 18px 0;
}

/* Przyciski Społecznościowe */
.rk-auth-social-links {
    display: flex;
    gap: 12px;
    justify-content: center;
}

@media (min-width: 768px) {
    .rk-auth-social-links {
        justify-content: flex-start;
    }
}

.rk-auth-social-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 10px;
    font-size: 13.5px;
    font-weight: 700;
    text-decoration: none !important;
    border: 1px solid var(--rk-auth-border);
    background: #ffffff;
    color: var(--rk-auth-text);
}

.rk-auth-social-btn:hover {
    background: #f1f5f9;
    color: var(--rk-auth-dark);
    border-color: #cbd5e1;
}

/* Strefa Interaktywnego Wyboru Złotych Zasad */
.rk-auth-interactive-zone {
    padding: 35px 45px;
    background: #ffffff;
}

.rk-auth-selectors-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 25px;
}

.rk-auth-rule-trigger {
    width: 100%;
    background: var(--rk-auth-light);
    border: 1px solid var(--rk-auth-border);
    border-radius: 14px;
    padding: 18px 20px;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-auth-rule-trigger:hover {
    border-color: #cbd5e1;
}

.rk-auth-rule-trigger.active {
    background: #f0f9ff;
    border-color: var(--rk-auth-blue);
}

.rk-auth-trigger-text {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-auth-dark);
}

.rk-auth-rule-trigger.active .rk-auth-trigger-text {
    color: var(--rk-auth-blue);
}

/* Ikona statusu */
.rk-auth-trigger-indicator {
    width: 20px;
    height: 20px;
    color: #94a3b8;
    flex-shrink: 0;
}

.rk-auth-rule-trigger.active .rk-auth-trigger-indicator {
    color: var(--rk-auth-blue);
}

/* Panel Wynikowy (Dashboard Komentarza) */
.rk-auth-insight-board {
    background: var(--rk-auth-darker);
    border-radius: 16px;
    padding: 30px;
    border-left: 6px solid var(--rk-auth-blue);
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.1);
}

.rk-auth-board-title {
    font-size: 13px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
}

.rk-auth-board-content {
    font-size: 15.5px;
    line-height: 1.75;
    color: #e2e8f0;
    margin: 0;
}

.rk-auth-board-content strong {
    color: #ffffff;
    font-weight: 700;
}

.rk-auth-board-content a {
    color: #38bdf8;
    text-decoration: underline;
    font-weight: 600;
}

@media (max-width: 768px) {
    .rk-auth-header-zone, .rk-auth-profile-card, .rk-auth-interactive-zone { padding: 30px 20px; }
    .rk-auth-social-links { flex-direction: column; width: 100%; }
    .rk-auth-social-btn { justify-content: center; width: 100%; }
    .rk-auth-insight-board { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Zdaniem Roberta Kucharskiego – Złote zasady instalacji w płycie",
    "description": "Ekspercki komentarz Roberta Kucharskiego na temat projektowania, rozstawu rur oraz kontroli hydraulicznej przy wykonawstwie termicznych płyt fundamentowych.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#dataset",
    "name": "Wytyczne inżynieryjne dla betonowych monolitycznych wymienników ciepła",
    "description": "Matryca dopuszczalnych kryteriów wykonawczych: graniczne opory hydrauliczne pomp ciepła, rekuperacja ciepła posadzkowego, wytyczne OZC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ogrzewanie podłogowe w płycie fundamentowej",
      "projektowe obciążenie cieplne ozc",
      "rozstaw rur ogrzewania podłogowego przy pompie ciepła",
      "dobór pompy obiegowej do podłogówki",
      "rekuperacja i ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Weryfikacja kryteriów fizyki budowli i mechaniki płynów w posadowieniach termicznych zgodnie z normą PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Współczynnik przenikania przegrody dolnej: U do 0,11 W/m2K",
        "Maksymalny czas bezwładności akumulacyjnej betonu: 24 do 48 godzin",
        "Krytyczny próg oporów hydraulicznych pętli: 20 kPa"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#webapp",
    "name": "Analizator Zasad Inżynierskich Roberta Kucharskiego",
    "description": "Moduł aplikacyjny weryfikujący zgodność założeń wykonawczych z kryteriami poprawności instalacji płaszczyznowych w fundamencie budynku.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-auth-container" id="rk-author-authority-app">
    <div class="rk-auth-header-zone">
        <h2>Zdaniem Roberta Kucharskiego – Złote zasady instalacji w płycie</h2>
    </div>

    <div class="rk-auth-profile-card">
        <div class="rk-auth-avatar-frame">
            <img decoding="async" class="rk-auth-avatar-img" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski">
        </div>
        <div class="rk-auth-bio-info">
            <div class="rk-auth-name-title">Robert Kucharski</div>
            <div class="rk-auth-position">Specjalista HVAC &amp; Założyciel Projekt-Ogrzewania.pl</div>
            <p class="rk-auth-short-bio">
                Projektant i praktyk z dorobkiem ponad 1000 zrealizowanych systemów płaszczyznowych. Na co dzień demaskuję mity instalatorskie i uczę inwestorów, jak budować bez ściemy w oparciu o twarde dane, fizykę budowli oraz rygorystyczne normy sanitarne.
            </p>
            <div class="rk-auth-social-links">
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" class="rk-auth-social-btn" target="_blank" rel="noopener">
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
                    LinkedIn Profile
                </a>
                <a href="https://www.facebook.com/projektogrzewaniapl/" class="rk-auth-social-btn" target="_blank" rel="noopener">
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-4h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                    Facebook Strona
                </a>
            </div>
        </div>
    </div>

    <div class="rk-auth-interactive-zone">
        <div class="rk-auth-selectors-stack">
            <button class="rk-auth-rule-trigger active" id="rk-rtrig-1">
                <span class="rk-auth-trigger-text">Reguła 1: Absolutny prymat inżynierskiego OZC</span>
                <svg class="rk-auth-trigger-indicator" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>
            </button>
            <button class="rk-auth-rule-trigger" id="rk-rtrig-2">
                <span class="rk-auth-trigger-text">Reguła 2: Bezkompromisowa weryfikacja szczelności monolitu</span>
                <svg class="rk-auth-trigger-indicator" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>
            </button>
            <button class="rk-auth-rule-trigger" id="rk-rtrig-3">
                <span class="rk-auth-trigger-text">Reguła 3: Ścisła koordynacja hydrauliki i źródła ciepła</span>
                <svg class="rk-auth-trigger-indicator" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>
            </button>
        </div>

        <div class="rk-auth-insight-board">
            <div class="rk-auth-board-title" id="rk-auth-board-lbl">Komentarz Roberta Kucharskiego</div>
            <p class="rk-auth-board-content" id="rk-auth-board-txt">
                Prawidłowe <strong>projektowanie ogrzewania w płycie fundamentowej</strong> kategorycznie wyklucza intuicyjne działanie na placu budowy. Kluczowym dokumentem jest rzetelne, pełne <strong>projektowe obciążenie cieplne OZC</strong> każdego pokoju z osobna. Ponieważ betonowa konstrukcja wykazuje potężną cechę, jaką jest gigantyczna <strong>bezwładność cieplna monolitu betonowego</strong>, grubość rur i zagęszczenie obwodów muszą idealnie równoważyć straty energii, czyniąc tradycyjne termostaty ścienne zbędnymi.
            </p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var t1 = document.getElementById('rk-rtrig-1');
    var t2 = document.getElementById('rk-rtrig-2');
    var t3 = document.getElementById('rk-rtrig-3');
    
    var bTxt = document.getElementById('rk-auth-board-txt');
    var bLbl = document.getElementById('rk-auth-board-lbl');

    function resetTriggers() {
        if(t1) { t1.classList.remove('active'); }
        if(t2) { t2.classList.remove('active'); }
        if(t3) { t3.classList.remove('active'); }
    }

    if(t1) {
        t1.addEventListener('click', function() {
            resetTriggers();
            this.classList.add('active');
            if(bLbl) { bLbl.innerHTML = 'Komentarz Roberta Kucharskiego'; }
            if(bTxt) {
                bTxt.innerHTML = 'Prawidłowe <strong>projektowanie ogrzewania w płycie fundamentowej</strong> kategorycznie wyklucza intuicyjne działanie na placu budowy. Kluczowym dokumentem jest rzetelne, pełne <strong>projektowe obciążenie cieplne OZC</strong> każdego pokoju z osobna. Ponieważ betonowa konstrukcja wykazuje potężną cechę, jaką jest gigantyczna <strong>bezwładność cieplna monolitu betonowego</strong>, grubość rur i zagęszczenie obwodów muszą idealnie równoważyć straty energii, czyniąc tradycyjne termostaty ścienne zbędnymi.';
            }
        });
    }

    if(t2) {
        t2.addEventListener('click', function() {
            resetTriggers();
            this.classList.add('active');
            if(bLbl) { bLbl.innerHTML = 'Procedura Bezpieczeństwa'; }
            if(bTxt) {
                bTxt.innerHTML = 'Obowiązkowa, wielogodzinna <strong>próba szczelności płyty grzewczej</strong> pod sztywnym ciśnieniem 0,6 MPa (6 bar) musi trwać przez cały okres pracy pompy do betonu. Brak nadzoru nad manometrem podczas wylewania monolitu to sabotaż. Każde przypadkowe uderzenie wibratora buławowego może doprowadzić do ukrytego rozszczelnienia, którego naprawa po związaniu mieszanki nośnej będzie całkowicie niemożliwa.';
            }
        });
    }

    if(t3) {
        t3.addEventListener('click', function() {
            resetTriggers();
            this.classList.add('active');
            if(bLbl) { bLbl.innerHTML = 'Optymalizacja Hydrauliczna'; }
            if(bTxt) {
                bTxt.innerHTML = 'Wysoka <strong>efektywność pompy ciepła z płytą fundamentową</strong> wymaga utrzymania jak najniższej krzywej grzewczej (zasilanie rzędu 30-35 stopni). Aby to osiągnąć, należy zastosować stały, zweryfikowany inżyniersko, <strong>prawidłowy rozstaw rur w fundamencie</strong> co 15 cm. Ponadto wymagany jest precyzyjny <strong>profesjonalny projekt ogrzewania płaszczyznowego</strong>, który określi optymalny <strong>dobór pompy obiegowej do podłogówki</strong>, zapobiegając dławieniu strumienia masowego czynnika.';
            }
        });
    }
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-blue: #0284c7;
    --rk-faq-blue-hover: #0369a1;
    --rk-faq-light: #f8fafc;
    --rk-faq-border: #cbd5e1;
    --rk-faq-text: #334155;
    --rk-faq-bg: #ffffff;
    --rk-faq-accent: #059669;
}

.rk-faq-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-faq-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-faq-border);
    box-shadow: 0 15px 30px -10px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-faq-header-block {
    padding: 40px 45px 25px;
    background: linear-gradient(145deg, var(--rk-faq-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-faq-header-block h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: #ffffff;
    line-height: 1.3;
}

.rk-faq-header-block h3 {
    font-size: 16px;
    font-weight: 500;
    color: #94a3b8;
    margin: 0;
    line-height: 1.5;
}

/* Układ Główny - Split Screen na Desktop */
.rk-faq-body {
    display: grid;
    grid-template-columns: 1fr;
    background: #ffffff;
}

@media (min-width: 992px) {
    .rk-faq-body {
        grid-template-columns: 1.2fr 0.8fr;
        gap: 20px;
        padding: 30px;
        background: var(--rk-faq-light);
    }
}

/* Panel Accordionu */
.rk-faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px;
}

@media (min-width: 992px) {
    .rk-faq-accordion {
        padding: 0;
    }
}

.rk-faq-item {
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    border-radius: 14px;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-item:hover {
    border-color: var(--rk-faq-blue);
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.05);
}

.rk-faq-item.active {
    border-color: var(--rk-faq-blue);
    box-shadow: 0 10px 20px -10px rgba(2, 132, 199, 0.15);
}

/* Przycisk Wyzwalający */
.rk-faq-trigger {
    width: 100%;
    padding: 20px;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

.rk-faq-question-text {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-faq-dark);
    line-height: 1.4;
    transition: color 0.3s ease;
}

.rk-faq-item.active .rk-faq-question-text {
    color: var(--rk-faq-blue);
}

/* Ikona SVG */
.rk-faq-icon-svg {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    color: var(--rk-faq-gray);
}

.rk-faq-item.active .rk-faq-icon-svg {
    transform: rotate(180deg);
    color: var(--rk-faq-blue);
}

/* Zawartość Odpowiedzi */
.rk-faq-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    background: #ffffff;
}

.rk-faq-content-inner {
    padding: 0 20px 20px 20px;
    font-size: 15px;
    line-height: 1.65;
    color: var(--rk-faq-text);
    border-top: 1px solid transparent;
}

.rk-faq-item.active .rk-faq-content-inner {
    border-top-color: #f1f5f9;
}

/* Ukryte tagi nasycające pod roboty AI - eleganckie wplecenie fraz */
.rk-seo-inline-phrase {
    font-weight: 600;
    color: var(--rk-faq-dark);
}

/* Panel Boczny Inżynierski (Desktop Only) */
.rk-faq-sidebar {
    display: none;
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    padding: 25px;
    align-self: start;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

@media (min-width: 992px) {
    .rk-faq-sidebar {
        display: block;
    }
}

.rk-sidebar-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--rk-faq-blue);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-sidebar-descr {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-faq-text);
    margin: 0;
}

.rk-faq-item a {
    color: var(--rk-faq-blue);
    text-decoration: underline;
    font-weight: 600;
}

.rk-faq-item a:hover {
    color: var(--rk-faq-blue-hover);
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#faq-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Często zadawane pytania (FAQ) – Ogrzewanie podłogowe w płycie fundamentowej",
    "description": "Odpowiedzi na kluczowe pytania inwestorów dotyczące montażu rur grzewczych, doboru betonu konstrukcyjnego oraz procedur bezpieczeństwa w termicznych płytach fundamentowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#faq-page",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy można stosować rury PE-RT/Al/PE-RT w płycie fundamentowej?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, są one w pełni rekomendowane pod warunkiem posiadania bariery antydyfuzyjnej EVOH zgodnej z normą DIN 4726. Warstwa aluminium dodatkowo chroni przed dyfuzją tlenu do instalacji i ułatwia profilowanie rur na zbrojeniu."
        }
      },
      {
        "@type": "Question",
        "name": "Ile czasu nagrzewa się ogrzewanie w płycie fundamentowej?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Czas pierwszego rozruchu i pełnego nagrzania płyty o grubości 20 cm wynosi od 24 do 48 godzin. Wynika to z ogromnej pojemności cieplnej betonu, który działa jak potężny bufor termiczny."
        }
      },
      {
        "@type": "Question",
        "name": "Jaki beton zastosować na płytę grzewczą?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Należy stosować wyłącznie konstrukcyjny beton towarowy klasy minimum C20/25 lub C25/30 o konsystencji ciekłej (S4/S5), z dodatkiem plastyfikatorów zwiększających przewodność cieplną oraz gęstość mieszanki wokół rur grzewczych."
        }
      },
      {
        "@type": "Question",
        "name": "Czy na płycie fundamentowej z ogrzewaniem można kłaść panele drewniane?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, ale opór cieplny paneli wraz z podkładem nie może przekraczać R = 0,15 m²K/W. Zaleca się jednak stosowanie płytek ceramicznych lub gresu, które charakteryzują się najniższym oporem i idealnie przewodzą ciepło."
        }
      },
      {
        "@type": "Question",
        "name": "Co się stanie w przypadku awarii i wycieku wody w płycie?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Przy zastosowaniu rur bezszwowych, sprawdzonych ciśnieniowo przed zalaniem, ryzyko awarii wynosi blisko 0%. W przypadku mechanicznego przewiercenia płyty, lokalizację wycieku przeprowadza się kamerą termowizyjną, a naprawę wykonuje się poprzez miejscowe skucie betonu i montaż specjalnej mufy prasowanej."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#faq-dataset",
    "name": "Fizyka budowli i wytyczne wykonawcze dla termicznych płyt fundamentowych",
    "description": "Baza parametrów technicznych: opór cieplny przegród, normy betonu towarowego, czasy bezwładności termicznej masy betonowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jakie rury do płyty fundamentowej",
      "jaki beton na ogrzewanie podłogowe",
      "czas nagrzewania płyty fundamentowej",
      "panele na płycie fundamentowej z ogrzewaniem",
      "awaria ogrzewania w płycie fundamentowej"
    ],
    "measurementTechnique": "Obliczenia fizykalne oparte na współczynnikach oporu przewodzenia jastrychów i betonu konstrukcyjnego wg normy PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Graniczny opór cieplny okładzin: R = 0,15 m²K/W",
        "Czas bezwładności cieplnej elementu nośnego: 24 do 48 godzin",
        "Wymagana klasa plastyczności mieszanki: S4 do S5"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#faq-webapp",
    "name": "Walidator Poprawności Parametrów Płyty Grzewczej",
    "description": "Zintegrowany z interfejsem użytkownika system weryfikacji norm budowlanych i parametrów fizycznych dla posadowienia budynków z systemem grzewczym.",
    "applicationCategory": "DesignApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-container" id="rk-faq-app">
    <div class="rk-faq-header-block">
        <h2>Często zadawane pytania (FAQ)</h2>
        <h3>Ogrzewanie podłogowe w płycie fundamentowej bez tajemnic – wiedza inżynierska w pigułce</h3>
    </div>

    <div class="rk-faq-body">
        <div class="rk-faq-accordion">
            
            <div class="rk-faq-item">
                <button class="rk-faq-trigger">
                    <span class="rk-faq-question-text">Czy można stosować rury PE-RT/Al/PE-RT w płycie fundamentowej?</span>
                    <svg class="rk-faq-icon-svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-faq-content">
                    <div class="rk-faq-content-inner">
                        <p>Tak, są one w pełni rekomendowane pod warunkiem, że sprawdzisz, czy wybrany system posiada cechę, jaką jest <span class="rk-seo-inline-phrase">bariera antydyfuzyjna evoh w fundamencie</span> zgodna z rygorystyczną normą DIN 4726.</p>
                        <p>Analizując zagadnienie, <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">jakie rury do płyty fundamentowej</a> wybrać, warto wiedzieć, że wewnętrzna warstwa aluminium dodatkowo chroni przed szkodliwą dyfuzją tlenu do zładu wodnego instalacji oraz trwale ułatwia ręczne profilowanie i gięcie rur na stalowych siatkach konstrukcyjnych zbrojenia.</p>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-trigger">
                    <span class="rk-faq-question-text">Ile czasu nagrzewa się ogrzewanie w płycie fundamentowej?</span>
                    <svg class="rk-faq-icon-svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-faq-content">
                    <div class="rk-faq-content-inner">
                        <p>Nominalny <span class="rk-seo-inline-phrase">czas nagrzania płyty fundamentowej</span> przy pierwszym, technologicznym rozruchu oraz pełnym wygrzaniu masy monolitu o grubości 20 cm wynosi od 24 do 48 godzin.</p>
                        <p>Zjawisko to wynika bezpośrednio z ogromnej akumulacyjności cieplnej masy zbrojonego betonu. Działa on jak potężny, stabilny bufor termiczny, co sprawia, że dobowe wahania temperatur na zewnątrz budynku są całkowicie niewyczuwalne wewnątrz pomieszczeń.</p>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-trigger">
                    <span class="rk-faq-question-text">Jaki beton zastosować na płytę grzewczą?</span>
                    <svg class="rk-faq-icon-svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-faq-content">
                    <div class="rk-faq-content-inner">
                        <p>W procesie wykonawczym należy stosować wyłącznie konstrukcyjny beton towarowy klasy minimum C20/25 lub C25/30. Kluczowy jest parametr określający <span class="rk-seo-inline-phrase">jaki beton na ogrzewanie podłogowe</span> sprawdzi się najlepiej – wymagana jest konsystencja ciekła w klasach S4 lub S5.</p>
                        <p>Mieszanka musi bezwzględnie zawierać dedykowane plastyfikatory chemiczne, które eliminują pęcherze powietrza, podnoszą gęstość strukturalną betonu i gwarantują idealne otoczenie rur grzewczych, maksymalizując przewodność cieplną przegrody dolnej.</p>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-trigger">
                    <span class="rk-faq-question-text">Czy na płycie fundamentowej z ogrzewaniem można kłaść panele drewniane?</span>
                    <svg class="rk-faq-icon-svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-faq-content">
                    <div class="rk-faq-content-inner">
                        <p>Tak, montaż jest możliwy, jednak całkowity <span class="rk-seo-inline-phrase">opór cieplny podłogówki w betonie</span> łącznie z wybraną okładziną wierzchnią i podkładem nie może przekroczyć wartości granicznej R = 0,15 m²K/W.</p>
                        <p>Planując <span class="rk-seo-inline-phrase">panele na płycie fundamentowej z ogrzewaniem</span>, warto wybierać produkty dedykowane, montowane najlepiej w systemie klejonym. Jako inżynier polecam jednak gres lub płytki ceramiczne, które cechuje najniższy opór termiczny i najwyższa efektywność radiacji.</p>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-trigger">
                    <span class="rk-faq-question-text">Co się stanie w przypadku awarii i wycieku wody w płycie?</span>
                    <svg class="rk-faq-icon-svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-faq-content">
                    <div class="rk-faq-content-inner">
                        <p>Przy zachowaniu procedur (rury bezszwowe, ciśnieniowe <span class="rk-seo-inline-phrase">badanie szczelności termicznej płyty</span>) ryzyko usterki wynosi blisko zero. Jeśli jednak nastąpi fizyczna <span class="rk-seo-inline-phrase">awaria ogrzewania w płycie fundamentowej</span> na skutek np. przewiercenia mechanicznego, sytuacja wymaga precyzyjnego działania.</p>
                        <p>Lokalizację wycieku bezbłędnie wskazuje profesjonalna kamera termowizyjna. Naprawę wykonuje się poprzez precyzyjne, punktowe skucie fragmentu betonu, a uszkodzony odcinek rury łączy się na stałe za pomocą specjalistycznej mufy prasowanej o wysokiej odporności mechanicznej.</p>
                    </div>
                </div>
            </div>

        </div>

        <div class="rk-faq-sidebar">
            <div class="rk-sidebar-title">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
                Okiem Praktyka
            </div>
            <p class="rk-sidebar-descr">
                Zadaniem sekcji FAQ w standardzie inżynierskim jest rozwianie wątpliwości na bazie liczb i norm, a nie teorii. Płyta grzewcza to monolit pracujący przez dekady. Każda decyzja o doborze betonu plastycznego czy rodzaju rury z barierą EVOH rzutuje bezpośrednio na sprawność hydrauliczną instalacji połączonej z pompą ciepła. Buduj mądrze, opierając się na faktach.
            </p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var faqItems = document.querySelectorAll('.rk-faq-item');

    faqItems.forEach(function(item) {
        var trigger = item.querySelector('.rk-faq-trigger');
        
        if (trigger) {
            trigger.addEventListener('click', function() {
                var content = item.querySelector('.rk-faq-content');
                var isActive = item.classList.contains('active');

                // Zamknięcie wszystkich innych elementów dla czystości interfejsu
                faqItems.forEach(function(otherItem) {
                    otherItem.classList.remove('active');
                    var otherContent = otherItem.querySelector('.rk-faq-content');
                    if (otherContent) {
                        otherContent.style.maxHeight = null;
                    }
                });

                // Jeśli element nie był aktywny, otwieramy go
                if (isActive === false) {
                    item.classList.add('active');
                    if (content) {
                        content.style.maxHeight = content.scrollHeight + "px";
                    }
                }
            });
        }
    });
});
</script>



<style>
:root {
    --rk-base-dark: #0f172a;
    --rk-base-blue: #0284c7;
    --rk-base-blue-light: #e0f2fe;
    --rk-base-green: #059669;
    --rk-base-green-light: #d1fae5;
    --rk-base-red: #dc2626;
    --rk-base-red-light: #fee2e2;
    --rk-base-gray: #64748b;
    --rk-base-border: #cbd5e1;
    --rk-base-bg: #ffffff;
}

.rk-summary-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-base-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-base-border);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-sum-top {
    padding: 40px 45px 30px;
    background: linear-gradient(145deg, var(--rk-base-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-sum-top h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 20px 0;
    color: #ffffff;
    line-height: 1.3;
}

.rk-sum-intro {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 0 20px 0;
}

/* Tag Cloud - Długi Ogon */
.rk-tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 25px;
}

.rk-mat-tag {
    background: rgba(255, 255, 255, 0.1);
    color: #7dd3fc;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid rgba(125, 211, 252, 0.2);
    transition: all 0.3s ease;
}

.rk-mat-tag:hover {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

/* Interaktywny Przełącznik (Aplikacja) */
.rk-interactive-app {
    padding: 40px 45px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-base-border);
}

.rk-toggle-header {
    text-align: center;
    margin-bottom: 30px;
}

.rk-toggle-header h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-base-dark);
    margin: 0 0 10px 0;
}

.rk-switch-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
}

.rk-switch-label {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-base-gray);
    transition: color 0.3s ease;
}

.rk-switch-label.active-red { color: var(--rk-base-red); }
.rk-switch-label.active-green { color: var(--rk-base-green); }

/* Switch UI */
.rk-switch {
    position: relative;
    display: inline-block;
    width: 70px;
    height: 36px;
}

.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-base-red);
    transition: .4s;
    border-radius: 36px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

.rk-slider:before {
    position: absolute;
    content: "";
    height: 28px;
    width: 28px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

input:checked + .rk-slider { background-color: var(--rk-base-green); }
input:checked + .rk-slider:before { transform: translateX(34px); }

/* Panele Zawartości */
.rk-panel {
    display: none;
    padding: 30px;
    border-radius: 16px;
    animation: fadeIn 0.5s ease-out forwards;
}

.rk-panel.active { display: block; }

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.rk-panel-danger {
    background: var(--rk-base-red-light);
    border: 1px solid rgba(220, 38, 38, 0.2);
}

.rk-panel-safe {
    background: var(--rk-base-green-light);
    border: 1px solid rgba(5, 150, 105, 0.2);
}

.rk-panel-grid {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 25px;
    align-items: center;
}

.rk-panel-icon {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.rk-panel h4 {
    font-size: 20px;
    font-weight: 800;
    margin: 0 0 10px 0;
}

.rk-panel-danger h4 { color: var(--rk-base-red); }
.rk-panel-safe h4 { color: var(--rk-base-green); }

.rk-panel p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-base-dark);
    margin: 0 0 10px 0;
}

.rk-panel a {
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rk-panel-danger a { color: var(--rk-base-red); }
.rk-panel-safe a { color: var(--rk-base-green); }

/* Sekcja CTA */
.rk-sum-action {
    padding: 40px 45px;
    text-align: center;
    background: #ffffff;
}

.rk-sum-action h3 {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-base-dark);
    margin: 0 0 15px 0;
}

.rk-sum-action p {
    font-size: 16px;
    color: var(--rk-base-gray);
    max-width: 600px;
    margin: 0 auto 30px auto;
    line-height: 1.6;
}

.rk-btn-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--rk-base-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 18px 35px;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.4);
    transition: all 0.3s;
    border: 2px solid transparent;
}

.rk-btn-cta:hover {
    background: #0369a1;
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(2, 132, 199, 0.5);
    border-color: #bae6fd;
}

/* Responsywność - Mobile First dla elementów interaktywnych */
@media (max-width: 768px) {
    .rk-sum-top, .rk-interactive-app, .rk-sum-action { padding: 30px 20px; }
    .rk-panel-grid { grid-template-columns: 1fr; text-align: center; gap: 15px; }
    .rk-panel-icon { margin: 0 auto; width: 60px; height: 60px; }
    .rk-switch-wrapper { flex-direction: column; gap: 15px; }
    .rk-tags-container { justify-content: center; }
    .rk-btn-cta { width: 100%; padding: 16px 20px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Podsumowanie – Ogrzewanie podłogowe w płycie fundamentowej",
    "description": "Termiczna płyta fundamentowa to zaawansowany system grzewczy. Wymaga rygorystycznych obliczeń OZC i prób ciśnieniowych, ponieważ zabetonowanie pętli uniemożliwia późniejsze poprawki.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#dataset",
    "name": "Parametry graniczne instalacji grzewczej w betonie",
    "description": "Zestawienie wymogów technicznych dla ogrzewania w płycie fundamentowej: długość pętli, testy szczelności i zasady obliczeniowe.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ogrzewanie podłogowe w płycie fundamentowej",
      "projekt ogrzewania podłogowego dla pompy ciepła",
      "obliczenia ozc dla płyty fundamentowej",
      "próba ciśnieniowa podłogówki przed wylewką",
      "maksymalna długość pętli w betonie"
    ],
    "measurementTechnique": "Weryfikacja hydrauliczna układu w oparciu o projekt instalacyjny oraz normatywne testy ciśnieniowe przed procesem betonowania.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Maksymalna długość pętli grzewczej: do 100 m",
        "Wymagane obliczenia: Projektowe Obciążenie Cieplne OZC",
        "Próba szczelności: bezwzględnie wymagana przed i w trakcie wylewania betonu"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#webapp",
    "name": "Symulator Konsekwencji Montażowych",
    "description": "Interaktywny panel demonstrujący różnicę pomiędzy montażem intuicyjnym a rygorystycznym podejściem inżynierskim przy zalewaniu instalacji grzewczej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-summary-module" id="fundament-sum-app">
    <div class="rk-sum-top">
        <h2>Podsumowanie</h2>
        <p class="rk-sum-intro">
            <strong>Ogrzewanie podłogowe w płycie fundamentowej to najwyższy ewolucyjnie stopień niskotemperaturowych systemów grzewczych</strong> dedykowanych dla nowoczesnego, energooszczędnego budownictwa. Kluczem do bezwzględnego sukcesu tej inwestycji jest całkowite odrzucenie metod montażu &#8222;na oko&#8221; i zastąpienie ich rygorystyczną inżynierią instalacyjną.
        </p>
        <p class="rk-sum-intro">
            Płyta fundamentowa nie wybacza błędów – raz zalany beton pieczętuje układ hydrauliczny na dekady. Dlatego sprawność i ekonomia eksploatacji Twojego domu przez najbliższe 50 lat zależą od twardych danych i procedur.
        </p>
        
        <div class="rk-tags-container">
            <span class="rk-mat-tag"># ogrzewanie podłogowe w płycie fundamentowej</span>
            <span class="rk-mat-tag"># termiczna płyta fundamentowa koszty</span>
            <span class="rk-mat-tag"># rury do ogrzewania podłogowego w betonie</span>
            <span class="rk-mat-tag"># projekt ogrzewania podłogowego dla pompy ciepła</span>
            <span class="rk-mat-tag"># obliczenia ozc dla płyty fundamentowej</span>
            <span class="rk-mat-tag"># próba ciśnieniowa podłogówki przed wylewką</span>
            <span class="rk-mat-tag"># instalacja grzewcza w fundamencie</span>
            <span class="rk-mat-tag"># trwałość instalacji w płycie fundamentowej</span>
        </div>
    </div>

    <div class="rk-interactive-app">
        <div class="rk-toggle-header">
            <h3>Symulator Decyzji Inwestycyjnych</h3>
        </div>
        
        <div class="rk-switch-wrapper">
            <span class="rk-switch-label active-red" id="label-amator">Intuicja Instalatora</span>
            <label class="rk-switch">
                <input type="checkbox" id="rk-approach-toggle">
                <span class="rk-slider"></span>
            </label>
            <span class="rk-switch-label" id="label-inzynier">Inżynieria i Normy</span>
        </div>

        <div id="panel-amator" class="rk-panel rk-panel-danger active">
            <div class="rk-panel-grid">
                <div class="rk-panel-icon">
                    <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="var(--rk-base-red)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                </div>
                <div>
                    <h4>Beton ukryje wszystko, ale portfel tego nie wytrzyma</h4>
                    <p>Układanie rur &#8222;z głowy&#8221; zazwyczaj kończy się przekroczeniem <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">maksymalnej długości pętli</a>. Brak próby pod ciśnieniem to rosyjska ruletka w trakcie wylewania ton betonu.</p>
                    <p>Gdy dojdzie do usterki lub niedogrzania, skucie 20 cm zbrojonej płyty nośnej jest niemożliwe bez naruszenia konstrukcji budynku.</p>
                </div>
            </div>
        </div>

        <div id="panel-inzynier" class="rk-panel rk-panel-safe">
            <div class="rk-panel-grid">
                <div class="rk-panel-icon">
                    <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="var(--rk-base-green)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                <div>
                    <h4>Gwarancja 50 lat bezawaryjnej pracy</h4>
                    <p>Precyzyjne <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">obliczenia OZC</a> definiują dokładnie zapotrzebowanie. Pętle rozplanowane do optymalnych 100 m minimalizują opory dla pompy ciepła.</p>
                    <p>Bezkompromisowa, wielogodzinna <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próba szczelności</a> wykonana przed zabetonowaniem gwarantuje absolutny spokój inwestora.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-sum-action">
        <h3>Twoja płyta fundamentowa już schnie?</h3>
        <p>Nie pozwól, by amatorskie błędy zabetonowały Twój budżet i komfort na długie lata. Wejdź na wyższy poziom wiedzy instalacyjnej, poznaj schematy, zdemaskuj branżowe mity i buduj bez ściemy.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-cta">
            DOŁĄCZ DO BAZY WIEDZY HVAC
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var toggleBtn = document.getElementById('rk-approach-toggle');
    var panelAmator = document.getElementById('panel-amator');
    var panelInzynier = document.getElementById('panel-inzynier');
    var labelAmator = document.getElementById('label-amator');
    var labelInzynier = document.getElementById('label-inzynier');

    if(toggleBtn) {
        toggleBtn.addEventListener('change', function() {
            if (this.checked === true) {
                // Tryb Inżynier
                panelAmator.classList.remove('active');
                panelInzynier.classList.add('active');
                labelAmator.classList.remove('active-red');
                labelInzynier.classList.add('active-green');
            } else {
                // Tryb Amator
                panelInzynier.classList.remove('active');
                panelAmator.classList.add('active');
                labelInzynier.classList.remove('active-green');
                labelAmator.classList.add('active-red');
            }
        });
    }
});
</script>



<style>
/* Wymuszenie czystego fontu i twardy reset */
#rk-download-hub-app,
#rk-download-hub-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-blue: #0284c7;
    --rk-dl-light: #f8fafc;
    --rk-dl-border: #e2e8f0;
    --rk-dl-text: #334155;
    --rk-dl-bg: #ffffff;
}

.rk-dl-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-dl-bg);
    border-radius: 20px;
    border: 1px solid var(--rk-dl-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Ciemny Nagłówek */
.rk-dl-header {
    padding: 35px 45px;
    background: var(--rk-dl-dark);
    color: #ffffff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    border-bottom: 6px solid var(--rk-dl-blue);
}

.rk-dl-header-text {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rk-dl-header-text h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0;
    color: #ffffff;
    line-height: 1.2;
    letter-spacing: -0.5px;
}

.rk-dl-header-text p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0;
}

.rk-dl-header-icon {
    color: #38bdf8;
    flex-shrink: 0;
}

/* Obszar Roboczy - Split Layout */
.rk-dl-grid {
    display: flex;
    flex-direction: column;
}

@media (min-width: 768px) {
    .rk-dl-grid {
        flex-direction: row;
    }
}

/* Lewa Kolumna - Podgląd */
.rk-dl-preview-col {
    flex: 0 0 40%;
    background: var(--rk-dl-light);
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    border-right: 1px solid var(--rk-dl-border);
}

.rk-dl-thumbnail-box {
    width: 100%;
    max-width: 260px;
    background: #ffffff;
    padding: 10px;
    border-radius: 12px;
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.1);
    border: 1px solid var(--rk-dl-border);
    transition: transform 0.3s ease;
}

.rk-dl-thumbnail-box:hover {
    transform: translateY(-5px);
}

.rk-dl-thumbnail-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 6px;
    border: 1px solid #f1f5f9;
}

.rk-dl-preview-link {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-dl-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition: color 0.3s;
}

.rk-dl-preview-link:hover {
    color: #0369a1;
}

/* Prawa Kolumna - Akcje */
.rk-dl-action-col {
    flex: 0 0 60%;
    padding: 40px 45px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-dl-action-col h3 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-dl-dark);
    margin: 0 0 15px 0;
    line-height: 1.2;
}

.rk-dl-action-col p {
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-dl-text);
    margin: 0 0 30px 0;
}

.rk-dl-buttons-stack {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* Przyciski Pobierania */
.rk-dl-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 24px;
    border-radius: 14px;
    text-decoration: none !important;
    transition: all 0.3s ease;
}

.rk-dl-btn-primary {
    background: var(--rk-dl-blue);
    color: #ffffff !important;
    box-shadow: 0 4px 6px -1px rgba(2, 132, 199, 0.2);
}

.rk-dl-btn-primary:hover {
    background: #0369a1;
    transform: translateY(-2px);
    box-shadow: 0 8px 15px -3px rgba(2, 132, 199, 0.3);
}

.rk-dl-btn-secondary {
    background: #ffffff;
    border: 2px solid var(--rk-dl-border);
    color: var(--rk-dl-dark) !important;
}

.rk-dl-btn-secondary:hover {
    border-color: #cbd5e1;
    background: #f8fafc;
    transform: translateY(-2px);
}

.rk-dl-btn-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-dl-btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-dl-btn-text {
    font-size: 17px;
    font-weight: 800;
}

.rk-dl-btn-sub {
    font-size: 14px;
    font-weight: 500;
    opacity: 0.9;
}

.rk-dl-btn-secondary .rk-dl-btn-sub {
    color: #64748b;
}

/* Stopka - Copyright */
.rk-dl-footer {
    background: var(--rk-dl-light);
    border-top: 1px solid var(--rk-dl-border);
    padding: 20px 30px;
    text-align: center;
}

.rk-dl-footer p {
    font-size: 14px;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
}

.rk-dl-footer strong {
    color: var(--rk-dl-dark);
    font-weight: 700;
}

@media (max-width: 768px) {
    .rk-dl-header { flex-direction: column; align-items: flex-start; padding: 30px 20px; }
    .rk-dl-header-icon { display: none; }
    .rk-dl-preview-col { padding: 30px 20px; border-right: none; border-bottom: 1px solid var(--rk-dl-border); }
    .rk-dl-action-col { padding: 30px 20px; }
    .rk-dl-btn { flex-direction: column; align-items: flex-start; gap: 10px; }
    .rk-dl-btn-sub { align-self: flex-start; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#infographic-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Materiały do pobrania: Infografika techniczna płyty fundamentowej",
    "description": "Ściągawka inwestora. Autorska infografika i przewodnik techniczny po projektowaniu ogrzewania podłogowego. Pobierz darmowe materiały edukacyjne (PDF, WebP).",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ogrzewanie-podlogowe-w-plycie-fundamentowej-–-techniczny-przewodnik-po-projektowaniu-i-montazu.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#infographic-dataset",
    "name": "Kompendium graficzne: Zasady montażu płyty grzewczej",
    "description": "Zbiór ustrukturyzowanej wiedzy inżynierskiej podanej w formie graficznej, obejmujący parametry rozstawów rur, grubości izolacji oraz wytyczne OZC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe",
      "schemat płyty fundamentowej pdf",
      "zasady montażu podłogówki obrazek",
      "pobierz projekt instalacji",
      "techniczny przewodnik ogrzewania"
    ],
    "measurementTechnique": "Wizualizacja parametrów mechaniki płynów oraz fizyki budowli zawartych w normach inżynierskich.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Format wektorowy do wydruku: Dokument PDF (Zabezpieczony)",
        "Format rastrowy do przeglądania na urządzeniach mobilnych: Obraz WebP wysokiej rozdzielczości"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#infographic-webapp",
    "name": "Interaktywne Repozytorium Plików Technicznych",
    "description": "Narzędzie sieciowe umożliwiające bezpieczny podgląd i natychmiastowe pobieranie załączników technicznych, zabezpieczonych klauzulą praw autorskich.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="rk-download-hub-app">
    
    <div class="rk-dl-header">
        <div class="rk-dl-header-text">
            <h2>Materiały do pobrania</h2>
            <p>Zachowaj tę wiedzę dla siebie lub przekaż ją swojemu wykonawcy.</p>
        </div>
        <div class="rk-dl-header-icon">
            <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
                <polyline points="7 10 12 15 17 10"></polyline>
                <line x1="12" y1="15" x2="12" y2="3"></line>
            </svg>
        </div>
    </div>

    <div class="rk-dl-grid">
        
        <div class="rk-dl-preview-col">
            <div class="rk-dl-thumbnail-box">
                <img decoding="async" class="rk-dl-thumbnail-img" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ogrzewanie-podlogowe-w-plycie-fundamentowej-–-techniczny-przewodnik-po-projektowaniu-i-montazu.webp" alt="Infografika: Ściągawka Inwestora" loading="lazy">
            </div>
            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ogrzewanie-podlogowe-w-plycie-fundamentowej-–-techniczny-przewodnik-po-projektowaniu-i-montazu.webp" target="_blank" rel="noopener" class="rk-dl-preview-link">
                KLIKNIJ, ABY PODGLĄDNĄĆ
            </a>
        </div>

        <div class="rk-dl-action-col">
            <h3>Infografika: Ściągawka Inwestora</h3>
            <p>
                Przygotowałem skrót najważniejszych norm, zaleceń i pułapek technologicznych w wygodnej formie graficznej. Zapisz plik na telefonie przed wizytą na budowie.
            </p>

            <div class="rk-dl-buttons-stack">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ogrzewanie-podlogowe-w-plycie-fundamentowej-–-techniczny-przewodnik-po-projektowaniu-i-montazu.pdf" download class="rk-dl-btn rk-dl-btn-primary" rel="noopener">
                    <div class="rk-dl-btn-left">
                        <div class="rk-dl-btn-icon">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                        </div>
                        <span class="rk-dl-btn-text">Pobierz jako dokument PDF</span>
                    </div>
                    <span class="rk-dl-btn-sub">Wysoka jakość</span>
                </a>

                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ogrzewanie-podlogowe-w-plycie-fundamentowej-–-techniczny-przewodnik-po-projektowaniu-i-montazu.webp" download class="rk-dl-btn rk-dl-btn-secondary" rel="noopener">
                    <div class="rk-dl-btn-left">
                        <div class="rk-dl-btn-icon">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                        </div>
                        <span class="rk-dl-btn-text">Pobierz jako Obraz (WebP)</span>
                    </div>
                    <span class="rk-dl-btn-sub">Lekki plik</span>
                </a>
            </div>
        </div>

    </div>

    <div class="rk-dl-footer">
        <p>
            <strong>© 2026 Projekt-Ogrzewania.pl</strong> | Autor: Robert Kucharski.<br>
            Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku.
        </p>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Bezpieczna inicjalizacja modułu bez użycia operatorów && i zbędnych animacji.
    // Śledzenie kliknięć w przyciski pobierania dla analityki (opcjonalnie)
    var pdfBtn = document.querySelector('.rk-dl-btn-primary');
    var webpBtn = document.querySelector('.rk-dl-btn-secondary');

    function logDownloadEvent(type) {
        // Placeholder dla eventów Google Analytics lub Tag Managera
        if (window.console) {
            console.log('Pobrano plik:', type);
        }
    }

    if (pdfBtn) {
        pdfBtn.addEventListener('click', function() {
            logDownloadEvent('PDF');
        });
    }

    if (webpBtn) {
        webpBtn.addEventListener('click', function() {
            logDownloadEvent('WebP');
        });
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej-techniczny-przewodnik-po-projektowaniu-i-montazu/">Ogrzewanie podłogowe w płycie fundamentowej – techniczny przewodnik po projektowaniu i montażu.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Największy magazyn energii w Twoim domu już istnieje i  prawdopodobnie po nim chodzisz.</title>
		<link>https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 13 Jun 2026 07:16:00 +0000</pubDate>
				<category><![CDATA[Fotowoltaika]]></category>
		<category><![CDATA[Koszty ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[OZE]]></category>
		<category><![CDATA[Pompa ciepła]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Taryfy dynamiczne]]></category>
		<category><![CDATA[akumulatory lifepo4 opinie]]></category>
		<category><![CDATA[bezwładność cieplna budynku]]></category>
		<category><![CDATA[bufor ciepła do pompy ciepła]]></category>
		<category><![CDATA[instalacja hvac optymalizacja]]></category>
		<category><![CDATA[kalkulator strat ciepła budynku]]></category>
		<category><![CDATA[koszt magazynu energii]]></category>
		<category><![CDATA[koszty ogrzewania domu 2026]]></category>
		<category><![CDATA[kryzys 15 roku fotowoltaiki]]></category>
		<category><![CDATA[ogrzewanie podłogowe jako magazyn energii]]></category>
		<category><![CDATA[opłacalność taryf dynamicznych]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego ozc]]></category>
		<category><![CDATA[rynkowa cena energii elektrycznej rce]]></category>
		<category><![CDATA[standardy montażu hvac]]></category>
		<category><![CDATA[wylewka betonowa podłogówka]]></category>
		<category><![CDATA[zarabianie na taryfach dynamicznych]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=5634</guid>

					<description><![CDATA[<p>Agresywny marketing OZE i HVAC wmawia dziś inwestorom, że jedyną drogą do obniżenia rachunków za prąd jest zakup drogich akumulatorów chemicznych. Zanim jednak ulegniesz presji sprzedawców i wydasz kilkadziesiąt tysięcy złotych na technologię, która zimą stoi bezużyteczna, musisz poznać twarde fakty. Prawda jest taka, że największy magazyn energii w Twoim domu już istnieje i prawdopodobnie po nim chodzisz – to bezwładność cieplna betonowej wylewki podłogowej połączona z odpowiednio dobranym buforem wody grzewczej. Na podstawie analizy ponad 1000 projektów instalacyjnych udowadniam, dlaczego wykorzystanie fizyki budynku w erze taryf dynamicznych jest nawet 10-krotnie tańsze i bardziej opłacalne niż ścienne baterie. W dalszej części artykułu znajdziesz interaktywne kalkulatory, wykresy oraz szczegółowe zestawienia kosztów, które pozwolą Ci samodzielnie przeliczyć zyski.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/">Największy magazyn energii w Twoim domu już istnieje i  prawdopodobnie po nim chodzisz.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-navy: #1e293b;
    --rk-intro-blue: #0284c7;
    --rk-intro-teal: #0d9488;
    --rk-intro-green: #10b981;
    --rk-intro-red: #ef4444;
    --rk-intro-gray: #64748b;
    --rk-intro-light: #f8fafc;
    --rk-intro-border: #e2e8f0;
}

.rk-intro-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 15px 35px -10px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-intro-border);
    overflow: hidden;
}

/* Ukryte Tagi SEO dla robotów */
.rk-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* 1. MOCNE OTWARCIE (HOOK) */
.rk-intro-hook {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, var(--rk-intro-dark) 0%, var(--rk-intro-navy) 100%);
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-intro-teal);
}

.rk-intro-hook h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 25px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
    line-height: 1.2;
}

.rk-quote-box {
    background: rgba(255, 255, 255, 0.05);
    border-left: 4px solid var(--rk-intro-teal);
    padding: 20px 25px;
    border-radius: 0 12px 12px 0;
    position: relative;
}

.rk-quote-box p {
    font-size: 18px;
    line-height: 1.6;
    color: #ccfbf1;
    margin: 0;
    font-style: italic;
    font-weight: 600;
}

.rk-quote-box strong {
    color: #ffffff;
}

/* 2. SZYBKA ODPOWIEDŹ (FEATURED SNIPPET) */
.rk-intro-qa {
    padding: 40px 50px;
    background: #ffffff;
    border-bottom: 1px dashed var(--rk-intro-border);
}

.rk-qa-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f0fdf4;
    color: #065f46;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 1px solid #a7f3d0;
    margin-bottom: 15px;
}

.rk-intro-qa p {
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
    margin: 0 0 15px 0;
}

.rk-intro-qa p:last-child {
    margin: 0;
}

.rk-intro-qa strong {
    color: var(--rk-intro-dark);
    font-weight: 800;
}

/* 3. INTERAKTYWNA MAPA ARTYKUŁU */
.rk-intro-roadmap {
    padding: 40px 50px;
    background: var(--rk-intro-light);
}

.rk-intro-roadmap h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    margin: 0 0 25px 0;
    text-align: center;
}

.rk-rm-grid {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 30px;
    background: #ffffff;
    border: 1px solid var(--rk-intro-border);
    border-radius: 16px;
    overflow: hidden;
}

/* Przyciski nawigacyjne */
.rk-rm-nav {
    background: #f1f5f9;
    border-right: 1px solid var(--rk-intro-border);
    display: flex;
    flex-direction: column;
}

.rk-rm-btn {
    padding: 20px;
    text-align: left;
    background: transparent;
    border: none;
    border-left: 4px solid transparent;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-intro-gray);
    cursor: pointer;
    display: flex;
    align-items: center;
}

.rk-rm-btn:hover {
    background: #e2e8f0;
    color: var(--rk-intro-dark);
}

.rk-rm-btn.active {
    background: #ffffff;
    color: var(--rk-intro-teal);
    border-left-color: var(--rk-intro-teal);
}

/* Zawartość paneli */
.rk-rm-content-area {
    padding: 30px 30px 30px 10px;
}

.rk-rm-panel {
    display: none;
}

.rk-rm-panel.active {
    display: block;
}

.rk-rm-panel h4 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-intro-dark);
    margin: 0 0 15px 0;
}

.rk-rm-panel p {
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
    margin: 0;
}

@media (max-width: 768px) {
    .rk-intro-hook, .rk-intro-qa, .rk-intro-roadmap { padding: 30px 20px; }
    .rk-intro-hook h2 { font-size: 24px; }
    .rk-rm-grid { grid-template-columns: 1fr; }
    
    /* Mobilna nawigacja w pionie */
    .rk-rm-nav { 
        border-right: none; 
        border-bottom: 1px solid var(--rk-intro-border); 
        flex-direction: column; 
    }
    .rk-rm-btn { 
        padding: 16px 20px; 
        border-left: 4px solid transparent; 
        border-bottom: 1px solid var(--rk-intro-border); 
        width: 100%; 
    }
    .rk-rm-btn:last-child {
        border-bottom: none;
    }
    .rk-rm-btn.active { 
        border-left-color: var(--rk-intro-teal); 
    }
    
    .rk-rm-content-area { padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/"
    },
    "headline": "Największy magazyn energii w Twoim domu już istnieje i prawdopodobnie po nim chodzisz",
    "description": "Szybka odpowiedź inżynierska: Ogrzewanie podłogowe jako darmowy hybrydowy magazyn termiczny, który skutecznie zastępuje drogie akumulatory LiFePO4.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#dataset-wstep",
    "name": "Wstępna specyfikacja oszczędności: Magazyn termiczny (2026)",
    "description": "Podstawowe dane brzegowe udowadniające wyższość układu bufor + wylewka nad akumulatorami elektrochemicznymi.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "największy magazyn energii w domu",
      "ogrzewanie podłogowe jako magazyn energii",
      "bufor ciepła do pompy ciepła",
      "darmowy magazyn prądu",
      "hybrydowy magazyn termiczny"
    ],
    "measurementTechnique": "Wyprowadzenie tezy inżynierskiej bazującej na darmowej pojemności 70-90 kWh w podłodze vs 10 kWh w drogiej baterii.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Dom 150m2 posiada darmową zdolność akumulacji 70–90 kWh.",
        "Koszty eksploatacji pompy ciepła spadają o 30-40% bez degradacji sprzętu.",
        "Rozwiązanie termiczne jest 6 do 10 razy tańsze od rynkowych magazynów prądu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#webapp-wstep",
    "name": "Interaktywny Przewodnik Inwestora HVAC",
    "description": "Nawigacyjny komponent webowy prezentujący zawartość merytoryczną i kalkulatory analityczne dostępne w dalszej części opracowania.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="wstep-artykulu-app">
    
    <div class="rk-sr-only">
        Rozwiązania dedykowane dla haseł: największy magazyn energii w domu, ogrzewanie podłogowe jako magazyn energii, bufor ciepła do pompy ciepła, darmowy magazyn prądu, hybrydowy magazyn termiczny.
    </div>

    <div class="rk-intro-hook">
        <h2>Największy magazyn energii w Twoim domu już istnieje i prawdopodobnie po nim chodzisz</h2>
        <div class="rk-quote-box">
            <p>
                „Kup fotowoltaikę. Kup magazyn energii. Kup większy magazyn energii.” – tak wygląda dzisiaj agresywna sprzedaż w branży HVAC i OZE. Inwestorzy, zaszczuci wizją rosnących rachunków, wydają dziesiątki tysięcy złotych na akumulatory, nie zadając jednego, fundamentalnego pytania: <strong>A co, jeśli najskuteczniejszy magazyn energii w Twoim domu już istnieje?</strong>
            </p>
        </div>
    </div>

    <div class="rk-intro-qa">
        <div class="rk-qa-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
            Szybka odpowiedź specjalisty
        </div>
        <p>
            Mowa o bezwładności cieplnej budynku i ogrzewaniu podłogowym. W tym artykule, na podstawie 1000+ wykonanych projektów, obnażam ekonomiczny mit „magazynów prądu” i pokazuję, dlaczego <strong>woda w buforze i betonowa wylewka są od nich od 6 do 10 razy tańsze.</strong>
        </p>
        <p>
            <strong>Ogrzewanie podłogowe jako hybrydowy magazyn termiczny</strong> to proces wykorzystania fizyki wylewki oraz wody sieciowej do przesunięcia poboru prądu przez pompę ciepła w czasie, celem unikania stref szczytowych taryf energii. Podczas gdy rynek wymusza zakupy akumulatorów za 25 000 – 45 000 PLN, standardowy dom (150 m²) posiada darmową zdolność akumulacji rzędu <strong>70–90 kWh energii</strong>, redukując roczne koszty eksploatacji pompy o 30–40% bez żadnej degradacji sprzętu.
        </p>
    </div>

    <div class="rk-intro-roadmap">
        <h3>Co przygotowałem dla Ciebie w tym artykule?</h3>
        
        <div class="rk-rm-grid">
            <div class="rk-rm-nav" id="introNavBtns">
                <button class="rk-rm-btn active" data-target="info-1">
                    Fizyka Magazynu
                </button>
                <button class="rk-rm-btn" data-target="info-2">
                    Kalkulator ROI
                </button>
                <button class="rk-rm-btn" data-target="info-3">
                    Analiza Cash Flow
                </button>
            </div>

            <div class="rk-rm-content-area" id="introPanels">
                <div class="rk-rm-panel active" id="info-1">
                    <h4>Interaktywny Symulator Pojemności</h4>
                    <p>Poniżej znajdziesz dedykowane narzędzie, w którym podasz metraż swojego domu, a algorytm wyliczy z dokładnością co do kilowatogodziny, ile darmowej energii pomieści Twój beton i bufor w stosunku do drogich baterii LiFePO4.</p>
                </div>
                <div class="rk-rm-panel" id="info-2">
                    <h4>Kalkulator Oszczędności (Taryfy)</h4>
                    <p>Udostępniam aplikację do symulacji na żywo. Zmienisz w niej ceny prądu (G11 vs Taryfa Dynamiczna) i natychmiast sprawdzisz po ilu latach zwróci się precyzyjnie zaprojektowana instalacja ogrzewania podłogowego.</p>
                </div>
                <div class="rk-rm-panel" id="info-3">
                    <h4>20-letni Harmonogram Inwestycji</h4>
                    <p>Koniec z ukrywaniem kosztów serwisu falowników i degradacji baterii. Przygotowałem pełne zestawienie w formie &#8222;Osi Czasu&#8221;, które obnaża &#8222;Kryzys 15. roku&#8221; instalacji fotowoltaicznych w zderzeniu ze stalą i betonem.</p>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('#introNavBtns .rk-rm-btn');
    const panels = document.querySelectorAll('#introPanels .rk-rm-panel');

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Natychmiastowe przełączenie (bez animacji)
            btns.forEach(b => b.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            this.classList.add('active');
            const targetId = this.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --rk-trap-dark: #0f172a;
    --rk-trap-navy: #1e293b;
    --rk-trap-red: #dc2626;
    --rk-trap-red-light: #fef2f2;
    --rk-trap-blue: #0284c7;
    --rk-trap-gray: #64748b;
    --rk-trap-light: #f8fafc;
    --rk-trap-border: #e2e8f0;
    --rk-trap-orange: #f59e0b;
}

.rk-trap-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(220, 38, 38, 0.15);
    border: 1px solid var(--rk-trap-border);
    overflow: hidden;
}

/* Ukryte Tagi SEO */
.rk-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Nagłówek */
.rk-trap-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-trap-dark) 0%, #450a0a 100%);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-trap-red);
}

.rk-trap-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.rk-trap-header p {
    font-size: 16px;
    color: #fecaca;
    margin: 0 auto;
    max-width: 750px;
    line-height: 1.6;
}

/* Układ główny */
.rk-trap-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #ffffff;
}

/* Lewa Kolumna - Kontrolery */
.rk-trap-controls {
    padding: 40px 50px;
    background: var(--rk-trap-light);
    border-right: 1px solid var(--rk-trap-border);
}

.rk-trap-controls h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-trap-dark);
    margin: 0 0 25px 0;
}

.rk-input-group {
    margin-bottom: 30px;
}

.rk-input-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 12px;
}

.rk-input-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-trap-dark);
}

.rk-input-label span {
    display: block;
    font-size: 12px;
    color: var(--rk-trap-gray);
    font-weight: 500;
    margin-top: 3px;
}

.rk-input-value-box {
    background: #ffffff;
    border: 1px solid var(--rk-trap-border);
    padding: 5px 12px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-trap-dark);
    min-width: 90px;
    text-align: right;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

/* Suwaki */
.rk-trap-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: #cbd5e1;
    border-radius: 4px;
    outline: none;
    transition: background 0.3s;
}

.rk-trap-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-trap-dark);
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    border: 3px solid #ffffff;
    transition: transform 0.1s;
}

.rk-trap-slider::-webkit-slider-thumb:hover { transform: scale(1.15); }

/* Przełącznik Pory Roku (Kluczowy dla symulacji) */
.rk-season-toggle {
    display: flex;
    background: #e2e8f0;
    border-radius: 12px;
    padding: 6px;
    margin-top: 10px;
}

.rk-season-btn {
    flex: 1;
    text-align: center;
    padding: 12px 10px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-trap-gray);
    cursor: pointer;
    border-radius: 8px;
    border: none;
    background: transparent;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.rk-season-btn.active[data-season="summer"] {
    background: #ffffff;
    color: var(--rk-trap-orange);
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.rk-season-btn.active[data-season="winter"] {
    background: var(--rk-trap-blue);
    color: #ffffff;
    box-shadow: 0 4px 6px rgba(2, 132, 199, 0.3);
}

/* Prawa Kolumna - Wyniki Live */
.rk-trap-results {
    padding: 40px 50px;
    display: flex;
    flex-direction: column;
}

.rk-trap-results h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-trap-dark);
    margin: 0 0 25px 0;
}

.rk-res-card {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 16px 0;
    border-bottom: 1px dashed var(--rk-trap-border);
}

.rk-res-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-trap-gray);
    flex-shrink: 0;
}

.rk-res-details {
    flex-grow: 1;
}

.rk-res-name {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-trap-dark);
    margin-bottom: 4px;
}

.rk-res-desc {
    font-size: 12px;
    color: var(--rk-trap-gray);
}

.rk-res-val {
    font-size: 20px;
    font-weight: 900;
    text-align: right;
    white-space: nowrap;
}

.val-red { color: var(--rk-trap-red); }
.val-dark { color: var(--rk-trap-dark); }

/* Wynik końcowy ostrzeżenie */
.rk-trap-alert {
    margin-top: auto;
    padding: 25px;
    background: var(--rk-trap-red-light);
    border: 2px solid var(--rk-trap-red);
    border-radius: 16px;
    text-align: center;
    position: relative;
}

.rk-trap-alert-title {
    font-size: 13px;
    font-weight: 800;
    color: #991b1b;
    text-transform: uppercase;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.rk-trap-alert-val {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-trap-red);
    line-height: 1.1;
    margin-bottom: 15px;
}

/* Wyjaśnienie matematyczne na dole */
.rk-trap-math-expl {
    padding: 25px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-trap-border);
    font-size: 14px;
    line-height: 1.7;
    color: #475569;
}

.rk-trap-math-expl a {
    color: var(--rk-trap-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(2, 132, 199, 0.3);
}

.rk-trap-math-box {
    background: #f1f5f9;
    padding: 15px;
    border-radius: 8px;
    margin-top: 15px;
    font-family: monospace;
    font-size: 14px;
    color: var(--rk-trap-dark);
    font-weight: 600;
    border-left: 4px solid var(--rk-trap-gray);
}

@media (max-width: 768px) {
    .rk-trap-header, .rk-trap-controls, .rk-trap-results, .rk-trap-math-expl { padding: 30px 20px; }
    .rk-trap-header h2 { font-size: 22px; flex-direction: column; }
    .rk-trap-body { grid-template-columns: 1fr; }
    .rk-trap-controls { border-right: none; border-bottom: 1px solid var(--rk-trap-border); }
    .rk-trap-alert { margin-top: 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#article-pulapka",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/"
    },
    "headline": "Dlaczego magazynowanie energii elektrycznej w akumulatorach to ekonomiczna pułapka?",
    "description": "Zrozum straty na konwersji i drastyczny spadek wydajności magazynów LiFePO4 w okresie zimowym, kiedy pompa ciepła potrzebuje prądu najbardziej.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#dataset-pulapka",
    "name": "Analiza degradacji i kosztów akumulatorów LiFePO4 (2026)",
    "description": "Zestawienie twardych danych o sprawności cykli AC-DC-AC, spadku zimowym produkcji PV oraz żywotności ogniw chemicznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "opłacalność magazynu energii",
      "żywotność akumulatorów lifepo4",
      "sprawność magazynu energii",
      "fotowoltaika zimą a magazyn",
      "koszt 1 kwh z magazynu"
    ],
    "measurementTechnique": "Kalkulacja straty systemowej bazująca na 15% stratach konwersji i 85% spadku dostępności darmowej energii OZE w polskim klimacie od listopada do lutego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt 1 kWh = Cena Magazynu / Pojemność znamionowa",
        "Straty konwersji: -15% przy każdym cyklu inwertera hybrydowego",
        "Zimowy spadek użyteczności: Do 10-15% dostępności słońca"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#webapp-pulapka",
    "name": "Symulator Rentowności Magazynu Chemicznego",
    "description": "Aplikacja obliczeniowa ujawniająca rzeczywisty koszt 1 kWh pojemności bateryjnej i obnażająca letnio-zimową dysproporcję działania układu PV.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-trap-container" id="pulapka-bateryjna-app">
    
    <div class="rk-sr-only">
        Słowa kluczowe do analizy inżynierskiej: opłacalność magazynu energii, żywotność akumulatorów lifepo4, sprawność magazynu energii, fotowoltaika zimą a magazyn, koszt 1 kwh z magazynu.
    </div>

    <div class="rk-trap-header">
        <h2>
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="color: #fca5a5;">
                <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>
            Akumulator w domu to pułapka?
        </h2>
        <p>Zobacz, jak sprzedawcy obliczają zwrot w oparciu o &#8222;idealne 365 dni słońca&#8221;. Ustaw pojemność, przełącz porę roku i obnaż fizyczne ograniczenia magazynów elektrycznych.</p>
    </div>

    <div class="rk-trap-body">
        
        <div class="rk-trap-controls">
            <h3>Parametry Magazynu (LiFePO4)</h3>
            
            <div class="rk-input-group">
                <div class="rk-input-header">
                    <label class="rk-input-label">Pojemność znamionowa (kWh)</label>
                    <div class="rk-input-value-box"><span id="valCap">10</span> kWh</div>
                </div>
                <input type="range" class="rk-trap-slider" id="inpCap" min="5" max="30" step="1" value="10">
            </div>

            <div class="rk-input-group">
                <div class="rk-input-header">
                    <label class="rk-input-label">Koszt zakupu i montażu (PLN) <span>Średnio 2000 &#8211; 3000 zł za 1 kWh</span></label>
                    <div class="rk-input-value-box"><span id="valCost">20000</span> zł</div>
                </div>
                <input type="range" class="rk-trap-slider" id="inpCost" min="10000" max="90000" step="1000" value="20000">
            </div>

            <div class="rk-input-group" style="margin-top: 40px;">
                <label class="rk-input-label">Zasymuluj warunki w polskim klimacie:</label>
                <div class="rk-season-toggle">
                    <button class="rk-season-btn active" data-season="summer">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg>
                        Wiosna / Lato
                    </button>
                    <button class="rk-season-btn" data-season="winter">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2v20"></path><path d="M4 10l8-8 8 8"></path><path d="M4 14l8 8 8-8"></path></svg>
                        Zima (Listopad-Luty)
                    </button>
                </div>
            </div>
        </div>

        <div class="rk-trap-results">
            <h3>Prawdziwe możliwości systemu</h3>
            
            <div class="rk-res-card">
                <div class="rk-res-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                </div>
                <div class="rk-res-details">
                    <div class="rk-res-name">Jednostkowy koszt pojemności</div>
                    <div class="rk-res-desc">Zamrożony kapitał za każdą 1 kWh</div>
                </div>
                <div class="rk-res-val val-dark" id="resUnit">2 000 zł</div>
            </div>

            <div class="rk-res-card">
                <div class="rk-res-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline></svg>
                </div>
                <div class="rk-res-details">
                    <div class="rk-res-name">Straty konwersji (AC-DC-AC)</div>
                    <div class="rk-res-desc">Minus ~15% na falowniku przy cyklu</div>
                </div>
                <div class="rk-res-val val-red" id="resLoss">-1.50 kWh</div>
            </div>

            <div class="rk-trap-alert">
                <div class="rk-trap-alert-title" id="alertTitle">Dostępna darmowa energia na dobę</div>
                <div class="rk-trap-alert-val" id="resReal">8.50 kWh</div>
                <div style="font-size: 13px; color: #7f1d1d; line-height: 1.4;" id="alertDesc">
                    Latem magazyn ładuje się sprawnie. Tracisz jedynie 15% pojemności na ciepło odpadowe z falownika.
                </div>
            </div>

        </div>
    </div>

    <div class="rk-trap-math-expl">
        <strong>Matematyka inwestycyjna jest bezwzględna.</strong> Kalkulacja zwrotu opierana przez handlowców na 365 cyklach rocznie to fikcja. Pamiętaj, że dla efektywnego działania całego układu, kluczowa jest znajomość zapotrzebowania obiektu, która wynika z profesjonalnych <a href="https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/">kalkulacji kosztów eksploatacji</a>.
        
        <div class="rk-trap-math-box">
            Koszt 1 kWh = CENA ZESTAWU / POJEMNOŚĆ BATERII<br>
            <span style="color:var(--rk-trap-red);" id="mathEq">20 000 PLN / 10 kWh = 2000 PLN/kWh</span>
        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Inputs
    const elCap = document.getElementById('inpCap');
    const elCost = document.getElementById('inpCost');
    const seasonBtns = document.querySelectorAll('.rk-season-btn');

    // Displays
    const valCap = document.getElementById('valCap');
    const valCost = document.getElementById('valCost');
    const resUnit = document.getElementById('resUnit');
    const resLoss = document.getElementById('resLoss');
    const resReal = document.getElementById('resReal');
    const mathEq = document.getElementById('mathEq');
    
    // Alert Elements
    const alertTitle = document.getElementById('alertTitle');
    const alertDesc = document.getElementById('alertDesc');

    let currentSeason = 'summer';

    function calculate() {
        const cap = parseFloat(elCap.value);
        const cost = parseFloat(elCost.value);

        // Update displays
        valCap.textContent = cap;
        valCost.textContent = cost.toLocaleString('pl-PL');

        // 1. Koszt jednostkowy
        const unitCost = cost / cap;
        resUnit.textContent = Math.round(unitCost).toLocaleString('pl-PL') + ' zł';
        mathEq.textContent = `${cost.toLocaleString('pl-PL')} PLN / ${cap} kWh = ${Math.round(unitCost)} PLN/kWh`;

        // 2. Symulacja Pory Roku
        // Zima = produkcja spada drastycznie. Załóżmy 15% wypełnienia baterii w słaby dzień.
        let availableEnergy = cap;
        let winterDropText = '';

        if (currentSeason === 'winter') {
            availableEnergy = cap * 0.15; // Zaledwie 15% naładowania
            alertTitle.textContent = 'Dostępna darmowa energia ZIMĄ';
            alertDesc.innerHTML = 'Przez 4 miesiące produkcja z PV drastycznie spada. Magazyn przez większość zimy <strong>stoi pusty</strong>, zamrażając Twój kapitał w momencie, gdy potrzebujesz prądu najbardziej.';
        } else {
            availableEnergy = cap; // 100% naładowania w słoneczny dzień
            alertTitle.textContent = 'Dostępna darmowa energia LATEM';
            alertDesc.innerHTML = 'Latem magazyn ładuje się bez problemu. Tracisz "tylko" energię na ciepło odpadowe z falownika (konwersja prądu stałego na zmienny).';
        }

        // 3. Straty konwersji (AC-DC-AC) - uśrednione 15% z tego, co przepłynie.
        const conversionLoss = availableEnergy * 0.15;
        const realUsable = availableEnergy - conversionLoss;

        resLoss.textContent = '-' + conversionLoss.toFixed(2) + ' kWh';
        resReal.textContent = realUsable.toFixed(2) + ' kWh';
    }

    // Event Listeners for inputs
    elCap.addEventListener('input', calculate);
    elCost.addEventListener('input', calculate);

    // Event Listeners for Season Toggle
    seasonBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            seasonBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            currentSeason = this.getAttribute('data-season');
            calculate();
        });
    });

    // Initial load
    calculate();
});
</script>



<style>
:root {
    --rk-cap-dark: #0f172a;
    --rk-cap-navy: #1e293b;
    --rk-cap-blue: #0284c7;
    --rk-cap-teal: #0d9488;
    --rk-cap-green: #10b981;
    --rk-cap-orange: #f59e0b;
    --rk-cap-gray: #64748b;
    --rk-cap-light: #f8fafc;
    --rk-cap-border: #e2e8f0;
}

.rk-cap-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(13, 148, 136, 0.15);
    border: 1px solid var(--rk-cap-border);
    overflow: hidden;
}

/* Ukryte Tagi SEO */
.rk-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Nagłówek */
.rk-cap-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-cap-dark) 0%, var(--rk-cap-teal) 100%);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-cap-green);
}

.rk-cap-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.rk-cap-header p {
    font-size: 16px;
    color: #ccfbf1;
    margin: 0 auto;
    max-width: 750px;
    line-height: 1.6;
}

/* Układ główny */
.rk-cap-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #ffffff;
}

/* Lewa Kolumna - Kontrolery */
.rk-cap-controls {
    padding: 40px 50px;
    background: var(--rk-cap-light);
    border-right: 1px solid var(--rk-cap-border);
}

.rk-cap-controls h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-cap-dark);
    margin: 0 0 25px 0;
}

.rk-input-group {
    margin-bottom: 30px;
}

.rk-input-group:last-child {
    margin-bottom: 0;
}

.rk-input-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 12px;
}

.rk-input-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-cap-dark);
}

.rk-input-label span {
    display: block;
    font-size: 12px;
    color: var(--rk-cap-gray);
    font-weight: 500;
    margin-top: 3px;
}

.rk-input-value-box {
    background: #ffffff;
    border: 1px solid var(--rk-cap-border);
    padding: 5px 12px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-cap-teal);
    min-width: 90px;
    text-align: right;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

/* Suwaki */
.rk-cap-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: #cbd5e1;
    border-radius: 4px;
    outline: none;
    transition: background 0.3s;
}

.rk-cap-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-cap-teal);
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(13, 148, 136, 0.4);
    border: 3px solid #ffffff;
    transition: transform 0.1s;
}

.rk-cap-slider::-webkit-slider-thumb:hover { transform: scale(1.15); }

/* Prawa Kolumna - Wyniki Live */
.rk-cap-results {
    padding: 40px 50px;
    display: flex;
    flex-direction: column;
}

.rk-cap-results h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-cap-dark);
    margin: 0 0 25px 0;
}

.rk-res-card {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 0;
    border-bottom: 1px dashed var(--rk-cap-border);
}

.rk-res-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-cap-gray);
    flex-shrink: 0;
}

.rk-res-details {
    flex-grow: 1;
}

.rk-res-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-cap-dark);
    margin-bottom: 2px;
}

.rk-res-math {
    font-size: 12px;
    color: var(--rk-cap-gray);
    font-family: monospace;
}

.rk-res-val {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-cap-teal);
    white-space: nowrap;
}

/* Wynik końcowy */
.rk-cap-total {
    margin-top: auto;
    padding: 25px;
    background: #f0fdf4;
    border: 2px solid var(--rk-cap-green);
    border-radius: 16px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-cap-total-title {
    font-size: 14px;
    font-weight: 700;
    color: #065f46;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.rk-cap-total-val {
    font-size: 36px;
    font-weight: 900;
    color: var(--rk-cap-green);
    line-height: 1;
    margin-bottom: 15px;
}

.rk-cap-equivalent {
    font-size: 13px;
    color: #064e3b;
    line-height: 1.5;
    font-weight: 600;
    background: #d1fae5;
    padding: 10px 15px;
    border-radius: 8px;
}

.rk-cap-equivalent strong {
    color: var(--rk-cap-red);
}

.rk-cap-math-expl {
    padding: 25px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-cap-border);
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
}

.rk-cap-math-expl a {
    color: var(--rk-cap-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(2, 132, 199, 0.3);
}

@media (max-width: 768px) {
    .rk-cap-header, .rk-cap-controls, .rk-cap-results, .rk-cap-math-expl { padding: 30px 20px; }
    .rk-cap-header h2 { font-size: 22px; flex-direction: column; }
    .rk-cap-body { grid-template-columns: 1fr; }
    .rk-cap-controls { border-right: none; border-bottom: 1px solid var(--rk-cap-border); }
    .rk-cap-total { margin-top: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#article-fizyka",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/"
    },
    "headline": "Beton, woda i izolacja: Jak fizycznie działa magazyn termiczny?",
    "description": "Obliczenia pojemności cieplnej wylewki betonowej i bufora wody grzewczej zgodnie z normą PN-EN 1264. Poznaj realną bezwładność swojego budynku.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#dataset-fizyka",
    "name": "Zestawienie parametrów akumulacyjnych materiałów budowlanych (2026)",
    "description": "Właściwości fizyczne, ciepło właściwe i masa układów betonowo-wodnych stosowanych w nowoczesnych instalacjach grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pojemność cieplna wylewki",
      "bufor wody grzewczej",
      "akumulacja ciepła w betonie",
      "zasobnik cwu z pompą ciepła",
      "bezwładność cieplna budynku"
    ],
    "measurementTechnique": "Termodynamiczne obliczenia przyrostu energii (Q = m * cw * dT) z zachowaniem limitów normy PN-EN 1264 (max. 29 st. C dla podłóg).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wylewka betonowa (gęstość 2400 kg/m3): Pojemność ok. 19.45 kWh przy dT=3K dla 150m2.",
        "Woda kotłowa (bufor 1000 l): Pojemność ok. 34.8 kWh przy dT=30K.",
        "Woda użytkowa (CWU 300 l): Pojemność ok. 15.66 kWh przy dT=45K."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#webapp-fizyka",
    "name": "Kalkulator Pojemności Termicznej Budynku",
    "description": "Interaktywny symulator pozwalający na obliczenie łącznej pojemności energetycznej (w kWh) wylewki i zasobników wodnych na podstawie wprowadzonych wymiarów.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cap-container" id="pojemnosc-fizyka-app">
    
    <div class="rk-sr-only">
        Pojęcia techniczne: pojemność cieplna wylewki, bufor wody grzewczej, akumulacja ciepła w betonie, zasobnik cwu z pompą ciepła, bezwładność cieplna budynku, obliczenia normy PN-EN 1264.
    </div>

    <div class="rk-cap-header">
        <h2>
            Fizyka Magazynu Termicznego
        </h2>
        <p>Sprawdź, ile darmowej energii (w kWh) potrafi zgromadzić Twój dom. Zmień parametry i zobacz realną pojemność cieplną wylewki, bufora i zasobnika CWU.</p>
    </div>

    <div class="rk-cap-body">
        
        <div class="rk-cap-controls">
            <h3>Parametry Twojego budynku</h3>
            
            <div class="rk-input-group">
                <div class="rk-input-header">
                    <label class="rk-input-label">Powierzchnia <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/" style="color:inherit; text-decoration:none;">wylewki</a> (m²) <span>Grubość 6,5 cm, podgrzanie o +3°C</span></label>
                    <div class="rk-input-value-box"><span id="valArea">150</span> m²</div>
                </div>
                <input type="range" class="rk-cap-slider" id="inpArea" min="50" max="300" step="10" value="150">
            </div>

            <div class="rk-input-group">
                <div class="rk-input-header">
                    <label class="rk-input-label">Pojemność <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" style="color:inherit; text-decoration:none;">bufora</a> wody (litry) <span>Różnica temperatur dT = 30°C</span></label>
                    <div class="rk-input-value-box"><span id="valBuffer">1000</span> L</div>
                </div>
                <input type="range" class="rk-cap-slider" id="inpBuffer" min="0" max="2000" step="100" value="1000">
            </div>

            <div class="rk-input-group">
                <div class="rk-input-header">
                    <label class="rk-input-label">Pojemność CWU (litry) <span>Nagrzew z 10°C do 55°C (dT = 45°C)</span></label>
                    <div class="rk-input-value-box"><span id="valDhw">300</span> L</div>
                </div>
                <input type="range" class="rk-cap-slider" id="inpDhw" min="0" max="500" step="50" value="300">
            </div>
        </div>

        <div class="rk-cap-results">
            <h3>Pojemność cieplna w kWh</h3>
            
            <div class="rk-res-card">
                <div class="rk-res-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 14.899A7 7 0 1 1 20 14.9V19a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4.101z"></path></svg>
                </div>
                <div class="rk-res-details">
                    <div class="rk-res-name">Akumulacja w betonie</div>
                    <div class="rk-res-math" id="mathArea">23.4t x 0.277 x 3K</div>
                </div>
                <div class="rk-res-val"><span id="resArea">19.45</span> kWh</div>
            </div>

            <div class="rk-res-card">
                <div class="rk-res-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="4" y="2" width="16" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12" y2="18.01"></line></svg>
                </div>
                <div class="rk-res-details">
                    <div class="rk-res-name">Woda buforowa</div>
                    <div class="rk-res-math" id="mathBuffer">1000L x 1.16 x 30K</div>
                </div>
                <div class="rk-res-val"><span id="resBuffer">34.80</span> kWh</div>
            </div>

            <div class="rk-res-card">
                <div class="rk-res-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2v20"></path><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                </div>
                <div class="rk-res-details">
                    <div class="rk-res-name">Ciepła Woda (CWU)</div>
                    <div class="rk-res-math" id="mathDhw">300L x 1.16 x 45K</div>
                </div>
                <div class="rk-res-val"><span id="resDhw">15.66</span> kWh</div>
            </div>

            <div class="rk-cap-total">
                <div class="rk-cap-total-title">Łączna darmowa pojemność</div>
                <div class="rk-cap-total-val"><span id="resTotal">69.91</span> kWh</div>
                <div class="rk-cap-equivalent">
                    Aby uzyskać tę samą pojemność w prądzie, musisz kupić akumulatory za: <br><strong id="resCost">~ 140 000 PLN</strong>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-cap-math-expl">
        Zgodnie z normą PN-EN 1264, dopuszczalna temperatura powierzchni podłogi to 29°C. Bezpieczne podniesienie temperatury betonu (o gęstości 2400 kg/m³) buduje gigantyczną <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładność cieplną</a>. Wszystkie obliczenia (Q = m x cw x dT) dowodzą, że fizyka wody i betonu deklasuje opłacalność baterii elektrochemicznych.
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Inputs
    const elArea = document.getElementById('inpArea');
    const elBuffer = document.getElementById('inpBuffer');
    const elDhw = document.getElementById('inpDhw');

    // Displays (Inputs)
    const valArea = document.getElementById('valArea');
    const valBuffer = document.getElementById('valBuffer');
    const valDhw = document.getElementById('valDhw');

    // Displays (Math expl)
    const mathArea = document.getElementById('mathArea');
    const mathBuffer = document.getElementById('mathBuffer');
    const mathDhw = document.getElementById('mathDhw');

    // Displays (Results)
    const resArea = document.getElementById('resArea');
    const resBuffer = document.getElementById('resBuffer');
    const resDhw = document.getElementById('resDhw');
    const resTotal = document.getElementById('resTotal');
    const resCost = document.getElementById('resCost');

    function calculate() {
        const area = parseFloat(elArea.value);
        const buffer = parseFloat(elBuffer.value);
        const dhw = parseFloat(elDhw.value);

        // Update input displays
        valArea.textContent = area;
        valBuffer.textContent = buffer;
        valDhw.textContent = dhw;

        // 1. Obliczenia dla Wylewki
        // m3 = area * 0.065 m (grubosc)
        // masa (kg) = m3 * 2400
        // masa (tony) = masa / 1000
        const massKg = area * 0.065 * 2400;
        const massT = (massKg / 1000).toFixed(1);
        // kWh = masa(kg) * 0.277 (Wh/kgK) * 3(K) / 1000
        const capArea = (massKg * 0.277 * 3) / 1000;
        
        mathArea.textContent = `${massT}t x 0.277 x 3K`;
        resArea.textContent = capArea.toFixed(2);

        // 2. Obliczenia dla Bufora (cw wody = 1.16 Wh/kgK, dT = 30K)
        const capBuffer = (buffer * 1.16 * 30) / 1000;
        mathBuffer.textContent = `${buffer}L x 1.16 x 30K`;
        resBuffer.textContent = capBuffer.toFixed(2);

        // 3. Obliczenia dla CWU (dT = 45K)
        const capDhw = (dhw * 1.16 * 45) / 1000;
        mathDhw.textContent = `${dhw}L x 1.16 x 45K`;
        resDhw.textContent = capDhw.toFixed(2);

        // 4. Razem
        const totalCap = capArea + capBuffer + capDhw;
        resTotal.textContent = totalCap.toFixed(2);

        // 5. Koszt ekwiwalentu bateryjnego
        // Zakładamy rynkowo: 10 kWh = ~20 000 PLN.
        const costEquiv = (totalCap / 10) * 20000;
        // Formatowanie z przerwą tysięcy
        resCost.textContent = '~ ' + Math.round(costEquiv).toLocaleString('pl-PL') + ' PLN';
    }

    // Event Listeners
    elArea.addEventListener('input', calculate);
    elBuffer.addEventListener('input', calculate);
    elDhw.addEventListener('input', calculate);

    // Initial load
    calculate();
});
</script>



<style>
:root {
    --rk-vs-dark: #0f172a;
    --rk-vs-navy: #1e293b;
    --rk-vs-blue: #0284c7;
    --rk-vs-orange: #f59e0b;
    --rk-vs-red: #ef4444;
    --rk-vs-green: #10b981;
    --rk-vs-gray: #64748b;
    --rk-vs-light: #f8fafc;
    --rk-vs-border: #e2e8f0;
}

.rk-vs-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-vs-border);
    overflow: hidden;
}

.rk-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Nagłówek */
.rk-vs-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-vs-dark) 0%, var(--rk-vs-navy) 100%);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-vs-orange);
    position: relative;
}

.rk-vs-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.rk-vs-header p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
    line-height: 1.6;
}

/* Układ główny */
.rk-vs-body {
    display: flex;
    background: #ffffff;
}

/* Nawigacja (lewa kolumna na desktopie) */
.rk-vs-nav {
    width: 280px;
    background: var(--rk-vs-light);
    border-right: 1px solid var(--rk-vs-border);
    flex-shrink: 0;
}

.rk-vs-item {
    border-bottom: 1px solid var(--rk-vs-border);
}

.rk-vs-item:last-child {
    border-bottom: none;
}

.rk-vs-btn {
    width: 100%;
    text-align: left;
    padding: 20px 25px;
    background: transparent;
    border: none;
    border-left: 4px solid transparent;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-vs-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rk-vs-btn-inner {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-vs-btn svg {
    width: 20px;
    height: 20px;
    opacity: 0.6;
    transition: all 0.3s;
}

.rk-vs-chevron {
    display: none; /* Pokazywany tylko na mobile */
    transition: transform 0.3s;
}

.rk-vs-btn:hover {
    background: #ffffff;
    color: var(--rk-vs-dark);
}

.rk-vs-btn.active {
    background: #ffffff;
    color: var(--rk-vs-blue);
    border-left-color: var(--rk-vs-blue);
}

.rk-vs-btn.active svg {
    opacity: 1;
    color: var(--rk-vs-blue);
}

/* Obszar wyświetlania paneli na DESKTOPIE (prawa kolumna) */
.rk-vs-desktop-content {
    flex-grow: 1;
    padding: 40px;
    position: relative;
    display: block;
}

.rk-vs-badge {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--rk-vs-dark);
    color: #ffffff;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 900;
    border: 4px solid #ffffff;
    z-index: 10;
}

/* Panele z treścią (Współdzielone dla desktopu i mobile) */
.rk-vs-panel {
    display: none;
    animation: fadeInVs 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Desktopowe wyświetlanie paneli */
.rk-vs-desktop-content .rk-vs-panel.active {
    display: block;
}

@keyframes fadeInVs {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.rk-vs-panel-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-vs-dark);
    margin: 0 0 25px 0;
    padding-bottom: 15px;
    border-bottom: 1px dashed var(--rk-vs-border);
}

.rk-vs-cards-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}

.rk-tech-card {
    border: 1px solid var(--rk-vs-border);
    border-radius: 16px;
    padding: 25px;
    position: relative;
    background: #ffffff;
    transition: transform 0.3s, box-shadow 0.3s;
}

.rk-tech-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px -10px rgba(0,0,0,0.1);
}

.rk-tech-card.winner {
    border-color: var(--rk-vs-green);
    background: #f0fdf4;
}

.rk-tech-card.loser {
    border-color: var(--rk-vs-red);
    background: #fef2f2;
}

.rk-tech-header {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--rk-vs-gray);
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-tech-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-vs-dark);
    line-height: 1.2;
}

.rk-tech-sub {
    font-size: 13px;
    color: var(--rk-vs-gray);
    margin-top: 5px;
    font-weight: 500;
}

.winner .rk-tech-val { color: var(--rk-vs-green); }
.loser .rk-tech-val { color: var(--rk-vs-red); }

/* Ukrycie paneli w lewej nawigacji na desktopie */
.rk-vs-nav .rk-vs-panel {
    display: none !important;
}

/* --- MOBILE --- */
@media (max-width: 768px) {
    .rk-vs-header { padding: 30px 20px; }
    .rk-vs-header h2 { font-size: 22px; flex-direction: column; }
    
    .rk-vs-body { flex-direction: column; }
    .rk-vs-nav { width: 100%; border-right: none; padding: 0; }
    
    /* Na mobile ukrywamy prawy kontener desktopowy */
    .rk-vs-desktop-content { display: none; }
    
    .rk-vs-btn {
        padding: 20px;
        border-left: none;
        border-bottom: 2px solid transparent;
        font-size: 15px;
    }
    
    .rk-vs-btn.active {
        border-left-color: transparent;
        border-bottom-color: var(--rk-vs-blue);
    }
    
    /* Pokazujemy strzałki na mobile */
    .rk-vs-chevron { display: block; }
    .rk-vs-btn.active .rk-vs-chevron { transform: rotate(180deg); }
    
    /* Wyświetlanie paneli pod przyciskami jako akordeon na mobile */
    .rk-vs-nav .rk-vs-panel {
        display: none;
        padding: 20px;
        background: #ffffff;
        border-bottom: 1px solid var(--rk-vs-border);
    }
    
    .rk-vs-nav .rk-vs-panel.active {
        display: block !important;
    }

    .rk-vs-cards-wrapper { grid-template-columns: 1fr; gap: 15px; }
    .rk-vs-panel-title { font-size: 18px; margin-bottom: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#article-zderzenie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/"
    },
    "headline": "Koszt za 1 kWh pojemności: Brutalne zderzenie technologii",
    "description": "Szczegółowe porównanie parametrów technicznych i kosztowych magazynu termicznego (bufor + wylewka) względem magazynu elektrycznego (LiFePO4).",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#dataset-zderzenie",
    "name": "Parametry techniczno-ekonomiczne systemów magazynowania energii 2026",
    "description": "Bezpośrednia konfrontacja kosztów, żywotności i efektywności dla dwóch wiodących metod akumulacji energii w domu jednorodzinnym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "cena za 1kwh magazyn energii",
      "żywotność magazynu energii lifepo4",
      "pojemność cieplna wylewki",
      "bufor ciepła vs akumulator prądu",
      "sprawność magazynowania energii"
    ],
    "measurementTechnique": "Interaktywna analiza wielokryterialna uwzględniająca pojemność użytkową, koszt jednostkowy CAPEX, sprawność konwersji oraz żywotność technologiczną.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Pojemność: Bufor (69,91 kWh termiczna) vs LiFePO4 (10 kWh elektryczna)",
        "Koszt jednostkowy: Bufor (100-130 PLN/kWh) vs LiFePO4 (1700-3500 PLN/kWh)",
        "Żywotność: Bufor (25-40 lat) vs LiFePO4 (10-12 lat)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#webapp-zderzenie",
    "name": "Eksplorator Technologii Akumulacyjnych",
    "description": "Wizualne narzędzie filtrujące ułatwiające zestawienie twardych danych fizycznych ze specyfikacjami urządzeń fotowoltaicznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-vs-container" id="zderzenie-tech-app">

    <div class="rk-sr-only">
        Słowa kluczowe analizy: cena za 1kwh magazyn energii, żywotność magazynu energii lifepo4, pojemność cieplna wylewki, bufor ciepła vs akumulator prądu, sprawność magazynowania energii.
    </div>

    <div class="rk-vs-header">
        <h2>
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="color: var(--rk-vs-orange);">
                <path d="M12 2L2 7l10 5 10-5-10-5z"></path>
                <path d="M2 17l10 5 10-5"></path>
                <path d="M2 12l10 5 10-5"></path>
            </svg>
            Brutalne zderzenie technologii
        </h2>
        <p>Sprawdź różnice, aby zobaczyć, jak przepaść technologiczna uderza bezpośrednio w Twój portfel i bezpieczeństwo inwestycji.</p>
    </div>

    <div class="rk-vs-body">
        
        <div class="rk-vs-nav" id="vsNavItems">
            
            <div class="rk-vs-item">
                <button class="rk-vs-btn active" data-target="pojemnosc">
                    <div class="rk-vs-btn-inner">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"></path><line x1="7" y1="7" x2="7.01" y2="7"></line></svg>
                        Realna Pojemność
                    </div>
                    <svg class="rk-vs-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-vs-panel" id="mob-pojemnosc"></div>
            </div>

            <div class="rk-vs-item">
                <button class="rk-vs-btn" data-target="koszt-calkowity">
                    <div class="rk-vs-btn-inner">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                        Koszt Całkowity
                    </div>
                    <svg class="rk-vs-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-vs-panel" id="mob-koszt-calkowity"></div>
            </div>

            <div class="rk-vs-item">
                <button class="rk-vs-btn" data-target="koszt-1kwh">
                    <div class="rk-vs-btn-inner">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                        Koszt za 1 kWh
                    </div>
                    <svg class="rk-vs-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-vs-panel" id="mob-koszt-1kwh"></div>
            </div>

            <div class="rk-vs-item">
                <button class="rk-vs-btn" data-target="zywotnosc">
                    <div class="rk-vs-btn-inner">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                        Żywotność Systemu
                    </div>
                    <svg class="rk-vs-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-vs-panel" id="mob-zywotnosc"></div>
            </div>

            <div class="rk-vs-item">
                <button class="rk-vs-btn" data-target="sprawnosc">
                    <div class="rk-vs-btn-inner">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                        Sprawność Cyklu
                    </div>
                    <svg class="rk-vs-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-vs-panel" id="mob-sprawnosc"></div>
            </div>

        </div>

        <div class="rk-vs-desktop-content">
            <div class="rk-vs-badge">VS</div>
            <div id="desktop-render-area">
                </div>
        </div>

    </div>
</div>

<div id="vs-templates" style="display:none;">
    
    <div id="content-pojemnosc">
        <h3 class="rk-vs-panel-title">Realna pojemność użytkowa</h3>
        <div class="rk-vs-cards-wrapper">
            <div class="rk-tech-card winner">
                <div class="rk-tech-header">
                    <svg width="16" height="16" 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> Bufor + Masa Wylewki
                </div>
                <div class="rk-tech-val">~ 69,91 kWh</div>
                <div class="rk-tech-sub">Energia termiczna skumulowana w wodzie i posadzce. Zapas na kilkanaście godzin pracy.</div>
            </div>
            <div class="rk-tech-card loser">
                <div class="rk-tech-header">
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect width="16" height="10" x="2" y="7" rx="2" ry="2"></rect><line x1="22" x2="22" y1="11" y2="13"></line></svg> Magazyn Elektryczny (LiFePO4)
                </div>
                <div class="rk-tech-val">10,00 kWh</div>
                <div class="rk-tech-sub">Zaledwie ułamek potrzebnej pojemności elektrycznej dla pracującej w zimie pompy ciepła.</div>
            </div>
        </div>
    </div>

    <div id="content-koszt-calkowity">
        <h3 class="rk-vs-panel-title">Koszt inwestycji (Zakup + Montaż)</h3>
        <div class="rk-vs-cards-wrapper">
            <div class="rk-tech-card winner">
                <div class="rk-tech-header">Bufor + Masa Wylewki</div>
                <div class="rk-tech-val">7 000 &#8211; 9 000 zł</div>
                <div class="rk-tech-sub">Wymaga uwzględnienia we wczesnym <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">projekcie ogrzewania podłogowego</a>.</div>
            </div>
            <div class="rk-tech-card loser">
                <div class="rk-tech-header">Magazyn Elektryczny (LiFePO4)</div>
                <div class="rk-tech-val">17 000 &#8211; 35 000 zł</div>
                <div class="rk-tech-sub">Sam zestaw bateryjny bez falownika. Zamrożenie ogromnego kapitału.</div>
            </div>
        </div>
    </div>

    <div id="content-koszt-1kwh">
        <h3 class="rk-vs-panel-title">Koszt jednostkowy za 1 kWh pojemności</h3>
        <div class="rk-vs-cards-wrapper">
            <div class="rk-tech-card winner">
                <div class="rk-tech-header">Bufor + Masa Wylewki</div>
                <div class="rk-tech-val">ok. 100 &#8211; 130 zł/kWh</div>
                <div class="rk-tech-sub">Najtańszy sposób na przesunięcie zużycia przy taryfach dynamicznych.</div>
            </div>
            <div class="rk-tech-card loser">
                <div class="rk-tech-header">Magazyn Elektryczny (LiFePO4)</div>
                <div class="rk-tech-val">ok. 1700 &#8211; 3500 zł/kWh</div>
                <div class="rk-tech-sub">Cena zaporowa. Przepłacasz ponad dziesięciokrotnie za każdy kilowat.</div>
            </div>
        </div>
    </div>

    <div id="content-zywotnosc">
        <h3 class="rk-vs-panel-title">Faktyczna żywotność systemu</h3>
        <div class="rk-vs-cards-wrapper">
            <div class="rk-tech-card winner">
                <div class="rk-tech-header">Bufor + Masa Wylewki</div>
                <div class="rk-tech-val">25 &#8211; 40 lat</div>
                <div class="rk-tech-sub">Stal i beton nie ulegają zużyciu technologicznemu w zamkniętym układzie wodnym.</div>
            </div>
            <div class="rk-tech-card loser">
                <div class="rk-tech-header">Magazyn Elektryczny (LiFePO4)</div>
                <div class="rk-tech-val">10 &#8211; 12 lat</div>
                <div class="rk-tech-sub">Nieuchronna degradacja ogniw chemicznych i spadek pojemności poniżej 80%.</div>
            </div>
        </div>
    </div>

    <div id="content-sprawnosc">
        <h3 class="rk-vs-panel-title">Sprawność i straty cyklu</h3>
        <div class="rk-vs-cards-wrapper">
            <div class="rk-tech-card winner">
                <div class="rk-tech-header">Bufor + Masa Wylewki</div>
                <div class="rk-tech-val">95 &#8211; 98%</div>
                <div class="rk-tech-sub">Brak elektroniki = brak strat konwersji. Gwarantują to izolacje termiczne (EPS/PUR).</div>
            </div>
            <div class="rk-tech-card loser">
                <div class="rk-tech-header">Magazyn Elektryczny (LiFePO4)</div>
                <div class="rk-tech-val">85 &#8211; 90%</div>
                <div class="rk-tech-sub">Gigantyczne straty ciepła przy ciągłej konwersji prądu zmiennego na stały (DC/AC).</div>
            </div>
        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-vs-btn');
    const desktopArea = document.getElementById('desktop-render-area');

    function renderContent(targetId, isMobile) {
        const sourceHtml = document.getElementById('content-' + targetId).innerHTML;

        if (isMobile) {
            // Wyczyść wszystkie mobile panele
            document.querySelectorAll('.rk-vs-item .rk-vs-panel').forEach(p => {
                p.innerHTML = '';
                p.classList.remove('active');
            });
            // Wrzuć HTML do klikniętego panelu i otwórz go
            const mobContainer = document.getElementById('mob-' + targetId);
            mobContainer.innerHTML = sourceHtml;
            mobContainer.classList.add('active');
        } else {
            // Wrzuć HTML do prawego panelu
            desktopArea.innerHTML = `<div class="rk-vs-panel active">${sourceHtml}</div>`;
        }
    }

    // Inicjalizacja pierwszego elementu
    const firstTarget = 'pojemnosc';
    const isMobileInit = window.innerWidth <= 768;
    renderContent(firstTarget, isMobileInit);

    // Obsługa kliknięć
    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            const isMobile = window.innerWidth <= 768;
            const targetId = this.getAttribute('data-target');
            
            // Jeśli to mobile i klikamy aktywny przycisk -> zwiń go
            if (isMobile && this.classList.contains('active')) {
                this.classList.remove('active');
                document.getElementById('mob-' + targetId).classList.remove('active');
                return;
            }

            // Reset stanów
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Render
            renderContent(targetId, isMobile);
        });
    });

    // Reagowanie na zmianę rozmiaru okna (odśwież wyświetlanie)
    window.addEventListener('resize', function() {
        const activeBtn = document.querySelector('.rk-vs-btn.active');
        if(activeBtn) {
            const isMobile = window.innerWidth <= 768;
            const targetId = activeBtn.getAttribute('data-target');
            renderContent(targetId, isMobile);
        }
    });
});
</script>



<style>
:root {
    --rk-cf-dark: #0f172a;
    --rk-cf-navy: #1e293b;
    --rk-cf-blue: #0284c7;
    --rk-cf-green: #10b981;
    --rk-cf-green-light: #f0fdf4;
    --rk-cf-red: #ef4444;
    --rk-cf-red-light: #fef2f2;
    --rk-cf-gray: #64748b;
    --rk-cf-light: #f8fafc;
    --rk-cf-border: #e2e8f0;
    --rk-cf-orange: #f59e0b;
}

.rk-cf-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-cf-border);
    overflow: hidden;
}

/* Ukryte Tagi SEO dla robotów */
.rk-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Nagłówek */
.rk-cf-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-cf-dark) 0%, var(--rk-cf-navy) 100%);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-cf-blue);
}

.rk-cf-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.rk-cf-header p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
    line-height: 1.6;
}

/* Nawigacja Czasowa */
.rk-cf-timeline {
    display: flex;
    background: var(--rk-cf-light);
    border-bottom: 1px solid var(--rk-cf-border);
}

.rk-cf-time-btn {
    flex: 1;
    padding: 20px 10px;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    color: var(--rk-cf-gray);
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.rk-cf-time-btn svg {
    width: 24px;
    height: 24px;
    transition: transform 0.3s;
}

.rk-cf-time-btn:hover {
    color: var(--rk-cf-blue);
    background: #ffffff;
}

.rk-cf-time-btn:hover svg {
    transform: translateY(-3px);
}

.rk-cf-time-btn.active {
    color: var(--rk-cf-blue);
    border-bottom-color: var(--rk-cf-blue);
    background: #ffffff;
}

/* Zawartość Paneli */
.rk-cf-panel {
    display: none;
    padding: 40px 50px;
    animation: fadeInCF 0.4s ease;
}

.rk-cf-panel.active {
    display: block;
}

@keyframes fadeInCF {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.rk-cf-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

/* Karty Porównawcze */
.rk-cf-card {
    border: 1px solid var(--rk-cf-border);
    border-radius: 16px;
    padding: 30px;
    position: relative;
    overflow: hidden;
}

.rk-cf-card.state-good {
    background: var(--rk-cf-green-light);
    border-color: var(--rk-cf-green);
}

.rk-cf-card.state-bad {
    background: var(--rk-cf-red-light);
    border-color: var(--rk-cf-red);
}

.rk-cf-card.state-neutral {
    background: #ffffff;
    border-color: var(--rk-cf-border);
}

.rk-cf-card h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-cf-dark);
    margin: 0 0 5px 0;
}

.rk-cf-card-subtitle {
    font-size: 13px;
    color: var(--rk-cf-gray);
    font-weight: 600;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.rk-cf-data {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
}

.rk-cf-data ul {
    margin: 15px 0 0 0;
    padding: 0;
    list-style: none;
}

.rk-cf-data li {
    padding: 10px 0;
    border-bottom: 1px dashed rgba(0,0,0,0.1);
    display: flex;
    justify-content: space-between;
}

.rk-cf-data li:last-child {
    border-bottom: none;
}

.rk-cf-highlight {
    font-size: 22px;
    font-weight: 900;
    display: block;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 2px solid rgba(0,0,0,0.1);
}

.text-green { color: #059669; }
.text-red { color: #dc2626; }
.text-dark { color: var(--rk-cf-dark); }

/* Detale linków */
.rk-cf-data a {
    color: var(--rk-cf-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 768px) {
    .rk-cf-header, .rk-cf-panel { padding: 30px 20px; }
    .rk-cf-header h2 { font-size: 22px; flex-direction: column; }
    .rk-cf-timeline { flex-wrap: wrap; }
    .rk-cf-time-btn { flex: 0 0 50%; padding: 15px; font-size: 12px; }
    .rk-cf-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-cf-card { padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#article-cashflow",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/"
    },
    "headline": "Analiza przepływu pieniędzy w czasie: Kto zarobi, a kto straci?",
    "description": "Zestawienie przepływów kapitału dla systemów akumulacji ciepła i prądu w okresie 20 lat eksploatacji budynku, z uwzględnieniem kosztów serwisu i wymiany podzespołów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#dataset-cashflow",
    "name": "Symulacja Cash Flow 20-letnia: Magazyn vs Bufor (2026)",
    "description": "Szczegółowe dane finansowe obejmujące koszty startowe, okres amortyzacji oraz koszty serwisowe instalacji grzewczych i fotowoltaicznych po 15 latach.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator zwrotu z instalacji fotowoltaicznej",
      "opłacalność magazynu energii 2026",
      "żywotność akumulatorów do fotowoltaiki",
      "koszt wymiany falownika",
      "zyski z taryf dynamicznych"
    ],
    "measurementTechnique": "Okresowa analiza NPV (Net Present Value) uproszczona do bilansu kosztów startowych i sumarycznych zysków/strat operacyjnych w przedziałach 5-letnich.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Etap 1-5 lat: Zwrot kosztów bufora ciepła vs powolna spłata PV.",
        "Etap 6-15 lat: Generowanie 15k PLN zysku przez bufor vs dojście PV do progu rentowności.",
        "Kryzys 15. roku: Spadek sprawności PV o 25%, koszt wymiany falownika i regeneracji baterii (15k-20k PLN).",
        "Bilans 20 lat: Bufor generuje 23k PLN netto, system PV kończy w okolicach 0 PLN ze względu na amortyzację."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#webapp-cashflow",
    "name": "Symulator Przepływów Kapitałowych HVAC",
    "description": "Narzędzie interaktywne ilustrujące na osi czasu ukryte koszty serwisowe i degradację podzespołów w popularnych systemach energetycznych budynków.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cf-container" id="cashflow-app">
    
    <div class="rk-sr-only">
        Rozwiązania: kalkulator zwrotu z instalacji fotowoltaicznej, opłacalność magazynu energii 2026, żywotność akumulatorów do fotowoltaiki, koszt wymiany falownika, zyski z taryf dynamicznych.
    </div>

    <div class="rk-cf-header">
        <h2>
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="color: var(--rk-cf-orange);">
                <line x1="12" y1="1" x2="12" y2="23"></line>
                <path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path>
            </svg>
            Analiza przepływu pieniędzy w czasie
        </h2>
        <p>Wielu inwestorów dało się naciągnąć na narrację o "darmowym prądzie". Zobaczmy, jak wygląda czysty przepływ kapitału w horyzoncie 20 lat eksploatacji budynku dla obu wariantów.</p>
    </div>

    <div class="rk-cf-timeline" id="cfTabs">
        <button class="rk-cf-time-btn active" data-target="etap-start">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
            Start & Lata 1–5
        </button>
        <button class="rk-cf-time-btn" data-target="etap-zysk">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline></svg>
            Lata 6–15
        </button>
        <button class="rk-cf-time-btn" data-target="etap-kryzys">
            <svg 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>
            Kryzys 15. Roku
        </button>
        <button class="rk-cf-time-btn" data-target="etap-final">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
            Bilans 20 Lat
        </button>
    </div>

    <div class="rk-cf-panel active" id="etap-start">
        <div class="rk-cf-grid">
            <div class="rk-cf-card state-good">
                <h3>Wariant A: Fizyka budynku</h3>
                <div class="rk-cf-card-subtitle">Bufor Ciepła 1000L</div>
                <div class="rk-cf-data">
                    <p>Zamiast w elektronikę, inwestujesz w odpowiednią masę wody i betonu, opierając się na <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">projekcie instalacji</a>.</p>
                    <ul>
                        <li>Koszt początkowy: <strong>7 000 PLN</strong></li>
                        <li>Lata 1–5: <strong>Szybka spłata kosztów z oszczędności</strong></li>
                    </ul>
                    <span class="rk-cf-highlight text-green">Spłacony w 5 lat.</span>
                </div>
            </div>
            <div class="rk-cf-card state-bad">
                <h3>Wariant B: Bateria Chemiczna</h3>
                <div class="rk-cf-card-subtitle">PV 10 kWp + Magazyn 10 kWh</div>
                <div class="rk-cf-data">
                    <p>Zamrażasz potężny kapitał w sprzęcie, który ulega zużyciu technologicznemu, zanim zdąży na siebie zapracować.</p>
                    <ul>
                        <li>Koszt początkowy: <strong>60 000 PLN</strong></li>
                        <li>Lata 1–5: <strong>Instalacja ledwie w 1/3 drogi do spłaty</strong></li>
                    </ul>
                    <span class="rk-cf-highlight text-red">-40 000 PLN pod kreską.</span>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-cf-panel" id="etap-zysk">
        <div class="rk-cf-grid">
            <div class="rk-cf-card state-good">
                <h3>Wariant A: Fizyka budynku</h3>
                <div class="rk-cf-card-subtitle">Praca na "Czysto"</div>
                <div class="rk-cf-data">
                    <p>Woda w zamkniętym zładzie i betonowa wylewka nie ulegają degradacji. Automatyka przy <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">taryfach dynamicznych</a> działa perfekcyjnie.</p>
                    <ul>
                        <li>Zysk roczny: <strong>1 500 PLN</strong></li>
                        <li>Okres: <strong>10 lat pracy na czysto</strong></li>
                    </ul>
                    <span class="rk-cf-highlight text-green">+15 000 PLN czystego zysku.</span>
                </div>
            </div>
            <div class="rk-cf-card state-neutral">
                <h3>Wariant B: Bateria Chemiczna</h3>
                <div class="rk-cf-card-subtitle">Mozolne odrabianie strat</div>
                <div class="rk-cf-data">
                    <p>Instalacja powoli zmierza do punktu rentowności. Roczna oszczędność ogólna z PV i buforowania prądu to około 4 000 PLN.</p>
                    <ul>
                        <li>Kalkulacja zwrotu: <strong>60 000 PLN / 4 000 PLN = 15 lat</strong></li>
                        <li>Status układu: <strong>Wychodzenie na zero</strong></li>
                    </ul>
                    <span class="rk-cf-highlight text-dark">Dopiero dobija do 0 PLN.</span>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-cf-panel" id="etap-kryzys">
        <div class="rk-cf-grid">
            <div class="rk-cf-card state-good">
                <h3>Wariant A: Fizyka budynku</h3>
                <div class="rk-cf-card-subtitle">Bez zmian, bez stresu</div>
                <div class="rk-cf-data">
                    <p>Stalowy bufor ciepła nie wykazuje oznak zużycia. System pracuje tak samo wydajnie, jak w dniu uruchomienia pompy.</p>
                    <ul>
                        <li>Koszt serwisu zbiornika: <strong>0 PLN</strong></li>
                        <li>Degradacja pojemności cieplnej: <strong>0%</strong></li>
                    </ul>
                    <span class="rk-cf-highlight text-green">Brak ukrytych kosztów.</span>
                </div>
            </div>
            <div class="rk-cf-card state-bad">
                <h3>Wariant B: Bateria Chemiczna</h3>
                <div class="rk-cf-card-subtitle">Tzw. Złota Klatka</div>
                <div class="rk-cf-data">
                    <p>To moment, o którym handlowcy milczą. Spadek sprawności ogniw spada poniżej 75%, falownik ulega uszkodzeniu po gwarancji.</p>
                    <ul>
                        <li>Konieczność zakupu nowego falownika</li>
                        <li>Regeneracja/wymiana modułów bateryjnych</li>
                    </ul>
                    <span class="rk-cf-highlight text-red">Koszt serwisu: 15 000 - 20 000 PLN.</span>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-cf-panel" id="etap-final">
        <div class="rk-cf-grid">
            <div class="rk-cf-card state-good">
                <h3>Wariant A: Fizyka budynku</h3>
                <div class="rk-cf-card-subtitle">Zwycięzca Logiki</div>
                <div class="rk-cf-data">
                    <p>Kolejne 5 lat (lata 16-20) to dodatkowe 7 500 PLN oszczędności.</p>
                    <ul>
                        <li>Całkowite odzyskanie wkładu: <strong>Tak (7 000 PLN)</strong></li>
                        <li>Stan systemu: <strong>W pełni sprawny</strong></li>
                    </ul>
                    <span class="rk-cf-highlight text-green">Bilans końcowy: +23 000 PLN na PLUS.</span>
                </div>
            </div>
            <div class="rk-cf-card state-neutral" style="border-color: var(--rk-cf-orange); background: #fffbeb;">
                <h3>Wariant B: Bateria Chemiczna</h3>
                <div class="rk-cf-card-subtitle">Wyjście na remis</div>
                <div class="rk-cf-data">
                    <p>Inwestor z trudem odrabia koszty serwisu z 15. roku, stając przed perspektywą ponownego zakupu całego zestarzałego systemu OZE.</p>
                    <ul>
                        <li>Realny zysk netto: <strong>Od 0 PLN do 5 000 PLN</strong></li>
                        <li>Konieczność kolejnych inwestycji: <strong>Bliska</strong></li>
                    </ul>
                    <span class="rk-cf-highlight" style="color: var(--rk-cf-orange);">Bilans końcowy: ~0 PLN.</span>
                </div>
            </div>
        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('.rk-cf-time-btn');
    const panels = document.querySelectorAll('.rk-cf-panel');

    tabs.forEach(tab => {
        tab.addEventListener('click', () => {
            // Czyszczenie
            tabs.forEach(t => t.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Aktywacja
            tab.classList.add('active');
            const targetId = tab.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --rk-chart-dark: #0f172a;
    --rk-chart-blue: #0284c7;
    --rk-chart-red: #ef4444;
    --rk-chart-green: #10b981;
    --rk-chart-gray: #64748b;
    --rk-chart-border: #e2e8f0;
    --rk-chart-bg: #ffffff;
    --rk-chart-orange: #f97316;
}

.rk-chart-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-chart-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.15);
    border: 1px solid var(--rk-chart-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-chart-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-chart-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-chart-orange);
}

.rk-chart-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 10px 0;
    letter-spacing: -0.5px;
}

.rk-chart-header p {
    color: #94a3b8;
    margin: 0;
    font-size: 16px;
    font-weight: 500;
}

/* Interaktywna Oś Czasu */
.rk-timeline-nav {
    display: flex;
    justify-content: space-between;
    background: #f8fafc;
    padding: 20px 50px;
    border-bottom: 1px solid var(--rk-chart-border);
    position: relative;
}

/* Linia łącząca w tle */
.rk-timeline-nav::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 70px;
    right: 70px;
    height: 3px;
    background: #cbd5e1;
    transform: translateY(-5px);
    z-index: 1;
}

.rk-time-step {
    position: relative;
    z-index: 2;
    background: #ffffff;
    border: 3px solid #cbd5e1;
    color: var(--rk-chart-gray);
    font-weight: 800;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.rk-time-step span {
    font-size: 10px;
    text-transform: uppercase;
    line-height: 1;
}

.rk-time-step strong {
    font-size: 16px;
    line-height: 1;
    margin-top: 2px;
}

.rk-time-step:hover {
    border-color: var(--rk-chart-blue);
    transform: scale(1.1);
}

.rk-time-step.active {
    border-color: var(--rk-chart-orange);
    background: var(--rk-chart-orange);
    color: #ffffff;
    transform: scale(1.2);
    box-shadow: 0 10px 15px -3px rgba(249, 115, 22, 0.3);
}

/* Prezentacja Danych (Słupki i Wartości) */
.rk-chart-display {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-chart-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.rk-chart-col {
    background: #f8fafc;
    border: 1px solid var(--rk-chart-border);
    border-radius: 20px;
    padding: 30px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-chart-col h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-chart-dark);
    margin: 0 0 5px 0;
    position: relative;
    z-index: 2;
}

.rk-col-desc {
    font-size: 13px;
    color: var(--rk-chart-gray);
    margin-bottom: 25px;
    position: relative;
    z-index: 2;
}

/* Wizualny wskaźnik bilansu (słupek) */
.rk-bar-bg {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0%; /* Zmieniane przez JS */
    transition: height 0.6s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.4s;
    z-index: 1;
    opacity: 0.15;
}

.rk-value-display {
    font-size: 42px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    position: relative;
    z-index: 2;
    transition: color 0.3s;
}

.value-negative { color: var(--rk-chart-red); }
.value-neutral { color: var(--rk-chart-gray); }
.value-positive { color: var(--rk-chart-green); }

/* Wniosek końcowy */
.rk-chart-conclusion {
    padding: 35px 50px;
    background: #f1f5f9;
    border-top: 1px solid var(--rk-chart-border);
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.rk-conclusion-icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    background: var(--rk-chart-dark);
    color: #ffffff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-conclusion-text h4 {
    margin: 0 0 10px 0;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-chart-dark);
}

.rk-conclusion-text p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.rk-conclusion-text strong {
    color: var(--rk-chart-orange);
    font-weight: 800;
}

@media (max-width: 768px) {
    .rk-chart-header, .rk-timeline-nav, .rk-chart-display, .rk-chart-conclusion { padding: 25px 20px; }
    .rk-timeline-nav::before { left: 30px; right: 30px; }
    .rk-time-step { width: 40px; height: 40px; }
    .rk-time-step strong { font-size: 14px; }
    .rk-chart-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-value-display { font-size: 36px; }
    .rk-chart-conclusion { flex-direction: column; gap: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#article-wykres",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/"
    },
    "headline": "Skumulowany bilans finansowy w czasie: Bufor vs Magazyn PV",
    "description": "Interaktywna analiza zwrotu z inwestycji (ROI) w perspektywie 20-letniej. Porównanie magazynu termicznego z instalacją fotowoltaiczną i akumulatorem.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#dataset-wykres",
    "name": "Przepływy finansowe w czasie (20 lat): Bufor cieplny vs PV z Magazynem",
    "description": "Matryca danych finansowych ilustrująca tempo zwrotu inwestycji w fizykę budynku w zestawieniu z zakupem elektroniki z ograniczoną żywotnością.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zwrot z inwestycji w bufor ciepla",
      "po ilu latach zwraca sie magazyn energii",
      "wykres oplacalnosci fotowoltaiki 2026",
      "bufor czy magazyn energii kalkulator",
      "amortyzacja ogrzewania podlogowego"
    ],
    "measurementTechnique": "Algorytm porównawczy kapitału netto (koszt inwestycyjny minus skumulowane oszczędności z taryf dynamicznych) w punktach 0, 5, 10, 15 i 20 lat.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rok 0: Bufor (-7 000 PLN) vs PV+Magazyn (-60 000 PLN)",
        "Rok 5: Bufor (0 PLN - pełny zwrot) vs PV+Magazyn (-40 000 PLN)",
        "Rok 15: Bufor (+15 500 PLN zysku) vs PV+Magazyn (0 PLN - próg opłacalności)",
        "Rok 20: Bufor (+23 000 PLN zysku) vs PV+Magazyn (średnio +5 000 PLN uwzględniając serwis)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#webapp-wykres",
    "name": "Interaktywny symulator stopy zwrotu (ROI)",
    "description": "Dynamiczny komponent webowy pozwalający inwestorowi śledzić bilans zysków i strat instalacji grzewczej i OZE na dedykowanej osi czasu.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-chart-container" id="sekcja-wykresu-app">
    <div class="rk-chart-header">
        <h2>Skumulowany bilans finansowy: Bufor vs PV z Magazynem</h2>
        <p>Przeklikaj oś czasu inwestycji, aby zobaczyć bezwzględne liczby określające zysk lub stratę netto po danym okresie.</p>
    </div>

    <div class="rk-timeline-nav" id="timelineNav">
        <div class="rk-time-step active" data-year="0">
            <span>Rok</span><strong>0</strong>
        </div>
        <div class="rk-time-step" data-year="5">
            <span>Rok</span><strong>5</strong>
        </div>
        <div class="rk-time-step" data-year="10">
            <span>Rok</span><strong>10</strong>
        </div>
        <div class="rk-time-step" data-year="15">
            <span>Rok</span><strong>15</strong>
        </div>
        <div class="rk-time-step" data-year="20">
            <span>Rok</span><strong>20</strong>
        </div>
    </div>

    <div class="rk-chart-display">
        <div class="rk-chart-grid">
            
            <div class="rk-chart-col">
                <div class="rk-bar-bg" id="bgBufor"></div>
                <h3>Magazyn Termiczny</h3>
                <div class="rk-col-desc">Bufor ciepła + podłogówka</div>
                <div class="rk-value-display value-negative" id="valBufor">-7 000 zł</div>
            </div>

            <div class="rk-chart-col">
                <div class="rk-bar-bg" id="bgPv"></div>
                <h3>Magazyn Elektryczny</h3>
                <div class="rk-col-desc">Fotowoltaika 10kWp + Aku 10kWh</div>
                <div class="rk-value-display value-negative" id="valPv">-60 000 zł</div>
            </div>

        </div>
    </div>

    <div class="rk-chart-conclusion">
        <div class="rk-conclusion-icon">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
        </div>
        <div class="rk-conclusion-text">
            <h4>Najmocniejszy wniosek inżynierski</h4>
            <p>
                W chwili, gdy instalacja fotowoltaiczna z akumulatorem w ogóle zaczyna wypracowywać próg rentowności (okolice 15. roku), system oparty na prostym, bezawaryjnym buforze ciepła zdążył już wygenerować <strong>kilkanaście tysięcy złotych czystych oszczędności</strong>, bez ryzyka konieczności zakupu nowych ogniw chemicznych.
            </p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Baza danych wykresu (wartości w PLN)
    const chartData = {
        0:  { bufor: -7000, pv: -60000 },
        5:  { bufor: 0,     pv: -40000 },
        10: { bufor: 8000,  pv: -20000 },
        15: { bufor: 15500, pv: 0 },
        20: { bufor: 23000, pv: 5000 } // Dla PV uśredniono wartość "0 do 10000" do 5000 zł
    };

    const timeSteps = document.querySelectorAll('.rk-time-step');
    const valBuforEl = document.getElementById('valBufor');
    const valPvEl = document.getElementById('valPv');
    const bgBuforEl = document.getElementById('bgBufor');
    const bgPvEl = document.getElementById('bgPv');

    // Funkcja formatująca kwotę w PLN
    function formatPLN(value) {
        if (value === 0) return '0 zł';
        const prefix = value > 0 ? '+' : '';
        // Formatowanie z użyciem spacji jako separatora tysięcy
        const formatted = Math.abs(value).toString().replace(/\B(?=(\d{3})+(?!\d))/g, " ");
        return `${prefix}${formatted} zł`;
    }

    // Funkcja dobierająca styl dla wartości (kolor tekstu i tła)
    function applyStyles(value, textEl, bgEl) {
        textEl.classList.remove('value-negative', 'value-neutral', 'value-positive');
        
        // Obliczanie wysokości słupka "w tle" proporcjonalnie do wartości
        // Max straty to 60k, Max zysk to 23k. Ustawmy 60k jako 100% tła.
        const percentage = Math.min(Math.abs(value) / 60000 * 100, 100);

        if (value < 0) {
            textEl.classList.add('value-negative');
            bgEl.style.backgroundColor = 'var(--rk-chart-red)';
            bgEl.style.height = `${percentage}%`;
        } else if (value === 0) {
            textEl.classList.add('value-neutral');
            bgEl.style.backgroundColor = 'transparent';
            bgEl.style.height = `0%`;
        } else {
            textEl.classList.add('value-positive');
            bgEl.style.backgroundColor = 'var(--rk-chart-green)';
            // Dla wartości dodatnich przeskalujemy tło (23k = 100%)
            const posPercentage = Math.min((value / 25000) * 100, 100);
            bgEl.style.height = `${posPercentage}%`;
        }
    }

    // Inicjalizacja dla roku 0
    applyStyles(chartData[0].bufor, valBuforEl, bgBuforEl);
    applyStyles(chartData[0].pv, valPvEl, bgPvEl);

    // Obsługa zdarzeń na osi czasu
    timeSteps.forEach(step => {
        step.addEventListener('click', function() {
            // Reset active class
            timeSteps.forEach(s => s.classList.remove('active'));
            this.classList.add('active');

            const year = this.getAttribute('data-year');
            const data = chartData[year];

            // Aktualizacja tekstów
            valBuforEl.textContent = formatPLN(data.bufor);
            valPvEl.textContent = formatPLN(data.pv);

            // Aktualizacja stylów/słupków
            applyStyles(data.bufor, valBuforEl, bgBuforEl);
            applyStyles(data.pv, valPvEl, bgPvEl);
        });
    });
});
</script>



<style>
:root {
    --rk-cs-dark: #0f172a;
    --rk-cs-blue: #0ea5e9;
    --rk-cs-navy: #1e293b;
    --rk-cs-gray: #64748b;
    --rk-cs-light: #f8fafc;
    --rk-cs-border: #e2e8f0;
    --rk-cs-green: #10b981;
    --rk-cs-red: #ef4444;
}

.rk-cs-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-cs-border);
    overflow: hidden;
}

/* Sekcja Eksperta / Nagłówek */
.rk-cs-header {
    display: flex;
    align-items: center;
    gap: 25px;
    padding: 40px 50px;
    background: linear-gradient(to right, var(--rk-cs-dark), var(--rk-cs-navy));
    color: #ffffff;
}

.rk-cs-expert-photo {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    border: 4px solid rgba(255, 255, 255, 0.1);
    object-fit: cover;
    box-shadow: 0 10px 25px rgba(0,0,0,0.3);
    flex-shrink: 0;
}

.rk-cs-header-content h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 8px 0;
    color: #ffffff;
    line-height: 1.2;
}

.rk-cs-expert-name {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #cbd5e1;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-cs-badge {
    background: rgba(14, 165, 233, 0.2);
    color: #38bdf8;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 800;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

/* Parametry brzegowe (Baza) */
.rk-cs-params {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    background: var(--rk-cs-light);
    border-bottom: 1px solid var(--rk-cs-border);
}

.rk-cs-param-item {
    padding: 25px 30px;
    text-align: center;
    border-right: 1px solid var(--rk-cs-border);
}

.rk-cs-param-item:last-child { border-right: none; }

.rk-cs-param-title {
    font-size: 13px;
    color: var(--rk-cs-gray);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 700;
    margin-bottom: 8px;
}

.rk-cs-param-val {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-cs-dark);
}

/* Sekcja Interaktywna - Przełącznik Wariantów */
.rk-cs-interactive {
    padding: 40px 50px;
}

.rk-cs-tabs {
    display: flex;
    background: #f1f5f9;
    border-radius: 12px;
    padding: 6px;
    margin-bottom: 35px;
}

.rk-cs-tab {
    flex: 1;
    text-align: center;
    padding: 16px 20px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-cs-gray);
    cursor: pointer;
    border-radius: 8px;
    transition: all 0.3s;
    border: none;
    background: transparent;
}

.rk-cs-tab.active {
    background: #ffffff;
    color: var(--rk-cs-dark);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* Wyniki (Karty) */
.rk-cs-result {
    display: none;
    animation: fadeInCS 0.4s ease;
}

.rk-cs-result.active {
    display: block;
}

@keyframes fadeInCS {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.rk-cs-data-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 30px;
}

.rk-cs-box {
    border: 1px solid var(--rk-cs-border);
    border-radius: 16px;
    padding: 25px;
    background: #ffffff;
}

.rk-cs-box-title {
    font-size: 14px;
    color: var(--rk-cs-gray);
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 15px;
}

.rk-cs-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.rk-cs-list li {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px dashed var(--rk-cs-border);
    font-size: 15px;
    color: var(--rk-cs-navy);
}

.rk-cs-list li:last-child { border-bottom: none; }
.rk-cs-list li strong { font-weight: 800; }

.text-green { color: var(--rk-cs-green); }
.text-red { color: var(--rk-cs-red); }

/* Podsumowanie Czasowe */
.rk-cs-timeline-res {
    background: var(--rk-cs-light);
    border-radius: 16px;
    padding: 30px;
    border-left: 4px solid var(--rk-cs-blue);
}

.rk-cs-timeline-res h4 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-cs-dark);
}

.rk-cs-timeline-res p {
    margin: 0 0 15px 0;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.rk-cs-timeline-res p:last-child { margin: 0; }

.rk-cs-timeline-res a {
    color: var(--rk-cs-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 768px) {
    .rk-cs-header { flex-direction: column; text-align: center; padding: 35px 20px; gap: 15px; }
    .rk-cs-expert-name { justify-content: center; }
    .rk-cs-params { grid-template-columns: 1fr; }
    .rk-cs-param-item { border-right: none; border-bottom: 1px solid var(--rk-cs-border); padding: 20px; }
    .rk-cs-param-item:last-child { border-bottom: none; }
    .rk-cs-interactive { padding: 30px 20px; }
    .rk-cs-tabs { flex-direction: column; }
    .rk-cs-data-grid { grid-template-columns: 1fr; gap: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/"
    },
    "headline": "Case Study: Oszczędności z taryf dynamicznych (Dom 150 m²)",
    "description": "Analiza inżynierska Roberta Kucharskiego pokazująca realne koszty i zwrot z inwestycji w bufor ciepła względem magazynu energii na przestrzeni 20 lat.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#dataset-casestudy",
    "name": "Kalkulacja zwrotu inwestycyjnego: Bufor vs Magazyn PV (150m2)",
    "description": "Zestawienie twardych danych pokazujących przepływ finansowy dla domu 150m2 zużywającego 5000 kWh energii na cele grzewcze.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "obliczenia ozc dla 150m2",
      "ile prądu zużywa pompa ciepła",
      "taryfy dynamiczne kalkulator",
      "zwrot z inwestycji w ogrzewanie podłogowe",
      "bufor do pompy ciepła koszty"
    ],
    "measurementTechnique": "Symulacja kosztów w ujęciu 15 i 20 lat z uwzględnieniem amortyzacji sprzętu i wahań cen energii G11 vs taryfy giełdowe.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wariant 1: Bufor 1000 l (Koszt 7k PLN, Zysk po 20 latach +23k PLN)",
        "Wariant 2: PV + Magazyn (Koszt 60k PLN, Zysk po 20 latach ~0 PLN)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#webapp-casestudy",
    "name": "Interaktywne Case Study OZE",
    "description": "Symulator scenariuszy inwestycyjnych pozwalający przełączać modele magazynowania energii dla typowego domu jednorodzinnego.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cs-wrapper" id="case-study-app">
    <div class="rk-cs-header">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-cs-expert-photo">
        <div class="rk-cs-header-content">
            <h2>Case Study: Złudzenie 15-letniego zwrotu</h2>
            <div class="rk-cs-expert-name">
                Robert Kucharski 
                <span class="rk-cs-badge">CEO / HVAC</span>
            </div>
        </div>
    </div>

    <div class="rk-cs-params">
        <div class="rk-cs-param-item">
            <div class="rk-cs-param-title">Budynek</div>
            <div class="rk-cs-param-val">150 m² (4 os.)</div>
        </div>
        <div class="rk-cs-param-item">
            <div class="rk-cs-param-title">System Grzewczy</div>
            <div class="rk-cs-param-val">Pompa Ciepła</div>
        </div>
        <div class="rk-cs-param-item">
            <div class="rk-cs-param-title">Roczne Zużycie (Ogrzewanie)</div>
            <div class="rk-cs-param-val">5000 kWh</div>
        </div>
    </div>

    <div class="rk-cs-interactive">
        <div class="rk-cs-tabs" id="csTabs">
            <button class="rk-cs-tab active" data-target="wariant-1">Wariant 1: Bufor 1000L + Taryfy Dynamiczne</button>
            <button class="rk-cs-tab" data-target="wariant-2">Wariant 2: Fotowoltaika 10kWp + Magazyn 10kWh</button>
        </div>

        <div class="rk-cs-result active" id="wariant-1">
            <div class="rk-cs-data-grid">
                <div class="rk-cs-box">
                    <div class="rk-cs-box-title">Start Inwestycji</div>
                    <ul class="rk-cs-list">
                        <li>Koszt zakupu i montażu: <strong>~7 000 zł</strong></li>
                        <li>Spadek ceny prądu (średnio): <strong>z 1,00 na 0,70 zł/kWh</strong></li>
                        <li>Roczny koszt ogrzewania: <strong>3 500 zł</strong></li>
                        <li>Oszczędność roczna: <strong class="text-green">+1 500 zł</strong></li>
                        <li>Czas zwrotu: <strong>~4,7 roku</strong></li>
                    </ul>
                </div>
                <div class="rk-cs-box" style="border-color: var(--rk-cs-green); background: #f0fdf4;">
                    <div class="rk-cs-box-title" style="color: var(--rk-cs-green);">Bilans po latach</div>
                    <ul class="rk-cs-list">
                        <li>Zysk (lata 6-15): <strong>+15 000 zł</strong></li>
                        <li>Zysk (lata 16-20): <strong>+7 500 zł</strong></li>
                        <li>Koszty serwisowe/wymiany: <strong>0 zł</strong></li>
                        <li style="border-top: 2px solid var(--rk-cs-green); margin-top: 5px; padding-top: 15px;">
                            Na czysto po 20 latach: <strong class="text-green">+23 000 zł</strong>
                        </li>
                    </ul>
                </div>
            </div>
            <div class="rk-cs-timeline-res" style="border-left-color: var(--rk-cs-green);">
                <h4>Wniosek inżynierski</h4>
                <p>Po 5 latach inwestycja się zwróciła i przechodzi w stan generowania czystego zysku. W momencie, gdy właściciel PV dopiero zbliża się do punktu wyjścia na zero (15. rok), Ty odzyskałeś już swoje 7 000 zł i zarobiłeś dodatkowe 15 000 zł.</p>
                <p>Warunek konieczny: Wylewka i instalacja muszą być oparte o <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">precyzyjne wyliczenia zapotrzebowania cieplnego</a>.</p>
            </div>
        </div>

        <div class="rk-cs-result" id="wariant-2">
            <div class="rk-cs-data-grid">
                <div class="rk-cs-box">
                    <div class="rk-cs-box-title">Start Inwestycji</div>
                    <ul class="rk-cs-list">
                        <li>Koszt systemu (PV+Aku): <strong>~60 000 zł</strong></li>
                        <li>Ograniczenie kosztów: <strong>ok. 80%</strong></li>
                        <li>Roczny koszt po instalacji: <strong>1 000 zł</strong></li>
                        <li>Oszczędność roczna: <strong class="text-green">+4 000 zł</strong></li>
                        <li>Szacowany czas zwrotu: <strong>~15 lat</strong></li>
                    </ul>
                </div>
                <div class="rk-cs-box" style="border-color: var(--rk-cs-red); background: #fef2f2;">
                    <div class="rk-cs-box-title" style="color: var(--rk-cs-red);">Bilans po latach</div>
                    <ul class="rk-cs-list">
                        <li>Skumulowane oszczędności (20 lat): <strong>80 000 zł</strong></li>
                        <li>Wymiana falownika (po 10-15 latach): <strong class="text-red">-5 000 zł</strong></li>
                        <li>Regeneracja magazynu (15. rok): <strong class="text-red">-15 000 zł</strong></li>
                        <li style="border-top: 2px solid var(--rk-cs-red); margin-top: 5px; padding-top: 15px;">
                            Na czysto po 20 latach: <strong>~0 zł (wyjście na zero)</strong>
                        </li>
                    </ul>
                </div>
            </div>
            <div class="rk-cs-timeline-res" style="border-left-color: var(--rk-cs-red);">
                <h4>Wniosek inżynierski</h4>
                <p>W chwili, gdy instalacja na siebie zapracuje (15. rok), degradacja chemiczna ogniw wymusza ogromne nakłady serwisowe. Oszczędności, które system generuje od 16. do 20. roku, pokrywają jedynie koszty wymiany wyeksploatowanej elektroniki.</p>
                <p>Jeśli <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/">obliczenia dla ogrzewania podłogowego</a> wykonano błędnie, praca z magazynu w zimie będzie dodatkowo drenowana przez nieefektywną pompę ciepła.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('.rk-cs-tab');
    const results = document.querySelectorAll('.rk-cs-result');

    tabs.forEach(tab => {
        tab.addEventListener('click', () => {
            // Reset active classes
            tabs.forEach(t => t.classList.remove('active'));
            results.forEach(r => r.classList.remove('active'));

            // Set active class
            tab.classList.add('active');
            const targetId = tab.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-blue: #0ea5e9;
    --rk-calc-navy: #1e293b;
    --rk-calc-green: #10b981;
    --rk-calc-red: #ef4444;
    --rk-calc-gray: #64748b;
    --rk-calc-light: #f8fafc;
    --rk-calc-border: #e2e8f0;
    --rk-calc-accent: #38bdf8;
}

.rk-calc-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-calc-border);
    overflow: hidden;
}

/* Ukryte Tagi SEO */
.rk-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Nagłówek */
.rk-calc-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-calc-dark) 0%, var(--rk-calc-navy) 100%);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-calc-blue);
}

.rk-calc-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    letter-spacing: -0.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.rk-calc-header p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 700px;
    line-height: 1.6;
}

/* Główna Siatka Kalkulatora */
.rk-calc-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #ffffff;
}

/* Lewa Kolumna - Suwaki */
.rk-calc-controls {
    padding: 40px 50px;
    background: var(--rk-calc-light);
    border-right: 1px solid var(--rk-calc-border);
}

.rk-calc-controls h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin: 0 0 25px 0;
}

.rk-input-group {
    margin-bottom: 30px;
}

.rk-input-group:last-child {
    margin-bottom: 0;
}

.rk-input-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 10px;
}

.rk-input-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-calc-dark);
}

.rk-input-label span {
    display: block;
    font-size: 12px;
    color: var(--rk-calc-gray);
    font-weight: 500;
    margin-top: 2px;
}

.rk-input-value-box {
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    padding: 4px 12px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-calc-blue);
    min-width: 90px;
    text-align: right;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

/* Stylizacja suwaków */
.rk-range-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: #cbd5e1;
    border-radius: 4px;
    outline: none;
    transition: background 0.3s;
}

.rk-range-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-calc-blue);
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(14, 165, 233, 0.4);
    border: 3px solid #ffffff;
    transition: transform 0.1s;
}

.rk-range-slider::-webkit-slider-thumb:hover, 
.rk-range-slider::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

.rk-range-slider::-moz-range-thumb {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-calc-blue);
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(14, 165, 233, 0.4);
    border: 3px solid #ffffff;
}

/* Prawa Kolumna - Wyniki */
.rk-calc-results {
    padding: 40px 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-calc-results h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin: 0 0 25px 0;
}

.rk-result-card {
    background: var(--rk-calc-light);
    border: 1px solid var(--rk-calc-border);
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-result-card:last-child {
    margin-bottom: 0;
}

.rk-result-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--rk-calc-gray);
    text-transform: uppercase;
}

.rk-result-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-calc-dark);
}

/* Wyróżnione karty wyników */
.rk-card-highlight {
    background: #f0fdf4;
    border-color: var(--rk-calc-green);
    position: relative;
    overflow: hidden;
}

.rk-card-highlight::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 4px; height: 100%;
    background: var(--rk-calc-green);
}

.rk-card-highlight .rk-result-title {
    color: #065f46;
}

.rk-card-highlight .rk-result-val {
    color: var(--rk-calc-green);
    font-size: 28px;
}

.rk-card-roi {
    background: #eff6ff;
    border-color: var(--rk-calc-blue);
}

.rk-card-roi::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 4px; height: 100%;
    background: var(--rk-calc-blue);
}

.rk-card-roi .rk-result-title {
    color: #1e3a8a;
}

.rk-card-roi .rk-result-val {
    color: var(--rk-calc-blue);
    font-size: 28px;
}

@media (max-width: 768px) {
    .rk-calc-header, .rk-calc-controls, .rk-calc-results { padding: 30px 20px; }
    .rk-calc-header h2 { font-size: 24px; flex-direction: column; }
    .rk-calc-body { grid-template-columns: 1fr; }
    .rk-calc-controls { border-right: none; border-bottom: 1px solid var(--rk-calc-border); }
    .rk-result-card { flex-direction: column; align-items: flex-start; gap: 10px; }
    .rk-result-val { align-self: flex-end; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#article-kalkulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/"
    },
    "headline": "Kalkulator obliczania oszczędności przy przejściu na taryfy dynamiczne",
    "description": "Interaktywne narzędzie inżynierskie do weryfikacji opłacalności inwestycji w bufor ciepła. Oblicz własne ROI na podstawie zużycia i cen RCE.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#dataset-kalkulator",
    "name": "Wskaźniki oszczędnościowe taryf dynamicznych dla pomp ciepła (2026)",
    "description": "Zmienne dane wejściowe do kalkulacji okresu zwrotu inwestycji w inteligentne zarządzanie magazynem termicznym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator zwrotu z bufora ciepla",
      "oplacalnosc taryf dynamicznych",
      "zuzycie pradu przez pompe ciepla",
      "ile kosztuje ogrzewanie domu pompa ciepla",
      "rynkowa cena energii elektrycznej rce"
    ],
    "measurementTechnique": "Algorytm różnicowy: Zapotrzebowanie (kWh) przemnożone przez deltę stawek taryfy G11 i taryfy dynamicznej, odnoszone do kosztów CAPEX bufora.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt bazowy = Zapotrzebowanie x Cena w taryfie płaskiej",
        "Koszt optymalny = Zapotrzebowanie x Uśredniona cena zoptymalizowana",
        "ROI (Zwrot) = Koszt Inwestycji / (Koszt bazowy - Koszt optymalny)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#webapp-kalkulator",
    "name": "Symulator ROI: Taryfy Dynamiczne i Bufor Ciepła",
    "description": "Aplikacja webowa pozwalająca inwestorowi na bieżącą, suwakową symulację rocznych kosztów ogrzewania i czasu zwrotu z inwestycji w automatykę budynku.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container" id="kalkulator-ozc-app">
    
    <div class="rk-sr-only">
        Znajdź odpowiedzi na pytania: kalkulator zwrotu z bufora ciepla, opłacalnosc taryf dynamicznych, zuzycie pradu przez pompe ciepla, ile kosztuje ogrzewanie domu pompa ciepla, rynkowa cena energii elektrycznej rce.
    </div>

    <div class="rk-calc-header">
        <h2>
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="color: var(--rk-calc-accent);">
                <rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect>
                <line x1="8" y1="4" x2="8" y2="20"></line>
                <line x1="16" y1="4" x2="16" y2="20"></line>
                <line x1="4" y1="8" x2="20" y2="8"></line>
                <line x1="4" y1="16" x2="20" y2="16"></line>
            </svg>
            Kalkulator taryf dynamicznych (ROI)
        </h2>
        <p>Wprowadź parametry swojego budynku. Algorytm na żywo przeliczy zapotrzebowanie i udowodni opłacalność przejścia na zarządzanie buforem ciepła i taryfami RCE.</p>
    </div>

    <div class="rk-calc-body">
        
        <div class="rk-calc-controls">
            <h3>Parametry Twojej instalacji</h3>
            
            <div class="rk-input-group">
                <div class="rk-input-header">
                    <label class="rk-input-label">Roczne zużycie energii (Pompa Ciepła) <span>Dla ogrzewania podłogowego i CWU</span></label>
                    <div class="rk-input-value-box"><span id="valZapotrzebowanie">5000</span> kWh</div>
                </div>
                <input type="range" class="rk-range-slider" id="inpZapotrzebowanie" min="2000" max="10000" step="100" value="5000">
            </div>

            <div class="rk-input-group">
                <div class="rk-input-header">
                    <label class="rk-input-label">Cena bazowa prądu (np. G11) <span>Średni koszt z dystrybucją</span></label>
                    <div class="rk-input-value-box"><span id="valCenaG11">1.00</span> zł</div>
                </div>
                <input type="range" class="rk-range-slider" id="inpCenaG11" min="0.50" max="2.00" step="0.05" value="1.00">
            </div>

            <div class="rk-input-group">
                <div class="rk-input-header">
                    <label class="rk-input-label">Taryfa dynamiczna (Zoptymalizowana) <span>Praca bufora w tanich godzinach</span></label>
                    <div class="rk-input-value-box"><span id="valCenaDyn">0.70</span> zł</div>
                </div>
                <input type="range" class="rk-range-slider" id="inpCenaDyn" min="0.20" max="1.50" step="0.05" value="0.70">
            </div>

            <div class="rk-input-group">
                <div class="rk-input-header">
                    <label class="rk-input-label">Koszt inwestycji w magazyn termiczny <span>Zakup bufora 1000l + automatyka + montaż</span></label>
                    <div class="rk-input-value-box"><span id="valInwestycja">7000</span> zł</div>
                </div>
                <input type="range" class="rk-range-slider" id="inpInwestycja" min="3000" max="15000" step="500" value="7000">
            </div>
        </div>

        <div class="rk-calc-results">
            <h3>Wyniki inżynierskie</h3>
            
            <div class="rk-result-card">
                <div class="rk-result-title">Koszt roczny: Taryfa Płaska</div>
                <div class="rk-result-val" id="resKosztG11">5 000 zł</div>
            </div>

            <div class="rk-result-card">
                <div class="rk-result-title">Koszt roczny: Bufor + Dynamiczna</div>
                <div class="rk-result-val" id="resKosztDyn">3 500 zł</div>
            </div>

            <div class="rk-result-card rk-card-highlight">
                <div class="rk-result-title">Zostaje w kieszeni (Co roku)</div>
                <div class="rk-result-val" id="resOszczednosc">1 500 zł</div>
            </div>

            <div class="rk-result-card rk-card-roi rk-card-highlight">
                <div class="rk-result-title">Czas zwrotu inwestycji (ROI)</div>
                <div class="rk-result-val" id="resZwrot">4,7 lat</div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Inputs
    const elZap = document.getElementById('inpZapotrzebowanie');
    const elG11 = document.getElementById('inpCenaG11');
    const elDyn = document.getElementById('inpCenaDyn');
    const elInv = document.getElementById('inpInwestycja');

    // Displays
    const valZap = document.getElementById('valZapotrzebowanie');
    const valG11 = document.getElementById('valCenaG11');
    const valDyn = document.getElementById('valCenaDyn');
    const valInv = document.getElementById('valInwestycja');

    // Results
    const resKosztG11 = document.getElementById('resKosztG11');
    const resKosztDyn = document.getElementById('resKosztDyn');
    const resOszczednosc = document.getElementById('resOszczednosc');
    const resZwrot = document.getElementById('resZwrot');

    // Format helpers
    function formatMoney(amount) {
        return amount.toLocaleString('pl-PL', { minimumFractionDigits: 0, maximumFractionDigits: 0 }) + ' zł';
    }

    function formatNumber(amount) {
        return amount.toLocaleString('pl-PL');
    }

    function calculate() {
        // Read values
        const q = parseFloat(elZap.value);
        const c_base = parseFloat(elG11.value);
        const c_dyn = parseFloat(elDyn.value);
        const inv = parseFloat(elInv.value);

        // Update displays
        valZap.textContent = formatNumber(q);
        valG11.textContent = c_base.toFixed(2);
        valDyn.textContent = c_dyn.toFixed(2);
        valInv.textContent = formatNumber(inv);

        // Math
        const kosztG11 = q * c_base;
        const kosztDyn = q * c_dyn;
        const oszczednosc = kosztG11 - kosztDyn;

        // Update UI Results
        resKosztG11.textContent = formatMoney(kosztG11);
        resKosztDyn.textContent = formatMoney(kosztDyn);

        if (oszczednosc > 0) {
            resOszczednosc.textContent = formatMoney(oszczednosc);
            resOszczednosc.style.color = 'var(--rk-calc-green)';
            
            const roi = inv / oszczednosc;
            resZwrot.textContent = roi.toFixed(1).replace('.', ',') + ' lat';
            resZwrot.style.color = 'var(--rk-calc-blue)';
        } else {
            resOszczednosc.textContent = 'Brak oszczędności';
            resOszczednosc.style.color = 'var(--rk-calc-red)';
            resZwrot.textContent = 'Nigdy';
            resZwrot.style.color = 'var(--rk-calc-red)';
        }
    }

    // Event Listeners
    elZap.addEventListener('input', calculate);
    elG11.addEventListener('input', calculate);
    elDyn.addEventListener('input', calculate);
    elInv.addEventListener('input', calculate);

    // Initial calculation
    calculate();
});
</script>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-blue: #0284c7;
    --rk-err-red: #ef4444;
    --rk-err-red-light: #fef2f2;
    --rk-err-green: #10b981;
    --rk-err-green-light: #ecfdf5;
    --rk-err-gray: #64748b;
    --rk-err-border: #e2e8f0;
    --rk-err-bg: #ffffff;
    --rk-err-accent: #3b82f6;
}

.rk-err-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-err-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(239, 68, 68, 0.15);
    border: 1px solid var(--rk-err-red);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-err-header {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, var(--rk-err-dark) 0%, #450a0a 100%);
    color: #ffffff;
    text-align: center;
    position: relative;
    border-bottom: 4px solid var(--rk-err-red);
}

.rk-err-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.rk-err-alert-icon {
    width: 36px;
    height: 36px;
    color: #fca5a5;
    animation: pulseAlert 2s infinite;
}

@keyframes pulseAlert {
    0% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(239, 68, 68, 0)); }
    50% { transform: scale(1.1); filter: drop-shadow(0 0 10px rgba(239, 68, 68, 0.8)); }
    100% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(239, 68, 68, 0)); }
}

.rk-err-subtitle {
    font-size: 17px;
    color: #fecaca;
    margin: 0;
    line-height: 1.6;
    font-weight: 500;
}

/* Ciało i Siatka Błędów */
.rk-err-body {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-err-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

/* Interaktywna Karta */
.rk-err-card {
    background: #ffffff;
    border: 1px solid var(--rk-err-border);
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.3s;
    display: flex;
    flex-direction: column;
}

.rk-err-card:hover {
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}

.rk-err-card-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.rk-err-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-err-dark);
    flex-shrink: 0;
}

.rk-err-card h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-err-dark);
    margin: 0;
    line-height: 1.3;
}

/* Przełącznik (Toggle) */
.rk-err-toggle-wrap {
    background: #f1f5f9;
    border-radius: 10px;
    padding: 4px;
    display: flex;
    position: relative;
    margin-bottom: 20px;
}

.rk-err-toggle-btn {
    flex: 1;
    text-align: center;
    padding: 10px 0;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--rk-err-gray);
    cursor: pointer;
    border: none;
    background: transparent;
    border-radius: 8px;
    transition: all 0.3s ease;
    z-index: 2;
}

.rk-err-toggle-btn.active-red {
    color: var(--rk-err-red);
}

.rk-err-toggle-btn.active-green {
    color: var(--rk-err-green);
}

.rk-err-toggle-slider {
    position: absolute;
    top: 4px;
    bottom: 4px;
    left: 4px;
    width: calc(50% - 4px);
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
}

/* Stany Karty */
.rk-err-content-wrap {
    flex-grow: 1;
    position: relative;
}

.rk-err-content {
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
    padding: 15px;
    border-radius: 10px;
    border-left: 4px solid transparent;
    display: none;
    animation: fadeIn 0.4s ease;
}

.rk-err-content.active {
    display: block;
}

.rk-err-content.state-bad {
    background: var(--rk-err-red-light);
    border-color: var(--rk-err-red);
    color: #7f1d1d;
}

.rk-err-content.state-good {
    background: var(--rk-err-green-light);
    border-color: var(--rk-err-green);
    color: #064e3b;
}

.rk-err-content a {
    color: inherit;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Mocne CTA */
.rk-err-cta-box {
    padding: 40px 50px;
    background: #ffffff;
    text-align: center;
    border-top: 1px solid var(--rk-err-border);
}

.rk-err-cta-title {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-err-dark);
    margin: 0 0 15px 0;
}

.rk-err-cta-text {
    font-size: 16px;
    color: #64748b;
    margin: 0 auto 25px 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-err-dark);
    color: #ffffff;
    font-size: 17px;
    font-weight: 800;
    padding: 18px 40px;
    border-radius: 14px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 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: #1e293b;
    box-shadow: 0 20px 35px -5px rgba(15, 23, 42, 0.5);
    border-color: #cbd5e1;
    color: #ffffff;
}

.rk-btn-massive svg { transition: transform 0.3s; }
.rk-btn-massive:hover svg { transform: translateX(6px); }

@media (max-width: 768px) {
    .rk-err-header, .rk-err-body, .rk-err-cta-box { padding: 30px 20px; }
    .rk-err-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-err-header h2 { font-size: 22px; align-items: flex-start; }
    .rk-err-alert-icon { width: 28px; height: 28px; margin-top: 2px; flex-shrink: 0; }
    .rk-btn-massive { width: 100%; padding: 16px 20px; font-size: 15px; flex-direction: column; gap: 8px;}
    .rk-btn-massive svg { transform: rotate(90deg); }
    .rk-btn-massive:hover svg { transform: translateY(5px) rotate(90deg); }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/"
    },
    "headline": "Najczęstsze błędy inwestorów i wykonawców w instalacjach akumulacyjnych",
    "description": "Zestawienie krytycznych błędów wykonawczych niszczących opłacalność magazynowania ciepła: od zbyt cienkiej wylewki po brak integracji SG Ready.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#dataset-bledy",
    "name": "Zestawienie krytycznych błędów instalacyjnych 2026",
    "description": "Baza danych błędów wykonawczych w systemach ogrzewania podłogowego współpracujących z taryfami dynamicznymi.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "grubosc wylewki na ogrzewanie podlogowe",
      "sg ready pompa ciepla",
      "sprzeglo hydrauliczne podlogowka",
      "sterowanie strefowe ogrzewaniem"
    ],
    "measurementTechnique": "Analiza porównawcza parametrów brzegowych instalacji termicznych (pojemność cieplna, automatyka EMS, pojemność zładu).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd 1: Wylewka poniżej 4,5 cm niszcząca bezwładność.",
        "Błąd 2: Brak komunikacji Modbus/SG Ready.",
        "Błąd 3: Bufory 100-200l zamiast 500-1000l.",
        "Błąd 4: Brak blokad termostatycznych stref nocnych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#webapp-bledy",
    "name": "Symulator Weryfikacji Błędów Instalacyjnych",
    "description": "Narzędzie pozwalające na interaktywne porównanie błędów wykonawczych z prawidłowymi standardami inżynierskimi.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="sekcja-bledow-app">
    <div class="rk-err-header">
        <h2>
            <svg class="rk-err-alert-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path>
                <line x1="12" y1="9" x2="12" y2="13"></line>
                <line x1="12" y1="17" x2="12.01" y2="17"></line>
            </svg>
            Najczęstsze błędy inwestorów i wykonawców
        </h2>
        <p class="rk-err-subtitle">Przełącz widok, aby zobaczyć, jak amatorszczyzna niszczy portfel i jak wygląda rzetelny standard inżynierski.</p>
    </div>

    <div class="rk-err-body">
        <div class="rk-err-grid">
            
            <div class="rk-err-card" data-card-id="1">
                <div class="rk-err-card-header">
                    <div class="rk-err-card-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
                    </div>
                    <h3>Brak obliczeń bezwładności</h3>
                </div>
                <div class="rk-err-toggle-wrap">
                    <div class="rk-err-toggle-slider" style="transform: translateX(0);"></div>
                    <button class="rk-err-toggle-btn active-red" data-view="bad">Błąd Wykonawcy</button>
                    <button class="rk-err-toggle-btn" data-view="good">Standard OZC</button>
                </div>
                <div class="rk-err-content-wrap">
                    <div class="rk-err-content state-bad active">
                        Zastosowanie zbyt cienkiej warstwy jastrychu (np. poniżej 4,5 cm nad rurami) skutkuje drastycznym obniżeniem masy akumulacyjnej i zbyt szybkim stygnięciem podłogi.
                    </div>
                    <div class="rk-err-content state-good">
                        Precyzyjnie dobrana <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">grubość wylewki betonowej</a> (zazwyczaj 6-7 cm nad rurką) gwarantuje odpowiednią bezwładność, oddając ciepło przez wiele godzin w drogiej taryfie.
                    </div>
                </div>
            </div>

            <div class="rk-err-card" data-card-id="2">
                <div class="rk-err-card-header">
                    <div class="rk-err-card-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line><line x1="20" y1="9" x2="23" y2="9"></line><line x1="20" y1="14" x2="23" y2="14"></line><line x1="1" y1="9" x2="4" y2="9"></line><line x1="1" y1="14" x2="4" y2="14"></line></svg>
                    </div>
                    <h3>Ignorowanie komunikacji</h3>
                </div>
                <div class="rk-err-toggle-wrap">
                    <div class="rk-err-toggle-slider" style="transform: translateX(0);"></div>
                    <button class="rk-err-toggle-btn active-red" data-view="bad">Błąd Wykonawcy</button>
                    <button class="rk-err-toggle-btn" data-view="good">Standard OZC</button>
                </div>
                <div class="rk-err-content-wrap">
                    <div class="rk-err-content state-bad active">
                        Zakup pompy ciepła bez fabrycznego protokołu SG Ready (Smart Grid) lub otwartego interfejsu Modbus uniemożliwia spięcie urządzenia z systemem EMS, który śledzi ceny taryfy dynamicznej.
                    </div>
                    <div class="rk-err-content state-good">
                        Pompa ciepła w pełni współpracuje z <a href="https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/">inteligentnymi sterownikami</a> (EMS), samodzielnie uruchamiając się, gdy prąd giełdowy osiąga najniższe wartości w ciągu doby.
                    </div>
                </div>
            </div>

            <div class="rk-err-card" data-card-id="3">
                <div class="rk-err-card-header">
                    <div class="rk-err-card-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 14.899A7 7 0 1 1 20 14.9V19a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4.101z"></path><path d="M12 2v6"></path><path d="M8 5h8"></path></svg>
                    </div>
                    <h3>Miniaturowe bufory</h3>
                </div>
                <div class="rk-err-toggle-wrap">
                    <div class="rk-err-toggle-slider" style="transform: translateX(0);"></div>
                    <button class="rk-err-toggle-btn active-red" data-view="bad">Błąd Wykonawcy</button>
                    <button class="rk-err-toggle-btn" data-view="good">Standard OZC</button>
                </div>
                <div class="rk-err-content-wrap">
                    <div class="rk-err-content state-bad active">
                        Instalatorzy masowo montują bufory o pojemności 100–200 litrów, twierdząc, że to wystarczy. Taki zład wody starcza na 15 minut pracy pompy, a nie na 5 godzin blokady taryfowej.
                    </div>
                    <div class="rk-err-content state-good">
                        Zastosowanie zasobnika 500–1000 litrów, a nie zwykłego <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgła hydraulicznego</a>, daje pompie ciepła zapas zładu niezbędny do "naładowania" domu na wiele godzin.
                    </div>
                </div>
            </div>

            <div class="rk-err-card" data-card-id="4">
                <div class="rk-err-card-header">
                    <div class="rk-err-card-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path></svg>
                    </div>
                    <h3>Brak strefowania temperatury</h3>
                </div>
                <div class="rk-err-toggle-wrap">
                    <div class="rk-err-toggle-slider" style="transform: translateX(0);"></div>
                    <button class="rk-err-toggle-btn active-red" data-view="bad">Błąd Wykonawcy</button>
                    <button class="rk-err-toggle-btn" data-view="good">Standard OZC</button>
                </div>
                <div class="rk-err-content-wrap">
                    <div class="rk-err-content state-bad active">
                        Brak blokad termostatycznych w sypialniach prowadzi do ich przegrzewania podczas nocnego ładowania podłogówki, co niszczy komfort higieniczny człowieka.
                    </div>
                    <div class="rk-err-content state-good">
                        Prawidłowe <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">sterowanie strefowe</a> zamyka obiegi w sypialniach na czas intensywnego ładowania magazynu w salonie, dbając o zdrowy, chłodny sen domowników.
                    </div>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-err-cta-box">
        <h3 class="rk-err-cta-title">Budowa to nie miejsce na eksperymenty</h3>
        <p class="rk-err-cta-text">
            Błędy popełnione na etapie wylewek są nie do naprawienia. Zbuduj swój kapitał wiedzy, poznaj inżynierskie triki i zabezpiecz swoją inwestycję przed pseudo-fachowcami.
        </p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-massive">
            ZDOBĄDŹ WIEDZĘ EKSKLUZYWNĄ
            <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const cards = document.querySelectorAll('.rk-err-card');

    cards.forEach(card => {
        const btns = card.querySelectorAll('.rk-err-toggle-btn');
        const slider = card.querySelector('.rk-err-toggle-slider');
        const badContent = card.querySelector('.state-bad');
        const goodContent = card.querySelector('.state-good');

        btns.forEach(btn => {
            btn.addEventListener('click', function() {
                const view = this.getAttribute('data-view');
                
                // Reset active states
                btns.forEach(b => {
                    b.classList.remove('active-red');
                    b.classList.remove('active-green');
                });

                if (view === 'bad') {
                    this.classList.add('active-red');
                    slider.style.transform = 'translateX(0)';
                    goodContent.classList.remove('active');
                    badContent.classList.add('active');
                } else {
                    this.classList.add('active-green');
                    // Przesunięcie slidera: o 100% własnej szerokości + 8px na paddingi
                    slider.style.transform = 'translateX(calc(100% + 8px))';
                    badContent.classList.remove('active');
                    goodContent.classList.add('active');
                }
            });
        });
    });
});
</script>



<style>
:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-navy: #1e293b;
    --rk-auth-blue: #0284c7;
    --rk-auth-blue-light: #f0f9ff;
    --rk-auth-gray: #64748b;
    --rk-auth-light: #f8fafc;
    --rk-auth-border: #e2e8f0;
    --rk-auth-green: #10b981;
    --rk-auth-red: #ef4444;
}

.rk-auth-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 15px 35px -10px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-auth-blue);
    overflow: hidden;
}

/* Ukryte Tagi SEO dla robotów */
.rk-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Sekcja Główna Autorytetu (Desktop: Grid 1/2) */
.rk-auth-header {
    display: grid;
    grid-template-columns: 280px 1fr;
    background: linear-gradient(135deg, var(--rk-auth-dark) 0%, var(--rk-auth-navy) 100%);
    color: #ffffff;
}

/* Kolumna Lewa - Zdjęcie i Sociale */
.rk-auth-profile {
    padding: 40px 30px;
    background: rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.rk-auth-photo {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    border: 4px solid var(--rk-auth-blue);
    object-fit: cover;
    margin-bottom: 20px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.4);
}

.rk-auth-badge {
    background: #0284c7;
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.rk-auth-socials {
    display: flex;
    gap: 15px;
}

.rk-auth-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    text-decoration: none;
}

.rk-auth-social-link:hover {
    background: var(--rk-auth-blue);
}

/* Kolumna Prawa - Cytat i Tytuł */
.rk-auth-quote-area {
    padding: 40px 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-auth-quote-area h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 20px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
    line-height: 1.2;
}

.rk-auth-quote-box {
    position: relative;
    padding-left: 25px;
    border-left: 4px solid var(--rk-auth-blue);
}

.rk-auth-quote-text {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.6;
    color: #e2e8f0;
    margin: 0;
    font-style: italic;
}

/* Sekcja Interaktywna - Przełącznik */
.rk-auth-interactive {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-auth-interactive h3 {
    text-align: center;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    margin: 0 0 25px 0;
}

.rk-toggle-wrapper {
    display: flex;
    background: var(--rk-auth-light);
    border: 1px solid var(--rk-auth-border);
    border-radius: 12px;
    padding: 6px;
    margin-bottom: 30px;
}

.rk-toggle-btn {
    flex: 1;
    text-align: center;
    padding: 16px 20px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-auth-gray);
    cursor: pointer;
    border-radius: 8px;
    border: none;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-toggle-btn.active[data-view="myth"] {
    background: #fef2f2;
    color: var(--rk-auth-red);
    border: 1px solid #fca5a5;
}

.rk-toggle-btn.active[data-view="truth"] {
    background: #f0f9ff;
    color: var(--rk-auth-blue);
    border: 1px solid #7dd3fc;
}

/* Treść przełączana */
.rk-view-panel {
    display: none;
}

.rk-view-panel.active {
    display: block;
}

.rk-view-card {
    border: 1px solid var(--rk-auth-border);
    border-radius: 16px;
    padding: 30px;
}

.rk-view-card.card-red {
    background: #fff5f5;
    border-color: #fca5a5;
}

.rk-view-card.card-blue {
    background: #f0f9ff;
    border-color: #7dd3fc;
}

.rk-view-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px dashed rgba(0,0,0,0.1);
}

.rk-view-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.card-red .rk-view-icon { background: var(--rk-auth-red); color: #ffffff; }
.card-blue .rk-view-icon { background: var(--rk-auth-blue); color: #ffffff; }

.rk-view-title {
    font-size: 18px;
    font-weight: 800;
    margin: 0;
}

.card-red .rk-view-title { color: #991b1b; }
.card-blue .rk-view-title { color: #0369a1; }

.rk-view-content {
    font-size: 15px;
    line-height: 1.7;
    color: #334155;
    margin: 0;
}

.rk-view-content strong {
    font-weight: 800;
}

.card-red .rk-view-content strong { color: var(--rk-auth-red); }
.card-blue .rk-view-content strong { color: var(--rk-auth-blue); }

@media (max-width: 768px) {
    .rk-auth-header { grid-template-columns: 1fr; }
    .rk-auth-profile { border-right: none; border-bottom: 1px solid rgba(255, 255, 255, 0.1); padding: 30px 20px; }
    .rk-auth-quote-area { padding: 30px 20px; text-align: center; }
    .rk-auth-quote-area h2 { font-size: 24px; }
    .rk-auth-quote-box { padding-left: 0; border-left: none; border-top: 4px solid var(--rk-auth-blue); padding-top: 20px; }
    .rk-auth-interactive { padding: 30px 20px; }
    .rk-toggle-wrapper { flex-direction: column; gap: 5px; }
    .rk-toggle-btn { padding: 15px; }
    .rk-view-card { padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#article-werdykt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/"
    },
    "headline": "Werdykt inżynierski: Robert Kucharski o magazynowaniu energii",
    "description": "Autorskie podsumowanie i opinia głównego inżyniera portalu Projekt-Ogrzewania.pl na temat opłacalności systemów akumulacyjnych względem fizyki budynku.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#dataset-werdykt",
    "name": "Zestawienie weryfikacji mitów branżowych przez inżyniera (2026)",
    "description": "Baza danych konfrontująca powszechne mity sprzedażowe OZE z prawami termodynamiki i opłacalnością inwestycyjną.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ekspert ogrzewania podłogowego",
      "robert kucharski projekt ogrzewania",
      "opinie o magazynach energii",
      "doradztwo pompy ciepła",
      "weryfikacja ofert fotowoltaiki"
    ],
    "measurementTechnique": "Jakościowa analiza inżynierska oparta na konfrontacji chwytów marketingowych (wymuszanie zakupów akumulatorów) z wyliczeniami OZC i fizyką wylewek betonowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Mit branżowy: Magazyn bateryjny jest niezbędny do oszczędności przy pompie ciepła.",
        "Prawda inżynierska: Odpowiednio wysterowany bufor wodny i wylewka generują wyższy ROI przy ułamku kosztów."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#webapp-werdykt",
    "name": "Interaktywny Panel Werdyktu Eksperta",
    "description": "Komponent interfejsu pozwalający użytkownikowi przełączać perspektywy między obietnicą sprzedażową a twardą analizą techniczną Roberta Kucharskiego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-auth-container" id="werdykt-eksperta-app">
    
    <div class="rk-sr-only">
        Baza wiedzy z zakresu: ekspert ogrzewania podłogowego, robert kucharski projekt ogrzewania, opinie o magazynach energii, doradztwo pompy ciepła, weryfikacja ofert fotowoltaiki.
    </div>

    <div class="rk-auth-header">
        
        <div class="rk-auth-profile">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-auth-photo">
            <div class="rk-auth-badge">HVAC / CEO</div>
            
            <div class="rk-auth-socials">
                <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener nofollow" class="rk-auth-social-link" aria-label="Facebook Projekt Ogrzewania">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                </a>
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener nofollow" class="rk-auth-social-link" aria-label="LinkedIn Robert Kucharski">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
                </a>
            </div>
        </div>

        <div class="rk-auth-quote-area">
            <h2>Werdykt specjalisty: Robert Kucharski</h2>
            <div class="rk-auth-quote-box">
                <p class="rk-auth-quote-text">
                    "Zanim wydasz 50 tysięcy złotych na elektronikę, upewnij się, że wykorzystałeś w 100% fizykę własnego budynku. Twoja betonowa podłoga potrafi zakumulować więcej darmowej energii niż najdroższe akumulatory na rynku, o ile została prawidłowo policzona i wysterowana na etapie projektu OZC."
                </p>
            </div>
        </div>

    </div>

    <div class="rk-auth-interactive">
        <h3>Przełącz perspektywę inwestycyjną</h3>
        
        <div class="rk-toggle-wrapper" id="authToggleBtns">
            <button class="rk-toggle-btn active" data-view="myth">
                <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>
                Narracja Handlowców
            </button>
            <button class="rk-toggle-btn" data-view="truth">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"></polyline></svg>
                Werdykt Inżyniera
            </button>
        </div>

        <div class="rk-view-panel active" id="view-myth">
            <div class="rk-view-card card-red">
                <div class="rk-view-header">
                    <div class="rk-view-icon">
                        <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                    </div>
                    <h4 class="rk-view-title">Mit: Akumulator to gwarancja oszczędności</h4>
                </div>
                <p class="rk-view-content">
                    Sprzedawcy przekonują, że bez magazynu chemicznego instalacja fotowoltaiczna traci sens, wymuszając na inwestorach dobieranie <strong>baterii za 30-40 tysięcy złotych</strong>. Kalkulacje te milczą na temat utraty sprawności ogniw (degradacja do 80% po 10 latach) oraz faktu, że w kluczowym okresie zimowym bateria stoi pusta przez brak odpowiedniego nasłonecznienia.
                </p>
            </div>
        </div>

        <div class="rk-view-panel" id="view-truth">
            <div class="rk-view-card card-blue">
                <div class="rk-view-header">
                    <div class="rk-view-icon">
                        <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    </div>
                    <h4 class="rk-view-title">Fakt: Woda i beton są darmowe i wieczne</h4>
                </div>
                <p class="rk-view-content">
                    Z perspektywy projektowej i obliczeń zapotrzebowania na ciepło, <strong>bufor wody grzewczej i podłogówka</strong> pozwalają przesunąć pobór mocy pompy ciepła na tanie godziny (taryfy dynamiczne). Koszt magazynowania 1 kWh w betonie wynosi około 120 PLN. Koszt w baterii chemicznej to blisko 2000 PLN. Inwestycja w fizykę budynku i taryfy zawsze zwraca się szybciej.
                </p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-toggle-btn');
    const panels = document.querySelectorAll('.rk-view-panel');

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Natychmiastowe czyszczenie klas (BEZ ANIMACJI)
            btns.forEach(b => b.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Aktywacja klikniętego elementu
            this.classList.add('active');
            const targetId = this.getAttribute('data-view');
            document.getElementById('view-' + targetId).classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-blue: #0284c7;
    --rk-faq-light-blue: #f0f9ff;
    --rk-faq-green: #10b981;
    --rk-faq-red: #ef4444;
    --rk-faq-border: #e2e8f0;
    --rk-faq-bg: #ffffff;
    --rk-faq-accent: #8b5cf6; /* Nowy akcent dla sekcji z mitami/FAQ */
    --rk-faq-accent-light: #f5f3ff;
}

.rk-faq-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-faq-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(139, 92, 246, 0.15);
    border: 1px solid var(--rk-faq-accent);
    overflow: hidden;
}

/* Nagłówek Sekcji FAQ */
.rk-faq-header {
    padding: 45px 50px 30px;
    background: linear-gradient(135deg, var(--rk-faq-dark) 0%, #2e1065 100%);
    color: #ffffff;
    text-align: center;
    position: relative;
}

.rk-faq-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

/* Animowana ikona kłódki/prawdy */
.rk-faq-title-icon {
    width: 32px;
    height: 32px;
    color: #c4b5fd;
    animation: unlockTruth 3s infinite ease-in-out;
}

@keyframes unlockTruth {
    0%, 100% { transform: scale(1) rotate(0deg); }
    50% { transform: scale(1.1) rotate(-10deg); color: #ffffff; filter: drop-shadow(0 0 8px rgba(196, 181, 253, 0.8)); }
}

.rk-faq-subtitle {
    font-size: 16px;
    color: #c4b5fd;
    margin: 0;
    line-height: 1.6;
    font-weight: 500;
}

/* Tagi Długiego Ogona */
.rk-tags-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    padding: 20px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-faq-border);
}

.rk-mat-tag {
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    color: var(--rk-faq-dark);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    transition: all 0.2s;
}

.rk-mat-tag:hover {
    border-color: var(--rk-faq-accent);
    color: var(--rk-faq-accent);
    transform: translateY(-2px);
}

/* Interaktywny Akordeon (Aplikacyjny Wygląd) */
.rk-faq-body {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-faq-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rk-faq-item {
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
    background: #ffffff;
}

.rk-faq-item:hover {
    border-color: #c4b5fd;
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.05);
}

.rk-faq-item.active {
    border-color: var(--rk-faq-accent);
    background: var(--rk-faq-accent-light);
    box-shadow: 0 10px 20px -5px rgba(139, 92, 246, 0.1);
}

.rk-faq-btn {
    width: 100%;
    text-align: left;
    padding: 20px 24px;
    background: transparent;
    border: none;
    font-size: 16px;
    font-weight: 700;
    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-btn {
    color: var(--rk-faq-accent);
}

/* Animowana ikona plus/minus w akordeonie */
.rk-faq-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    position: relative;
}

.rk-faq-icon::before,
.rk-faq-icon::after {
    content: '';
    position: absolute;
    background: var(--rk-faq-dark);
    border-radius: 2px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-icon::before {
    top: 11px; left: 4px; right: 4px; height: 2px;
}

.rk-faq-icon::after {
    top: 4px; bottom: 4px; left: 11px; width: 2px;
}

.rk-faq-item.active .rk-faq-icon::after {
    transform: rotate(90deg) scale(0);
}

.rk-faq-item.active .rk-faq-icon::before {
    background: var(--rk-faq-accent);
    transform: rotate(180deg);
}

.rk-faq-content-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-item.active .rk-faq-content-wrapper {
    grid-template-rows: 1fr;
}

.rk-faq-content {
    overflow: hidden;
}

.rk-faq-content-inner {
    padding: 0 24px 24px 24px;
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
}

.rk-faq-content-inner a {
    color: var(--rk-faq-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid rgba(2, 132, 199, 0.2);
    transition: all 0.2s;
}

.rk-faq-content-inner a:hover {
    border-color: var(--rk-faq-blue);
    color: #0369a1;
}

@media (max-width: 768px) {
    .rk-faq-header, .rk-tags-wrapper, .rk-faq-body { padding: 30px 20px; }
    .rk-faq-header h2 { font-size: 22px; align-items: flex-start; }
    .rk-faq-title-icon { width: 28px; height: 28px; margin-top: 2px; }
    .rk-faq-btn { font-size: 15px; padding: 18px; }
    .rk-faq-content-inner { padding: 0 18px 18px 18px; font-size: 14px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/"
    },
    "headline": "FAQ – Czego sprzedawcy OZE wolą Ci nie mówić",
    "description": "Najważniejsze pytania i odpowiedzi o taryfy dynamiczne, żywotność pompy ciepła, degradację wody w buforze oraz bezpieczeństwo podłóg drewnianych przy magazynowaniu ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy woda w buforze ogrzewania podłogowego nie ulega zepsuciu lub degradacji?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie. Wodna instalacja grzewcza pracuje w układzie zamkniętym. Po odgazowaniu i związaniu tlenu woda nie zmienia swoich właściwości fizycznych ani pojemności cieplnej przez 40 lat."
        }
      },
      {
        "@type": "Question",
        "name": "Czy taryfy dynamiczne nie zniszczą sprężarki pompy ciepła przez częste włączanie?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Wręcz przeciwnie. Dobrze zaprojektowany system z dużym buforem 1000 l wydłuża cykle pracy pompy ciepła – urządzenie włącza się rzadziej, ale pracuje jednorazowo dłużej w optymalnym punkcie sprawności, eliminując szkodliwe dla sprężarki tzw. taktowanie."
        }
      },
      {
        "@type": "Question",
        "name": "Czy podłoga nagrzana do wyższej temperatury nie zniszczy paneli lub parkietu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "System projektuje się tak, aby temperatura powierzchni wylewki nigdy nie przekroczyła normowych 29°C. Nowoczesne okładziny dedykowane na podłogówkę bezproblemowo znoszą te parametry bez ryzyka rozsychania czy emisji szkodliwych substancji."
        }
      },
      {
        "@type": "Question",
        "name": "Czy bez instalacji fotowoltaicznej ten system ma jakikolwiek sens?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, i to ogromny. System pozwala zarabiać na zmienności cen prądu w sieci krajowej. Kupujesz tanią energię systemową (np. z nocnej nadprodukcji wiatrowej), przetwarzasz na ciepło i odcinasz pobór w ciągu dnia, kiedy cena prądu szybuje w górę."
        }
      },
      {
        "@type": "Question",
        "name": "Co się stanie, jeśli ceny w taryfach dynamicznych wyrównają się w przyszłości?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Struktura rynku energii opartego na niestabilnych źródłach odnawialnych (wiatr, słońce) gwarantuje coraz większe rozpiętości cenowe między dniami słonecznymi/wietrznymi a bezwietrznymi nocami. Różnice cen będą rosły, a nie malały."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#dataset-faq",
    "name": "Baza Wiedzy: Mity i Fakty o Magazynowaniu Termicznym (2026)",
    "description": "Techniczne odpowiedzi na najczęstsze obiekcje inwestorów dotyczące integracji buforów, pomp ciepła i paneli podłogowych z systemem taryf dynamicznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "degradacja wody w buforze ciepła",
      "żywotność sprężarki pompy ciepła",
      "panele podłogowe a temperatura wylewki",
      "taryfy dynamiczne bez fotowoltaiki",
      "opłacalność taryf dynamicznych 2026"
    ],
    "measurementTechnique": "Weryfikacja mitów sprzedażowych OZE w oparciu o fizykę budowli, normę PN-EN 1264 oraz termodynamikę układów zamkniętych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Trwałość medium: Woda w układzie zamkniętym nie traci pojemności cieplnej.",
        "Trwałość urządzeń: Bufor 1000l eliminuje taktowanie, wydłużając żywotność sprężarki.",
        "Komfort higieniczny: Gwarancja utrzymania temperatury powierzchni poniżej 29°C."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#webapp-faq",
    "name": "Interaktywny Panel FAQ Inwestora",
    "description": "Aplikacyjny komponent akordeonowy umożliwiający szybkie wyszukiwanie i rozwiązywanie wątpliwości technicznych inwestorów budowlanych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-container" id="sekcja-faq-app">
    <div class="rk-faq-header">
        <h2>
            <svg class="rk-faq-title-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect>
                <path d="M7 11V7a5 5 0 0 1 10 0v4"></path>
                <path d="M12 15v2"></path>
            </svg>
            FAQ – Czego sprzedawcy OZE wolą Ci nie mówić
        </h2>
        <p class="rk-faq-subtitle">Prawda inżynierska ukryta przed prospektami marketingowymi. Kliknij, aby poznać fakty.</p>
    </div>

    <div class="rk-tags-wrapper">
        <span class="rk-mat-tag"># degradacja wody w buforze ciepła</span>
        <span class="rk-mat-tag"># żywotność sprężarki pompy ciepła</span>
        <span class="rk-mat-tag"># panele podłogowe a temperatura wylewki</span>
        <span class="rk-mat-tag"># taryfy dynamiczne bez fotowoltaiki</span>
    </div>

    <div class="rk-faq-body">
        <div class="rk-faq-list" id="rkFaqList">
            
            <div class="rk-faq-item">
                <button class="rk-faq-btn" aria-expanded="false">
                    <span>Czy woda w buforze ogrzewania podłogowego nie ulega zepsuciu lub degradacji?</span>
                    <div class="rk-faq-icon"></div>
                </button>
                <div class="rk-faq-content-wrapper">
                    <div class="rk-faq-content">
                        <div class="rk-faq-content-inner">
                            <strong>Nie.</strong> Wodna instalacja grzewcza pracuje w układzie zamkniętym. Po odgazowaniu i związaniu tlenu na etapie uruchomienia, woda nie zmienia swoich właściwości fizycznych ani pojemności cieplnej przez dziesięciolecia. Zabezpiecza to domowy magazyn energii przed utratą wydajności, w przeciwieństwie do degradujących się ogniw chemicznych.
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-btn" aria-expanded="false">
                    <span>Czy taryfy dynamiczne nie zniszczą sprężarki pompy ciepła przez częste włączanie?</span>
                    <div class="rk-faq-icon"></div>
                </button>
                <div class="rk-faq-content-wrapper">
                    <div class="rk-faq-content">
                        <div class="rk-faq-content-inner">
                            <strong>Wręcz przeciwnie.</strong> Dobrze zaprojektowany system z dużym buforem (np. 1000 l) znacząco wydłuża cykle pracy <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a>. Urządzenie włącza się rzadziej, ale pracuje jednorazowo dłużej w stabilnym i optymalnym punkcie sprawności, eliminując szkodliwe dla każdej sprężarki tzw. taktowanie (częste starty).
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-btn" aria-expanded="false">
                    <span>Czy podłoga nagrzana do wyższej temperatury nie zniszczy paneli lub parkietu?</span>
                    <div class="rk-faq-icon"></div>
                </button>
                <div class="rk-faq-content-wrapper">
                    <div class="rk-faq-content">
                        <div class="rk-faq-content-inner">
                            System projektuje się tak, aby temperatura powierzchni wylewki w strefie przebywania ludzi nigdy nie przekroczyła dopuszczalnych normą <strong>29°C</strong>. Prawidłowo dobrane <a href="https://projekt-ogrzewania.pl/czy-pod-ogrzewanie-podlogowe-nadaja-sie-panele-czy-tylko-plytki/">panele lub okładziny drewniane</a> dedykowane na podłogówkę bezproblemowo znoszą te parametry bez ryzyka rozsychania czy emisji szkodliwych substancji. Zapas akumulacyjny kryje się w masie betonu, a nie w niekomfortowym przegrzewaniu powierzchni.
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-btn" aria-expanded="false">
                    <span>Czy bez instalacji fotowoltaicznej ten system ma jakikolwiek sens?</span>
                    <div class="rk-faq-icon"></div>
                </button>
                <div class="rk-faq-content-wrapper">
                    <div class="rk-faq-content">
                        <div class="rk-faq-content-inner">
                            <strong>Tak, i to ogromny.</strong> System pozwala zarabiać na zmienności cen prądu z sieci krajowej. Korzystając z <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">taryf dynamicznych</a> kupujesz tanią energię systemową (np. z nocnej nadprodukcji wiatrowej w całym kraju), przetwarzasz ją na ciepło i odcinasz pobór w ciągu dnia, kiedy giełdowa cena prądu szybuje w górę.
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-btn" aria-expanded="false">
                    <span>Co się stanie, jeśli ceny w taryfach dynamicznych wyrównają się w przyszłości?</span>
                    <div class="rk-faq-icon"></div>
                </button>
                <div class="rk-faq-content-wrapper">
                    <div class="rk-faq-content">
                        <div class="rk-faq-content-inner">
                            Struktura nowoczesnego rynku energii, opartego coraz mocniej na niestabilnych źródłach odnawialnych (wiatr, słońce), gwarantuje powstawanie coraz większych rozpiętości cenowych. Różnice między tanimi godzinami (np. wietrzna noc) a drogimi szczytami będą rosły, co oznacza, że magazynowanie energii w postaci ciepła będzie z każdym rokiem jeszcze bardziej zyskowne.
                        </div>
                    </div>
                </div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const faqItems = document.querySelectorAll('.rk-faq-item');

    faqItems.forEach(item => {
        const btn = item.querySelector('.rk-faq-btn');
        
        btn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            // Zamykamy wszystkie pozostałe (zachowanie akordeonu)
            faqItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.rk-faq-btn').setAttribute('aria-expanded', 'false');
            });

            // Przełączamy kliknięty element
            if (!isActive) {
                item.classList.add('active');
                btn.setAttribute('aria-expanded', 'true');
            }
        });
    });
});
</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-orange: #f97316;
    --rk-sum-orange-light: #ffedd5;
}

.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 30px;
    background: linear-gradient(135deg, var(--rk-sum-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
    position: relative;
}

.rk-sum-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 20px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.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: 750px;
    margin: 0 auto;
}

.rk-sum-quote-mark {
    font-size: 80px;
    color: rgba(255,255,255,0.08);
    position: absolute;
    top: -30px;
    left: -20px;
    line-height: 1;
    font-family: serif;
}

.rk-sum-quote-text {
    font-size: 21px;
    font-weight: 700;
    line-height: 1.5;
    color: #e2e8f0;
    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); }

/* Tagi Długiego Ogona */
.rk-tags-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    padding: 20px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-sum-border);
}

.rk-mat-tag {
    background: #ffffff;
    border: 1px solid var(--rk-sum-border);
    color: var(--rk-sum-dark);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    transition: all 0.2s;
}

.rk-mat-tag:hover {
    border-color: var(--rk-sum-blue);
    color: var(--rk-sum-blue);
    transform: translateY(-2px);
}

/* Interaktywny Symulator Decyzji */
.rk-sum-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-sum-interactive h3 {
    text-align: center;
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-sum-dark);
    margin: 0 0 25px 0;
}

.rk-decision-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    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 cubic-bezier(0.4, 0, 0.2, 1);
    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="termiczny"] {
    background: var(--rk-sum-orange-light);
    border-color: var(--rk-sum-orange);
    box-shadow: 0 10px 20px -5px rgba(249, 115, 22, 0.15);
}

.rk-decision-btn.active[data-choice="elektryczny"] {
    background: #fef2f2;
    border-color: var(--rk-sum-red);
    box-shadow: 0 10px 20px -5px rgba(239, 68, 68, 0.15);
}

.rk-decision-icon {
    width: 56px;
    height: 56px;
    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="termiczny"] .rk-decision-icon {
    background: var(--rk-sum-orange);
    color: #ffffff;
}

.rk-decision-btn.active[data-choice="elektryczny"] .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;
}

.rk-decision-subtitle {
    font-size: 13px;
    color: var(--rk-sum-gray);
    font-weight: 500;
    margin: 0;
}

/* Wynik symulacji */
.rk-sim-result {
    padding: 35px;
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid var(--rk-sum-border);
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
}

.rk-result-content h4 {
    margin: 0 0 12px 0;
    font-size: 22px;
    font-weight: 800;
}

.rk-result-content p {
    margin: 0 0 15px 0;
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
}

.rk-result-content ul {
    margin: 15px 0;
    padding-left: 20px;
    color: #475569;
    font-size: 14px;
    font-weight: 600;
}

.rk-result-content li { margin-bottom: 8px; }

.rk-result-content a {
    color: var(--rk-sum-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s;
}

.rk-result-content a:hover { color: var(--rk-sum-orange); }

/* 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: 26px;
    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: 650px;
    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 45px;
    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;
    color: #ffffff;
}

.rk-btn-massive svg { transition: transform 0.3s; }
.rk-btn-massive:hover svg { transform: translateX(6px); }

@media (max-width: 768px) {
    .rk-sum-header, .rk-tags-wrapper, .rk-sum-interactive, .rk-sum-cta-box { padding: 30px 20px; }
    .rk-sum-header h2 { font-size: 24px; }
    .rk-sum-quote-text { font-size: 18px; }
    .rk-decision-wrapper { grid-template-columns: 1fr; gap: 15px; }
    .rk-sim-result { padding: 25px 20px; }
    .rk-result-content ul { display: inline-block; }
    .rk-btn-massive { width: 100%; padding: 18px 20px; font-size: 15px; flex-direction: column; gap: 8px;}
    .rk-btn-massive svg { transform: rotate(90deg); }
    .rk-btn-massive:hover svg { transform: translateY(5px) rotate(90deg); }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/"
    },
    "headline": "Podsumowanie – Zbuduj magazyn energii w podłodze",
    "description": "Porównanie kosztów i efektywności magazynowania termicznego (bufor + wylewka) z magazynowaniem elektrycznym (akumulatory Li-ion) w domach z pompą ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#dataset-podsumowanie",
    "name": "Zestawienie ROI: Magazyn Termiczny vs Magazyn Elektryczny (2026)",
    "description": "Analiza przepływów finansowych i kosztów magazynowania 1 kWh energii w układzie bufor ciepła vs akumulator domowy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "bufor ciepła do pompy ciepła",
      "ogrzewanie podłogowe jako magazyn energii",
      "koszt magazynu energii",
      "projekt ogrzewania podłogowego OZC",
      "opłacalność taryf dynamicznych"
    ],
    "measurementTechnique": "Kalkulacja kosztu inwestycyjnego na 1 kWh zmagazynowanej energii oraz analiza żywotności układów wodno-betonowych względem ogniw chemicznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Magazyn Termiczny: Pojemność ok. 70 kWh, koszt ok. 7 000 PLN, zwrot 4.6 roku, trwałość 30+ lat.",
        "Magazyn Elektryczny: Pojemność ok. 10 kWh, koszt ok. 30 000 PLN, zwrot ok. 15 lat, degradacja po 10 latach."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#webapp-podsumowanie",
    "name": "Symulator Strategii Magazynowania Energii",
    "description": "Interaktywny komponent webowy wizualizujący różnice technologiczne i finansowe pomiędzy fizycznym magazynem w wylewce a rynkowym magazynem akumulatorowym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-sum-container" id="magazyn-sum-app">
    <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="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Brutalna Ekonomia
        </div>
        <h2>Podsumowanie – Zbuduj magazyn w podłodze</h2>
        <div class="rk-sum-quote-box">
            <div class="rk-sum-quote-mark">"</div>
            <p class="rk-sum-quote-text">
                Prawdziwa optymalizacja to nie kupowanie najdroższych zabawek technologicznych. To wykorzystanie fizyki budynku w służbie Twojego portfela.
            </p>
            <div class="rk-sum-author">
                <span>Robert Kucharski</span> | CEO, Specjalista OZE i HVAC
            </div>
        </div>
    </div>

    <!-- Tagi z długim ogonem (Search Intent) -->
    <div class="rk-tags-wrapper">
        <span class="rk-mat-tag"># bufor ciepła do pompy ciepła</span>
        <span class="rk-mat-tag"># ogrzewanie podłogowe jako magazyn energii</span>
        <span class="rk-mat-tag"># koszt magazynu energii</span>
        <span class="rk-mat-tag"># projekt ogrzewania podłogowego OZC</span>
    </div>

    <div class="rk-sum-interactive">
        <h3>Sprawdź symulację kosztów dla Twojego domu</h3>
        <div class="rk-decision-wrapper" id="simDecisions">
            <button class="rk-decision-btn active" data-choice="termiczny">
                <div class="rk-decision-icon">
                    <!-- Ikona Termiczna (Podłoga/Ciepło) -->
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20"></path><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path><path d="M4 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z"></path><path d="M20 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z"></path></svg>
                </div>
                <h4 class="rk-decision-title">Magazyn Termiczny</h4>
                <p class="rk-decision-subtitle">Bufor 1000L + Wylewka</p>
            </button>
            <button class="rk-decision-btn" data-choice="elektryczny">
                <div class="rk-decision-icon">
                    <!-- Ikona Elektryczna (Bateria) -->
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="16" height="10" x="2" y="7" rx="2" ry="2"></rect><line x1="22" x2="22" y1="11" y2="13"></line><line x1="6" x2="6" y1="11" y2="13"></line><line x1="10" x2="10" y1="11" y2="13"></line><line x1="14" x2="14" y1="11" y2="13"></line></svg>
                </div>
                <h4 class="rk-decision-title">Magazyn Elektryczny</h4>
                <p class="rk-decision-subtitle">Akumulator Li-ion 10kWh</p>
            </button>
        </div>

        <div class="rk-sim-result state-termiczny" id="simResultBox">
            <div class="rk-result-content" id="simResultContent">
                <h4 style="color: var(--rk-sum-orange);">Zysk na czysto: +23 000 PLN</h4>
                <p>Wykorzystujesz to, co już masz. Woda w <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">buforze ciepła</a> i tony betonu potrafią zakumulować ok. <strong>70 kWh</strong> energii po koszcie niecałych 150 zł za 1 kWh pojemności.</p>
                <ul>
                    <li>Koszt wejścia: ok. 7 000 zł</li>
                    <li>Zwrot: ok. 4.6 roku</li>
                    <li>Trwałość: 30+ lat (brak degradacji)</li>
                </ul>
                <p>Kluczem jest rygorystyczny <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">projekt ogrzewania podłogowego</a>, który zapewni optymalny przepływ w strefach ładowania.</p>
            </div>
        </div>
    </div>

    <div class="rk-sum-cta-box">
        <h3 class="rk-sum-cta-title">Przestań zgadywać. Zacznij liczyć.</h3>
        <p class="rk-sum-cta-text">
            Chcesz wiedzieć, czy instalator nie naciąga Cię na sprzęt, którego Twój dom nie potrzebuje? Sprawdź naszą inżynierską bibliotekę. Znajdziesz tam bezkompromisowe kalkulatory, analizy OZC i standardy wykonawcze.
        </p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-massive">
            ZABEZPIECZ SWOJE PIENIĄDZE – CZYTAJ BLOG
            <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-decision-btn');
    const resultBox = document.getElementById('simResultBox');
    const resultContent = document.getElementById('simResultContent');

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Reset i aktywny przycisk
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            const choice = this.getAttribute('data-choice');

            // Aktualizacja HTML w zależności od wyboru
            if (choice === 'termiczny') {
                resultBox.className = 'rk-sim-result state-termiczny';
                
                resultContent.innerHTML = `
                    <h4 style="color: var(--rk-sum-orange);">Zysk na czysto: +23 000 PLN</h4>
                    <p>Wykorzystujesz to, co już masz. Woda w <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">buforze ciepła</a> i tony betonu potrafią zakumulować ok. <strong>70 kWh</strong> energii po koszcie niecałych 150 zł za 1 kWh pojemności.</p>
                    <ul>
                        <li>Koszt wejścia: ok. 7 000 zł</li>
                        <li>Zwrot: ok. 4.6 roku</li>
                        <li>Trwałość: 30+ lat (brak degradacji)</li>
                    </ul>
                    <p>Kluczem jest rygorystyczny <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">projekt ogrzewania podłogowego</a>, który zapewni optymalny przepływ w strefach ładowania.</p>
                `;
            } else {
                resultBox.className = 'rk-sim-result state-elektryczny';

                resultContent.innerHTML = `
                    <h4 style="color: var(--rk-sum-red);">Pułapka 15-letniego zwrotu</h4>
                    <p>Kupujesz drogi sprzęt, który zimą (kiedy pompa ciepła potrzebuje najwięcej mocy) często stoi pusty ze względu na brak słońca.</p>
                    <ul>
                        <li>Koszt wejścia: 30 000 - 45 000 zł</li>
                        <li>Pojemność użyteczna: tylko 10 kWh</li>
                        <li>Trwałość: 10 lat (degradacja chemiczna ogniw)</li>
                    </ul>
                    <p>Brak weryfikacji <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obciążeń cieplnych OZC</a> sprawia, że instalatorzy maskują błędy przewymiarowaną elektroniką za Twoje pieniądze.</p>
                `;
            }
        });
    });
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-navy: #1e293b;
    --rk-dl-blue: #0284c7;
    --rk-dl-blue-light: #f0f9ff;
    --rk-dl-gray: #64748b;
    --rk-dl-light: #f8fafc;
    --rk-dl-border: #e2e8f0;
    --rk-dl-teal: #0d9488;
    --rk-dl-teal-light: #f0fdfa;
}

.rk-dl-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 15px 35px -10px rgba(13, 148, 136, 0.15);
    border: 1px solid var(--rk-dl-teal);
    overflow: hidden;
}

/* Ukryte Tagi SEO dla robotów */
.rk-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Sekcja Nagłówkowa */
.rk-dl-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-dl-dark) 0%, var(--rk-dl-navy) 100%);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-dl-teal);
}

.rk-dl-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.rk-dl-header p {
    font-size: 16px;
    color: #ccfbf1;
    margin: 0 auto;
    max-width: 750px;
    line-height: 1.6;
}

/* Tagi Długiego Ogona */
.rk-tags-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    padding: 20px 50px;
    background: var(--rk-dl-light);
    border-bottom: 1px solid var(--rk-dl-border);
}

.rk-mat-tag {
    background: #ffffff;
    border: 1px solid var(--rk-dl-border);
    color: var(--rk-dl-dark);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

/* Sekcja Główna z Podglądem i Pobieraniem */
.rk-dl-body {
    padding: 40px 50px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    background: #ffffff;
}

/* Podgląd Infografiki */
.rk-dl-preview-box {
    background: var(--rk-dl-light);
    border: 1px solid var(--rk-dl-border);
    border-radius: 16px;
    padding: 15px;
    text-align: center;
}

.rk-dl-image {
    width: 100%;
    height: auto;
    border-radius: 8px;
    border: 1px solid var(--rk-dl-border);
    display: block;
}

/* Panel Akcji (Pobieranie) */
.rk-dl-actions {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-dl-action-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-dl-dark);
    margin: 0 0 10px 0;
}

.rk-dl-action-desc {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-dl-gray);
    margin: 0 0 20px 0;
}

/* Przyciski (Brak animacji, natychmiastowy hover) */
.rk-dl-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 25px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 800;
    font-size: 16px;
    transition: none; /* Wymuszony brak animacji */
}

.rk-dl-btn-primary {
    background: var(--rk-dl-teal);
    color: #ffffff;
    border: 2px solid transparent;
}

.rk-dl-btn-primary:hover {
    background: #0f766e;
    color: #ffffff;
}

.rk-dl-btn-secondary {
    background: var(--rk-dl-blue-light);
    color: var(--rk-dl-blue);
    border: 1px solid #7dd3fc;
}

.rk-dl-btn-secondary:hover {
    background: #e0f2fe;
    color: #0369a1;
}

.rk-dl-btn-icon {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-dl-btn-meta {
    font-size: 12px;
    font-weight: 600;
    opacity: 0.8;
    background: rgba(0,0,0,0.1);
    padding: 4px 8px;
    border-radius: 6px;
}

.rk-dl-btn-primary .rk-dl-btn-meta { background: rgba(255,255,255,0.2); }

/* Stopka / Prawa autorskie */
.rk-dl-footer {
    padding: 25px 50px;
    background: var(--rk-dl-light);
    border-top: 1px solid var(--rk-dl-border);
    font-size: 13px;
    line-height: 1.6;
    color: var(--rk-dl-gray);
    text-align: center;
}

.rk-dl-footer strong {
    color: var(--rk-dl-dark);
}

@media (max-width: 768px) {
    .rk-dl-header, .rk-tags-wrapper, .rk-dl-body, .rk-dl-footer { padding: 30px 20px; }
    .rk-dl-header h2 { font-size: 24px; flex-direction: column; }
    .rk-dl-body { grid-template-columns: 1fr; gap: 30px; }
    .rk-dl-btn { flex-direction: column; text-align: center; gap: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/"
    },
    "headline": "Pobierz darmowe zestawienie techniczne: Infografika i Raport PDF",
    "description": "Autorska infografika i raport PDF zestawiający 8 argumentów sprzedawców z 8 faktami inżynierskimi. Darmowe materiały edukacyjne do pobrania.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Najwiekszy-magazyn-energii-w-Twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#dataset-infografika",
    "name": "Materiały do pobrania: Fakty Inżynierskie vs Mity OZE (PDF/WebP)",
    "description": "Zasoby graficzne i dokumentowe udostępniane inwestorom budowlanym w celu weryfikacji ofert instalacyjnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "darmowy projekt ogrzewania podłogowego pdf",
      "porównanie pomp ciepła i magazynów energii",
      "schemat bufora ciepła pdf",
      "materiały edukacyjne hvac"
    ],
    "measurementTechnique": "Dystrybucja materiałów cyfrowych (PDF, WebP) z zabezpieczeniem praw autorskich portalu.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Plik WebP: Infografika podsumowująca parametry techniczne w wysokiej rozdzielczości.",
        "Plik PDF: Kompletny raport do druku dla inwestorów z zachowaniem praw autorskich."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#webapp-infografika",
    "name": "Centrum Dystrybucji Wiedzy Inżynierskiej",
    "description": "Interfejs przeglądarkowy umożliwiający bezpośrednie pobieranie autorskich opracowań technicznych i dokumentacji wizualnej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="pobieranie-materialow-app">
    
    <div class="rk-sr-only">
        Materiały źródłowe dla haseł: darmowy projekt ogrzewania podłogowego pdf, porównanie pomp ciepła i magazynów energii, schemat bufora ciepła pdf, materiały edukacyjne hvac.
    </div>

    <div class="rk-dl-header">
        <h2>
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="color: #ccfbf1;">
                <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
                <polyline points="7 10 12 15 17 10"></polyline>
                <line x1="12" y1="15" x2="12" y2="3"></line>
            </svg>
            Pobierz darmowe zestawienie techniczne
        </h2>
        <p>Przygotowałem dla Ciebie czytelną infografikę oraz dokument PDF, które możesz wydrukować i skonfrontować z ofertą sprzedawcy magazynów energii. Miej twarde argumenty zawsze pod ręką.</p>
    </div>

    <div class="rk-tags-wrapper">
        <span class="rk-mat-tag"># darmowy projekt ogrzewania podłogowego pdf</span>
        <span class="rk-mat-tag"># porównanie pomp ciepła i magazynów energii</span>
        <span class="rk-mat-tag"># schemat bufora ciepła pdf</span>
        <span class="rk-mat-tag"># materiały edukacyjne hvac</span>
    </div>

    <div class="rk-dl-body">
        
        <div class="rk-dl-preview-box">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Najwiekszy-magazyn-energii-w-Twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz.webp" alt="Infografika - Największy magazyn energii w Twoim domu" class="rk-dl-image" loading="lazy">
        </div>

        <div class="rk-dl-actions">
            <div>
                <h3 class="rk-dl-action-title">Wybierz format materiałów</h3>
                <p class="rk-dl-action-desc">Raport zawiera 8 faktów inżynierskich obalających mity marketingowe. Idealny do zapisu na telefonie lub wydruku przed spotkaniem z instalatorem.</p>
            </div>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Najwiekszy-magazyn-energii-w-Twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz.pdf" target="_blank" rel="noopener noreferrer" class="rk-dl-btn rk-dl-btn-primary">
                <div class="rk-dl-btn-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                    Pobierz raport do druku
                </div>
                <span class="rk-dl-btn-meta">Dokument PDF</span>
            </a>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Najwiekszy-magazyn-energii-w-Twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz.webp" target="_blank" rel="noopener noreferrer" class="rk-dl-btn rk-dl-btn-secondary">
                <div class="rk-dl-btn-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                    Otwórz jako obraz (WebP)
                </div>
                <span class="rk-dl-btn-meta">Grafika HD</span>
            </a>
        </div>

    </div>

    <div class="rk-dl-footer">
        &copy; 2026 Projekt-Ogrzewania.pl | Autor: <strong>Robert Kucharski</strong>.<br>Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku.
    </div>

</div>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/">Największy magazyn energii w Twoim domu już istnieje i  prawdopodobnie po nim chodzisz.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ogrzewanie elektryczne vs wodna podłogówka: Kalkulator kosztów eksploatacji.</title>
		<link>https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 31 May 2026 18:20:19 +0000</pubDate>
				<category><![CDATA[Kalkulatory budowlane]]></category>
		<category><![CDATA[Koszty ogrzewania]]></category>
		<category><![CDATA[Narzędzia i kalkulatory]]></category>
		<category><![CDATA[Ogrzewanie elektryczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Optymalizacja kosztów]]></category>
		<category><![CDATA[Pompa ciepła]]></category>
		<category><![CDATA[Pompy ciepła]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[kalkulator kosztów eksploatacji]]></category>
		<category><![CDATA[koszty folii grzewczych]]></category>
		<category><![CDATA[obliczenia ozc dla domu]]></category>
		<category><![CDATA[ogrzewanie elektryczne vs wodna podłogówka]]></category>
		<category><![CDATA[opłacalność pompy ciepła]]></category>
		<category><![CDATA[opór cieplny paneli]]></category>
		<category><![CDATA[projekt instalacji ogrzewania podłogowego]]></category>
		<category><![CDATA[rachunki za prąd zimą]]></category>
		<category><![CDATA[tco ogrzewania]]></category>
		<category><![CDATA[wylewka pod ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=5374</guid>

					<description><![CDATA[<p>Wielu inwestorów na etapie stanu surowego szuka natychmiastowych oszczędności, co często prowadzi do kosztownych pomyłek przy wyborze instalacji grzewczej. Zamiast ulegać marketingowym zapewnieniom o niskich kosztach montażu mat czy folii, warto przeprowadzić chłodną kalkulację inżynierską. Artykuł Ogrzewanie elektryczne vs wodna podłogówka: Kalkulator kosztów eksploatacji na przestrzeni 20 lat w brutalny sposób weryfikuje opłacalność obu systemów. Poznaj realne dane o zimowej luce energetycznej, wpływie automatyki na COP pompy ciepła oraz dowiedz się, dlaczego otwarta infrastruktura hydrauliczna chroni Twój domowy budżet przed wieloletnim, drogim abonamentem.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/">Ogrzewanie elektryczne vs wodna podłogówka: Kalkulator kosztów eksploatacji.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-panel: #1e293b;
    --rk-intro-brand: #0ea5e9; /* Ekspercki błękit */
    --rk-intro-brand-light: #f0f9ff;
    --rk-intro-accent: #f43f5e; /* Czerwony alarmowy na hook */
    --rk-intro-bg: #ffffff;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
    --rk-intro-muted: #64748b;
    --rk-intro-success: #10b981;
}

.rk-intro-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-intro-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(14, 165, 233, 0.1);
    border: 1px solid var(--rk-intro-border);
    overflow: hidden;
}

/* Sekcja Główna - Hook & Tytuł */
.rk-intro-header {
    padding: 50px 50px 40px 50px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    position: relative;
    border-bottom: 4px solid var(--rk-intro-brand);
}

.rk-intro-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--rk-intro-dark);
    color: #ffffff;
    padding: 8px 18px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 25px;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.15);
}

.rk-intro-title {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    line-height: 1.25;
    margin: 0 0 25px 0;
}

.rk-intro-title span {
    color: var(--rk-intro-brand);
}

/* Hook Section */
.rk-intro-hook-box {
    background: #ffffff;
    border-left: 5px solid var(--rk-intro-accent);
    padding: 25px 30px;
    border-radius: 0 16px 16px 0;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
    margin-bottom: 30px;
}

.rk-intro-hook-box p {
    margin: 0;
    font-size: 17px;
    line-height: 1.7;
    color: var(--rk-intro-text);
    font-weight: 500;
}

.rk-intro-hook-box strong {
    color: var(--rk-intro-accent);
    font-weight: 900;
}

.rk-intro-description {
    font-size: 15px;
    line-height: 1.8;
    color: var(--rk-intro-text);
    margin: 0;
}

.rk-intro-link {
    color: var(--rk-intro-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-intro-brand);
    transition: 0.3s;
}

.rk-intro-link:hover {
    color: #0369a1;
    border-bottom-style: solid;
}

/* Sekcja Czego się dowiesz (Kafelki) */
.rk-intro-learn-section {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-intro-learn-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    margin: 0 0 25px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.rk-intro-card {
    background: var(--rk-intro-brand-light);
    border: 1px solid #e0f2fe;
    border-radius: 16px;
    padding: 25px;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    transition: transform 0.2s, box-shadow 0.2s;
}

.rk-intro-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.1);
}

.rk-intro-card-icon {
    width: 48px;
    height: 48px;
    background: var(--rk-intro-brand);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #ffffff;
}

.rk-intro-card-content h4 {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-intro-dark);
}

.rk-intro-card-content p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-intro-text);
}

/* Author Tag */
.rk-intro-author {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid var(--rk-intro-border);
}

.rk-intro-author-avatar {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: 2px solid var(--rk-intro-brand);
    object-fit: cover;
}

.rk-intro-author-info span {
    display: block;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-intro-dark);
}

.rk-intro-author-info small {
    font-size: 12px;
    color: var(--rk-intro-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

@media (max-width: 768px) {
    .rk-intro-header { padding: 35px 25px; }
    .rk-intro-title { font-size: 26px; }
    .rk-intro-hook-box { padding: 20px; }
    .rk-intro-learn-section { padding: 35px 25px; }
    .rk-intro-grid { grid-template-columns: 1fr; }
    .rk-intro-card { padding: 20px; flex-direction: column; gap: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#article-intro",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/"
    },
    "headline": "Ogrzewanie elektryczne vs wodna podłogówka: Kalkulator kosztów eksploatacji",
    "description": "Największy błąd budowlany to wybór ogrzewania na podstawie ceny montażu. Poznaj zestawienie TCO i kalkulator opłacalności pompy ciepła na tle folii elektrycznych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-31",
    "dateModified": "2026-05-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#dataset-intro",
    "name": "Analiza wstępna: Koszty operacyjne a nakłady początkowe systemów grzewczych",
    "description": "Baza wiedzy wprowadzająca do analizy całkowitych kosztów posiadania (TCO) dla ogrzewania oporowego oraz systemów wodnych w oparciu o współczynniki COP i SCOP.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ogrzewanie elektryczne vs wodna podłogówka",
      "koszt eksploatacji ogrzewania elektrycznego",
      "opłacalność pompy ciepła kalkulator",
      "wodna podłogówka koszty utrzymania",
      "rachunki za prąd folie grzewcze"
    ],
    "measurementTechnique": "Przegląd inżynierski: Weryfikacja opłacalności systemów na podstawie dysproporcji między niskimi nakładami CAPEX a wysokimi kosztami OPEX w perspektywie długoterminowej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Ogrzewanie elektryczne (folie, kable) to system o sprawności 1.0 generujący wysokie rachunki.",
        "Wodna pompa ciepła to system pracujący ze współczynnikiem SCOP 3.0-5.0, minimalizujący koszty eksploatacji.",
        "Wybór systemu definiuje miesięczne obciążenie budżetu domowego na kolejne dekady."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#webapp-intro",
    "name": "Przewodnik: Kalkulator Kosztów Eksploatacji Ogrzewania",
    "description": "Moduł wprowadzający inwestora do interaktywnego kompendium wiedzy o kosztach ogrzewania i błędach instalacyjnych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-wrapper">
    
    <div class="rk-intro-header">
        <div class="rk-intro-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="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Analiza Inwestycyjna
        </div>
        
        <h2 class="rk-intro-title">Ogrzewanie elektryczne vs wodna podłogówka: <span>Kalkulator kosztów eksploatacji</span></h2>
        
        <div class="rk-intro-hook-box">
            <p><strong>Największy błąd, jaki możesz popełnić na etapie budowy</strong>, to wybór systemu grzewczego na podstawie taniej faktury za kable lub maty. Pamiętaj: instalacja to wydatek jednorazowy, ale rachunki za prąd to 20-letni abonament finansowy.</p>
        </div>

        <p class="rk-intro-description">Wybór systemu grzewczego to najważniejsza decyzja finansowa w procesie budowy domu, determinująca miesięczne koszty utrzymania na dekady. Zrozumienie różnicy między <a href="https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/" class="rk-intro-link">ogrzewaniem elektrycznym bezpośrednim</a> (folie, kable, maty grzejne) a wodną podłogówką z pompą ciepła wymaga bezwzględnej analizy kosztów operacyjnych, a nie tylko nakładów początkowych. Podczas gdy elektryka oferuje niski próg wejścia (nawet o 50% tańszy montaż), <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" class="rk-intro-link">wodna podłogówka z pompą ciepła</a> osiąga roczne współczynniki efektywności (SCOP) na poziomie 3,0–5,0, co przy obecnych i prognozowanych cenach energii elektrycznej stanowi klucz do minimalizacji rachunków.</p>
        
        <div class="rk-intro-author">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-intro-author-avatar" loading="lazy">
            <div class="rk-intro-author-info">
                <span>Zamiast wierzyć ulotkom, policzmy to razem na twardych danych i interaktywnych kalkulatorach.</span>
                <small>Robert Kucharski, Specjalista HVAC &amp; CEO projekt-ogrzewania.pl</small>
            </div>
        </div>
    </div>

    <div class="rk-intro-learn-section">
        <h3 class="rk-intro-learn-title">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-intro-brand)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
            Z tego artykułu dowiesz się:
        </h3>
        
        <div class="rk-intro-grid">
            
            <div class="rk-intro-card">
                <div class="rk-intro-card-icon">
                    <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg>
                </div>
                <div class="rk-intro-card-content">
                    <h4>Bariera Wejścia (CAPEX)</h4>
                    <p>Obalimy mit &#8222;drogiej wody&#8221;. Zrozumiesz fundamentalną różnicę między zamkniętą infrastrukturą elektryczną a systemem otwartym na modernizację.</p>
                </div>
            </div>

            <div class="rk-intro-card">
                <div class="rk-intro-card-icon">
                    <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                </div>
                <div class="rk-intro-card-content">
                    <h4>Interaktywny Kalkulator 20-letni</h4>
                    <p>Wpiszesz własną stawkę za prąd i sprawdzisz na żywo, w którym dokładnie roku inwestycja w pompę ciepła z podłogówką wygeneruje czysty zysk.</p>
                </div>
            </div>

            <div class="rk-intro-card">
                <div class="rk-intro-card-icon">
                    <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line></svg>
                </div>
                <div class="rk-intro-card-content">
                    <h4>Mit Darmowego Prądu z PV</h4>
                    <p>Pokażę Ci brutalną fizykę bilansu cieplnego. Zobaczysz, dlaczego fotowoltaika w miesiącach zimowych nie uratuje Cię przed rachunkami z elektrowni.</p>
                </div>
            </div>

            <div class="rk-intro-card">
                <div class="rk-intro-card-icon">
                    <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                </div>
                <div class="rk-intro-card-content">
                    <h4>Diagnostyka Błędów</h4>
                    <p>Zabezpieczysz się przed 5 najdroższymi błędami instalacyjnymi: brakiem dylatacji, złym oporem cieplnym okładzin i układaniem rur &#8222;z głowy&#8221;.</p>
                </div>
            </div>

        </div>
    </div>

</div>



<style>
:root {
    --rk-start-dark: #0f172a;
    --rk-start-panel: #1e293b;
    --rk-start-bg: #ffffff;
    --rk-start-surface: #f8fafc;
    --rk-start-border: #e2e8f0;
    
    /* Kolory tematyczne */
    --rk-start-primary: #3b82f6; /* Niebieski - technologia/woda */
    --rk-start-elec: #f43f5e; /* Czerwony - prąd/zamknięty */
    --rk-start-water: #10b981; /* Zielony - woda/otwarty */
    
    --rk-start-text: #334155;
    --rk-start-muted: #64748b;
}

.rk-start-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-start-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(59, 130, 246, 0.15);
    border: 1px solid rgba(59, 130, 246, 0.3);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-start-header {
    background: linear-gradient(135deg, var(--rk-start-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-start-primary);
}

.rk-start-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(59, 130, 246, 0.2);
    color: #93c5fd;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(147, 197, 253, 0.3);
}

.rk-start-header h2 {
    margin: 0 0 15px 0;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
}

.rk-start-header p {
    margin: 0;
    font-size: 15px;
    color: #cbd5e1;
    line-height: 1.6;
    max-width: 800px;
}

/* Moduł Interaktywny - Kalkulator CAPEX */
.rk-start-calculator {
    padding: 40px 50px 20px;
    background: var(--rk-start-surface);
}

.rk-start-slider-box {
    background: #ffffff;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-start-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    margin-bottom: 30px;
}

.rk-start-slider-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.rk-start-slider-label {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-start-dark);
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-start-slider-value {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-start-primary);
    background: #eff6ff;
    padding: 6px 16px;
    border-radius: 8px;
    border: 1px solid #bfdbfe;
}

.rk-start-range {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: #e2e8f0;
    outline: none;
}

.rk-start-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-start-primary);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 2px 6px rgba(59, 130, 246, 0.4);
}

/* Porównanie Systemów - Grid Kart */
.rk-start-compare {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    padding: 0 50px 40px;
    background: var(--rk-start-surface);
}

.rk-sys-card {
    background: #ffffff;
    border: 2px solid var(--rk-start-border);
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.rk-sys-elec { border-color: rgba(244, 63, 94, 0.3); }
.rk-sys-water { border-color: rgba(16, 185, 129, 0.3); }

/* Statyczne, czyste SVG */
.rk-sys-svg-box {
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rk-start-dark);
    padding: 20px;
    border-bottom: 2px solid var(--rk-start-border);
}

.rk-sys-svg {
    width: 100%;
    height: 100%;
    max-width: 200px;
}

.rk-sys-content {
    padding: 30px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.rk-sys-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-start-dark);
    margin: 0 0 10px 0;
}

.rk-sys-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 20px;
    align-self: flex-start;
}

.rk-sys-elec .rk-sys-badge { background: #fff1f2; color: var(--rk-start-elec); border: 1px solid rgba(244,63,94,0.2); }
.rk-sys-water .rk-sys-badge { background: #ecfdf5; color: var(--rk-start-water); border: 1px solid rgba(16,185,129,0.2); }

.rk-sys-list {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
    flex-grow: 1;
}

.rk-sys-list li {
    font-size: 14px;
    color: var(--rk-start-text);
    margin-bottom: 12px;
    padding-left: 24px;
    position: relative;
    line-height: 1.5;
}

.rk-sys-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 3px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
}

.rk-sys-elec .rk-sys-list li::before { background: var(--rk-start-elec); opacity: 0.2; }
.rk-sys-water .rk-sys-list li::before { background: var(--rk-start-water); opacity: 0.2; }

.rk-sys-list li::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 8px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
}

.rk-sys-elec .rk-sys-list li::after { background: var(--rk-start-elec); }
.rk-sys-water .rk-sys-list li::after { background: var(--rk-start-water); }

.rk-sys-cost-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 15px;
    text-align: center;
}

.rk-sys-cost-label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-start-muted);
    margin-bottom: 5px;
}

.rk-sys-cost-value {
    display: block;
    font-size: 26px;
    font-weight: 900;
}

.rk-sys-elec .rk-sys-cost-value { color: var(--rk-start-elec); }
.rk-sys-water .rk-sys-cost-value { color: var(--rk-start-water); }

/* Wniosek Architektoniczny (H3) */
.rk-start-conclusion {
    background: #ffffff;
    border-top: 1px solid var(--rk-start-border);
    padding: 40px 50px;
}

.rk-start-conclusion h3 {
    margin: 0 0 15px 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-start-dark);
}

.rk-start-conclusion p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-start-text);
    margin: 0 0 15px 0;
}

.rk-start-conclusion p:last-child {
    margin: 0;
}

.rk-start-link {
    color: var(--rk-start-primary);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: 0.3s;
}

.rk-start-link:hover {
    border-color: var(--rk-start-primary);
}

@media (max-width: 768px) {
    .rk-start-header, .rk-start-calculator, .rk-start-compare, .rk-start-conclusion { padding: 30px 20px; }
    .rk-start-slider-box { padding: 20px; }
    .rk-start-compare { grid-template-columns: 1fr; }
    .rk-sys-svg-box { height: 150px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#article-startowe",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/"
    },
    "headline": "Czy ogrzewanie elektryczne jest tańsze w montażu? Analiza wydatków startowych",
    "description": "Zrozum różnicę między systemem otwartym a zamkniętym. Policz szacunkowe koszty inwestycyjne (CAPEX) dla wodnej podłogówki i kabli grzewczych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-31",
    "dateModified": "2026-05-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#dataset-startowe",
    "name": "Analiza kosztów startowych i modernizacyjnych (Architektura Systemów)",
    "description": "Zestawienie szacunkowych kosztów początkowych instalacji grzewczych w korelacji z blokadą technologiczną infrastruktury posadzkowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "koszt instalacji ogrzewania elektrycznego",
      "cena pompy ciepła z montażem",
      "system otwarty ogrzewania",
      "wymiana źródła ciepła",
      "żywotność rur pex"
    ],
    "measurementTechnique": "Kalkulacja szacunkowych kosztów CAPEX dla zmiennego metrażu z uwzględnieniem skalowalności i otwartości architektury grzewczej (vendor lock-in).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt startowy elektryki: tańszy o 35-50%, ale generujący pułapkę technologiczną (System Zamknięty).",
        "Koszt startowy wodnej podłogówki (PC, rozdzielacze): wyższy, ale tworzący trwałą na 50+ lat otwartą infrastrukturę cieplną.",
        "Modernizacja: Brak możliwości zmiany źródła w przypadku zatopionych kabli elektrycznych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#webapp-startowe",
    "name": "Kalkulator Bariery Wejścia CAPEX",
    "description": "Interaktywny moduł szacowania wydatków startowych i analizy blokady technologicznej. Wskazuje przepaść w kosztach budowy systemu otwartego i zamkniętego.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 Forms",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-start-container" id="rk-start-app">
    
    <div class="rk-start-header">
        <div class="rk-start-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg>
            Infrastruktura
        </div>
        <h2>Czy ogrzewanie elektryczne jest tańsze w montażu? Analiza wydatków startowych</h2>
        <p>Tak, z perspektywy jednorazowego zakupu, montaż ogrzewania elektrycznego jest <strong>średnio o 35–50% tańszy</strong> od wdrożenia systemu wodnego z pompą ciepła. Ustaw suwak na metraż swojego domu i zobacz szacunkową barierę wejścia.</p>
    </div>

    <div class="rk-start-calculator">
        <div class="rk-start-slider-box">
            <div class="rk-start-slider-top">
                <span class="rk-start-slider-label">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M3 3h18v18H3zM12 8v8M8 12h8"></path></svg>
                    Powierzchnia domu
                </span>
                <span class="rk-start-slider-value" id="rkStartAreaVal">120 m²</span>
            </div>
            <input type="range" class="rk-start-range" id="rkStartAreaSlider" min="50" max="250" step="10" value="120">
        </div>
    </div>

    <div class="rk-start-compare">
        
        <div class="rk-sys-card rk-sys-elec">
            <div class="rk-sys-svg-box">
                <svg class="rk-sys-svg" viewBox="0 0 200 150">
                    <rect x="20" y="100" width="160" height="40" fill="#334155" rx="4"/>
                    <path d="M 30 120 L 170 120" fill="none" stroke="#ef4444" stroke-width="4" stroke-dasharray="8 4"/>
                    <rect x="70" y="40" width="60" height="50" fill="#f43f5e" rx="6"/>
                    <path d="M 85 40 V 25 C 85 15 115 15 115 25 V 40" fill="none" stroke="#f43f5e" stroke-width="12"/>
                    <circle cx="100" cy="65" r="6" fill="#1e293b"/>
                    <path d="M 100 65 L 100 80" stroke="#1e293b" stroke-width="4" stroke-linecap="round"/>
                </svg>
            </div>
            <div class="rk-sys-content">
                <h3 class="rk-sys-title">Elektryka (Kable/Maty)</h3>
                <span class="rk-sys-badge">System Zamknięty</span>
                <ul class="rk-sys-list">
                    <li>Brak kotłowni i hydrauliki.</li>
                    <li>Źródło ciepła jest zatopione na stałe w jastrychu.</li>
                    <li><strong>Brak możliwości przejścia</strong> na pompę ciepła, gaz lub pellet w przyszłości.</li>
                </ul>
                <div class="rk-sys-cost-box">
                    <span class="rk-sys-cost-label">Szacunkowy Start (Całość)</span>
                    <span class="rk-sys-cost-value" id="rkCostElec">10 200 PLN</span>
                </div>
            </div>
        </div>

        <div class="rk-sys-card rk-sys-water">
            <div class="rk-sys-svg-box">
                <svg class="rk-sys-svg" viewBox="0 0 200 150">
                    <rect x="20" y="100" width="160" height="40" fill="#334155" rx="4"/>
                    <path d="M 30 120 L 170 120" fill="none" stroke="#3b82f6" stroke-width="6"/>
                    <rect x="70" y="20" width="60" height="60" fill="#10b981" rx="12"/>
                    <path d="M 90 40 L 100 30 L 110 40 M 100 30 V 60 M 110 60 L 100 70 L 90 60 M 100 70 V 40" fill="none" stroke="#1e293b" stroke-width="4" stroke-linejoin="round" stroke-linecap="round"/>
                    <path d="M 100 80 V 100" fill="none" stroke="#10b981" stroke-width="6" stroke-dasharray="4 2"/>
                </svg>
            </div>
            <div class="rk-sys-content">
                <h3 class="rk-sys-title">Woda + Pompa Ciepła</h3>
                <span class="rk-sys-badge">System Otwarty</span>
                <ul class="rk-sys-list">
                    <li>Rury w podłodze pełnią rolę uniwersalnego wymiennika.</li>
                    <li>Sama infrastruktura (<a href="https://projekt-ogrzewania.pl/wytrzymalosc-rur-do-ogrzewania-podlogowego-kompleksowy-przewodnik/" class="rk-start-link">żywotność rur PEX</a>) to 50+ lat.</li>
                    <li><strong>Pełna swoboda wymiany</strong> źródła ciepła na nowsze technologie po 15-20 latach.</li>
                </ul>
                <div class="rk-sys-cost-box">
                    <span class="rk-sys-cost-label">Szacunkowy Start (Całość)</span>
                    <span class="rk-sys-cost-value" id="rkCostWater">42 000 PLN</span>
                </div>
            </div>
        </div>

    </div>

    <div class="rk-start-conclusion">
        <h3>Dlaczego ta &#8222;oszczędność&#8221; jest złudna?</h3>
        <p>Z perspektywy inżynierskiej, ogrzewanie elektryczne to infrastruktura &#8222;zamknięta&#8221;. Brak wbudowanej w posadzkę instalacji hydraulicznej tworzy nieodwracalną barierę technologiczną. Decydując się na kable w <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/" class="rk-start-link">wylewce betonowej</a>, odbierasz sobie możliwość modernizacji i reagowania na gwałtowne zmiany cen energii bez kucia całej podłogi w domu.</p>
        <p>Wodna podłogówka jest systemem otwartym. Raz wykonany profesjonalny układ rur to grzejnik na pokolenia. W razie spadku cen innych nośników energii lub wejścia na rynek supernowoczesnych <a href="https://projekt-ogrzewania.pl/kociol-na-pellet/" class="rk-start-link">kotłów nowej generacji</a>, wymieniasz jedynie urządzenie w kotłowni (źródło), podpinając je do istniejącej instalacji. Wyższy koszt instalacji pompy ciepła (nawet rzędu 50 000 PLN) to de facto inwestycja w skalowalność i energetyczną wolność Twojego domu.</p>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('rkStartAreaSlider');
    const areaVal = document.getElementById('rkStartAreaVal');
    const costElec = document.getElementById('rkCostElec');
    const costWater = document.getElementById('rkCostWater');

    // Uproszczony algorytm cennikowy dla celów demonstracyjnych:
    // Elektryka: np. 85 PLN / m2
    // Pompa + Woda: np. 350 PLN / m2
    const rateElec = 85; 
    const rateWater = 350;

    const formatPLN = (num) => Math.round(num).toString().replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " PLN";

    function updateCosts() {
        const area = parseInt(slider.value);
        areaVal.textContent = area + ' m²';

        const totalElec = area * rateElec;
        const totalWater = area * rateWater;

        costElec.textContent = formatPLN(totalElec);
        costWater.textContent = formatPLN(totalWater);
    }

    if (slider) {
        slider.addEventListener('input', updateCosts);
        updateCosts(); // init
    }
});
</script>



<style>
:root {
    --rk-cost-dark: #0f172a;
    --rk-cost-surface: #1e293b;
    --rk-cost-bg: #ffffff;
    --rk-cost-border: #e2e8f0;
    --rk-cost-text: #334155;
    --rk-cost-muted: #64748b;
    
    /* Kolory technologii */
    --rk-cost-elec: #f43f5e; /* Czerwony - prąd */
    --rk-cost-elec-light: #fff1f2;
    --rk-cost-water: #10b981; /* Zielony - pompa ciepła */
    --rk-cost-water-light: #ecfdf5;
    --rk-cost-accent: #0ea5e9;
}

.rk-cost-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-cost-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.15);
    border: 1px solid var(--rk-cost-border);
    overflow: hidden;
}

/* Nagłówek i Intro */
.rk-cost-header {
    background: linear-gradient(135deg, var(--rk-cost-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-cost-accent);
}

.rk-cost-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.2);
    color: #38bdf8;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

.rk-cost-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-cost-header p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.7;
    max-width: 800px;
}

.rk-cost-link {
    color: #38bdf8;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed rgba(56, 189, 248, 0.5);
    transition: 0.3s;
}

.rk-cost-link:hover {
    color: #7dd3fc;
    border-bottom-style: solid;
}

/* Panel Symulatora */
.rk-cost-simulator {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-slider-wrapper {
    background: #ffffff;
    padding: 25px 35px;
    border-radius: 16px;
    border: 1px solid var(--rk-cost-border);
    box-shadow: 0 10px 20px rgba(0,0,0,0.02);
    margin-bottom: 40px;
}

.rk-slider-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.rk-slider-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-cost-dark);
}

.rk-slider-value {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-cost-accent);
    background: #f0f9ff;
    padding: 5px 15px;
    border-radius: 8px;
}

.rk-range-input {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: #e2e8f0;
    outline: none;
}

.rk-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-cost-accent);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 10px rgba(14, 165, 233, 0.4);
    transition: transform 0.1s;
}

.rk-range-input::-webkit-slider-thumb:active {
    transform: scale(1.1);
}

/* Karty Technologii */
.rk-tech-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.rk-tech-card {
    background: #ffffff;
    border: 2px solid var(--rk-cost-border);
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    transition: all 0.3s;
}

.rk-tech-elec { border-color: rgba(244, 63, 94, 0.3); }
.rk-tech-water { border-color: rgba(16, 185, 129, 0.3); }

.rk-tech-card-header {
    padding: 20px 25px;
    display: flex;
    align-items: center;
    gap: 15px;
    border-bottom: 1px solid var(--rk-cost-border);
}

.rk-tech-elec .rk-tech-card-header { background: var(--rk-cost-elec-light); }
.rk-tech-water .rk-tech-card-header { background: var(--rk-cost-water-light); }

.rk-tech-icon {
    width: 40px; height: 40px;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    color: #ffffff;
}
.rk-tech-elec .rk-tech-icon { background: var(--rk-cost-elec); }
.rk-tech-water .rk-tech-icon { background: var(--rk-cost-water); }

.rk-tech-card-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-cost-dark);
}

.rk-tech-card-header span {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-cost-muted);
}

/* Zawartość Karty */
.rk-tech-body {
    padding: 25px;
}

.rk-tech-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px dashed #e2e8f0;
}

.rk-tech-row:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.rk-tech-label {
    font-size: 14px;
    color: var(--rk-cost-muted);
    font-weight: 600;
}

.rk-tech-val {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-cost-dark);
}

/* Wykres SVG w Karcie */
.rk-tech-chart {
    height: 120px;
    background: #f8fafc;
    padding: 15px 25px 0;
    display: flex;
    align-items: flex-end;
    border-bottom: 1px solid var(--rk-cost-border);
}

.rk-chart-svg { width: 100%; height: 100%; overflow: visible; }

.rk-bar-install { fill: #cbd5e1; }
.rk-tech-elec .rk-bar-energy { fill: var(--rk-cost-elec); transition: height 0.3s ease, y 0.3s ease; }
.rk-tech-water .rk-bar-energy { fill: var(--rk-cost-water); transition: height 0.3s ease, y 0.3s ease; }

/* Wynik Sumaryczny */
.rk-tech-total {
    padding: 25px;
    text-align: center;
    background: #ffffff;
}

.rk-tech-total-label {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-cost-muted);
    letter-spacing: 1px;
    margin-bottom: 5px;
    display: block;
}

.rk-tech-total-sum {
    font-size: 32px;
    font-weight: 900;
}

.rk-tech-elec .rk-tech-total-sum { color: var(--rk-cost-elec); }
.rk-tech-water .rk-tech-total-sum { color: var(--rk-cost-water); }

/* Disclaimer */
.rk-cost-disclaimer {
    background: var(--rk-cost-dark);
    padding: 20px 50px;
    text-align: center;
    font-size: 13px;
    color: #94a3b8;
    line-height: 1.6;
}

.rk-cost-disclaimer strong {
    color: #ffffff;
}

@media (max-width: 768px) {
    .rk-cost-header, .rk-cost-simulator, .rk-cost-disclaimer { padding: 30px 20px; }
    .rk-slider-wrapper { padding: 20px; }
    .rk-tech-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#article-koszty-roczne",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/"
    },
    "headline": "Jakie są realne koszty eksploatacji w skali roku (2026 i dalej)?",
    "description": "Zestawienie efektywności COP 1.0 dla kabli względem SCOP 3.5+ dla pompy ciepła. Zobacz symulację kosztów skumulowanych na 20 lat w interaktywnym panelu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-31",
    "dateModified": "2026-05-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#dataset-koszty-roczne",
    "name": "Porównanie kosztów eksploatacji technologii grzewczych (2026-2046)",
    "description": "Zestawienie uwzględniające koszty początkowe, sprawność urządzeń (COP/SCOP) oraz zsumowane wydatki na energię i serwis w cyklu 20-letnim.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "realne koszty eksploatacji podłogówki",
      "ogrzewanie elektryczne koszty roczne",
      "wodna podłogówka oszczędności",
      "COP a SCOP pompy ciepła",
      "wzrost cen prądu a ogrzewanie"
    ],
    "measurementTechnique": "Obliczenia liniowe kosztów skumulowanych TCO (Total Cost of Ownership), uwzględniające rosnącą inflację cen energii (ok. 3% r/r) ukrytą w uśrednionej wartości bazowej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Sprawność COP: Kable grzejne 1.0 vs Pompa Ciepła 3.0-5.0",
        "Koszt instalacyjny (dom 120m2): 10 000 PLN (elektryka) vs 40 000 PLN (woda+PC).",
        "Przykładowy roczny koszt energii: 8 000 PLN (elektryka) vs 2 200 PLN (woda+PC).",
        "Całkowity TCO po 20 latach: 170 000 PLN (elektryka) vs 84 000 PLN (woda+PC)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#webapp-koszty-roczne",
    "name": "Symulator Skumulowanych Kosztów Ogrzewania",
    "description": "Interaktywny suwak pozwalający inwestorowi przesunąć oś czasu od 1 do 20 lat, aby zobaczyć, w którym momencie tańsza instalacja elektryczna staje się drastycznie droższa w utrzymaniu.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cost-container" id="rk-cost-app">
    
    <div class="rk-cost-header">
        <div class="rk-cost-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
            Analiza Długoterminowa
        </div>
        <h2>Jakie są realne koszty eksploatacji w skali roku (2026 i dalej)?</h2>
        <p>Różnica w efektywności (COP 1,0 vs SCOP 3,5+) oznacza, że każde 1 000 kWh pobrane z sieci w systemie elektrycznym generuje zaledwie 1 000 kWh ciepła. Z kolei <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" class="rk-cost-link">nowoczesna pompa ciepła</a> generuje od 3 000 do 5 000 kWh ciepła. Przesuń suwak i sprawdź <a href="https://projekt-ogrzewania.pl/rzeczywiste-oszczednosci-na-kosztach-ogrzewania-w-skali-roku-analiza-rozstawu-rur-dla-domu-150-m%c2%b2/" class="rk-cost-link">rzeczywiste oszczędności</a> na przestrzeni 20 lat.</p>
    </div>

    <div class="rk-cost-simulator">
        
        <div class="rk-slider-wrapper">
            <div class="rk-slider-header">
                <span class="rk-slider-title">Lata eksploatacji instalacji:</span>
                <span class="rk-slider-value" id="rkYearDisplay">20 lat</span>
            </div>
            <input type="range" class="rk-range-input" id="rkYearSlider" min="1" max="20" value="20">
        </div>

        <div class="rk-tech-grid">
            
            <div class="rk-tech-card rk-tech-elec">
                <div class="rk-tech-card-header">
                    <div class="rk-tech-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
                    </div>
                    <div>
                        <h3>Kable / Maty Grzejne</h3>
                        <span>Dom 120 m² (Stan deweloperski)</span>
                    </div>
                </div>
                
                <div class="rk-tech-body">
                    <div class="rk-tech-row">
                        <span class="rk-tech-label">Sprawność (COP)</span>
                        <span class="rk-tech-val">1.0</span>
                    </div>
                    <div class="rk-tech-row">
                        <span class="rk-tech-label">Koszt instalacji</span>
                        <span class="rk-tech-val">10 000 PLN</span>
                    </div>
                    <div class="rk-tech-row">
                        <span class="rk-tech-label">Roczny koszt energii</span>
                        <span class="rk-tech-val">8 000 PLN</span>
                    </div>
                    <div class="rk-tech-row">
                        <span class="rk-tech-label">Koszty serwisu (rok)</span>
                        <span class="rk-tech-val">0 PLN</span>
                    </div>
                </div>

                <div class="rk-tech-chart">
                    <svg class="rk-chart-svg" viewBox="0 0 100 100" preserveAspectRatio="none">
                        <rect class="rk-bar-install" x="10" y="80" width="80" height="20" rx="2" />
                        <rect class="rk-bar-energy" id="rkBarElec" x="10" y="80" width="80" height="0" rx="2" />
                    </svg>
                </div>

                <div class="rk-tech-total">
                    <span class="rk-tech-total-label">Suma Kosztów Skumulowanych</span>
                    <div class="rk-tech-total-sum" id="rkTotalElec">170 000 PLN</div>
                </div>
            </div>

            <div class="rk-tech-card rk-tech-water">
                <div class="rk-tech-card-header">
                    <div class="rk-tech-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                    </div>
                    <div>
                        <h3>Wodna Podłogówka + PC</h3>
                        <span>Dom 120 m² (Stan deweloperski)</span>
                    </div>
                </div>

                <div class="rk-tech-body">
                    <div class="rk-tech-row">
                        <span class="rk-tech-label">Sprawność (SCOP)</span>
                        <span class="rk-tech-val">3.0 – 5.0</span>
                    </div>
                    <div class="rk-tech-row">
                        <span class="rk-tech-label">Koszt instalacji</span>
                        <span class="rk-tech-val">40 000 PLN</span>
                    </div>
                    <div class="rk-tech-row">
                        <span class="rk-tech-label">Roczny koszt energii</span>
                        <span class="rk-tech-val">2 200 PLN</span>
                    </div>
                    <div class="rk-tech-row">
                        <span class="rk-tech-label">Koszty serwisu (rok)</span>
                        <span class="rk-tech-val">400 PLN</span>
                    </div>
                </div>

                <div class="rk-tech-chart">
                    <svg class="rk-chart-svg" viewBox="0 0 100 100" preserveAspectRatio="none">
                        <rect class="rk-bar-install" x="10" y="50" width="80" height="50" rx="2" />
                        <rect class="rk-bar-energy" id="rkBarWater" x="10" y="50" width="80" height="0" rx="2" />
                    </svg>
                </div>

                <div class="rk-tech-total">
                    <span class="rk-tech-total-label">Suma Kosztów Skumulowanych</span>
                    <div class="rk-tech-total-sum" id="rkTotalWater">84 000 PLN</div>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-cost-disclaimer">
        <strong>Uwaga:</strong> Wyliczenia symulacyjne uwzględniają uśrednione bazowe ceny energii z 2026 r. Przyjęto uproszczony model stałego wrostu kosztów eksploatacji o 3% rocznie, wliczony w średnią wartość TCO podaną w zestawieniu referencyjnym.
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('rkYearSlider');
    const displayYear = document.getElementById('rkYearDisplay');
    
    // Elementy kwot
    const totalElec = document.getElementById('rkTotalElec');
    const totalWater = document.getElementById('rkTotalWater');
    
    // Elementy SVG (słupki)
    const barElec = document.getElementById('rkBarElec');
    const barWater = document.getElementById('rkBarWater');

    // Dane brzegowe (dla max 20 lat)
    const elecInstall = 10000;
    const elecEnergyPerYear = 8000;
    const elecServicePerYear = 0;

    const waterInstall = 40000;
    const waterEnergyPerYear = 2200;
    const waterServicePerYear = 0; // Wliczone w 2200 lub uśrednione w 84k wg danych wyjściowych (40k + 20*2.2k = 84k).

    // Funkcja formatująca
    const formatPLN = (num) => {
        return Math.round(num).toString().replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " PLN";
    };

    function updateSimulation() {
        const years = parseInt(slider.value);
        
        // Tekst nagłówka suwaka
        displayYear.textContent = years === 1 ? "1 rok" : (years < 5 ? years + " lata" : years + " lat");

        // Obliczenia
        const sumElec = elecInstall + (elecEnergyPerYear * years) + (elecServicePerYear * years);
        const sumWater = waterInstall + (waterEnergyPerYear * years) + (waterServicePerYear * years);

        totalElec.textContent = formatPLN(sumElec);
        totalWater.textContent = formatPLN(sumWater);

        // Wizualizacja SVG (max wysokość to 100px. Skalujemy względem maksymalnej kwoty 170 000 PLN)
        const maxVal = 170000;
        
        // Pasek elektryki: Startuje na y=80 (instalacja to 10k z 170k czyli malutko). Reszta rośnie do góry.
        // Czysta energia proporcjonalnie do maxVal:
        const elecEnergyHeight = ((elecEnergyPerYear * years) / maxVal) * 100;
        barElec.setAttribute('height', elecEnergyHeight);
        barElec.setAttribute('y', 80 - elecEnergyHeight);

        // Pasek wody: Instalacja to 40k, więc pasek tła ma wys 23.5% (ok. 50 w kodzie SVG wizualnie).
        // Energia rośnie:
        const waterEnergyHeight = ((waterEnergyPerYear * years) / maxVal) * 100;
        barWater.setAttribute('height', waterEnergyHeight);
        barWater.setAttribute('y', 50 - waterEnergyHeight); // Startuje z wierzchołka instalacji (y=50)
    }

    if (slider) {
        slider.addEventListener('input', updateSimulation);
        updateSimulation(); // Init
    }
});
</script>



<h2 class="wp-block-heading"></h2>



<style>
:root {
    --rk-roi-dark: #0f172a;
    --rk-roi-surface: #1e293b;
    --rk-roi-bg: #ffffff;
    --rk-roi-border: #e2e8f0;
    --rk-roi-primary: #10b981; /* Emerald/Zysk */
    --rk-roi-primary-dark: #059669;
    --rk-roi-accent: #3b82f6; /* Blue/Woda */
    --rk-roi-warning: #f59e0b; /* Gold/Koszty */
    --rk-roi-text: #334155;
    --rk-roi-muted: #64748b;
}

.rk-roi-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-roi-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.3);
    overflow: hidden;
}

/* Nagłówek H2 */
.rk-roi-header {
    background: linear-gradient(135deg, var(--rk-roi-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-roi-primary);
}

.rk-roi-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #6ee7b7;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(110, 231, 183, 0.3);
}

.rk-roi-header h2 {
    margin: 0 0 15px 0;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
}

.rk-roi-header p {
    margin: 0;
    font-size: 15px;
    color: #cbd5e1;
    line-height: 1.6;
    max-width: 800px;
}

.rk-roi-link {
    color: #6ee7b7;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed rgba(110, 231, 183, 0.4);
    transition: 0.3s;
}
.rk-roi-link:hover { color: #34d399; border-bottom-style: solid; }

/* Dashboard Kalkulatora */
.rk-roi-dashboard {
    display: grid;
    grid-template-columns: 1fr 340px;
    background: #f8fafc;
}

/* Panel Kontrolny (Suwaki) */
.rk-roi-controls {
    padding: 40px 50px;
    border-right: 1px solid var(--rk-roi-border);
    background: #ffffff;
}

.rk-roi-controls h3 {
    margin: 0 0 25px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-roi-dark);
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-roi-input-group {
    margin-bottom: 25px;
    padding: 20px;
    background: #f1f5f9;
    border-radius: 12px;
    border: 1px solid var(--rk-roi-border);
    transition: 0.3s;
}

.rk-roi-input-group:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-roi-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-roi-muted);
}

.rk-roi-label span {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-roi-accent);
    background: #ffffff;
    padding: 4px 12px;
    border-radius: 6px;
    border: 1px solid var(--rk-roi-border);
}

.rk-roi-range {
    -webkit-appearance: none;
    width: 100%;
    height: 6px;
    border-radius: 3px;
    background: #cbd5e1;
    outline: none;
}

.rk-roi-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-roi-accent);
    cursor: pointer;
    border: 3px solid #ffffff;
    box-shadow: 0 2px 6px rgba(59, 130, 246, 0.4);
    transition: transform 0.1s;
}

.rk-roi-range::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

.rk-roi-desc {
    margin: 10px 0 0 0;
    font-size: 11px;
    color: #94a3b8;
}

/* Panel Wyników (Prawy) */
.rk-roi-results {
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--rk-roi-surface);
    color: #ffffff;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Dynamiczny Gauge SVG */
.rk-roi-gauge {
    width: 200px;
    height: 200px;
    position: relative;
    margin-bottom: 30px;
}

.rk-gauge-svg {
    transform: rotate(-90deg);
    width: 100%;
    height: 100%;
}

.rk-gauge-bg {
    fill: none;
    stroke: #334155;
    stroke-width: 12;
}

.rk-gauge-fill {
    fill: none;
    stroke: var(--rk-roi-primary);
    stroke-width: 12;
    stroke-linecap: round;
    stroke-dasharray: 502; /* 2 * pi * r (r=80) */
    stroke-dashoffset: 502;
    transition: stroke-dashoffset 1s cubic-bezier(0.34, 1.56, 0.64, 1), stroke 0.5s;
}

.rk-gauge-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-gauge-val {
    font-size: 42px;
    font-weight: 900;
    color: #ffffff;
    line-height: 1;
}

.rk-gauge-lab {
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 5px;
}

.rk-res-box {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    padding: 15px 20px;
    border-radius: 12px;
    width: 100%;
    margin-bottom: 15px;
}

.rk-res-box:last-child { margin-bottom: 0; }

.rk-res-box-val {
    display: block;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-roi-primary);
    margin-bottom: 4px;
}

.rk-res-box-lab {
    font-size: 12px;
    color: #94a3b8;
}

@media (max-width: 768px) {
    .rk-roi-header { padding: 30px 20px; }
    .rk-roi-dashboard { grid-template-columns: 1fr; }
    .rk-roi-controls { padding: 30px 20px; border-right: none; border-bottom: 1px solid var(--rk-roi-border); }
    .rk-roi-results { padding: 40px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#article-algorytm",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/"
    },
    "headline": "Kalkulator ROI: Algorytm samodzielnego obliczenia opłacalności",
    "description": "Zintegrowany algorytm i interaktywny kalkulator finansowy do analizy zwrotu z inwestycji (ROI) w pompę ciepła na tle ogrzewania oporowego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-31",
    "dateModified": "2026-05-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#dataset-algorytm",
    "name": "Algorytm efektywności finansowej systemów płaszczyznowych (ROI)",
    "description": "Matematyczny wzór wyliczania stopy zwrotu z inwestycji dla instalacji niskotemperaturowych przy zmiennych parametrach rynkowych prądu i SCOP.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator opłacalności pompy ciepła",
      "zwrot z inwestycji w ogrzewanie",
      "algorytm roi ogrzewanie",
      "cena prądu a pompa ciepła 2026",
      "koszty podłogówki elektrycznej"
    ],
    "measurementTechnique": "Szacowanie lat zwrotu inwestycji z uwzględnieniem algorytmu (Inwestycja PC - Inwestycja Kable) / (Koszty energii elektrycznej - Koszty energii PC).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Ustalenie zapotrzebowania rocznego i przemnożenie przez rynkową cenę energii.",
        "Obliczenie oszczędności generowanej przez SCOP pompy ciepła.",
        "Dzielenie różnicy w cenie inwestycji przez roczną oszczędność na rachunkach."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#webapp-algorytm",
    "name": "Interaktywny Miernik Zwrotu Inwestycji (ROI)",
    "description": "Narzędzie użytkownika pozwalające na dynamiczne symulowanie rentowności systemów ogrzewania w zależności od bieżących taryf i zapotrzebowania.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 Forms",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-roi-container" id="rk-roi-app">
    
    <div class="rk-roi-header">
        <div class="rk-roi-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="2" y="4" width="20" height="16" rx="2" ry="2"></rect><line x1="12" y1="12" x2="12" y2="12"></line></svg>
            Inżynieria Finansowa
        </div>
        <h2>Kalkulator ROI: Samodzielnie oblicz opłacalność pompy ciepła</h2>
        <p>Nie wierz na słowo – przelicz to na własnych warunkach. Użyj suwaków, aby wprowadzić aktualną cenę prądu, parametry budynku (uzyskane z <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/" class="rk-roi-link">obliczania zapotrzebowania OZC</a>) i różnicę z <a href="https://projekt-ogrzewania.pl/kompleksowa-wycena-ogrzewania-podlogowego-wodnego-na-co-przygotowac-budzet/" class="rk-roi-link">wyceny instalacji wodnej</a>. Narzędzie automatycznie przetworzy <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/" class="rk-roi-link">zwrot z inwestycji</a> według poniższego wzoru inżynierskiego:</p>
        <p style="margin-top: 15px; font-family: monospace; background: rgba(0,0,0,0.2); padding: 10px 15px; border-radius: 8px;">Czas zwrotu = Różnica w cenie instalacji / (Koszty prądu Kabli - Koszty prądu Pompy)</p>
    </div>

    <div class="rk-roi-dashboard">
        
        <div class="rk-roi-controls">
            <h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--rk-roi-primary)" stroke-width="2.5"><circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg> Wprowadź swoje dane</h3>

            <div class="rk-roi-input-group">
                <div class="rk-roi-label">
                    Cena prądu:
                    <span id="outPrice">1.20 PLN</span>
                </div>
                <input type="range" class="rk-roi-range" id="slPrice" min="0.80" max="2.50" step="0.05" value="1.20">
                <p class="rk-roi-desc">Koszt za 1 kWh (uwzględnij dystrybucję).</p>
            </div>

            <div class="rk-roi-input-group">
                <div class="rk-roi-label">
                    Roczne zapotrzebowanie:
                    <span id="outDemand">8 000 kWh</span>
                </div>
                <input type="range" class="rk-roi-range" id="slDemand" min="4000" max="15000" step="500" value="8000">
                <p class="rk-roi-desc">Zgodne z wynikiem audytu lub OZC.</p>
            </div>

            <div class="rk-roi-input-group">
                <div class="rk-roi-label">
                    Różnica w cenie instalacji:
                    <span id="outDiff">30 000 PLN</span>
                </div>
                <input type="range" class="rk-roi-range" id="slDiff" min="10000" max="60000" step="1000" value="30000">
                <p class="rk-roi-desc">O ile PC i wodna podłogówka są droższe.</p>
            </div>

            <div class="rk-roi-input-group" style="margin-bottom: 0;">
                <div class="rk-roi-label">
                    Sprawność Pompy (SCOP):
                    <span id="outScop">3.5</span>
                </div>
                <input type="range" class="rk-roi-range" id="slScop" min="2.5" max="5.0" step="0.1" value="3.5">
                <p class="rk-roi-desc">Im niższa temp. zasilania, tym wyższy SCOP.</p>
            </div>
        </div>

        <div class="rk-roi-results">
            
            <div class="rk-roi-gauge">
                <svg class="rk-gauge-svg" viewBox="0 0 200 200">
                    <circle class="rk-gauge-bg" cx="100" cy="100" r="80"></circle>
                    <circle class="rk-gauge-fill" id="roiGaugeFill" cx="100" cy="100" r="80"></circle>
                </svg>
                <div class="rk-gauge-text">
                    <span class="rk-gauge-val" id="resYears">5.1</span>
                    <span class="rk-gauge-lab">Lat zwrotu</span>
                </div>
            </div>

            <div class="rk-res-box">
                <span class="rk-res-box-val" id="resSavings">5 800 PLN</span>
                <span class="rk-res-box-lab">Twoja roczna oszczędność na prądzie</span>
            </div>

            <div class="rk-res-box">
                <span class="rk-res-box-val" id="resMonthly" style="color: #cbd5e1; font-size: 16px;">483 PLN</span>
                <span class="rk-res-box-lab">Oszczędność w skali miesiąca</span>
            </div>

        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Slidery
    const slPrice = document.getElementById('slPrice');
    const slDemand = document.getElementById('slDemand');
    const slDiff = document.getElementById('slDiff');
    const slScop = document.getElementById('slScop');

    // Wartości Wyjściowe Suwaków
    const outPrice = document.getElementById('outPrice');
    const outDemand = document.getElementById('outDemand');
    const outDiff = document.getElementById('outDiff');
    const outScop = document.getElementById('outScop');

    // Wyniki
    const resYears = document.getElementById('resYears');
    const resSavings = document.getElementById('resSavings');
    const resMonthly = document.getElementById('resMonthly');
    const gaugeFill = document.getElementById('roiGaugeFill');

    // Formatowanie
    const formatPLN = (num) => Math.round(num).toString().replace(/\B(?=(\d{3})+(?!\d))/g, " ");

    function calculateROI() {
        const price = parseFloat(slPrice.value);
        const demand = parseFloat(slDemand.value);
        const diff = parseFloat(slDiff.value);
        const scop = parseFloat(slScop.value);

        // Aktualizacja tekstów obok suwaków
        outPrice.textContent = price.toFixed(2) + ' PLN';
        outDemand.textContent = formatPLN(demand) + ' kWh';
        outDiff.textContent = formatPLN(diff) + ' PLN';
        outScop.textContent = scop.toFixed(1);

        // Algorytm Oszczędności
        // Elektryka: Płacisz za 100% energii
        const costElec = demand * price;
        
        // Pompa Ciepła: Płacisz tylko za prąd do sprężarki
        const costPump = (demand / scop) * price;

        // Roczna różnica (Zysk)
        const savingsAnnual = costElec - costPump;
        
        // Czas zwrotu w latach
        let roiYears = diff / savingsAnnual;
        
        if (roiYears < 0 || !isFinite(roiYears)) {
            roiYears = 0;
        }

        // Aktualizacja UI
        resSavings.textContent = formatPLN(savingsAnnual) + ' PLN';
        resMonthly.textContent = formatPLN(savingsAnnual / 12) + ' PLN';
        resYears.textContent = roiYears.toFixed(1);

        // Aktualizacja Wskaźnika (Gauge SVG)
        // Zakładamy max sensowny zwrot na 20 lat do skali wskaźnika
        const maxYears = 20;
        let percentage = (roiYears / maxYears);
        if (percentage > 1) percentage = 1;
        if (percentage < 0) percentage = 0;

        // Zmiana koloru wskaźnika (Zielony -> Żółty -> Czerwony)
        let strokeColor = 'var(--rk-roi-primary)'; // Zielony (Zyskowny)
        if (roiYears > 8) strokeColor = 'var(--rk-roi-warning)'; // Żółty (Średni zwrot)
        if (roiYears > 12) strokeColor = '#f43f5e'; // Czerwony (Długi zwrot)
        
        gaugeFill.style.stroke = strokeColor;

        // Obwód koła to 2 * pi * r (r=80 -> ~502)
        // dashoffset = 502 oznacza puste, 0 oznacza pełne.
        // Chcemy, aby krótszy czas (mało lat) = zielone koło (prawie pełne, szybki zysk).
        // Więc odwrotność: 
        const fillAmount = 1 - percentage; 
        const offset = 502 - (502 * fillAmount);
        
        gaugeFill.style.strokeDashoffset = offset;
    }

    // Nasłuchiwacze na wszystkie suwaki
    const inputs = [slPrice, slDemand, slDiff, slScop];
    inputs.forEach(input => {
        if(input) {
            input.addEventListener('input', calculateROI);
        }
    });

    // Inicjalizacja pierwszego uruchomienia
    if (slPrice) calculateROI();
});
</script>



<style>
:root {
    --rk-pv-dark: #0f172a;
    --rk-pv-panel: #1e293b;
    --rk-pv-bg: #ffffff;
    --rk-pv-border: #e2e8f0;
    --rk-pv-text: #334155;
    --rk-pv-muted: #64748b;
    
    /* Kolory funkcyjne */
    --rk-pv-sun: #eab308; /* Żółty - Fotowoltaika */
    --rk-pv-heat: #ef4444; /* Czerwony - Zapotrzebowanie */
    --rk-pv-grid: #8b5cf6; /* Niebieski - Pobór z sieci */
    --rk-pv-success: #10b981; /* Zielony - Pompa Ciepła */
}

.rk-pv-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-pv-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(234, 179, 8, 0.15);
    border: 1px solid rgba(234, 179, 8, 0.3);
    overflow: hidden;
}

/* Nagłówek i opis (Top-Down Flow) */
.rk-pv-header {
    padding: 45px 50px 30px;
    text-align: center;
    background: linear-gradient(to bottom, #fefce8, #ffffff);
    border-bottom: 1px solid var(--rk-pv-border);
}

.rk-pv-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(234, 179, 8, 0.15);
    color: #ca8a04;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(234, 179, 8, 0.3);
}

.rk-pv-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-pv-dark);
    margin: 0 0 20px 0;
    line-height: 1.3;
}

.rk-pv-header p {
    font-size: 16px;
    color: var(--rk-pv-text);
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.7;
}

.rk-pv-link {
    color: var(--rk-pv-grid);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px dashed rgba(139, 92, 246, 0.4);
    transition: 0.3s;
}
.rk-pv-link:hover { border-bottom-style: solid; color: #6d28d9; }

/* Sekcja Interaktywna - Przełącznik Centralny */
.rk-pv-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-pv-toggle-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

.rk-pv-toggle {
    display: inline-flex;
    background: #e2e8f0;
    border-radius: 16px;
    padding: 6px;
    position: relative;
}

.rk-pv-toggle-btn {
    padding: 14px 35px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-pv-muted);
    border: none;
    background: transparent;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-pv-toggle-btn.active { color: var(--rk-pv-dark); }

.rk-pv-toggle-indicator {
    position: absolute;
    top: 6px;
    left: 6px;
    height: calc(100% - 12px);
    width: calc(50% - 6px);
    border-radius: 12px;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    background: #ffffff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.rk-pv-toggle[data-season="winter"] .rk-pv-toggle-indicator {
    transform: translateX(100%);
}

/* Scentralizowany Wykres SVG */
.rk-pv-chart-box {
    background: var(--rk-pv-dark);
    border-radius: 20px;
    padding: 30px;
    box-shadow: inset 0 10px 30px rgba(0,0,0,0.5);
    margin-bottom: 40px;
    position: relative;
}

.rk-pv-chart-svg {
    width: 100%;
    height: 250px;
}

/* Animacje Słupków SVG */
.anim-bar { transition: height 0.6s cubic-bezier(0.4, 0, 0.2, 1), y 0.6s cubic-bezier(0.4, 0, 0.2, 1); }
.anim-text { transition: opacity 0.4s; font-family: 'Inter', sans-serif; font-weight: bold; }

/* Karty Wynikowe (Grid Bottom) */
.rk-pv-cards-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}

.rk-pv-card {
    background: #ffffff;
    border: 1px solid var(--rk-pv-border);
    border-radius: 16px;
    padding: 30px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s;
}

.rk-pv-card::before {
    content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px;
}
.card-elec::before { background: var(--rk-pv-heat); }
.card-pump::before { background: var(--rk-pv-success); }

.rk-pv-card h3 {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-pv-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-pv-card p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-pv-text);
    margin: 0 0 20px 0;
}

.rk-pv-result {
    background: #f1f5f9;
    padding: 15px;
    border-radius: 12px;
    text-align: center;
}

.rk-pv-result span {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-pv-muted);
    margin-bottom: 5px;
}

.rk-pv-result strong {
    font-size: 20px;
    font-weight: 900;
}

.card-elec .rk-pv-result strong { color: var(--rk-pv-heat); }
.card-pump .rk-pv-result strong { color: var(--rk-pv-success); }

@media (max-width: 768px) {
    .rk-pv-header { padding: 30px 20px; }
    .rk-pv-interactive { padding: 30px 20px; }
    .rk-pv-toggle { width: 100%; display: flex; }
    .rk-pv-toggle-btn { flex: 1; justify-content: center; padding: 12px 10px; font-size: 13px; }
    .rk-pv-chart-svg { height: 200px; }
    .rk-pv-chart-box { padding: 15px; }
    .rk-pv-cards-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#article-fotowoltaika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/"
    },
    "headline": "Dlaczego fotowoltaika nie eliminuje problemu ogrzewania elektrycznego?",
    "description": "Analiza zimowej luki energetycznej. Sprawdź, dlaczego ogrzewanie prądem z PV zimą to mit, i jak pompa ciepła ratuje bilans cieplny budynku.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-31",
    "dateModified": "2026-05-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#dataset-pv",
    "name": "Bilans energetyczny domu z PV: Produkcja vs Zapotrzebowanie (Polska strefa klimatyczna)",
    "description": "Zestawienie meteorologiczne uzyskanej energii słonecznej w stosunku do obciążenia cieplnego budynku w miesiącach zimowych (grudzień-styczeń).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "uzysk z fotowoltaiki w grudniu i styczniu",
      "ogrzewanie elektryczne a panele słoneczne",
      "współpraca pompy ciepła z PV zimą",
      "bilans cieplny budynku z fotowoltaiką",
      "zapotrzebowanie na ciepło a prąd"
    ],
    "measurementTechnique": "Porównanie krzywej produkcji instalacji PV o mocy 10 kWp do krzywej zapotrzebowania cieplnego budynku jednorodzinnego wyliczonego ze wzorów OZC.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zimą (grudzień, styczeń) fotowoltaika pokrywa średnio zaledwie 10-15% zapotrzebowania energetycznego domu.",
        "Ogrzewanie elektryczne generuje czarną dziurę finansową, zmuszając do kupowania 85% energii z sieci w najdroższej taryfie.",
        "Pompa ciepła, dzięki zjawisku termodynamicznemu, zużywa 3-4 razy mniej prądu sieciowego na wyprodukowanie tej samej ilości ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#webapp-pv",
    "name": "Symulator Luki Energetycznej (PV vs Zapotrzebowanie)",
    "description": "Interaktywny kokpit analityczny demonstrujący kolizję zerowej produkcji PV i szczytowego zapotrzebowania na ciepło w miesiącach zimowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-pv-container" id="rk-pv-app">
    
    <div class="rk-pv-header">
        <div class="rk-pv-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg>
            Analiza Luki Energetycznej
        </div>
        <h2>Dlaczego fotowoltaika nie eliminuje problemu ogrzewania elektrycznego?</h2>
        <p>Wielu inwestorów ulega groźnemu mitowi: <em>"Mam PV, więc mam darmowe ogrzewanie elektryczne"</em>. Zgodnie z <a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/" class="rk-pv-link">bilansem cieplnym budynków</a> dla polskiej strefy klimatycznej, produkcja z PV zimą pokrywa zaledwie <strong>10-15% potrzeb</strong>. Zobacz, jak brutalnie fizyka weryfikuje ten układ.</p>
    </div>

    <div class="rk-pv-interactive">
        
        <div class="rk-pv-toggle-wrapper">
            <div class="rk-pv-toggle" data-season="summer" id="pvToggleUi">
                <div class="rk-pv-toggle-indicator"></div>
                <button class="rk-pv-toggle-btn active" onclick="switchPvSeason('summer')">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="var(--rk-pv-sun)" stroke-width="2.5"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line></svg>
                    Miesiące Letnie (Lipiec)
                </button>
                <button class="rk-pv-toggle-btn" onclick="switchPvSeason('winter')">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M2 12h4l2-9 5 18 2-9h5"></path></svg>
                    Miesiące Zimowe (Styczeń)
                </button>
            </div>
        </div>

        <div class="rk-pv-chart-box">
            <svg class="rk-pv-chart-svg" viewBox="0 0 800 200" preserveAspectRatio="xMidYMid meet">
                <line x1="50" y1="160" x2="750" y2="160" stroke="#334155" stroke-width="2"/>
                <line x1="50" y1="110" x2="750" y2="110" stroke="#334155" stroke-width="1" stroke-dasharray="4 4"/>
                <line x1="50" y1="60" x2="750" y2="60" stroke="#334155" stroke-width="1" stroke-dasharray="4 4"/>
                
                <text x="40" y="165" fill="#64748b" font-family="Inter" font-size="12" text-anchor="end">0%</text>
                <text x="40" y="115" fill="#64748b" font-family="Inter" font-size="12" text-anchor="end">50%</text>
                <text x="40" y="65" fill="#64748b" font-family="Inter" font-size="12" text-anchor="end">100%</text>

                <rect class="anim-bar" id="barPv" x="150" y="60" width="120" height="100" fill="var(--rk-pv-sun)" rx="4"/>
                <text class="anim-text" id="txtPv" x="210" y="50" fill="var(--rk-pv-sun)" font-size="16" text-anchor="middle">Uzysk PV: 100%</text>
                <text x="210" y="185" fill="#94a3b8" font-family="Inter" font-size="14" font-weight="bold" text-anchor="middle">PRODUKCJA PRĄDU</text>

                <rect class="anim-bar" id="barHeat" x="340" y="150" width="120" height="10" fill="var(--rk-pv-heat)" rx="4"/>
                <text class="anim-text" id="txtHeat" x="400" y="140" fill="var(--rk-pv-heat)" font-size="16" text-anchor="middle">Straty ciepła: B. niskie</text>
                <text x="400" y="185" fill="#94a3b8" font-family="Inter" font-size="14" font-weight="bold" text-anchor="middle">ZAPOTRZEBOWANIE</text>

                <rect class="anim-bar" id="barGrid" x="530" y="160" width="120" height="0" fill="var(--rk-pv-grid)" rx="4"/>
                <text class="anim-text" id="txtGrid" x="590" y="150" fill="var(--rk-pv-grid)" font-size="16" text-anchor="middle" opacity="0">LUKA: Kupujesz prąd!</text>
                <text x="590" y="185" fill="#94a3b8" font-family="Inter" font-size="14" font-weight="bold" text-anchor="middle">DOBÓR Z SIECI</text>
            </svg>
        </div>

        <div class="rk-pv-cards-grid">
            
            <div class="rk-pv-card card-elec">
                <h3>
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-pv-heat)" stroke-width="2.5"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
                    Kable / Maty Elektryczne
                </h3>
                <p>Przy spadku produkcji z paneli do 10-15%, bezpośrednie ogrzewanie staje się <strong>czarną dziurą budżetową</strong>. Grzałka przerabia 1 kWh drogiego prądu z sieci na zaledwie 1 kWh ciepła (COP = 1.0). Brak masy akumulacyjnej pogłębia problem.</p>
                <div class="rk-pv-result">
                    <span id="resElecLabel">Oceny na miesiąc zimowy:</span>
                    <strong id="resElecStatus">KRYTYCZNE ZUŻYCIE Z SIECI</strong>
                </div>
            </div>

            <div class="rk-pv-card card-pump">
                <h3>
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-pv-success)" stroke-width="2.5"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                    Wodna Pompa Ciepła
                </h3>
                <p>Tu zadziała fizyka. <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" class="rk-pv-link">Pompa ciepła</a> nie używa prądu do grzania, a jedynie do zasilania sprężarki. Przemienia 1 kWh prądu pobranego z sieci na nawet 3-4 kWh ciepła z zewnątrz (SCOP 3.5), ratując Twój portfel podczas mrozów.</p>
                <div class="rk-pv-result">
                    <span id="resPumpLabel">Oceny na miesiąc zimowy:</span>
                    <strong id="resPumpStatus">EFEKT DŹWIGNI (SCOP)</strong>
                </div>
            </div>

        </div>
    </div>
</div>

<script>
function switchPvSeason(season) {
    const toggleUi = document.getElementById('pvToggleUi');
    const btns = toggleUi.querySelectorAll('.rk-pv-toggle-btn');
    
    // UI toggle
    btns[0].classList.toggle('active', season === 'summer');
    btns[1].classList.toggle('active', season === 'winter');
    toggleUi.setAttribute('data-season', season);

    // Animacje SVG
    const barPv = document.getElementById('barPv');
    const txtPv = document.getElementById('txtPv');
    const barHeat = document.getElementById('barHeat');
    const txtHeat = document.getElementById('txtHeat');
    const barGrid = document.getElementById('barGrid');
    const txtGrid = document.getElementById('txtGrid');

    // Aktualizacja Kart
    const resElecStatus = document.getElementById('resElecStatus');
    const resPumpStatus = document.getElementById('resPumpStatus');

    if (season === 'summer') {
        // LATO
        barPv.setAttribute('y', '60');
        barPv.setAttribute('height', '100');
        txtPv.setAttribute('y', '50');
        txtPv.textContent = 'Uzysk PV: Wysoki (100%)';

        barHeat.setAttribute('y', '150');
        barHeat.setAttribute('height', '10');
        txtHeat.setAttribute('y', '140');
        txtHeat.textContent = 'Zapotrzebowanie: Znikome';

        barGrid.setAttribute('y', '160');
        barGrid.setAttribute('height', '0');
        txtGrid.setAttribute('opacity', '0');

        resElecStatus.textContent = "SYSTEM NIE PRACUJE (LATO)";
        resPumpStatus.textContent = "SYSTEM NIE PRACUJE (LATO)";
        resElecStatus.style.color = "var(--rk-pv-muted)";
        resPumpStatus.style.color = "var(--rk-pv-muted)";

    } else {
        // ZIMA (Styczeń/Grudzień)
        barPv.setAttribute('y', '145');
        barPv.setAttribute('height', '15');
        txtPv.setAttribute('y', '135');
        txtPv.textContent = 'Uzysk PV: ~15%';

        barHeat.setAttribute('y', '60');
        barHeat.setAttribute('height', '100');
        txtHeat.setAttribute('y', '50');
        txtHeat.textContent = 'Zapotrzebowanie: SZCZYTOWE';

        barGrid.setAttribute('y', '75');
        barGrid.setAttribute('height', '85');
        txtGrid.setAttribute('y', '65');
        txtGrid.textContent = 'LUKA: Prąd z sieci (85%)';
        txtGrid.setAttribute('opacity', '1');

        resElecStatus.textContent = "KRYTYCZNY KOSZT (KUPUJESZ Z SIECI)";
        resPumpStatus.textContent = "OSZCZĘDNOŚĆ x3.5 (DZIĘKI SCOP)";
        resElecStatus.style.color = "var(--rk-pv-heat)";
        resPumpStatus.style.color = "var(--rk-pv-success)";
    }
}
</script>



<style>
:root {
    --rk-sum-dark: #020617;
    --rk-sum-panel: #0f172a;
    --rk-sum-primary: #10b981; 
    --rk-sum-primary-light: #d1fae5;
    --rk-sum-accent: #0ea5e9; 
    --rk-sum-warning: #f43f5e; 
    --rk-sum-bg: #f8fafc;
    --rk-sum-border: #cbd5e1;
    --rk-sum-text: #334155;
    --rk-sum-text-dim: #64748b;
}

.rk-summary-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.3);
    overflow: hidden;
}

/* Header z ekspertem */
.rk-summary-header {
    background: linear-gradient(135deg, var(--rk-sum-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    display: flex;
    align-items: center;
    gap: 30px;
    border-bottom: 4px solid var(--rk-sum-primary);
    position: relative;
    overflow: hidden;
}

.rk-summary-header::after {
    content: ''; position: absolute; right: 0; top: 0; width: 300px; height: 100%;
    background: radial-gradient(circle at right, rgba(16, 185, 129, 0.15) 0%, transparent 70%);
}

.rk-expert-avatar {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    border: 3px solid var(--rk-sum-primary);
    box-shadow: 0 0 20px rgba(16, 185, 129, 0.4);
    object-fit: cover;
    position: relative;
    z-index: 2;
}

.rk-header-content {
    position: relative;
    z-index: 2;
}

.rk-header-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #6ee7b7;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
    border: 1px solid rgba(110, 231, 183, 0.3);
}

.rk-header-content h2 {
    font-size: 26px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 8px 0;
    line-height: 1.2;
}

.rk-header-content p {
    color: #94a3b8;
    font-size: 15px;
    margin: 0;
    font-weight: 500;
    line-height: 1.5;
}

/* Sekcja z zakładkami i wiedzą */
.rk-summary-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #ffffff;
}

.rk-rules-list {
    padding: 30px;
    border-right: 1px solid var(--rk-sum-border);
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #f8fafc;
}

.rk-rule-btn {
    background: #ffffff;
    border: 1px solid var(--rk-sum-border);
    padding: 18px 20px;
    border-radius: 12px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-rule-btn:hover {
    border-color: var(--rk-sum-primary);
}

.rk-rule-btn.active {
    background: var(--rk-sum-primary-light);
    border-color: var(--rk-sum-primary);
    box-shadow: inset 4px 0 0 var(--rk-sum-primary);
}

.rk-rule-icon {
    width: 32px; height: 32px;
    background: #f1f5f9;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    color: var(--rk-sum-text-dim);
    flex-shrink: 0;
    transition: 0.3s;
}

.rk-rule-btn.active .rk-rule-icon {
    background: var(--rk-sum-primary);
    color: #ffffff;
}

.rk-rule-text h3 {
    margin: 0 0 5px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-sum-dark);
}

.rk-rule-text p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-sum-text-dim);
    line-height: 1.5;
}

/* Nowa Wskazówka Eksperta (Wypełniacz po lewej) */
.rk-expert-tip {
    margin-top: auto;
    padding: 20px;
    background: rgba(16, 185, 129, 0.05);
    border: 1px dashed rgba(16, 185, 129, 0.4);
    border-radius: 12px;
    display: flex;
    gap: 15px;
    align-items: flex-start;
}

.rk-expert-tip svg {
    width: 24px;
    height: 24px;
    color: var(--rk-sum-primary);
    flex-shrink: 0;
}

.rk-expert-tip-text strong {
    display: block;
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-sum-dark);
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-expert-tip-text p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-sum-text-dim);
    line-height: 1.5;
}

/* Panel Detali (Prawy) */
.rk-rule-details {
    padding: 40px;
    position: relative;
}

.rk-detail-panel {
    display: none;
}

.rk-detail-panel.active {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-detail-panel h4 {
    margin: 0;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-sum-dark);
}

.rk-detail-panel p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-sum-text);
}

.rk-sum-link {
    color: var(--rk-sum-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: 0.3s;
}
.rk-sum-link:hover { border-color: var(--rk-sum-accent); }

.rk-detail-svg {
    width: 100%;
    height: 160px;
    background: var(--rk-sum-dark);
    border-radius: 12px;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 4px 20px rgba(0,0,0,0.5);
    border: 2px solid #1e293b;
}

/* Narzędzie Szybkiego Szacowania (Kalkulator) */
.rk-quick-calc {
    background: var(--rk-sum-panel);
    padding: 35px 50px;
    border-top: 1px solid #1e293b;
    color: #ffffff;
}

.rk-calc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.rk-calc-header h4 {
    margin: 0; font-size: 18px; font-weight: 900; color: #ffffff;
    display: flex; align-items: center; gap: 10px;
}

.rk-calc-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 40px;
    align-items: center;
}

.rk-calc-input-area {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-calc-label { font-size: 13px; font-weight: 700; color: #94a3b8; display: flex; justify-content: space-between; align-items: center; }
.rk-calc-label span { color: #ffffff; font-size: 18px; font-weight: 900; }

.rk-sum-range {
    -webkit-appearance: none; width: 100%; height: 6px; border-radius: 3px; background: #334155; outline: none;
}
.rk-sum-range::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none; width: 22px; height: 22px; border-radius: 50%;
    background: var(--rk-sum-primary); cursor: pointer; border: 3px solid #ffffff; transition: 0.1s;
}

.rk-calc-results {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.rk-result-box {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    padding: 15px;
    border-radius: 12px;
    text-align: center;
}

.rk-result-box.highlight { border-color: var(--rk-sum-primary); background: rgba(16, 185, 129, 0.1); }
.rk-result-box.danger { border-color: rgba(244, 63, 94, 0.5); background: rgba(244, 63, 94, 0.05); }

.rk-res-val { display: block; font-size: 20px; font-weight: 900; color: #ffffff; margin-bottom: 5px; }
.rk-result-box.highlight .rk-res-val { color: var(--rk-sum-primary); }
.rk-result-box.danger .rk-res-val { color: var(--rk-sum-warning); }
.rk-res-lab { display: block; font-size: 11px; color: #94a3b8; text-transform: uppercase; font-weight: 700; line-height: 1.4; }

/* SEKACJA AUTORSKA - PODPIS EKSPERTA */
.rk-summary-author {
    background: #f1f5f9;
    padding: 30px 50px;
    display: flex;
    align-items: flex-start;
    gap: 25px;
    border-top: 1px solid var(--rk-sum-border);
}

.rk-author-photo-small {
    width: 75px;
    height: 75px;
    border-radius: 50%;
    border: 3px solid var(--rk-sum-primary);
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.2);
    object-fit: cover;
    flex-shrink: 0;
}

.rk-author-info {
    flex-grow: 1;
}

.rk-author-info h4 {
    margin: 0 0 6px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-sum-dark);
}

.rk-author-info p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-sum-text);
    line-height: 1.6;
}

.rk-author-links {
    display: flex;
    gap: 15px;
    margin-top: 12px;
}

.rk-author-links a {
    color: var(--rk-sum-accent);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color 0.2s;
}

.rk-author-links a:hover {
    color: #0284c7;
    text-decoration: underline;
}

@media (max-width: 768px) {
    .rk-summary-header { flex-direction: column; text-align: center; padding: 30px 20px; }
    .rk-expert-avatar { width: 70px; height: 70px; }
    .rk-summary-body { grid-template-columns: 1fr; }
    .rk-rules-list { border-right: none; border-bottom: 1px solid var(--rk-sum-border); padding: 20px; }
    .rk-expert-tip { margin-top: 15px; }
    .rk-rule-details { padding: 25px 20px; }
    .rk-calc-grid { grid-template-columns: 1fr; gap: 25px; }
    .rk-quick-calc { padding: 30px 20px; }
    .rk-calc-results { grid-template-columns: 1fr; }
    .rk-summary-author { flex-direction: column; text-align: center; padding: 30px 20px; align-items: center; }
    .rk-author-links { justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#article-summary-final",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/"
    },
    "headline": "Podsumowanie eksperta: Wodna podłogówka to inwestycja, elektryka to abonament",
    "description": "Zestawienie twardych danych i interaktywny kalkulator kosztów TCO na 20 lat, porównujący koszty eksploatacji pomp ciepła i folii grzewczych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "CEO & Główny Projektant HVAC",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-31",
    "dateModified": "2026-05-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#dataset-summary",
    "name": "Porównanie kosztów TCO: Elektryka vs Pompa Ciepła (20 lat)",
    "description": "Zestawienie analityczne weryfikujące koszty początkowe i wydatki energetyczne dwóch wiodących systemów ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator TCO ogrzewania",
      "opłacalność pompy ciepła",
      "koszty folii grzewczych",
      "symulacja zużycia prądu 20 lat",
      "ogrzewanie podłogowe inwestycja"
    ],
    "measurementTechnique": "Analiza całkowitych kosztów posiadania (TCO) na bazie szacunkowego zapotrzebowania na energię, zakładająca COP 1.0 dla kabli oraz średnie SCOP 3.5 dla pomp ciepła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Sprawność kabli grzewczych to 1:1, co oznacza drastyczne koszty utrzymania.",
        "Pompa ciepła obniża rachunki 3.5-krotnie, pokrywając wyższy koszt inwestycji w ciągu kilku lat.",
        "Fotowoltaika zimą dostarcza ułamek potrzebnej energii."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#webapp-summary",
    "name": "Estymator Kosztów Długoterminowych Ogrzewania",
    "description": "Interaktywny symulator finansowy wyliczający szacunkowy rachunek za ogrzewanie w perspektywie 20 lat dla rozwiązań bezpośrednich oraz pomp ciepła.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 Forms",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-summary-container" id="rk-tco-summary-app">
    
    <div class="rk-summary-header">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-expert-avatar" loading="lazy">
        <div class="rk-header-content">
            <div class="rk-header-badge">
                <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                Wnioski Eksperta
            </div>
            <h2>Wodna podłogówka to inwestycja, elektryka to abonament</h2>
            <p>Nie daj się zwieść niskim kosztom montażu mat i folii. Wybór systemu grzewczego to decyzja, która na 20 lat zdefiniuje obciążenie Twojego portfela.</p>
        </div>
    </div>

    <div class="rk-summary-body">
        
        <div class="rk-rules-list">
            <button class="rk-rule-btn active" data-panel="tco-1">
                <div class="rk-rule-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="2" y="4" width="20" height="16" rx="2" ry="2"></rect><line x1="12" y1="12" x2="12" y2="12"></line></svg></div>
                <div class="rk-rule-text">
                    <h3>Zasada TCO (Koszty Całkowite)</h3>
                    <p>Startowa oszczędność vs rachunki</p>
                </div>
            </button>

            <button class="rk-rule-btn" data-panel="tco-2">
                <div class="rk-rule-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg></div>
                <div class="rk-rule-text">
                    <h3>Mit darmowego prądu z PV</h3>
                    <p>Zimą panele nie grzeją domu</p>
                </div>
            </button>

            <button class="rk-rule-btn" data-panel="tco-3">
                <div class="rk-rule-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg></div>
                <div class="rk-rule-text">
                    <h3>Projekt to tarcza finansowa</h3>
                    <p>Obliczenia gwarantują efektywność</p>
                </div>
            </button>
            
            <!-- Nowa Wskazówka Eksperta (Wypełnia pustą przestrzeń) -->
            <div class="rk-expert-tip">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                    <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path>
                    <path d="M12 8v4"></path>
                    <path d="M12 16h.01"></path>
                </svg>
                <div class="rk-expert-tip-text">
                    <strong>Wskazówka Inwestycyjna</strong>
                    <p>Różnica w kosztach prądu między foliami a pompą ciepła potrafi w kilka lat pokryć 100% ceny kompleksowego i prawidłowego montażu wodnej podłogówki.</p>
                </div>
            </div>
        </div>

        <div class="rk-rule-details">
            
            <div class="rk-detail-panel active" id="tco-1">
                <h4>Koszty to nie tylko materiał na starcie</h4>
                <p>Inwestorzy często wybierają elektrykę, bo kable kosztują 10 000 PLN zamiast 40 000 PLN (za komplet z pompą). Zapominają jednak, że przy kablach (COP 1.0) zapłacą cztery razy więcej za każdą zimę. Wodna podłogówka <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/" class="rk-sum-link">zwraca różnicę w cenie w kilka lat</a> i pozwala na wymianę źródła ciepła w przyszłości.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <line x1="100" y1="80" x2="100" y2="20" stroke="#64748b" stroke-width="4"/>
                        <polygon points="90,80 110,80 100,60" fill="#64748b"/>
                        <line x1="40" y1="30" x2="160" y2="50" stroke="#cbd5e1" stroke-width="4" stroke-linecap="round"/>
                        <rect x="30" y="32" width="20" height="30" fill="#f43f5e" rx="2"/>
                        <text x="40" y="47" fill="#ffffff" font-size="10" font-weight="bold" text-anchor="middle">COP 1</text>
                        <rect x="150" y="15" width="20" height="30" fill="#10b981" rx="2"/>
                        <text x="160" y="30" fill="#ffffff" font-size="10" font-weight="bold" text-anchor="middle">COP 4</text>
                    </svg>
                </div>
            </div>

            <div class="rk-detail-panel" id="tco-2">
                <h4>Zimą słońce nie opłaci faktur</h4>
                <p>Niestety, fotowoltaika pokrywa zaledwie kilkanaście procent zapotrzebowania w grudniu i styczniu. Przy ogrzewaniu elektrycznym bezpośrednim, w największe mrozy kupujesz 100% drogiego prądu z sieci. Pompa ciepła, pobierając 1 kW z sieci, pompuje w Twoją wylewkę 4 kW ciepła.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <line x1="20" y1="80" x2="180" y2="80" stroke="#64748b" stroke-width="2"/>
                        <line x1="20" y1="80" x2="20" y2="10" stroke="#64748b" stroke-width="2"/>
                        <path d="M 20 20 Q 100 100 180 20" fill="none" stroke="#f43f5e" stroke-width="3" stroke-dasharray="4 4"/>
                        <path d="M 20 80 Q 100 10 180 80" fill="none" stroke="#eab308" stroke-width="3"/>
                        <text x="100" y="95" fill="#94a3b8" font-size="10" text-anchor="middle" font-weight="bold">MIESIĄCE ZIMOWE VS LETNIE</text>
                    </svg>
                </div>
            </div>

            <div class="rk-detail-panel" id="tco-3">
                <h4>Zbuduj fundament z obliczeniami OZC</h4>
                <p>Zagęszczony rozstaw rur i prawidłowo dobrana średnica to wynik <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/" class="rk-sum-link">precyzyjnych obliczeń OZC</a>. To jedyna metoda, aby obniżyć temperaturę zasilania wody do ok. 30°C. <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" class="rk-sum-link">Brak projektu to układanie rur w ciemno</a>, co zawsze mści się wyższymi rachunkami i krótszą żywotnością samej pompy.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <rect x="50" y="15" width="100" height="70" fill="none" stroke="#0ea5e9" stroke-width="3" rx="4"/>
                        <line x1="60" y1="30" x2="140" y2="30" stroke="#0ea5e9" stroke-width="2"/>
                        <line x1="60" y1="45" x2="120" y2="45" stroke="#0ea5e9" stroke-width="2"/>
                        <rect x="60" y="55" width="30" height="20" fill="none" stroke="#10b981" stroke-width="2"/>
                        <rect x="100" y="55" width="40" height="20" fill="none" stroke="#10b981" stroke-width="2"/>
                        <path d="M 125 40 L 135 30 L 145 40" fill="none" stroke="#10b981" stroke-width="2"/>
                        <line x1="135" y1="30" x2="135" y2="50" stroke="#10b981" stroke-width="2"/>
                    </svg>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-quick-calc">
        <div class="rk-calc-header">
            <h4>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--rk-sum-primary)" stroke-width="2.5"><rect x="2" y="4" width="20" height="16" rx="2" ry="2"></rect><line x1="6" y1="8" x2="6" y2="8"></line><line x1="10" y1="8" x2="10" y2="8"></line><line x1="14" y1="8" x2="14" y2="8"></line><line x1="18" y1="8" x2="18" y2="8"></line><line x1="6" y1="12" x2="18" y2="12"></line><line x1="6" y1="16" x2="18" y2="16"></line></svg>
                Estymator Kosztów Długoterminowych (20 lat)
            </h4>
            <span style="font-size:12px; color:#64748b;">Zależne od zapotrzebowania</span>
        </div>

        <div class="rk-calc-grid">
            
            <div class="rk-calc-input-area">
                <div class="rk-calc-label">
                    Zapotrzebowanie roczne:
                    <span id="tcoDemandOut">8000 kWh</span>
                </div>
                <input type="range" class="rk-sum-range" id="tcoDemandSlider" min="4000" max="16000" step="500" value="8000">
                <p style="font-size: 11px; color:#64748b; margin:0;">*Cena prądu przyjęta bazowo: 1.2 PLN/kWh. SCOP PC: 3.5</p>
            </div>

            <div class="rk-calc-results">
                <div class="rk-result-box danger">
                    <span class="rk-res-val" id="resElec">192 000 <span style="font-size:14px;color:var(--rk-sum-warning);">PLN</span></span>
                    <span class="rk-res-lab">Kable / Maty (COP 1.0)</span>
                </div>
                <div class="rk-result-box highlight">
                    <span class="rk-res-val" id="resPump">54 850 <span style="font-size:14px;color:var(--rk-sum-primary);">PLN</span></span>
                    <span class="rk-res-lab">Pompa Ciepła (SCOP 3.5)</span>
                </div>
                <div class="rk-result-box">
                    <span class="rk-res-val" id="resSave">137 150 <span style="font-size:14px;color:#64748b;">PLN</span></span>
                    <span class="rk-res-lab">Różnica na plus dla wody</span>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-summary-author">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - CEO i Projektant HVAC" class="rk-author-photo-small" loading="lazy">
        <div class="rk-author-info">
            <h4>Robert Kucharski</h4>
            <p>CEO i twórca portalu Projekt-Ogrzewania.pl. Posiadam na swoim koncie ponad 1000 zrealizowanych projektów wodnego ogrzewania podłogowego. Uważam, że matematyka nie kłamie – przed rozpoczęciem instalacji zawsze należy wykonać twardą analizę opłacalności w oparciu o normy PN-EN, a nie ulotki reklamowe.</p>
            <div class="rk-author-links">
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer">
                    <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
                    LinkedIn
                </a>
                <a href="https://www.facebook.com/robert.kucharski.budowa.bez.sciemy" target="_blank" rel="noopener noreferrer">
                    <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.469h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.469h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg>
                    Facebook
                </a>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zakładki Panelu Bocznego
    const btns = document.querySelectorAll('#rk-tco-summary-app .rk-rule-btn');
    const panels = document.querySelectorAll('#rk-tco-summary-app .rk-detail-panel');

    btns.forEach(btn => {
        btn.addEventListener('click', () => {
            btns.forEach(b => b.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            btn.classList.add('active');
            const targetId = btn.getAttribute('data-panel');
            const targetPanel = document.getElementById(targetId);
            if(targetPanel) {
                targetPanel.classList.add('active');
            }
        });
    });

    // 2. Kalkulator TCO
    const slider = document.getElementById('tcoDemandSlider');
    const demandOut = document.getElementById('tcoDemandOut');
    const resElec = document.getElementById('resElec');
    const resPump = document.getElementById('resPump');
    const resSave = document.getElementById('resSave');

    function updateTCO() {
        const demandKwh = parseInt(slider.value);
        demandOut.textContent = demandKwh + ' kWh';

        const years = 20;
        const pricePerKwh = 1.20; // PLN
        const scopPump = 3.5;

        // Koszt samej energii przez 20 lat
        const elecCost = demandKwh * years * pricePerKwh;
        const pumpCost = (demandKwh / scopPump) * years * pricePerKwh;
        const diff = elecCost - pumpCost;

        // Formatter z przerwą tysięczną
        const formatNumber = (num) => Math.round(num).toString().replace(/\B(?=(\d{3})+(?!\d))/g, " ");

        resElec.innerHTML = formatNumber(elecCost) + ' <span style="font-size:14px;color:var(--rk-sum-warning);">PLN</span>';
        resPump.innerHTML = formatNumber(pumpCost) + ' <span style="font-size:14px;color:var(--rk-sum-primary);">PLN</span>';
        resSave.innerHTML = formatNumber(diff) + ' <span style="font-size:14px;color:#64748b;">PLN</span>';
    }

    if(slider) {
        slider.addEventListener('input', updateTCO);
        updateTCO();
    }
});
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-panel: #1e293b;
    --rk-case-bg: #ffffff;
    --rk-case-surface: #f8fafc;
    --rk-case-border: #e2e8f0;
    
    /* Kolory funkcyjne */
    --rk-case-brand: #0284c7; /* Sky Blue */
    --rk-case-danger: #f43f5e; /* Rose */
    --rk-case-success: #10b981; /* Emerald */
    --rk-case-warning: #f59e0b; /* Amber */
    
    --rk-case-text: #334155;
    --rk-case-muted: #64748b;
}

.rk-case-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-case-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.15);
    border: 1px solid rgba(2, 132, 199, 0.3);
    overflow: hidden;
}

/* Nagłówek */
.rk-case-header {
    background: linear-gradient(135deg, var(--rk-case-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-case-brand);
}

.rk-case-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(2, 132, 199, 0.2);
    color: #7dd3fc;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(125, 211, 252, 0.3);
}

.rk-case-header h2 {
    margin: 0 0 15px 0;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
}

.rk-case-header p {
    margin: 0;
    font-size: 15px;
    color: #cbd5e1;
    line-height: 1.6;
    max-width: 800px;
}

/* Moduł Interaktywny - Przełącznik Scenariuszy */
.rk-case-interactive {
    padding: 40px 50px 0;
    background: var(--rk-case-surface);
}

.rk-case-tabs {
    display: flex;
    background: #e2e8f0;
    padding: 6px;
    border-radius: 16px;
    margin-bottom: 30px;
}

.rk-case-tab-btn {
    flex: 1;
    padding: 16px 20px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-case-muted);
    background: transparent;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-case-tab-btn[data-target="scenario-bad"].active {
    background: #ffffff;
    color: var(--rk-case-danger);
    box-shadow: 0 4px 10px rgba(244, 63, 94, 0.15);
}

.rk-case-tab-btn[data-target="scenario-good"].active {
    background: #ffffff;
    color: var(--rk-case-success);
    box-shadow: 0 4px 10px rgba(16, 185, 129, 0.15);
}

/* Panele Scenariuszy */
.rk-case-scenario {
    display: none;
    margin-bottom: 40px;
}

.rk-case-scenario.active {
    display: block;
}

/* Centralne Dane Liczbowe (Bez SVG) */
.rk-case-data-box {
    background: #ffffff;
    border: 1px solid var(--rk-case-border);
    border-radius: 16px;
    padding: 35px 40px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-case-data-box h3 {
    margin: 0 0 25px 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-case-dark);
    text-align: center;
    padding-bottom: 20px;
    border-bottom: 2px solid var(--rk-case-surface);
}

.rk-case-metric {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px dashed var(--rk-case-border);
}

.rk-case-metric:last-child {
    border-bottom: none;
}

.rk-case-metric-lab {
    font-size: 15px;
    font-weight: 600;
    color: var(--rk-case-muted);
}

.rk-case-metric-val {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-case-dark);
}

.scenario-bad .rk-case-metric-val.highlight { color: var(--rk-case-danger); }
.scenario-good .rk-case-metric-val.highlight { color: var(--rk-case-success); }

/* Wnioski i CTA */
.rk-case-footer {
    background: #ffffff;
    border-top: 1px solid var(--rk-case-border);
    padding: 40px 50px;
    text-align: center;
}

.rk-case-conclusion {
    background: #f1f5f9;
    border-left: 4px solid var(--rk-case-brand);
    padding: 20px 30px;
    border-radius: 0 12px 12px 0;
    margin-bottom: 35px;
    text-align: left;
}

.rk-case-conclusion h4 {
    margin: 0 0 10px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-case-dark);
}

.rk-case-conclusion p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-case-text);
}

.rk-case-link {
    color: var(--rk-case-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-case-brand);
    transition: 0.3s;
}

.rk-case-link:hover {
    color: #0369a1;
    border-bottom-style: solid;
}

/* Massive CTA */
.rk-cta-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    background: var(--rk-case-success);
    color: #ffffff;
    font-size: 20px;
    font-weight: 900;
    padding: 20px 45px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 15px 30px -10px rgba(16, 185, 129, 0.5);
    transition: all 0.3s;
    border: 2px solid transparent;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

.rk-cta-massive:hover {
    transform: translateY(-4px);
    background: #059669;
    box-shadow: 0 20px 40px -10px rgba(16, 185, 129, 0.6);
    border-color: #6ee7b7;
}

@media (max-width: 768px) {
    .rk-case-header, .rk-case-interactive, .rk-case-footer { padding: 30px 20px; }
    .rk-case-tabs { flex-direction: column; }
    .rk-case-data-box { padding: 25px 20px; }
    .rk-case-metric { flex-direction: column; align-items: flex-start; gap: 5px; }
    .rk-case-metric-val { align-self: flex-start; }
    .rk-cta-massive { font-size: 16px; padding: 18px 20px; }
    .rk-case-conclusion { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#article-case-study",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/"
    },
    "headline": "Case Study: Projekt ogrzewania podłogowego dla domu 145 m² (Bochnia, Małopolska)",
    "description": "Zobacz, jak profesjonalny projekt instalacji ogrzewania podłogowego i dobór pompy ciepła uratowały inwestora przed rachunkami na poziomie 9500 PLN rocznie.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-31",
    "dateModified": "2026-05-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#dataset-case-study",
    "name": "Analiza porównawcza TCO dla domu 145 m² (Małopolska, maj 2026)",
    "description": "Zestawienie parametrów projektowych dla budynku mieszkalnego: symulacja kosztów bezpośredniego ogrzewania elektrycznego w zestawieniu z wodną instalacją płaszczyznową.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt instalacji ogrzewania podłogowego",
      "koszt ogrzewania 145m2 pompą ciepła",
      "ogrzewanie elektryczne czy pompa ciepła",
      "obliczenia ozc dla domu",
      "temperatura zasilania podłogówki 35 stopni"
    ],
    "measurementTechnique": "Weryfikacja inżynieryjna kosztów na podstawie projektu OZC. Wykazanie obniżenia temperatury zasilania do 35°C w strefie klimatycznej o projektowej temperaturze zewnętrznej -18°C.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zapotrzebowanie roczne budynku: 9 500 kWh.",
        "Scenariusz 1 (Kable elektryczne): Brak OZC, zasilanie oporowe, rachunki powyżej 9 500 PLN rocznie.",
        "Scenariusz 2 (Woda + Pompa monoblok): Rozstaw 10-15cm z projektu OZC, zasilanie max 35°C, koszty roczne ~2 600 PLN."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#webapp-case-study",
    "name": "Symulator Scenariuszy Inwestycyjnych",
    "description": "Interaktywny panel zestawiający pierwotny plan inwestora (generujący wysokie koszty utrzymania) z finalnym rozwiązaniem inżynierskim zoptymalizowanym poprzez projekt OZC.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-container" id="rk-case-app">
    
    <div class="rk-case-header">
        <div class="rk-case-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
            Case Study (Maj 2026)
        </div>
        <h2>Projekt dla inwestora Mateusza z Małopolski (Dom 145 m²)</h2>
        <p>Zobacz na realnym przykładzie mojego klienta z okolic Bochni, dlaczego wykonanie dokładnego audytu cieplnego wywróciło do góry nogami jego plany dotyczące instalacji elektrycznej.</p>
    </div>

    <div class="rk-case-interactive">
        
        <div class="rk-case-tabs">
            <button class="rk-case-tab-btn active" data-target="scenario-bad">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                Pierwotny Plan Inwestora
            </button>
            <button class="rk-case-tab-btn" data-target="scenario-good">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                Rozwiązanie z Projektem
            </button>
        </div>

        <div class="rk-case-scenario scenario-bad active" id="scenario-bad">
            <div class="rk-case-data-box">
                <h3>Kable grzejne w całej podłodze</h3>
                
                <div class="rk-case-metric">
                    <span class="rk-case-metric-lab">Zapotrzebowanie budynku</span>
                    <span class="rk-case-metric-val">9 500 kWh / rok</span>
                </div>
                <div class="rk-case-metric">
                    <span class="rk-case-metric-lab">Projekt instalacji podłogowej</span>
                    <span class="rk-case-metric-val highlight">Brak (montaż "na oko")</span>
                </div>
                <div class="rk-case-metric">
                    <span class="rk-case-metric-lab">Współczynnik COP układu</span>
                    <span class="rk-case-metric-val">1.0</span>
                </div>
                <div class="rk-case-metric" style="border: none; padding-top: 25px; margin-top: 10px;">
                    <span class="rk-case-metric-lab" style="color: var(--rk-case-dark); font-size: 16px;">Szacowany rachunek roczny</span>
                    <span class="rk-case-metric-val highlight" style="font-size: 26px;">> 9 500 PLN</span>
                </div>
            </div>
        </div>

        <div class="rk-case-scenario scenario-good" id="scenario-good">
            <div class="rk-case-data-box">
                <h3>Woda + Pompa Monoblok</h3>
                
                <div class="rk-case-metric">
                    <span class="rk-case-metric-lab">Zapotrzebowanie budynku</span>
                    <span class="rk-case-metric-val">9 500 kWh / rok</span>
                </div>
                <div class="rk-case-metric">
                    <span class="rk-case-metric-lab"><a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" class="rk-case-link" style="color:var(--rk-case-muted);">Rozstaw rur (na bazie OZC)</a></span>
                    <span class="rk-case-metric-val highlight">co 10-15 cm</span>
                </div>
                <div class="rk-case-metric">
                    <span class="rk-case-metric-lab"><a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/" class="rk-case-link" style="color:var(--rk-case-muted);">Temp. zasilania przy -18°C</a></span>
                    <span class="rk-case-metric-val">zaledwie 35°C</span>
                </div>
                <div class="rk-case-metric" style="border: none; padding-top: 25px; margin-top: 10px;">
                    <span class="rk-case-metric-lab" style="color: var(--rk-case-dark); font-size: 16px;">Szacowany rachunek roczny</span>
                    <span class="rk-case-metric-val highlight" style="font-size: 26px;">~2 600 PLN</span>
                </div>
            </div>
        </div>

    </div>

    <div class="rk-case-footer">
        <div class="rk-case-conclusion">
            <h4>Wniosek: Nie ryzykuj budżetem domowym</h4>
            <p>Ogrzewanie to inwestycja długoterminowa. Wybierając system grzewczy, nie patrz na cenę zakupu komponentów w sklepie, ale na <strong>koszt całkowity (TCO)</strong> w perspektywie 20 lat. Inwestycja w profesjonalny <a href="https://projekt-ogrzewania.pl/ile-kosztuje-projekt-ogrzewania-podlogowego/" class="rk-case-link">projekt instalacji ogrzewania podłogowego</a> oparty na obliczeniach OZC zwróciła się Panu Mateuszowi w postaci drastycznie obniżonych rachunków za prąd jeszcze przed ostatecznym zakończeniem prac wykończeniowych.</p>
        </div>

        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-cta-massive">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="12" y1="18" x2="12" y2="12"></line><line x1="9" y1="15" x2="15" y2="15"></line></svg>
            ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
        </a>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('#rk-case-app .rk-case-tab-btn');
    const scenarios = document.querySelectorAll('#rk-case-app .rk-case-scenario');

    btns.forEach(btn => {
        btn.addEventListener('click', () => {
            // Czyszczenie aktywnych klas
            btns.forEach(b => b.classList.remove('active'));
            scenarios.forEach(s => s.classList.remove('active'));

            // Ustawienie aktywnych klas
            btn.classList.add('active');
            const targetId = btn.getAttribute('data-target');
            const targetScenario = document.getElementById(targetId);
            
            if (targetScenario) {
                targetScenario.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-bg: #ffffff;
    --rk-err-surface: #f8fafc;
    --rk-err-border: #e2e8f0;
    --rk-err-primary: #f43f5e; /* Red for errors */
    --rk-err-primary-light: #fff1f2;
    --rk-err-accent: #3b82f6; /* Blue for tech details */
    --rk-err-text: #334155;
    --rk-err-muted: #64748b;
    --rk-err-success: #10b981;
}

.rk-err-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-err-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(244, 63, 94, 0.1);
    border: 1px solid rgba(244, 63, 94, 0.2);
    overflow: hidden;
}

/* Nagłówek H2 */
.rk-err-header {
    background: linear-gradient(135deg, var(--rk-err-dark) 0%, #1e293b 100%);
    padding: 35px 45px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-err-primary);
    position: relative;
}

.rk-err-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(244, 63, 94, 0.2);
    color: #fda4af;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
    border: 1px solid rgba(244, 63, 94, 0.3);
}

.rk-err-header h2 {
    margin: 0;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.3;
}

.rk-err-header h2 span {
    color: #fda4af;
}

/* Interaktywny Dashboard */
.rk-err-dashboard {
    display: grid;
    grid-template-columns: 320px 1fr;
    background: var(--rk-err-surface);
}

/* Nawigacja (Zakładki Błędów) */
.rk-err-nav {
    padding: 30px;
    border-right: 1px solid var(--rk-err-border);
    background: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-err-tab {
    background: var(--rk-err-surface);
    border: 1px solid var(--rk-err-border);
    padding: 16px 20px;
    border-radius: 12px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rk-err-tab:hover {
    border-color: #cbd5e1;
    transform: translateX(4px);
}

.rk-err-tab.active {
    background: var(--rk-err-primary-light);
    border-color: var(--rk-err-primary);
    box-shadow: inset 4px 0 0 var(--rk-err-primary);
}

.rk-err-tab-title {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-err-dark);
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-err-tab.active .rk-err-tab-title {
    color: var(--rk-err-primary);
}

.rk-err-tab-subtitle {
    font-size: 12px;
    color: var(--rk-err-muted);
    font-weight: 500;
}

/* Panel Prezentacji */
.rk-err-content {
    padding: 40px;
    position: relative;
}

.rk-err-panel {
    display: none;
    animation: errFadeIn 0.4s ease-out forwards;
}

.rk-err-panel.active {
    display: block;
}

@keyframes errFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Grid wewnątrz panelu */
.rk-err-panel-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 25px;
}

.rk-err-text-box h3 {
    margin: 0 0 15px 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-err-dark);
}

.rk-err-text-box p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-err-text);
    margin: 0 0 15px 0;
}

.rk-err-text-box strong {
    color: var(--rk-err-primary);
}

.rk-err-formula {
    display: inline-block;
    background: #f1f5f9;
    padding: 8px 15px;
    border-radius: 8px;
    font-family: monospace;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-err-accent);
    border: 1px solid #e2e8f0;
    margin: 5px 0;
}

.rk-err-link {
    color: var(--rk-err-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px dashed rgba(59, 130, 246, 0.4);
    transition: 0.3s;
}

.rk-err-link:hover {
    color: #1d4ed8;
    border-bottom-style: solid;
}

/* Sekcja Wizualizacji SVG */
.rk-err-visual {
    background: var(--rk-err-dark);
    border-radius: 16px;
    padding: 20px;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 10px 30px rgba(0,0,0,0.5);
    border: 2px solid #1e293b;
    position: relative;
    overflow: hidden;
}

.rk-err-svg {
    width: 100%;
    height: 100%;
    max-width: 300px;
}

/* Animacje SVG zależne od błędu */
/* Błąd 1: OZC */
.anim-heat-wave { stroke-dasharray: 8 8; animation: heatFlow 1s linear infinite; }
@keyframes heatFlow { to { stroke-dashoffset: -16; } }
.anim-temp-alert { animation: tempPulse 1.5s infinite alternate; }
@keyframes tempPulse { 0% { fill: #ef4444; filter: drop-shadow(0 0 2px #ef4444); } 100% { fill: #b91c1c; filter: drop-shadow(0 0 10px #ef4444); } }

/* Błąd 2: Wylewka */
.anim-heat-escape { animation: escapeUp 2s infinite ease-out; opacity: 0; }
@keyframes escapeUp { 0% { transform: translateY(0); opacity: 0.8; } 100% { transform: translateY(-30px); opacity: 0; } }

/* Błąd 3: Hydraulika */
.anim-bad-flow { stroke-dasharray: 4 12; animation: slowFlow 3s linear infinite; }
@keyframes slowFlow { to { stroke-dashoffset: -16; } }
.anim-freeze { animation: freezeSpin 4s linear infinite; transform-origin: center; }
@keyframes freezeSpin { to { transform: rotate(360deg); } }

/* Błąd 4: Panele i Podkład */
.anim-bounce-heat { animation: bounceBack 2s infinite ease-in-out; }
@keyframes bounceBack { 0% { transform: translateY(0); opacity: 1; } 50% { transform: translateY(-15px); opacity: 0.5; } 100% { transform: translateY(0); opacity: 1; } }

/* Błąd 5: Brak Dylatacji */
.anim-crack-draw { stroke-dasharray: 100; stroke-dashoffset: 100; animation: drawCrack 1.5s 0.5s forwards ease-out; }
@keyframes drawCrack { to { stroke-dashoffset: 0; } }
.anim-shake { animation: tensionShake 2s infinite; }
@keyframes tensionShake { 0%, 100% { transform: translateX(0); } 10%, 30%, 50%, 70%, 90% { transform: translateX(-2px); } 20%, 40%, 60%, 80% { transform: translateX(2px); } }

@media (max-width: 768px) {
    .rk-err-dashboard { grid-template-columns: 1fr; }
    .rk-err-nav { border-right: none; border-bottom: 1px solid var(--rk-err-border); padding: 20px; flex-direction: row; overflow-x: auto; scroll-snap-type: x mandatory; }
    .rk-err-tab { min-width: 240px; scroll-snap-align: start; }
    .rk-err-header { padding: 30px 20px; }
    .rk-err-content { padding: 25px 20px; }
    .rk-err-visual { height: 150px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/"
    },
    "headline": "5 najdroższych błędów przy montażu ogrzewania podłogowego (zapisz, by uniknąć)",
    "description": "Zestawienie krytycznych błędów instalacyjnych: brak OZC, zły opór cieplny paneli, brak dylatacji i zła hydraulika niszczące sprawność pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-31",
    "dateModified": "2026-05-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#dataset-bledy",
    "name": "Skutki błędów instalacyjnych i materiałowych w systemach płaszczyznowych",
    "description": "Katalog najkosztowniejszych pomyłek na etapie planowania, doboru okładzin i wykonywania dylatacji prowadzących do awarii ogrzewania.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "najczęstsze błędy ogrzewania podłogowego",
      "brak projektu ozc",
      "opór cieplny paneli ogrzewanie podłogowe",
      "pękanie wylewki na podłogówce",
      "taśma brzegowa dylatacje błędy"
    ],
    "measurementTechnique": "Analiza spadków sprawności (COP) oraz uszkodzeń mechanicznych (pękanie jastrychu) wynikających z pominięcia normatywnych procedur hydrauliczno-budowlanych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd 1: Pominięcie projektu OZC i rozstaw rur co 20cm (spadek sprawności o 15-20%).",
        "Błąd 2: Zbyt cienka wylewka ograniczająca akumulacyjność cieplną budynku.",
        "Błąd 3: Brak obliczeń hydraulicznych (dławienie przepływów, niedogrzane strefy).",
        "Błąd 4: Przekroczenie granicznego oporu cieplnego okładziny (powyżej 0,15 m²K/W).",
        "Błąd 5: Pominięcie dylatacji i taśmy brzegowej prowadzące do pękania wylewki."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#webapp-bledy",
    "name": "Symulator Uszkodzeń Ogrzewania Podłogowego",
    "description": "Interaktywne narzędzie wizualizujące skutki braku dylatacji, złego doboru paneli podłogowych i błędów w projektowaniu układu rur.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="rk-err-app">
    
    <div class="rk-err-header">
        <div class="rk-err-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Katalog Zagrożeń
        </div>
        <h2>Najczęstsze błędy inwestycyjne <span>(zapisz, by uniknąć)</span></h2>
    </div>

    <div class="rk-err-dashboard">
        
        <div class="rk-err-nav">
            <button class="rk-err-tab active" data-err="err-1">
                <div class="rk-err-tab-title">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Błąd 1: Brak OZC
                </div>
                <div class="rk-err-tab-subtitle">Rury układane "na oko"</div>
            </button>
            
            <button class="rk-err-tab" data-err="err-2">
                <div class="rk-err-tab-title">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"></path><line x1="7" y1="7" x2="7.01" y2="7"></line></svg>
                    Błąd 2: Cienka Wylewka
                </div>
                <div class="rk-err-tab-subtitle">Utrata akumulacji ciepła</div>
            </button>
            
            <button class="rk-err-tab" data-err="err-3">
                <div class="rk-err-tab-title">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M2 12h4l2-9 5 18 2-9h5"></path></svg>
                    Błąd 3: Zła Hydraulika
                </div>
                <div class="rk-err-tab-subtitle">Niedogrzane pomieszczenia</div>
            </button>

            <button class="rk-err-tab" data-err="err-4">
                <div class="rk-err-tab-title">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                    Błąd 4: Okładzina
                </div>
                <div class="rk-err-tab-subtitle">Blokowanie oddawania ciepła</div>
            </button>

            <button class="rk-err-tab" data-err="err-5">
                <div class="rk-err-tab-title">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                    Błąd 5: Brak Dylatacji
                </div>
                <div class="rk-err-tab-subtitle">Pękanie wylewki i płytek</div>
            </button>
        </div>

        <div class="rk-err-content">
            
            <div class="rk-err-panel active" id="err-1">
                <div class="rk-err-panel-grid">
                    <div class="rk-err-text-box">
                        <h3>Pominięcie projektu OZC</h3>
                        <p>Inwestorzy często ufają „doświadczeniu instalatora”, który bez przeliczeń układaja rury co 20 cm w całym domu. Taki rzadki rozstaw sprawia, że podłoga oddaje zbyt mało energii do pomieszczenia.</p>
                        <p><strong>Skutek?</strong> Aby dogrzać dom, pompa ciepła musi pracować na wyższych temperaturach zasilania (np. 45°C zamiast 30°C). To zaburza termodynamikę i drastycznie <strong>obniża sprawność pompy (COP) o 15-20% rocznie</strong>.</p>
                    </div>
                    <div class="rk-err-visual">
                        <svg class="rk-err-svg" viewBox="0 0 200 100">
                            <line x1="20" y1="50" x2="180" y2="50" stroke="#475569" stroke-width="6" stroke-linecap="round"/>
                            <line x1="20" y1="80" x2="180" y2="80" stroke="#475569" stroke-width="6" stroke-linecap="round"/>
                            <path class="anim-heat-wave" d="M 30 50 C 50 30 70 70 90 50" fill="none" stroke="#ef4444" stroke-width="3"/>
                            <path class="anim-heat-wave" d="M 110 50 C 130 30 150 70 170 50" fill="none" stroke="#ef4444" stroke-width="3"/>
                            <rect x="85" y="10" width="30" height="15" fill="#1e293b" stroke="#cbd5e1" stroke-width="2" rx="4"/>
                            <text class="anim-temp-alert" x="100" y="21" font-size="10" font-weight="bold" fill="#ef4444" text-anchor="middle">45°C!</text>
                        </svg>
                    </div>
                </div>
            </div>

            <div class="rk-err-panel" id="err-2">
                <div class="rk-err-panel-grid">
                    <div class="rk-err-text-box">
                        <h3>Zbyt cienka wylewka</h3>
                        <p>W pogoni za oszczędnościami na materiale lub z braku miejsca, wylewka (jastrych) jest wylewana na minimalną grubość. Beton to naturalny magazyn ciepła dla budynku.</p>
                        <p><strong>Skutek?</strong> Zbyt mała masa akumulacyjna ogranicza możliwość „magazynowania” ciepła w <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/" class="rk-err-link">taniej taryfie energetycznej</a>. System szybko się wychładza, a pompa musi włączać się w najdroższych godzinach szczytu.</p>
                    </div>
                    <div class="rk-err-visual">
                        <svg class="rk-err-svg" viewBox="0 0 200 100">
                            <circle cx="100" cy="70" r="10" fill="none" stroke="#ef4444" stroke-width="4"/>
                            <rect x="40" y="55" width="120" height="30" fill="#64748b" opacity="0.5" rx="2"/>
                            <path class="anim-heat-escape" d="M 70 50 Q 80 30 70 10" fill="none" stroke="#f59e0b" stroke-width="3" stroke-linecap="round"/>
                            <path class="anim-heat-escape" d="M 100 50 Q 110 30 100 10" fill="none" stroke="#f59e0b" stroke-width="3" stroke-linecap="round" style="animation-delay: 0.5s;"/>
                            <path class="anim-heat-escape" d="M 130 50 Q 140 30 130 10" fill="none" stroke="#f59e0b" stroke-width="3" stroke-linecap="round" style="animation-delay: 1s;"/>
                        </svg>
                    </div>
                </div>
            </div>

            <div class="rk-err-panel" id="err-3">
                <div class="rk-err-panel-grid">
                    <div class="rk-err-text-box">
                        <h3>Brak obliczeń hydraulicznych</h3>
                        <p>Długość pętli i opory tłoczenia muszą być policzone. Równanie przepływu <span class="rk-err-formula">m = Q / (cw × ΔT)</span> jest absolutną podstawą dla dobrania odpowiednich <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/" class="rk-err-link">parametrów pompy obiegowej</a>.</p>
                        <p><strong>Skutek?</strong> Instalacje budowane na przysłowiowe "wyczucie" cierpią na dławienie przepływów. Woda nie nadąża oddawać ciepła na końcach długich obwodów, co skutkuje wiecznie niedogrzanymi sypialniami i łazienkami na piętrze.</p>
                    </div>
                    <div class="rk-err-visual">
                        <svg class="rk-err-svg" viewBox="0 0 200 100">
                            <path d="M 20 40 L 70 40 L 90 48 L 110 48 L 130 40 L 180 40" fill="none" stroke="#475569" stroke-width="4"/>
                            <path d="M 20 60 L 70 60 L 90 52 L 110 52 L 130 60 L 180 60" fill="none" stroke="#475569" stroke-width="4"/>
                            <path class="anim-bad-flow" d="M 25 50 L 65 50 M 135 50 L 175 50" fill="none" stroke="#3b82f6" stroke-width="2" stroke-linecap="round"/>
                            <g class="anim-freeze" transform="translate(150, 25)">
                                <line x1="0" y1="-8" x2="0" y2="8" stroke="#0ea5e9" stroke-width="2"/>
                                <line x1="-7" y1="-4" x2="7" y2="4" stroke="#0ea5e9" stroke-width="2"/>
                                <line x1="-7" y1="4" x2="7" y2="-4" stroke="#0ea5e9" stroke-width="2"/>
                            </g>
                        </svg>
                    </div>
                </div>
            </div>

            <div class="rk-err-panel" id="err-4">
                <div class="rk-err-panel-grid">
                    <div class="rk-err-text-box">
                        <h3>Zły dobór paneli i podkładu (Opór cieplny)</h3>
                        <p>Inwestorzy zapominają, że gruba deska lub tanie panele ułożone na izolacyjnym podkładzie działają dosłownie jak narzucony na grzejnik koc. Jeśli całkowity opór cieplny (podkład + panel) przekracza granicę <span class="rk-err-formula">R = 0,15 m²K/W</span>, system staje się niewydolny.</p>
                        <p><strong>Skutek?</strong> Ciepło zostaje „uwięzione” w wylewce. Aby przebić się przez <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/" class="rk-err-link">izolacyjną warstwę okładziny</a>, pompa ciepła musi pracować na mocno zawyżonych parametrach zasilania, co błyskawicznie pożera zakładane oszczędności.</p>
                    </div>
                    <div class="rk-err-visual">
                        <svg class="rk-err-svg" viewBox="0 0 200 100">
                            <rect x="20" y="20" width="160" height="15" fill="#ca8a04" rx="2"/>
                            <rect x="20" y="38" width="160" height="8" fill="#94a3b8" rx="2"/>
                            <rect x="20" y="49" width="160" height="40" fill="#64748b" opacity="0.5" rx="2"/>
                            <circle cx="60" cy="70" r="8" fill="none" stroke="#ef4444" stroke-width="3"/>
                            <circle cx="100" cy="70" r="8" fill="none" stroke="#ef4444" stroke-width="3"/>
                            <circle cx="140" cy="70" r="8" fill="none" stroke="#ef4444" stroke-width="3"/>
                            <path class="anim-bounce-heat" d="M 100 55 Q 110 40 120 55" fill="none" stroke="#f43f5e" stroke-width="3" stroke-linecap="round"/>
                            <path class="anim-bounce-heat" d="M 60 55 Q 70 40 80 55" fill="none" stroke="#f43f5e" stroke-width="3" stroke-linecap="round"/>
                            <path class="anim-bounce-heat" d="M 140 55 Q 150 40 160 55" fill="none" stroke="#f43f5e" stroke-width="3" stroke-linecap="round"/>
                            <text x="100" y="15" fill="#facc15" font-size="10" font-weight="bold" text-anchor="middle">R > 0,15 m²K/W</text>
                        </svg>
                    </div>
                </div>
            </div>

            <div class="rk-err-panel" id="err-5">
                <div class="rk-err-panel-grid">
                    <div class="rk-err-text-box">
                        <h3>Brak dylatacji i taśmy brzegowej</h3>
                        <p>Wylewka grzewcza to potężna, ciężka i "pracująca" płyta, która nieustannie rozszerza się i kurczy pod wpływem zmian temperatury zasilania. Błędem jest układanie jej na sztywno, bez szczelin rozprężnych.</p>
                        <p><strong>Skutek?</strong> Pominięcie <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" class="rk-err-link">izolacji brzegowej i odpowiednich dylatacji</a> między dużymi obiegami to najkrótsza droga do destrukcji podłogi. Wylewka ulega niekontrolowanemu pęknięciu, zrywając kosztowne płytki ceramiczne, a w miejscu styku ze ścianą powstają ogromne mostki termiczne.</p>
                    </div>
                    <div class="rk-err-visual">
                        <svg class="rk-err-svg" viewBox="0 0 200 100">
                            <rect x="10" y="10" width="20" height="80" fill="#334155" rx="2"/>
                            <g class="anim-shake">
                                <rect x="35" y="40" width="150" height="50" fill="#94a3b8" rx="2"/>
                                <path d="M 170 65 L 180 65 M 175 60 L 180 65 L 175 70" fill="none" stroke="#ffffff" stroke-width="2"/>
                                <path d="M 50 65 L 40 65 M 45 60 L 40 65 L 45 70" fill="none" stroke="#ffffff" stroke-width="2"/>
                                <path class="anim-crack-draw" d="M 110 40 L 105 55 L 115 70 L 108 90" fill="none" stroke="#f43f5e" stroke-width="4" stroke-linejoin="round"/>
                            </g>
                        </svg>
                    </div>
                </div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('#rk-err-app .rk-err-tab');
    const panels = document.querySelectorAll('#rk-err-app .rk-err-panel');

    tabs.forEach(tab => {
        tab.addEventListener('click', () => {
            // Reset
            tabs.forEach(t => t.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Aktywacja wybranego
            tab.classList.add('active');
            const targetId = tab.getAttribute('data-err');
            const targetPanel = document.getElementById(targetId);
            
            if (targetPanel) {
                targetPanel.classList.add('active');
                
                // Restart animacji SVG przez reflow
                const svgs = targetPanel.querySelectorAll('svg');
                svgs.forEach(svg => {
                    svg.style.animation = 'none';
                    svg.offsetHeight; /* trigger reflow */
                    svg.style.animation = null; 
                });
            }
        });
    });
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-card: #1e293b;
    --rk-faq-brand: #4f46e5;
    --rk-faq-brand-light: #e0e7ff;
    --rk-faq-accent: #06b6d4;
    --rk-faq-success: #10b981;
    --rk-faq-warning: #eab308;
    --rk-faq-bg: #f8fafc;
    --rk-faq-border: #e2e8f0;
    --rk-faq-text: #334155;
    --rk-faq-muted: #64748b;
}

.rk-faq-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(79, 70, 229, 0.15);
    border: 1px solid rgba(79, 70, 229, 0.3);
    overflow: hidden;
}

/* Nagłówek */
.rk-faq-header {
    background: linear-gradient(135deg, var(--rk-faq-dark) 0%, #312e81 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-faq-brand);
}

.rk-faq-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(79, 70, 229, 0.3);
    color: #a5b4fc;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(165, 180, 252, 0.3);
}

.rk-faq-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0;
}

.rk-faq-title span { color: #818cf8; }

/* Sekcja Akordeonu */
.rk-faq-interactive {
    padding: 40px 50px;
    background: var(--rk-faq-bg);
}

.rk-faq-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-faq-item {
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-faq-item.active {
    border-color: var(--rk-faq-brand);
    box-shadow: 0 10px 25px -5px rgba(79, 70, 229, 0.15);
}

/* Przycisk Pytania */
.rk-faq-question {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 20px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-faq-dark);
    transition: background 0.3s, color 0.3s;
}

.rk-faq-question:hover {
    background: var(--rk-faq-brand-light);
}

.rk-faq-item.active .rk-faq-question {
    background: var(--rk-faq-brand);
    color: #ffffff;
}

.rk-faq-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-faq-brand-light);
    color: var(--rk-faq-brand);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-item.active .rk-faq-icon {
    background: rgba(255,255,255,0.2);
    color: #ffffff;
    transform: rotate(180deg);
}

/* Kontener Odpowiedzi (Animacja Grid) */
.rk-faq-answer-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-item.active .rk-faq-answer-wrapper {
    grid-template-rows: 1fr;
}

.rk-faq-answer-inner {
    overflow: hidden;
}

/* Wnętrze Odpowiedzi (Grid: Tekst + SVG) */
.rk-faq-content {
    padding: 25px;
    border-top: 1px solid var(--rk-faq-border);
    display: grid;
    grid-template-columns: 1fr 200px;
    gap: 30px;
    align-items: center;
}

.rk-faq-text {
    font-size: 15px;
    line-height: 1.8;
    color: var(--rk-faq-text);
}

.rk-faq-text strong {
    font-weight: 800;
    color: var(--rk-faq-dark);
}

.rk-link {
    color: var(--rk-faq-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px dashed rgba(79, 70, 229, 0.4);
    transition: all 0.3s;
}

.rk-link:hover {
    color: #3730a3;
    border-bottom-style: solid;
}

/* Wizualizacje SVG */
.rk-faq-visual {
    background: var(--rk-faq-dark);
    border-radius: 12px;
    padding: 15px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
    border: 3px solid #334155;
    position: relative;
    overflow: hidden;
}

.rk-svg-box {
    width: 100%;
    height: 100%;
}

/* Animacje SVG zależne od .active w rodzicu */

/* 1. Eco Leaf / Passive House */
.anim-eco-leaf { transform-origin: 50px 50px; transform: scale(0); transition: transform 0.6s 0.2s cubic-bezier(0.34, 1.56, 0.64, 1); }
.rk-faq-item.active .anim-eco-leaf { transform: scale(1); }

/* 2. Wykres / Oszczędności */
.anim-savings-line { stroke-dasharray: 150; stroke-dashoffset: 150; transition: stroke-dashoffset 1s 0.3s ease-out; }
.rk-faq-item.active .anim-savings-line { stroke-dashoffset: 0; }
.anim-coin-drop { opacity: 0; transform: translateY(-10px); transition: all 0.4s 1s ease-out; }
.rk-faq-item.active .anim-coin-drop { opacity: 1; transform: translateY(0); }

/* 3. Serwis / Trybik */
.anim-service-gear { transform-origin: 50px 35px; transition: transform 1.5s 0.2s ease-in-out; }
.rk-faq-item.active .anim-service-gear { transform: rotate(180deg); }

/* 4. Hybryda (Prąd + Woda) */
.anim-water-flow { stroke-dasharray: 10 10; animation: waterFlow 1.5s linear infinite; }
@keyframes waterFlow { to { stroke-dashoffset: -20; } }
.anim-elec-zap { opacity: 0; transition: opacity 0.3s; }
.rk-faq-item.active .anim-elec-zap { opacity: 1; animation: flashZap 1.5s infinite alternate; }
@keyframes flashZap { 0% { filter: drop-shadow(0 0 2px var(--rk-faq-warning)); } 100% { filter: drop-shadow(0 0 10px var(--rk-faq-warning)); } }

/* 5. 50 Lat PEX */
.anim-50-draw { stroke-dasharray: 200; stroke-dashoffset: 200; transition: stroke-dashoffset 1.5s 0.2s ease-out; }
.rk-faq-item.active .anim-50-draw { stroke-dashoffset: 0; }
.anim-fade-in { opacity: 0; transition: opacity 0.5s 1.2s; }
.rk-faq-item.active .anim-fade-in { opacity: 1; }

@media (max-width: 768px) {
    .rk-faq-header, .rk-faq-interactive { padding: 30px 20px; }
    .rk-faq-title { font-size: 24px; }
    .rk-faq-content { grid-template-columns: 1fr; gap: 20px; padding: 20px; }
    .rk-faq-visual { height: 120px; max-width: 250px; margin: 0 auto; width: 100%; }
    .rk-faq-question { font-size: 14px; padding: 18px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/"
    },
    "headline": "FAQ – Eksperckie odpowiedzi o opłacalności systemów grzewczych",
    "description": "Najczęstsze pytania inwestorów o opłacalność folii grzewczych, koszty eksploatacji, serwis pomp ciepła oraz trwałość instalacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/"
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-31",
    "dateModified": "2026-05-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy ogrzewanie elektryczne jest całkowicie nieopłacalne?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, ma sens w domach o ekstremalnie niskim zapotrzebowaniu na ciepło (domy pasywne) lub w pomieszczeniach używanych okazjonalnie (np. domki letniskowe), gdzie niska cena inwestycji przeważa nad kosztami eksploatacji."
        }
      },
      {
        "@type": "Question",
        "name": "Czy projekt jest potrzebny, jeśli dom jest mały (poniżej 100 m²)?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, w mniejszych budynkach błędy w projekcie mają większy wpływ na koszty eksploatacji; profesjonalny projekt zwraca się często już po 2-3 sezonach grzewczych."
        }
      },
      {
        "@type": "Question",
        "name": "Czy pompa ciepła jest tak samo bezobsługowa jak kable grzejne?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Prawie tak – systemy z pompą ciepła wymagają jedynie okresowego przeglądu technicznego raz w roku, natomiast elektryka jest bezobsługowa, ale obarczona znacznie wyższymi rachunkami."
        }
      },
      {
        "@type": "Question",
        "name": "Czy mogę zainstalować kable grzejne tylko w łazienkach, a resztę domu ogrzewać wodnie?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, to bardzo popularne rozwiązanie (tzw. ogrzewanie hybrydowe), gdzie kable zapewniają komfort cieplny pod stopami w łazienkach, a pompa ciepła zajmuje się głównym, tanim ogrzewaniem domu."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka jest żywotność rur PEX w podłogówce?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nowoczesne rury PEX/PERT posiadają deklarowaną trwałość przekraczającą 50 lat, co czyni je najtrwalszym elementem infrastruktury budowlanej."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#dataset-faq",
    "name": "Baza Wiedzy: Koszty i eksploatacja systemów grzewczych",
    "description": "Zbiór kluczowych pytań inwestorskich dotyczących opłacalności systemów elektrycznych i wodnych pomp ciepła w perspektywie długoterminowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": { "@type": "Person", "name": "Robert Kucharski" }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#webapp-faq",
    "name": "Interaktywny Przewodnik Inwestycyjny",
    "description": "Aplikacja edukacyjna w formie akordeonu ze zintegrowanymi animacjami SVG ułatwiająca zrozumienie różnic eksploatacyjnych między technologiami grzewczymi.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": { "@type": "Person", "name": "Robert Kucharski" }
  }
]
</script>

<div class="rk-faq-container" id="rk-faq-app">
    <div class="rk-faq-header">
        <div class="rk-faq-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Baza Wiedzy Inwestora
        </div>
        <h2 class="rk-faq-title">FAQ – <span>Najczęściej zadawane pytania</span></h2>
    </div>

    <div class="rk-faq-interactive">
        <div class="rk-faq-list">
            
            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>1. Czy ogrzewanie elektryczne jest całkowicie nieopłacalne?</span>
                    <div class="rk-faq-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq-answer-wrapper">
                    <div class="rk-faq-answer-inner">
                        <div class="rk-faq-content">
                            <div class="rk-faq-text">
                                Nie, ma sens w domach o <strong>ekstremalnie niskim zapotrzebowaniu na ciepło</strong> (<a href="https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/" class="rk-link">domy pasywne</a>) lub w pomieszczeniach używanych okazjonalnie (np. domki letniskowe), gdzie niska cena inwestycji początkowej przeważa nad wyższymi kosztami eksploatacji.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <path d="M 20 40 L 50 15 L 80 40 L 80 65 L 20 65 Z" fill="none" stroke="#64748b" stroke-width="4" stroke-linejoin="round"/>
                                    <path class="anim-eco-leaf" d="M 50 65 C 50 40 35 30 35 30 C 45 25 65 30 65 45 C 65 55 50 65 50 65 Z" fill="var(--rk-faq-success)"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>2. Czy projekt jest potrzebny, jeśli dom jest mały (poniżej 100 m²)?</span>
                    <div class="rk-faq-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq-answer-wrapper">
                    <div class="rk-faq-answer-inner">
                        <div class="rk-faq-content">
                            <div class="rk-faq-text">
                                Tak, w mniejszych budynkach błędy w projekcie mają często większy odczuwalny wpływ na budżet domowy. <a href="https://projekt-ogrzewania.pl/ile-kosztuje-projekt-ogrzewania-podlogowego/" class="rk-link">Profesjonalny projekt OZC</a> chroni przed przewymiarowaniem pompy ciepła i zwraca się najczęściej już po <strong>2-3 sezonach grzewczych</strong> w postaci niższych rachunków.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="20" y="10" width="60" height="50" fill="none" stroke="#475569" stroke-width="4" rx="4"/>
                                    <path class="anim-savings-line" d="M 30 25 L 45 40 L 55 30 L 70 50" fill="none" stroke="var(--rk-faq-success)" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
                                    <circle class="anim-coin-drop" cx="70" cy="50" r="4" fill="var(--rk-faq-warning)"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>3. Czy pompa ciepła jest tak samo bezobsługowa jak kable grzejne?</span>
                    <div class="rk-faq-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq-answer-wrapper">
                    <div class="rk-faq-answer-inner">
                        <div class="rk-faq-content">
                            <div class="rk-faq-text">
                                Prawie tak. Systemy z <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" class="rk-link">pompą ciepła</a> wymagają jedynie okresowego, corocznego przeglądu technicznego (sprawdzenie filtrów, ciśnienia, szczelności czynnika). Elektryka jest całkowicie bezobsługowa, ale ta wygoda jest <strong>obarczona znacznie wyższymi rachunkami</strong> co miesiąc.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="25" y="15" width="50" height="40" fill="none" stroke="#64748b" stroke-width="4" rx="4"/>
                                    <path d="M 25 25 L 75 25" stroke="#64748b" stroke-width="4"/>
                                    <circle class="anim-service-gear" cx="50" cy="45" r="10" fill="none" stroke="var(--rk-faq-accent)" stroke-width="4" stroke-dasharray="4 4"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>4. Czy mogę zainstalować kable w łazienkach, a resztę domu ogrzewać wodnie?</span>
                    <div class="rk-faq-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq-answer-wrapper">
                    <div class="rk-faq-answer-inner">
                        <div class="rk-faq-content">
                            <div class="rk-faq-text">
                                Tak, to bardzo popularne rozwiązanie, znane jako <strong>ogrzewanie hybrydowe</strong>. Kable elektryczne lub maty w łazienkach zapewniają szybki komfort cieplny pod stopami niezależnie od sezonu letniego, a <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/" class="rk-link">wodna podłogówka</a> zajmuje się głównym, najtańszym ogrzewaniem całego domu.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <path d="M 20 20 L 45 20 L 45 50 L 20 50" fill="none" stroke="#3b82f6" stroke-width="4" class="anim-water-flow"/>
                                    <line x1="50" y1="10" x2="50" y2="60" stroke="#475569" stroke-width="2" stroke-dasharray="2 2"/>
                                    <path class="anim-elec-zap" d="M 65 15 L 85 15 L 70 35 L 90 35 L 60 60 L 75 40 L 55 40 Z" fill="var(--rk-faq-warning)"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>5. Jaka jest żywotność rur PEX w podłogówce?</span>
                    <div class="rk-faq-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq-answer-wrapper">
                    <div class="rk-faq-answer-inner">
                        <div class="rk-faq-content">
                            <div class="rk-faq-text">
                                Nowoczesne <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/" class="rk-link">rury PEX lub PERT</a> posiadają deklarowaną przez producentów i laboratoria trwałość przekraczającą <strong>50 lat</strong>. Przy zachowaniu odpowiednich temperatur i norm (np. brak przegrzewania instalacji powyżej normy), jest to jeden z najtrwalszych elementów całej infrastruktury budowlanej.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <path class="anim-50-draw" d="M 50 10 L 80 20 L 80 40 C 80 55 50 65 50 65 C 50 65 20 55 20 40 L 20 20 Z" fill="none" stroke="var(--rk-faq-success)" stroke-width="4" stroke-linejoin="round"/>
                                    <text class="anim-fade-in" x="50" y="45" font-family="system-ui, sans-serif" font-size="20" font-weight="bold" fill="#ffffff" text-anchor="middle">50+</text>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const faqItems = document.querySelectorAll('.rk-faq-item');

    faqItems.forEach(item => {
        const btn = item.querySelector('.rk-faq-question');
        btn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');
            
            faqItems.forEach(i => i.classList.remove('active'));
            
            if (!isActive) {
                item.classList.add('active');
            }
        });
    });
    
    if(faqItems.length > 0) {
        faqItems[0].classList.add('active');
    }
});
</script>



<style>
:root {
    --rk-tco-dark: #1e293b;
    --rk-tco-blue: #0ea5e9;
    --rk-tco-blue-hover: #0284c7;
    --rk-tco-green: #10b981;
    --rk-tco-red: #f43f5e;
    --rk-tco-bg: #ffffff;
    --rk-tco-gray: #f1f5f9;
    --rk-tco-text: #334155;
    --rk-tco-border: #cbd5e1;
}

.rk-tco-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-tco-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(14, 165, 233, 0.15);
    border: 1px solid var(--rk-tco-border);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-tco-header {
    padding: 40px 40px 20px;
    text-align: center;
    background: linear-gradient(to bottom, #f8fafc, #ffffff);
    border-bottom: 1px solid #e2e8f0;
}

.rk-tco-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-tco-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-tco-header p {
    font-size: 16px;
    color: var(--rk-tco-text);
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Interaktywny Suwak / Przełącznik */
.rk-tco-interactive {
    padding: 40px;
    background: var(--rk-tco-bg);
}

.rk-tco-toggle-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

.rk-tco-toggle {
    display: inline-flex;
    background: var(--rk-tco-gray);
    border-radius: 999px;
    padding: 6px;
    position: relative;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.05);
}

.rk-tco-toggle-btn {
    padding: 12px 30px;
    font-size: 16px;
    font-weight: 700;
    color: #64748b;
    border: none;
    background: transparent;
    border-radius: 999px;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 1;
}

.rk-tco-toggle-btn.active {
    color: #ffffff;
}

.rk-tco-toggle-indicator {
    position: absolute;
    top: 6px;
    left: 6px;
    height: calc(100% - 12px);
    width: calc(50% - 6px);
    border-radius: 999px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: var(--rk-tco-red);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
}

.rk-tco-toggle[data-state="water"] .rk-tco-toggle-indicator {
    transform: translateX(100%);
    background: var(--rk-tco-green);
}

/* Panel Wyników (Wyśrodkowany) */
.rk-tco-results {
    display: flex;
    justify-content: center;
    width: 100%;
}

.rk-tco-data-box {
    width: 100%;
    max-width: 650px;
    padding: 35px 40px;
    border-radius: 16px;
    border: 2px solid #e2e8f0;
    transition: all 0.4s;
}

.state-electric .rk-tco-data-box { border-color: rgba(244, 63, 94, 0.3); background: #fff1f2; }
.state-water .rk-tco-data-box { border-color: rgba(16, 185, 129, 0.3); background: #f0fdf4; }

.rk-tco-data-box h3 {
    margin: 0 0 25px 0;
    font-size: 24px;
    font-weight: 800;
    color: var(--rk-tco-dark);
    text-align: center;
}

.rk-tco-metric {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px dashed rgba(0,0,0,0.1);
}

.rk-tco-metric:last-child { border-bottom: none; }

.rk-tco-metric span:first-child { font-weight: 600; font-size: 16px; color: var(--rk-tco-text); }
.rk-tco-metric span:last-child { font-weight: 800; font-size: 18px; color: var(--rk-tco-dark); }

.rk-tco-highlight {
    margin-top: 25px;
    padding: 18px;
    border-radius: 10px;
    background: rgba(0,0,0,0.04);
    font-weight: 800;
    font-size: 20px;
    text-align: center;
}

.state-electric .rk-tco-highlight { color: var(--rk-tco-red); }
.state-water .rk-tco-highlight { color: var(--rk-tco-green); }

/* Sekcja Wniosków i Linków */
.rk-tco-content-grid {
    padding: 0 40px 40px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.rk-tco-content-grid h4 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-tco-dark);
    margin: 0 0 10px 0;
}

.rk-tco-content-grid p {
    font-size: 15px;
    color: var(--rk-tco-text);
    line-height: 1.6;
    margin: 0;
}

.rk-tco-link {
    color: var(--rk-tco-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: border-color 0.3s;
}

.rk-tco-link:hover { border-color: var(--rk-tco-blue); }

/* CTA */
.rk-tco-cta {
    background: var(--rk-tco-dark);
    padding: 40px;
    text-align: center;
}

.rk-tco-cta h3 {
    color: #ffffff;
    font-size: 24px;
    font-weight: 900;
    margin: 0 0 15px 0;
}

.rk-tco-cta p {
    color: #94a3b8;
    margin: 0 auto 30px;
    max-width: 600px;
    font-size: 16px;
    line-height: 1.6;
}

.rk-btn-blue {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--rk-tco-blue);
    color: #ffffff;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.4);
    transition: all 0.3s;
}

.rk-btn-blue:hover {
    background: var(--rk-tco-blue-hover);
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(14, 165, 233, 0.5);
}

@media (max-width: 768px) {
    .rk-tco-header, .rk-tco-interactive, .rk-tco-content-grid, .rk-tco-cta { padding: 25px; }
    .rk-tco-toggle { width: 100%; display: flex; }
    .rk-tco-toggle-btn { flex: 1; text-align: center; padding: 12px 10px; font-size: 14px; }
    .rk-tco-data-box { padding: 25px 20px; }
    .rk-tco-metric { flex-direction: column; align-items: flex-start; gap: 5px; }
    .rk-tco-metric span:last-child { align-self: flex-start; }
    .rk-btn-blue { width: 100%; justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty"
    },
    "headline": "Podsumowanie: Wybierz mądrze, oszczędzaj przez dekady",
    "description": "Zestawienie całkowitych kosztów posiadania (TCO) instalacji grzewczej na 20 lat. Sprawdź opłacalność pompy ciepła względem kabli elektrycznych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-31",
    "dateModified": "2026-05-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty#dataset-tco",
    "name": "Wskaźnik Całkowitych Kosztów Ogrzewania (TCO) 2026-2046",
    "description": "Zestawienie ekonomiczne analizujące opłacalność wodnego ogrzewania podłogowego w stosunku do mat i folii elektrycznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator kosztów ogrzewania 2026",
      "opłacalność pompy ciepła",
      "koszt eksploatacji ogrzewania elektrycznego",
      "wodna podłogówka oszczędności",
      "TCO ogrzewania domu"
    ],
    "measurementTechnique": "Symulacja kosztów początkowych i eksploatacyjnych przy założeniu cyklu życia instalacji wynoszącego 20 lat w oparciu o normę PN-EN 12831.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Ogrzewanie Elektryczne: Niski koszt instalacji, skrajnie wysokie koszty utrzymania z powodu współczynnika COP 1.0.",
        "Wodna Podłogówka z Pompą Ciepła: Wyższy koszt startowy, minimalne koszty eksploatacji dzięki SCOP 3.5+ i akumulacyjności wylewki."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty#webapp-symulator",
    "name": "Kalkulator Opłacalności Ogrzewania TCO",
    "description": "Narzędzie interaktywne ilustrujące drenaż portfela przy ogrzewaniu elektrycznym oraz budowanie oszczędności przy inwestycji w wodną instalację podłogową.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and CSS3",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-tco-container" id="tco-app-container">
    <div class="rk-tco-header">
        <h2>Podsumowanie: Wybierz mądrze, oszczędzaj przez dekady</h2>
        <p>Decyzja o wyborze systemu grzewczego to matematyka, nie emocje. Poniższy symulator obnaża brutalną prawdę o kosztach eksploatacji. Sprawdź, co stanie się z Twoim budżetem po 20 latach.</p>
    </div>

    <div class="rk-tco-interactive state-electric" id="tco-interactive-box">
        <div class="rk-tco-toggle-wrapper">
            <div class="rk-tco-toggle" data-state="electric" id="tco-toggle-ui">
                <div class="rk-tco-toggle-indicator"></div>
                <button class="rk-tco-toggle-btn active" onclick="switchTCO('electric')">Folie / Kable (Elektryka)</button>
                <button class="rk-tco-toggle-btn" onclick="switchTCO('water')">Wodna Podłogówka + Pompa</button>
            </div>
        </div>

        <div class="rk-tco-results">
            <div class="rk-tco-data-box" id="tco-data-content">
                <h3>Ogrzewanie Bezpośrednie</h3>
                <div class="rk-tco-metric"><span>Startowy koszt instalacji</span> <span>~ 10 000 PLN</span></div>
                <div class="rk-tco-metric"><span>Sprawność systemu</span> <span>COP 1.0</span></div>
                <div class="rk-tco-metric"><span>Roczny rachunek za prąd</span> <span>~ 8 000 PLN</span></div>
                <div class="rk-tco-metric"><span>Możliwość zmiany źródła</span> <span>BRAK (zalane w betonie)</span></div>
                <div class="rk-tco-highlight">Suma po 20 latach: 170 000 PLN</div>
            </div>
        </div>
    </div>

    <div class="rk-tco-content-grid">
        <div class="rk-tco-text-block">
            <h4>Dlaczego woda zawsze wygrywa na dłuższą metę?</h4>
            <p>Oszczędność przy montażu instalacji elektrycznej jest jednorazowa. Rachunki za energię będziesz płacić co miesiąc. System wodny oparty o rury pozwala Ci wykorzystać fizykę wylewki (akumulacja) oraz <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/" class="rk-tco-link">technologię pompy ciepła</a>, aby wyprodukować nawet 5 kW energii cieplnej z zaledwie 1 kW pobranego prądu. Co więcej, inwestując w profesjonalny projekt, możesz obliczyć <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/" class="rk-tco-link">realny zwrot z inwestycji</a> jeszcze przed wbiciem łopaty w ziemię.</p>
        </div>
    </div>

    <div class="rk-tco-cta">
        <h3>Nie planuj instalacji "na oko"</h3>
        <p>Sukces wodnej podłogówki wymaga inżynierskiego podejścia. Zdobądź wiedzę z ponad 1000 zrealizowanych projektów, omijaj pułapki instalatorów i buduj bez ściemy.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-blue">
            WEJDŹ DO BAZY WIEDZY EKSKLUZYWNEJ
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>
        </a>
    </div>
</div>

<script>
function switchTCO(state) {
    const box = document.getElementById('tco-interactive-box');
    const toggleUi = document.getElementById('tco-toggle-ui');
    const btns = toggleUi.querySelectorAll('.rk-tco-toggle-btn');
    const contentBox = document.getElementById('tco-data-content');

    // Aktualizacja klas interfejsu
    btns[0].classList.toggle('active', state === 'electric');
    btns[1].classList.toggle('active', state === 'water');
    toggleUi.setAttribute('data-state', state);
    box.className = 'rk-tco-interactive state-' + state;

    // Aktualizacja danych wewnątrz Data Boxa
    if (state === 'water') {
        contentBox.innerHTML = `
            <h3>Wodna Podłogówka + PC</h3>
            <div class="rk-tco-metric"><span>Startowy koszt instalacji</span> <span>~ 40 000 PLN</span></div>
            <div class="rk-tco-metric"><span>Sprawność systemu</span> <span>SCOP 3.5 do 5.0</span></div>
            <div class="rk-tco-metric"><span>Roczny rachunek za prąd</span> <span>~ 2 200 PLN</span></div>
            <div class="rk-tco-metric"><span>Możliwość zmiany źródła</span> <span>PEŁNA (infrastruktura na lata)</span></div>
            <div class="rk-tco-highlight">Suma po 20 latach: 84 000 PLN</div>
        `;
    } else {
        contentBox.innerHTML = `
            <h3>Ogrzewanie Bezpośrednie</h3>
            <div class="rk-tco-metric"><span>Startowy koszt instalacji</span> <span>~ 10 000 PLN</span></div>
            <div class="rk-tco-metric"><span>Sprawność systemu</span> <span>COP 1.0</span></div>
            <div class="rk-tco-metric"><span>Roczny rachunek za prąd</span> <span>~ 8 000 PLN</span></div>
            <div class="rk-tco-metric"><span>Możliwość zmiany źródła</span> <span>BRAK (zalane w betonie)</span></div>
            <div class="rk-tco-highlight">Suma po 20 latach: 170 000 PLN</div>
        `;
    }
}
</script>



<style>
:root {
    --dl-primary: #0f172a;
    --dl-accent: #0ea5e9;
    --dl-accent-dark: #0284c7;
    --dl-bg: #f8fafc;
    --dl-border: #e2e8f0;
    --dl-text: #334155;
    --dl-white: #ffffff;
}

.download-hub-container {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--dl-white);
    border-radius: 24px;
    border: 1px solid var(--dl-border);
    box-shadow: 0 20px 40px -10px rgba(0,0,0,0.05);
    overflow: hidden;
}

/* NAGŁÓWEK SEKCI */
.dl-header {
    background: linear-gradient(135deg, var(--dl-primary) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: var(--dl-white);
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.dl-header-content { position: relative; z-index: 2; max-width: 60%; }

.dl-badge {
    display: inline-block;
    background: rgba(14, 165, 233, 0.2);
    border: 1px solid rgba(14, 165, 233, 0.3);
    color: #7dd3fc;
    padding: 6px 12px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.dl-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 10px 0;
    letter-spacing: -0.5px;
}

.dl-header p {
    font-size: 15px;
    color: #94a3b8;
    margin: 0;
    line-height: 1.5;
}

/* WIZUALIZACJA PDF / IKONA */
.dl-header-visual {
    position: relative;
    z-index: 2;
}

.dl-pdf-icon-svg {
    width: 80px;
    height: auto;
    filter: drop-shadow(0 10px 15px rgba(0,0,0,0.3));
    animation: floatIcon 3s infinite ease-in-out alternate;
}

@keyframes floatIcon {
    from { transform: translateY(0); }
    to { transform: translateY(-10px); }
}

/* GŁÓWNY WORKSPACE */
.dl-workspace {
    display: flex;
    padding: 40px 50px;
    gap: 40px;
    background: var(--dl-white);
}

.dl-preview-box {
    flex: 1;
    background: var(--dl-bg);
    border: 1px solid var(--dl-border);
    border-radius: 16px;
    padding: 10px;
    position: relative;
    cursor: zoom-in;
    transition: transform 0.3s;
}

.dl-preview-box:hover {
    transform: scale(1.02);
}

.dl-preview-img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
}

.dl-info-side {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dl-feature-list {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
}

.dl-feature-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
    font-size: 15px;
    font-weight: 600;
    color: var(--dl-text);
}

.dl-check-svg {
    width: 20px;
    height: 20px;
    color: var(--dl-accent);
    flex-shrink: 0;
}

/* PRZYCISK POBIERANIA */
.dl-main-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--dl-accent);
    color: var(--dl-white);
    text-decoration: none !important;
    padding: 18px 30px;
    border-radius: 14px;
    font-weight: 800;
    font-size: 16px;
    transition: all 0.3s;
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.4);
}

.dl-main-btn:hover {
    background: var(--dl-accent-dark);
    transform: translateY(-3px);
    box-shadow: 0 15px 30px -5px rgba(14, 165, 233, 0.5);
}

.dl-main-btn span { font-size: 20px; }

/* STOPKA MODUŁU */
.dl-footer {
    padding: 20px 50px;
    background: var(--dl-bg);
    border-top: 1px solid var(--dl-border);
    font-size: 13px;
    color: var(--dl-muted);
    text-align: center;
}

.dl-footer a {
    color: var(--dl-accent-dark);
    font-weight: 700;
    text-decoration: none;
}

@media (max-width: 800px) {
    .dl-header { flex-direction: column; text-align: center; padding: 30px 20px; }
    .dl-header-content { max-width: 100%; margin-bottom: 25px; }
    .dl-workspace { flex-direction: column; padding: 30px 20px; }
    .dl-preview-box { margin-bottom: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#infografika-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/"
    },
    "headline": "Ogrzewanie Elektryczne vs Podłogówka Wodna (Infografika PDF)",
    "description": "Pobierz inżynierskie zestawienie kosztów inwestycyjnych i eksploatacyjnych. Kompletny poradnik TCO w formacie PDF i WEBP.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Ogrzewanie-elektryczne-vs-wodna-podlogowka-Kalkulator-kosztow-eksploatacji.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": "2026-05-31",
    "dateModified": "2026-05-31"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#dataset-tabela",
    "name": "Tabela inżynierska: Koszty TCO na 20 lat w Polsce",
    "description": "Zbiór danych określający optymalność finansową (CAPEX + OPEX) systemów grzewczych w zależności od zapotrzebowania energetycznego (od 4000 do 16000 kWh).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "tabela zwrotu z inwestycji pompa ciepła",
      "koszty folii grzewczych vs pompa",
      "symulacja TCO na 20 lat",
      "infografika ogrzewanie podłogowe PDF",
      "sprawność COP i SCOP wykres"
    ],
    "measurementTechnique": "Obliczenia całkowitych kosztów posiadania (TCO) dla strefy klimatycznej III, przy bazowej cenie prądu z 2026 r. i prognozowanej inflacji 3%.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Parametry opłacalności systemów grzewczych"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-koszty/#download-app",
    "name": "Centrum Pobierania Wiedzy: Kalkulator Kosztów",
    "description": "Interaktywny moduł umożliwiający wizualizację i pobranie dokumentacji techniczno-finansowej dotyczącej doboru systemów grzewczych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5"
  }
]
</script>

<div class="download-hub-container" id="app-costs-dl">
    
    <div class="dl-header">
        <div class="dl-header-content">
            <div class="dl-badge">Darmowe Materiały</div>
            <h2>Pobierz Kompletne Zestawienie</h2>
            <p>Zabierz inżynierską wiedzę na budowę. Tabela TCO, schematy architektoniczne i diagnostyka 5 najdroższych błędów w jednym pliku PDF.</p>
        </div>
        <div class="dl-header-visual">
            <svg class="dl-pdf-icon-svg" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M14 2H6C4.89543 2 4 2.89543 4 4V20C4 21.1046 4.89543 22 6 22H18C19.1046 22 20 21.1046 20 20V8L14 2Z" fill="#ef4444" stroke="#ffffff" stroke-width="1"/>
                <path d="M14 2V8H20" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/>
                <text x="7" y="18" fill="white" font-size="5" font-weight="900" font-family="sans-serif">PDF</text>
            </svg>
        </div>
    </div>

    <div class="dl-workspace">
        
        <div class="dl-preview-box" onclick="window.open('https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Ogrzewanie-elektryczne-vs-wodna-podlogowka-Kalkulator-kosztow-eksploatacji.webp', '_blank')">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Ogrzewanie-elektryczne-vs-wodna-podlogowka-Kalkulator-kosztow-eksploatacji.webp" alt="Infografika - Kalkulator kosztów: Ogrzewanie elektryczne vs wodna podłogówka" class="dl-preview-img" loading="lazy">
            <div style="position:absolute; bottom:20px; right:20px; background:rgba(0,0,0,0.6); color:white; padding:8px 12px; border-radius:8px; font-size:12px; font-weight:700;">🔍 Kliknij, aby powiększyć</div>
        </div>

        <div class="dl-info-side">
            <ul class="dl-feature-list">
                <li class="dl-feature-item">
                    <svg class="dl-check-svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    Zestawienie zysków: TCO na 20 lat
                </li>
                <li class="dl-feature-item">
                    <svg class="dl-check-svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    Analiza wydajności COP vs SCOP
                </li>
                <li class="dl-feature-item">
                    <svg class="dl-check-svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    Checklista: 5 błędów (M.in. opór cieplny paneli)
                </li>
                <li class="dl-feature-item">
                    <svg class="dl-check-svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    Wysoka rozdzielczość na smartfony
                </li>
            </ul>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Ogrzewanie-elektryczne-vs-wodna-podlogowka-Kalkulator-kosztow-eksploatacji.pdf" class="dl-main-btn" target="_blank">
                <span>📥</span> POBIERZ ZESTAWIENIE (PDF)
            </a>
            
            <p style="margin-top: 20px; font-size: 13px; color: var(--dl-muted); line-height: 1.4;">
                Nie wiesz, jak dobrać parametry do swojego budynku? Zobacz <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/" style="color:var(--dl-accent-dark); font-weight:800;">jak samodzielnie obliczyć OZC</a> przed zakupem pompy ciepła.
            </p>
        </div>

    </div>

    <div class="dl-footer">
        © 2026 Projekt-Ogrzewania.pl | Autor: <strong>Robert Kucharski</strong>. Udostępnianie dozwolone z zachowaniem linku do źródła.
    </div>
</div>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-elektryczne-vs-wodna-podlogowka-kalkulator-kosztow-eksploatacji/">Ogrzewanie elektryczne vs wodna podłogówka: Kalkulator kosztów eksploatacji.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 24 Apr 2026 07:40:41 +0000</pubDate>
				<category><![CDATA[Błędy wykonawcze]]></category>
		<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Energooszczędne ogrzewanie]]></category>
		<category><![CDATA[Koszty inwestycji]]></category>
		<category><![CDATA[Normy budowlane]]></category>
		<category><![CDATA[Normy techniczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Optymalizacja kosztów]]></category>
		<category><![CDATA[Oszczędności energii]]></category>
		<category><![CDATA[Oszczędzanie energii]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki inwestora]]></category>
		<category><![CDATA[błędy na budowie]]></category>
		<category><![CDATA[dylatacje podłogówki]]></category>
		<category><![CDATA[jastrych]]></category>
		<category><![CDATA[koszty budowy]]></category>
		<category><![CDATA[norma pn-en 1264]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[próba ciśnieniowa]]></category>
		<category><![CDATA[próba szczelności]]></category>
		<category><![CDATA[projekt instalacji]]></category>
		<category><![CDATA[projekt ozc]]></category>
		<category><![CDATA[rotametry]]></category>
		<category><![CDATA[rozdzielacz inox]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[styropian pod wylewkę]]></category>
		<category><![CDATA[taśma brzegowa]]></category>
		<category><![CDATA[usterki hydrauliczne]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4403</guid>

					<description><![CDATA[<p>Zdecydowałeś się na nowoczesną instalację płaszczyznową, zapłaciłeś za profesjonalne wyliczenia OZC i kupiłeś drogi rozdzielacz? To świetny start, ale niestety to za mało, aby spać spokojnie. Prawdziwy test dla Twojej inwestycji odbywa się w momencie zalewania rur betonem. To właśnie w tej fazie najczęściej dochodzi do kosztownych pomyłek z winy pośpiechu i brawury ekip. Pozorna oszczędność na taśmie dylatacyjnej, zalanie jastrychu bez odpowiedniego ciśnienia czy zignorowanie zaleceń dotyczących grubości izolacji to klasyczne przykłady na to, jak najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego, potrafią zrujnować Twój portfel. Skucie popękanej posadzki i naprawa wycieków kosztują kilkadziesiąt tysięcy złotych. Przeczytaj ten raport, zapisz naszą listę kontrolną i obroń swój budżet, zanim betoniarka wjedzie na plac budowy.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/">Najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-build-control {
    --rk-dark: #102536;
    --rk-navy: #14384d;
    --rk-blue: #078fbe;
    --rk-cyan: #28c9da;
    --rk-cyan-soft: #e9fbfe;
    --rk-orange: #ff6238;
    --rk-red: #d83c2f;
    --rk-red-soft: #fff0ed;
    --rk-green: #178265;
    --rk-green-soft: #eaf8f3;
    --rk-yellow: #f2b441;
    --rk-yellow-soft: #fff7e6;
    --rk-ink: #1d2c3a;
    --rk-text: #465a6b;
    --rk-muted: #687b89;
    --rk-line: #d7e6ed;
    --rk-soft: #f4f9fb;
    --rk-warm: #fff4ef;
    --rk-white: #ffffff;
    width: 100%;
    max-width: 1480px;
    margin: 32px auto 70px;
    color: var(--rk-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 18px;
    line-height: 1.78;
  }

  #rk-build-control,
  #rk-build-control * {
    box-sizing: border-box;
  }

  #rk-build-control img,
  #rk-build-control svg {
    max-width: 100%;
  }

  #rk-build-control button,
  #rk-build-control input,
  #rk-build-control a,
  #rk-build-control summary,
  #rk-build-control label {
    -webkit-tap-highlight-color: transparent;
  }

  #rk-build-control a {
    color: var(--rk-blue);
    font-weight: 780;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  #rk-build-control a:hover {
    color: var(--rk-red);
  }

  #rk-build-control h2,
  #rk-build-control h3,
  #rk-build-control h4 {
    margin-top: 0;
    color: var(--rk-dark);
    font-weight: 900;
    letter-spacing: -0.035em;
    line-height: 1.16;
  }

  #rk-build-control h2 {
    margin-bottom: 18px;
    font-size: clamp(1.65rem, 3.6vw, 2.65rem);
  }

  #rk-build-control h3 {
    margin-bottom: 12px;
    font-size: clamp(1.18rem, 2.5vw, 1.58rem);
  }

  #rk-build-control h4 {
    margin-bottom: 8px;
    font-size: 1.02rem;
    letter-spacing: -0.015em;
  }

  #rk-build-control h2::before,
  #rk-build-control h2::after,
  #rk-build-control h3::before,
  #rk-build-control h3::after,
  #rk-build-control h4::before,
  #rk-build-control h4::after {
    content: none !important;
    display: none !important;
  }

  #rk-build-control p {
    margin: 0 0 1.22em;
    color: var(--rk-text);
  }

  #rk-build-control strong {
    color: var(--rk-dark);
  }

  #rk-build-control section[id] {
    scroll-margin-top: 30px;
  }

  #rk-build-control .rk-build-shell {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 30px;
    background: var(--rk-white);
    box-shadow: 0 25px 70px rgba(16, 37, 54, 0.12);
  }

  #rk-build-control .rk-build-progress-track {
    position: sticky;
    z-index: 40;
    top: 0;
    width: 100%;
    height: 5px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.9);
  }

  #rk-build-control .rk-build-progress {
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--rk-cyan), var(--rk-blue), var(--rk-orange));
  }

  #rk-build-control .rk-build-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(38px, 6.5vw, 80px);
    color: var(--rk-white);
    background:
      radial-gradient(circle at 88% 14%, rgba(255, 98, 56, 0.34), transparent 28%),
      radial-gradient(circle at 73% 82%, rgba(40, 201, 218, 0.22), transparent 32%),
      linear-gradient(135deg, #0d2230 0%, #143b50 58%, #09647e 100%);
  }

  #rk-build-control .rk-build-hero::before,
  #rk-build-control .rk-build-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
  }

  #rk-build-control .rk-build-hero::before {
    right: -135px;
    bottom: -190px;
    width: 430px;
    height: 430px;
    border: 62px solid rgba(255, 255, 255, 0.055);
  }

  #rk-build-control .rk-build-hero::after {
    right: 145px;
    bottom: -135px;
    width: 245px;
    height: 245px;
    border: 35px solid rgba(255, 98, 56, 0.13);
  }

  #rk-build-control .rk-build-badge {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    margin: 0 0 24px;
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, 0.23);
    border-radius: 999px;
    color: var(--rk-white);
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.73rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-badge::before {
    content: "";
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border-radius: 50%;
    background: var(--rk-orange);
    box-shadow: 0 0 0 6px rgba(255, 98, 56, 0.18);
  }

  #rk-build-control .rk-build-hero h2 {
    max-width: 1080px;
    margin-bottom: 24px;
    color: var(--rk-white);
    font-size: clamp(2.05rem, 5.1vw, 3.9rem);
    letter-spacing: -0.055em;
  }

  #rk-build-control .rk-build-hero h2 span {
    color: #83edf5;
  }

  #rk-build-control .rk-build-hook {
    max-width: 930px;
    margin: 0 0 21px;
    padding: 20px 22px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-left: 5px solid var(--rk-orange);
    border-radius: 0 16px 16px 0;
    color: #eefbff;
    background: rgba(4, 23, 34, 0.28);
    font-size: clamp(1.02rem, 2vw, 1.22rem);
    font-weight: 760;
  }

  #rk-build-control .rk-build-hero-lead {
    max-width: 970px;
    margin-bottom: 25px;
    color: #d8e8ee;
    font-size: clamp(1rem, 1.8vw, 1.16rem);
  }

  #rk-build-control .rk-build-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 26px;
    color: #d8e8ee;
    font-size: 0.84rem;
    font-weight: 800;
  }

  #rk-build-control .rk-build-hero-meta span {
    display: inline-flex;
    gap: 8px;
    align-items: center;
  }

  #rk-build-control .rk-build-hero-meta span::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--rk-orange);
  }

  #rk-build-control .rk-build-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 18px clamp(20px, 4vw, 52px);
    border-bottom: 1px solid var(--rk-line);
    background: #f8fbfc;
  }

  #rk-build-control .rk-build-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 8px 14px;
    border: 1px solid #c9dce5;
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: 0.8rem;
    font-weight: 850;
    line-height: 1.3;
    text-decoration: none;
  }

  #rk-build-control .rk-build-nav a:hover,
  #rk-build-control .rk-build-nav a:focus-visible {
    border-color: var(--rk-blue);
    color: var(--rk-white);
    background: var(--rk-blue);
    outline: none;
  }

  #rk-build-control .rk-build-content {
    padding: clamp(26px, 5.2vw, 72px);
  }

  #rk-build-control .rk-build-section {
    padding: clamp(24px, 4.2vw, 54px) 0;
    border-bottom: 1px solid var(--rk-line);
  }

  #rk-build-control .rk-build-section:last-child {
    border-bottom: 0;
  }

  #rk-build-control .rk-build-section-head {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    margin-bottom: 25px;
  }

  #rk-build-control .rk-build-section-no {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    border-radius: 18px;
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-blue), var(--rk-cyan));
    box-shadow: 0 12px 25px rgba(7, 143, 190, 0.18);
    font-size: 0.84rem;
    font-weight: 950;
    letter-spacing: 0.05em;
  }

  #rk-build-control .rk-build-section-head p {
    max-width: 930px;
    margin: 0;
  }

  #rk-build-control .rk-build-answer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 0.42fr);
    gap: 26px;
    align-items: stretch;
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid #bce8ef;
    border-radius: 24px;
    background: linear-gradient(135deg, #f2fdff, #ffffff 58%);
  }

  #rk-build-control .rk-build-answer h3 {
    font-size: clamp(1.35rem, 3vw, 2rem);
  }

  #rk-build-control .rk-build-answer p:last-child {
    margin-bottom: 0;
  }

  #rk-build-control .rk-build-answer-verdict {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px;
    border-radius: 20px;
    color: var(--rk-white);
    background: linear-gradient(145deg, var(--rk-dark), var(--rk-navy));
  }

  #rk-build-control .rk-build-answer-verdict span {
    display: block;
    margin-bottom: 8px;
    color: #83edf5;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-answer-verdict strong {
    color: var(--rk-white);
    font-size: clamp(1.22rem, 2.6vw, 1.7rem);
    line-height: 1.22;
  }

  #rk-build-control .rk-build-flow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 28px 0;
  }

  #rk-build-control .rk-build-flow-card {
    position: relative;
    min-height: 190px;
    padding: 26px;
    border: 1px solid var(--rk-line);
    border-radius: 22px;
    background: var(--rk-white);
  }

  #rk-build-control .rk-build-flow-card:not(:last-child)::after {
    content: "→";
    position: absolute;
    z-index: 3;
    top: 50%;
    right: -25px;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: var(--rk-white);
    background: var(--rk-orange);
    transform: translateY(-50%);
    font-weight: 950;
  }

  #rk-build-control .rk-build-flow-card span {
    display: inline-flex;
    margin-bottom: 15px;
    padding: 6px 10px;
    border-radius: 999px;
    color: var(--rk-blue);
    background: var(--rk-cyan-soft);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-flow-card p:last-child {
    margin-bottom: 0;
  }

  #rk-build-control .rk-build-formulas {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 26px;
  }

  #rk-build-control .rk-build-formula {
    padding: 24px;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: var(--rk-soft);
  }

  #rk-build-control .rk-build-formula code {
    display: block;
    margin: 12px 0 14px;
    padding: 14px 16px;
    border-radius: 12px;
    color: #eafcff;
    background: var(--rk-dark);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: clamp(0.95rem, 2vw, 1.12rem);
    font-weight: 800;
    line-height: 1.45;
    white-space: normal;
  }

  #rk-build-control .rk-build-formula p:last-child {
    margin-bottom: 0;
  }

  #rk-build-control .rk-build-note,
  #rk-build-control .rk-build-warning,
  #rk-build-control .rk-build-tip {
    margin: 25px 0;
    padding: 22px 24px;
    border-radius: 18px;
  }

  #rk-build-control .rk-build-note {
    border-left: 5px solid var(--rk-blue);
    background: var(--rk-cyan-soft);
  }

  #rk-build-control .rk-build-warning {
    border-left: 5px solid var(--rk-red);
    background: var(--rk-red-soft);
  }

  #rk-build-control .rk-build-tip {
    border-left: 5px solid var(--rk-green);
    background: var(--rk-green-soft);
  }

  #rk-build-control .rk-build-note p:last-child,
  #rk-build-control .rk-build-warning p:last-child,
  #rk-build-control .rk-build-tip p:last-child {
    margin-bottom: 0;
  }

  #rk-build-control .rk-build-table-wrap {
    margin: 28px 0;
    border: 1px solid var(--rk-line);
    border-radius: 22px;
    overflow: hidden;
  }

  #rk-build-control .rk-build-table {
    width: 100%;
    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
    margin: 0;
    background: var(--rk-white);
  }

  #rk-build-control .rk-build-table th,
  #rk-build-control .rk-build-table td {
    padding: 17px 18px;
    border: 0;
    border-bottom: 1px solid var(--rk-line);
    vertical-align: top;
    text-align: left;
  }

  #rk-build-control .rk-build-table th {
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-table td {
    color: var(--rk-text);
    font-size: 0.9rem;
    line-height: 1.58;
  }

  #rk-build-control .rk-build-table tr:last-child td {
    border-bottom: 0;
  }

  #rk-build-control .rk-build-table tbody tr:nth-child(even) td {
    background: #f8fbfc;
  }

  #rk-build-control .rk-build-status {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.25;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-status.is-red {
    color: #a52e22;
    background: #ffe2dc;
  }

  #rk-build-control .rk-build-status.is-orange {
    color: #8c5419;
    background: #fff0cd;
  }

  #rk-build-control .rk-build-status.is-green {
    color: #176f58;
    background: #dff4eb;
  }

  #rk-build-control .rk-build-responsibility {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin-top: 28px;
  }

  #rk-build-control .rk-build-responsibility-card {
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: var(--rk-white);
  }

  #rk-build-control .rk-build-responsibility-card > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 15px;
    border-radius: 13px;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 0.74rem;
    font-weight: 950;
  }

  #rk-build-control .rk-build-responsibility-card p:last-child {
    margin-bottom: 0;
    font-size: 0.88rem;
    line-height: 1.62;
  }

  #rk-build-control .rk-build-audit {
    overflow: hidden;
    margin-top: 30px;
    border: 1px solid #b9dce6;
    border-radius: 26px;
    background: var(--rk-white);
    box-shadow: 0 18px 45px rgba(16, 37, 54, 0.09);
  }

  #rk-build-control .rk-build-audit-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    align-items: center;
    padding: clamp(24px, 4vw, 40px);
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-dark), #14516a);
  }

  #rk-build-control .rk-build-audit-head h3 {
    margin-bottom: 10px;
    color: var(--rk-white);
  }

  #rk-build-control .rk-build-audit-head p {
    margin: 0;
    color: #d8e8ee;
  }

  #rk-build-control .rk-build-audit-score {
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 19px;
    background: rgba(255, 255, 255, 0.08);
  }

  #rk-build-control .rk-build-audit-score-label {
    display: block;
    color: #b9dce6;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-audit-score strong {
    display: block;
    margin: 4px 0 3px;
    color: var(--rk-white);
    font-size: clamp(2rem, 5vw, 3.1rem);
    line-height: 1;
  }

  #rk-build-control .rk-build-audit-score small {
    color: #d8e8ee;
    font-weight: 750;
  }

  #rk-build-control .rk-build-audit-bar {
    height: 12px;
    overflow: hidden;
    background: #dcebf0;
  }

  #rk-build-control .rk-build-audit-fill {
    width: 0;
    height: 100%;
    background: var(--rk-red);
    transition: width 0.24s ease, background 0.24s ease;
  }

  #rk-build-control .rk-build-audit-result {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 22px;
    align-items: center;
    padding: 24px clamp(22px, 4vw, 38px);
    border-bottom: 1px solid var(--rk-line);
    background: var(--rk-red-soft);
  }

  #rk-build-control .rk-build-audit-signal {
    display: grid;
    place-items: center;
    min-height: 76px;
    padding: 12px;
    border-radius: 16px;
    color: var(--rk-white);
    background: var(--rk-red);
    font-size: 1.18rem;
    font-weight: 950;
    line-height: 1.18;
    text-align: center;
  }

  #rk-build-control .rk-build-audit-result p {
    margin: 0;
    font-weight: 740;
  }

  #rk-build-control .rk-build-audit-body {
    padding: clamp(22px, 4vw, 38px);
  }

  #rk-build-control .rk-build-audit-stage-nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 26px;
  }

  #rk-build-control .rk-build-audit-stage-nav a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 78px;
    padding: 12px;
    border: 1px solid var(--rk-line);
    border-radius: 15px;
    color: var(--rk-dark);
    background: var(--rk-soft);
    text-align: center;
    text-decoration: none;
  }

  #rk-build-control .rk-build-audit-stage-nav a span {
    color: var(--rk-blue);
    font-size: 0.67rem;
    font-weight: 950;
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-audit-stage-nav a strong {
    font-size: 0.78rem;
    line-height: 1.35;
  }

  #rk-build-control .rk-build-audit-stage-nav a:hover,
  #rk-build-control .rk-build-audit-stage-nav a:focus-visible {
    border-color: var(--rk-blue);
    background: var(--rk-cyan-soft);
    outline: none;
  }

  #rk-build-control .rk-build-audit-groups {
    display: grid;
    gap: 18px;
  }

  #rk-build-control .rk-build-audit-group {
    scroll-margin-top: 30px;
    padding: 24px;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: #fbfdfe;
  }

  #rk-build-control .rk-build-audit-group-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-bottom: 16px;
  }

  #rk-build-control .rk-build-audit-group-head h4 {
    margin: 0;
  }

  #rk-build-control .rk-build-stage-count {
    flex: 0 0 auto;
    padding: 5px 9px;
    border-radius: 999px;
    color: var(--rk-blue);
    background: var(--rk-cyan-soft);
    font-size: 0.7rem;
    font-weight: 900;
  }

  #rk-build-control .rk-build-checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  #rk-build-control .rk-build-check {
    position: relative;
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    min-height: 66px;
    margin: 0;
    padding: 14px;
    border: 1px solid #dbe7ec;
    border-radius: 14px;
    color: var(--rk-text);
    background: var(--rk-white);
    cursor: pointer;
    font-size: 0.84rem;
    font-weight: 690;
    line-height: 1.46;
  }

  #rk-build-control .rk-build-check:hover {
    border-color: #91cbd8;
    background: #f4fcfe;
  }

  #rk-build-control .rk-build-check input {
    width: 22px;
    height: 22px;
    margin: 1px 0 0;
    accent-color: var(--rk-green);
  }

  #rk-build-control .rk-build-check em {
    display: inline-flex;
    margin-left: 6px;
    padding: 2px 6px;
    border-radius: 999px;
    color: #a52e22;
    background: #ffe2dc;
    font-size: 0.61rem;
    font-style: normal;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-audit-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: space-between;
    align-items: center;
    margin-top: 22px;
  }

  #rk-build-control .rk-build-reset {
    min-height: 46px;
    padding: 10px 16px;
    border: 0;
    border-radius: 12px;
    color: var(--rk-white);
    background: var(--rk-dark);
    cursor: pointer;
    font: inherit;
    font-size: 0.78rem;
    font-weight: 900;
  }

  #rk-build-control .rk-build-reset:hover,
  #rk-build-control .rk-build-reset:focus-visible {
    background: var(--rk-blue);
    outline: 3px solid rgba(40, 201, 218, 0.24);
  }

  #rk-build-control .rk-build-missing {
    color: var(--rk-muted);
    font-size: 0.8rem;
    font-weight: 800;
  }

  #rk-build-control .rk-build-disclaimer {
    margin: 0 clamp(22px, 4vw, 38px) clamp(22px, 4vw, 38px);
    padding: 17px 19px;
    border-radius: 14px;
    color: var(--rk-text);
    background: var(--rk-yellow-soft);
    font-size: 0.79rem;
    line-height: 1.55;
  }

  #rk-build-control .rk-build-gates {
    display: grid;
    gap: 22px;
  }

  #rk-build-control .rk-build-gate {
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr);
    gap: 24px;
    padding: 28px;
    border: 1px solid var(--rk-line);
    border-radius: 22px;
    background: var(--rk-white);
  }

  #rk-build-control .rk-build-gate-no {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 126px;
    padding: 16px;
    border-radius: 18px;
    color: var(--rk-white);
    background: linear-gradient(145deg, var(--rk-dark), var(--rk-navy));
    text-align: center;
  }

  #rk-build-control .rk-build-gate-no span {
    color: #83edf5;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-gate-no strong {
    color: var(--rk-white);
    font-size: 2.5rem;
    line-height: 1;
  }

  #rk-build-control .rk-build-gate-content p:last-child {
    margin-bottom: 0;
  }

  #rk-build-control .rk-build-gate-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
  }

  #rk-build-control .rk-build-gate-box {
    padding: 18px;
    border-radius: 15px;
    background: var(--rk-soft);
  }

  #rk-build-control .rk-build-gate-box h4 {
    margin-bottom: 7px;
    font-size: 0.9rem;
  }

  #rk-build-control .rk-build-gate-box ul {
    margin: 0;
    padding-left: 20px;
    color: var(--rk-text);
  }

  #rk-build-control .rk-build-gate-box li {
    margin: 0 0 6px;
    padding: 0;
    font-size: 0.84rem;
    line-height: 1.5;
  }

  #rk-build-control .rk-build-gate-box li:last-child {
    margin-bottom: 0;
  }

  #rk-build-control .rk-build-stop-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 26px;
  }

  #rk-build-control .rk-build-stop-card {
    padding: 23px;
    border: 1px solid #ffd2ca;
    border-radius: 19px;
    background: var(--rk-red-soft);
  }

  #rk-build-control .rk-build-stop-card > span {
    display: inline-flex;
    margin-bottom: 12px;
    padding: 5px 9px;
    border-radius: 999px;
    color: var(--rk-white);
    background: var(--rk-red);
    font-size: 0.66rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-stop-card p:last-child {
    margin-bottom: 0;
    font-size: 0.86rem;
    line-height: 1.55;
  }

  #rk-build-control .rk-build-docs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 26px;
  }

  #rk-build-control .rk-build-doc {
    padding: 24px;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: var(--rk-white);
  }

  #rk-build-control .rk-build-doc > span {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin-bottom: 15px;
    border-radius: 14px;
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-blue), var(--rk-cyan));
    font-size: 0.75rem;
    font-weight: 950;
  }

  #rk-build-control .rk-build-doc p:last-child {
    margin-bottom: 0;
    font-size: 0.87rem;
    line-height: 1.6;
  }

  #rk-build-control .rk-build-faq-list {
    display: grid;
    gap: 12px;
  }

  #rk-build-control .rk-build-faq {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    background: var(--rk-white);
  }

  #rk-build-control .rk-build-faq summary {
    position: relative;
    display: block;
    padding: 18px 55px 18px 20px;
    color: var(--rk-dark);
    cursor: pointer;
    font-weight: 870;
    line-height: 1.45;
    list-style: none;
  }

  #rk-build-control .rk-build-faq summary::-webkit-details-marker {
    display: none;
  }

  #rk-build-control .rk-build-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 18px;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: var(--rk-white);
    background: var(--rk-blue);
    transform: translateY(-50%);
    font-size: 1.05rem;
    font-weight: 900;
  }

  #rk-build-control .rk-build-faq[open] summary::after {
    content: "−";
    background: var(--rk-orange);
  }

  #rk-build-control .rk-build-faq-answer {
    padding: 0 20px 20px;
  }

  #rk-build-control .rk-build-faq-answer p:last-child {
    margin-bottom: 0;
  }

  #rk-build-control .rk-build-sources {
    padding: 22px 24px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-soft);
  }

  #rk-build-control .rk-build-sources ul {
    margin: 0;
    padding-left: 22px;
  }

  #rk-build-control .rk-build-sources li {
    margin-bottom: 10px;
    color: var(--rk-text);
  }

  #rk-build-control .rk-build-sources li:last-child {
    margin-bottom: 0;
  }

  #rk-build-control .rk-build-small {
    margin-top: 15px;
    color: var(--rk-muted);
    font-size: 0.78rem;
    line-height: 1.55;
  }

  #rk-build-control .rk-build-cta {
    margin: clamp(30px, 5vw, 58px) 0;
    padding: clamp(28px, 5vw, 54px);
    border-radius: 26px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 90% 10%, rgba(255, 98, 56, 0.26), transparent 32%),
      linear-gradient(135deg, var(--rk-dark), #17485e);
    text-align: center;
  }

  #rk-build-control .rk-build-cta h3 {
    max-width: 920px;
    margin: 0 auto 15px;
    color: var(--rk-white);
    font-size: clamp(1.45rem, 3.4vw, 2.35rem);
  }

  #rk-build-control .rk-build-cta p {
    max-width: 930px;
    margin: 0 auto 24px;
    color: #d8e8ee;
  }

  #rk-build-control .rk-build-cta-link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 58px;
    padding: 14px 26px;
    border-radius: 15px;
    color: var(--rk-white) !important;
    background: linear-gradient(90deg, var(--rk-orange), #f04432);
    box-shadow: 0 14px 30px rgba(216, 60, 47, 0.25);
    font-weight: 950;
    line-height: 1.3;
    text-decoration: none !important;
  }

  #rk-build-control .rk-build-cta-link:hover,
  #rk-build-control .rk-build-cta-link:focus-visible {
    color: var(--rk-white) !important;
    background: linear-gradient(90deg, #f04432, var(--rk-orange));
    transform: translateY(-1px);
    outline: 3px solid rgba(255, 255, 255, 0.18);
  }

  #rk-build-control .rk-build-cta small {
    display: block;
    max-width: 850px;
    margin: 14px auto 0;
    color: #b9cbd4;
    font-size: 0.72rem;
    line-height: 1.45;
  }

  #rk-build-control .rk-build-author-box {
    overflow: hidden;
    border: 1px solid #cbdfe7;
    border-radius: 26px;
    background: var(--rk-white);
  }

  #rk-build-control .rk-build-author-head {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding: 28px clamp(24px, 4vw, 42px);
    border-bottom: 5px solid var(--rk-cyan);
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-dark), #17485e);
  }

  #rk-build-control .rk-build-author-head h3 {
    margin-bottom: 7px;
    color: var(--rk-white);
    font-size: clamp(1.55rem, 3.4vw, 2.35rem);
  }

  #rk-build-control .rk-build-author-head p {
    margin: 0;
    color: #d8e8ee;
  }

  #rk-build-control .rk-build-author-mark {
    flex: 0 0 auto;
    padding: 10px 16px;
    border: 1px solid rgba(40, 201, 218, 0.4);
    border-radius: 14px;
    color: #72eaf4;
    font-size: 0.75rem;
    font-weight: 950;
    letter-spacing: 0.1em;
  }

  #rk-build-control .rk-build-author-main {
    display: grid;
    grid-template-columns: 330px minmax(0, 1fr);
  }

  #rk-build-control .rk-build-author-profile {
    padding: 38px 28px;
    border-right: 1px solid var(--rk-line);
    background: #f3f8fa;
    text-align: center;
  }

  #rk-build-control .rk-build-author-profile img {
    width: 174px;
    height: 174px;
    margin: 0 auto 20px;
    border: 9px solid var(--rk-white);
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 16px 38px rgba(16, 37, 54, 0.14);
  }

  #rk-build-control .rk-build-author-profile h4 {
    margin-bottom: 8px;
    font-size: 1.3rem;
  }

  #rk-build-control .rk-build-author-role {
    display: block;
    color: var(--rk-blue);
    font-size: 0.74rem;
    font-weight: 950;
    letter-spacing: 0.07em;
    line-height: 1.55;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-author-content {
    padding: clamp(28px, 4vw, 46px);
  }

  #rk-build-control .rk-build-quote {
    position: relative;
    margin-bottom: 26px;
    padding: 26px 26px 26px 54px;
    border-radius: 19px;
    background: var(--rk-cyan-soft);
  }

  #rk-build-control .rk-build-quote::before {
    content: "“";
    position: absolute;
    top: 8px;
    left: 18px;
    color: var(--rk-cyan);
    font-family: Georgia, serif;
    font-size: 3.4rem;
    font-weight: 900;
    line-height: 1;
  }

  #rk-build-control .rk-build-quote blockquote {
    margin: 0;
    padding: 0;
    border: 0;
    color: var(--rk-dark);
    font-size: clamp(1.04rem, 2vw, 1.25rem);
    font-style: italic;
    font-weight: 820;
    line-height: 1.62;
  }

  #rk-build-control .rk-build-author-tabs {
    position: relative;
  }

  #rk-build-control .rk-build-author-radio {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    opacity: 0;
    overflow: hidden;
  }

  #rk-build-control .rk-build-author-labels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--rk-line);
    border-radius: 15px 15px 0 0;
    overflow: hidden;
    background: var(--rk-soft);
  }

  #rk-build-control .rk-build-author-labels label {
    display: grid;
    place-items: center;
    min-height: 60px;
    margin: 0;
    padding: 11px;
    border-right: 1px solid var(--rk-line);
    color: var(--rk-muted);
    cursor: pointer;
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.04em;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-author-labels label:last-child {
    border-right: 0;
  }

  #rk-build-control .rk-build-author-labels label:hover {
    color: var(--rk-blue);
    background: #eefbfe;
  }

  #rk-build-control .rk-build-author-panels {
    min-height: 200px;
    padding: 25px;
    border: 1px solid var(--rk-line);
    border-top: 0;
    border-radius: 0 0 15px 15px;
  }

  #rk-build-control .rk-build-author-panel {
    display: none;
  }

  #rk-build-control .rk-build-author-panel p:last-child {
    margin-bottom: 0;
  }

  #rk-build-author-about:checked ~ .rk-build-author-labels label[for="rk-build-author-about"],
  #rk-build-author-exp:checked ~ .rk-build-author-labels label[for="rk-build-author-exp"],
  #rk-build-author-sites:checked ~ .rk-build-author-labels label[for="rk-build-author-sites"] {
    color: var(--rk-blue);
    background: var(--rk-white);
    box-shadow: inset 0 -5px 0 var(--rk-blue);
  }

  #rk-build-author-about:focus-visible ~ .rk-build-author-labels label[for="rk-build-author-about"],
  #rk-build-author-exp:focus-visible ~ .rk-build-author-labels label[for="rk-build-author-exp"],
  #rk-build-author-sites:focus-visible ~ .rk-build-author-labels label[for="rk-build-author-sites"] {
    outline: 3px solid rgba(40, 201, 218, 0.28);
    outline-offset: -3px;
  }

  #rk-build-author-about:checked ~ .rk-build-author-panels .rk-build-author-about,
  #rk-build-author-exp:checked ~ .rk-build-author-panels .rk-build-author-exp,
  #rk-build-author-sites:checked ~ .rk-build-author-panels .rk-build-author-sites {
    display: block;
  }

  #rk-build-control .rk-build-portals {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
  }

  #rk-build-control .rk-build-portals a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    padding: 9px 14px;
    border: 1px solid #c9dce5;
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-white);
    text-decoration: none;
  }

  #rk-build-control .rk-build-portals a:hover,
  #rk-build-control .rk-build-portals a:focus-visible {
    border-color: var(--rk-blue);
    color: var(--rk-white);
    background: var(--rk-blue);
    outline: none;
  }

  @media (max-width: 1120px) {
    #rk-build-control .rk-build-responsibility {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #rk-build-control .rk-build-stop-grid,
    #rk-build-control .rk-build-docs {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-build-control .rk-build-author-main {
      grid-template-columns: 280px minmax(0, 1fr);
    }
  }

  @media (max-width: 860px) {
    #rk-build-control {
      font-size: 17px;
    }

    #rk-build-control .rk-build-answer,
    #rk-build-control .rk-build-audit-head,
    #rk-build-control .rk-build-audit-result,
    #rk-build-control .rk-build-author-main {
      grid-template-columns: 1fr;
    }

    #rk-build-control .rk-build-flow {
      grid-template-columns: 1fr;
    }

    #rk-build-control .rk-build-flow-card:not(:last-child)::after {
      top: auto;
      right: 50%;
      bottom: -25px;
      transform: translateX(50%) rotate(90deg);
    }

    #rk-build-control .rk-build-responsibility {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-build-control .rk-build-audit-stage-nav {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-build-control .rk-build-author-profile {
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
    }
  }

  @media (max-width: 720px) {
    #rk-build-control .rk-build-shell {
      border-radius: 22px;
    }

    #rk-build-control .rk-build-section-head {
      grid-template-columns: 48px minmax(0, 1fr);
      gap: 14px;
    }

    #rk-build-control .rk-build-section-no {
      width: 48px;
      height: 48px;
      border-radius: 14px;
      font-size: 0.72rem;
    }

    #rk-build-control .rk-build-formulas,
    #rk-build-control .rk-build-checks,
    #rk-build-control .rk-build-gate-grid,
    #rk-build-control .rk-build-stop-grid,
    #rk-build-control .rk-build-docs {
      grid-template-columns: 1fr;
    }

    #rk-build-control .rk-build-gate {
      grid-template-columns: 1fr;
    }

    #rk-build-control .rk-build-gate-no {
      min-height: 86px;
      flex-direction: row;
      gap: 10px;
    }

    #rk-build-control .rk-build-table-wrap {
      overflow: visible;
      border: 0;
      border-radius: 0;
    }

    #rk-build-control .rk-build-table,
    #rk-build-control .rk-build-table tbody,
    #rk-build-control .rk-build-table tr,
    #rk-build-control .rk-build-table td {
      display: block;
      width: 100%;
    }

    #rk-build-control .rk-build-table {
      background: transparent;
    }

    #rk-build-control .rk-build-table thead {
      position: absolute;
      width: 1px;
      height: 1px;
      margin: -1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      white-space: nowrap;
    }

    #rk-build-control .rk-build-table tr {
      margin-bottom: 14px;
      padding: 5px 18px;
      border: 1px solid var(--rk-line);
      border-radius: 18px;
      background: var(--rk-white);
      box-shadow: 0 9px 24px rgba(16, 37, 54, 0.05);
    }

    #rk-build-control .rk-build-table td,
    #rk-build-control .rk-build-table tbody tr:nth-child(even) td {
      padding: 13px 0;
      border-bottom: 1px solid var(--rk-line);
      background: transparent;
    }

    #rk-build-control .rk-build-table td:last-child {
      border-bottom: 0;
    }

    #rk-build-control .rk-build-table td::before {
      content: attr(data-label);
      display: block;
      margin-bottom: 5px;
      color: var(--rk-blue);
      font-size: 0.65rem;
      font-weight: 950;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }
  }

  @media (max-width: 560px) {
    #rk-build-control {
      margin-top: 18px;
      font-size: 16px;
    }

    #rk-build-control .rk-build-hero,
    #rk-build-control .rk-build-content {
      padding-left: 20px;
      padding-right: 20px;
    }

    #rk-build-control .rk-build-nav {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      padding-left: 16px;
      padding-right: 16px;
    }

    #rk-build-control .rk-build-nav a {
      justify-content: center;
      text-align: center;
    }

    #rk-build-control .rk-build-responsibility,
    #rk-build-control .rk-build-audit-stage-nav,
    #rk-build-control .rk-build-author-labels {
      grid-template-columns: 1fr;
    }

    #rk-build-control .rk-build-author-labels {
      border-radius: 15px 15px 0 0;
    }

    #rk-build-control .rk-build-author-labels label {
      min-height: 48px;
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
    }

    #rk-build-control .rk-build-author-labels label:last-child {
      border-bottom: 0;
    }

    #rk-build-control .rk-build-author-head {
      align-items: flex-start;
      flex-direction: column;
    }

    #rk-build-control .rk-build-author-mark {
      align-self: flex-start;
    }

    #rk-build-control .rk-build-author-panels {
      min-height: 0;
      padding: 20px;
    }

    #rk-build-control .rk-build-audit-result {
      padding: 20px;
    }

    #rk-build-control .rk-build-audit-signal {
      min-height: 60px;
    }

    #rk-build-control .rk-build-audit-actions {
      align-items: stretch;
      flex-direction: column;
    }

    #rk-build-control .rk-build-reset {
      width: 100%;
    }

    #rk-build-control .rk-build-portals {
      align-items: stretch;
      flex-direction: column;
    }

    #rk-build-control .rk-build-portals a {
      justify-content: center;
      text-align: center;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #rk-build-control *,
    #rk-build-control *::before,
    #rk-build-control *::after {
      scroll-behavior: auto !important;
      transition: none !important;
    }
  }
</style>

<article id="rk-build-control" itemscope="" itemtype="https://schema.org/TechArticle" aria-labelledby="rk-build-hero-title">
  <meta itemprop="inLanguage" content="pl-PL">
  <meta itemprop="datePublished" content="2026-04-24">
  <meta itemprop="dateModified" content="2026-08-25">
  <meta itemprop="mainEntityOfPage" content="https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/">

  <div class="rk-build-shell">
    <div class="rk-build-progress-track" aria-hidden="true"><div class="rk-build-progress"></div></div>

    <header class="rk-build-hero">
      <div class="rk-build-badge">Kontrola zgodności • 5 bramek odbiorowych</div>
      <h2 id="rk-build-hero-title" itemprop="headline">Projekt był dobry. <span>Budowa zmieniła dane wejściowe.</span></h2>
      <div class="rk-build-hook">Najgroźniejsze odstępstwo nie musi wyglądać jak fuszerka. Czasem jest nim przesunięcie rozdzielacza, zmiana okładziny, cieńsza izolacja albo inny układ ścian — decyzja podjęta już po wykonaniu obliczeń.</div>
      <p class="rk-build-hero-lead" itemprop="description">Najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego, powstają wtedy, gdy rzeczywisty budynek przestaje odpowiadać danym, dla których policzono moc, rozstaw rur, długości pętli, przepływy i temperaturę zasilania. Ten poradnik pokazuje, które zmiany wymagają ponownej kontroli oraz jak przeprowadzić odbiór w pięciu etapach.</p>
      <div class="rk-build-hero-meta">
        <span>Autor: Robert Kucharski</span>
        <span>Aktualizacja techniczna: 25 sierpnia 2026 r.</span>
        <span>Poziom: inwestor • wykonawca • kierownik budowy</span>
      </div>
    </header>

    <nav class="rk-build-nav" aria-label="Nawigacja po artykule">
      <a href="#rk-build-decision">Krótka odpowiedź</a>
      <a href="#rk-build-changes">Zmiany wymagające kontroli</a>
      <a href="#rk-build-audit">Kontrola 5 etapów</a>
      <a href="#rk-build-gates">Odbiory etapowe</a>
      <a href="#rk-build-stop">Kiedy powiedzieć STOP</a>
      <a href="#rk-build-faq">FAQ</a>
    </nav>

    <div class="rk-build-content">
      <section class="rk-build-section" id="rk-build-decision" aria-labelledby="rk-build-h2-1">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">01</div>
          <div>
            <h2 id="rk-build-h2-1">Czy dobry projekt ogrzewania podłogowego może zostać zepsuty na budowie?</h2>
            <p>Tak — jeżeli wykonanie albo sam budynek różnią się od danych przyjętych do obliczeń.</p>
          </div>
        </div>

        <div class="rk-build-answer">
          <div>
            <h3>Najkrótsza odpowiedź</h3>
            <p><strong>Projekt nie przestaje być poprawny tylko dlatego, że na budowie podjęto inną decyzję.</strong> Przestaje natomiast opisywać rzeczywisty układ. Jeżeli zmieniono izolację, stolarkę, temperaturę źródła, opór okładziny, powierzchnię aktywną, położenie rozdzielacza albo geometrię pomieszczeń, trzeba ocenić wpływ tej zmiany przed zakryciem instalacji.</p>
            <p>Najbezpieczniejsza zasada brzmi: <strong>najpierw zapis zmiany, potem decyzja projektowa, na końcu wykonanie</strong>. Kolejność odwrotna prowadzi do sytuacji, w której projekt i dokumentacja powykonawcza pokazują dwa różne budynki.</p>
          </div>
          <div class="rk-build-answer-verdict">
            <span>Zasada nadrzędna</span>
            <strong>Nie pytaj tylko: „czy rury są ułożone równo?”. Zapytaj: „czy wykonano układ, który został policzony?”.</strong>
          </div>
        </div>

        <div class="rk-build-note">
          <p><strong>Ważne rozróżnienie:</strong> szczegółowe usterki montażowe rur, rozdzielacza, dylatacji i hydrauliki omawia osobny poradnik o tym, <a href="https://projekt-ogrzewania.pl/jakie-bledy-najczesciej-popelniaja-instalatorzy-ogrzewania-podlogowego/">jakie błędy najczęściej popełniają instalatorzy ogrzewania podłogowego</a>. Ten artykuł koncentruje się na kontroli zmian między projektem a rzeczywistą budową.</p>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-logic" aria-labelledby="rk-build-h2-2">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">02</div>
          <div>
            <h2 id="rk-build-h2-2">Dlaczego drobna zmiana może naruszyć kilka obliczeń jednocześnie?</h2>
            <p>Parametry ogrzewania podłogowego tworzą system naczyń połączonych.</p>
          </div>
        </div>

        <p><a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">Profesjonalny projekt ogrzewania podłogowego</a> nie jest tylko rysunkiem przewodów. Łączy obciążenie cieplne pomieszczeń, aktywną powierzchnię podłogi, konstrukcję przegrody, opór cieplny okładziny, temperaturę wody, rozstaw rur, długość pętli, wymagany przepływ oraz stratę ciśnienia. Zmiana jednego wejścia może więc zmienić kilka wyników.</p>

        <div class="rk-build-flow" aria-label="Łańcuch wpływu zmiany budowlanej">
          <div class="rk-build-flow-card">
            <span>1. Dane projektu</span>
            <h3>Obciążenie i konstrukcja</h3>
            <p>Straty ciepła, temperatura pomieszczenia, aktywna powierzchnia, warstwy podłogi, okładzina, źródło ciepła i położenie rozdzielacza.</p>
          </div>
          <div class="rk-build-flow-card">
            <span>2. Zmiana na budowie</span>
            <h3>Inny budynek niż w obliczeniach</h3>
            <p>Przesunięta ściana, mniejsza izolacja, większe przeszklenie, dywan zamiast płytki, rozdzielacz w innym miejscu albo ograniczona powierzchnia grzejna.</p>
          </div>
          <div class="rk-build-flow-card">
            <span>3. Skutek</span>
            <h3>Inna moc i hydraulika</h3>
            <p>Może zmienić się wymagany strumień ciepła, rozstaw, temperatura zasilania, długość obiegu, przepływ, opór hydrauliczny oraz nastawa rozdzielacza.</p>
          </div>
        </div>

        <div class="rk-build-formulas">
          <div class="rk-build-formula">
            <h3>Wymagana moc z powierzchni aktywnej</h3>
            <code>q<sub>wym</sub> = Φ<sub>pom</sub> / A<sub>aktywna</sub></code>
            <p>Jeżeli zabudowa stała, wanna, wyspa lub zmiana układu pomieszczenia zmniejszy aktywną powierzchnię, na każdy pozostały metr kwadratowy przypada większe obciążenie. Nie oznacza to automatycznie, że wystarczy zagęścić rury — trzeba sprawdzić możliwości całej konstrukcji podłogi.</p>
          </div>
          <div class="rk-build-formula">
            <h3>Przepływ wynikający z mocy pętli</h3>
            <code>V̇ [m³/h] = Q [kW] / (1,163 × ΔT [K])</code>
            <p>Przepływ nie wynika z równego podziału między rotametry. Zależy od mocy przypisanej do pętli i projektowej różnicy temperatury. Po zmianie strefy lub przebiegu obiegu trzeba sprawdzić zarówno wymagany przepływ, jak i stratę ciśnienia.</p>
          </div>
        </div>

        <div class="rk-build-warning">
          <p><strong>Przykład zależności:</strong> przesunięcie rozdzielacza wydłuża odcinki przyłączeniowe kilku pętli. Nie musi zmienić zapotrzebowania pomieszczeń, ale może zmienić długości obiegów, ich opory i możliwość zrównoważenia. Dlatego sam zapis „rozdzielacz przesunięty o dwa metry” nie jest pełną odpowiedzią techniczną.</p>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-changes" aria-labelledby="rk-build-h2-3">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">03</div>
          <div>
            <h2 id="rk-build-h2-3">Które odstępstwa od projektu ogrzewania podłogowego wymagają kontroli?</h2>
            <p>Nie każda korekta oznacza przeprojektowanie całości, ale każda powinna zostać zgłoszona i oceniona przed wykonaniem.</p>
          </div>
        </div>

        <div class="rk-build-table-wrap">
          <table class="rk-build-table">
            <thead>
              <tr>
                <th style="width:22%">Zmiana na budowie</th>
                <th style="width:34%">Co może zmienić?</th>
                <th style="width:20%">Decyzja</th>
                <th style="width:24%">Co przekazać do weryfikacji?</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td data-label="Zmiana"><strong>Inna izolacja ścian, dachu lub podłogi</strong></td>
                <td data-label="Wpływ">Obciążenie cieplne pomieszczeń, straty do gruntu, wymaganą moc podłogi oraz temperaturę zasilania.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-red">Sprawdzić przed rurami</span></td>
                <td data-label="Dane">Rodzaj materiału, rzeczywista grubość, deklarowana λ i przekrój warstw.</td>
              </tr>
              <tr>
                <td data-label="Zmiana"><strong>Zmiana okien, ich wymiaru albo liczby</strong></td>
                <td data-label="Wpływ">Straty przez przenikanie, infiltrację, lokalne obciążenie przy przeszkleniu i potrzebę strefy brzegowej.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-red">Ponowna ocena mocy</span></td>
                <td data-label="Dane">Wymiar, współczynnik U, sposób montażu i aktualny rzut elewacji.</td>
              </tr>
              <tr>
                <td data-label="Zmiana"><strong>Przesunięcie ścian lub zmiana funkcji pomieszczenia</strong></td>
                <td data-label="Wpływ">Podział stref, temperaturę obliczeniową, powierzchnię aktywną, liczbę pętli i przypisanie sterowania.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-red">Aktualizacja rzutu</span></td>
                <td data-label="Dane">Nowy rzut z wymiarami, przeznaczenie pomieszczeń i oczekiwana temperatura.</td>
              </tr>
              <tr>
                <td data-label="Zmiana"><strong>Inna okładzina podłogowa</strong></td>
                <td data-label="Wpływ">Opór cieplny nad rurą, temperaturę powierzchni, wymaganą temperaturę wody i osiągalną moc.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-orange">Sprawdzić opór R</span></td>
                <td data-label="Dane">Rodzaj okładziny, grubość, podkład oraz deklarowany opór cieplny całego zestawu.</td>
              </tr>
              <tr>
                <td data-label="Zmiana"><strong>Przesunięcie rozdzielacza</strong></td>
                <td data-label="Wpływ">Długości przyłączy pętli, opory hydrauliczne, przebieg przewodów i możliwość odpowietrzania.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-orange">Przeliczyć pętle</span></td>
                <td data-label="Dane">Nowa lokalizacja, odległości, wysokość montażu i dostęp serwisowy.</td>
              </tr>
              <tr>
                <td data-label="Zmiana"><strong>Inne źródło ciepła lub temperatura zasilania</strong></td>
                <td data-label="Wpływ">Dostępną moc podłogi, sprawność źródła, krzywą grzewczą, układ hydrauliczny oraz automatykę.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-red">Weryfikacja całego układu</span></td>
                <td data-label="Dane">Model i parametry źródła, schemat hydrauliczny oraz projektowa temperatura zasilania i powrotu.</td>
              </tr>
              <tr>
                <td data-label="Zmiana"><strong>Inny rozstaw albo przebieg rur</strong></td>
                <td data-label="Wpływ">Moc powierzchniową, równomierność temperatury, długość obiegów, przepływy i opory.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-red">Nie zmieniać „na oko”</span></td>
                <td data-label="Dane">Aktualny rzut, rzeczywista powierzchnia aktywna i przyczyna zmiany.</td>
              </tr>
              <tr>
                <td data-label="Zmiana"><strong>Inna grubość jastrychu lub poziom podłogi</strong></td>
                <td data-label="Wpływ">Położenie rury w warstwie, bezwładność, przekazywanie ciepła, dylatacje i współpracę z okładziną.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-orange">Koordynacja branżowa</span></td>
                <td data-label="Dane">Rodzaj jastrychu, przekrój warstw, planowane poziomy oraz dokumentacja wykonawcza posadzki.</td>
              </tr>
              <tr>
                <td data-label="Zmiana"><strong>Większa zabudowa stała</strong></td>
                <td data-label="Wpływ">Aktywną powierzchnię oddawania ciepła, miejsca bez rur i lokalne obciążenie pozostałej podłogi.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-orange">Sprawdzić powierzchnię</span></td>
                <td data-label="Dane">Rzut kuchni, szaf, wanien, kominka i innych elementów trwale związanych z podłogą.</td>
              </tr>
            </tbody>
          </table>
        </div>

        <p>Zmiana samej nazwy materiału nie zawsze ma znaczenie, ale zmiana jego parametrów — już tak. Przykładowo dwa produkty oznaczone jako styropian mogą mieć inną przewodność cieplną i wytrzymałość. Dlatego zamiast ogólnego zdania „będzie podobny materiał” potrzebne są dane z dokumentacji produktu i rzeczywisty przekrój podłogi.</p>

        <p>W przypadku okładziny warto sprawdzić nie tylko warstwę wierzchnią. <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">Wpływ okładziny na wydajność ogrzewania podłogowego</a> obejmuje także podkład, klej i sposób ułożenia. Suma oporów znajduje się nad systemem grzewczym i wpływa na warunki przekazywania ciepła.</p>
      </section>

      <section class="rk-build-section" id="rk-build-roles" aria-labelledby="rk-build-h2-4">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">04</div>
          <div>
            <h2 id="rk-build-h2-4">Kto powinien pilnować zgodności projektu z budową?</h2>
            <p>Kontrola nie może opierać się na założeniu, że „ktoś na pewno to sprawdził”.</p>
          </div>
        </div>

        <div class="rk-build-responsibility">
          <div class="rk-build-responsibility-card">
            <span>IN</span>
            <h3>Inwestor</h3>
            <p>Zgłasza zmiany funkcji, materiałów, okładzin i zabudowy. Pilnuje, aby wykonawcy pracowali na tej samej, aktualnej wersji dokumentacji.</p>
          </div>
          <div class="rk-build-responsibility-card">
            <span>PR</span>
            <h3>Projektant instalacji</h3>
            <p>Ocenia wpływ zmian na moc i hydraulikę, wskazuje potrzebne korekty oraz aktualizuje dane istotne dla wykonania i regulacji.</p>
          </div>
          <div class="rk-build-responsibility-card">
            <span>WY</span>
            <h3>Wykonawca instalacji</h3>
            <p>Porównuje warunki na budowie z projektem, nie wprowadza samowolnych zmian i zapisuje rzeczywiste długości, trasy oraz oznaczenia pętli.</p>
          </div>
          <div class="rk-build-responsibility-card">
            <span>JA</span>
            <h3>Wykonawca jastrychu</h3>
            <p>Realizuje uzgodnioną konstrukcję posadzki i pola dylatacyjne, chroni instalację oraz nie rozpoczyna pracy bez formalnego dopuszczenia do zakrycia.</p>
          </div>
          <div class="rk-build-responsibility-card">
            <span>KB</span>
            <h3>Kierownik budowy</h3>
            <p>Koordynuje kolejność robót i dokumentuje odbiory w zakresie wynikającym z inwestycji, projektu, umów oraz obowiązujących przepisów.</p>
          </div>
        </div>

        <div class="rk-build-note">
          <p><strong>Tabela ma charakter organizacyjny, a nie prawny.</strong> Formalny zakres obowiązków zależy od umów, dokumentacji inwestycji i przepisów. Technicznie najważniejsze jest jednak to, aby każda zmiana miała właściciela decyzji, datę, uzasadnienie i aktualny rysunek.</p>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-audit" aria-labelledby="rk-build-h2-5">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">05</div>
          <div>
            <h2 id="rk-build-h2-5">Interaktywna kontrola zgodności projektu z budową</h2>
            <p>Dwadzieścia potwierdzeń pogrupowanych według momentu, w którym można jeszcze bezpiecznie zatrzymać roboty.</p>
          </div>
        </div>

        <div class="rk-build-audit" data-rk-build-audit="">
          <div class="rk-build-audit-head">
            <div>
              <h3>Pięć bramek odbiorowych ogrzewania podłogowego</h3>
              <p>Zaznacz wyłącznie elementy faktycznie sprawdzone na budowie albo potwierdzone dokumentem. Punkty krytyczne blokują ocenę pozytywną.</p>
            </div>
            <div class="rk-build-audit-score">
              <span class="rk-build-audit-score-label">Stopień potwierdzenia</span>
              <strong id="rk-build-score">0%</strong>
              <small id="rk-build-count">0 z 20 punktów</small>
            </div>
          </div>

          <div class="rk-build-audit-bar" role="progressbar" aria-label="Postęp kontroli" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="rk-build-audit-fill" id="rk-build-fill"></div></div>

          <div class="rk-build-audit-result" id="rk-build-result">
            <div class="rk-build-audit-signal" id="rk-build-signal">STOP</div>
            <p id="rk-build-message" aria-live="polite">Nie potwierdzono punktów krytycznych. Nie traktuj instalacji jako gotowej do zakrycia.</p>
          </div>

          <div class="rk-build-audit-body">
            <div class="rk-build-audit-stage-nav" aria-label="Etapy checklisty">
              <a href="#rk-build-audit-stage-1"><span>Etap 1</span><strong>Zamrożenie danych</strong></a>
              <a href="#rk-build-audit-stage-2"><span>Etap 2</span><strong>Warstwy podłogi</strong></a>
              <a href="#rk-build-audit-stage-3"><span>Etap 3</span><strong>Ułożone pętle</strong></a>
              <a href="#rk-build-audit-stage-4"><span>Etap 4</span><strong>Przed jastrychem</strong></a>
              <a href="#rk-build-audit-stage-5"><span>Etap 5</span><strong>Odbiór końcowy</strong></a>
            </div>

            <div class="rk-build-audit-groups">
              <div class="rk-build-audit-group" id="rk-build-audit-stage-1" data-rk-build-stage-group="1">
                <div class="rk-build-audit-group-head"><h4>Etap 1 — dane projektu odpowiadają aktualnemu budynkowi</h4><span class="rk-build-stage-count" data-rk-build-stage-count="1">0/4</span></div>
                <div class="rk-build-checks">
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="1" data-critical="1"><span>Wszyscy wykonawcy mają tę samą, aktualną wersję rzutu i projektu.<em>krytyczne</em></span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="1" data-critical="1"><span>Potwierdzono rzeczywiste izolacje, okna, funkcje pomieszczeń i temperatury obliczeniowe.<em>krytyczne</em></span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="1"><span>Znane są finalne okładziny, podkłady i planowana zabudowa stała.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="1"><span>Źródło ciepła, temperatura projektowa i lokalizacja rozdzielacza nie zmieniły się albo zostały ponownie sprawdzone.</span></label>
                </div>
              </div>

              <div class="rk-build-audit-group" id="rk-build-audit-stage-2" data-rk-build-stage-group="2">
                <div class="rk-build-audit-group-head"><h4>Etap 2 — podłoże i warstwy są gotowe pod instalację</h4><span class="rk-build-stage-count" data-rk-build-stage-count="2">0/4</span></div>
                <div class="rk-build-checks">
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="2" data-critical="1"><span>Rzeczywista wysokość i układ warstw podłogi odpowiadają przekrojowi przyjętemu w projekcie.<em>krytyczne</em></span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="2"><span>Izolacja jest stabilna, ciągła i ułożona bez pustek powodujących ruch warstw.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="2"><span>Uzgodniono izolację brzegową, szczeliny i pola jastrychu z przejściami rur.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="2"><span>Przepusty, progi, piony i kolizje branżowe zostały rozwiązane przed rozwinięciem rur.</span></label>
                </div>
              </div>

              <div class="rk-build-audit-group" id="rk-build-audit-stage-3" data-rk-build-stage-group="3">
                <div class="rk-build-audit-group-head"><h4>Etap 3 — pętle można porównać z obliczeniami</h4><span class="rk-build-stage-count" data-rk-build-stage-count="3">0/4</span></div>
                <div class="rk-build-checks">
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="3" data-critical="1"><span>Rozstaw, przebieg, miejsca bez rur i strefy brzegowe odpowiadają aktualnemu rzutowi.<em>krytyczne</em></span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="3"><span>Każda pętla ma oznaczenie, pomieszczenie, rzeczywistą długość i właściwe przyłączenie do rozdzielacza.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="3" data-critical="1"><span>Nie ma nieudokumentowanych połączeń, załamań ani uszkodzeń przewodu w obszarze przyszłego jastrychu.<em>krytyczne</em></span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="3"><span>Wykonano zdjęcia całych pomieszczeń i detali z miarą lub stałymi punktami odniesienia.</span></label>
                </div>
              </div>

              <div class="rk-build-audit-group" id="rk-build-audit-stage-4" data-rk-build-stage-group="4">
                <div class="rk-build-audit-group-head"><h4>Etap 4 — instalacja jest formalnie dopuszczona do zakrycia</h4><span class="rk-build-stage-count" data-rk-build-stage-count="4">0/4</span></div>
                <div class="rk-build-checks">
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="4" data-critical="1"><span>Wykonano próbę szczelności według właściwej procedury i zapisano jej wynik.<em>krytyczne</em></span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="4"><span>Protokół zawiera medium, ciśnienie, czasy odczytów, temperaturę, wynik oraz osoby uczestniczące.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="4"><span>Rury są zabezpieczone w przejściach, przy rozdzielaczu i w miejscach komunikacji ekip.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="4" data-critical="1"><span>Podpisano decyzję o dopuszczeniu do jastrychu po usunięciu wszystkich zapisanych niezgodności.<em>krytyczne</em></span></label>
                </div>
              </div>

              <div class="rk-build-audit-group" id="rk-build-audit-stage-5" data-rk-build-stage-group="5">
                <div class="rk-build-audit-group-head"><h4>Etap 5 — uruchomienie i dokumentacja zamykają proces</h4><span class="rk-build-stage-count" data-rk-build-stage-count="5">0/4</span></div>
                <div class="rk-build-checks">
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="5"><span>Jastrych pielęgnowano i uruchomiono ogrzewanie według właściwej procedury dla zastosowanego materiału.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="5"><span>Przed okładziną sprawdzono warunki podłoża metodą właściwą dla jastrychu i systemu wykończeniowego.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="5"><span>Ustawiono projektowe przepływy, parametry pompy i sterowania oraz zapisano nastawy początkowe.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="5"><span>Inwestor otrzymał projekt, rewizję powykonawczą, protokoły, zdjęcia, długości pętli i tabelę nastaw.</span></label>
                </div>
              </div>
            </div>

            <div class="rk-build-audit-actions">
              <button class="rk-build-reset" type="button" id="rk-build-reset">Wyczyść kontrolę</button>
              <div class="rk-build-missing" id="rk-build-missing">Brakuje 20 potwierdzeń, w tym 7 krytycznych.</div>
            </div>
          </div>

          <div class="rk-build-disclaimer"><strong>Zakres narzędzia:</strong> checklista porządkuje komunikację i dokumenty. Nie ogląda budowy, nie zna parametrów projektu i nie stanowi odbioru technicznego, opinii prawnej ani zgody na wykonanie jastrychu. Punkt należy zaznaczyć dopiero po rzeczywistym sprawdzeniu.</div>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-gates" aria-labelledby="rk-build-h2-6">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">06</div>
          <div>
            <h2 id="rk-build-h2-6">Pięć odbiorów etapowych — co dokładnie sprawdzić?</h2>
            <p>Każda bramka zamyka inne ryzyko. Odbiór dopiero po ułożeniu rur jest potrzebny, ale nie cofnie błędnej izolacji ani nieaktualnych danych wejściowych.</p>
          </div>
        </div>

        <div class="rk-build-gates">
          <div class="rk-build-gate">
            <div class="rk-build-gate-no"><span>Bramka</span><strong>01</strong></div>
            <div class="rk-build-gate-content">
              <h3>Przed zamówieniem materiałów: zamrożenie danych projektu</h3>
              <p>Projekt musi odpowiadać aktualnej architekturze i planowanym warstwom. Na tym etapie należy potwierdzić wymiary pomieszczeń, temperatury, izolacje, stolarkę, źródło ciepła, rozdzielacze oraz okładziny. Jeżeli od wykonania obliczeń zmieniła się dokumentacja budynku, nie powinno się wysyłać ekipie starego rzutu z dopiskiem „jakoś dopasujemy”.</p>
              <div class="rk-build-gate-grid">
                <div class="rk-build-gate-box">
                  <h4>Sprawdź</h4>
                  <ul><li>numer i datę rewizji projektu;</li><li>aktualny rzut architektury;</li><li>temperaturę źródła i schemat hydrauliczny;</li><li>finalne materiały przegród i podłogi.</li></ul>
                </div>
                <div class="rk-build-gate-box">
                  <h4>Zapisz</h4>
                  <ul><li>listę zmian od momentu obliczeń;</li><li>osobę akceptującą każdą zmianę;</li><li>aktualną tabelę pomieszczeń;</li><li>wersję przekazaną wykonawcy.</li></ul>
                </div>
              </div>
            </div>
          </div>

          <div class="rk-build-gate">
            <div class="rk-build-gate-no"><span>Bramka</span><strong>02</strong></div>
            <div class="rk-build-gate-content">
              <h3>Przed ułożeniem rur: odbiór podłoża i konstrukcji podłogi</h3>
              <p>Rury nie naprawią błędnej konstrukcji pod nimi. Trzeba skontrolować rzeczywistą grubość, typ i ciągłość izolacji, stabilność płyt, poziomy, izolację brzegową, przepusty oraz plan szczelin jastrychu. Zagadnienia te warto zestawić z poradnikami o <a href="https://projekt-ogrzewania.pl/jakie-sa-najlepsze-sposoby-izolacji-pod-ogrzewanie-podlogowe/">izolacji pod ogrzewaniem podłogowym</a> i o <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacji brzegowej oraz dylatacjach</a>.</p>
              <div class="rk-build-gate-grid">
                <div class="rk-build-gate-box">
                  <h4>Sprawdź</h4>
                  <ul><li>zgodność przekroju i poziomów;</li><li>brak pustek i ruchomych płyt;</li><li>ciągłość taśmy brzegowej;</li><li>przewężenia, progi i pola jastrychu.</li></ul>
                </div>
                <div class="rk-build-gate-box">
                  <h4>Nie akceptuj</h4>
                  <ul><li>izolacji opisanej tylko jako „podobna”;</li><li>kolizji odkładanych do dnia wylewki;</li><li>zmiany wysokości bez korekty przekroju;</li><li>braku uzgodnienia szczelin z trasami rur.</li></ul>
                </div>
              </div>
            </div>
          </div>

          <div class="rk-build-gate">
            <div class="rk-build-gate-no"><span>Bramka</span><strong>03</strong></div>
            <div class="rk-build-gate-content">
              <h3>Po ułożeniu rur: porównanie pętla po pętli</h3>
              <p>Odbiór powinien przejść od króćca zasilającego do powrotnego każdej pętli. Należy sprawdzić oznaczenie, obsługiwane pomieszczenie, rozstaw, trasę, rzeczywistą długość, miejsca bez rur, łuki, mocowanie, przejścia i stan przewodu. <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">Dopuszczalnej długości pętli</a> nie ocenia się jedną uniwersalną liczbą — znaczenie mają średnica wewnętrzna, przepływ, opór armatury i strata ciśnienia całego obiegu.</p>
              <div class="rk-build-gate-grid">
                <div class="rk-build-gate-box">
                  <h4>Sprawdź</h4>
                  <ul><li>zgodność z aktualnym rzutem;</li><li>czytelne oznaczenia na rozdzielaczu;</li><li>brak ukrytych połączeń i uszkodzeń;</li><li>rzeczywiste długości oraz kolejność obiegów.</li></ul>
                </div>
                <div class="rk-build-gate-box">
                  <h4>Udokumentuj</h4>
                  <ul><li>zdjęcie całego pomieszczenia;</li><li>detale przejść i zagęszczeń;</li><li>miarę albo stały punkt odniesienia;</li><li>zmiany naniesione na rzut powykonawczy.</li></ul>
                </div>
              </div>
            </div>
          </div>

          <div class="rk-build-gate">
            <div class="rk-build-gate-no"><span>Bramka</span><strong>04</strong></div>
            <div class="rk-build-gate-content">
              <h3>Przed wylewką: próba, protokół i dopuszczenie do zakrycia</h3>
              <p>Próba szczelności ma wykazać stan instalacji przed jej trwałym zakryciem. Nie należy kopiować jednej wartości ciśnienia i czasu z przypadkowego poradnika do każdego systemu. Medium, ciśnienie, kolejne odczyty, wpływ temperatury i kryterium oceny muszą wynikać z właściwej procedury, projektu oraz dokumentacji zastosowanego systemu. Szczegółowe omówienie znajduje się w artykule o <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próbie szczelności ogrzewania podłogowego</a>.</p>
              <div class="rk-build-gate-grid">
                <div class="rk-build-gate-box">
                  <h4>Protokół powinien identyfikować</h4>
                  <ul><li>instalację i badane obiegi;</li><li>medium oraz aparaturę pomiarową;</li><li>ciśnienie, czasy i temperatury;</li><li>wynik, uwagi i osoby uczestniczące.</li></ul>
                </div>
                <div class="rk-build-gate-box">
                  <h4>Przed pompą do jastrychu</h4>
                  <ul><li>usuń wszystkie niezgodności;</li><li>zabezpiecz przejścia i rozdzielacz;</li><li>ustal stan instalacji podczas prac;</li><li>podpisz odbiór przed zakryciem.</li></ul>
                </div>
              </div>
            </div>
          </div>

          <div class="rk-build-gate">
            <div class="rk-build-gate-no"><span>Bramka</span><strong>05</strong></div>
            <div class="rk-build-gate-content">
              <h3>Po wykonaniu jastrychu: uruchomienie, równoważenie i dokumentacja powykonawcza</h3>
              <p>Procedura pielęgnacji i pierwszego uruchomienia zależy od zastosowanego jastrychu oraz dokumentacji wykonawczej. Rozgrzewanie nie zastępuje pomiaru warunków podłoża przed ułożeniem okładziny. Po uruchomieniu trzeba ustawić przepływy wynikające z projektu, sprawdzić pracę pompy i automatyki oraz zapisać parametry początkowe. Informacje o konstrukcji warstwy znajdziesz w przewodniku o <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">wylewce na ogrzewaniu podłogowym</a>.</p>
              <div class="rk-build-gate-grid">
                <div class="rk-build-gate-box">
                  <h4>Odbiór eksploatacyjny</h4>
                  <ul><li>przepływy i nastawy poszczególnych pętli;</li><li>parametry pompy i sterowania;</li><li>temperaturę zasilania i powrotu;</li><li>reakcję pomieszczeń po stabilizacji.</li></ul>
                </div>
                <div class="rk-build-gate-box">
                  <h4>Pakiet dla inwestora</h4>
                  <ul><li>projekt i rewizja powykonawcza;</li><li>protokół próby oraz odbioru;</li><li>zdjęcia tras przed wylewką;</li><li>tabela pętli, przepływów i nastaw.</li></ul>
                </div>
              </div>
            </div>
          </div>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-stop" aria-labelledby="rk-build-h2-7">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">07</div>
          <div>
            <h2 id="rk-build-h2-7">Kiedy należy powiedzieć „STOP — nie wykonywać wylewki”?</h2>
            <p>Zakrycie rur usuwa możliwość prostego oglądu i wielokrotnie zwiększa koszt każdej późniejszej ingerencji.</p>
          </div>
        </div>

        <div class="rk-build-stop-grid">
          <div class="rk-build-stop-card"><span>STOP 01</span><h3>Nieaktualny projekt</h3><p>Rzut nie pokazuje rzeczywistych ścian, funkcji pomieszczeń, rozdzielacza albo zabudowy, a zmiany nie zostały ocenione.</p></div>
          <div class="rk-build-stop-card"><span>STOP 02</span><h3>Niezgodne warstwy</h3><p>Brakuje potwierdzenia rodzaju i grubości izolacji, poziomu podłogi, rodzaju jastrychu albo podziału pól.</p></div>
          <div class="rk-build-stop-card"><span>STOP 03</span><h3>Uszkodzona rura</h3><p>Widać nacięcie, załamanie, spłaszczenie lub połączenie, którego nie ma w dokumentacji i które nie zostało ocenione.</p></div>
          <div class="rk-build-stop-card"><span>STOP 04</span><h3>Brak próby i protokołu</h3><p>Nie wiadomo, według jakiej procedury instalację zbadano, jakie były odczyty ani kto potwierdził wynik.</p></div>
          <div class="rk-build-stop-card"><span>STOP 05</span><h3>Brak zgodności pętli</h3><p>Nie można przypisać obiegów do pomieszczeń, nie znamy długości albo rozstaw i trasy istotnie różnią się od projektu.</p></div>
          <div class="rk-build-stop-card"><span>STOP 06</span><h3>Brak dokumentacji zdjęciowej</h3><p>Nie wykonano zdjęć przed zakryciem, mimo że trasy zostały zmienione albo inwestor nie otrzymał rzutu powykonawczego.</p></div>
        </div>

        <div class="rk-build-warning">
          <p><strong>Pośpiech ekipy wylewkowej nie jest argumentem technicznym.</strong> Jeżeli niezgodność można ocenić za godzinę, ale po zalaniu jej sprawdzenie będzie wymagało diagnostyki albo odkrywek, rozsądniej zatrzymać pracę przed przyjazdem jastrychu niż negocjować przy pracującej pompie.</p>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-symptoms" aria-labelledby="rk-build-h2-8">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">08</div>
          <div>
            <h2 id="rk-build-h2-8">Objawy po zamieszkaniu a możliwe odstępstwa na budowie</h2>
            <p>Objaw nie jest diagnozą. Pokazuje jedynie, od których danych i pomiarów warto zacząć.</p>
          </div>
        </div>

        <div class="rk-build-table-wrap">
          <table class="rk-build-table">
            <thead>
              <tr>
                <th style="width:24%">Objaw</th>
                <th style="width:43%">Co mogło zmienić się względem projektu?</th>
                <th style="width:33%">Co sprawdzić najpierw?</th>
              </tr>
            </thead>
            <tbody>
              <tr><td data-label="Objaw"><strong>Jedno pomieszczenie stale nie osiąga temperatury</strong></td><td data-label="Możliwe odstępstwo">Inna okładzina, mniejsza powierzchnia aktywna, większe przeszklenie, zmieniony rozstaw, niski przepływ albo inna temperatura projektowa pomieszczenia.</td><td data-label="Pierwsza kontrola">Aktualny rzut, obciążenie cieplne, aktywna powierzchnia, przepływ i temperatury pętli po stabilizacji.</td></tr>
              <tr><td data-label="Objaw"><strong>Cały system wymaga wyższej temperatury wody</strong></td><td data-label="Możliwe odstępstwo">Gorsze przegrody, inna okładzina, większe straty wentylacyjne, mniejsza aktywna powierzchnia albo niezgodna konstrukcja podłogi.</td><td data-label="Pierwsza kontrola">Rzeczywiste materiały, ustawienia krzywej, przepływy, temperatura powierzchni oraz zgodność z bilansem cieplnym.</td></tr>
              <tr><td data-label="Objaw"><strong>Nie można ustawić wymaganych przepływów</strong></td><td data-label="Możliwe odstępstwo">Wydłużone pętle po przesunięciu rozdzielacza, zmieniona armatura, powietrze, zabrudzenie albo niewłaściwy punkt pracy pompy.</td><td data-label="Pierwsza kontrola">Rzeczywiste długości, odczyty rotametrów, stan filtrów, odpowietrzenie i dostępne ciśnienie różnicowe.</td></tr>
              <tr><td data-label="Objaw"><strong>Nierównomierny ślad cieplny podłogi</strong></td><td data-label="Możliwe odstępstwo">Inna trasa lub rozstaw, zmienna warstwa nad rurą, element zabudowy, powietrze albo chwilowe warunki pomiaru.</td><td data-label="Pierwsza kontrola">Zdjęcia przed wylewką, czas pracy, temperaturę wody, rodzaj okładziny i pomiary po ustabilizowaniu.</td></tr>
              <tr><td data-label="Objaw"><strong>Rysy albo odspojenie okładziny</strong></td><td data-label="Możliwe odstępstwo">Nieprawidłowy podział pól, warunki wykonania lub pielęgnacji jastrychu, brak właściwych szczelin, zbyt wczesne uruchomienie albo błąd systemu wykończeniowego.</td><td data-label="Pierwsza kontrola">Dokumentację jastrychu, przebieg szczelin, protokół uruchomienia, wilgotność i warunki montażu okładziny.</td></tr>
              <tr><td data-label="Objaw"><strong>Brak informacji, gdzie można wiercić</strong></td><td data-label="Możliwe odstępstwo">Nie wykonano zdjęć lub rzutu powykonawczego albo trasy różnią się od projektu.</td><td data-label="Pierwsza kontrola">Archiwum zdjęć, punkty odniesienia, rzut pętli i bezpieczną diagnostykę przed ingerencją.</td></tr>
            </tbody>
          </table>
        </div>

        <p>Nieprawidłowo działającego systemu nie należy diagnozować wyłącznie kamerą termowizyjną ani samymi rotametrami. Potrzebne jest zestawienie projektu, dokumentacji powykonawczej, przepływów, temperatur i warunków pracy. Inaczej łatwo pomylić błąd projektu, odstępstwo wykonawcze, niewłaściwą regulację i chwilowy stan układu.</p>
      </section>

      <section class="rk-build-section" id="rk-build-docs" aria-labelledby="rk-build-h2-9">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">09</div>
          <div>
            <h2 id="rk-build-h2-9">Dokumentacja powykonawcza podłogówki — co powinno zostać po budowie?</h2>
            <p>Dokumentacja ma pozwolić odtworzyć to, co zniknęło pod jastrychem, oraz uruchomić układ zgodnie z obliczeniami.</p>
          </div>
        </div>

        <div class="rk-build-docs">
          <div class="rk-build-doc"><span>01</span><h3>Aktualny projekt</h3><p>Rzut pętli, obliczenia pomieszczeń, parametry pracy, rozdzielacze i schemat hydrauliczny w wersji odpowiadającej wykonanemu budynkowi.</p></div>
          <div class="rk-build-doc"><span>02</span><h3>Rejestr zmian</h3><p>Data, opis, przyczyna, osoba zgłaszająca, decyzja projektowa oraz wskazanie rysunku lub tabeli, które zostały zaktualizowane.</p></div>
          <div class="rk-build-doc"><span>03</span><h3>Tabela pętli</h3><p>Nazwa obiegu, pomieszczenie, długość rzeczywista, średnica, projektowy przepływ, nastawa i ewentualna uwaga wykonawcza.</p></div>
          <div class="rk-build-doc"><span>04</span><h3>Zdjęcia tras</h3><p>Widoki całych pomieszczeń i detali z miarą, osiami ścian albo trwałymi punktami odniesienia umożliwiającymi późniejszą lokalizację.</p></div>
          <div class="rk-build-doc"><span>05</span><h3>Protokoły</h3><p>Próba szczelności, odbiór przed zakryciem, dokumenty dotyczące jastrychu, procedura pierwszego uruchomienia i ewentualne pomiary pod okładzinę.</p></div>
          <div class="rk-build-doc"><span>06</span><h3>Nastawy startowe</h3><p>Przepływy, parametry pompy, krzywa grzewcza, ograniczenia temperatur i podstawowe ustawienia automatyki zapisane przy uruchomieniu.</p></div>
        </div>

        <div class="rk-build-tip">
          <p><strong>Praktyczna zasada archiwizacji:</strong> komplet powinien istnieć co najmniej w dwóch miejscach i mieć jednoznaczną nazwę inwestycji oraz datę. Zdjęcia bez rzutu, miary i opisu są znacznie mniej przydatne niż krótki, uporządkowany pakiet powykonawczy.</p>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-prevention" aria-labelledby="rk-build-h2-10">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">10</div>
          <div>
            <h2 id="rk-build-h2-10">Jak ograniczyć błędy bez zamieniania budowy w biuro projektowe?</h2>
            <p>Nie potrzeba setek dokumentów. Potrzeba krótkiej procedury, której każda ekipa rzeczywiście przestrzega.</p>
          </div>
        </div>

        <div class="rk-build-flow">
          <div class="rk-build-flow-card"><span>Krok A</span><h3>Jedna wersja obowiązująca</h3><p>Na budowie jest jedna aktualna dokumentacja. Starsze rzuty pozostają w archiwum z wyraźnym oznaczeniem, że nie służą do wykonania.</p></div>
          <div class="rk-build-flow-card"><span>Krok B</span><h3>Zmiana w jednym formularzu</h3><p>Każda korekta otrzymuje opis, zdjęcie lub rysunek, datę, osobę zgłaszającą oraz decyzję: bez wpływu, korekta lokalna albo aktualizacja projektu.</p></div>
          <div class="rk-build-flow-card"><span>Krok C</span><h3>Zakrycie dopiero po odbiorze</h3><p>Jastrych rozpoczyna się po zamknięciu uwag, wykonaniu próby, zdjęć i podpisaniu dopuszczenia do zakrycia.</p></div>
        </div>

        <p>Najlepiej, gdy proces rozpoczyna się jeszcze przed wejściem instalatora. Im wcześniej przygotowano <a href="https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/">projekt ogrzewania podłogowego</a> i skoordynowano go z architekturą, tym mniej zmian trzeba rozstrzygać przy rozwiniętych rurach. Jeżeli jednak zmiana jest potrzebna, jej zgłoszenie nie oznacza porażki — błędem jest dopiero ukrycie jej pod wylewką bez sprawdzenia wpływu.</p>

        <div class="rk-build-note">
          <p><strong>Kontrola jakości nie polega na szukaniu winnego.</strong> Jej celem jest wykrycie rozbieżności w momencie, w którym można ją jeszcze poprawić bez niszczenia gotowych warstw. Dlatego dobry protokół opisuje fakt, decyzję i termin, a nie emocje między ekipami.</p>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-faq" aria-labelledby="rk-build-h2-11">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">11</div>
          <div>
            <h2 id="rk-build-h2-11">FAQ — błędy na budowie a projekt ogrzewania podłogowego</h2>
            <p>Odpowiedzi na pytania dotyczące odstępstw, odbioru przed wylewką i dokumentacji powykonawczej.</p>
          </div>
        </div>

        <div class="rk-build-faq-list">
          <details class="rk-build-faq"><summary>Jakie błędy na budowie najczęściej psują projekt ogrzewania podłogowego?</summary><div class="rk-build-faq-answer"><p>Najczęściej są to niezaktualizowane zmiany architektury, inne izolacje lub okna, zmiana okładziny, przesunięcie rozdzielacza, samowolna korekta rozstawu i przebiegu pętli, niezgodna konstrukcja podłogi, brak próby szczelności, brak odbioru przed jastrychem oraz brak dokumentacji powykonawczej.</p></div></details>
          <details class="rk-build-faq"><summary>Czy każda zmiana na budowie wymaga nowego projektu podłogówki?</summary><div class="rk-build-faq-answer"><p>Nie każda wymaga opracowania projektu od początku. Każda zmiana istotna dla obciążenia cieplnego, powierzchni aktywnej, temperatury wody, długości pętli, przepływów lub konstrukcji podłogi powinna jednak zostać oceniona. Wynikiem może być brak korekty, lokalna zmiana albo aktualizacja kilku części dokumentacji.</p></div></details>
          <details class="rk-build-faq"><summary>Czy można przesunąć rozdzielacz ogrzewania podłogowego po wykonaniu projektu?</summary><div class="rk-build-faq-answer"><p>Można po sprawdzeniu nowej lokalizacji. Przesunięcie zmienia długości przyłączy kilku pętli, ich przebieg, opory hydrauliczne i dostęp serwisowy. Trzeba zaktualizować długości oraz ocenić możliwość uzyskania wymaganych przepływów.</p></div></details>
          <details class="rk-build-faq"><summary>Czy można zmienić płytki na panele po wykonaniu projektu?</summary><div class="rk-build-faq-answer"><p>Zmianę należy sprawdzić na podstawie łącznego oporu cieplnego panelu, podkładu i sposobu montażu. Większy opór nad rurą może zmniejszyć osiągalną moc albo wymagać wyższej temperatury wody. Istotne są również ograniczenia temperatury podane dla wybranej okładziny.</p></div></details>
          <details class="rk-build-faq"><summary>Czy pętla dłuższa niż 100 metrów zawsze jest błędem?</summary><div class="rk-build-faq-answer"><p>Nie można oceniać pętli tylko jedną długością. Znaczenie mają średnica wewnętrzna przewodu, przepływ, wymagana moc, różnica temperatury, armatura, opór całej trasy i dostępne ciśnienie pompy. O poprawności decydują obliczenia konkretnego obiegu.</p></div></details>
          <details class="rk-build-faq"><summary>Jakie ciśnienie zastosować przy próbie szczelności podłogówki?</summary><div class="rk-build-faq-answer"><p>Nie należy przyjmować uniwersalnej wartości bez znajomości systemu. Medium, ciśnienie, czas stabilizacji, kolejne odczyty oraz kryterium wyniku powinny wynikać z właściwej procedury, projektu, dokumentacji zastosowanych elementów i warunków na budowie.</p></div></details>
          <details class="rk-build-faq"><summary>Czy przed wylewką trzeba ustawiać wszystkie rotametry?</summary><div class="rk-build-faq-answer"><p>Odbiór przed zakryciem powinien potwierdzić identyfikację obiegów, drożność oraz próbę zgodną z procedurą. Docelowe równoważenie wykonuje się w warunkach uruchomienia instalacji według projektowych przepływów. Jednakowe ustawienie wszystkich rotametrów nie jest zasadą projektową.</p></div></details>
          <details class="rk-build-faq"><summary>Co powinien zawierać protokół odbioru podłogówki przed wylewką?</summary><div class="rk-build-faq-answer"><p>Powinien identyfikować inwestycję i wersję projektu, potwierdzać zgodność tras i oznaczeń, wskazywać uwagi oraz ich usunięcie, zawierać wynik próby szczelności, datę, uczestników i jednoznaczną decyzję dotyczącą dopuszczenia instalacji do zakrycia.</p></div></details>
          <details class="rk-build-faq"><summary>Czy zdjęcia rur przed wylewką wystarczą jako dokumentacja?</summary><div class="rk-build-faq-answer"><p>Nie. Zdjęcia są jednym z elementów. Potrzebne są również aktualny rzut, identyfikacja pętli, ich rzeczywiste długości, protokół próby, zestawienie nastaw oraz opis zmian. Fotografie powinny zawierać miarę albo trwałe punkty odniesienia.</p></div></details>
          <details class="rk-build-faq"><summary>Kiedy trzeba ponownie przeliczyć ogrzewanie podłogowe?</summary><div class="rk-build-faq-answer"><p>Ponowna kontrola jest potrzebna szczególnie po zmianie przegród, okien, temperatur pomieszczeń, aktywnej powierzchni, okładziny, źródła ciepła, temperatury zasilania, położenia rozdzielacza, liczby i przebiegu pętli albo konstrukcji podłogi.</p></div></details>
          <details class="rk-build-faq"><summary>Kto zatwierdza zmianę rozstawu rur na budowie?</summary><div class="rk-build-faq-answer"><p>Rozstaw wynika z obciążenia pomieszczenia, konstrukcji podłogi i parametrów wody, dlatego jego zmianę powinien ocenić autor właściwej części projektu lub osoba posiadająca komplet danych do ponownego sprawdzenia. Nie powinien być korygowany wyłącznie na podstawie ilości pozostałej rury.</p></div></details>
          <details class="rk-build-faq"><summary>Co zrobić, gdy instalacja została już zalana bez dokumentacji?</summary><div class="rk-build-faq-answer"><p>Należy zebrać dostępne projekty, zdjęcia i informacje wykonawcy, zidentyfikować pętle, wykonać bezpieczne pomiary instalacji oraz uzupełnić dokumentację w zakresie możliwym bez odkrywek. Zakres diagnostyki zależy od objawów i nie powinien być zastępowany zgadywaniem przebiegu rur.</p></div></details>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-sources" aria-labelledby="rk-build-h2-12">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">12</div>
          <div>
            <h2 id="rk-build-h2-12">Podstawa techniczna i źródła</h2>
            <p>Neutralne źródła dotyczące projektowania i instalowania wbudowanych systemów ogrzewania powierzchniowego.</p>
          </div>
        </div>

        <div class="rk-build-sources">
          <ul>
            <li><a href="https://www.iso.org/standard/74683.html" target="_blank" rel="noopener nofollow">ISO 11855-2:2021</a> — zasady określania projektowej mocy ogrzewania i chłodzenia powierzchniowego.</li>
            <li><a href="https://www.iso.org/standard/74685.html" target="_blank" rel="noopener nofollow">ISO 11855-5:2021</a> — zagadnienia dotyczące instalowania wbudowanych systemów powierzchniowych.</li>
            <li><a href="https://www.iso.org/standard/64999.html" target="_blank" rel="noopener nofollow">ISO 11855-6:2018</a> — zagadnienia dotyczące sterowania wbudowanymi systemami ogrzewania i chłodzenia powierzchniowego.</li>
          </ul>
        </div>
        <p class="rk-build-small">Artykuł nie publikuje treści norm i nie zastępuje projektu, dokumentacji zastosowanego systemu, wymagań dotyczących konkretnego jastrychu ani oceny wykonania na budowie. Przed zastosowaniem procedury należy sprawdzić aktualne dokumenty właściwe dla inwestycji.</p>
      </section>

      <div class="rk-build-cta" aria-label="Projekt ogrzewania podłogowego">
        <h3>Chcesz przekazać wykonawcy dokumentację, z którą można porównać każdą pętlę przed wylewką?</h3>
        <p>Projekt określa obciążenie pomieszczeń, aktywne powierzchnie, rozstaw i przebieg rur, długości pętli, wymagane przepływy, opory hydrauliczne, temperaturę zasilania oraz nastawy rozdzielacza. Dzięki temu zmiana na budowie może zostać zauważona przed trwałym zakryciem instalacji.</p>
        <a class="rk-build-cta-link" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt instalacji ogrzewania podłogowego</a>
        <small>To jedyne CTA sprzedażowe w artykule. Odnośnik prowadzi do strony usługi Projekt-Ogrzewania.pl należącej do autora opracowania.</small>
      </div>

      <aside class="rk-build-author-box" aria-labelledby="rk-build-author-title" itemprop="author" itemscope="" itemtype="https://schema.org/Person">
        <meta itemprop="name" content="Robert Kucharski">
        <meta itemprop="url" content="https://projekt-ogrzewania.pl/">
        <div class="rk-build-author-head">
          <div><h3 id="rk-build-author-title">Autor opracowania</h3><p>Praktyka projektowa, wiedza techniczna i język zrozumiały dla inwestora.</p></div>
          <div class="rk-build-author-mark">E-E-A-T • HVAC</div>
        </div>
        <div class="rk-build-author-main">
          <div class="rk-build-author-profile">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski – specjalista systemów HVAC i ogrzewania podłogowego" width="174" height="174" loading="lazy" itemprop="image">
            <h4>Robert Kucharski</h4>
            <span class="rk-build-author-role" itemprop="jobTitle">CEO • specjalista systemów HVAC i ogrzewania podłogowego</span>
          </div>
          <div class="rk-build-author-content">
            <div class="rk-build-quote"><blockquote>„Projekt nie kończy się w chwili wysłania pliku. Musi jeszcze spotkać się z rzeczywistym budynkiem. Jeżeli na budowie zmieniają się izolacje, okładziny, ściany albo trasy pętli, trzeba ponownie połączyć wykonanie z obliczeniami — zanim rury znikną pod jastrychem.”</blockquote></div>

            <div class="rk-build-author-tabs">
              <input class="rk-build-author-radio" type="radio" name="rk-build-author-tabs" id="rk-build-author-about" checked="">
              <input class="rk-build-author-radio" type="radio" name="rk-build-author-tabs" id="rk-build-author-exp">
              <input class="rk-build-author-radio" type="radio" name="rk-build-author-tabs" id="rk-build-author-sites">

              <div class="rk-build-author-labels" role="tablist" aria-label="Informacje o autorze">
                <label for="rk-build-author-about" role="tab">O autorze</label>
                <label for="rk-build-author-exp" role="tab">Doświadczenie</label>
                <label for="rk-build-author-sites" role="tab">Portale</label>
              </div>

              <div class="rk-build-author-panels">
                <div class="rk-build-author-panel rk-build-author-about">
                  <p>Specjalizuję się w projektowaniu wodnego ogrzewania podłogowego, obliczeniach obciążenia cieplnego i hydraulice instalacji. Przygotowuję dokumentację, która łączy warunki źródła ciepła, konstrukcję podłogi, pętle, przepływy oraz nastawy w jeden możliwy do wykonania i skontrolowania układ.</p>
                </div>
                <div class="rk-build-author-panel rk-build-author-exp">
                  <p>W pracy projektowej zwracam szczególną uwagę na koordynację z rzeczywistą budową. Rozstaw rur, długości pętli i przepływy są poprawne tylko dla określonych danych wejściowych. Dlatego w opracowaniach oddzielam obliczenia od przyzwyczajeń wykonawczych i wskazuję punkty wymagające odbioru przed zakryciem instalacji.</p>
                </div>
                <div class="rk-build-author-panel rk-build-author-sites">
                  <p>Jestem właścicielem i autorem publikacji w trzech serwisach branżowych. Powiązanie portali podaję jawnie, aby czytelnik znał autorstwo i kontekst linkowania:</p>
                  <div class="rk-build-portals">
                    <a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a>
                    <a href="https://remont.biz.pl/" target="_blank" rel="noopener nofollow">Remont.biz.pl</a>
                    <a href="https://sobir.pl/" target="_blank" rel="noopener nofollow">Sobir.pl</a>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </aside>
    </div>
  </div>
</article>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#webpage",
      "url": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/",
      "name": "Najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego – kontrola 5 etapów",
      "description": "Najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego. Pięć etapów kontroli zmian, wykonania i dokumentacji przed zakryciem instalacji.",
      "inLanguage": "pl-PL",
      "isPartOf": { "@id": "https://projekt-ogrzewania.pl/#website" },
      "primaryImageOfPage": { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#primaryimage" },
      "mainEntity": { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#article" },
      "datePublished": "2026-04-24",
      "dateModified": "2026-08-25",
      "potentialAction": {
        "@type": "ReadAction",
        "target": ["https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/"]
      }
    },
    {
      "@type": ["TechArticle", "Article"],
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#article",
      "url": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/",
      "mainEntityOfPage": { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#webpage" },
      "headline": "Najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego – kontrola 5 etapów",
      "alternativeHeadline": "Jak kontrolować odstępstwa od projektu podłogówki przed wylewką",
      "description": "Techniczny przewodnik po zmianach na budowie, które mogą naruszyć obliczenia ogrzewania podłogowego: dane wejściowe, warstwy podłogi, pętle, próba, jastrych, uruchomienie i dokumentacja powykonawcza.",
      "inLanguage": "pl-PL",
      "datePublished": "2026-04-24",
      "dateModified": "2026-08-25",
      "author": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "copyrightHolder": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "copyrightYear": 2026,
      "image": { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#primaryimage" },
      "articleSection": [
        "Błędy na budowie",
        "Ogrzewanie podłogowe",
        "Kontrola zgodności projektu",
        "Odbiór przed wylewką",
        "Dokumentacja powykonawcza"
      ],
      "keywords": "najczęstsze błędy na budowie które psują nawet najlepszy projekt ogrzewania podłogowego, błędy na budowie podłogówki, odstępstwa od projektu ogrzewania podłogowego, kontrola ogrzewania podłogowego przed wylewką, odbiór podłogówki przed wylewką, przesunięcie rozdzielacza po projekcie, zmiana rozstawu rur na budowie, zmiana okładziny po projekcie podłogówki, dokumentacja powykonawcza ogrzewania podłogowego, protokół odbioru podłogówki, checklista podłogówki przed wylewką",
      "proficiencyLevel": "Expert",
      "educationalLevel": "Zaawansowany poradnik techniczny dla inwestora, wykonawcy i kierownika budowy",
      "isAccessibleForFree": true,
      "audience": [
        { "@type": "Audience", "audienceType": "Inwestorzy budujący dom" },
        { "@type": "Audience", "audienceType": "Wykonawcy instalacji ogrzewania podłogowego" },
        { "@type": "Audience", "audienceType": "Kierownicy budowy" }
      ],
      "about": [
        { "@type": "Thing", "name": "Ogrzewanie podłogowe" },
        { "@type": "Thing", "name": "Kontrola zgodności projektu z wykonaniem" },
        { "@type": "Thing", "name": "Odbiór instalacji przed wylewką" },
        { "@type": "Thing", "name": "Dokumentacja powykonawcza" }
      ],
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": ["#rk-build-h2-1", ".rk-build-answer", "#rk-build-stop", "#rk-build-faq"]
      },
      "hasPart": [
        { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#change-list" },
        { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#howto" },
        { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#faq" },
        { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#audit" }
      ],
      "citation": [
        "https://www.iso.org/standard/74683.html",
        "https://www.iso.org/standard/74685.html",
        "https://www.iso.org/standard/64999.html"
      ]
    },
    {
      "@type": "ImageObject",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#primaryimage",
      "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego.webp",
      "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego.webp",
      "width": 900,
      "height": 900,
      "caption": "Najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego"
    },
    {
      "@type": "ItemList",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#change-list",
      "name": "Zmiany na budowie wymagające kontroli projektu ogrzewania podłogowego",
      "description": "Lista zmian mogących wpłynąć na obciążenie cieplne, moc podłogi, długości pętli, przepływy i opory hydrauliczne.",
      "numberOfItems": 9,
      "itemListOrder": "https://schema.org/ItemListOrderAscending",
      "itemListElement": [
        { "@type": "ListItem", "position": 1, "item": { "@type": "Thing", "name": "Zmiana izolacji ścian, dachu lub podłogi" } },
        { "@type": "ListItem", "position": 2, "item": { "@type": "Thing", "name": "Zmiana okien, ich wymiaru albo liczby" } },
        { "@type": "ListItem", "position": 3, "item": { "@type": "Thing", "name": "Przesunięcie ścian lub zmiana funkcji pomieszczenia" } },
        { "@type": "ListItem", "position": 4, "item": { "@type": "Thing", "name": "Zmiana okładziny i jej oporu cieplnego" } },
        { "@type": "ListItem", "position": 5, "item": { "@type": "Thing", "name": "Przesunięcie rozdzielacza ogrzewania podłogowego" } },
        { "@type": "ListItem", "position": 6, "item": { "@type": "Thing", "name": "Zmiana źródła ciepła lub temperatury zasilania" } },
        { "@type": "ListItem", "position": 7, "item": { "@type": "Thing", "name": "Zmiana rozstawu albo przebiegu rur" } },
        { "@type": "ListItem", "position": 8, "item": { "@type": "Thing", "name": "Zmiana grubości jastrychu lub poziomu podłogi" } },
        { "@type": "ListItem", "position": 9, "item": { "@type": "Thing", "name": "Zmiana powierzchni zabudowy stałej" } }
      ]
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#howto",
      "name": "Jak kontrolować zgodność projektu ogrzewania podłogowego z budową w pięciu etapach",
      "description": "Pięć bramek odbiorowych od zamrożenia danych projektu do uruchomienia i przekazania dokumentacji powykonawczej.",
      "inLanguage": "pl-PL",
      "totalTime": "P1D",
      "tool": [
        { "@type": "HowToTool", "name": "Aktualny projekt ogrzewania podłogowego" },
        { "@type": "HowToTool", "name": "Aktualny rzut architektury" },
        { "@type": "HowToTool", "name": "Dokumentacja zastosowanych materiałów" },
        { "@type": "HowToTool", "name": "Wyposażenie do właściwej próby szczelności" },
        { "@type": "HowToTool", "name": "Miara i aparat fotograficzny" },
        { "@type": "HowToTool", "name": "Protokół odbioru przed zakryciem" }
      ],
      "step": [
        {
          "@type": "HowToStep",
          "position": 1,
          "name": "Zamroź dane projektu przed zamówieniem materiałów",
          "text": "Potwierdź aktualny rzut, funkcje pomieszczeń, izolacje, okna, źródło ciepła, temperatury, rozdzielacz, okładziny oraz wersję dokumentacji przekazaną wykonawcy.",
          "url": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#rk-build-gates"
        },
        {
          "@type": "HowToStep",
          "position": 2,
          "name": "Odbierz podłoże i konstrukcję podłogi przed ułożeniem rur",
          "text": "Sprawdź rzeczywistą izolację, poziomy, stabilność warstw, izolację brzegową, szczeliny jastrychu, przepusty oraz kolizje branżowe.",
          "url": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#rk-build-gates"
        },
        {
          "@type": "HowToStep",
          "position": 3,
          "name": "Porównaj ułożone pętle z aktualnym projektem",
          "text": "Skontroluj oznaczenia, rozstaw, trasy, długości, miejsca bez rur, mocowanie, przejścia i stan przewodów oraz wykonaj zdjęcia z punktami odniesienia.",
          "url": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#rk-build-gates"
        },
        {
          "@type": "HowToStep",
          "position": 4,
          "name": "Wykonaj próbę i podpisz dopuszczenie do jastrychu",
          "text": "Zastosuj właściwą procedurę próby szczelności, zapisz parametry i wynik, usuń niezgodności, zabezpiecz instalację oraz formalnie dopuść ją do zakrycia.",
          "url": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#rk-build-gates"
        },
        {
          "@type": "HowToStep",
          "position": 5,
          "name": "Uruchom układ i przekaż dokumentację powykonawczą",
          "text": "Zrealizuj właściwą procedurę dla jastrychu, sprawdź podłoże przed okładziną, ustaw projektowe przepływy i sterowanie oraz przekaż projekt, protokoły, zdjęcia i tabelę nastaw.",
          "url": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#rk-build-gates"
        }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#faq",
      "inLanguage": "pl-PL",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Jakie błędy na budowie najczęściej psują projekt ogrzewania podłogowego?",
          "acceptedAnswer": { "@type": "Answer", "text": "Najczęściej są to niezaktualizowane zmiany architektury, inne izolacje lub okna, zmiana okładziny, przesunięcie rozdzielacza, samowolna korekta rozstawu i przebiegu pętli, niezgodna konstrukcja podłogi, brak próby szczelności, brak odbioru przed jastrychem oraz brak dokumentacji powykonawczej." }
        },
        {
          "@type": "Question",
          "name": "Czy każda zmiana na budowie wymaga nowego projektu podłogówki?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie każda wymaga opracowania projektu od początku. Każda zmiana istotna dla obciążenia cieplnego, powierzchni aktywnej, temperatury wody, długości pętli, przepływów lub konstrukcji podłogi powinna jednak zostać oceniona. Wynikiem może być brak korekty, lokalna zmiana albo aktualizacja kilku części dokumentacji." }
        },
        {
          "@type": "Question",
          "name": "Czy można przesunąć rozdzielacz ogrzewania podłogowego po wykonaniu projektu?",
          "acceptedAnswer": { "@type": "Answer", "text": "Można po sprawdzeniu nowej lokalizacji. Przesunięcie zmienia długości przyłączy kilku pętli, ich przebieg, opory hydrauliczne i dostęp serwisowy. Trzeba zaktualizować długości oraz ocenić możliwość uzyskania wymaganych przepływów." }
        },
        {
          "@type": "Question",
          "name": "Czy można zmienić płytki na panele po wykonaniu projektu?",
          "acceptedAnswer": { "@type": "Answer", "text": "Zmianę należy sprawdzić na podstawie łącznego oporu cieplnego panelu, podkładu i sposobu montażu. Większy opór nad rurą może zmniejszyć osiągalną moc albo wymagać wyższej temperatury wody. Istotne są również ograniczenia temperatury podane dla wybranej okładziny." }
        },
        {
          "@type": "Question",
          "name": "Czy pętla dłuższa niż 100 metrów zawsze jest błędem?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie można oceniać pętli tylko jedną długością. Znaczenie mają średnica wewnętrzna przewodu, przepływ, wymagana moc, różnica temperatury, armatura, opór całej trasy i dostępne ciśnienie pompy. O poprawności decydują obliczenia konkretnego obiegu." }
        },
        {
          "@type": "Question",
          "name": "Jakie ciśnienie zastosować przy próbie szczelności podłogówki?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie należy przyjmować uniwersalnej wartości bez znajomości systemu. Medium, ciśnienie, czas stabilizacji, kolejne odczyty oraz kryterium wyniku powinny wynikać z właściwej procedury, projektu, dokumentacji zastosowanych elementów i warunków na budowie." }
        },
        {
          "@type": "Question",
          "name": "Czy przed wylewką trzeba ustawiać wszystkie rotametry?",
          "acceptedAnswer": { "@type": "Answer", "text": "Odbiór przed zakryciem powinien potwierdzić identyfikację obiegów, drożność oraz próbę zgodną z procedurą. Docelowe równoważenie wykonuje się w warunkach uruchomienia instalacji według projektowych przepływów. Jednakowe ustawienie wszystkich rotametrów nie jest zasadą projektową." }
        },
        {
          "@type": "Question",
          "name": "Co powinien zawierać protokół odbioru podłogówki przed wylewką?",
          "acceptedAnswer": { "@type": "Answer", "text": "Powinien identyfikować inwestycję i wersję projektu, potwierdzać zgodność tras i oznaczeń, wskazywać uwagi oraz ich usunięcie, zawierać wynik próby szczelności, datę, uczestników i jednoznaczną decyzję dotyczącą dopuszczenia instalacji do zakrycia." }
        },
        {
          "@type": "Question",
          "name": "Czy zdjęcia rur przed wylewką wystarczą jako dokumentacja?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. Zdjęcia są jednym z elementów. Potrzebne są również aktualny rzut, identyfikacja pętli, ich rzeczywiste długości, protokół próby, zestawienie nastaw oraz opis zmian. Fotografie powinny zawierać miarę albo trwałe punkty odniesienia." }
        },
        {
          "@type": "Question",
          "name": "Kiedy trzeba ponownie przeliczyć ogrzewanie podłogowe?",
          "acceptedAnswer": { "@type": "Answer", "text": "Ponowna kontrola jest potrzebna szczególnie po zmianie przegród, okien, temperatur pomieszczeń, aktywnej powierzchni, okładziny, źródła ciepła, temperatury zasilania, położenia rozdzielacza, liczby i przebiegu pętli albo konstrukcji podłogi." }
        },
        {
          "@type": "Question",
          "name": "Kto zatwierdza zmianę rozstawu rur na budowie?",
          "acceptedAnswer": { "@type": "Answer", "text": "Rozstaw wynika z obciążenia pomieszczenia, konstrukcji podłogi i parametrów wody, dlatego jego zmianę powinien ocenić autor właściwej części projektu lub osoba posiadająca komplet danych do ponownego sprawdzenia. Nie powinien być korygowany wyłącznie na podstawie ilości pozostałej rury." }
        },
        {
          "@type": "Question",
          "name": "Co zrobić, gdy instalacja została już zalana bez dokumentacji?",
          "acceptedAnswer": { "@type": "Answer", "text": "Należy zebrać dostępne projekty, zdjęcia i informacje wykonawcy, zidentyfikować pętle, wykonać bezpieczne pomiary instalacji oraz uzupełnić dokumentację w zakresie możliwym bez odkrywek. Zakres diagnostyki zależy od objawów i nie powinien być zastępowany zgadywaniem przebiegu rur." }
        }
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#audit",
      "name": "Kontrola zgodności projektu ogrzewania podłogowego z budową — 5 etapów",
      "url": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#rk-build-audit",
      "description": "Interaktywna lista dwudziestu potwierdzeń pogrupowanych w pięć bramek odbiorowych, ze wskazaniem siedmiu punktów krytycznych przed zakryciem instalacji.",
      "applicationCategory": "EducationalApplication",
      "applicationSubCategory": "Interaktywna lista kontroli budowy ogrzewania podłogowego",
      "operatingSystem": "Dowolny system z nowoczesną przeglądarką internetową",
      "browserRequirements": "JavaScript",
      "inLanguage": "pl-PL",
      "isAccessibleForFree": true,
      "creator": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "featureList": [
        "Kontrola aktualności danych projektu",
        "Kontrola podłoża i konstrukcji podłogi",
        "Kontrola ułożonych pętli",
        "Kontrola próby oraz dopuszczenia do jastrychu",
        "Kontrola uruchomienia i dokumentacji powykonawczej",
        "Siedem punktów krytycznych blokujących ocenę pozytywną",
        "Dynamiczny wynik oraz status STOP, KONSULTACJA lub GO"
      ],
      "offers": { "@type": "Offer", "price": "0", "priceCurrency": "PLN" },
      "softwareHelp": { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#article" }
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista systemów HVAC oraz ogrzewania podłogowego",
      "description": "Projektant wodnego ogrzewania podłogowego, autor technicznych opracowań i właściciel serwisów Projekt-Ogrzewania.pl, Remont.biz.pl oraz Sobir.pl.",
      "knowsAbout": [
        "Ogrzewanie podłogowe",
        "Projektowanie instalacji sanitarnych",
        "Obciążenie cieplne budynków",
        "Hydraulika instalacji grzewczych",
        "Kontrola zgodności projektu z wykonaniem",
        "Rozdzielacze i regulacja przepływów",
        "Dokumentacja powykonawcza"
      ],
      "sameAs": [
        "https://projekt-ogrzewania.pl/",
        "https://remont.biz.pl/",
        "https://sobir.pl/",
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy"
      ],
      "affiliation": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "owns": [
        { "@id": "https://projekt-ogrzewania.pl/#website" },
        { "@id": "https://remont.biz.pl/#website" },
        { "@id": "https://sobir.pl/#website" }
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt Ogrzewania",
      "url": "https://projekt-ogrzewania.pl/",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Projekt-ogrzewania-logo-1.jpg",
        "width": 1024,
        "height": 1024
      },
      "founder": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" }
    },
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt Ogrzewania",
      "inLanguage": "pl-PL",
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "creator": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "copyrightHolder": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" }
    },
    {
      "@type": "WebSite",
      "@id": "https://remont.biz.pl/#website",
      "url": "https://remont.biz.pl/",
      "name": "Remont.biz.pl",
      "inLanguage": "pl-PL",
      "creator": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "copyrightHolder": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" }
    },
    {
      "@type": "WebSite",
      "@id": "https://sobir.pl/#website",
      "url": "https://sobir.pl/",
      "name": "Sobir.pl",
      "inLanguage": "pl-PL",
      "creator": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "copyrightHolder": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" }
    }
  ]
}
</script>

<script>
(function () {
  "use strict";

  function bootBuildControl() {
    var root = document.getElementById("rk-build-control");
    if (!root) {
      return;
    }
    if (root.getAttribute("data-rk-build-ready") === "1") {
      return;
    }
    root.setAttribute("data-rk-build-ready", "1");

    function find(selector) {
      return root.querySelector(selector);
    }

    function findAll(selector) {
      return root.querySelectorAll(selector);
    }

    function setText(selector, value) {
      var element = find(selector);
      if (element) {
        element.textContent = value;
      }
    }

    var checks = findAll("[data-rk-build-check]");
    var fill = find("#rk-build-fill");
    var progressbar = find(".rk-build-audit-bar");
    var signal = find("#rk-build-signal");
    var result = find("#rk-build-result");

    function updateStageCounts() {
      var stage;
      for (stage = 1; stage <= 5; stage += 1) {
        var stageChecks = findAll('[data-rk-build-check][data-stage="' + stage + '"]');
        var stageChecked = 0;
        var index;
        for (index = 0; index < stageChecks.length; index += 1) {
          if (stageChecks[index].checked) {
            stageChecked += 1;
          }
        }
        setText('[data-rk-build-stage-count="' + stage + '"]', stageChecked + "/" + stageChecks.length);
      }
    }

    function updateAudit() {
      var checked = 0;
      var criticalTotal = 0;
      var criticalChecked = 0;
      var index;

      for (index = 0; index < checks.length; index += 1) {
        if (checks[index].checked) {
          checked += 1;
        }
        if (checks[index].getAttribute("data-critical") === "1") {
          criticalTotal += 1;
          if (checks[index].checked) {
            criticalChecked += 1;
          }
        }
      }

      var total = checks.length;
      var missing = total - checked;
      var criticalMissing = criticalTotal - criticalChecked;
      var percent = total > 0 ? checked / total * 100 : 0;
      var rounded = Math.round(percent);

      setText("#rk-build-score", rounded + "%");
      setText("#rk-build-count", checked + " z " + total + " punktów");
      setText("#rk-build-missing", "Brakuje " + missing + " potwierdzeń, w tym " + criticalMissing + " krytycznych.");

      if (fill) {
        fill.style.width = percent.toFixed(1) + "%";
      }
      if (progressbar) {
        progressbar.setAttribute("aria-valuenow", String(rounded));
      }

      if (criticalMissing > 0) {
        if (signal) {
          signal.textContent = "STOP";
          signal.style.background = "#d83c2f";
        }
        if (result) {
          result.style.background = "#fff0ed";
        }
        if (fill) {
          fill.style.background = "#d83c2f";
        }
        setText("#rk-build-message", "Ocena czerwona: brakuje " + criticalMissing + " punktów krytycznych. Nie traktuj instalacji jako gotowej do zakrycia przed ich rzeczywistym sprawdzeniem i udokumentowaniem.");
      } else if (missing > 0) {
        if (signal) {
          signal.textContent = "KONSULTACJA";
          signal.style.background = "#b66a16";
        }
        if (result) {
          result.style.background = "#fff7e6";
        }
        if (fill) {
          fill.style.background = "#f2b441";
        }
        setText("#rk-build-message", "Ocena pomarańczowa: punkty krytyczne są potwierdzone, ale odbiór nie jest kompletny. Uzupełnij " + missing + " brakujących elementów i skonsultuj rozbieżności przed kolejnym etapem robót.");
      } else {
        if (signal) {
          signal.textContent = "GO";
          signal.style.background = "#178265";
        }
        if (result) {
          result.style.background = "#eaf8f3";
        }
        if (fill) {
          fill.style.background = "#178265";
        }
        setText("#rk-build-message", "Ocena zielona: wszystkie 20 punktów zostało potwierdzonych. Zachowaj projekt, rewizję powykonawczą, protokoły i zdjęcia. Wynik checklisty nadal nie zastępuje odbioru technicznego na budowie.");
      }

      updateStageCounts();
    }

    root.addEventListener("change", function (event) {
      var target = event.target;
      if (!target) {
        return;
      }
      if (target.matches("[data-rk-build-check]")) {
        updateAudit();
      }
    });

    root.addEventListener("click", function (event) {
      var clicked = event.target;
      if (!clicked) {
        return;
      }

      var resetButton = clicked.closest("#rk-build-reset");
      if (resetButton) {
        if (root.contains(resetButton)) {
          event.preventDefault();
          var index;
          for (index = 0; index < checks.length; index += 1) {
            checks[index].checked = false;
          }
          updateAudit();
          var audit = find("#rk-build-audit");
          if (audit) {
            audit.scrollIntoView({ behavior: "smooth", block: "start" });
          }
          return;
        }
      }

      var anchor = clicked.closest('a[href^="#"]');
      if (!anchor) {
        return;
      }
      if (!root.contains(anchor)) {
        return;
      }
      var selector = anchor.getAttribute("href");
      if (!selector) {
        return;
      }
      if (selector === "#") {
        return;
      }
      var destination = find(selector);
      if (!destination) {
        return;
      }
      event.preventDefault();
      var motion = "smooth";
      if (window.matchMedia) {
        if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
          motion = "auto";
        }
      }
      destination.scrollIntoView({ behavior: motion, block: "start" });
    });

    var readingProgress = find(".rk-build-progress");
    var ticking = false;

    function updateReadingProgress() {
      if (!readingProgress) {
        ticking = false;
        return;
      }
      var rect = root.getBoundingClientRect();
      var viewport = window.innerHeight || document.documentElement.clientHeight;
      var total = Math.max(root.offsetHeight - viewport, 1);
      var passed = Math.min(Math.max(-rect.top, 0), total);
      var value = Math.min(100, Math.max(0, passed / total * 100));
      readingProgress.style.width = value.toFixed(2) + "%";
      ticking = false;
    }

    function requestReadingProgress() {
      if (ticking) {
        return;
      }
      ticking = true;
      if (window.requestAnimationFrame) {
        window.requestAnimationFrame(updateReadingProgress);
      } else {
        window.setTimeout(updateReadingProgress, 16);
      }
    }

    window.addEventListener("scroll", requestReadingProgress, { passive: true });
    window.addEventListener("resize", requestReadingProgress, { passive: true });
    updateAudit();
    updateReadingProgress();
  }

  function scheduleBuildControl() {
    bootBuildControl();
    window.setTimeout(bootBuildControl, 250);
    window.setTimeout(bootBuildControl, 900);
    window.setTimeout(bootBuildControl, 2200);
  }

  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", scheduleBuildControl);
  } else {
    scheduleBuildControl();
  }

  window.addEventListener("load", bootBuildControl);
  window.addEventListener("pageshow", bootBuildControl);
}());
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/">Najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
