<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Archiwa Ogrzewanie domu - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/category/ogrzewanie-domu/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/category/ogrzewanie-domu/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Sat, 20 Jun 2026 16:48:42 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa Ogrzewanie domu - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/category/ogrzewanie-domu/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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>
					<comments>https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/#respond</comments>
		
		<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>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Średnice rur w ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Tue, 24 Feb 2026 10:52:01 +0000</pubDate>
				<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Hydraulika grzewcza]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[Technologia grzewcza]]></category>
		<category><![CDATA[długość pętli podłogówki]]></category>
		<category><![CDATA[dobór rur ogrzewanie podłogowe]]></category>
		<category><![CDATA[hydraulika ogrzewania podłogowego]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[projektowanie podłogówki]]></category>
		<category><![CDATA[przepływ w ogrzewaniu podłogowym]]></category>
		<category><![CDATA[rura 16x2 ogrzewanie podłogowe]]></category>
		<category><![CDATA[rura 20x2 ogrzewanie podłogowe]]></category>
		<category><![CDATA[spadki ciśnienia ogrzewanie podłogowe]]></category>
		<category><![CDATA[średnice rur ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3505</guid>

					<description><![CDATA[<p>Dobór elementów instalacji grzewczej to nie przypadek, lecz świadoma decyzja techniczna. Średnice rur w ogrzewaniu podłogowym mają bezpośredni wpływ na przepływ wody, opory hydrauliczne oraz efektywność całego systemu. Zbyt mała średnica może powodować nadmierne spadki ciśnienia i niedogrzanie pomieszczeń, natomiast zbyt duża utrudnia regulację i zwiększa koszty inwestycji. W artykule pokazujemy konkretne obliczenia, przykłady oraz praktyczne zasady projektowe, które pozwalają dobrać optymalne parametry instalacji zarówno dla kotłów gazowych, jak i pomp ciepła.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/">Średnice rur w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Projektowanie wodnego ogrzewania podłogowego to balansowanie między wydajnością cieplną a oporami hydraulicznymi. Wybór&nbsp;<strong>średnic rur</strong>&nbsp;ma kluczowe znaczenie dla tego, jak mocno musi pracować pompa obiegowa i czy system będzie w stanie dogrzać pomieszczenie. W tym artykule kompleksowo omawiamy techniczne aspekty doboru rur, obliczania&nbsp;<strong>przepływów</strong>&nbsp;oraz szacowania&nbsp;<strong>spadków ciśnienia</strong>, opierając się na konkretnych przykładach i sprawdzonych wzorach inżynierskich.</p>



<h2 class="wp-block-heading">Dlaczego średnica rury ma znaczenie dla przepływu i spadku ciśnienia?</h2>



<p class="wp-block-paragraph">Wybór odpowiedniej <strong>średnicy <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/" type="link" id="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rur do ogrzewania podłogowego</a></strong> to nie tylko kwestia dostępności materiału w sklepie. To przede wszystkim decyzja inżynierska, która wpływa na opory przepływu, a co za tym idzie – na pracę pompy obiegowej i równomierność ogrzewania pomieszczeń.</p>



<p class="wp-block-paragraph">W praktyce instalacyjnej w budownictwie jednorodzinnym najczęściej stosuje się rury z materiałów takich jak <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/" type="link" id="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">PE-X</a>a, PE-RT lub wielowarstwowe (PEX/Al/PEX). Oto przegląd standardowych średnic:</p>



<ul class="wp-block-list">
<li><strong>16 x 2,0 mm</strong>: To absolutny standard w budownictwie mieszkaniowym. Łączy elastyczność montażu z wystarczającą wydajnością dla większości pomieszczeń. Jego średnica wewnętrzna wynosi 12 mm.</li>



<li><strong>17 x 2,0 mm</strong>: Stosowana głównie w systemach systemowych konkretnych producentów. Oferuje nieco lepsze parametry przepływu niż rura 16 mm.</li>



<li><strong>20 x 2,0 mm</strong>: Używana rzadziej, głównie w dużych halach, pomieszczeniach o bardzo długich pętlach lub tam, gdzie chcemy znacząco zredukować&nbsp;<strong>spadki ciśnienia</strong>. Jej średnica wewnętrzna to 16 mm.</li>
</ul>



<p class="wp-block-paragraph">Dlaczego te różnice są tak istotne? Z praw hydrauliki wynika, że przy tym samym przepływie wody, mniejsza średnica wewnętrzna generuje&nbsp;<strong>znacznie wyższe opory przepływu</strong>. Jeśli opory te staną się zbyt duże, woda nie będzie w stanie efektywnie krążyć w pętli, co skutkuje niedogrzaniem podłogi, zapowietrzaniem się instalacji i nadmiernym hałasem.</p>



<h2 class="wp-block-heading">Jak dokładnie obliczyć wymagany przepływ wody w pętlach?</h2>



<p class="wp-block-paragraph">Zanim przejdziemy do spadków ciśnienia, musimy ustalić, ile wody w ogóle potrzebujemy przesłać przez rurę.&nbsp;<strong>Przepływ w ogrzewaniu podłogowym</strong>&nbsp;(strumień masy) zależy od dwóch czynników:&nbsp;<strong>mocy cieplnej, jaką ma dostarczyć dana pętla</strong>&nbsp;oraz od&nbsp;<strong>różnicy temperatur</strong>&nbsp;między wodą zasilającą a powracającą.</p>



<h3 class="wp-block-heading">Moc pętli i różnica temperatur – wzór i praktyka.</h3>



<p class="wp-block-paragraph">Zapotrzebowanie na ciepło (oznaczane jako Q) dla pomieszczenia wynika z obliczeń strat ciepła. Projektowana różnica temperatur (oznaczana jako ΔT) zależy od źródła ciepła:</p>



<p class="wp-block-paragraph">Dla <strong><a href="https://projekt-ogrzewania.pl/kociol-gazowy/" type="link" id="https://projekt-ogrzewania.pl/kociol-gazowy/">kotłów gazowych</a></strong> standardem jest <strong>ΔT = 7 do 10 stopni (K)</strong> .</p>



<p class="wp-block-paragraph">Dla <strong><a href="https://projekt-ogrzewania.pl/pompa-ciepla/" type="link" id="https://projekt-ogrzewania.pl/pompa-ciepla/">pomp ciepła</a></strong> najczęściej przyjmuje się <strong>ΔT = 5 stopni (K)</strong> , co zapewnia najwyższą efektywność urządzenia (niski skok temperatury).</p>



<div style="max-width:800px;margin:20px auto;padding:20px;border:1px solid #e5e5e5;border-radius:10px;background:#fafafa;font-family:Arial,Helvetica,sans-serif;line-height:1.6;color:#222;">

  <h2 style="font-size:22px;margin-top:0;">Przepływ w ogrzewaniu podłogowym – zależność od mocy i ΔT</h2>

  <p>
    Przepływ zależy od zapotrzebowania na ciepło (<strong>Q</strong>) oraz projektowanej różnicy temperatur między zasilaniem a powrotem (<strong>ΔT</strong>).
  </p>

  <h3 style="font-size:18px;margin-top:20px;">Typowe wartości ΔT w ogrzewaniu podłogowym:</h3>

  <ul style="padding-left:20px;">
    <li><strong>ΔT = 5 K</strong> – zalecane dla pomp ciepła (najwyższa efektywność).</li>
    <li><strong>ΔT = 7–10 K</strong> – stosowane w instalacjach z kotłem gazowym.</li>
  </ul>

  <h3 style="font-size:18px;margin-top:20px;">Wzór na przepływ masowy:</h3>

  <div style="text-align:center;font-size:22px;margin:20px 0;padding:15px;background:white;border-radius:8px;border:1px solid #ddd;">
    ṁ = Q / (c<sub>w</sub> · ΔT)
  </div>

  <h3 style="font-size:18px;margin-top:20px;">Gdzie:</h3>

  <ul style="padding-left:20px;">
    <li><strong>ṁ</strong> – strumień masy [kg/s] (w przybliżeniu odpowiada l/s),</li>
    <li><strong>Q</strong> – moc grzewcza pętli [W],</li>
    <li><strong>c<sub>w</sub></strong> – ciepło właściwe wody ≈ 4186 J/(kg·K),</li>
    <li><strong>ΔT</strong> – różnica temperatur między zasilaniem a powrotem [K].</li>
  </ul>

  <div style="margin-top:25px;padding:15px;background:#eef6ff;border-left:5px solid #2b6cb0;border-radius:6px;">
    <strong>Przykład praktyczny:</strong><br><br>
    Dla pętli o mocy <strong>1000 W</strong> przy <strong>ΔT = 5 K</strong>, wymagany przepływ wynosi około:<br><br>
    <div style="font-size:20px;text-align:center;margin:10px 0;">
      <strong>2,8 l/min</strong>
    </div>
    Większość rotametrów stosowanych w rozdzielaczach obsługuje zakres <strong>0,5 – 5,0 l/min</strong>, co pokrywa typowe wymagania instalacji ogrzewania podłogowego.
  </div>

</div>



<p class="wp-block-paragraph"><strong>Przykład praktyczny:</strong><br>Załóżmy, że projektujemy ogrzewanie podłogowe w salonie, dla którego straty ciepła wynoszą&nbsp;<strong>1500 W (1,5 kW)</strong>&nbsp;. Sprawdźmy, jak zmieni się wymagany przepływ w zależności od przyjętej różnicy temperatur.</p>



<ol start="1" class="wp-block-list">
<li><strong>Dla pompy ciepła (ΔT = 5 K)</strong>&nbsp;:<br>Przepływ masowy = 1500 / (4186 * 5) = 1500 / 20930 ≈ 0,0717 kg/s<br>Przeliczając na godziny i minuty: 0,0717 * 3600 ≈ 258 kg/h, co daje około&nbsp;<strong>4,3 l/min</strong>.</li>



<li><strong>Dla kotła gazowego (ΔT = 10 K)</strong>&nbsp;:<br>Przepływ masowy = 1500 / (4186 * 10) = 1500 / 41860 ≈ 0,0358 kg/s<br>Co daje 0,0358 * 3600 ≈ 129 kg/h, czyli około&nbsp;<strong>2,15 l/min</strong>.</li>
</ol>



<p class="wp-block-paragraph">Wniosek jest prosty: im niższa różnica temperatur (co jest korzystne dla pomp ciepła), tym większy przepływ musi być zapewniony przez instalację, co ma bezpośredni wpływ na dobór średnic i opory hydrauliczne. W praktyce większość rotametrów na rozdzielaczach obsługuje zakres 0,5–5,0 l/min, więc obie wartości mieszczą się w normie.</p>



<p class="wp-block-paragraph">Dla uproszczenia, w dalszej części artykułu posłużymy się popularnym założeniem ΔT = 10 K, co pozwala na stosowanie znanej reguły:&nbsp;<strong>wymagany przepływ (w kg/h) ≈ moc pętli (w W) / 12</strong>.</p>



<h2 class="wp-block-heading">Spadki ciśnienia w ogrzewaniu podłogowym – szczegółowa analiza.</h2>



<p class="wp-block-paragraph">Obliczenie&nbsp;<strong>strat ciśnienia w ogrzewaniu podłogowym</strong>&nbsp;(zwanych też oporami hydraulicznymi) jest niezbędne, aby upewnić się, że pompa obiegowa jest w stanie &#8222;przepchnąć&#8221; wodę przez wszystkie pętle. Na opór składają się straty liniowe (na długości rury) oraz miejscowe (na łukach, złączkach, przy rozdzielaczu).</p>



<h3 class="wp-block-heading">Kluczowe parametry graniczne.</h3>



<p class="wp-block-paragraph">Aby instalacja działała bez zarzutu, projektant zawsze pilnuje trzech rzeczy:</p>



<ol start="1" class="wp-block-list">
<li><strong>Maksymalny spadek ciśnienia:</strong>&nbsp;To najważniejsza granica. Łączne opory przepływu w pojedynczej pętli nie mogą przekroczyć&nbsp;<strong>15–20 kPa (kilopaskali)</strong>&nbsp;, co odpowiada około 1,5–2,0 metra słupa wody. Przekroczenie tej wartości sprawia, że instalacja staje się trudna do zrównoważenia hydraulicznego, a pompa pracuje na granicy wydajności, generując hałas i zużywając więcej prądu.</li>



<li><strong>Minimalna prędkość przepływu:</strong>&nbsp;Aby odpowietrzenie było skuteczne, a woda mogła &#8222;porwać&#8221; pęcherzyki powietrza, prędkość nie może spaść poniżej&nbsp;<strong>0,15–0,2 m/s</strong>.</li>



<li><strong>Maksymalna prędkość przepływu:</strong>&nbsp;Powyżej&nbsp;<strong>0,6 m/s</strong>&nbsp;mogą pojawić się szumy hydrauliczne, a opory przepływu rosną już bardzo gwałtownie.</li>
</ol>



<h3 class="wp-block-heading">Tabela jednostkowych spadków ciśnienia dla popularnych średnic.</h3>



<p class="wp-block-paragraph">W praktyce inżynierskiej do obliczeń używa się gotowych tabel lub wykresów producentów rur. Poniżej przedstawiamy przykładowe wartości jednostkowych spadków ciśnienia (oznaczanych często jako R) dla rur wielowarstwowych (PE-Al-PE) o różnych średnicach. Wartości te pokazują, jak duży opór (w paskalach) stawia jeden metr rury przy danym przepływie.</p>



<div style="max-width:900px;margin:30px auto;font-family:Arial,Helvetica,sans-serif;">

  <h2 style="font-size:22px;margin-bottom:15px;">
    Tabela 1. Jednostkowe spadki ciśnienia [Pa/m] dla rur wielowarstwowych
  </h2>

  <div style="overflow-x:auto;border-radius:10px;border:1px solid #ddd;">

    <table style="width:100%;border-collapse:collapse;min-width:600px;background:white;">

      <thead>
        <tr style="background:#2b6cb0;color:white;text-align:left;">
          <th style="padding:12px;">Przepływ masowy<br>[kg/h]</th>
          <th style="padding:12px;">Rura 16&#215;2,0<br>(śr. wewn. 12 mm)</th>
          <th style="padding:12px;">Rura 20&#215;2,0<br>(śr. wewn. 16 mm)</th>
        </tr>
      </thead>

      <tbody>

        <tr style="border-bottom:1px solid #eee;">
          <td style="padding:12px;"><strong>40</strong></td>
          <td style="padding:12px;">15 Pa/m</td>
          <td style="padding:12px;color:#666;">pomijalnie mały</td>
        </tr>

        <tr style="border-bottom:1px solid #eee;background:#f9f9f9;">
          <td style="padding:12px;"><strong>60</strong></td>
          <td style="padding:12px;">35 Pa/m</td>
          <td style="padding:12px;color:#666;">pomijalnie mały</td>
        </tr>

        <tr style="border-bottom:1px solid #eee;">
          <td style="padding:12px;"><strong>80</strong></td>
          <td style="padding:12px;">70 Pa/m</td>
          <td style="padding:12px;">15 Pa/m</td>
        </tr>

        <tr style="border-bottom:1px solid #eee;background:#f9f9f9;">
          <td style="padding:12px;"><strong>100</strong></td>
          <td style="padding:12px;">120 Pa/m</td>
          <td style="padding:12px;">25 Pa/m</td>
        </tr>

        <tr style="border-bottom:1px solid #eee;">
          <td style="padding:12px;"><strong>120</strong></td>
          <td style="padding:12px;color:#c53030;"><strong>170 Pa/m</strong></td>
          <td style="padding:12px;">35 Pa/m</td>
        </tr>

        <tr style="border-bottom:1px solid #eee;background:#f9f9f9;">
          <td style="padding:12px;"><strong>150</strong></td>
          <td style="padding:12px;color:#c53030;"><strong>280 Pa/m</strong></td>
          <td style="padding:12px;">55 Pa/m</td>
        </tr>

        <tr>
          <td style="padding:12px;"><strong>200</strong></td>
          <td style="padding:12px;color:#c53030;"><strong>480 Pa/m</strong></td>
          <td style="padding:12px;">100 Pa/m</td>
        </tr>

      </tbody>

    </table>

  </div>

  <div style="margin-top:20px;padding:15px;background:#eef6ff;border-left:5px solid #2b6cb0;border-radius:6px;">
    <strong>Analiza tabeli:</strong><br><br>
    Widzimy wyraźnie, jak gwałtownie rosną opory hydrauliczne wraz ze wzrostem przepływu, szczególnie dla najczęściej stosowanej rury <strong>16&#215;2,0</strong>.<br><br>
    Przy przepływie <strong>120 kg/h</strong>, jednostkowy spadek ciśnienia wynosi już <strong>170 Pa/m</strong>, co ma bezpośredni wpływ na dobór pompy obiegowej oraz maksymalną długość pętli ogrzewania podłogowego.
  </div>

</div>



<p class="wp-block-paragraph"><strong>Ćwiczenie praktyczne dla kotła gazowego:</strong><br>Dla naszego salonu (1500 W, ΔT = 10K, przepływ 129 kg/h, zaokrąglijmy do 130 kg/h) projektujemy pętlę z rury 16&#215;2,0 o długości&nbsp;<strong>85 metrów</strong>. Z tabeli, dla 130 kg/h, jednostkowy spadek to około 200 Pa/m (interpolując między 120 a 150 kg/h). Sam liniowy spadek ciśnienia wyniesie:<br><strong>85 m × 200 Pa/m = 17 000 Pa = 17 kPa</strong>.<br>Do tego doliczamy opory miejscowe (przyjęte 20%): 17 kPa × 0,2 = 3,4 kPa.<br><strong>Łączny spadek ciśnienia: 20,4 kPa</strong>.</p>



<p class="wp-block-paragraph"><strong>Wniosek:</strong>&nbsp;Jesteśmy na granicy (lub nieznacznie powyżej) dopuszczalnych 20 kPa. Taka pętla prawdopodobnie będzie wymagała bardzo precyzyjnego wyregulowania, a pompa może pracować na wysokich obrotach. Rozwiązaniem jest skrócenie pętli (np. podzielenie salonu na dwa obiegi po 70 m) lub zwiększenie średnicy rury.</p>



<p class="wp-block-paragraph"><strong>Ćwiczenie praktyczne dla pompy ciepła:</strong><br>Weźmy ten sam salon (1500 W), ale tym razem przy ΔT = 5K, co daje przepływ 258 kg/h (ok. 4,3 l/min). Sprawdźmy, czy rura 16&#215;2,0 w ogóle wchodzi w grę. Dla przepływu 258 kg/h, jednostkowy spadek ciśnienia z tabeli (ekstrapolując dane) wyniósłby około 700-800 Pa/m! Dla pętli o długości 85 m, sam spadek liniowy to 85 × 750 Pa = 63 750 Pa (63,7 kPa). To zdecydowanie za dużo.</p>



<p class="wp-block-paragraph">W tej sytuacji konieczne jest:</p>



<ol start="1" class="wp-block-list">
<li><strong>Zwiększenie średnicy rury</strong>&nbsp;– zastosowanie rury 20&#215;2,0. Dla przepływu 258 kg/h, jednostkowy spadek dla tej rury to około 160 Pa/m (z ekstrapolacji danych). Dla 85 m daje to 13,6 kPa liniowo + opory miejscowe = około 16,5 kPa – wynik akceptowalny.</li>



<li><strong>Podział na więcej pętli</strong>&nbsp;– zaprojektowanie dwóch lub trzech krótszych pętli, co zmniejszy przepływ w każdej z nich i pozwoli na zastosowanie rury 16&#215;2,0, ale zwiększy liczbę obiegów na rozdzielaczu.</li>
</ol>



<h3 class="wp-block-heading">Prędkość przepływu – sprawdzenie.</h3>



<p class="wp-block-paragraph">Dla rury 16&#215;2,0 przy przepływie 130 kg/h, prędkość wody wynosi około&nbsp;<strong>0,3 m/s</strong>&nbsp;– mieści się w przedziale 0,15-0,6 m/s. Dla rury 20&#215;2,0 przy przepływie 258 kg/h, prędkość wyniesie około&nbsp;<strong>0,35 m/s</strong>&nbsp;– również jest prawidłowa.</p>



<h2 class="wp-block-heading">Graniczne długości pętli – zasada kciuka.</h2>



<p class="wp-block-paragraph">Aby uniknąć problemów z hydraulicznym zrównoważeniem układu, w projektowaniu przyjmuje się bezpieczne granice długości jednej <a href="https://projekt-ogrzewania.pl/petla-grzewcza/" type="link" id="https://projekt-ogrzewania.pl/petla-grzewcza/">pętli</a> (łącznie z podejściem do rozdzielacza). Wartości te wynikają z praktyki i mają na celu utrzymanie spadków ciśnienia w rozsądnych granicach.</p>



<div style="max-width:900px;margin:30px auto;font-family:Arial,Helvetica,sans-serif;">

  <h2 style="font-size:22px;margin-bottom:15px;">
    Tabela 2. Zalecane i maksymalne długości pętli ogrzewania podłogowego
  </h2>

  <div style="overflow-x:auto;border-radius:10px;border:1px solid #ddd;">

    <table style="width:100%;border-collapse:collapse;min-width:600px;background:white;">

      <thead>
        <tr style="background:#2b6cb0;color:white;text-align:left;">
          <th style="padding:12px;">Średnica rury</th>
          <th style="padding:12px;">Maksymalna długość pętli</th>
          <th style="padding:12px;">Zalecana długość<br>(dla łatwej regulacji)</th>
        </tr>
      </thead>

      <tbody>

        <tr style="border-bottom:1px solid #eee;">
          <td style="padding:12px;"><strong>16 × 2,0 mm</strong></td>
          <td style="padding:12px;">100 – 120 m</td>
          <td style="padding:12px;color:#2f855a;"><strong>80 m</strong></td>
        </tr>

        <tr style="border-bottom:1px solid #eee;background:#f9f9f9;">
          <td style="padding:12px;"><strong>17 × 2,0 mm</strong></td>
          <td style="padding:12px;">120 m</td>
          <td style="padding:12px;color:#2f855a;"><strong>90 m</strong></td>
        </tr>

        <tr>
          <td style="padding:12px;"><strong>20 × 2,0 mm</strong></td>
          <td style="padding:12px;">150 m</td>
          <td style="padding:12px;color:#2f855a;"><strong>110 m</strong></td>
        </tr>

      </tbody>

    </table>

  </div>

  <div style="margin-top:20px;padding:15px;background:#fff8e6;border-left:5px solid #d69e2e;border-radius:6px;">
    <strong>Wskazówka projektowa:</strong><br><br>
    Staraj się, aby pętle podłączone do jednego rozdzielacza miały <strong>zbliżone długości</strong>. Różnica nie powinna przekraczać <strong>10–15%</strong>.<br><br>
    Ułatwia to regulację hydrauliczną instalacji oraz zapobiega sytuacji, w której przepływ koncentruje się głównie w najkrótszych pętlach, powodując nierównomierne ogrzewanie pomieszczeń.
  </div>

</div>



<h2 class="wp-block-heading">Praktyczne wyliczenia na przykładzie – jak średnica rury ratuje sytuację?</h2>



<p class="wp-block-paragraph">Wróćmy do przykładu z pompą ciepła (przepływ 258 kg/h) i pętlą o długości 100 metrów, ale tym razem zastosujmy rurę&nbsp;<strong>20&#215;2,0</strong>. Z naszych szacunków (opartych na ekstrapolacji danych z Tabeli 1) jednostkowy spadek ciśnienia wyniesie około 160 Pa/m.</p>



<p class="wp-block-paragraph">Obliczenia:</p>



<ul class="wp-block-list">
<li>Spadek liniowy: 100 m × 160 Pa/m = 16 000 Pa =&nbsp;<strong>16,0 kPa</strong>.</li>



<li>Opory miejscowe (+20%): 16,0 kPa × 0,2 = 3,2 kPa.</li>



<li><strong>Łączny spadek ciśnienia: 19,2 kPa.</strong></li>
</ul>



<p class="wp-block-paragraph">To wynik mieszczący się w granicy 20 kPa. Gdybyśmy przy tej samej długości 100 m uparli się przy rurze 16&#215;2,0, opory sięgnęłyby około 75-80 kPa, co całkowicie dyskwalifikuje takie rozwiązanie. Ten przykład dobitnie pokazuje, jak kluczowy jest świadomy wybór&nbsp;<strong>średnicy rury</strong>&nbsp;w zależności od zakładanych przepływów.</p>



<h2 class="wp-block-heading">Rola profesjonalnego projektu w optymalizacji parametrów.</h2>



<p class="wp-block-paragraph">Przedstawione powyżej wyliczenia to dopiero wierzchołek góry lodowej. Samodzielne dobranie&nbsp;<strong>średnic rur, przepływów i spadków ciśnień</strong>&nbsp;dla całego domu z kilkunastoma pętlami o różnej długości i zapotrzebowaniu na moc to zadanie bardzo złożone. W praktyce wszystkie pętle są podłączone do wspólnego rozdzielacza, a celem projektanta jest takie &#8222;wyważenie&#8221; instalacji, aby spadki ciśnienia we wszystkich obiegach były zbliżone. To proces zwany&nbsp;<strong>równoważeniem hydraulicznym</strong>.</p>



<p class="wp-block-paragraph">Profesjonalny <a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-200-m2/" type="link" id="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-200-m2/">projekt ogrzewania podłogowego</a> uwzględnia nie tylko dobór średnic, ale także:</p>



<ul class="wp-block-list">
<li>Dokładne obliczenie strat ciepła dla każdego pomieszczenia.</li>



<li>Rozrysowanie rozkładu pętli z uwzględnieniem stref przyokiennych.</li>



<li>Dobór nastaw wstępnych na rozdzielaczu (regulacja przepływu).</li>



<li>Dobór pompy obiegowej o odpowiedniej wysokości podnoszenia i wydajności.</li>
</ul>



<p class="wp-block-paragraph">Pamiętaj, że dobrze zaprojektowana i zrównoważona instalacja to nie tylko komfort cieplny, ale także niższe rachunki za ogrzewanie i energię elektryczną potrzebną do napędu pompy. Inwestycja w projekt zwraca się zazwyczaj w ciągu pierwszych sezonów grzewczych. Znajomość zależności między&nbsp;<strong>średnicą rury, przepływem a spadkiem ciśnienia</strong>&nbsp;jest jednak niezwykle przydatna do świadomej rozmowy z projektantem i wykonawcą oraz do zrozumienia, dlaczego pewne rozwiązania są rekomendowane.</p>



<h2 class="wp-block-heading">FAQ – Najczęściej zadawane pytania.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1771926581109"><strong class="schema-faq-question"><strong>Jaka średnica rury jest najlepsza do ogrzewania podłogowego w domu jednorodzinnym?</strong></strong> <p class="schema-faq-answer">Najczęściej stosuje się rurę 16 × 2,0 mm, która zapewnia dobry kompromis między oporami hydraulicznymi a łatwością montażu. W przypadku pomp ciepła lub dużych powierzchni warto rozważyć rurę 20 × 2,0 mm.</p> </div> <div class="schema-faq-section" id="faq-question-1771926590375"><strong class="schema-faq-question"><strong>Dlaczego średnica rury wpływa na wydajność ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Mniejsza średnica powoduje większe opory przepływu, co zwiększa obciążenie pompy obiegowej i może ograniczyć przepływ wody. To prowadzi do spadku wydajności grzewczej i nierównomiernego ogrzewania podłogi.</p> </div> <div class="schema-faq-section" id="faq-question-1771926599440"><strong class="schema-faq-question"><strong>Jaka powinna być maksymalna długość jednej pętli ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Dla rury 16 mm zaleca się długość do około 80–100 metrów, natomiast dla rury 20 mm można stosować pętle do około 110–150 metrów, w zależności od przepływu i źródła ciepła.</p> </div> <div class="schema-faq-section" id="faq-question-1771926609348"><strong class="schema-faq-question"><strong>Jakie spadki ciśnienia są dopuszczalne w ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">Łączny spadek ciśnienia w jednej pętli nie powinien przekraczać 15–20 kPa. Wyższe wartości utrudniają regulację instalacji i zwiększają zużycie energii przez pompę obiegową.</p> </div> <div class="schema-faq-section" id="faq-question-1771926628127"><strong class="schema-faq-question"><strong>Czy pompa ciepła wymaga innych średnic rur niż kocioł gazowy?</strong></strong> <p class="schema-faq-answer">Tak. Pompy ciepła pracują przy mniejszej różnicy temperatur (ΔT = 5 K), co wymaga większego przepływu wody. W takich przypadkach często stosuje się rury 20 mm lub dzieli instalację na większą liczbę krótszych pętli.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie techniczne – kluczowe wnioski.</h2>



<ul class="wp-block-list">
<li><strong>Rura 16 mm</strong>&nbsp;jest optymalna do rozstawów 10 cm lub 15 cm w standardowych pokojach z kotłami gazowymi (ΔT ≈ 10K). Sprawdza się przy przepływach do ok. 150 kg/h i długościach pętli do 80-100 m.</li>



<li><strong>Przy pompach ciepła</strong>&nbsp;dążymy do niskich parametrów zasilania (30–35°C) i niskiej różnicy temperatur (ΔT = 5K). To wymusza&nbsp;<strong>większe przepływy</strong>, a co za tym idzie – konieczność stosowania&nbsp;<strong>rur 20 mm</strong>&nbsp;lub dzielenia powierzchni na bardzo dużą liczbę krótkich pętli (często co 10 cm).</li>



<li>Każda pętla musi mieć możliwość regulacji na rozdzielaczu (zawory termostatyczne i rotametry), co pozwala na precyzyjne ustawienie wymaganego przepływu obliczonego ze wzoru.</li>



<li>Zawsze sprawdzaj, czy sumaryczny&nbsp;<strong>spadek ciśnienia</strong>&nbsp;w projektowanej pętli nie przekracza 20 kPa, a prędkość wody mieści się w przedziale 0,15–0,6 m/s.</li>
</ul>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/">Średnice rur w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Projekt ogrzewania podłogowego z pompą ciepła.</title>
		<link>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 08 Feb 2026 09:42:12 +0000</pubDate>
				<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie niskotemperaturowe]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Pompa ciepła]]></category>
		<category><![CDATA[Pompy ciepła]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki inwestora]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[budownictwo nowoczesne]]></category>
		<category><![CDATA[chłodzenie płaszczyznowe]]></category>
		<category><![CDATA[cop]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[hydraulika]]></category>
		<category><![CDATA[instalacje hvac]]></category>
		<category><![CDATA[jastrych anhydrytowy]]></category>
		<category><![CDATA[koszty ogrzewania]]></category>
		<category><![CDATA[niskie parametry zasilania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędność energii]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projektowanie instalacji]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3414</guid>

					<description><![CDATA[<p>Wybór systemu grzewczego to jedna z najważniejszych decyzji podczas budowy nowoczesnego domu. Samo urządzenie to jednak tylko połowa sukcesu. Aby instalacja była naprawdę energooszczędna, niezbędny jest rzetelny i precyzyjnie wykonany projekt ogrzewania podłogowego z pompą ciepła, który połączy fizykę budowli z charakterystyką pracy inwertera. W tym artykule wchodzimy głęboko w techniczne aspekty synergii systemów niskotemperaturowych. Analizujemy wpływ temperatury zasilania na współczynnik COP, wyjaśniamy znaczenie bezwładności jastrychu dla żywotności sprężarki oraz podpowiadamy, jak uniknąć błędów hydraulicznych, które mogą drastycznie podnieść Twoje rachunki za prąd. To obowiązkowa lektura dla każdego świadomego inwestora.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">Projekt ogrzewania podłogowego z pompą ciepła.</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-card: #1e293b;
    --rk-intro-primary: #06b6d4; /* Cyjan/Teal - idealny do tematów pomp ciepła */
    --rk-intro-primary-glow: rgba(6, 182, 212, 0.4);
    --rk-intro-success: #10b981;
    --rk-intro-danger: #f43f5e;
    --rk-intro-text: #e2e8f0;
    --rk-intro-muted: #94a3b8;
    --rk-intro-bg: #ffffff;
}

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

/* Sekcja Wstępu - Ciemny motyw dla kontrastu */
.rk-intro-hero {
    background: linear-gradient(145deg, var(--rk-intro-dark), var(--rk-intro-card));
    padding: 50px 45px;
    color: #ffffff;
    position: relative;
}

.rk-intro-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(6, 182, 212, 0.15);
    color: var(--rk-intro-primary);
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 25px;
    border: 1px solid rgba(6, 182, 212, 0.3);
}

.rk-intro-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
    color: #ffffff;
}

.rk-intro-title span {
    color: var(--rk-intro-primary);
}

.rk-intro-text-block {
    font-size: 17px;
    line-height: 1.8;
    color: var(--rk-intro-text);
}

.rk-intro-text-block p {
    margin: 0 0 15px 0;
}

.rk-intro-text-block strong {
    color: #ffffff;
    font-weight: 800;
}

.rk-intro-text-block a {
    color: var(--rk-intro-primary);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px dashed var(--rk-intro-primary);
    transition: all 0.3s;
}

.rk-intro-text-block a:hover {
    color: #ffffff;
    border-bottom-color: #ffffff;
}

/* Interaktywny Dashboard */
.rk-intro-dashboard {
    padding: 40px 45px;
    background: #f8fafc;
}

.rk-intro-dash-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    flex-wrap: wrap;
    gap: 20px;
}

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

.rk-intro-dash-title p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-intro-muted);
}

/* Przełącznik (Toggle) */
.rk-toggle-wrapper {
    display: inline-flex;
    background: #e2e8f0;
    border-radius: 999px;
    padding: 4px;
    position: relative;
}

.rk-toggle-btn {
    padding: 10px 20px;
    border: none;
    background: transparent;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-intro-muted);
    cursor: pointer;
    border-radius: 999px;
    transition: all 0.3s;
    position: relative;
    z-index: 2;
}

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

.rk-toggle-pill {
    position: absolute;
    top: 4px;
    left: 4px;
    height: calc(100% - 8px);
    background: var(--rk-intro-danger);
    border-radius: 999px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
}

/* Wskaźniki Grid */
.rk-gauge-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.rk-gauge-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 25px 20px;
    text-align: center;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s, box-shadow 0.3s;
}

.rk-gauge-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.rk-gauge-title {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-intro-muted);
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.rk-gauge-value {
    font-size: 36px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    line-height: 1;
    margin-bottom: 10px;
    transition: color 0.4s;
}

/* SVG Animations */
.rk-svg-icon {
    width: 60px;
    height: 60px;
    margin: 0 auto 15px auto;
}

.svg-rotor {
    transform-origin: center;
}

/* State: Bad (No Project) */
.state-bad .svg-rotor {
    animation: spin-erratic 0.8s infinite;
    stroke: var(--rk-intro-danger);
}
.state-bad .val-cop { color: var(--rk-intro-danger); }
.state-bad .val-bill { color: var(--rk-intro-danger); }

/* State: Good (Project) */
.state-good .svg-rotor {
    animation: spin-smooth 3s linear infinite;
    stroke: var(--rk-intro-success);
}
.state-good .val-cop { color: var(--rk-intro-success); }
.state-good .val-bill { color: var(--rk-intro-success); }

@keyframes spin-smooth {
    100% { transform: rotate(360deg); }
}

@keyframes spin-erratic {
    0% { transform: rotate(0deg); }
    30% { transform: rotate(120deg); }
    50% { transform: rotate(100deg); }
    80% { transform: rotate(280deg); }
    100% { transform: rotate(360deg); }
}

/* Wskaźnik Łukowy (Gauge) SVG */
.gauge-bg {
    fill: none;
    stroke: #e2e8f0;
    stroke-width: 8;
    stroke-linecap: round;
}
.gauge-fill {
    fill: none;
    stroke-width: 8;
    stroke-linecap: round;
    transition: stroke-dasharray 0.8s cubic-bezier(0.4, 0, 0.2, 1), stroke 0.4s;
}

@media (max-width: 768px) {
    .rk-intro-hero, .rk-intro-dashboard { padding: 35px 25px; }
    .rk-gauge-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-intro-dash-header { flex-direction: column; align-items: flex-start; }
    .rk-toggle-wrapper { width: 100%; display: flex; }
    .rk-toggle-btn { flex: 1; text-align: center; padding: 12px 10px; font-size: 13px; }
    .rk-intro-title { font-size: 24px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/"
    },
    "headline": "Wstęp – Synergia Pompy Ciepła i Ogrzewania Podłogowego",
    "description": "Kluczowy dokument techniczny definiujący synergię między źródłem ciepła a hydrauliką. Brak obliczeń to drastyczny spadek COP i taktowanie 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.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-02-08",
    "dateModified": "2026-05-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#dataset-wstep",
    "name": "Wpływ braku projektu na parametry pracy pompy ciepła",
    "description": "Dane wyjściowe pokazujące spadek współczynnika efektywności (COP) oraz wzrost kosztów operacyjnych przy braku optymalizacji hydraulicznej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "współczynnik COP pompy ciepła",
      "taktowanie sprężarki",
      "zużycie prądu przez pompę ciepła",
      "optymalizacja hydrauliki instalacji",
      "projekt ogrzewania podłogowego z pompą ciepła"
    ],
    "measurementTechnique": "Porównanie deklarowanego wskaźnika COP pompy inwerterowej z rzeczywistym poborem prądu przy błędnie ułożonych pętlach i braku zładu wodnego (taktowanie).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Optymalizacja (Z Projektem): COP 4.5 - 5.0, płynna praca inwertera.",
        "Błąd wykonawczy (Bez Projektu): Spadek COP do 3.0, rachunki wyższe o 35%, taktowanie niszczące sprężarkę."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#webapp-wstep",
    "name": "Symulator Taktowania i COP",
    "description": "Interaktywne narzędzie przełącznikowe (toggle) pokazujące wizualną różnicę w żywotności sprężarki i wartości COP w zależności od wykonania inżynieryjnego projektu hydraulicznego OZC.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="rk-intro-app">
    
    <div class="rk-intro-hero">
        <div class="rk-intro-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="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Wprowadzenie Techniczne
        </div>
        <h2 class="rk-intro-title">Osiągnij <span>Synergię</span> Źródła Ciepła i Podłogi</h2>
        
        <div class="rk-intro-text-block">
            <p>
                <strong>Projekt ogrzewania podłogowego z pompą ciepła</strong> to kluczowy dokument techniczny, który definiuje synergię między niskotemperaturowym źródłem ciepła a płaszczyznowym układem oddawania energii.
            </p>
            <p>
                Prawidłowo wykonany projekt optymalizuje hydraulikę instalacji, ustalając rozstaw rur, <a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/">przepływy masowe oraz nastawy zaworów</a>, co pozwala na osiągnięcie maksymalnego współczynnika <strong>COP na poziomie 4,5–5,0</strong>. 
            </p>
            <p>
                Ignorowanie <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczeń inżynieryjnych (OZC)</a> w <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">systemach z pompą ciepła</a> prowadzi do drastycznego wzrostu rachunków za prąd (nawet o <strong>35%</strong>) oraz przedwczesnego zużycia sprężarki wskutek tzw. <strong>taktowania</strong>.
            </p>
        </div>
    </div>

    <div class="rk-intro-dashboard state-bad" id="rkDashState">
        <div class="rk-intro-dash-header">
            <div class="rk-intro-dash-title">
                <h3>Symulacja Pracy Sprężarki</h3>
                <p>Zobacz, jak projekt wpływa na żywotność i efektywność systemu.</p>
            </div>
            
            <div class="rk-toggle-wrapper">
                <div class="rk-toggle-pill" id="rkTogglePill" style="width: 145px; transform: translateX(0);"></div>
                <button class="rk-toggle-btn active" data-state="bad" id="btnBad">Montaż &#8222;Na oko&#8221;</button>
                <button class="rk-toggle-btn" data-state="good" id="btnGood">Projekt OZC</button>
            </div>
        </div>

        <div class="rk-gauge-grid">
            <div class="rk-gauge-card">
                <div class="rk-gauge-title">Praca Sprężarki</div>
                <svg class="rk-svg-icon" viewBox="0 0 100 100">
                    <circle cx="50" cy="50" r="40" fill="none" stroke="#e2e8f0" stroke-width="6"/>
                    <path class="svg-rotor" d="M50 15 L50 45 M50 55 L50 85 M15 50 L45 50 M55 50 L85 50 M25 25 L43 43 M57 57 L75 75 M75 25 L57 43 M43 57 L25 75" stroke-width="6" stroke-linecap="round"/>
                    <circle cx="50" cy="50" r="10" fill="#cbd5e1" />
                </svg>
                <div class="rk-gauge-value" id="valStatus" style="font-size: 24px;">Taktowanie!</div>
                <div style="font-size: 13px; color: var(--rk-intro-muted);">Szybkie zużycie</div>
            </div>

            <div class="rk-gauge-card">
                <div class="rk-gauge-title">Efektywność (COP)</div>
                <svg class="rk-svg-icon" viewBox="0 0 100 80">
                    <path class="gauge-bg" d="M 10 70 A 40 40 0 0 1 90 70" />
                    <path id="svgCopGauge" class="gauge-fill" d="M 10 70 A 40 40 0 0 1 90 70" stroke="var(--rk-intro-danger)" stroke-dasharray="35 125"/>
                </svg>
                <div class="rk-gauge-value val-cop" id="valCop">3.1</div>
                <div style="font-size: 13px; color: var(--rk-intro-muted);">Zasilanie 45°C</div>
            </div>

            <div class="rk-gauge-card">
                <div class="rk-gauge-title">Koszty Prądu</div>
                <svg class="rk-svg-icon" viewBox="0 0 100 100" style="margin-bottom: 5px;">
                    <rect x="25" y="20" width="50" height="60" rx="8" fill="none" stroke="#cbd5e1" stroke-width="6"/>
                    <line x1="40" y1="40" x2="60" y2="40" stroke="#cbd5e1" stroke-width="6" stroke-linecap="round"/>
                    <line x1="40" y1="55" x2="60" y2="55" stroke="#cbd5e1" stroke-width="6" stroke-linecap="round"/>
                </svg>
                <div class="rk-gauge-value val-bill" id="valBill">+35%</div>
                <div style="font-size: 13px; color: var(--rk-intro-muted);">Straty finansowe</div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez nagłówków HX)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-intro-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 30px; text-align: center; background: #0f172a; color: #f43f5e; border: 2px solid #e11d48; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 48px; margin-bottom: 20px;">🚫</div>
                    <div style="font-size: 22px; font-weight: 900; margin-bottom: 15px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 15px; color: #cbd5e1; max-width: 600px; margin: 0 auto; line-height: 1.7;">
                        Ten komponent interaktywny oraz zintegrowane dane ustrukturyzowane (JSON-LD) stanowią własność intelektualną serwisu <strong>Projekt-Ogrzewania.pl</strong>. Skrypt został zablokowany.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Dashboardu / Przełącznika
    const dashContainer = document.getElementById('rkDashState');
    const pill = document.getElementById('rkTogglePill');
    const btnBad = document.getElementById('btnBad');
    const btnGood = document.getElementById('btnGood');
    
    // Zmienne DOM wartości
    const valStatus = document.getElementById('valStatus');
    const valCop = document.getElementById('valCop');
    const valBill = document.getElementById('valBill');
    const svgCopGauge = document.getElementById('svgCopGauge');

    // Funkcja zmieniająca stan
    function setState(state) {
        if (state === 'bad') {
            // Stylizacja przycisków
            btnBad.classList.add('active');
            btnGood.classList.remove('active');
            pill.style.transform = 'translateX(0)';
            pill.style.width = btnBad.offsetWidth + 'px';
            pill.style.backgroundColor = 'var(--rk-intro-danger)';
            
            // Stylizacja Kontenera
            dashContainer.className = 'rk-intro-dashboard state-bad';
            
            // Aktualizacja Wartości
            valStatus.innerText = 'Taktowanie!';
            valCop.innerText = '3.0';
            valCop.nextElementSibling.innerText = 'Zasilanie 40-45°C';
            valBill.innerText = '+35%';
            valBill.nextElementSibling.innerText = 'Straty finansowe';
            
            // Animacja Gauge COP (Mniej zielonego, mały obwód)
            // Obwód dla r=40 (półokrąg) to ok 125px
            svgCopGauge.setAttribute('stroke', 'var(--rk-intro-danger)');
            svgCopGauge.style.strokeDasharray = '35 125'; 

        } else {
            // Stylizacja przycisków
            btnGood.classList.add('active');
            btnBad.classList.remove('active');
            pill.style.transform = `translateX(${btnBad.offsetWidth}px)`;
            pill.style.width = btnGood.offsetWidth + 'px';
            pill.style.backgroundColor = 'var(--rk-intro-success)';
            
            // Stylizacja Kontenera
            dashContainer.className = 'rk-intro-dashboard state-good';
            
            // Aktualizacja Wartości
            valStatus.innerText = 'Płynna praca';
            valCop.innerText = '4.8';
            valCop.nextElementSibling.innerText = 'Zasilanie 30°C';
            valBill.innerText = 'Optymalne';
            valBill.nextElementSibling.innerText = 'Niskie rachunki';
            
            // Animacja Gauge COP (Pełny łuk)
            svgCopGauge.setAttribute('stroke', 'var(--rk-intro-success)');
            svgCopGauge.style.strokeDasharray = '120 125'; 
        }
    }

    // Event Listenery
    btnBad.addEventListener('click', () => setState('bad'));
    btnGood.addEventListener('click', () => setState('good'));

    // Fix rozmiaru pigułki na start
    setTimeout(() => {
        pill.style.width = btnBad.offsetWidth + 'px';
    }, 100);
    
    // Inicjalizacja domyślnego widoku (Ostrzegawczy)
    setState('bad');
});
</script>



<style>
:root {
    --rk-temp-dark: #111827;
    --rk-temp-card: #1f2937;
    --rk-temp-brand: #3b82f6;
    --rk-temp-optimal: #10b981; /* Zielony (Optymalnie) */
    --rk-temp-warning: #f59e0b; /* Pomarańczowy (Ostrzeżenie) */
    --rk-temp-danger: #ef4444; /* Czerwony (Błąd) */
    --rk-temp-text: #334155;
    --rk-temp-muted: #64748b;
    --rk-temp-bg: #f8fafc;
    --rk-temp-border: #cbd5e1;
}

.rk-temp-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--rk-temp-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-temp-header {
    background: var(--rk-temp-dark);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 5px solid var(--rk-temp-brand);
}

.rk-temp-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(59, 130, 246, 0.2);
    color: #60a5fa;
    padding: 8px 18px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(96, 165, 250, 0.3);
}

.rk-temp-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0;
    color: #ffffff;
}

.rk-temp-title span {
    color: var(--rk-temp-brand);
}

/* Kontener Interaktywny */
.rk-temp-interactive {
    padding: 40px 50px;
    background: var(--rk-temp-bg);
}

.rk-temp-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

/* Panel Kontrolny */
.rk-temp-control-panel {
    background: #ffffff;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-temp-border);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
}

.rk-temp-slider-wrap {
    margin-bottom: 25px;
}

.rk-temp-slider-label {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    font-weight: 800;
    font-size: 15px;
    color: var(--rk-temp-dark);
}

.rk-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 10px;
    border-radius: 5px;
    background: linear-gradient(to right, var(--rk-temp-optimal) 0%, var(--rk-temp-warning) 50%, var(--rk-temp-danger) 100%);
    outline: none;
    cursor: pointer;
}

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

.rk-slider::-webkit-slider-thumb:active {
    transform: scale(1.15);
    cursor: grabbing;
}

/* Wyniki (Odczyty) */
.rk-temp-readings {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-reading-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background: var(--rk-temp-bg);
    border-radius: 12px;
    border: 1px solid var(--rk-temp-border);
}

.rk-reading-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-temp-muted);
    text-transform: uppercase;
}

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

/* Wizualizacja SVG (Termowizja podłogi) */
.rk-temp-visual {
    position: relative;
    width: 100%;
    height: 280px;
    background: var(--rk-temp-dark);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 4px solid #334155;
    box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
}

.rk-visual-title {
    position: absolute;
    top: 15px;
    left: 20px;
    color: rgba(255,255,255,0.6);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    z-index: 2;
}

.rk-svg-floor {
    width: 80%;
    height: auto;
    z-index: 1;
}

.svg-pipe {
    fill: none;
    stroke-width: 8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke 0.4s;
}

.svg-heat-glow {
    transition: stop-color 0.4s, stop-opacity 0.4s;
}

/* Tekst i Wyjaśnienie */
.rk-temp-content {
    padding: 0 50px 45px 50px;
    background: #ffffff;
}

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

.rk-temp-content p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--rk-temp-text);
    margin-bottom: 20px;
}

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

.rk-temp-content a {
    color: var(--rk-temp-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid rgba(59, 130, 246, 0.2);
    transition: border-color 0.3s;
}

.rk-temp-content a:hover {
    border-color: var(--rk-temp-brand);
}

.rk-alert-box {
    background: #fef2f2;
    border-left: 4px solid var(--rk-temp-danger);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin-top: 25px;
}

.rk-alert-box p {
    margin: 0;
    color: #991b1b;
    font-size: 15px;
}

@media (max-width: 768px) {
    .rk-temp-header, .rk-temp-interactive, .rk-temp-content { padding: 30px 25px; }
    .rk-temp-grid { grid-template-columns: 1fr; gap: 25px; }
    .rk-temp-title { font-size: 22px; }
    .rk-reading-value { font-size: 18px; }
    .rk-temp-visual { height: 220px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#article-temperatura",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/"
    },
    "headline": "Maksymalna temperatura zasilania w projekcie ogrzewania podłogowego z pompą ciepła",
    "description": "Optymalna temperatura zasilania (Tz) dla pompy ciepła to 28-32°C zgodnie z PN-EN 1264. Poznaj skutki finansowe błędnego rozstawu rur wymuszającego pracę na 40°C.",
    "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-11",
    "dateModified": "2026-05-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#dataset-temperatura",
    "name": "Korelacja: Rozstaw rur a temperatura zasilania i koszty eksploatacji",
    "description": "Zestawienie wykazujące, jak oszczędności na rurach (rozstaw 15 cm zamiast 10 cm) wymuszają wyższą temperaturę zasilania (Tz), obniżając sprawność pompy ciepła o 2,5-3% na każdy stopień.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna temperatura zasilania podłogówki",
      "norma PN-EN 1264 parametry",
      "rozstaw rur 10 czy 15 cm",
      "spadek COP pompy ciepła",
      "straty finansowe ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Symulacja strat finansowych w okresie 20 lat w oparciu o spadek współczynnika COP wywołany koniecznością podniesienia krzywej grzewczej dla zrekompensowania małej powierzchni grzewczej (rzadki rozstaw rur).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Projekt zgodny z PN-EN 1264: Rozstaw 10 cm, Tz = 30°C, maksymalna sprawność sprężarki.",
        "Instalacja 'na oko': Rozstaw 15 cm, Tz = 40°C+, generuje od 25 000 do 40 000 PLN strat po 20 latach."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#webapp-temperatura",
    "name": "Kalkulator Strat Termo-Ekonomicznych",
    "description": "Interaktywny suwak pozwalający użytkownikowi manipulować rozstawem rur (od 10 cm do 15 cm) i obserwować bezpośredni wzrost temperatury zasilania oraz skumulowaną stratę finansową w ciągu 20 lat pracy pompy ciepła.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-temp-container" id="rk-temp-app">
    
    <div class="rk-temp-header">
        <div class="rk-temp-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="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path></svg>
            Termodynamika Układu
        </div>
        <h2 class="rk-temp-title">Maksymalna temperatura zasilania a <span>Koszty Ukryte</span></h2>
    </div>

    <div class="rk-temp-interactive">
        <div class="rk-temp-grid">
            
            <div class="rk-temp-control-panel">
                <div class="rk-temp-slider-wrap">
                    <div class="rk-temp-slider-label">
                        <span>Rozstaw Projektowy (10 cm)</span>
                        <span style="color: var(--rk-temp-danger);">Wykonawstwo &#8222;Na oko&#8221; (15 cm)</span>
                    </div>
                    <input type="range" min="0" max="100" value="0" class="rk-slider" id="rkTzSlider">
                </div>

                <div class="rk-temp-readings">
                    <div class="rk-reading-box">
                        <span class="rk-reading-title">Gęstość Rur (OZC)</span>
                        <span class="rk-reading-value" id="valSpacing">10 cm</span>
                    </div>
                    <div class="rk-reading-box">
                        <span class="rk-reading-title">Wymagane Zasilanie (Tz)</span>
                        <span class="rk-reading-value" id="valTz" style="color: var(--rk-temp-optimal);">30.0 °C</span>
                    </div>
                    <div class="rk-reading-box">
                        <span class="rk-reading-title">Strata po 20 latach</span>
                        <span class="rk-reading-value" id="valLoss" style="color: var(--rk-temp-optimal);">0 PLN</span>
                    </div>
                </div>
            </div>

            <div class="rk-temp-visual">
                <div class="rk-visual-title">Kamera Termowizyjna (Symulacja)</div>
                <svg class="rk-svg-floor" viewBox="0 0 200 120" preserveAspectRatio="xMidYMid meet">
                    <defs>
                        <linearGradient id="heatGradient" x1="0%" y1="0%" x2="0%" y2="100%">
                            <stop offset="0%" stop-color="#ef4444" stop-opacity="0.8" id="glowTop"/>
                            <stop offset="100%" stop-color="#ef4444" stop-opacity="0.1" id="glowBottom"/>
                        </linearGradient>
                    </defs>
                    <rect x="10" y="20" width="180" height="90" rx="4" fill="url(#heatGradient)" />
                    <rect x="10" y="20" width="180" height="90" rx="4" fill="none" stroke="#475569" stroke-width="2" />
                    
                    <path id="svgPipeHeat" class="svg-pipe" stroke="#ef4444" d="M 30 110 L 30 40 A 10 10 0 0 1 50 40 L 50 110 A 10 10 0 0 0 70 110 L 70 40 A 10 10 0 0 1 90 40 L 90 110 A 10 10 0 0 0 110 110 L 110 40 A 10 10 0 0 1 130 40 L 130 110 A 10 10 0 0 0 150 110 L 150 40 A 10 10 0 0 1 170 40 L 170 110" />
                </svg>
            </div>

        </div>
    </div>

    <div class="rk-temp-content">
        <h3>Jaka jest maksymalna temperatura zasilania w projekcie?</h3>
        <p>
            Maksymalna <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">temperatura zasilania podłogówki</a> w nowoczesnym projekcie z pompą ciepła nie powinna przekraczać <strong>35°C</strong> przy obliczeniowej temperaturze zewnętrznej (np. -20°C dla III strefy klimatycznej w Polsce). Zgodnie z <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">normą PN-EN 1264</a>, optymalnym parametrem dla domów energooszczędnych jest zakres <strong>28–32°C</strong>, co gwarantuje najwyższą sprawność kompresora.
        </p>
        
        <p>
            Podniesienie temperatury zasilania o każde 1°C skutkuje drastycznym spadkiem sprawności pompy ciepła o około <strong>2,5–3%</strong>. Jeśli instalator „na oko” przyjmie <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">rozstaw rur</a> co 15 cm zamiast obliczeniowych 10 cm, wymusi to na pompie pracę na parametrze 40°C lub wyższym, aby fizycznie pokryć straty ciepła budynku.
        </p>

        <div class="rk-alert-box">
            <p><strong>Konsekwencje Inwestycyjne:</strong> W <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/">skali 20 lat eksploatacji</a>, brak precyzyjnego projektu generuje straty rzędu <strong>25 000 – 40 000 PLN</strong> wynikające wyłącznie z wyższych rachunków za energię. Fizyki nie da się oszukać rzadszym ułożeniem rury.</p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez nagłówków HX)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-temp-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #ef4444; border: 2px solid #b91c1c; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 20px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 14px; color: #94a3b8; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Ten komponent oraz dane ustrukturyzowane (JSON-LD) należą do serwisu <strong>Projekt-Ogrzewania.pl</strong>. Wykryto nieautoryzowane użycie skryptu.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Suwaka i Obliczeń
    const slider = document.getElementById('rkTzSlider');
    const valSpacing = document.getElementById('valSpacing');
    const valTz = document.getElementById('valTz');
    const valLoss = document.getElementById('valLoss');
    
    const svgPipe = document.getElementById('svgPipeHeat');
    const glowTop = document.getElementById('glowTop');
    const glowBottom = document.getElementById('glowBottom');

    // Funkcja aktualizująca interfejs
    function updateCalc(val) {
        // Obliczenia interpolowane (0 -> 100)
        // Spacing: 10cm do 15cm
        const spacing = 10 + (val / 20);
        // Tz: 30°C do 42°C
        const tz = 30 + (val * 0.12);
        // Strata finansowa: od 0 do 35 000 PLN (zaokrąglone do setek)
        const loss = Math.round((val / 100) * 35000 / 100) * 100;

        // Aktualizacja DOM tekst
        valSpacing.innerText = spacing.toFixed(1) + ' cm';
        valTz.innerText = tz.toFixed(1) + ' °C';
        
        if (loss > 0) {
            valLoss.innerText = '-' + loss.toLocaleString('pl-PL') + ' PLN';
        } else {
            valLoss.innerText = '0 PLN';
        }

        // ==========================================
        // Logika Kolorów dla Tekstu (Aspekt Finansowy)
        // ==========================================
        let colorText = '';
        
        if (val <= 33) {
            colorText = 'var(--rk-temp-optimal)'; // Zielony
        } else if (val <= 66) {
            colorText = 'var(--rk-temp-warning)'; // Pomarańczowy
        } else {
            colorText = 'var(--rk-temp-danger)'; // Czerwony
        }

        // Aplikacja kolorów dla wartości tekstowych
        valTz.style.color = colorText;
        valLoss.style.color = colorText;

        // ==========================================
        // Logika Kolorów Kamery (Efektywność cieplna)
        // ==========================================
        // Czerwień blednąca wraz ze spadkiem efektywności (wzrostem rozstawu)
        // val rośnie od 0 do 100, opacity spada od 1.0 do ok. 0.15
        const heatOpacity = 1 - (val / 115); 
        const pipeColor = `rgba(239, 68, 68, ${heatOpacity})`; // Używa czerwieni #ef4444
        
        // Aplikacja blaknącej czerwieni do kamery termowizyjnej
        svgPipe.setAttribute('stroke', pipeColor);
        glowTop.setAttribute('stop-color', '#ef4444');
        glowTop.setAttribute('stop-opacity', heatOpacity * 0.8); // Zmiana intensywności poświaty
        glowBottom.setAttribute('stop-color', '#ef4444');
        glowBottom.setAttribute('stop-opacity', heatOpacity * 0.1);
        
        // Zmiana gęstości rur na obrazku - ciągła linia dla wszystkich stanów
        if (val > 66) {
            svgPipe.style.strokeDasharray = 'none';
        } else if (val > 33) {
            svgPipe.style.strokeDasharray = 'none';
        } else {
            svgPipe.style.strokeDasharray = 'none';
        }
    }

    // Event Listener dla suwaka
    slider.addEventListener('input', function(e) {
        updateCalc(e.target.value);
    });

    // Inicjalizacja (Stan startowy)
    updateCalc(0);
});
</script>



<style>
:root {
    --rk-ozc-dark: #0f172a;
    --rk-ozc-card: #1e293b;
    --rk-ozc-brand: #f59e0b;
    --rk-ozc-brand-light: #fef3c7;
    --rk-ozc-blue: #3b82f6;
    --rk-ozc-text: #334155;
    --rk-ozc-muted: #64748b;
    --rk-ozc-bg: #ffffff;
    --rk-ozc-border: #e2e8f0;
}

.rk-ozc-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    background: var(--rk-ozc-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(245, 158, 11, 0.15);
    border: 1px solid rgba(245, 158, 11, 0.3);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-ozc-header {
    background: linear-gradient(135deg, var(--rk-ozc-dark) 0%, #283548 100%);
    padding: 50px 45px 40px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-ozc-brand);
}

.rk-ozc-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(245, 158, 11, 0.2);
    color: #fcd34d;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
    border: 1px solid rgba(245, 158, 11, 0.4);
}

.rk-ozc-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0;
    color: #ffffff;
}

.rk-ozc-title span {
    color: var(--rk-ozc-brand);
}

/* Interaktywny Symulator OZC */
.rk-ozc-interactive {
    padding: 40px 45px;
    background: #f8fafc;
}

.rk-ozc-tabs {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
    background: #e2e8f0;
    padding: 6px;
    border-radius: 16px;
}

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

.rk-ozc-tab:hover {
    color: var(--rk-ozc-dark);
}

.rk-ozc-tab.active {
    background: #ffffff;
    color: var(--rk-ozc-brand);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* Grid Wyników i Wizualizacji */
.rk-ozc-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 30px;
    align-items: stretch;
}

.rk-ozc-visual {
    background: var(--rk-ozc-dark);
    border-radius: 20px;
    padding: 25px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
    border: 4px solid #334155;
    min-height: 280px;
}

.rk-ozc-svg-room {
    width: 100%;
    height: 100%;
    max-height: 220px;
}

/* Elementy SVG */
.ozc-pipe {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke 0.5s, opacity 0.5s;
}

.ozc-window {
    fill: rgba(59, 130, 246, 0.2);
    stroke: var(--rk-ozc-blue);
    stroke-width: 4;
    transition: opacity 0.5s;
}

.ozc-bathtub {
    fill: none;
    stroke: rgba(255,255,255,0.4);
    stroke-width: 3;
    stroke-dasharray: 6 4;
    transition: opacity 0.5s;
}

/* Karta z danymi (OZC) */
.rk-ozc-data {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-ozc-card {
    background: #ffffff;
    border: 1px solid var(--rk-ozc-border);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: border-color 0.3s;
}

.rk-ozc-card.highlight {
    border-left: 6px solid var(--rk-ozc-brand);
}

.rk-ozc-card-title {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-ozc-muted);
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.rk-ozc-card-value {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-ozc-dark);
    line-height: 1;
    display: flex;
    align-items: baseline;
    gap: 5px;
    transition: color 0.3s;
}

.rk-ozc-card-unit {
    font-size: 16px;
    color: var(--rk-ozc-muted);
}

/* Treść Merytoryczna */
.rk-ozc-content {
    padding: 45px 50px;
    background: #ffffff;
}

.rk-ozc-content p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--rk-ozc-text);
    margin: 0 0 20px 0;
}

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

.rk-ozc-content a {
    color: var(--rk-ozc-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px dashed rgba(245, 158, 11, 0.4);
    transition: all 0.3s;
}

.rk-ozc-content a:hover {
    color: #d97706;
    border-bottom-style: solid;
}

.rk-ozc-h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-ozc-dark);
    margin: 30px 0 15px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-ozc-h3::before {
    content: '';
    display: block;
    width: 24px;
    height: 4px;
    background: var(--rk-ozc-brand);
    border-radius: 2px;
}

/* Mocne CTA z animacją SVG */
.rk-ozc-cta-box {
    padding: 40px 50px;
    background: var(--rk-ozc-brand-light);
    text-align: center;
    border-top: 1px solid rgba(245, 158, 11, 0.2);
}

.rk-ozc-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    background: var(--rk-ozc-brand);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 22px 45px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(245, 158, 11, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 2px solid transparent;
}

.rk-ozc-cta-btn:hover {
    transform: translateY(-4px);
    background: #d97706;
    box-shadow: 0 20px 35px -5px rgba(245, 158, 11, 0.5);
    border-color: #fcd34d;
}

@keyframes ctaPulse {
    0% { stroke-opacity: 1; transform: scale(1); }
    50% { stroke-opacity: 0.4; transform: scale(1.1); }
    100% { stroke-opacity: 1; transform: scale(1); }
}

@keyframes ctaMove {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(4px); }
}

.cta-anim-circle {
    animation: ctaPulse 2s infinite ease-in-out;
    transform-origin: center;
}

.cta-anim-arrow {
    animation: ctaMove 2s infinite ease-in-out;
}

@media (max-width: 768px) {
    .rk-ozc-header, .rk-ozc-interactive, .rk-ozc-content, .rk-ozc-cta-box { padding: 30px 25px; }
    .rk-ozc-tabs { flex-direction: column; }
    .rk-ozc-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-ozc-title { font-size: 24px; }
    .rk-ozc-card-value { font-size: 28px; }
    .rk-ozc-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/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#article-ozc",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/"
    },
    "headline": "Dlaczego obliczenie OZC to fundament projektu instalacji podłogowej?",
    "description": "OZC (Projektowe Obciążenie Cieplne) to jedyna precyzyjna metoda doboru rozstawu rur w podłogówce i mocy pompy ciepła 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.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-11",
    "dateModified": "2026-05-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#dataset-ozc",
    "name": "Porównanie Zapotrzebowania Cieplnego (OZC) dla typowych pomieszczeń",
    "description": "Analiza różnic w zapotrzebowaniu na moc grzewczą (W/m²) pomiędzy strefami o wysokich zyskach słonecznych a pomieszczeniami o podwyższonej temperaturze wymaganej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "obliczenia OZC podłogówka",
      "zapotrzebowanie na moc cieplną",
      "rozstaw rur w łazience",
      "strefa brzegowa podłogówka",
      "projekt ogrzewania podłogowego PN-EN 12831"
    ],
    "measurementTechnique": "Analiza porównawcza zapotrzebowania cieplnego (W/m²) dla różnych typów pomieszczeń z uwzględnieniem strat przez przegrody i zysków słonecznych w celu zrównoważenia hydraulicznego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Salon z dużymi przeszkleniami: Zapotrzebowanie ok. 30 W/m², temperatura 20°C, rozstaw rur 10-12.5 cm (zagęszczenie pod oknami do 5-7.5 cm).",
        "Łazienka: Zapotrzebowanie ok. 80 W/m², temperatura 24°C, rozstaw rur 10 cm, powierzchnia grzejna ograniczona armaturą."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#webapp-ozc",
    "name": "Symulator Zapotrzebowania Cieplnego (OZC) dla Pomieszczeń",
    "description": "Interaktywny panel przełączający schematy hydrauliczne (rozstaw rur) pomiędzy salonem a łazienką w oparciu o wyniki Projektowego Obciążenia Cieplnego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-ozc-container" id="rk-ozc-app">
    
    <div class="rk-ozc-header">
        <div class="rk-ozc-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="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Fundament Hydrauliki
        </div>
        <h2 class="rk-ozc-title">Dlaczego obliczenie <span>OZC</span> to absolutna podstawa projektu?</h2>
    </div>

    <div class="rk-ozc-interactive">
        
        <div class="rk-ozc-tabs">
            <button class="rk-ozc-tab active" data-room="salon">
                <svg width="20" height="20" 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>
                Salon z oknami HS (20°C)
            </button>
            <button class="rk-ozc-tab" data-room="lazienka">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 13v-2a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v2"></path><path d="M3 13v5a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5"></path><path d="M6 20v2"></path><path d="M18 20v2"></path><path d="M8 9V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v4"></path></svg>
                Łazienka (24°C)
            </button>
        </div>

        <div class="rk-ozc-grid">
            <div class="rk-ozc-visual">
                <svg class="rk-ozc-svg-room" viewBox="0 0 300 200" preserveAspectRatio="xMidYMid meet">
                    <rect x="10" y="10" width="280" height="180" fill="none" stroke="#475569" stroke-width="4" rx="8" />
                    
                    <rect id="svgWindow" class="ozc-window" x="40" y="5" width="220" height="10" rx="2" />
                    
                    <rect id="svgBathtub" class="ozc-bathtub" x="180" y="15" width="100" height="70" rx="10" style="opacity: 0;" />
                    
                    <path id="pipeSalon" class="ozc-pipe" stroke="#f59e0b" stroke-width="6" d="M 20 180 L 20 20 A 10 10 0 0 1 40 20 L 40 180 A 10 10 0 0 0 60 180 L 60 20 A 10 10 0 0 1 80 20 L 80 180 A 10 10 0 0 0 100 180 L 100 20 A 10 10 0 0 1 120 20 L 120 180 A 10 10 0 0 0 140 180 L 140 20 A 10 10 0 0 1 160 20 L 160 180 A 10 10 0 0 0 180 180 L 180 20 A 10 10 0 0 1 200 20 L 200 180 A 10 10 0 0 0 220 180 L 220 20 A 10 10 0 0 1 240 20 L 240 180 A 10 10 0 0 0 260 180 L 260 20 A 10 10 0 0 1 280 20 L 280 180" />
                    
                    <path id="pipeLazienka" class="ozc-pipe" stroke="#ef4444" stroke-width="6" style="opacity: 0;" d="M 20 180 L 20 20 A 10 10 0 0 1 40 20 L 40 180 A 10 10 0 0 0 60 180 L 60 20 A 10 10 0 0 1 80 20 L 80 180 A 10 10 0 0 0 100 180 L 100 20 A 10 10 0 0 1 120 20 L 120 180 A 10 10 0 0 0 140 180 L 140 20 A 10 10 0 0 1 160 20 L 160 180 A 10 10 0 0 0 180 180 L 180 100 A 10 10 0 0 1 200 100 L 200 180 A 10 10 0 0 0 220 180 L 220 100 A 10 10 0 0 1 240 100 L 240 180 A 10 10 0 0 0 260 180 L 260 100 A 10 10 0 0 1 280 100 L 280 180" />
                </svg>
            </div>

            <div class="rk-ozc-data">
                <div class="rk-ozc-card highlight">
                    <div class="rk-ozc-card-title">Zapotrzebowanie na moc</div>
                    <div class="rk-ozc-card-value" id="valPower">
                        30 <span class="rk-ozc-card-unit">W/m²</span>
                    </div>
                </div>
                <div class="rk-ozc-card">
                    <div class="rk-ozc-card-title">Wymagana Temperatura</div>
                    <div class="rk-ozc-card-value" id="valTemp">
                        20 <span class="rk-ozc-card-unit">°C</span>
                    </div>
                </div>
                <div class="rk-ozc-card">
                    <div class="rk-ozc-card-title">Rozstaw Rur PEX/PERT</div>
                    <div class="rk-ozc-card-value" id="valSpacing" style="font-size: 22px;">
                        10–12.5 cm (Brzeg: 5 cm)
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-ozc-content">
        <p>
            <strong>OZC (Projektowe Obciążenie Cieplne)</strong> to jedyna metoda precyzyjnego określenia zapotrzebowania na moc grzewczą każdego pomieszczenia z osobna, wyrażona w W/m². Zgodnie z <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">normą PN-EN 12831</a>, projektant musi uwzględnić przenikanie ciepła przez przegrody, mostki termiczne oraz straty na wentylację, aby dobrać odpowiednią gęstość rur w każdej strefie z uwzględnieniem <a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/">bilansu cieplnego budynku</a>.
        </p>
        
        <p>
            Bez OZC projekt ogrzewania podłogowego jest jedynie ryzykownym zgadywaniem. W łazience, gdzie oczekujemy komfortowych <strong>24°C</strong>, a powierzchnia grzejna jest drastycznie ograniczona przez wannę czy duży brodzik, zapotrzebowanie może wynosić nawet <strong>80 W/m²</strong>. Dla kontrastu, w nowoczesnym salonie z dużymi przeszkleniami generującymi zyski słoneczne, to zapotrzebowanie może wynosić zaledwie <strong>30 W/m²</strong>. Projektant musi zrównoważyć te różnice hydraulicznie, dobierając odpowiednie długości pętli i przepływy na rotametrach.
        </p>

        <h3 class="rk-ozc-h3">Jak to wpływa na projekt wykonawczy?</h3>
        <p>
            Wynik OZC bezpośrednio determinuje wybór mocy pompy ciepła (np. zakup urządzenia <strong>5 kW</strong> zamiast przewymiarowanego <strong>7 kW</strong>) oraz <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">gęstość ułożenia rur</a>. Przykładowo, w <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/">strefach podokiennych (strefy brzegowe)</a> projektant planuje gęsty rozstaw co <strong>5–7,5 cm</strong>, aby zniwelować chłód napływający od szyb, podczas gdy w centrum pokoju wystarczy standardowe <strong>10–12,5 cm</strong>.
        </p>
    </div>

    <div class="rk-ozc-cta-box">
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-ozc-cta-btn">
            ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
            <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" class="cta-anim-circle"></circle>
                <polyline points="12 16 16 12 12 8" class="cta-anim-arrow"></polyline>
                <line x1="8" y1="12" x2="16" y2="12" class="cta-anim-arrow"></line>
            </svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez nagłówków HX)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-ozc-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #ef4444; border: 2px solid #b91c1c; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 20px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Licencji Kodu</div>
                    <div style="font-size: 14px; color: #94a3b8; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Ten komponent oraz załączone dane ustrukturyzowane JSON-LD są własnością serwisu <strong>Projekt-Ogrzewania.pl</strong>. Uruchamianie na nieautoryzowanej domenie zablokowane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Zakładek (OZC Symulator)
    const tabs = document.querySelectorAll('.rk-ozc-tab');
    const valPower = document.getElementById('valPower');
    const valTemp = document.getElementById('valTemp');
    const valSpacing = document.getElementById('valSpacing');
    
    // Elementy SVG
    const svgWindow = document.getElementById('svgWindow');
    const svgBathtub = document.getElementById('svgBathtub');
    const pipeSalon = document.getElementById('pipeSalon');
    const pipeLazienka = document.getElementById('pipeLazienka');

    function switchRoom(roomType) {
        // Reset aktywnych zakładek
        tabs.forEach(t => t.classList.remove('active'));
        document.querySelector(`.rk-ozc-tab[data-room="${roomType}"]`).classList.add('active');

        if (roomType === 'salon') {
            // Aktualizacja Danych
            valPower.innerHTML = '30 <span class="rk-ozc-card-unit">W/m²</span>';
            valTemp.innerHTML = '20 <span class="rk-ozc-card-unit">°C</span>';
            valSpacing.innerText = '10–12.5 cm (Brzeg: 5 cm)';
            
            valPower.style.color = '#f59e0b'; // Kolor umiarkowany
            
            // Animacja SVG
            svgWindow.style.opacity = '1';
            svgBathtub.style.opacity = '0';
            pipeSalon.style.opacity = '1';
            pipeLazienka.style.opacity = '0';
            
        } else if (roomType === 'lazienka') {
            // Aktualizacja Danych
            valPower.innerHTML = '80 <span class="rk-ozc-card-unit">W/m²</span>';
            valTemp.innerHTML = '24 <span class="rk-ozc-card-unit">°C</span>';
            valSpacing.innerText = '10 cm (Mniej powierzchni)';
            
            valPower.style.color = '#ef4444'; // Kolor wysoki/czerwony
            
            // Animacja SVG
            svgWindow.style.opacity = '0';
            svgBathtub.style.opacity = '1';
            pipeSalon.style.opacity = '0';
            pipeLazienka.style.opacity = '1';
        }
    }

    // Event Listenery
    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            switchRoom(this.getAttribute('data-room'));
        });
    });
});
</script>



<style>
:root {
    --rk-flow-dark: #0f172a;
    --rk-flow-brand: #0284c7; /* Intensywny niebieski - hydraulika */
    --rk-flow-accent: #f59e0b; /* Pomarańczowy - wskaźnik przepływu */
    --rk-flow-light: #f0f9ff;
    --rk-flow-success: #10b981;
    --rk-flow-text: #334155;
    --rk-flow-muted: #64748b;
    --rk-flow-border: #e2e8f0;
}

.rk-flow-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(2, 132, 199, 0.12);
    border: 1px solid var(--rk-flow-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-flow-header {
    background: var(--rk-flow-dark);
    padding: 45px 50px 35px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-flow-brand);
}

.rk-flow-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(2, 132, 199, 0.2);
    color: #38bdf8;
    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(56, 189, 248, 0.3);
}

.rk-flow-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0;
}

.rk-flow-title span { color: var(--rk-flow-brand); }

/* Interaktywny Kalkulator Przepływu */
.rk-flow-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-flow-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 40px;
    align-items: center;
}

/* Panel Kontrolny */
.rk-flow-controls {
    background: #ffffff;
    padding: 30px;
    border-radius: 20px;
    border: 1px solid var(--rk-flow-border);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
}

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

.rk-label-wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    font-weight: 800;
    font-size: 14px;
    color: var(--rk-flow-dark);
}

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

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

/* Wizualizacja Rotametru */
.rk-flow-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--rk-flow-dark);
    border-radius: 20px;
    padding: 30px;
    min-height: 350px;
    box-shadow: inset 0 0 30px rgba(0,0,0,0.4);
}

.rotameter-svg {
    width: 120px;
    height: auto;
}

.rotameter-float {
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-flow-result-text {
    margin-top: 25px;
    text-align: center;
    color: #ffffff;
}

.rk-flow-val-large {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-flow-brand);
}

/* Sekcja merytoryczna */
.rk-flow-content {
    padding: 45px 50px;
    background: #ffffff;
}

.rk-flow-content p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--rk-flow-text);
    margin-bottom: 20px;
}

.rk-flow-formula {
    background: var(--rk-flow-light);
    padding: 25px;
    border-radius: 16px;
    border-left: 5px solid var(--rk-flow-brand);
    margin: 30px 0;
    font-family: 'Courier New', monospace;
}

.rk-flow-step {
    margin-bottom: 10px;
    display: flex;
    gap: 15px;
}

.rk-step-num {
    background: var(--rk-flow-brand);
    color: #ffffff;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 900;
    flex-shrink: 0;
}

.rk-flow-cta {
    padding: 40px 50px;
    background: #f8fafc;
    text-align: center;
    border-top: 1px solid var(--rk-flow-border);
}

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

.rk-btn-flow:hover {
    transform: translateY(-3px);
    background: #0369a1;
}

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#article-przeplyw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/"
    },
    "headline": "Jak obliczyć wymagany przepływ masowy w pętlach podłogówki?",
    "description": "Przewodnik inżynieryjny dotyczący obliczania strumienia wody (qm) w instalacji niskotemperaturowej. Poznaj wzór i algorytm nastaw rotametrów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-11",
    "dateModified": "2026-05-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#dataset-przeplyw",
    "name": "Tabela korelacji mocy grzewczej i przepływu masowego",
    "description": "Zestawienie obliczonych wartości przepływu (l/h i l/min) dla typowych obciążeń cieplnych pętli ogrzewania podłogowego przy ΔT=5K.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "przepływ masowy podłogówka wzór",
      "ustawienie rotametru l/min",
      "delta T pompa ciepła 5K",
      "obliczanie hydrauliki ogrzewania",
      "projektowanie pętli grzewczych"
    ],
    "measurementTechnique": "Algorytm obliczeniowy oparty na stałej fizycznej ciepła właściwego wody (1.163 Wh/kgK) i bilansie mocy cieplnej pętli.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Moc 1000W przy ΔT=5K: Przepływ 172 l/h (2.8 l/min)",
        "Moc 1500W przy ΔT=5K: Przepływ 258 l/h (4.3 l/min)",
        "Moc 2000W przy ΔT=5K: Przepływ 344 l/h (5.7 l/min) - Przekroczenie zakresu standardowego rotametru!"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#webapp-przeplyw",
    "name": "Kalkulator Nastaw Rotametrów Podłogówki",
    "description": "Interaktywny symulator rotametru przeliczający moc cieplną pętli na wymaganą nastawę w litrach na minutę.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-flow-container" id="rk-flow-app">
    
    <div class="rk-flow-header">
        <div class="rk-flow-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="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>
            Hydraulika Projektowa
        </div>
        <h2 class="rk-flow-title">Jak obliczyć wymagany <span>przepływ masowy</span> w pętlach?</h2>
    </div>

    <div class="rk-flow-interactive">
        <div class="rk-flow-grid">
            
            <div class="rk-flow-controls">
                <div class="rk-control-group">
                    <div class="rk-label-wrap">
                        <span>Moc cieplna pętli (Q)</span>
                        <span id="valPowerLabel" style="color: var(--rk-flow-brand);">1400 W</span>
                    </div>
                    <input type="range" min="200" max="2500" step="50" value="1400" class="rk-flow-slider" id="inputPower">
                </div>

                <div class="rk-control-group">
                    <div class="rk-label-wrap">
                        <span>Delta T (&Delta;T)</span>
                        <span id="valDeltaLabel" style="color: var(--rk-flow-brand);">5 K</span>
                    </div>
                    <input type="range" min="3" max="10" step="1" value="5" class="rk-flow-slider" id="inputDelta">
                </div>

                <div style="background: var(--rk-flow-light); padding: 15px; border-radius: 12px; font-size: 13px; color: var(--rk-flow-muted);">
                    <strong>Wskazówka:</strong> Standardowy <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametr</a> ma skalę do 5 l/min. Jeśli wynik przekracza tę wartość, pętla musi zostać podzielona na dwie.
                </div>
            </div>

            <div class="rk-flow-visual">
                <svg class="rotameter-svg" viewBox="0 0 100 300">
                    <rect x="30" y="20" width="40" height="240" rx="5" fill="rgba(255,255,255,0.1)" stroke="#ffffff" stroke-width="2"/>
                    <line x1="30" y1="210" x2="45" y2="210" stroke="#ffffff" stroke-width="1"/> <text x="15" y="215" fill="#ffffff" font-size="10">1</text>
                    <line x1="30" y1="170" x2="45" y2="170" stroke="#ffffff" stroke-width="1"/> <text x="15" y="175" fill="#ffffff" font-size="10">2</text>
                    <line x1="30" y1="130" x2="45" y2="130" stroke="#ffffff" stroke-width="1"/> <text x="15" y="135" fill="#ffffff" font-size="10">3</text>
                    <line x1="30" y1="90" x2="45" y2="90" stroke="#ffffff" stroke-width="1"/> <text x="15" y="95" fill="#ffffff" font-size="10">4</text>
                    <line x1="30" y1="50" x2="45" y2="50" stroke="#ffffff" stroke-width="1"/> <text x="15" y="55" fill="#ffffff" font-size="10">5</text>
                    
                    <rect id="svgWater" x="32" y="258" width="36" height="0" fill="var(--rk-flow-brand)" fill-opacity="0.3"/>
                    
                    <g id="svgFloat" class="rotameter-float" transform="translate(0, 210)">
                        <rect x="35" y="0" width="30" height="15" rx="2" fill="var(--rk-flow-accent)"/>
                        <circle cx="50" cy="7.5" r="3" fill="#ffffff"/>
                    </g>
                </svg>
                <div class="rk-flow-result-text">
                    <div style="font-size: 14px; font-weight: 800; text-transform: uppercase; margin-bottom: 5px;">Wymagany Przepływ:</div>
                    <div class="rk-flow-val-large" id="valResultFlow">4.0 l/min</div>
                    <div id="valResultLh" style="font-size: 16px; opacity: 0.8;">240.7 l/h</div>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-flow-content">
        <p>
            Wymagany przepływ masowy (q<sub>m</sub>) obliczamy na podstawie zapotrzebowania na moc cieplną pomieszczenia (Q) wyliczoną w <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">OZC</a> oraz założonej różnicy temperatur (&Delta;T). Dla systemów z rewersyjną <a href="https://projekt-ogrzewania.pl/czy-pompa-ciepla-ogrzeje-dom-z-podlogowka/">pompą ciepła</a> delta ta wynosi zazwyczaj <strong>5 K</strong>. 
        </p>
        
        <p>
            Zapewnienie odpowiedniego przepływu jest krytyczne, aby pompa mogła oddać wyprodukowane ciepło do masy betonu bez nagłego wzrostu temperatury powrotu, co skutkowałoby podnoszeniem ciśnienia w układzie chłodniczym i wyłączeniem sprężarki.
        </p>

        <div class="rk-flow-formula">
            <strong style="font-family: 'Inter', sans-serif;">Wzór Inżynierski:</strong><br>
            <span style="font-size: 18px; line-height: 2;">q<sub>m</sub> = Q / (c<sub>w</sub> &middot; &Delta;T)</span>
        </div>

        <div style="display: flex; flex-direction: column; gap: 10px;">
            <div class="rk-flow-step">
                <div class="rk-step-num">1</div>
                <div>Wyznacz moc pętli Q (np. <strong>1400 W</strong> dla salonu 40 m<sup>2</sup>).</div>
            </div>
            <div class="rk-flow-step">
                <div class="rk-step-num">2</div>
                <div>Przyjmij stałą c<sub>w</sub> = <strong>1.163 Wh/(kg&middot;K)</strong> dla wody.</div>
            </div>
            <div class="rk-flow-step">
                <div class="rk-step-num">3</div>
                <div>Oblicz przepływ godzinowy: q<sub>m</sub> = 1400 / (1.163 &middot; 5) &approx; <strong>240.7 l/h</strong>.</div>
            </div>
            <div class="rk-flow-step">
                <div class="rk-step-num">4</div>
                <div>Przelicz na minuty: 240.7 / 60 &approx; <strong>4.0 l/min</strong> – to wartość, którą ustawisz na rotametrze.</div>
            </div>
        </div>

        <p style="margin-top: 25px;">
            Jeśli projektant zaplanuje zbyt długą pętlę (np. powyżej <strong>100-120 m</strong>), opory hydrauliczne wzrosną do poziomu, przy którym nawet nowoczesna <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa</a> nie będzie w stanie przepchnąć wymaganej ilości wody, co skutkować będzie trwałym niedogrzaniem strefy.
        </p>
    </div>

    <div class="rk-flow-cta">
        <a href="https://projekt-ogrzewania.pl/kompleksowy-kalkulator-ogrzewania-podlogowego/" class="rk-btn-flow">
            URUCHOM KOMPLEKSOWY KALKULATOR PRZEPŁYWÓW
            <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><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowedDomains.includes(domain)) {
        document.getElementById('rk-flow-app').innerHTML = '<div style="padding:40px; text-align:center; color:red; font-weight:bold;">BŁĄD LICENCJI: Kod należy do Projekt-Ogrzewania.pl</div>';
        return;
    }

    // 2. Logika Kalkulatora
    const inPower = document.getElementById('inputPower');
    const inDelta = document.getElementById('inputDelta');
    const labelPower = document.getElementById('valPowerLabel');
    const labelDelta = document.getElementById('valDeltaLabel');
    const resFlowMin = document.getElementById('valResultFlow');
    const resFlowH = document.getElementById('valResultLh');
    const svgFloat = document.getElementById('svgFloat');
    const svgWater = document.getElementById('svgWater');

    function updateFlow() {
        const Q = parseFloat(inPower.value);
        const DT = parseFloat(inDelta.value);
        const cw = 1.163;

        // Obliczenia
        const qmH = Q / (cw * DT);
        const qmMin = qmH / 60;

        // Aktualizacja etykiet
        labelPower.innerText = Q + ' W';
        labelDelta.innerText = DT + ' K';
        resFlowMin.innerText = qmMin.toFixed(1) + ' l/min';
        resFlowH.innerText = qmH.toFixed(1) + ' l/h';

        // Kolorowanie przy przekroczeniu skali
        if (qmMin > 5) {
            resFlowMin.style.color = '#ef4444';
        } else {
            resFlowMin.style.color = 'var(--rk-flow-brand)';
        }

        // Animacja Rotametru
        // 0 l/min = y: 250 (dół)
        // 5 l/min = y: 50 (góra)
        // Zakres 200px na 5 jednostek = 40px na jednostkę
        let floatY = 250 - (qmMin * 40);
        if (floatY < 30) floatY = 30; // Limit górny
        if (floatY > 250) floatY = 250; // Limit dolny

        svgFloat.setAttribute('transform', `translate(0, ${floatY})`);
        
        // Dynamiczny poziom "wody" w rurce
        const waterHeight = 250 - floatY;
        svgWater.setAttribute('y', floatY + 10);
        svgWater.setAttribute('height', waterHeight);
    }

    inPower.addEventListener('input', updateFlow);
    inDelta.addEventListener('input', updateFlow);

    updateFlow(); // Inicjalizacja
});
</script>



<style>
:root {
    --rk-mass-dark: #0f172a;
    --rk-mass-card: #1e293b;
    --rk-mass-brand: #0284c7; /* Hydrauliczny błękit */
    --rk-mass-accent: #38bdf8;
    --rk-mass-success: #10b981;
    --rk-mass-warning: #f59e0b;
    --rk-mass-danger: #ef4444;
    --rk-mass-text: #334155;
    --rk-mass-muted: #64748b;
    --rk-mass-bg: #f8fafc;
    --rk-mass-border: #cbd5e1;
}

.rk-mass-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(2, 132, 199, 0.15);
    border: 1px solid var(--rk-mass-border);
    overflow: hidden;
}

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

.rk-mass-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(56, 189, 248, 0.2);
    color: var(--rk-mass-accent);
    padding: 8px 18px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(56, 189, 248, 0.4);
}

.rk-mass-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0;
}

.rk-mass-title span { color: var(--rk-mass-accent); }

/* Interfejs Symulatora */
.rk-mass-interactive {
    padding: 40px 50px;
    background: var(--rk-mass-bg);
}

.rk-mass-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 35px;
}

/* Panel sterowania */
.rk-mass-controls {
    background: #ffffff;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-mass-border);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
}

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

.rk-mass-label {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    font-weight: 800;
    font-size: 14px;
    color: var(--rk-mass-dark);
}

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

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

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

.rk-mass-readouts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-top: 20px;
}

.rk-readout-card {
    background: var(--rk-mass-bg);
    padding: 15px;
    border-radius: 12px;
    border: 1px solid var(--rk-mass-border);
    text-align: center;
}

.rk-readout-title {
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-mass-muted);
    letter-spacing: 1px;
    margin-bottom: 5px;
}

.rk-readout-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-mass-dark);
}

/* Wizualizacja SVG */
.rk-mass-visual {
    background: var(--rk-mass-card);
    border-radius: 16px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
    border: 4px solid #334155;
    position: relative;
    overflow: hidden;
}

.rk-mass-status-overlay {
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    padding: 10px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 1px;
    z-index: 10;
    transition: all 0.3s;
}

.status-ok { background: rgba(16, 185, 129, 0.2); color: #34d399; border: 1px solid #10b981; }
.status-warn { background: rgba(245, 158, 11, 0.2); color: #fbbf24; border: 1px solid #f59e0b; }
.status-err { background: rgba(239, 68, 68, 0.2); color: #f87171; border: 1px solid #ef4444; }

.rk-svg-system {
    width: 100%;
    height: auto;
    max-height: 200px;
    margin-top: 20px;
}

/* SVG Animations */
.anim-pump-rotor {
    transform-origin: 50px 50px;
}
.spin-fast { animation: spin 0.8s linear infinite; }
.spin-slow { animation: spin 3s linear infinite; }
.spin-stall { animation: shake 0.5s ease-in-out infinite; stroke: var(--rk-mass-danger); }

@keyframes spin { 100% { transform: rotate(360deg); } }
@keyframes shake {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(10deg); }
    75% { transform: rotate(-10deg); }
}

.anim-flow-line {
    stroke-dasharray: 10 10;
    animation: flowMove 1s linear infinite;
}
@keyframes flowMove { to { stroke-dashoffset: -20; } }

/* Treść Merytoryczna */
.rk-mass-content {
    padding: 0 50px 45px 50px;
    background: #ffffff;
}

.rk-mass-intro {
    font-size: 16px;
    line-height: 1.8;
    color: var(--rk-mass-text);
    margin-bottom: 25px;
}

.rk-mass-formula-box {
    background: var(--rk-mass-dark);
    color: #ffffff;
    padding: 20px 25px;
    border-radius: 12px;
    border-left: 5px solid var(--rk-mass-accent);
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.rk-formula-text {
    font-family: 'Courier New', monospace;
    font-size: 20px;
    font-weight: 700;
    color: var(--rk-mass-accent);
}

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

.rk-step-card {
    background: var(--rk-mass-bg);
    padding: 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-mass-border);
    position: relative;
}

.rk-step-number {
    position: absolute;
    top: -12px;
    left: -12px;
    width: 28px;
    height: 28px;
    background: var(--rk-mass-brand);
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 13px;
    box-shadow: 0 4px 6px rgba(2, 132, 199, 0.3);
}

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

.rk-alert-critical {
    background: #fef2f2;
    border-left: 4px solid var(--rk-mass-danger);
    padding: 20px;
    border-radius: 0 12px 12px 0;
}

.rk-alert-critical p {
    margin: 0;
    color: #991b1b;
    font-size: 15px;
    line-height: 1.6;
}

.rk-link {
    color: var(--rk-mass-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(2, 132, 199, 0.3);
    transition: all 0.3s;
}

.rk-link:hover {
    border-bottom-color: var(--rk-mass-brand);
}

@media (max-width: 768px) {
    .rk-mass-header, .rk-mass-interactive, .rk-mass-content { padding: 30px 25px; }
    .rk-mass-grid, .rk-step-grid { grid-template-columns: 1fr; }
    .rk-mass-title { font-size: 24px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#article-przeplyw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/"
    },
    "headline": "Jak obliczyć wymagany przepływ masowy w pętlach podłogówki?",
    "description": "Przewodnik obliczeniowy strumienia wody (qm). Dowiedz się, dlaczego zbyt długa pętla (np. 140 m) dławi pompę obiegową i uniemożliwia oddanie 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-11",
    "dateModified": "2026-05-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#dataset-przeplyw",
    "name": "Opory hydrauliczne a wydajność pompy obiegowej",
    "description": "Korelacja między długością pętli grzewczej, wymaganym przepływem w l/min, a zdolnością standardowej pompy obiegowej do pokonania oporów hydraulicznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "przepływ masowy ogrzewanie podłogowe",
      "nastawa rotametru l/min",
      "za długa pętla podłogówki",
      "opory hydrauliczne pompy ciepła",
      "wzór na przepływ wody grzewczej"
    ],
    "measurementTechnique": "Algorytm bazujący na równaniu qm = Q / (cw * ΔT), uwzględniający krytyczne ograniczenia fizyczne pomp obiegowych przy pętlach przekraczających 100-120 metrów bieżących rury 16x2.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Stan Optymalny: Pętla < 90m, przepływ ok. 2 l/min, niskie opory.",
        "Stan Krytyczny: Pętla 140m, wymagany przepływ 4 l/min, opory przekraczają wysokość podnoszenia standardowej pompy = strefa niedogrzana."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#webapp-przeplyw",
    "name": "Symulator Oporów i Przepływu Hydraulicznego",
    "description": "Interaktywny kalkulator pozwalający manipulować mocą pętli (Q) oraz jej długością (L), wizualizujący ryzyko zadławienia pompy obiegowej przy przekroczeniu limitów hydraulicznych.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-mass-container" id="rk-mass-app">
    
    <div class="rk-mass-header">
        <div class="rk-mass-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="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><circle cx="12" cy="12" r="4"></circle></svg>
            Mechanika Płynów
        </div>
        <h2 class="rk-mass-title">Jak obliczyć wymagany <span>przepływ masowy</span> w pętlach podłogówki?</h2>
    </div>

    <div class="rk-mass-interactive">
        <div class="rk-mass-grid">
            
            <div class="rk-mass-controls">
                <div class="rk-mass-slider-group">
                    <div class="rk-mass-label">
                        <span>Zapotrzebowanie Pętli (Q)</span>
                        <span id="valQ" style="color: var(--rk-mass-brand);">1400 W</span>
                    </div>
                    <input type="range" min="300" max="2000" step="50" value="1400" class="rk-slider" id="slideQ">
                </div>

                <div class="rk-mass-slider-group" style="margin-bottom: 10px;">
                    <div class="rk-mass-label">
                        <span>Długość Pętli 16x2 (L)</span>
                        <span id="valL" style="color: var(--rk-mass-brand);">140 m</span>
                    </div>
                    <input type="range" min="40" max="180" step="5" value="140" class="rk-slider" id="slideL">
                </div>

                <div class="rk-mass-readouts">
                    <div class="rk-readout-card">
                        <div class="rk-readout-title">Przepływ (Rotametr)</div>
                        <div class="rk-readout-val" id="valFlow">4.0 <span style="font-size: 14px; font-weight:700;">l/min</span></div>
                    </div>
                    <div class="rk-readout-card">
                        <div class="rk-readout-title">Opory liniowe</div>
                        <div class="rk-readout-val" id="valPress">28 <span style="font-size: 14px; font-weight:700;">kPa</span></div>
                    </div>
                </div>
            </div>

            <div class="rk-mass-visual">
                <div id="statusOverlay" class="rk-mass-status-overlay status-err">
                    Krytyczne Opory - Pompa Zadławiona
                </div>
                
                <svg class="rk-svg-system" viewBox="0 0 200 100">
                    <path d="M 10 50 L 50 50" fill="none" stroke="#e2e8f0" stroke-width="8" stroke-linecap="round"/>
                    <path id="svgLoop" d="M 150 50 L 190 50" fill="none" stroke="#e2e8f0" stroke-width="8" stroke-linecap="round"/>
                    
                    <path id="svgFlowAnim" class="anim-flow-line" d="M 10 50 L 190 50" fill="none" stroke="var(--rk-mass-accent)" stroke-width="4" stroke-linecap="round"/>

                    <circle cx="50" cy="50" r="25" fill="#1e293b" stroke="var(--rk-mass-accent)" stroke-width="4" id="svgPumpBorder"/>
                    <path id="svgPumpRotor" class="anim-pump-rotor spin-stall" d="M 50 25 L 50 45 M 50 55 L 50 75 M 25 50 L 45 50 M 55 50 L 75 50 M 32 32 L 46 46 M 54 54 L 68 68 M 68 32 L 54 46 M 46 54 L 32 68" stroke="var(--rk-mass-accent)" stroke-width="4" stroke-linecap="round"/>
                    <circle cx="50" cy="50" r="6" fill="var(--rk-mass-accent)" id="svgPumpCenter"/>

                    <rect x="130" y="20" width="20" height="60" rx="4" fill="#334155" stroke="#64748b" stroke-width="2"/>
                    <rect x="135" y="10" width="10" height="30" rx="2" fill="#e2e8f0"/>
                    <rect id="svgRotameterFill" x="135" y="30" width="10" height="10" fill="var(--rk-mass-brand)"/>
                </svg>
            </div>

        </div>
    </div>

    <div class="rk-mass-content">
        <div class="rk-mass-intro">
            Wymagany przepływ masowy (q<sub>m</sub>) obliczamy na podstawie zapotrzebowania na moc cieplną pomieszczenia (Q) oraz założonej delty temperatur (&Delta;T), która dla pomp ciepła wynosi zazwyczaj <strong>5 K</strong>. Zapewnienie odpowiedniego przepływu jest krytyczne, aby pompa mogła oddać wyprodukowane ciepło do betonu bez podnoszenia ciśnienia w układzie chłodniczym.
        </div>

        <div class="rk-mass-formula-box">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="var(--rk-mass-accent)" 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="9" x2="15" y2="15"></line><line x1="15" y1="9" x2="9" y2="15"></line></svg>
            <div>
                <div style="font-size: 13px; text-transform: uppercase; letter-spacing: 1px; color: #94a3b8; margin-bottom: 5px;">Równanie Inżynierskie</div>
                <div class="rk-formula-text">q<sub>m</sub> = Q / (C<sub>w</sub> &middot; &Delta;T)</div>
            </div>
        </div>

        <div class="rk-step-grid">
            <div class="rk-step-card">
                <div class="rk-step-number">1</div>
                <p><strong>Moc całkowita pętli (Q):</strong> W naszym przykładzie dla salonu (40 m<sup>2</sup> przy 35 W/m<sup>2</sup>) wynosi <strong>1400 W</strong>.</p>
            </div>
            <div class="rk-step-card">
                <div class="rk-step-number">2</div>
                <p><strong>Delta T (&Delta;T):</strong> Założona różnica temperatur zasilanie/powrót (np. 35°C i 30°C) to <strong>5 K</strong>.</p>
            </div>
            <div class="rk-step-card">
                <div class="rk-step-number">3</div>
                <p><strong>Ciepło właściwe wody (C<sub>w</sub>):</strong> Stała fizyczna wynosi <strong>1.163 Wh/(kg&middot;K)</strong>.</p>
            </div>
            <div class="rk-step-card">
                <div class="rk-step-number">4</div>
                <p><strong>Obliczenie (l/h):</strong> q<sub>m</sub> = 1400 / (1.163 &middot; 5) &approx; <strong>240.7 l/h</strong>.</p>
            </div>
        </div>

        <div class="rk-alert-critical">
            <p>
                <strong>Konsekwencje wykonawcze:</strong> Przy przepływie rzędu 240 l/h, na <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/" class="rk-link">rozdzielaczu</a> musisz ustawić rotametr na ok. <strong>4.0 l/min</strong>. 
                Jeśli projektant zaplanuje <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/" class="rk-link">zbyt długą pętlę</a> (np. 140 m), opory hydrauliczne wzrosną do poziomu, przy którym standardowa <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/" class="rk-link">pompa obiegowa</a> nie będzie w stanie przepchnąć wymaganej ilości wody, co skutkować będzie niedogrzaniem salonu.
            </p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowedDomains.includes(domain)) {
        document.getElementById('rk-mass-app').innerHTML = '<div style="padding:40px; text-align:center; color:red; font-weight:bold; background:#0f172a;">BŁĄD LICENCJI: Kod należy do Projekt-Ogrzewania.pl</div>';
        return;
    }

    // 2. Logika Symulatora
    const slideQ = document.getElementById('slideQ');
    const slideL = document.getElementById('slideL');
    const valQ = document.getElementById('valQ');
    const valL = document.getElementById('valL');
    const valFlow = document.getElementById('valFlow');
    const valPress = document.getElementById('valPress');
    
    // Elementy SVG i UI
    const statusOverlay = document.getElementById('statusOverlay');
    const svgPumpRotor = document.getElementById('svgPumpRotor');
    const svgPumpBorder = document.getElementById('svgPumpBorder');
    const svgPumpCenter = document.getElementById('svgPumpCenter');
    const svgFlowAnim = document.getElementById('svgFlowAnim');
    const svgRotameterFill = document.getElementById('svgRotameterFill');

    function calculateSystem() {
        const Q = parseFloat(slideQ.value);
        const L = parseFloat(slideL.value);
        const cw = 1.163;
        const dT = 5; // Stała dla pompy ciepła wg treści

        // 1. Przepływ (l/min)
        const qmH = Q / (cw * dT);
        const flowMin = qmH / 60;
        
        // 2. Szacunkowe opory (kPa) - Uproszczony model wizualny (Przepływ * Długość * wsp)
        // Zakładamy, że 4 l/min przy 140m daje ogromne opory rzędu 35-40 kPa
        const baseResistance = (flowMin * flowMin) * (L / 100) * 1.5; 
        const pressLoss = Math.max(1, baseResistance);

        // Aktualizacja UI Tekst
        valQ.innerText = Q + ' W';
        valL.innerText = L + ' m';
        valFlow.innerHTML = flowMin.toFixed(1) + ' <span style="font-size: 14px; font-weight:700;">l/min</span>';
        valPress.innerHTML = pressLoss.toFixed(0) + ' <span style="font-size: 14px; font-weight:700;">kPa</span>';

        // Logika Statusu (Kolory i animacje)
        // Pompki obiegowe standardowe radzą sobie do ok 20-25 kPa na najdłuższej pętli.
        
        let color = '';
        let rotorClass = '';
        
        if (pressLoss > 25 || flowMin > 5) {
            // STAN KRYTYCZNY (Czerwony)
            color = 'var(--rk-mass-danger)';
            statusOverlay.className = 'rk-mass-status-overlay status-err';
            statusOverlay.innerText = 'Krytyczne Opory - Pompa Zadławiona';
            rotorClass = 'anim-pump-rotor spin-stall';
            svgFlowAnim.style.animationDuration = '0s'; // Przepływ stoi
        } else if (pressLoss > 15 || flowMin > 3.5) {
            // OSTRZEŻENIE (Pomarańczowy)
            color = 'var(--rk-mass-warning)';
            statusOverlay.className = 'rk-mass-status-overlay status-warn';
            statusOverlay.innerText = 'Wysokie Opory - Ryzyko Szumów';
            rotorClass = 'anim-pump-rotor spin-fast';
            svgFlowAnim.style.animationDuration = '0.4s'; // Przepływ szybki, wymuszony
        } else {
            // OPTYMALNIE (Zielony)
            color = 'var(--rk-mass-success)';
            statusOverlay.className = 'rk-mass-status-overlay status-ok';
            statusOverlay.innerText = 'Przepływ Laminarny - Optymalnie';
            rotorClass = 'anim-pump-rotor spin-slow';
            svgFlowAnim.style.animationDuration = '1.5s'; // Przepływ spokojny
        }

        // Aplikacja kolorów do odczytów i SVG
        valFlow.style.color = color;
        valPress.style.color = color;
        
        svgPumpBorder.setAttribute('stroke', color);
        svgPumpCenter.setAttribute('fill', color);
        svgFlowAnim.setAttribute('stroke', color);
        
        // Klasy wirnika (animacja)
        svgPumpRotor.className.baseVal = rotorClass;
        
        // Zmiana wysokości słupka rotametru (0-30px, max 5 l/min to h=30)
        let fillHeight = (flowMin / 5) * 30;
        if (fillHeight > 30) fillHeight = 30;
        svgRotameterFill.setAttribute('height', fillHeight);
        svgRotameterFill.setAttribute('y', 40 - fillHeight);
        svgRotameterFill.setAttribute('fill', color);
    }

    slideQ.addEventListener('input', calculateSystem);
    slideL.addEventListener('input', calculateSystem);

    calculateSystem(); // Start
});
</script>



<style>
:root {
    --rk-loop-dark: #0f172a;
    --rk-loop-brand: #3b82f6; /* Niebieski - inżynieria */
    --rk-loop-accent: #06b6d4; /* Cyjan - przepływ */
    --rk-loop-success: #10b981;
    --rk-loop-warning: #f59e0b;
    --rk-loop-danger: #ef4444;
    --rk-loop-bg: #f8fafc;
    --rk-loop-card: #ffffff;
    --rk-loop-border: #e2e8f0;
}

.rk-loop-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    background: var(--rk-loop-card);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-loop-border);
    overflow: hidden;
}

/* Header */
.rk-loop-header {
    background: linear-gradient(135deg, var(--rk-loop-dark) 0%, #1e293b 100%);
    padding: 50px 45px 40px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-loop-brand);
}

.rk-loop-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(59, 130, 246, 0.15);
    color: #60a5fa;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 25px;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

.rk-loop-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0;
}

.rk-loop-title span { color: var(--rk-loop-brand); }

/* Simulator Section */
.rk-loop-interactive {
    padding: 40px 45px;
    background: #f1f5f9;
}

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

.rk-loop-controls {
    background: #ffffff;
    padding: 30px;
    border-radius: 20px;
    border: 1px solid var(--rk-loop-border);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
}

.rk-slider-label {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    font-weight: 800;
    color: var(--rk-loop-dark);
}

.rk-loop-range {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: #e2e8f0;
    outline: none;
    margin-bottom: 30px;
}

.rk-loop-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--rk-loop-brand);
    cursor: pointer;
    border: 3px solid #ffffff;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

/* Gauge Visual */
.rk-loop-visual {
    background: var(--rk-loop-dark);
    padding: 30px;
    border-radius: 20px;
    text-align: center;
    position: relative;
    box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
}

.rk-loop-indicator {
    font-size: 48px;
    font-weight: 900;
    margin: 10px 0;
    transition: color 0.4s;
}

.rk-loop-status-text {
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 2px;
}

/* Dane Porównawcze */
.rk-loop-data-box {
    padding: 40px 45px;
}

.rk-loop-data-box h3 {
    font-size: 22px;
    font-weight: 900;
    margin-bottom: 25px;
    color: var(--rk-loop-dark);
}

/* Układ Desktop - Tabela */
.rk-loop-table-wrapper {
    overflow-x: auto;
}

.rk-loop-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
}

.rk-loop-table th {
    background: #f8fafc;
    text-align: left;
    padding: 18px;
    border-bottom: 2px solid var(--rk-loop-brand);
    font-weight: 800;
    color: var(--rk-loop-dark);
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.5px;
}

.rk-loop-table td {
    padding: 18px;
    border-bottom: 1px solid #f1f5f9;
    color: #475569;
}

.rk-loop-table tr:hover td {
    background: #f0f9ff;
}

.rk-val-highlight {
    font-weight: 800;
    color: var(--rk-loop-brand);
}

/* Układ Mobilny - Kafelki (Domyślnie ukryte) */
.rk-loop-mobile-cards {
    display: none;
    grid-template-columns: 1fr;
    gap: 15px;
}

.rk-mobile-card {
    background: #ffffff;
    border: 1px solid var(--rk-loop-border);
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-mc-title {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-loop-muted);
    margin-bottom: 15px;
    letter-spacing: 1px;
}

.rk-mc-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #f1f5f9;
    font-size: 14px;
}

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

.rk-mc-label {
    color: #64748b;
}

.rk-mc-val {
    font-weight: 700;
    color: var(--rk-loop-dark);
}

.rk-mc-val.highlight {
    color: var(--rk-loop-brand);
    font-size: 16px;
    font-weight: 900;
}

/* SVG Anim */
.rk-pipe-svg {
    width: 100%;
    max-width: 250px;
    height: auto;
    margin-bottom: 15px;
}

.anim-flow {
    stroke-dasharray: 15 15;
    animation: flowMove 1s linear infinite;
}

@keyframes flowMove { to { stroke-dashoffset: -30; } }

/* Footer/CTA */
.rk-loop-cta {
    padding: 40px 45px;
    background: var(--rk-loop-bg);
    text-align: center;
}

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

.rk-btn-engineering:hover {
    background: #2563eb;
    transform: translateY(-4px);
    box-shadow: 0 20px 35px -5px rgba(59, 130, 246, 0.5);
}

/* Media Queries */
@media (max-width: 768px) {
    .rk-loop-header, .rk-loop-interactive, .rk-loop-data-box, .rk-loop-cta { padding: 30px 20px; }
    .rk-loop-sim-grid { grid-template-columns: 1fr; }
    .rk-loop-title { font-size: 22px; }
    
    /* Ukrycie tabeli i pokazanie kafelków na mobilce */
    .rk-loop-table-wrapper { display: none; }
    .rk-loop-mobile-cards { display: grid; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#article-loop-length",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/"
    },
    "headline": "Maksymalna długość pętli i średnica rur w instalacji z pompą ciepła",
    "description": "Analiza inżynierska dopuszczalnych długości pętli (80-90m) dla rur 16x2mm. Poznaj wpływ oporów liniowych na sprawność układu hydraulicznego.",
    "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-11",
    "dateModified": "2026-05-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#dataset-loops",
    "name": "Zestawienie parametrów hydraulicznych: Standard vs Pompa Ciepła",
    "description": "Dane porównawcze dotyczące temperatury zasilania, różnicy temperatur (Delta T) oraz granicznych długości pętli rur PEX/PERT dla niskotemperaturowych źródeł ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna długość pętli podłogówki",
      "średnica rury 16x2 opory",
      "delta T pompa ciepła",
      "projektowanie instalacji niskotemperaturowej",
      "opory liniowe w rurach PEX"
    ],
    "measurementTechnique": "Obliczenia strat ciśnienia na podstawie natężenia przepływu masowego wymaganego do utrzymania niskiej delty temperatur (5-7K).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Projekt Optymalny: Pętla 80-90m, Tz 30-33°C, Delta T 5K.",
        "System Standardowy: Pętla 100-120m, Tz 40-45°C, Delta T 10K."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#webapp-hydraulics",
    "name": "Symulator Oporów Liniowych Pętli Grzewczej",
    "description": "Interaktywny kalkulator wizualizujący wzrost oporów hydraulicznych i obciążenia pompy obiegowej w funkcji długości rury grzewczej.",
    "applicationCategory": "Inżynieria/Kalkulator",
    "operatingSystem": "Wszystkie",
    "browserRequirements": "Obsługa JavaScript i SVG",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-loop-container" id="rk-loop-app">
    
    <div class="rk-loop-header">
        <div class="rk-loop-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="M12 16V12M12 8h.01"></path></svg>
            Inżynieria Hydrauliczna
        </div>
        <h2 class="rk-loop-title">Jaka powinna być maksymalna <span>długość pętli</span> i średnica rur?</h2>
    </div>

    <div class="rk-loop-interactive">
        <div class="rk-loop-sim-grid">
            
            <div class="rk-loop-controls">
                <div class="rk-slider-label">
                    <span>Długość Pętli (rura 16mm)</span>
                    <span id="valLoopLength" style="color: var(--rk-loop-brand);">85 m</span>
                </div>
                <input type="range" min="40" max="150" value="85" class="rk-loop-range" id="loopSlider">
                
                <p style="font-size: 14px; color: #64748b; line-height: 1.6; margin: 0;">
                    Zgodnie z normą <strong>PN-EN 1264</strong>, przekroczenie 90m przy rurze 16mm w układzie z pompą ciepła generuje opory, których standardowa pompa obiegowa nie jest w stanie pokonać przy niskiej delcie T.
                </p>
            </div>

            <div class="rk-loop-visual" id="rkVisualBox">
                <svg class="rk-pipe-svg" viewBox="0 0 200 60">
                    <path d="M 10 30 Q 100 0 190 30" fill="none" stroke="#334155" stroke-width="12" stroke-linecap="round"/>
                    <path id="svgFlowPath" class="anim-flow" d="M 10 30 Q 100 0 190 30" fill="none" stroke="var(--rk-loop-accent)" stroke-width="6" stroke-linecap="round"/>
                </svg>
                <div class="rk-loop-status-text" id="statusLabel">Stan: Optymalny</div>
                <div class="rk-loop-indicator" id="resistanceVal">18 kPa</div>
                <div style="color: #94a3b8; font-size: 12px; font-weight: 700;">OPÓR LINII POWROTNEJ</div>
            </div>

        </div>
    </div>

    <div class="rk-loop-data-box">
        <h3>Porównanie standardu i optymalizacji PC</h3>
        
        <div class="rk-loop-table-wrapper">
            <table class="rk-loop-table">
                <thead>
                    <tr>
                        <th>Parametr Techniczny</th>
                        <th>Standard (Kocioł)</th>
                        <th>Optymalizacja (PC)</th>
                        <th>Różnica / Zysk</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>Temperatura zasilania (Tz)</td>
                        <td>40–45°C</td>
                        <td class="rk-val-highlight">30–33°C</td>
                        <td><strong>+25% wyższy COP</strong></td>
                    </tr>
                    <tr>
                        <td>Delta T (Zas.-Powrót)</td>
                        <td>10 K</td>
                        <td class="rk-val-highlight">5–7 K</td>
                        <td>Stabilna praca inwertera</td>
                    </tr>
                    <tr>
                        <td>Max. długość pętli (16x2)</td>
                        <td>100–120 m</td>
                        <td class="rk-val-highlight">80–90 m</td>
                        <td>Opory niższe o 40%</td>
                    </tr>
                    <tr>
                        <td>Rozstaw rur (średni)</td>
                        <td>15 cm</td>
                        <td class="rk-val-highlight">10 cm</td>
                        <td>Niższa Tz o ok. 5°C</td>
                    </tr>
                    <tr>
                        <td>Rodzaj wylewki</td>
                        <td>Cementowa</td>
                        <td class="rk-val-highlight">Anhydrytowa</td>
                        <td>Przewodzenie k = 1,8</td>
                    </tr>
                </tbody>
            </table>
        </div>

        <div class="rk-loop-mobile-cards">
            <div class="rk-mobile-card">
                <div class="rk-mc-title">Temperatura zasilania (Tz)</div>
                <div class="rk-mc-row">
                    <span class="rk-mc-label">Standard:</span>
                    <span class="rk-mc-val">40–45°C</span>
                </div>
                <div class="rk-mc-row">
                    <span class="rk-mc-label">Pompa Ciepła:</span>
                    <span class="rk-mc-val highlight">30–33°C</span>
                </div>
                <div class="rk-mc-row" style="background:#f0fdf4; padding: 10px; border-radius: 8px; margin-top: 10px; border: 1px solid #bbf7d0;">
                    <span class="rk-mc-label" style="color: #15803d; font-weight:800;">ZYSK:</span>
                    <span class="rk-mc-val" style="color: #15803d;">+25% wyższy COP</span>
                </div>
            </div>

            <div class="rk-mobile-card">
                <div class="rk-mc-title">Delta T (Zas.-Powrót)</div>
                <div class="rk-mc-row">
                    <span class="rk-mc-label">Standard:</span>
                    <span class="rk-mc-val">10 K</span>
                </div>
                <div class="rk-mc-row">
                    <span class="rk-mc-label">Pompa Ciepła:</span>
                    <span class="rk-mc-val highlight">5–7 K</span>
                </div>
                <div class="rk-mc-row">
                    <span class="rk-mc-label" style="font-weight:700;">Efekt:</span>
                    <span class="rk-mc-val">Stabilna praca inwertera</span>
                </div>
            </div>

            <div class="rk-mobile-card">
                <div class="rk-mc-title">Max. długość pętli (16x2)</div>
                <div class="rk-mc-row">
                    <span class="rk-mc-label">Standard:</span>
                    <span class="rk-mc-val">100–120 m</span>
                </div>
                <div class="rk-mc-row">
                    <span class="rk-mc-label">Pompa Ciepła:</span>
                    <span class="rk-mc-val highlight">80–90 m</span>
                </div>
                <div class="rk-mc-row">
                    <span class="rk-mc-label" style="font-weight:700;">Efekt:</span>
                    <span class="rk-mc-val">Opory niższe o 40%</span>
                </div>
            </div>

            <div class="rk-mobile-card">
                <div class="rk-mc-title">Rozstaw rur (średni)</div>
                <div class="rk-mc-row">
                    <span class="rk-mc-label">Standard:</span>
                    <span class="rk-mc-val">15 cm</span>
                </div>
                <div class="rk-mc-row">
                    <span class="rk-mc-label">Pompa Ciepła:</span>
                    <span class="rk-mc-val highlight">10 cm</span>
                </div>
                <div class="rk-mc-row">
                    <span class="rk-mc-label" style="font-weight:700;">Efekt:</span>
                    <span class="rk-mc-val">Niższa Tz o ok. 5°C</span>
                </div>
            </div>

            <div class="rk-mobile-card">
                <div class="rk-mc-title">Rodzaj wylewki</div>
                <div class="rk-mc-row">
                    <span class="rk-mc-label">Standard:</span>
                    <span class="rk-mc-val">Cementowa</span>
                </div>
                <div class="rk-mc-row">
                    <span class="rk-mc-label">Pompa Ciepła:</span>
                    <span class="rk-mc-val highlight">Anhydrytowa</span>
                </div>
                <div class="rk-mc-row">
                    <span class="rk-mc-label" style="font-weight:700;">Efekt:</span>
                    <span class="rk-mc-val">Przewodzenie k = 1,8</span>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-loop-cta">
        <p style="margin-bottom: 25px; color: #475569; font-size: 15px; max-width: 700px; margin-left: auto; margin-right: auto;">
            Maksymalna długość pętli dla <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/" style="color:var(--rk-loop-brand); font-weight:700;">rury o średnicy 16x2 mm</a> w systemie z pompą ciepła to <strong>80–90 metrów</strong>. Przekroczenie tej wartości powoduje gwałtowny wzrost oporów liniowych, co zmusza <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/" style="color:var(--rk-loop-brand); font-weight:700;">pompę obiegową</a> do pracy na najwyższym biegu, generując szumy i straty prądu.
        </p>
        <a href="https://projekt-ogrzewania.pl/sklep/" class="rk-btn-engineering">
            DOBIERZ MATERIAŁY PROJEKTOWE
            <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() {
    // 1. Domain Lock
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-loop-app').innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#f87171; border-radius:20px; font-weight:900;">BŁĄD LICENCJI: KOD NALEŻY DO PROJEKT-OGRZEWANIA.PL</div>';
        return;
    }

    // 2. Simulator Logic
    const slider = document.getElementById('loopSlider');
    const lengthLabel = document.getElementById('valLoopLength');
    const resistanceLabel = document.getElementById('resistanceVal');
    const statusLabel = document.getElementById('statusLabel');
    const visualBox = document.getElementById('rkVisualBox');
    const flowAnim = document.getElementById('svgFlowPath');

    function updateHydraulics(val) {
        lengthLabel.innerText = val + ' m';
        
        // Obliczenie oporu (model nieliniowy)
        // val 80 -> ok 18 kPa, val 120 -> ok 35 kPa, val 150 -> ok 55 kPa
        let baseRes = (val * val * 0.0025) + (val * 0.05);
        resistanceLabel.innerText = Math.round(baseRes) + ' kPa';

        if (val <= 95) {
            // Stan OK
            resistanceLabel.style.color = 'var(--rk-loop-success)';
            statusLabel.innerText = 'Stan: Optymalny';
            statusLabel.style.color = 'var(--rk-loop-success)';
            flowAnim.style.stroke = 'var(--rk-loop-success)';
            flowAnim.style.animationDuration = '1.5s';
        } else if (val <= 115) {
            // Stan Warning
            resistanceLabel.style.color = 'var(--rk-loop-warning)';
            statusLabel.innerText = 'Stan: Wysokie Opory';
            statusLabel.style.color = 'var(--rk-loop-warning)';
            flowAnim.style.stroke = 'var(--rk-loop-warning)';
            flowAnim.style.animationDuration = '0.7s';
        } else {
            // Stan Danger
            resistanceLabel.style.color = 'var(--rk-loop-danger)';
            statusLabel.innerText = 'Stan: Przeciążenie Pompy';
            statusLabel.style.color = 'var(--rk-loop-danger)';
            flowAnim.style.stroke = 'var(--rk-loop-danger)';
            flowAnim.style.animationDuration = '0.3s';
        }
    }

    slider.addEventListener('input', function(e) {
        updateHydraulics(e.target.value);
    });

    updateHydraulics(85);
});
</script>



<style>
:root {
    --rk-buf-dark: #0f172a;
    --rk-buf-card: #1e293b;
    --rk-buf-brand: #8b5cf6; /* Fiolet/Indygo - symbolizuje mieszanie ciepła i chłodu */
    --rk-buf-brand-light: #f5f3ff;
    --rk-buf-hot: #ef4444; /* Czerwony - zasilanie */
    --rk-buf-cold: #3b82f6; /* Niebieski - powrót */
    --rk-buf-mix: #d946ef; /* Róż/Fiolet - zmieszanie w sprzęgle */
    --rk-buf-success: #10b981;
    --rk-buf-warning: #f59e0b;
    --rk-buf-text: #334155;
    --rk-buf-muted: #64748b;
    --rk-buf-bg: #ffffff;
    --rk-buf-border: #e2e8f0;
}

.rk-buf-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    background: var(--rk-buf-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(139, 92, 246, 0.15);
    border: 1px solid rgba(139, 92, 246, 0.3);
    overflow: hidden;
}

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

.rk-buf-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(139, 92, 246, 0.2);
    color: #c4b5fd;
    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(139, 92, 246, 0.4);
}

.rk-buf-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0;
}

.rk-buf-title span { color: #a78bfa; }

/* Interfejs Symulatora */
.rk-buf-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

/* Przyciski Wyboru Schematu */
.rk-buf-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 30px;
}

.rk-buf-tab {
    background: #ffffff;
    border: 2px solid var(--rk-buf-border);
    padding: 15px 10px;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-buf-muted);
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}

.rk-buf-tab:hover {
    border-color: #a78bfa;
    color: var(--rk-buf-brand);
    background: var(--rk-buf-brand-light);
}

.rk-buf-tab.active {
    background: var(--rk-buf-brand-light);
    border-color: var(--rk-buf-brand);
    color: var(--rk-buf-brand);
    box-shadow: 0 10px 15px -3px rgba(139, 92, 246, 0.1);
}

.rk-tab-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rk-buf-border);
    color: #ffffff;
    transition: all 0.3s;
}

.rk-buf-tab.active .rk-tab-icon {
    background: var(--rk-buf-brand);
}

/* Wizualizacja SVG */
.rk-buf-visual-box {
    background: var(--rk-buf-dark);
    border-radius: 20px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 40px rgba(0,0,0,0.6);
    border: 4px solid #334155;
    position: relative;
}

.rk-buf-svg {
    width: 100%;
    max-width: 500px;
    height: auto;
}

/* Elementy SVG */
.svg-pipe {
    fill: none;
    stroke-width: 6;
    stroke-linecap: butt; /* Zapobiega efektowi nakładania fasolek */
    stroke-linejoin: round;
    transition: opacity 0.5s, stroke 0.5s;
}

.svg-flow-anim {
    fill: none;
    stroke-width: 4;
    stroke-dasharray: 8 8;
    stroke-linecap: butt;
    animation: flowMove 1.5s linear infinite;
    transition: opacity 0.5s, stroke 0.5s;
}

@keyframes flowMove {
    to { stroke-dashoffset: -16; }
}

.svg-component {
    fill: #1e293b;
    stroke: #64748b;
    stroke-width: 3;
    transition: opacity 0.5s;
}

.svg-text {
    fill: #ffffff;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 800;
}

/* Karta Wynikowa */
.rk-buf-results {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-top: 25px;
}

.rk-buf-metric {
    background: #ffffff;
    border: 1px solid var(--rk-buf-border);
    padding: 15px;
    border-radius: 12px;
    text-align: center;
}

.rk-metric-label {
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-buf-muted);
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.rk-metric-val {
    font-size: 18px;
    font-weight: 900;
    transition: color 0.3s;
}

/* Treść Merytoryczna */
.rk-buf-content {
    padding: 0 50px 45px 50px;
}

.rk-buf-content p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--rk-buf-text);
    margin: 0 0 20px 0;
}

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

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

.rk-buf-list-item {
    background: var(--rk-buf-bg);
    border: 1px solid var(--rk-buf-border);
    border-left: 5px solid var(--rk-buf-brand);
    padding: 20px 25px;
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-item-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-buf-dark);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-item-badge {
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.badge-rec { background: #dcfce7; color: #15803d; }
.badge-warn { background: #fef3c7; color: #b45309; }
.badge-alert { background: #fee2e2; color: #b91c1c; }

.rk-link {
    color: var(--rk-buf-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px dashed rgba(139, 92, 246, 0.4);
    transition: all 0.3s;
}

.rk-link:hover {
    color: #6d28d9;
    border-bottom-style: solid;
}

@media (max-width: 768px) {
    .rk-buf-header, .rk-buf-interactive, .rk-buf-content { padding: 30px 25px; }
    .rk-buf-tabs { grid-template-columns: 1fr; gap: 10px; }
    .rk-buf-results { grid-template-columns: 1fr; }
    .rk-buf-tab { flex-direction: row; justify-content: flex-start; padding: 15px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#article-bufor",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/"
    },
    "headline": "Jaką rolę pełni bufor ciepła w projekcie z pompą ciepła?",
    "description": "Przewodnik po schematach hydraulicznych: bufor szeregowy, równoległy (sprzęgło) i układ bezpośredni. Poznaj ich wpływ na sprawność i defrost 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-11",
    "dateModified": "2026-05-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#dataset-bufor",
    "name": "Wpływ schematu połączenia bufora na parametry pracy pompy ciepła",
    "description": "Zestawienie porównujące wpływ bufora szeregowego, równoległego oraz układu bezpośredniego na sprawność (COP), bezpieczeństwo defrostu oraz temperaturę zasilania (Tz).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "bufor szeregowy czy sprzęgło",
      "zład wody w ogrzewaniu podłogowym",
      "defrost pompy ciepła bufor",
      "sprzęgło hydrauliczne pompa ciepła",
      "schemat instalacji pompa ciepła"
    ],
    "measurementTechnique": "Analiza wahań temperatury zasilania (Tz) oraz ocena bezpieczeństwa hydraulicznego podczas cyklu odszraniania (defrost) parownika w oparciu o dostępne pojemności zładu wodnego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Szeregowy na powrocie: Najwyższy COP, brak mieszania Tz, pełne bezpieczeństwo defrostu (zład 15-20 l/kW).",
        "Równoległy (Sprzęgło): Spadek COP, wzrost Tz o 2-3 K z powodu mieszania strumieni w buforze.",
        "Bezpośredni (Open Loop): Wymaga idealnego projektu, ryzyko zablokowania przepływu przez siłowniki termoelektryczne."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#webapp-bufor",
    "name": "Symulator Przepływów w Schematach Buforowych",
    "description": "Interaktywne narzędzie wizualizujące kierunki przepływu i proces mieszania się wody grzewczej w zależności od wybranego sposobu wpięcia bufora ciepła do instalacji.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-buf-container" id="rk-buf-app">
    
    <div class="rk-buf-header">
        <div class="rk-buf-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"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><path d="M4 12h16"></path><path d="M12 4v16"></path></svg>
            Architektura Systemu
        </div>
        <h2 class="rk-buf-title">Jaką rolę pełni <span>bufor ciepła</span> w projekcie?</h2>
    </div>

    <div class="rk-buf-interactive">
        
        <div class="rk-buf-tabs">
            <div class="rk-buf-tab active" data-mode="szereg">
                <div class="rk-tab-icon">1</div>
                Szeregowy na powrocie
            </div>
            <div class="rk-buf-tab" data-mode="rownoleg">
                <div class="rk-tab-icon">2</div>
                Równoległy (Sprzęgło)
            </div>
            <div class="rk-buf-tab" data-mode="bezposred">
                <div class="rk-tab-icon">3</div>
                Układ Bezpośredni
            </div>
        </div>

        <div class="rk-buf-visual-box">
            <svg class="rk-buf-svg" viewBox="0 0 400 200">
                <rect class="svg-component" x="10" y="60" width="60" height="80" rx="6" />
                <text class="svg-text" x="25" y="105">PC</text>
                
                <rect class="svg-component" x="330" y="40" width="40" height="120" rx="4" />
                <text class="svg-text" x="342" y="105">OP</text>

                <g id="g-szereg" style="opacity: 1;">
                    <rect class="svg-component" x="170" y="110" width="60" height="70" rx="4" />
                    <text class="svg-text" x="180" y="150">BUFOR</text>
                    
                    <path class="svg-pipe" stroke="var(--rk-buf-hot)" d="M 70 75 L 330 75" />
                    <path class="svg-flow-anim" stroke="#ffffff" d="M 70 75 L 330 75" />
                    
                    <path class="svg-pipe" stroke="var(--rk-buf-cold)" d="M 330 130 L 230 130" />
                    <path class="svg-flow-anim" stroke="#ffffff" d="M 330 130 L 230 130" />
                    
                    <path class="svg-pipe" stroke="var(--rk-buf-cold)" d="M 170 130 L 70 130" />
                    <path class="svg-flow-anim" stroke="#ffffff" d="M 170 130 L 70 130" />
                </g>

                <g id="g-rownoleg" style="opacity: 0;">
                    <rect class="svg-component" x="170" y="40" width="60" height="120" rx="6" />
                    <text class="svg-text" x="180" y="105">BUFOR</text>
                    
                    <path class="svg-pipe" stroke="var(--rk-buf-hot)" d="M 70 70 L 170 70" />
                    <path class="svg-flow-anim" stroke="#ffffff" d="M 70 70 L 170 70" />
                    <path class="svg-pipe" stroke="var(--rk-buf-cold)" d="M 170 130 L 70 130" />
                    <path class="svg-flow-anim" stroke="#ffffff" d="M 170 130 L 70 130" />
                    
                    <path class="svg-pipe" stroke="var(--rk-buf-mix)" d="M 230 70 L 330 70" />
                    <path class="svg-flow-anim" stroke="#ffffff" d="M 230 70 L 330 70" />
                    <path class="svg-pipe" stroke="var(--rk-buf-cold)" d="M 330 130 L 230 130" />
                    <path class="svg-flow-anim" stroke="#ffffff" d="M 330 130 L 230 130" />
                </g>

                <g id="g-bezposred" style="opacity: 0;">
                    <path class="svg-pipe" stroke="var(--rk-buf-hot)" d="M 70 75 L 330 75" />
                    <path class="svg-flow-anim" stroke="#ffffff" d="M 70 75 L 330 75" />
                    
                    <path class="svg-pipe" stroke="var(--rk-buf-cold)" d="M 330 125 L 70 125" />
                    <path class="svg-flow-anim" stroke="#ffffff" d="M 330 125 L 70 125" />
                    
                    <circle cx="200" cy="100" r="30" fill="none" stroke="#ef4444" stroke-width="4" stroke-dasharray="8 4"/>
                    <line x1="180" y1="80" x2="220" y2="120" stroke="#ef4444" stroke-width="4"/>
                </g>
            </svg>
        </div>

        <div class="rk-buf-results">
            <div class="rk-buf-metric">
                <div class="rk-metric-label">Sprawność (COP)</div>
                <div class="rk-metric-val" id="valCop" style="color: var(--rk-buf-success);">Maksymalna</div>
            </div>
            <div class="rk-buf-metric">
                <div class="rk-metric-label">Temperatura Zasilania</div>
                <div class="rk-metric-val" id="valTz" style="color: var(--rk-buf-success);">Bez strat (30°C)</div>
            </div>
            <div class="rk-buf-metric">
                <div class="rk-metric-label">Odmrażanie (Defrost)</div>
                <div class="rk-metric-val" id="valDefrost" style="color: var(--rk-buf-success);">W 100% Bezpieczne</div>
            </div>
        </div>

    </div>

    <div class="rk-buf-content">
        <p>
            Wbrew obiegowym opiniom, <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufor ciepła</a> w projekcie ogrzewania podłogowego pełni funkcję stricte hydrauliczną, a nie magazynową (rolę wielkiego akumulatora ciepła przejmuje wylewka betonowa lub anhydrytowa). 
        </p>
        <p>
            Jego głównym zadaniem jest zapewnienie <a href="https://projekt-ogrzewania.pl/wiekszy-czy-mniejszy-zlad-wody-w-ogrzewaniu-podlogowym/">odpowiedniego zładu wody</a> wymaganego do procesu odmrażania parownika (tzw. <strong>defrostu</strong>). Pompa ciepła w tym trybie pobiera nagle dużą ilość energii z instalacji, aby stopić lód na jednostce zewnętrznej. Jeśli system nie zapewni stałego przepływu, pompa wyrzuci błąd.
        </p>

        <ul class="rk-buf-list">
            <li class="rk-buf-list-item">
                <div class="rk-item-title">
                    1. Szeregowy na powrocie
                    <span class="rk-item-badge badge-rec">Zalecany</span>
                </div>
                <p>
                    Rozwiązanie najlepsze dla inwerterowych pomp powietrznych. Woda wracająca z podłogówki przepływa przez bufor (zbiornik 50–100 litrów), a zasilanie idzie bezpośrednio do rozdzielacza. <strong>Nie tracimy temperatury zasilania</strong> (brak zjawiska mieszania), a pompa ma zagwarantowany zład wody do odszraniania. Zalecana pojemność: ok. 15–20 litrów na każdy 1 kW mocy urządzenia.
                </p>
            </li>
            
            <li class="rk-buf-list-item">
                <div class="rk-item-title">
                    2. Równoległy (Sprzęgło hydrauliczne)
                    <span class="rk-item-badge badge-warn">Wymusza spadek COP</span>
                </div>
                <p>
                    Stosowany najczęściej w układach z mieszaczami (np. gdy podłogówka działa razem z kaloryferami). Woda z pompy ciepła wpada do bufora, miesza się, i dopiero stamtąd jest tłoczona do obiegów przez <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">niezależne pompy obiegowe</a>. Niestety, wymieszanie wody zawsze <strong>podnosi wymaganą temperaturę pracy sprężarki o ok. 2–3 K</strong>, co bezpośrednio obniża współczynnik COP.
                </p>
            </li>

            <li class="rk-buf-list-item">
                <div class="rk-item-title">
                    3. Układ Bezpośredni
                    <span class="rk-item-badge badge-alert">Wymaga rygoru</span>
                </div>
                <p>
                    Całkowity brak bufora. Układ dopuszczalny <strong>wyłącznie</strong> jako tzw. "Open Loop". Inwestor i instalator muszą zagwarantować stały przepływ masowy przez podłogę. Wymaga to rezygnacji ze <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/">strefowych siłowników termoelektrycznych</a> na rozdzielaczach, aby nie dopuścić do sytuacji, w której termostaty zamkną pętle, gdy pompa rozpocznie defrost.
                </p>
            </li>
        </ul>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-buf-app').innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border-radius:20px; font-weight:900;">BŁĄD LICENCJI: KOD NALEŻY DO PROJEKT-OGRZEWANIA.PL</div>';
        return;
    }

    // 2. Logika Symulatora
    const tabs = document.querySelectorAll('.rk-buf-tab');
    const svgSzereg = document.getElementById('g-szereg');
    const svgRownoleg = document.getElementById('g-rownoleg');
    const svgBezposred = document.getElementById('g-bezposred');
    
    const valCop = document.getElementById('valCop');
    const valTz = document.getElementById('valTz');
    const valDefrost = document.getElementById('valDefrost');

    function switchMode(mode) {
        // Reset Tabs
        tabs.forEach(t => t.classList.remove('active'));
        document.querySelector(`.rk-buf-tab[data-mode="${mode}"]`).classList.add('active');

        // Reset SVGs
        svgSzereg.style.opacity = '0';
        svgRownoleg.style.opacity = '0';
        svgBezposred.style.opacity = '0';

        if (mode === 'szereg') {
            svgSzereg.style.opacity = '1';
            
            valCop.innerText = 'Maksymalna';
            valCop.style.color = 'var(--rk-buf-success)';
            
            valTz.innerText = 'Bez strat (30°C)';
            valTz.style.color = 'var(--rk-buf-success)';
            
            valDefrost.innerText = 'W 100% Bezpieczne';
            valDefrost.style.color = 'var(--rk-buf-success)';
            
        } else if (mode === 'rownoleg') {
            svgRownoleg.style.opacity = '1';
            
            valCop.innerText = 'Obniżona o ok. 8%';
            valCop.style.color = 'var(--rk-buf-warning)';
            
            valTz.innerText = 'Wzrost o 2–3 K';
            valTz.style.color = 'var(--rk-buf-warning)';
            
            valDefrost.innerText = 'W 100% Bezpieczne';
            valDefrost.style.color = 'var(--rk-buf-success)';
            
        } else if (mode === 'bezposred') {
            svgBezposred.style.opacity = '1';
            
            valCop.innerText = 'Maksymalna';
            valCop.style.color = 'var(--rk-buf-success)';
            
            valTz.innerText = 'Bez strat (30°C)';
            valTz.style.color = 'var(--rk-buf-success)';
            
            valDefrost.innerHTML = 'Krytyczne Ryzyko!';
            valDefrost.style.color = 'var(--rk-buf-hot)';
        }
    }

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            switchMode(this.getAttribute('data-mode'));
        });
    });
});
</script>



<style>
:root {
    --rk-screed-dark: #0f172a;
    --rk-screed-card: #1e293b;
    --rk-screed-brand: #ea580c; /* Ciepły pomarańczowy - symbolizujący przewodnictwo */
    --rk-screed-brand-light: #ffedd5;
    --rk-screed-concrete: #94a3b8; /* Szary beton */
    --rk-screed-anhydrite: #fcd34d; /* Jasny, płynny anhydryt */
    --rk-screed-success: #10b981;
    --rk-screed-danger: #ef4444;
    --rk-screed-bg: #f8fafc;
    --rk-screed-border: #e2e8f0;
    --rk-screed-text: #334155;
}

.rk-screed-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(234, 88, 12, 0.15);
    border: 1px solid rgba(234, 88, 12, 0.3);
    overflow: hidden;
}

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

.rk-screed-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(234, 88, 12, 0.2);
    color: #fdba74;
    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(234, 88, 12, 0.3);
}

.rk-screed-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0;
}

.rk-screed-title span { color: var(--rk-screed-brand); }

/* Sekcja Interaktywna */
.rk-screed-interactive {
    padding: 40px 50px;
    background: var(--rk-screed-bg);
}

/* Przełącznik Wylewki */
.rk-screed-toggle-wrapper {
    display: flex;
    background: #e2e8f0;
    padding: 6px;
    border-radius: 16px;
    margin-bottom: 30px;
    position: relative;
}

.rk-screed-btn {
    flex: 1;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-screed-text);
    background: transparent;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

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

.rk-screed-pill {
    position: absolute;
    top: 6px;
    left: 6px;
    height: calc(100% - 12px);
    background: var(--rk-screed-concrete); /* Domyślny kolor betonu */
    border-radius: 12px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

/* Grid Layout */
.rk-screed-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 30px;
    align-items: center;
}

/* SVG Wizualizacja */
.rk-screed-visual {
    background: var(--rk-screed-dark);
    border-radius: 20px;
    padding: 20px;
    box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
    border: 4px solid #334155;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-svg-crosssection {
    width: 100%;
    max-width: 250px;
    height: auto;
}

/* Style SVG */
.svg-screed-mass {
    transition: fill 0.5s, height 0.5s, y 0.5s;
}

.svg-air-gap {
    transition: stroke-width 0.5s, stroke 0.5s;
}

.svg-bubbles {
    transition: opacity 0.5s;
}

.svg-heat-wave {
    fill: none;
    stroke-linecap: round;
    transition: stroke 0.5s, stroke-width 0.5s;
}

.anim-heat-slow {
    stroke-dasharray: 10 20;
    animation: riseUp 3s linear infinite;
}

.anim-heat-fast {
    stroke-dasharray: 20 10;
    animation: riseUp 1s linear infinite;
}

@keyframes riseUp {
    to { stroke-dashoffset: -30; }
}

/* Karty Danych */
.rk-screed-data-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-data-card {
    background: #ffffff;
    border: 1px solid var(--rk-screed-border);
    padding: 20px;
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: border-color 0.3s;
}

.rk-data-label {
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-screed-text);
    opacity: 0.7;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.rk-data-val {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-screed-dark);
    display: flex;
    align-items: baseline;
    gap: 4px;
    transition: color 0.3s;
}

.rk-data-unit {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-screed-text);
    opacity: 0.6;
}

.card-full {
    grid-column: span 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--rk-screed-brand-light);
    border-color: rgba(234, 88, 12, 0.3);
}

.card-full .rk-data-val {
    color: var(--rk-screed-brand);
}

/* Treść Artykułu */
.rk-screed-content {
    padding: 45px 50px;
}

.rk-screed-content p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--rk-screed-text);
    margin-bottom: 20px;
}

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

.rk-alert-error {
    background: #fef2f2;
    border-left: 4px solid var(--rk-screed-danger);
    padding: 20px 25px;
    border-radius: 0 12px 12px 0;
    margin-top: 30px;
}

.rk-alert-error h4 {
    margin: 0 0 10px 0;
    color: #991b1b;
    font-size: 16px;
    font-weight: 900;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-alert-error p {
    margin: 0;
    color: #7f1d1d;
    font-size: 15px;
}

.rk-link {
    color: var(--rk-screed-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed rgba(234, 88, 12, 0.4);
    transition: all 0.3s;
}

.rk-link:hover {
    color: #c2410c;
    border-bottom-style: solid;
}

/* CTA */
.rk-screed-cta {
    padding: 40px 50px;
    background: var(--rk-screed-bg);
    text-align: center;
    border-top: 1px solid var(--rk-screed-border);
}

.rk-btn-screed {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--rk-screed-brand);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    transition: all 0.3s;
    box-shadow: 0 10px 25px -5px rgba(234, 88, 12, 0.4);
}

.rk-btn-screed:hover {
    transform: translateY(-4px);
    background: #c2410c;
    box-shadow: 0 20px 35px -5px rgba(234, 88, 12, 0.5);
}

@media (max-width: 768px) {
    .rk-screed-header, .rk-screed-interactive, .rk-screed-content, .rk-screed-cta { padding: 30px 20px; }
    .rk-screed-grid { grid-template-columns: 1fr; }
    .rk-screed-btn { font-size: 14px; padding: 12px; flex-direction: column; gap: 5px; text-align: center; }
    .rk-screed-title { font-size: 24px; }
    .card-full { 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/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#article-wplyw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/"
    },
    "headline": "Jak rodzaj wylewki wpływa na wydajność pompy ciepła?",
    "description": "Porównanie przewodnictwa cieplnego jastrychu anhydrytowego i betonu. Anhydryt eliminuje pustki powietrzne, obniża temperaturę zasilania i zwiększa SCOP o 6-8%.",
    "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-11",
    "dateModified": "2026-05-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#dataset-wylewki",
    "name": "Właściwości termofizyczne jastrychów grzewczych",
    "description": "Zestawienie współczynników przewodzenia ciepła oraz wpływu grubości wylewki na efektywność instalacji ogrzewania podłogowego z pompą ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jastrych anhydrytowy przewodzenie ciepła",
      "wylewka betonowa pod ogrzewanie podłogowe",
      "bezwładność cieplna podłogówki",
      "wzrost SCOP pompy ciepła",
      "grubość wylewki na podłogówkę"
    ],
    "measurementTechnique": "Analiza współczynnika lambda [W/(mK)] materiałów budowlanych oraz zjawiska oporu cieplnego wywołanego pustkami powietrznymi (złe otulenie rury w betonie).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Jastrych Anhydrytowy: λ ≈ 1.8-2.0 W/(mK), idealne otulenie rury, wzrost SCOP o 6-8%, niska bezwładność.",
        "Tradycyjny Beton: λ ≈ 1.1-1.2 W/(mK), mikropory powietrzne działające jako izolator, duża bezwładność (szczególnie przy warstwie 10 cm)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#webapp-screed",
    "name": "Symulator Przewodnictwa Cieplnego Wylewki",
    "description": "Narzędzie interaktywne pokazujące różnice w otuleniu rury i propagacji ciepła pomiędzy betonem a anhydrytem w systemie płaszczyznowym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and SVG support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-screed-container" id="rk-screed-app">
    
    <div class="rk-screed-header">
        <div class="rk-screed-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"><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>
            Fizyka Budowli
        </div>
        <h2 class="rk-screed-title">Jak rodzaj wylewki wpływa na <span>wydajność pompy ciepła?</span></h2>
    </div>

    <div class="rk-screed-interactive">
        
        <div class="rk-screed-toggle-wrapper">
            <div class="rk-screed-pill" id="screedPill"></div>
            <button class="rk-screed-btn active" data-type="beton" id="btnBeton">
                <svg width="20" height="20" 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><circle cx="8.5" cy="8.5" r="1.5"></circle><circle cx="15.5" cy="15.5" r="1.5"></circle><circle cx="15.5" cy="8.5" r="1.5"></circle><circle cx="8.5" cy="15.5" r="1.5"></circle></svg>
                Tradycyjny Beton
            </button>
            <button class="rk-screed-btn" data-type="anhydryt" id="btnAnhydryt">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2.69l5.66 4.2c3.11 3.11 3.11 8.14 0 11.25a7.94 7.94 0 0 1-11.32 0c-3.11-3.11-3.11-8.14 0-11.25L12 2.69z"></path></svg>
                Jastrych Anhydrytowy
            </button>
        </div>

        <div class="rk-screed-grid">
            
            <div class="rk-screed-visual">
                <div style="color: #cbd5e1; font-size: 11px; font-weight: 800; letter-spacing: 1px; margin-bottom: 15px; text-transform: uppercase;">Przekrój - Promieniowanie</div>
                <svg class="rk-svg-crosssection" viewBox="0 0 200 160">
                    <rect x="10" y="130" width="180" height="30" fill="#cbd5e1" stroke="#94a3b8" stroke-width="2" />
                    <line x1="10" y1="140" x2="190" y2="140" stroke="#94a3b8" stroke-dasharray="4 4"/>
                    
                    <rect id="svgScreed" class="svg-screed-mass" x="10" y="40" width="180" height="90" fill="var(--rk-screed-concrete)" />
                    
                    <g id="svgBubbles" class="svg-bubbles" fill="#ffffff" opacity="0.4">
                        <circle cx="30" cy="60" r="3"/><circle cx="50" cy="110" r="4"/><circle cx="80" cy="50" r="2"/>
                        <circle cx="150" cy="70" r="5"/><circle cx="170" cy="100" r="3"/><circle cx="120" cy="115" r="4"/>
                        <circle cx="40" cy="80" r="2"/><circle cx="140" cy="50" r="3"/><circle cx="100" cy="120" r="2"/>
                    </g>

                    <circle cx="100" cy="90" r="22" fill="none" class="svg-air-gap" id="svgAirGap" stroke="#ffffff" stroke-width="4"/>
                    <circle cx="100" cy="90" r="16" fill="#ef4444" stroke="#b91c1c" stroke-width="2"/>
                    
                    <g id="svgHeatWaves" stroke="#ef4444">
                        <path class="svg-heat-wave anim-heat-slow" d="M 60 70 Q 60 40 60 10" />
                        <path class="svg-heat-wave anim-heat-slow" d="M 100 60 Q 100 30 100 10" />
                        <path class="svg-heat-wave anim-heat-slow" d="M 140 70 Q 140 40 140 10" />
                    </g>
                </svg>
            </div>

            <div class="rk-screed-data-grid">
                <div class="rk-data-card">
                    <div class="rk-data-label">Przewodnictwo (&lambda;)</div>
                    <div class="rk-data-val" id="valLambda">1.2 <span class="rk-data-unit">W/(m&middot;K)</span></div>
                </div>
                <div class="rk-data-card">
                    <div class="rk-data-label">Otulenie Rury</div>
                    <div class="rk-data-val" id="valContact" style="color: var(--rk-screed-text); font-size: 20px;">Słabe (Izolator)</div>
                </div>
                <div class="rk-data-card card-full">
                    <div>
                        <div class="rk-data-label">Wpływ na pompę ciepła</div>
                        <div class="rk-data-val" id="valEffect" style="color: var(--rk-screed-text); font-size: 20px; display: block;">Wymaga wyższej o 3&deg;C Tz</div>
                    </div>
                    <div style="text-align: right;">
                        <div class="rk-data-label" style="color: var(--rk-screed-danger);" id="lblScop">Spadek SCOP</div>
                        <div class="rk-data-val" id="valScop" style="color: var(--rk-screed-danger);">Brak zysku</div>
                    </div>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-screed-content">
        <p>
            Wybór jastrychu to decyzja stricte inżynieryjna, a nie tylko kosmetyczna czy wykończeniowa. <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/" class="rk-link">Jastrych anhydrytowy</a> posiada współczynnik przewodzenia ciepła &lambda; &approx; <strong>1,8&ndash;2,0 W/(m&middot;K)</strong>, podczas gdy dla tradycyjnego betonu z miksikreta wartość ta wynosi zaledwie <strong>1,1&ndash;1,2 W/(m&middot;K)</strong>.
        </p>

        <p>
            Dzięki płynnej, samopoziomującej konsystencji, anhydryt w 100% szczelnie otula rurę grzewczą. Eliminuje to puste mikropęcherzyki powietrza, które w betonie działają jak naturalny izolator hamujący przepływ energii. W efekcie, aby uzyskać tę samą temperaturę odczuwalną na powierzchni kafli, woda w układzie z anhydrytem może być o <strong>2&ndash;3&deg;C chłodniejsza</strong>. To z kolei przekłada się na mniejsze zużycie prądu i realny wzrost współczynnika SCOP pompy ciepła o około <strong>6&ndash;8%</strong>.
        </p>

        <div class="rk-alert-error">
            <h4>
                <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>
                Konsekwencje błędów wykonawczych
            </h4>
            <p>
                Wylanie zbyt grubej warstwy betonu (np. 10 cm, co często ma miejsce przy łataniu nierówności chudziaka) drastycznie zwiększa <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/" class="rk-link">bezwładność cieplną</a>. System staje się ociężały, nie reaguje na chwilowe zyski słoneczne wpadające przez okna, co prowadzi do notorycznego przegrzewania pomieszczeń i ogromnych strat energii.
            </p>
        </div>
    </div>

    <div class="rk-screed-cta">
        <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/" class="rk-btn-screed">
            PRZECZYTAJ KOMPLETNY PRZEWODNIK O WYLEWKACH
            <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="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>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domeny
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-screed-app').innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border-radius:20px; font-weight:900;">BŁĄD LICENCJI: KOD NALEŻY DO PROJEKT-OGRZEWANIA.PL</div>';
        return;
    }

    // 2. Elementy DOM
    const btnBeton = document.getElementById('btnBeton');
    const btnAnhydryt = document.getElementById('btnAnhydryt');
    const pill = document.getElementById('screedPill');
    
    // SVG Elements
    const svgScreed = document.getElementById('svgScreed');
    const svgBubbles = document.getElementById('svgBubbles');
    const svgAirGap = document.getElementById('svgAirGap');
    const svgHeatWaves = document.querySelectorAll('.svg-heat-wave');
    
    // Data Elements
    const valLambda = document.getElementById('valLambda');
    const valContact = document.getElementById('valContact');
    const valEffect = document.getElementById('valEffect');
    const lblScop = document.getElementById('lblScop');
    const valScop = document.getElementById('valScop');

    // 3. Logika Przełączania
    function setScreedType(type) {
        if (type === 'beton') {
            // UI Toggle
            btnBeton.classList.add('active');
            btnAnhydryt.classList.remove('active');
            pill.style.transform = 'translateX(0)';
            pill.style.width = btnBeton.offsetWidth + 'px';
            pill.style.backgroundColor = 'var(--rk-screed-concrete)';

            // SVG Update (Grubszy, z bąblami, powolne ciepło, air gap)
            svgScreed.setAttribute('fill', 'var(--rk-screed-concrete)');
            svgScreed.setAttribute('height', '90'); // Grubsza
            svgScreed.setAttribute('y', '40');
            svgBubbles.style.opacity = '0.4';
            svgAirGap.setAttribute('stroke-width', '4'); // Szpara powietrzna widoczna
            
            svgHeatWaves.forEach(wave => {
                wave.className.baseVal = 'svg-heat-wave anim-heat-slow';
                wave.setAttribute('stroke', '#f87171'); // Słabsze czerwone
            });

            // Data Update
            valLambda.innerHTML = '1.2 <span class="rk-data-unit">W/(m&middot;K)</span>';
            valContact.innerText = 'Słabe (Izolator)';
            valContact.style.color = 'var(--rk-screed-text)';
            valEffect.innerText = 'Wymaga wyższej o 3°C Tz';
            
            lblScop.innerText = 'Spadek efektywności';
            lblScop.style.color = 'var(--rk-screed-danger)';
            valScop.innerText = 'Brak zysku';
            valScop.style.color = 'var(--rk-screed-danger)';

        } else {
            // UI Toggle
            btnAnhydryt.classList.add('active');
            btnBeton.classList.remove('active');
            pill.style.transform = `translateX(${btnBeton.offsetWidth}px)`;
            pill.style.width = btnAnhydryt.offsetWidth + 'px';
            pill.style.backgroundColor = 'var(--rk-screed-brand)';

            // SVG Update (Cieńszy, bez bąbli, szybkie ciepło, idealne otulenie)
            svgScreed.setAttribute('fill', 'var(--rk-screed-anhydrite)');
            svgScreed.setAttribute('height', '60'); // Cieńsza wylewka
            svgScreed.setAttribute('y', '70');
            svgBubbles.style.opacity = '0';
            svgAirGap.setAttribute('stroke-width', '0'); // Brak szpary powietrznej
            
            svgHeatWaves.forEach(wave => {
                wave.className.baseVal = 'svg-heat-wave anim-heat-fast';
                wave.setAttribute('stroke', '#ea580c'); // Intensywne pomarańczowe
            });

            // Data Update
            valLambda.innerHTML = '2.0 <span class="rk-data-unit">W/(m&middot;K)</span>';
            valContact.innerText = 'W 100% Idealne';
            valContact.style.color = 'var(--rk-screed-success)';
            valEffect.innerText = 'Obniża Tz o 2-3°C';
            
            lblScop.innerText = 'Zysk dla pompy ciepła';
            lblScop.style.color = 'var(--rk-screed-brand)';
            valScop.innerText = '+ 8% SCOP';
            valScop.style.color = 'var(--rk-screed-brand)';
        }
    }

    // Inicjalizacja wymiarów pigułki (fix na start)
    setTimeout(() => {
        pill.style.width = btnBeton.offsetWidth + 'px';
    }, 100);

    // Event Listeners
    btnBeton.addEventListener('click', () => setScreedType('beton'));
    btnAnhydryt.addEventListener('click', () => setScreedType('anhydryt'));
});
</script>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-card: #1e293b;
    --rk-err-brand: #ef4444; /* Czerwony - sygnalizacja błędu/ostrzeżenia */
    --rk-err-accent: #f87171;
    --rk-err-warn: #f59e0b;
    --rk-err-info: #3b82f6;
    --rk-err-bg: #f8fafc;
    --rk-err-text: #334155;
    --rk-err-muted: #64748b;
    --rk-err-border: #e2e8f0;
}

.rk-err-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(239, 68, 68, 0.15);
    border: 1px solid rgba(239, 68, 68, 0.3);
    overflow: hidden;
}

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

.rk-err-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
    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(239, 68, 68, 0.3);
}

.rk-err-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0;
}

.rk-err-title span { color: var(--rk-err-accent); }

.rk-err-intro {
    font-size: 16px;
    line-height: 1.8;
    color: #cbd5e1;
    margin: 20px 0 0 0;
    max-width: 800px;
}

/* Sekcja Kafelków */
.rk-err-interactive {
    padding: 40px 50px;
    background: var(--rk-err-bg);
}

.rk-err-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
}

/* Pojedynczy Kafelek */
.rk-err-card {
    background: #ffffff;
    border: 1px solid var(--rk-err-border);
    border-radius: 16px;
    padding: 25px;
    position: relative;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    cursor: pointer;
}

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

.rk-err-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px -5px rgba(239, 68, 68, 0.15);
    border-color: rgba(239, 68, 68, 0.3);
}

.rk-err-card:hover::before {
    background: var(--rk-err-brand);
}

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

.rk-err-num {
    width: 36px;
    height: 36px;
    background: var(--rk-err-bg);
    color: var(--rk-err-muted);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 16px;
    transition: all 0.4s;
}

.rk-err-card:hover .rk-err-num {
    background: var(--rk-err-brand);
    color: #ffffff;
}

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

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

/* Wizualizacje SVG */
.rk-err-visual {
    background: var(--rk-err-dark);
    height: 140px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
}

.rk-svg-box {
    width: 100%;
    height: 100%;
}

/* 1. Strefy Brzegowe */
.anim-cold-draft { stroke-dasharray: 5 10; animation: dropDown 2s linear infinite; opacity: 0.2; }
.rk-err-card:hover .anim-cold-draft { opacity: 1; stroke: #3b82f6; }
@keyframes dropDown { to { stroke-dashoffset: -30; } }

/* 2. Zbyt długa pętla */
.anim-pump-fail { transform-origin: center; }
.rk-err-card:hover .anim-pump-fail { animation: shakeErr 0.4s ease-in-out infinite; fill: var(--rk-err-brand); }
.pipe-fail-gradient { transition: stop-color 0.5s; }
.rk-err-card:hover .pipe-fail-gradient { stop-color: #3b82f6; } 
@keyframes shakeErr { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(15deg); } 75% { transform: rotate(-15deg); } }

/* 3. EVOH Bariera */
.anim-o2 { opacity: 0; transform: translateY(10px); transition: all 0.5s; }
.rk-err-card:hover .anim-o2 { opacity: 1; transform: translateY(0); animation: floatUp 2s infinite alternate; }
.pipe-rust { transition: fill 1s; }
.rk-err-card:hover .pipe-rust { fill: #9a3412; }
@keyframes floatUp { to { transform: translateY(-15px); } }

/* 4. Dylatacje */
.anim-crack { stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset 0.8s ease-out; }
.rk-err-card:hover .anim-crack { stroke-dashoffset: 0; }
.anim-expand-l { transition: transform 0.8s; }
.anim-expand-r { transition: transform 0.8s; }
.rk-err-card:hover .anim-expand-l { transform: translateX(-5px); }
.rk-err-card:hover .anim-expand-r { transform: translateX(5px); }

/* 5. Zabudowa Stała */
.anim-heat-trap { opacity: 0.3; transition: all 0.8s; }
.rk-err-card:hover .anim-heat-trap { opacity: 1; fill: #b91c1c; }
.anim-bounce { stroke-dasharray: 4 4; animation: bounceBack 1.5s infinite; opacity: 0;}
.rk-err-card:hover .anim-bounce { opacity: 1; }
@keyframes bounceBack { 0% { stroke-dashoffset: 0; } 50% { stroke-dashoffset: -10; } 100% { stroke-dashoffset: 0; } }

/* 6. Brak Równoważenia (Nowy) */
.anim-flow-imbalance { stroke-dasharray: 10 10; animation: flowRun 1s linear infinite; }
@keyframes flowRun { to { stroke-dashoffset: -20; } }
.rk-err-card:hover .flow-cold { stroke: #1e293b; transition: stroke 0.5s; }

.rk-err-consequence {
    background: #fef2f2;
    color: #991b1b;
    padding: 12px 15px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    margin-top: 15px;
    border-left: 3px solid var(--rk-err-brand);
}

.rk-link {
    color: var(--rk-err-info);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px dashed rgba(59, 130, 246, 0.4);
    transition: all 0.3s;
}

.rk-link:hover {
    color: #1d4ed8;
    border-bottom-style: solid;
}

/* CTA */
.rk-err-cta {
    padding: 40px 50px;
    background: var(--rk-err-bg);
    text-align: center;
    border-top: 1px solid var(--rk-err-border);
}

.rk-btn-safe {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--rk-err-dark);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    transition: all 0.3s;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.4);
}

.rk-btn-safe:hover {
    transform: translateY(-4px);
    background: #334155;
    box-shadow: 0 20px 35px -5px rgba(15, 23, 42, 0.5);
}

@media (max-width: 768px) {
    .rk-err-header, .rk-err-interactive, .rk-err-cta { padding: 30px 20px; }
    .rk-err-grid { grid-template-columns: 1fr; }
    .rk-err-title { font-size: 24px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/"
    },
    "headline": "Top 6 krytycznych błędów w projektach ogrzewania podłogowego",
    "description": "Lista najczęstszych błędów instalacyjnych: brak stref brzegowych, zbyt długie pętle, brak bariery EVOH, brak dylatacji, błędy zabudowy oraz brak równoważenia hydraulicznego.",
    "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-11",
    "dateModified": "2026-05-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#dataset-bledy",
    "name": "Zestawienie krytycznych błędów hydraulicznych i termicznych v2",
    "description": "Analiza skutków 6 najczęstszych pomyłek wykonawczych w systemach płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": { "@type": "Person", "name": "Robert Kucharski" },
    "keywords": [
      "błędy w ogrzewaniu podłogowym",
      "brak stref brzegowych",
      "rura bez bariery antydyfuzyjnej",
      "brak równoważenia podłogówki",
      "pękanie posadzki dylatacja"
    ],
    "measurementTechnique": "Wizualizacja procesów degradacji systemu.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Brak stref brzegowych = wychłodzenie przy oknach.",
        "Zbyt długa pętla = brak przepływu.",
        "Rura bez EVOH = korozja pompy.",
        "Brak dylatacji = pękanie płytek.",
        "Zabudowa stała = uwięzienie ciepła.",
        "Brak równoważenia = zimne pokoje."
      ]
    }
  }
]
</script>

<div class="rk-err-container" id="rk-err-app">
    <div class="rk-err-header">
        <div class="rk-err-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="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>
            Audyt Techniczny 2026
        </div>
        <h2 class="rk-err-title">Top 6 najczęstszych <span>błędów</span> w projektach</h2>
        <p class="rk-err-intro">Nawet najdroższa pompa ciepła nie zrekompensuje błędów popełnionych na etapie projektu i montażu. Poznaj 6 krytycznych pomyłek, które bezpowrotnie niszczą efektywność Twojego domu. Najedź na kafelek, aby zobaczyć fizykę problemu.</p>
    </div>

    <div class="rk-err-interactive">
        <div class="rk-err-grid">
            
            <div class="rk-err-card">
                <div class="rk-err-card-header">
                    <div class="rk-err-num">1</div>
                    <h3>Brak stref brzegowych</h3>
                </div>
                <p class="rk-err-desc">Niezagęszczenie rur pod oknami tarasowymi. Zimne powietrze swobodnie opada na podłogę bez bariery cieplnej.</p>
                <div class="rk-err-visual">
                    <svg class="rk-svg-box" viewBox="0 0 200 140">
                        <rect x="20" y="20" width="10" height="100" fill="#cbd5e1"/>
                        <rect x="30" y="20" width="40" height="80" fill="rgba(59, 130, 246, 0.2)" stroke="#3b82f6" stroke-width="2"/>
                        <circle cx="100" cy="115" r="5" fill="#f87171"/>
                        <circle cx="150" cy="115" r="5" fill="#f87171"/>
                        <path class="anim-cold-draft" d="M 60 100 Q 90 110 160 110" fill="none" stroke="#64748b" stroke-width="3" stroke-linecap="round"/>
                    </svg>
                </div>
                <div class="rk-err-consequence">Skutek: „Roszenie” szyb i chłód przy oknach. <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/" class="rk-link">Czytaj o strefach</a>.</div>
            </div>

            <div class="rk-err-card">
                <div class="rk-err-card-header">
                    <div class="rk-err-num">2</div>
                    <h3>Zbyt długie pętle</h3>
                </div>
                <p class="rk-err-desc">Pętle powyżej 100m przy rurze 16mm generują opory, których pompa obiegowa nie jest w stanie pokonać.</p>
                <div class="rk-err-visual">
                    <svg class="rk-svg-box" viewBox="0 0 200 140">
                        <path d="M 20 100 L 20 40 A 10 10 0 0 1 40 40 L 40 100 A 10 10 0 0 0 60 100 L 60 40 A 10 10 0 0 1 80 40 L 80 100 A 10 10 0 0 0 100 100 L 100 40 A 10 10 0 0 1 120 40 L 120 100 A 10 10 0 0 0 140 100 L 140 40 A 10 10 0 0 1 160 40 L 160 100" fill="none" stroke="#ef4444" stroke-width="6" stroke-linecap="round"/>
                        <circle cx="20" cy="115" r="15" fill="#334155" class="anim-pump-fail"/>
                    </svg>
                </div>
                <div class="rk-err-consequence">Skutek: Zimna podłoga mimo pracy pompy. <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/" class="rk-link">Limity pętli</a>.</div>
            </div>

            <div class="rk-err-card">
                <div class="rk-err-card-header">
                    <div class="rk-err-num">3</div>
                    <h3>Brak bariery EVOH</h3>
                </div>
                <p class="rk-err-desc">Przenikanie tlenu przez ścianki rury powoduje rdzewienie wymienników ciepła i elementów PC.</p>
                <div class="rk-err-visual">
                    <svg class="rk-svg-box" viewBox="0 0 200 140">
                        <rect x="20" y="40" width="160" height="60" rx="10" fill="#38bdf8" class="pipe-rust"/>
                        <text x="80" y="25" fill="#94a3b8" font-size="12" font-weight="bold" class="anim-o2">O&sup2;</text>
                        <circle cx="50" cy="70" r="4" fill="#78350f" opacity="0.8"/>
                    </svg>
                </div>
                <div class="rk-err-consequence">Skutek: Korozja i zapowietrzanie. <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/" class="rk-link">Znaczenie EVOH</a>.</div>
            </div>

            <div class="rk-err-card">
                <div class="rk-err-card-header">
                    <div class="rk-err-num">4</div>
                    <h3>Brak dylatacji</h3>
                </div>
                <p class="rk-err-desc">Brak nacięć przy dużych powierzchniach uniemożliwia jastrychowi swobodną pracę termiczną.</p>
                <div class="rk-err-visual">
                    <svg class="rk-svg-box" viewBox="0 0 200 140">
                        <rect x="20" y="40" width="75" height="60" fill="#94a3b8" class="anim-expand-l"/>
                        <rect x="105" y="40" width="75" height="60" fill="#94a3b8" class="anim-expand-r"/>
                        <path d="M 95 30 L 100 60 L 90 80 L 105 110" fill="none" stroke="#ef4444" stroke-width="3" class="anim-crack"/>
                    </svg>
                </div>
                <div class="rk-err-consequence">Skutek: Pękanie płytek i fug. <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" class="rk-link">Zasady dylatacji</a>.</div>
            </div>

            <div class="rk-err-card">
                <div class="rk-err-card-header">
                    <div class="rk-err-num">5</div>
                    <h3>Zabudowa Stała</h3>
                </div>
                <p class="rk-err-desc">Rury pod szafkami czy wyspami kuchennymi przegrzewają meble zamiast oddawać ciepło do pokoju.</p>
                <div class="rk-err-visual">
                    <svg class="rk-svg-box" viewBox="0 0 200 140">
                        <rect x="40" y="30" width="120" height="60" fill="#854d0e" rx="4"/>
                        <rect x="40" y="100" width="120" height="20" fill="#f87171" class="anim-heat-trap"/>
                        <path d="M 90 95 L 90 85 L 80 90" fill="none" stroke="#ef4444" stroke-width="2" class="anim-bounce"/>
                    </svg>
                </div>
                <div class="rk-err-consequence">Skutek: Niszczenie mebli i strata energii. <a href="https://projekt-ogrzewania.pl/wodne-ogrzewanie-podlogowe-a-meble-jak-polaczyc-komfort-i-aranzacje/" class="rk-link">Wpływ mebli</a>.</div>
            </div>

            <div class="rk-err-card">
                <div class="rk-err-card-header">
                    <div class="rk-err-num">6</div>
                    <h3>Brak równoważenia</h3>
                </div>
                <p class="rk-err-desc">Brak nastaw na rotametrach rozdzielacza powoduje, że woda płynie tylko tam, gdzie ma najmniejszy opór.</p>
                <div class="rk-err-visual">
                    <svg class="rk-svg-box" viewBox="0 0 200 140">
                        <rect x="20" y="20" width="20" height="100" fill="#334155"/>
                        <path d="M 40 40 L 120 40 L 120 60 L 40 60" fill="none" stroke="#ef4444" stroke-width="6" class="anim-flow-imbalance"/>
                        <path d="M 40 80 L 170 80 L 170 100 L 40 100" fill="none" stroke="#64748b" stroke-width="6" class="flow-cold"/>
                    </svg>
                </div>
                <div class="rk-err-consequence">Skutek: Jeden pokój przegrzany, drugi lodowaty. <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/" class="rk-link">Rola rotametrów</a>.</div>
            </div>

        </div>
    </div>

    <div class="rk-err-cta">
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-safe">
            PROJEKTUJ Z EKSPERTAMI - UNIKNIJ BŁĘDÓW
            <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="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-err-app').innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border-radius:20px; font-weight:900;">BŁĄD LICENCJI: KOD NALEŻY DO PROJEKT-OGRZEWANIA.PL</div>';
        return;
    }
    const cards = document.querySelectorAll('.rk-err-card');
    cards.forEach(card => {
        card.addEventListener('touchstart', function() {
            this.classList.toggle('hovered'); 
        }, {passive: true});
    });
});
</script>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<style>
:root {
    --rk-inv-dark: #0f172a;
    --rk-inv-card: #1e293b;
    --rk-inv-brand: #10b981; /* Szmaragdowa zieleń - symbol oszczędności i zysku */
    --rk-inv-brand-light: #dcfce7;
    --rk-inv-accent: #3b82f6; /* Zaufany niebieski */
    --rk-inv-warn: #f59e0b;
    --rk-inv-danger: #ef4444; /* Czerwony - straty */
    --rk-inv-danger-light: #fee2e2;
    --rk-inv-bg: #f8fafc;
    --rk-inv-border: #e2e8f0;
    --rk-inv-text: #334155;
    --rk-inv-muted: #64748b;
}

.rk-inv-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(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.3);
    overflow: hidden;
}

/* Nagłówek */
.rk-inv-header {
    background: linear-gradient(135deg, var(--rk-inv-dark) 0%, #064e3b 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-inv-brand);
}

.rk-inv-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #6ee7b7;
    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(16, 185, 129, 0.3);
}

.rk-inv-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0;
}

.rk-inv-title span { color: var(--rk-inv-brand); }

/* Interaktywny Symulator Kosztów */
.rk-inv-interactive {
    padding: 40px 50px;
    background: var(--rk-inv-bg);
}

.rk-inv-toggle-wrap {
    display: flex;
    background: #e2e8f0;
    padding: 6px;
    border-radius: 16px;
    margin-bottom: 35px;
    position: relative;
}

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

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

.rk-inv-pill {
    position: absolute;
    top: 6px;
    left: 6px;
    height: calc(100% - 12px);
    background: var(--rk-inv-danger);
    border-radius: 12px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

/* Grid layout dla wykresu i wyników */
.rk-inv-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 35px;
    align-items: center;
}

/* Animowany Wykres Słupkowy SVG */
.rk-inv-chart-box {
    background: #ffffff;
    border: 1px solid var(--rk-inv-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
    height: 280px;
    display: flex;
    flex-direction: column;
}

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

.rk-svg-chart {
    width: 100%;
    height: 100%;
    overflow: visible;
}

.svg-bar {
    transition: height 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), y 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), fill 0.4s;
    rx: 6;
}

.svg-bar-label {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 800;
    fill: var(--rk-inv-muted);
    text-anchor: middle;
    transition: fill 0.4s;
}

.svg-bar-val {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 900;
    fill: var(--rk-inv-dark);
    text-anchor: middle;
    transition: y 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Karty Wynikowe */
.rk-inv-data-group {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-inv-data-card {
    background: #ffffff;
    border: 1px solid var(--rk-inv-border);
    padding: 20px 25px;
    border-radius: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s;
}

.rk-inv-data-card.highlight {
    background: var(--rk-inv-danger-light);
    border-color: rgba(239, 68, 68, 0.4);
}

.rk-inv-data-info h4 {
    margin: 0 0 5px 0;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-inv-dark);
    text-transform: uppercase;
}

.rk-inv-data-info p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-inv-muted);
}

.rk-inv-data-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-inv-danger);
    transition: color 0.3s;
}

/* Treść Merytoryczna - Kafelki na Desktop i Mobile */
.rk-inv-content {
    padding: 45px 50px;
    background: #ffffff;
}

.rk-inv-intro {
    font-size: 16px;
    line-height: 1.8;
    color: var(--rk-inv-text);
    margin-bottom: 30px;
}

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

.rk-b-card {
    background: var(--rk-inv-bg);
    border: 1px solid var(--rk-inv-border);
    border-top: 4px solid var(--rk-inv-brand);
    padding: 25px 20px;
    border-radius: 12px;
    text-align: center;
    transition: transform 0.3s, box-shadow 0.3s;
}

.rk-b-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.05);
}

.rk-b-icon {
    width: 48px;
    height: 48px;
    background: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px auto;
    color: var(--rk-inv-brand);
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.rk-b-card h4 {
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-inv-dark);
}

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

.rk-subsidies-box {
    background: #f0f9ff;
    border-left: 4px solid var(--rk-inv-accent);
    padding: 25px;
    border-radius: 0 12px 12px 0;
}

.rk-subsidies-box h3 {
    margin: 0 0 10px 0;
    font-size: 18px;
    font-weight: 900;
    color: #0369a1;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-subsidies-box p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #0c4a6e;
}

.rk-link {
    color: var(--rk-inv-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px dashed rgba(59, 130, 246, 0.4);
    transition: all 0.3s;
}

.rk-link:hover {
    color: #1d4ed8;
    border-bottom-style: solid;
}

/* CTA */
.rk-inv-cta {
    padding: 40px 50px;
    background: var(--rk-inv-bg);
    text-align: center;
    border-top: 1px solid var(--rk-inv-border);
}

.rk-btn-inv {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--rk-inv-brand);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    transition: all 0.3s;
    box-shadow: 0 10px 25px -5px rgba(16, 185, 129, 0.4);
}

.rk-btn-inv:hover {
    transform: translateY(-4px);
    background: #059669;
    box-shadow: 0 20px 35px -5px rgba(16, 185, 129, 0.5);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-inv-header, .rk-inv-interactive, .rk-inv-content, .rk-inv-cta { padding: 30px 20px; }
    .rk-inv-grid { grid-template-columns: 1fr; gap: 25px; }
    .rk-benefit-cards { grid-template-columns: 1fr; } /* Kafelki pod sobą na mobile */
    .rk-inv-btn { font-size: 14px; padding: 12px; flex-direction: column; gap: 5px; }
    .rk-inv-title { font-size: 24px; }
    .rk-inv-data-card { 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/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#article-inwestycja",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/"
    },
    "headline": "Dlaczego warto zamówić profesjonalny projekt? Zwrot z inwestycji",
    "description": "Profesjonalny projekt podłogówki zapobiega przewymiarowaniu pompy ciepła, eliminuje odpady rur i jest niezbędny do uzyskania dotacji Czyste Powietrze.",
    "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-11",
    "dateModified": "2026-05-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#dataset-inwestycja",
    "name": "Kalkulacja redukcji kosztów inwestycyjnych (CAPEX)",
    "description": "Zestawienie obrazujące oszczędności wynikające z optymalizacji OZC i dokładnego trasowania rur względem montażu 'na oko'.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": { "@type": "Person", "name": "Robert Kucharski" },
    "keywords": [
      "cena projektu ogrzewania podłogowego",
      "dotacje czyste powietrze 2026 wymogi",
      "przewymiarowana pompa ciepła koszty",
      "ile rury na podłogówkę",
      "zwrot z inwestycji OZC"
    ],
    "measurementTechnique": "Szacowanie oszczędności na podstawie redukcji mocy znamionowej pompy ciepła (np. z 9kW na 6kW) oraz eliminacji zakupu nadwyżek materiałowych (rury, izolacja).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Pompa Ciepła: Oszczędność 3000-5000 PLN na różnicy w cenie urządzenia.",
        "Materiały Hydrauliczne: Oszczędność rzędu 15% dzięki dokładnemu zestawieniu z programu CAD.",
        "Formalności: Zgodność z audytami programów Moje Ciepło i Czyste Powietrze."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#webapp-inwestycja",
    "name": "Symulator Redukcji Kosztów Inwestycyjnych",
    "description": "Interaktywny wykres słupkowy ilustrujący różnice w nakładach finansowych pomiędzy instalacją intuicyjną a projektowaną inżynieryjnie.",
    "applicationCategory": "FinancialApplication",
    "operatingSystem": "All",
    "creator": { "@type": "Person", "name": "Robert Kucharski" }
  }
]
</script>

<div class="rk-inv-container" id="rk-inv-app">
    <div class="rk-inv-header">
        <div class="rk-inv-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"><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>
            Ekonomia i Opłacalność
        </div>
        <h2 class="rk-inv-title">Dlaczego profesjonalny projekt <span>zwraca się natychmiast?</span></h2>
    </div>

    <div class="rk-inv-interactive">
        
        <div class="rk-inv-toggle-wrap">
            <div class="rk-inv-pill" id="invPill"></div>
            <button class="rk-inv-btn active" data-type="bad" id="btnInvBad">
                <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>
                Instalator "Na oko"
            </button>
            <button class="rk-inv-btn" data-type="good" id="btnInvGood">
                <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>
                Projekt Inżynierski
            </button>
        </div>

        <div class="rk-inv-grid">
            
            <div class="rk-inv-chart-box">
                <div class="rk-chart-title">Porównanie Kosztów (CAPEX)</div>
                <svg class="rk-svg-chart" viewBox="0 0 200 180">
                    <line x1="20" y1="30" x2="180" y2="30" stroke="#e2e8f0" stroke-width="1" stroke-dasharray="2 2"/>
                    <line x1="20" y1="80" x2="180" y2="80" stroke="#e2e8f0" stroke-width="1" stroke-dasharray="2 2"/>
                    <line x1="20" y1="130" x2="180" y2="130" stroke="#e2e8f0" stroke-width="1" stroke-dasharray="2 2"/>
                    
                    <rect id="barHeatPump" class="svg-bar" x="40" y="30" width="45" height="100" fill="var(--rk-inv-danger)"/>
                    <text id="valHeatPumpSvg" class="svg-bar-val" x="62.5" y="22">32 k</text>
                    <text class="svg-bar-label" x="62.5" y="148">Pompa C.</text>

                    <rect id="barMaterials" class="svg-bar" x="115" y="60" width="45" height="70" fill="var(--rk-inv-warn)"/>
                    <text id="valMaterialsSvg" class="svg-bar-val" x="137.5" y="52">12 k</text>
                    <text class="svg-bar-label" x="137.5" y="148">Rury</text>
                    
                    <line x1="20" y1="130" x2="180" y2="130" stroke="#94a3b8" stroke-width="2" stroke-linecap="round"/>
                </svg>
            </div>

            <div class="rk-inv-data-group">
                <div class="rk-inv-data-card highlight" id="cardHp">
                    <div class="rk-inv-data-info">
                        <h4>Moc Pompy Ciepła</h4>
                        <p id="descHp">Przewymiarowana (np. 9 kW)</p>
                    </div>
                    <div class="rk-inv-data-val" id="valHpCost">32 000 zł</div>
                </div>
                
                <div class="rk-inv-data-card highlight" id="cardMat">
                    <div class="rk-inv-data-info">
                        <h4>Koszty Rur (Zapas)</h4>
                        <p id="descMat">Kupione "na górkę" + ścinki</p>
                    </div>
                    <div class="rk-inv-data-val" id="valMatCost">12 000 zł</div>
                </div>

                <div class="rk-inv-data-card" style="background: var(--rk-inv-dark); border-color: var(--rk-inv-dark);">
                    <div class="rk-inv-data-info">
                        <h4 style="color: #ffffff;">Bilans Inwestycji</h4>
                        <p style="color: #94a3b8;">Łączne koszty materiałowe</p>
                    </div>
                    <div class="rk-inv-data-val" id="valTotalCost" style="color: #ffffff;">44 000 zł</div>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-inv-content">
        <p class="rk-inv-intro">
            Profesjonalny projekt ogrzewania podłogowego to inwestycja, która zwraca się już w dniu wizyty w hurtowni instalacyjnej. Oszacowania "na oko" i przewymiarowywanie urządzeń z obawy przed niedogrzaniem to najdroższe błędy na budowie. Dzięki dokładnym wyliczeniom zyskujesz trzykrotnie:
        </p>

        <div class="rk-benefit-cards">
            <div class="rk-b-card">
                <div class="rk-b-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="2" y="7" width="20" height="14" rx="2" ry="2"></rect><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path></svg>
                </div>
                <h4>Zero Odpadów</h4>
                <p>Kupujesz dokładnie tyle <a href="https://projekt-ogrzewania.pl/ile-rury-na-m%c2%b2-ogrzewania-podlogowego/" class="rk-link">metrów rury grzewczej</a>, ile wynika z rzutu CAD, unikając zakupu drogich zwojów "na zapas".</p>
            </div>
            
            <div class="rk-b-card">
                <div class="rk-b-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="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline></svg>
                </div>
                <h4>Tańsza Pompa</h4>
                <p>Precyzyjne <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" class="rk-link">OZC</a> często wykazuje, że zamiast jednostki 9 kW, budynek obsłuży tańszy model 6 kW (oszczędność rzędu 4 000 PLN).</p>
            </div>

            <div class="rk-b-card">
                <div class="rk-b-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>
                <h4>Idealny Komfort</h4>
                <p>Zrównoważone pętle i zaplanowane nastawy na <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/" class="rk-link">rotametrach</a> eliminują problem "zimnej sypialni".</p>
            </div>
        </div>

        <div class="rk-subsidies-box">
            <h3>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                Wymogi formalne dotacji 2026
            </h3>
            <p>
                Kompletna dokumentacja projektowa zawiera szczegółowe rysunki z trasowaniem rur, tabele nastaw rozdzielaczy oraz profesjonalny wynik OZC. Posiadanie takich dokumentów jest prawnie wymagane podczas audytów technicznych, by uzyskać dofinansowanie z programów takich jak <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-a-dotacje-czyste-powietrze-i-moje-cieplo-2026/" class="rk-link">"Czyste Powietrze" czy "Moje Ciepło"</a>.
            </p>
        </div>
    </div>

    <div class="rk-inv-cta">
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-inv">
            ZAMÓW PROJEKT I ZACZNIJ OSZCZĘDZAĆ
            <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() {
    // Zabezpieczenie Domeny
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-inv-app').innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border-radius:20px; font-weight:900;">BŁĄD LICENCJI: KOD NALEŻY DO PROJEKT-OGRZEWANIA.PL</div>';
        return;
    }

    // Elementy DOM
    const btnBad = document.getElementById('btnInvBad');
    const btnGood = document.getElementById('btnInvGood');
    const pill = document.getElementById('invPill');
    
    const barHp = document.getElementById('barHeatPump');
    const barMat = document.getElementById('barMaterials');
    const valHpSvg = document.getElementById('valHeatPumpSvg');
    const valMatSvg = document.getElementById('valMaterialsSvg');
    
    const cardHp = document.getElementById('cardHp');
    const descHp = document.getElementById('descHp');
    const valHpCost = document.getElementById('valHpCost');
    
    const cardMat = document.getElementById('cardMat');
    const descMat = document.getElementById('descMat');
    const valMatCost = document.getElementById('valMatCost');
    
    const valTotalCost = document.getElementById('valTotalCost');

    function setMode(mode) {
        if (mode === 'bad') {
            // UI Toggle
            btnBad.classList.add('active');
            btnGood.classList.remove('active');
            pill.style.transform = 'translateX(0)';
            pill.style.width = btnBad.offsetWidth + 'px';
            pill.style.backgroundColor = 'var(--rk-inv-danger)';

            // Animacja SVG Słupków (Wysokie koszty)
            barHp.setAttribute('y', '30');
            barHp.setAttribute('height', '100');
            barHp.style.fill = 'var(--rk-inv-danger)';
            valHpSvg.setAttribute('y', '22');
            valHpSvg.textContent = '32 k';

            barMat.setAttribute('y', '60');
            barMat.setAttribute('height', '70');
            barMat.style.fill = 'var(--rk-inv-warn)';
            valMatSvg.setAttribute('y', '52');
            valMatSvg.textContent = '12 k';

            // Animacja Kart HTML
            cardHp.classList.add('highlight');
            descHp.innerText = 'Przewymiarowana (np. 9 kW)';
            valHpCost.innerText = '32 000 zł';
            valHpCost.style.color = 'var(--rk-inv-danger)';

            cardMat.classList.add('highlight');
            descMat.innerText = 'Kupione "na górkę" + ścinki';
            valMatCost.innerText = '12 000 zł';
            valMatCost.style.color = 'var(--rk-inv-warn)';

            valTotalCost.innerText = '44 000 zł';

        } else {
            // UI Toggle
            btnGood.classList.add('active');
            btnBad.classList.remove('active');
            pill.style.transform = `translateX(${btnBad.offsetWidth}px)`;
            pill.style.width = btnGood.offsetWidth + 'px';
            pill.style.backgroundColor = 'var(--rk-inv-brand)';

            // Animacja SVG Słupków (Zoptymalizowane/niskie)
            barHp.setAttribute('y', '70');
            barHp.setAttribute('height', '60');
            barHp.style.fill = 'var(--rk-inv-brand)';
            valHpSvg.setAttribute('y', '62');
            valHpSvg.textContent = '28 k';

            barMat.setAttribute('y', '95');
            barMat.setAttribute('height', '35');
            barMat.style.fill = 'var(--rk-inv-brand)';
            valMatSvg.setAttribute('y', '87');
            valMatSvg.textContent = '9 k';

            // Animacja Kart HTML
            cardHp.classList.remove('highlight');
            descHp.innerText = 'Wyliczona z OZC (np. 6 kW)';
            valHpCost.innerText = '28 000 zł';
            valHpCost.style.color = 'var(--rk-inv-brand)';

            cardMat.classList.remove('highlight');
            descMat.innerText = 'Dokładna specyfikacja z rzutu CAD';
            valMatCost.innerText = '9 000 zł';
            valMatCost.style.color = 'var(--rk-inv-brand)';

            valTotalCost.innerText = '37 000 zł';
        }
    }

    // Inicjalizacja szerokości pigułki
    setTimeout(() => { pill.style.width = btnBad.offsetWidth + 'px'; }, 100);

    // Eventy
    btnBad.addEventListener('click', () => setMode('bad'));
    btnGood.addEventListener('click', () => setMode('good'));
});
</script>



<style>
:root {
    --rk-quote-primary: #0f172a;
    --rk-quote-accent: #0284c7;
    --rk-quote-accent-light: #e0f2fe;
    --rk-quote-danger: #ef4444;
    --rk-quote-bg: #f8fafc;
    --rk-quote-border: #e2e8f0;
}

.rk-expert-wrapper {
    max-width: 950px;
    margin: 50px auto 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
}

.rk-expert-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 25px;
}

.rk-expert-header-title {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-quote-primary);
    margin: 0;
}

.rk-expert-container {
    background: #ffffff;
    border-radius: 24px;
    padding: 35px 40px;
    display: flex;
    gap: 30px;
    align-items: flex-start;
    border: 1px solid var(--rk-quote-border);
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.1);
    position: relative;
    overflow: hidden;
}

/* Dekoracyjne tło */
.rk-expert-container::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 6px; height: 100%;
    background: linear-gradient(to bottom, var(--rk-quote-accent), #38bdf8);
}

.rk-expert-container::after {
    content: '”';
    position: absolute;
    top: -20px;
    right: 20px;
    font-family: serif;
    font-size: 140px;
    color: var(--rk-quote-bg);
    line-height: 1;
    z-index: 0;
}

/* Animowane zdjęcie */
.rk-expert-photo-wrap {
    flex-shrink: 0;
    width: 110px;
    height: 110px;
    position: relative;
    z-index: 1;
}

.rk-expert-photo-ring {
    position: absolute;
    top: -5px; left: -5px; right: -5px; bottom: -5px;
    border-radius: 50%;
    border: 2px dashed var(--rk-quote-accent);
    animation: spinRing 10s linear infinite;
}

@keyframes spinRing {
    100% { transform: rotate(360deg); }
}

.rk-expert-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 4px solid #ffffff;
    box-shadow: 0 8px 15px rgba(0,0,0,0.1);
    position: relative;
    z-index: 2;
}

.rk-expert-badge-icon {
    position: absolute;
    bottom: -5px;
    right: -5px;
    background: var(--rk-quote-accent);
    color: #ffffff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.4);
    z-index: 3;
}

/* Treść cytatu */
.rk-expert-content {
    flex-grow: 1;
    position: relative;
    z-index: 1;
}

.rk-expert-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 800;
    color: var(--rk-quote-accent);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
    background: var(--rk-quote-accent-light);
    padding: 4px 12px;
    border-radius: 20px;
}

.rk-expert-text {
    font-size: 18px;
    line-height: 1.7;
    color: var(--rk-quote-primary);
    font-style: italic;
    margin: 0 0 15px 0;
    font-weight: 500;
}

.rk-expert-text strong {
    color: var(--rk-quote-accent);
    font-weight: 800;
}

.rk-expert-text a {
    color: var(--rk-quote-primary);
    text-decoration: underline;
    text-decoration-color: var(--rk-quote-accent);
    text-underline-offset: 3px;
    transition: color 0.2s;
}

.rk-expert-text a:hover {
    color: var(--rk-quote-accent);
}

.rk-expert-signature {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #64748b;
    border-top: 1px solid var(--rk-quote-border);
    padding-top: 15px;
    margin-top: 15px;
}

/* Interaktywny Panel Ukryty */
.rk-expert-interactive {
    margin-top: 20px;
}

.rk-expert-btn {
    background: #ffffff;
    border: 2px solid var(--rk-quote-border);
    color: var(--rk-quote-primary);
    padding: 10px 20px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.rk-expert-btn:hover {
    border-color: var(--rk-quote-accent);
    color: var(--rk-quote-accent);
    background: var(--rk-quote-accent-light);
}

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

.rk-expert-btn.active svg {
    transform: rotate(180deg);
}

.rk-expert-data-panel {
    display: none;
    margin-top: 15px;
    padding: 20px;
    background: var(--rk-quote-bg);
    border-radius: 12px;
    border: 1px dashed var(--rk-quote-border);
    animation: fadeInDown 0.4s ease forwards;
}

.rk-expert-data-panel.active {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

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

.rk-data-stat {
    text-align: center;
    background: #ffffff;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-data-val {
    display: block;
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-quote-accent);
    margin-bottom: 5px;
}

.rk-data-lab {
    font-size: 11px;
    color: #64748b;
    text-transform: uppercase;
    font-weight: 800;
}

@media (max-width: 768px) {
    .rk-expert-container { flex-direction: column; text-align: center; padding: 30px 25px; align-items: center; }
    .rk-expert-header-title { font-size: 22px; text-align: center; }
    .rk-expert-container::before { width: 100%; height: 6px; }
    .rk-expert-data-panel.active { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#article-cytat",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/"
    },
    "headline": "Robert Kucharski: Instalatorskie 'na oko' to najdroższy system grzewczy świata",
    "description": "Ekspercka opinia na temat ryzyka łączenia pomp ciepła z instalacjami układanymi bez projektu OZC. Zobacz kluczowe parametry.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-11",
    "dateModified": "2026-05-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Quotation",
    "license": "https://projekt-ogrzewania.pl/",
    "text": "Instalatorskie 'na oko' to najdroższy system grzewczy świata. Kiedy łączymy pompę ciepła z ogrzewaniem podłogowym, każdy centymetr rury i każdy stopień temperatury zasilania mają krytyczne znaczenie. Brak projektu OZC i zgadywanie rozstawów to gwarancja przewymiarowanej sprężarki, taktowania i rachunków wyższych o 30 procent. Fizyki nie da się oszukać intuicją, a beton nie wybacza błędów.",
    "spokenByCharacter": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "Inżynier HVAC & Projektant",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ],
      "worksFor": {
        "@type": "Organization",
        "name": "Projekt-Ogrzewania.pl"
      }
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#dataset-cytat",
    "name": "Eksperckie parametry graniczne dla pomp ciepła",
    "description": "Zestawienie inżynierskich wartości bazowych wymaganych do skutecznej i taniej eksploatacji układu z rewersyjną pompą ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt OZC podłogówka",
      "rozstaw rur pompa ciepła cytat",
      "inżynier hvac robert kucharski",
      "taktowanie pompy ciepła",
      "przewymiarowana sprężarka skutki"
    ],
    "measurementTechnique": "Określenie krytycznych wartości brzegowych weryfikacji projektu instalacji przed wylaniem jastrychu.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Max temperatura zasilania (Tz): 35 stopni Celsjusza",
        "Zalecany rozstaw pętli (środek): 10 cm",
        "Spadek COP pompy: ok. 2.5% na każdy podniesiony 1 stopień Celsjusza"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#webapp-cytat",
    "name": "Panel Analityczny: Weryfikacja parametrów OZC",
    "description": "Interaktywny interfejs wyświetlający twarde dane liczbowe i parametry graniczne wynikające z norm hydraulicznych przytoczonych przez inżyniera.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-expert-wrapper" id="rk-expert-quote-app">
    <div class="rk-expert-header">
        <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="var(--rk-quote-accent)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg>
        <div class="rk-expert-header-title">Głos Inżyniera</div>
    </div>
    
    <div class="rk-expert-container">
        <div class="rk-expert-photo-wrap">
            <div class="rk-expert-photo-ring"></div>
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-expert-photo" loading="lazy">
            <div class="rk-expert-badge-icon">
                <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>
            </div>
        </div>
        
        <div class="rk-expert-content">
            <span class="rk-expert-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>
                Ostrzeżenie przed "intuicją"
            </span>
            <p class="rk-expert-text">
                "Instalatorskie 'na oko' to <strong>najdroższy system grzewczy świata</strong>. Kiedy łączymy pompę ciepła z ogrzewaniem podłogowym, każdy centymetr rury i każdy stopień temperatury zasilania mają krytyczne znaczenie. Brak <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektu OZC</a> i zgadywanie rozstawów to gwarancja przewymiarowanej sprężarki, taktowania i rachunków wyższych o 30%. Fizyki nie da się oszukać intuicją, a <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylany beton</a> nie wybacza błędów."
            </p>
            <span class="rk-expert-signature">— Robert Kucharski, Inżynier HVAC Projekt-Ogrzewania.pl</span>
            
            <div class="rk-expert-interactive">
                <button class="rk-expert-btn" id="toggleDataBtn">
                    Rozwiń twarde dane projektowe
                    <svg width="16" height="16" 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-expert-data-panel" id="expertDataPanel">
                    <div class="rk-data-stat">
                        <span class="rk-data-val">Max 35&deg;C</span>
                        <span class="rk-data-lab">Temperatura (Tz)</span>
                    </div>
                    <div class="rk-data-stat">
                        <span class="rk-data-val">10 cm</span>
                        <span class="rk-data-lab">Optymalny rozstaw</span>
                    </div>
                    <div class="rk-data-stat">
                        <span class="rk-data-val" style="color: var(--rk-quote-danger);">-2.5%</span>
                        <span class="rk-data-lab">Strata COP na 1&deg;C</span>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <noscript>
        <div style="padding: 20px; background: #f8fafc; border-radius: 16px; margin-top: 20px; font-family: sans-serif;">
            <p style="font-size: 14px; font-weight: bold; color: #0f172a; margin-top:0;">Parametry graniczne weryfikacji (Robert Kucharski):</p>
            <ul style="font-size: 14px; color: #475569; margin-bottom:0;">
                <li>Maksymalna zalecana temperatura zasilania (Tz): 35°C</li>
                <li>Zalecany rozstaw pętli grzewczych: 10 cm</li>
                <li>Strata sprawności (COP): 2.5% na każdy podniesiony 1°C</li>
            </ul>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Brak nagłówków H-tag)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-expert-quote-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #fef2f2; color: #dc2626; border-radius: 20px; border: 2px dashed #ef4444;">
                    <div style="font-size: 32px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 18px; font-weight: 800; text-transform: uppercase; margin-bottom: 10px;">Blokada bezpieczeństwa</div>
                    <div style="font-size: 14px; color: #7f1d1d;">Cytat inżynierski jest chroniony prawem autorskim serwisu Projekt-Ogrzewania.pl.</div>
                </div>
            `;
            container.style.borderLeft = 'none';
            container.style.background = 'transparent';
            container.style.boxShadow = 'none';
            return;
        }
    }

    // 2. Interakcja z panelem danych
    const toggleBtn = document.getElementById('toggleDataBtn');
    const dataPanel = document.getElementById('expertDataPanel');

    if (toggleBtn && dataPanel) {
        toggleBtn.addEventListener('click', function() {
            this.classList.toggle('active');
            dataPanel.classList.toggle('active');
            
            if(this.classList.contains('active')) {
                this.innerHTML = `Zwiń dane projektowe <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>`;
            } else {
                this.innerHTML = `Rozwiń twarde dane projektowe <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>`;
            }
        });
    }
});
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-card: #1e293b;
    --rk-case-brand: #10b981; /* Szmaragdowy - wysoka wydajność */
    --rk-case-accent: #3b82f6; /* Niebieski - technologia */
    --rk-case-danger: #ef4444; /* Czerwony - straty */
    --rk-case-bg: #f8fafc;
    --rk-case-border: #e2e8f0;
    --rk-case-text: #334155;
    --rk-case-muted: #64748b;
}

.rk-case-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(16, 185, 129, 0.12);
    border: 1px solid var(--rk-case-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-case-header {
    background: linear-gradient(135deg, var(--rk-case-dark) 0%, #064e3b 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-case-brand);
}

.rk-case-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #6ee7b7;
    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(110, 231, 183, 0.3);
}

.rk-case-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0;
}

.rk-case-title span { color: var(--rk-case-brand); }

/* Kontener Interaktywny */
.rk-case-interactive {
    padding: 40px 50px;
    background: var(--rk-case-bg);
}

/* Selektor Wariantów */
.rk-case-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 30px;
}

.rk-case-tab {
    background: #ffffff;
    border: 2px solid var(--rk-case-border);
    padding: 20px 15px;
    border-radius: 16px;
    cursor: pointer;
    text-align: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-case-tab:hover {
    border-color: var(--rk-case-accent);
    transform: translateY(-2px);
}

.rk-case-tab.active {
    background: var(--rk-case-dark);
    border-color: var(--rk-case-brand);
    color: #ffffff;
}

.rk-tab-label {
    display: block;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 5px;
    opacity: 0.7;
}

.rk-tab-name {
    font-size: 15px;
    font-weight: 900;
}

/* Dashboard Wyników */
.rk-case-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 35px;
    align-items: center;
}

.rk-case-visual {
    background: var(--rk-case-dark);
    border-radius: 20px;
    padding: 30px;
    box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
    border: 4px solid #334155;
    position: relative;
    height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-svg-dashboard {
    width: 100%;
    height: 100%;
}

/* Animacje słupków energii */
.svg-energy-bar {
    transition: height 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), y 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), fill 0.3s;
}

.svg-text-val {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    fill: #ffffff;
    transition: y 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Karty Szczegółów */
.rk-case-data {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-data-card {
    background: #ffffff;
    border: 1px solid var(--rk-case-border);
    padding: 20px;
    border-radius: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-data-info h4 {
    margin: 0 0 4px 0;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-case-muted);
}

.rk-data-info p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-case-text);
    font-weight: 700;
}

.rk-data-val {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-case-dark);
}

.rk-savings-highlight {
    background: var(--rk-case-brand);
    color: #ffffff;
    padding: 20px;
    border-radius: 16px;
    text-align: center;
}

.rk-savings-label { font-size: 12px; font-weight: 800; text-transform: uppercase; opacity: 0.9; margin-bottom: 5px; }
.rk-savings-val { font-size: 32px; font-weight: 900; }

/* Sekcja Treści */
.rk-case-content {
    padding: 45px 50px;
}

.rk-case-content h3 { font-size: 22px; font-weight: 900; color: var(--rk-case-dark); margin: 0 0 20px 0; }
.rk-case-content p { font-size: 16px; line-height: 1.8; color: var(--rk-case-text); margin-bottom: 20px; }
.rk-case-content strong { font-weight: 800; color: var(--rk-case-dark); }

.rk-check-list { list-style: none; padding: 0; margin: 25px 0; }
.rk-check-list li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; font-size: 15px; }
.rk-check-icon { color: var(--rk-case-brand); flex-shrink: 0; margin-top: 3px; }

.rk-link { color: var(--rk-case-accent); font-weight: 700; text-decoration: none; border-bottom: 1px dashed rgba(59, 130, 246, 0.4); transition: all 0.3s; }
.rk-link:hover { border-bottom-style: solid; }

@media (max-width: 768px) {
    .rk-case-header, .rk-case-interactive, .rk-case-content { padding: 30px 20px; }
    .rk-case-tabs { grid-template-columns: 1fr; }
    .rk-case-grid { grid-template-columns: 1fr; gap: 25px; }
    .rk-case-title { font-size: 22px; }
    .rk-data-card { 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/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#article-case-study",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/"
    },
    "headline": "Case Study: Optymalizacja temperatury zasilania a oszczędności energii",
    "description": "Analiza rzeczywistego projektu domu 145 m2 w Warszawie. Dowiedz się, jak zmiana temperatury zasilania z 35 na 30 stopni Celsjusza obniża zużycie prądu.",
    "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-02-08",
    "dateModified": "2026-05-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#dataset-case-study",
    "name": "Porównanie efektywności systemów grzewczych (SCOP)",
    "description": "Dane techniczne zużycia energii elektrycznej (kWh/rok) dla trzech wariantów instalacji w domu o obciążeniu 8 kW.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": { "@type": "Person", "name": "Robert Kucharski" },
    "keywords": [
        "SCOP pompy ciepła podłogówka",
        "zużycie prądu pompa ciepła dom 150m2",
        "projektowanie podłogówki 10 cm rozstaw",
        "oszczędności na ogrzewaniu podłogowym",
        "jastrych anhydrytowy wydajność"
    ],
    "measurementTechnique": "Symulacja rocznego zapotrzebowania na energię końcową na podstawie wskaźnika SCOP dla różnych parametrów zasilania (55stC, 40stC, 30stC).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wariant A: Grzejniki (55stC), Zużycie 8500 kWh/rok, SCOP 2.8.",
        "Wariant B: Podłogówka 15cm (40stC), Zużycie 6600 kWh/rok, SCOP 3.6.",
        "Wariant C: Podłogówka Opti 10cm (30stC), Zużycie 5400 kWh/rok, SCOP 4.4."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#webapp-case-study",
    "name": "Kalkulator Oszczędności Termo-Modernizacyjnych",
    "description": "Interaktywny symulator porównujący koszty eksploatacji pompy ciepła w zależności od gęstości ułożenia rur grzewczych i rodzaju wylewki.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "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="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>
            Analiza Rzeczywista: Dom 145 m&sup2;
        </div>
        <h2 class="rk-case-title">Case Study: Jak <span>-1200 PLN</span> rocznie zostaje w Twoim portfelu?</h2>
    </div>

    <div class="rk-case-interactive">
        <div class="rk-case-tabs">
            <div class="rk-case-tab" data-variant="A">
                <span class="rk-tab-label">Wariant A</span>
                <span class="rk-tab-name">Grzejniki (55&deg;C)</span>
            </div>
            <div class="rk-case-tab" data-variant="B">
                <span class="rk-tab-label">Wariant B</span>
                <span class="rk-tab-name">Podłogówka (15cm)</span>
            </div>
            <div class="rk-case-tab active" data-variant="C">
                <span class="rk-tab-label">Wariant C</span>
                <span class="rk-tab-name">Projekt RK (10cm)</span>
            </div>
        </div>

        <div class="rk-case-grid">
            <div class="rk-case-visual">
                <div style="color: #94a3b8; font-size: 11px; font-weight: 800; text-transform: uppercase; margin-bottom: 15px; letter-spacing: 1px;">Roczne zużycie energii (kWh)</div>
                <svg class="rk-svg-dashboard" viewBox="0 0 200 180">
                    <line x1="20" y1="150" x2="180" y2="150" stroke="#475569" stroke-width="2"/>
                    <rect id="barEnergy" class="svg-energy-bar" x="70" y="40" width="60" height="110" fill="var(--rk-case-brand)"/>
                    <text id="textEnergy" class="svg-text-val" x="100" y="30" text-anchor="middle" font-size="16">5400</text>
                    <text x="100" y="170" text-anchor="middle" fill="#94a3b8" font-size="10" font-weight="800">kWh / ROK</text>
                </svg>
            </div>

            <div class="rk-case-data">
                <div class="rk-data-card">
                    <div class="rk-data-info">
                        <h4>Współczynnik SCOP</h4>
                        <p id="descScop">Zoptymalizowana sprawność</p>
                    </div>
                    <div class="rk-data-val" id="valScop">4.4</div>
                </div>

                <div class="rk-data-card">
                    <div class="rk-data-info">
                        <h4>Parametr Zasilania</h4>
                        <p id="descTemp">Zasilanie niskotemperaturowe</p>
                    </div>
                    <div class="rk-data-val" id="valTemp">30&deg;C</div>
                </div>

                <div class="rk-savings-highlight">
                    <div class="rk-savings-label">Zysk roczny względem standardu</div>
                    <div class="rk-savings-val" id="valSavings">1 200 PLN</div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-case-content">
        <h3>Precyzyjny projekt to czysta matematyka oszczędności</h3>
        <p>
            W październiku 2025 roku, realizując projekt dla Pani Anny w Warszawie (nowoczesny dom szkieletowy o powierzchni 145 m&sup2;, spełniający standardy WT 2021), udowodniliśmy, że inżynieryjne podejście do instalacji bije na głowę tradycyjne wykonawstwo. Rozważyliśmy budynek o realnym obciążeniu cieplnym <strong>8 kW</strong> (przy temperaturze obliczeniowej -20&deg;C).
        </p>

        <ul class="rk-check-list">
            <li>
                <svg class="rk-check-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"></polyline></svg>
                <span><strong>Wariant A (Najdroższy):</strong> System oparty na grzejnikach wymusza temperaturę 55&deg;C. SCOP spada do 2,8, co generuje rachunek za 8500 kWh prądu rocznie.</span>
            </li>
            <li>
                <svg class="rk-check-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"></polyline></svg>
                <span><strong>Wariant B (Standardowy):</strong> Podłogówka układana "na oko" (rozstaw 15 cm) wymaga 40&deg;C. SCOP wynosi 3,6 przy zużyciu 6600 kWh rocznie.</span>
            </li>
            <li>
                <svg class="rk-check-icon" 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><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></svg>
                <span><strong>Wariant C (Zoptymalizowany RK):</strong> Gęsty <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/" class="rk-link">rozstaw rur co 10 cm</a> oraz jastrych anhydrytowy pozwoliły obniżyć Tz do 30&ndash;32&deg;C. SCOP wzrósł do <strong>4,4</strong>, redukując zużycie do 5400 kWh.</span>
            </li>
        </ul>

        <p>
            Różnica między wariantem B a C to aż <strong>1200 kWh rocznie</strong>. Przy obecnej rynkowej cenie energii elektrycznej (1 PLN/kWh), inwestorka oszczędza 1200 PLN każdego roku. Dodatkowy koszt rur i profesjonalnego projektu <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" class="rk-link">OZC</a> zwraca się całkowicie już po 3 latach eksploatacji, a przez kolejne 20 lat instalacja generuje czysty zysk.
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-case-app').innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border-radius:20px; font-weight:900;">BŁĄD LICENCJI: KOD NALEŻY DO PROJEKT-OGRZEWANIA.PL</div>';
        return;
    }

    const tabs = document.querySelectorAll('.rk-case-tab');
    const barEnergy = document.getElementById('barEnergy');
    const textEnergy = document.getElementById('textEnergy');
    const valScop = document.getElementById('valScop');
    const valTemp = document.getElementById('valTemp');
    const valSavings = document.getElementById('valSavings');
    const descScop = document.getElementById('descScop');
    const descTemp = document.getElementById('descTemp');

    const data = {
        'A': { energy: 8500, scop: '2.8', temp: '55°C', savings: '- 1 900 zł', color: '#ef4444', dS: 'Niska wydajność PC', dT: 'Wysoki parametr' },
        'B': { energy: 6600, scop: '3.6', temp: '40°C', savings: '0 PLN', color: '#f59e0b', dS: 'Wydajność standardowa', dT: 'Parametr średni' },
        'C': { energy: 5400, scop: '4.4', temp: '30°C', savings: '+ 1 200 zł', color: '#10b981', dS: 'Zoptymalizowana sprawność', dT: 'Zasilanie niskotemperaturowe' }
    };

    function updateVariant(v) {
        tabs.forEach(t => t.classList.remove('active'));
        document.querySelector(`.rk-case-tab[data-variant="${v}"]`).classList.add('active');

        const d = data[v];
        
        // Animacja Słupka (max energy 8500 -> height 130px)
        const h = (d.energy / 8500) * 130;
        barEnergy.setAttribute('height', h);
        barEnergy.setAttribute('y', 150 - h);
        barEnergy.setAttribute('fill', d.color);
        
        textEnergy.textContent = d.energy;
        textEnergy.setAttribute('y', 140 - h);
        textEnergy.style.fill = d.color;

        // Dane tekstowe
        valScop.innerText = d.scop;
        valScop.style.color = d.color;
        valTemp.innerText = d.temp;
        valSavings.innerText = d.savings;
        
        descScop.innerText = d.dS;
        descTemp.innerText = d.dT;
    }

    tabs.forEach(tab => {
        tab.addEventListener('click', () => updateVariant(tab.getAttribute('data-variant')));
    });

    // Start na wariancie C
    updateVariant('C');
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-card: #1e293b;
    --rk-faq-brand: #4f46e5; /* Eksperckie Indygo */
    --rk-faq-brand-light: #e0e7ff;
    --rk-faq-accent: #06b6d4; /* Cyjan dla kontrastu */
    --rk-faq-success: #10b981;
    --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. Pompa + Podłogówka */
.anim-heat-rise { stroke-dasharray: 6 12; animation: heatRise 2s linear infinite; opacity: 0; }
.rk-faq-item.active .anim-heat-rise { opacity: 1; stroke: #ef4444; }
@keyframes heatRise { to { stroke-dashoffset: -36; } }

/* 2. Pogodówka (Krzywa) */
.anim-curve { stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset 1s 0.3s ease-out; }
.rk-faq-item.active .anim-curve { stroke-dashoffset: 0; }
.anim-weather-sun { animation: spinSun 10s linear infinite; transform-origin: 25px 25px; }
@keyframes spinSun { to { transform: rotate(360deg); } }

/* 3. Rozstaw 10cm */
.anim-pipe-close { transition: transform 0.8s 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); }
.rk-faq-item.active .pipe-top { transform: translateY(15px); }
.rk-faq-item.active .pipe-bot { transform: translateY(-15px); }

/* 4. Bufor (Defrost) */
.anim-defrost { opacity: 0; transition: opacity 0.5s 0.5s; }
.rk-faq-item.active .anim-defrost { opacity: 1; animation: pulseBlue 2s infinite alternate; }
@keyframes pulseBlue { from { fill: #3b82f6; } to { fill: #93c5fd; } }

/* 5. Wylewka Anhydryt */
.anim-liquid { transform: scaleY(0); transform-origin: bottom; transition: transform 1s 0.3s ease-out; }
.rk-faq-item.active .anim-liquid { transform: scaleY(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/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/"
    },
    "headline": "FAQ – Najczęściej zadawane pytania o ogrzewanie podłogowe i pompy ciepła",
    "description": "Eksperckie odpowiedzi na pytania dotyczące rozstawu rur, buforów ciepła, sterowania pokojowego i doboru wylewki przy pompie 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/"
    },
    "publisher": {
      "@type": "Organization",
      "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-11",
    "dateModified": "2026-05-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy pompa ciepła poradzi sobie z ogrzaniem domu tylko podłogówką?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, jest to rozwiązanie wręcz idealne. Pompa inwerterowa osiąga najwyższą sprawność (COP) zasilając instalację niskotemperaturową na poziomie 30-35 stopni Celsjusza. Połączenie to gwarantuje najniższe rachunki i pełny komfort."
        }
      },
      {
        "@type": "Question",
        "name": "Czy mogę sterować każdym pokojem osobno przy pompie ciepła?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Jest to technicznie możliwe, ale w nowoczesnych domach odradzane. Lepszym wyborem jest sterowanie pogodowe. Szybkie zamykanie pętli przez siłowniki termoelektryczne zaburza przepływy masowe i powoduje tzw. taktowanie sprężarki."
        }
      },
      {
        "@type": "Question",
        "name": "Jaki rozstaw rur jest najlepszy: 10 cm czy 15 cm?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Dla pomp ciepła bezwzględnym standardem projektowym jest 10 cm. Zagęszczenie rur pozwala na drastyczne obniżenie temperatury zasilania do 30°C, co maksymalizuje wskaźnik COP. W strefach brzegowych pod oknami stosuje się rozstaw 5-7,5 cm."
        }
      },
      {
        "@type": "Question",
        "name": "Czy potrzebuję bufora ciepła, jeśli mam tylko ogrzewanie podłogowe?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie do magazynowania ciepła (tę rolę pełni wylewka), ale niewielki bufor na powrocie (15-20 litrów/kW) gwarantuje zład wody wymagany do procesu bezpiecznego odszraniania (defrostu) parownika zewnętrznego zimą."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka wylewka jest optymalna do podłogówki z pompą ciepła?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Najlepszym wyborem jest jastrych anhydrytowy. Posiada prawie dwukrotnie lepszy współczynnik przewodzenia ciepła niż beton z miksokreta (ok. 1,8-2,0 W/mK) i idealnie, płynnie otula rury grzewcze bez pozostawiania pustek powietrznych."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#dataset-faq",
    "name": "Baza Wiedzy: Parametry operacyjne instalacji niskotemperaturowych",
    "description": "Zbiór kluczowych pytań i odpowiedzi inwestorskich dotyczących optymalizacji parametrów fizycznych dla systemów ogrzewania płaszczyznowego współpracujących z OZE.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": { "@type": "Person", "name": "Robert Kucharski" }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#webapp-faq",
    "name": "Interaktywny Przewodnik Techniczny",
    "description": "Aplikacja edukacyjna w formie akordeonu ze zintegrowanymi animacjami SVG ułatwiająca wizualizację procesów hydraulicznych i termicznych.",
    "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 pompa ciepła poradzi sobie z ogrzaniem domu tylko podłogówką?</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, jest to rozwiązanie <strong>wręcz idealne</strong>. <a href="https://projekt-ogrzewania.pl/czy-pompa-ciepla-ogrzeje-dom-z-podlogowka/" class="rk-link">Pompa ciepła pracuje najwydajniej</a> przy bardzo niskich temperaturach (30&ndash;35&deg;C na zasilaniu), które są standardem i wymogiem dla komfortowego ogrzewania podłogowego. Brak tradycyjnych kaloryferów oznacza brak konieczności podnoszenia temperatury do 50&deg;C, co drastycznie tnie rachunki za prąd.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="20" y="50" width="60" height="10" fill="#64748b" rx="2"/>
                                    <path class="anim-heat-rise" d="M 30 50 L 30 10 M 50 50 L 50 10 M 70 50 L 70 10" fill="none" stroke-width="3" stroke-linecap="round"/>
                                    <rect x="10" y="20" width="15" height="30" fill="#3b82f6" rx="2"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>2. Czy mogę sterować każdym pokojem osobno przy pompie ciepła?</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">
                                Można, ale w nowoczesnych domach inżynieryjnie <strong>zdecydowanie lepiej sprawdza się</strong> tzw. autoadaptacja lub <a href="https://projekt-ogrzewania.pl/sterowanie-pogodowe-w-ogrzewaniu-podlogowym/" class="rk-link">sterowanie pogodowe (krzywa grzewcza)</a>. Wylewka betonowa ma ogromną bezwładność. Szybkie odcinanie <a href="https://projekt-ogrzewania.pl/petla-grzewcza/" class="rk-link">pętli</a> przez zamykanie <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/" class="rk-link">siłowników termoelektrycznych</a> powoduje zadławienia układu i niszczące dla kompresora taktowanie.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <g class="anim-weather-sun"><circle cx="25" cy="25" r="8" fill="#eab308"/><path d="M 25 10 L 25 15 M 25 35 L 25 40 M 10 25 L 15 25 M 35 25 L 40 25" stroke="#eab308" stroke-width="2" stroke-linecap="round"/></g>
                                    <path d="M 20 60 L 90 60 M 20 60 L 20 10" stroke="#475569" stroke-width="2"/>
                                    <path class="anim-curve" d="M 20 50 Q 50 40 90 15" fill="none" stroke="#ef4444" stroke-width="3" stroke-linecap="round"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>3. Jaki rozstaw rur jest najlepszy: 10 cm czy 15 cm?</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">
                                Dla pomp ciepła <strong>standardem jest 10 cm</strong>. Zagęszczenie ułożenia pozwala na sztuczne "powiększenie" grzejnika, jakim jest podłoga, co z kolei pozwala obniżyć temperaturę zasilania na kotłowni do 30&deg;C. To drastycznie poprawia współczynnik COP w porównaniu do rozstawu 15 cm (zysk rzędu kilkunastu procent oszczędności rocznie). Przy dużych oknach stosuje się 5-7,5 cm (<a href="https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/" class="rk-link">strefa brzegowa</a>).
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <line x1="20" y1="10" x2="80" y2="10" stroke="#3b82f6" stroke-width="4" stroke-linecap="round"/>
                                    <line class="anim-pipe-close pipe-top" x1="20" y1="20" x2="80" y2="20" stroke="#3b82f6" stroke-width="4" stroke-linecap="round"/>
                                    <line x1="20" y1="40" x2="80" y2="40" stroke="#3b82f6" stroke-width="4" stroke-linecap="round"/>
                                    <line class="anim-pipe-close pipe-bot" x1="20" y1="60" x2="80" y2="60" stroke="#3b82f6" stroke-width="4" stroke-linecap="round"/>
                                    <line x1="20" y1="70" x2="80" y2="70" stroke="#3b82f6" stroke-width="4" stroke-linecap="round"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>4. Czy potrzebuję bufora, jeśli mam tylko podłogówkę?</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">
                                System ogrzewania podłogowego sam w sobie to wielki magazyn ciepła, więc <strong>duży bufor nie jest wymagany</strong>. Jednak ze względów bezpieczeństwa hydraulicznego, zaleca się stosowanie niewielkiego <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" class="rk-link">bufora szeregowego na powrocie</a> (ok. 15-20 litrów na kW). Zabezpiecza to pompę, dostarczając zład wody niezbędny do procesu odszraniania (defrostu) urządzenia z lodu.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <path d="M 20 20 L 80 20 M 20 50 L 50 50" fill="none" stroke="#64748b" stroke-width="4" stroke-linecap="round"/>
                                    <rect x="50" y="35" width="20" height="30" fill="#334155" rx="4"/>
                                    <rect x="52" y="37" width="16" height="26" class="anim-defrost" fill="#3b82f6" rx="2"/>
                                    <path d="M 70 50 L 80 50" fill="none" stroke="#64748b" stroke-width="4" stroke-linecap="round"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>5. Jakie wylewki są najlepsze pod pompę ciepła?</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">
                                Inżynieryjnie najlepszym wyborem jest <strong>jastrych anhydrytowy</strong>. Posiada on wyższy współczynnik przewodzenia ciepła niż beton z miksokreta. Co ważniejsze, jego płynna konsystencja <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/" class="rk-link">szczelnie otula rury</a>, eliminując puste komory powietrzne, które działają jak izolator. Dzięki temu instalacja nagrzewa się szybciej i może pracować na niższych parametrach.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="10" y="50" width="80" height="15" fill="#475569" rx="2"/>
                                    <circle cx="30" cy="50" r="6" fill="#ef4444"/>
                                    <circle cx="50" cy="50" r="6" fill="#ef4444"/>
                                    <circle cx="70" cy="50" r="6" fill="#ef4444"/>
                                    <rect class="anim-liquid" x="10" y="20" width="80" height="30" fill="#fcd34d" opacity="0.8"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-faq-app').innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border-radius:20px; font-weight:900;">BŁĄD LICENCJI: KOD NALEŻY DO PROJEKT-OGRZEWANIA.PL</div>';
        return;
    }

    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-pmp-dark: #0f172a;
    --rk-pmp-primary: #2563eb;
    --rk-pmp-light: #eff6ff;
    --rk-pmp-accent: #f59e0b;
    --rk-pmp-success: #10b981;
    --rk-pmp-success-bg: #d1fae5;
    --rk-pmp-danger: #ef4444;
    --rk-pmp-danger-bg: #fee2e2;
    --rk-pmp-gray: #64748b;
    --rk-pmp-border: #e2e8f0;
    --rk-pmp-bg: #ffffff;
}

.rk-pmp-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    background: var(--rk-pmp-bg);
    border-radius: 24px;
    box-shadow: 0 30px 60px -15px rgba(37, 99, 235, 0.15);
    border: 1px solid rgba(37, 99, 235, 0.2);
    overflow: hidden;
}

/* Nagłówek */
.rk-pmp-header {
    padding: 50px 40px;
    background: radial-gradient(circle at top right, #1e293b, var(--rk-pmp-dark));
    color: #ffffff;
    text-align: center;
    position: relative;
    border-bottom: 4px solid var(--rk-pmp-primary);
}

.rk-pmp-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(37, 99, 235, 0.3);
    color: #60a5fa;
    padding: 8px 20px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    border: 1px solid rgba(96, 165, 250, 0.3);
}

.rk-pmp-quote {
    font-size: 24px;
    font-weight: 800;
    line-height: 1.5;
    color: #ffffff;
    max-width: 750px;
    margin: 0 auto 20px auto;
}

.rk-pmp-quote span {
    color: var(--rk-pmp-accent);
}

/* Interaktywny Symulator Kosztów */
.rk-pmp-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-pmp-sim-header {
    text-align: center;
    margin-bottom: 30px;
}

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

.rk-pmp-sim-header p {
    color: var(--rk-pmp-gray);
    font-size: 15px;
    margin: 0;
}

/* Suwak (Slider) */
.rk-pmp-slider-box {
    background: #ffffff;
    padding: 30px;
    border-radius: 20px;
    border: 1px solid var(--rk-pmp-border);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
    margin-bottom: 30px;
}

.rk-pmp-labels {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    font-weight: 700;
    font-size: 14px;
}

.rk-pmp-label-left { color: var(--rk-pmp-danger); }
.rk-pmp-label-right { color: var(--rk-pmp-success); }

.rk-range-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 12px;
    border-radius: 6px;
    background: linear-gradient(to right, var(--rk-pmp-danger) 0%, #cbd5e1 50%, var(--rk-pmp-success) 100%);
    outline: none;
    transition: opacity .2s;
    cursor: pointer;
}

.rk-range-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #ffffff;
    border: 4px solid var(--rk-pmp-primary);
    cursor: grab;
    box-shadow: 0 4px 6px rgba(0,0,0,0.2);
    transition: transform 0.2s;
}

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

/* Wynik symulacji */
.rk-pmp-result-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 30px;
    align-items: center;
}

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

.rk-pmp-data-value {
    font-size: 42px;
    font-weight: 900;
    line-height: 1;
    margin: 10px 0;
    transition: color 0.3s;
}

.rk-pmp-data-label {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 1px;
    color: var(--rk-pmp-gray);
}

.rk-pmp-svg-container {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid var(--rk-pmp-border);
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px;
}

/* SVG Animations */
.pipe-path {
    fill: none;
    stroke-width: 12;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke 0.5s, stroke-dashoffset 0.5s;
}

.thermometer-fill {
    transition: height 0.5s, y 0.5s, fill 0.5s;
}

/* Treść podsumowania */
.rk-pmp-content {
    padding: 40px 50px;
    background: #ffffff;
    font-size: 16px;
    line-height: 1.8;
    color: #475569;
}

.rk-pmp-content p {
    margin-bottom: 20px;
}

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

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

.rk-pmp-content a:hover {
    border-color: var(--rk-pmp-primary);
}

/* CTA */
.rk-pmp-cta {
    padding: 40px 50px;
    background: var(--rk-pmp-light);
    text-align: center;
    border-top: 1px solid var(--rk-pmp-border);
}

.rk-btn-hero {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    background: var(--rk-pmp-dark);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 22px 45px;
    border-radius: 16px;
    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);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-btn-hero:hover {
    transform: translateY(-4px);
    background: var(--rk-pmp-primary);
    box-shadow: 0 20px 35px -5px rgba(37, 99, 235, 0.5);
}

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

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

@media (max-width: 768px) {
    .rk-pmp-header, .rk-pmp-interactive, .rk-pmp-content, .rk-pmp-cta { padding: 30px 20px; }
    .rk-pmp-result-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-pmp-quote { font-size: 20px; }
    .rk-btn-hero { width: 100%; padding: 18px 20px; font-size: 15px; justify-content: center; }
    .rk-pmp-data-value { font-size: 32px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/"
    },
    "headline": "Podsumowanie: Projekt podłogówki to fundament wydajności pompy ciepła",
    "description": "Zakończenie analizy inżynieryjnej: dlaczego optymalizacja hydrauliki, rozstawu rur i bezwładności termicznej jest kluczem do niskich rachunków 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.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-11",
    "dateModified": "2026-05-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#dataset-koszty",
    "name": "Porównanie kosztów eksploatacji pompy ciepła: Montaż standardowy vs Inżynieryjny (2026)",
    "description": "Zestawienie obrazujące wpływ jakości projektu ogrzewania podłogowego (rozstaw rur, obliczenia OZC) na ostateczny rachunek za prąd przy użyciu pompy ciepła w sezonie zimowym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "koszty ogrzewania dom z pompą ciepła",
      "oszczędności na pompie ciepła",
      "rozstaw rur a COP",
      "rachunki za ogrzewanie 2026",
      "projekt ogrzewania podłogowego ROI"
    ],
    "measurementTechnique": "Kalkulacja kosztów miesięcznych na podstawie symulacji zużycia prądu (COP) względem temperatury zasilania narzuconej przez parametry hydrauliczne podłogówki.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Montaż 'na oko' (Rozstaw 15 cm, Tz 40°C): Rachunek ok. 750 PLN / mc. Niska sprawność.",
        "Projekt Optymalny (Rozstaw 10 cm, Tz 30°C, obliczone OZC): Rachunek ok. 250 PLN / mc. Wysoka sprawność."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#webapp-symulator",
    "name": "Symulator Rachunków: Wpływ Projektu na Pompę Ciepła",
    "description": "Interaktywny suwak demonstrujący, jak przejście od amatorskiego układania rur do profesjonalnego projektu OZC drastycznie obniża temperaturę zasilania (Tz) i redukuje miesięczne koszty prądu.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-pmp-container" id="rk-pmp-sum-app">
    <div class="rk-pmp-header">
        <div class="rk-pmp-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"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
            Podsumowanie Eksperckie
        </div>
        <h2 class="rk-pmp-quote">
            "Pompa ciepła jest <span>tylko tak dobra</span>, jak instalacja podłogowa, którą zasila."
        </h2>
    </div>

    <div class="rk-pmp-interactive">
        <div class="rk-pmp-sim-header">
            <h3>Symulator COP i Rachunków</h3>
            <p>Przesuń suwak, aby zobaczyć, jak brak obliczeń niszczy portfel inwestora.</p>
        </div>

        <div class="rk-pmp-slider-box">
            <div class="rk-pmp-labels">
                <span class="rk-pmp-label-left">Montaż "na oko" (bez projektu)</span>
                <span class="rk-pmp-label-right">Projekt Inżynierski (OZC)</span>
            </div>
            <input type="range" min="0" max="100" value="100" class="rk-range-slider" id="rkSimSlider">
        </div>

        <div class="rk-pmp-result-grid">
            <div class="rk-pmp-data-card" id="rkDataCard">
                <div class="rk-pmp-data-label">Szacowany koszt miesięczny</div>
                <div class="rk-pmp-data-value" id="rkCostVal">250 PLN</div>
                <div class="rk-pmp-data-label" style="margin-top: 15px; color: #94a3b8;">Temp. Zasilania (Tz)</div>
                <div style="font-size: 20px; font-weight: 800; color: var(--rk-pmp-dark);" id="rkTzVal">30°C</div>
            </div>

            <div class="rk-pmp-svg-container">
                <svg width="100%" height="150" viewBox="0 0 300 150">
                    <rect x="20" y="20" width="20" height="100" rx="10" fill="#f1f5f9" stroke="#cbd5e1" stroke-width="2"/>
                    <rect id="svgThermo" class="thermometer-fill" x="22" y="90" width="16" height="28" rx="8" fill="var(--rk-pmp-success)"/>
                    <circle cx="30" cy="120" r="15" fill="inherit" id="svgThermoBase" style="fill: var(--rk-pmp-success); transition: fill 0.5s;"/>
                    
                    <path id="svgPipe" class="pipe-path" d="M80 120 L80 40 A10 10 0 0 1 100 40 L100 120 A10 10 0 0 0 120 120 L120 40 A10 10 0 0 1 140 40 L140 120 A10 10 0 0 0 160 120 L160 40 A10 10 0 0 1 180 40 L180 120 A10 10 0 0 0 200 120 L200 40 A10 10 0 0 1 220 40 L220 120 A10 10 0 0 0 240 120 L240 40" stroke="var(--rk-pmp-success)" />
                    
                    <circle cx="260" cy="80" r="25" fill="none" stroke="var(--rk-pmp-dark)" stroke-width="4"/>
                    <polygon points="255,65 275,80 255,95" fill="var(--rk-pmp-dark)"/>
                </svg>
            </div>
        </div>
    </div>

    <div class="rk-pmp-content">
        <p>
            Prawidłowy projekt ogrzewania podłogowego z pompą ciepła to fundament nowoczesnego, energooszczędnego budynku. Jeśli zlekceważysz fazę inżynieryjną, zgadując długości pętli i <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">zakładając uniwersalny rozstaw rur (np. co 15 cm)</a>, zniwelujesz cały zysk technologiczny nowoczesnej sprężarki inwerterowej. Zbyt rzadko ułożone rury i niepoliczone przepływy wymuszą podniesienie temperatury zasilania.
        </p>
        <p>
            <strong>Optymalna hydraulika instalacji</strong>, minimalne opory liniowe (krótkie pętle do 80-90 m) oraz maksymalna powierzchnia wymiany ciepła (zagęszczony układ w oparciu o wyliczenia z OZC) to jedyna techniczna droga, aby utrzymać <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">koszty ogrzewania domu na poziomie 200–300 PLN miesięcznie</a> w środku zimy.
        </p>
    </div>

    <div class="rk-pmp-cta">
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-hero">
            ODKRYJ BAZĘ WIEDZY O POMPACH CIEPŁA
            <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><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez nagłówków HX w alercie)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-pmp-sum-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 30px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 48px; margin-bottom: 20px;">⚠️</div>
                    <div style="font-size: 22px; font-weight: 900; margin-bottom: 15px; text-transform: uppercase;">Naruszenie Licencji Kodu</div>
                    <div style="font-size: 15px; color: #cbd5e1; max-width: 600px; margin: 0 auto; line-height: 1.7;">
                        Ten komponent interaktywny oraz zintegrowane dane JSON-LD stanowią własność intelektualną serwisu <strong>Projekt-Ogrzewania.pl</strong>. Uruchamianie skryptu na nieautoryzowanej domenie zostało zablokowane ze względów bezpieczeństwa.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora (Slider)
    const slider = document.getElementById('rkSimSlider');
    const costVal = document.getElementById('rkCostVal');
    const tzVal = document.getElementById('rkTzVal');
    const card = document.getElementById('rkDataCard');
    const pipe = document.getElementById('svgPipe');
    const thermo = document.getElementById('svgThermo');
    const thermoBase = document.getElementById('svgThermoBase');

    function updateSimulation(value) {
        // Obliczenia interpolowane
        // value: 0 (Na oko) -> 100 (Projekt OZC)
        const invertVal = 100 - value; // 100 to na oko, 0 to OZC
        
        // Koszty: od 250 PLN (pro) do 750 PLN (amator)
        const cost = 250 + (invertVal * 5); 
        
        // Tz: od 30°C do 42°C
        const tz = 30 + (invertVal * 0.12);

        // Aktualizacja DOM
        costVal.innerText = Math.round(cost) + ' PLN';
        tzVal.innerText = tz.toFixed(1) + '°C';

        // Wizualizacja kolorów i wysokości termometru
        let colorStr = '';
        let borderColor = '';
        let thermoHeight = 28; // Min height
        let thermoY = 90; // Start Y

        if (value >= 70) {
            // Stan idealny (Zielony)
            colorStr = 'var(--rk-pmp-success)';
            borderColor = 'var(--rk-pmp-success)';
            card.style.borderColor = 'var(--rk-pmp-success)';
            card.style.backgroundColor = 'var(--rk-pmp-success-bg)';
            costVal.style.color = 'var(--rk-pmp-success)';
            thermoHeight = 30;
            thermoY = 88;
            pipe.style.strokeDasharray = 'none'; // Ciągła linia
        } else if (value >= 40) {
            // Stan średni (Pomarańczowy)
            colorStr = 'var(--rk-pmp-accent)';
            borderColor = 'var(--rk-pmp-accent)';
            card.style.borderColor = 'var(--rk-pmp-accent)';
            card.style.backgroundColor = '#fef3c7';
            costVal.style.color = '#d97706';
            thermoHeight = 60;
            thermoY = 58;
            pipe.style.strokeDasharray = 'none'; // Ciągła linia
        } else {
            // Stan krytyczny (Czerwony)
            colorStr = 'var(--rk-pmp-danger)';
            borderColor = 'var(--rk-pmp-danger)';
            card.style.borderColor = 'var(--rk-pmp-danger)';
            card.style.backgroundColor = 'var(--rk-pmp-danger-bg)';
            costVal.style.color = 'var(--rk-pmp-danger)';
            thermoHeight = 90;
            thermoY = 28;
            pipe.style.strokeDasharray = 'none'; // Ciągła linia
        }

        // Aplikacja kolorów do SVG
        pipe.style.stroke = colorStr;
        thermo.style.fill = colorStr;
        thermoBase.style.fill = colorStr;
        
        // Animacja termometru
        thermo.setAttribute('height', thermoHeight);
        thermo.setAttribute('y', thermoY);
    }

    // Inicjalizacja
    slider.addEventListener('input', function(e) {
        updateSimulation(e.target.value);
    });
    
    // Uruchomienie na starcie (wartość 100)
    updateSimulation(100);
});
</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/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#infografika-download",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/"
    },
    "headline": "Kompletna Infografika PDF: Projekt ogrzewania podłogowego z pompą ciepła",
    "description": "Pobierz inżynierskie zestawienie wytycznych dla systemów płaszczyznowych. Wykres COP, długość pętli, dobór wylewki oraz parametry zasilania w jednym pliku PDF.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/02/Infografika-Projekt-ogrzewania-podlogowego-z-pompa-ciepla.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-11",
    "dateModified": "2026-05-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#dataset-infografika",
    "name": "Wytyczne projektowe dla ogrzewania podłogowego z PC",
    "description": "Zbiór kluczowych danych: krzywa sprawności COP w funkcji temperatury, optymalna długość rury 16x2 oraz niezbędny przepływ hydrauliczny l/h.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe pdf",
      "wykres cop pompy ciepła",
      "projekt podłogówki schemat",
      "rozstaw rur 10cm parametry",
      "jak pobrać projekt podłogówki"
    ],
    "measurementTechnique": "Zestawienie optymalnych parametrów termodynamicznych na grafice 2D.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Schemat optymalizacji i najczęstsze błędy instalacyjne"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/#webapp-download",
    "name": "Centrum Pobierania: Arkusz Projektowy PC",
    "description": "Interaktywny moduł umożliwiający pogląd w wysokiej rozdzielczości i bezpośrednie pobranie dokumentacji technicznej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5"
  }
]
</script>

<div class="download-hub-container" id="app-pc-infographic-dl">
    
    <div class="dl-header">
        <div class="dl-header-content">
            <div class="dl-badge">Darmowe Materiały 2026</div>
            <h2>Pobierz Arkusz Inżynierski</h2>
            <p>Zabierz ekspercką wiedzę bezpośrednio na budowę. Wykresy sprawności COP, parametry hydrauliczne i schematy montażowe 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/02/Infografika-Projekt-ogrzewania-podlogowego-z-pompa-ciepla.webp', '_blank')">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/02/Infografika-Projekt-ogrzewania-podlogowego-z-pompa-ciepla.webp" alt="Infografika - Projekt ogrzewania podłogowego z pompą ciepła. Schematy budowy, wykresy COP i kluczowe parametry techniczne." class="dl-preview-img" loading="lazy">
            <div style="position:absolute; bottom:20px; right:20px; background:rgba(0,0,0,0.7); 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>
                    Wykres: Efektywność COP a temp. zasilania
                </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>
                    Przekrój: Optymalny jastrych i masa (150 kg/m²)
                </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>
                    Zestawienie: Najczęstsze błędy instalacyjne
                </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>
                    Limity fizyki: Długości pętli rury 16mm
                </li>
            </ul>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/02/Infografika-Projekt-ogrzewania-podlogowego-z-pompa-ciepla.pdf" class="dl-main-btn" target="_blank" rel="noopener">
                <span>📥</span> POBIERZ DOKUMENT (PDF)
            </a>
            
            <p style="margin-top: 20px; font-size: 13px; color: var(--dl-muted); line-height: 1.5;">
                Pragniesz przełożyć tę teorię na praktykę we własnym domu? <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" style="color:var(--dl-accent-dark); font-weight:800;">Zamów indywidualny projekt OZC</a> i uzyskaj pełną dokumentację wykonawczą dla swojego instalatora.
            </p>
        </div>

    </div>

    <div class="dl-footer">
        © 2026 Projekt-Ogrzewania.pl | Autor: <strong>Robert Kucharski</strong>. Udostępnianie materiału w formie niezmienionej jest w pełni dozwolone.
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OCHRONA DOMENOWA ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowed.includes(domain)) {
        const container = document.getElementById('app-pc-infographic-dl');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fef2f2; border: 2px solid #dc2626; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 10px;">🔒</div>
                    <div style="font-size: 18px; font-weight: 800; color: #991b1b;">Zasoby Chronione</div>
                    <p style="color: #b91c1c; font-size: 14px;">Ta infografika i dokumentacja PDF są własnością serwisu Projekt-Ogrzewania.pl. Pobieranie z zewnętrznych serwerów jest zabronione.</p>
                </div>
            `;
        }
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">Projekt ogrzewania podłogowego z pompą ciepła.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Kocioł na pellet.</title>
		<link>https://projekt-ogrzewania.pl/kociol-na-pellet/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Wed, 14 Jan 2026 10:09:49 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Efektywność ogrzewania]]></category>
		<category><![CDATA[Hydraulika budowlana]]></category>
		<category><![CDATA[Instalacje domowe]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Koszty instalacji grzewczych]]></category>
		<category><![CDATA[Koszty ogrzewania]]></category>
		<category><![CDATA[Kotły na pellet]]></category>
		<category><![CDATA[Modernizacja ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[bufor ciepła]]></category>
		<category><![CDATA[ekologia]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[kocioł na pellet]]></category>
		<category><![CDATA[koszty ogrzewania]]></category>
		<category><![CDATA[niskotemperaturowe ogrzewanie]]></category>
		<category><![CDATA[ogrzewanie domu]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pellet drzewny]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3170</guid>

					<description><![CDATA[<p>Planując nowoczesny i ekonomiczny system grzewczy, coraz więcej inwestorów zwraca uwagę na kocioł na pellet jako stabilne, ekologiczne i przewidywalne źródło ciepła. W połączeniu z wodnym ogrzewaniem podłogowym tworzy on układ, który doskonale wykorzystuje niskotemperaturowy charakter instalacji i pozwala osiągnąć bardzo dobre parametry eksploatacyjne. W artykule szczegółowo omawiamy, dlaczego kocioł na pellet idealnie współpracuje z podłogówką, jakie komponenty są kluczowe, jak wygląda projektowanie takiego systemu oraz jakie realne koszty inwestycyjne i eksploatacyjne należy wziąć pod uwagę.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kociol-na-pellet/">Kocioł na pellet.</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-card: #ffffff;
    --rk-intro-pellet: #d97706; /* Bursztyn/Pellet */
    --rk-intro-pellet-light: #fef3c7;
    --rk-intro-eco: #059669; /* Eko zieleń */
    --rk-intro-eco-light: #d1fae5;
    --rk-intro-alert: #dc2626;
    --rk-intro-bg: #f8fafc;
    --rk-intro-border: #cbd5e1;
    --rk-intro-text: #334155;
    --rk-intro-muted: #64748b;
}

.rk-intro-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    background: var(--rk-intro-card);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(217, 119, 6, 0.15);
    border: 1px solid rgba(217, 119, 6, 0.3);
    overflow: hidden;
}

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

.rk-intro-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(217, 119, 6, 0.2);
    color: #fcd34d;
    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(217, 119, 6, 0.3);
}

.rk-intro-h2 {
    font-size: 32px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.rk-intro-h2 span { color: var(--rk-intro-pellet); }

.rk-intro-paragraph {
    font-size: 18px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

/* Interaktywny Moduł Synergii */
.rk-intro-interactive {
    padding: 40px 50px;
    background: var(--rk-intro-bg);
}

.rk-intro-h3 {
    text-align: center;
    font-size: 22px;
    color: var(--rk-intro-dark);
    margin: 0 0 30px 0;
    font-weight: 800;
}

/* Przełącznik */
.rk-intro-toggle-box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
}

.rk-intro-label {
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-intro-muted);
    cursor: pointer;
    transition: color 0.3s;
}

.rk-intro-label.active-eco { color: var(--rk-intro-eco); }
.rk-intro-label.active-alert { color: var(--rk-intro-alert); }

.rk-intro-switch {
    position: relative;
    display: inline-block;
    width: 64px;
    height: 32px;
}

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

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

.rk-intro-slider:before {
    position: absolute;
    content: "";
    height: 24px;
    width: 24px;
    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-intro-slider { background-color: var(--rk-intro-alert); }
input:checked + .rk-intro-slider:before { transform: translateX(32px); }

/* Grid Zawartości */
.rk-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    background: var(--rk-intro-card);
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-intro-border);
    transition: all 0.4s ease;
}

/* Stan Synergia (Zaznaczone) */
.state-synergy .rk-intro-grid {
    border-color: var(--rk-intro-eco);
    box-shadow: 0 10px 30px -10px rgba(5, 150, 105, 0.2);
}

/* Stan Brak Synergii */
.state-error .rk-intro-grid {
    border-color: var(--rk-intro-alert);
    box-shadow: 0 10px 30px -10px rgba(220, 38, 38, 0.2);
}

/* Animacje SVG */
.rk-intro-svg-box {
    background: #1e293b;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.rk-svg-main { width: 100%; max-width: 280px; height: auto; }

/* Obiekty SVG i animacje */
.anim-pellet-drop { opacity: 0; transform: translateY(-10px); }
.state-synergy .anim-pellet-drop { animation: dropPellet 1.5s infinite linear; }
.state-error .anim-pellet-drop { animation: jamPellet 0.5s infinite alternate; }

.anim-heat-flow { stroke-dasharray: 10 15; stroke-dashoffset: 0; transition: stroke 0.3s; }
.state-synergy .anim-heat-flow { stroke: var(--rk-intro-eco); animation: flowSmooth 2s linear infinite; }
.state-error .anim-heat-flow { stroke: var(--rk-intro-alert); animation: flowStutter 1s linear infinite; stroke-dasharray: 5 25; }

.anim-fire { transform-origin: bottom center; transition: fill 0.3s; }
.state-synergy .anim-fire { fill: var(--rk-intro-pellet); animation: steadyBurn 2s infinite alternate; }
.state-error .anim-fire { fill: var(--rk-intro-alert); animation: wildBurn 0.3s infinite alternate; }

@keyframes dropPellet { 0% { opacity: 0; transform: translateY(-10px); } 50% { opacity: 1; } 100% { opacity: 0; transform: translateY(30px); } }
@keyframes jamPellet { 0% { transform: translateY(0) rotate(-10deg); fill: #ef4444; } 100% { transform: translateY(2px) rotate(10deg); fill: #fca5a5; } }
@keyframes flowSmooth { to { stroke-dashoffset: -50; } }
@keyframes flowStutter { 0%, 100% { opacity: 1; } 50% { opacity: 0.2; } to { stroke-dashoffset: -10; } }
@keyframes steadyBurn { from { transform: scaleY(0.9); } to { transform: scaleY(1.1); } }
@keyframes wildBurn { from { transform: scaleY(0.5) scaleX(1.2); } to { transform: scaleY(1.5) scaleX(0.8); } }

/* Panel Danych */
.rk-intro-data-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}

.rk-intro-data-row {
    background: var(--rk-intro-bg);
    padding: 15px 20px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-intro-border);
    transition: all 0.3s;
}

.state-synergy .rk-intro-data-row { border-left-color: var(--rk-intro-eco); }
.state-error .rk-intro-data-row { border-left-color: var(--rk-intro-alert); }

.rk-intro-data-title {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-intro-muted);
    letter-spacing: 1px;
    margin-bottom: 5px;
}

.rk-intro-data-val {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-intro-dark);
}

.rk-link {
    color: var(--rk-intro-pellet);
    text-decoration: none;
    border-bottom: 2px dashed rgba(217, 119, 6, 0.4);
    font-weight: 700;
    transition: all 0.3s;
}

.rk-link:hover {
    color: #b45309;
    border-bottom-style: solid;
}

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/"
    },
    "headline": "Kocioł na pellet – Zautomatyzowane serce nowoczesnego systemu grzewczego",
    "description": "Analiza synergii między zautomatyzowanym kotłem na pellet a niskotemperaturową instalacją płaszczyznową. Jak wyeliminować błędy wykonawcze i obniżyć koszty eksploatacji.",
    "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-26",
    "dateModified": "2026-05-26"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#dataset-wstep",
    "name": "Wskaźniki efektywności energetycznej dla biomasy (2026)",
    "description": "Zestawienie inżynierskie obrazujące parametry zautomatyzowanego kotła na pellet pracującego w synergii z instalacją płaszczyznową.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zautomatyzowany kocioł na pellet",
      "koszty eksploatacji podłogówki",
      "system grzewczy z podajnikiem",
      "sprawność normatywna pieca",
      "niskotemperaturowa instalacja płaszczyznowa"
    ],
    "measurementTechnique": "Porównanie parametrów pracy ciągłej (zbuforowanej) z układem obarczonym błędami wykonawczymi (taktowanie).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Optymalna sprawność normatywna: >92% przy prawidłowej integracji.",
        "Kluczowy element: Automatyczny podajnik sprasowanych granulatów drzewnych.",
        "Kompatybilność: Wymaga rozprzężenia hydraulicznego z niskotemperaturowym jastrychem."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#webapp-wstep",
    "name": "Symulator Synergii Grzewczej",
    "description": "Interaktywna aplikacja wizualizująca na żywo przepływ energii między zautomatyzowanym kotłem stałopalnym a układem płaszczyznowym, uwidaczniająca wpływ błędów montażowych.",
    "applicationCategory": "EngineeringSimulator",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 Canvas/SVG support.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="rk-intro-app">
    <div class="rk-intro-header">
        <div class="rk-intro-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="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Inwestycja w przyszłość
        </div>
        <h2 class="rk-intro-h2">Kocioł na pellet – <span>Zautomatyzowane serce systemu</span></h2>
        <p class="rk-intro-paragraph">
            Planując system grzewczy dla nowoczesnego lub modernizowanego budynku, inwestorzy szukają synergii między niskimi kosztami eksploatacji a bezobsługowością. Kocioł na pellet z automatycznym podajnikiem paliwa zyskuje miano jednego z najbardziej stabilnych źródeł biomasowych. Ten zaawansowany technologicznie generator ciepła, spalający sprasowane pod wysokim ciśnieniem granulaty drzewne, doskonale wpisuje się w wymagania współczesnego budownictwa. Kluczem do sukcesu jest jego prawidłowa integracja z <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/" style="color:#fcd34d; font-weight:700;">niskotemperaturową instalacją płaszczyznową</a>, co pozwala uzyskać maksymalną sprawność normatywną i pełną kontrolę nad mikroklimatem w pomieszczeniach, eliminując jednocześnie <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" style="color:#fcd34d; font-weight:700;">typowe błędy wykonawcze</a> spotykane na polskich budowach.
        </p>
    </div>

    <div class="rk-intro-interactive">
        <h3 class="rk-intro-h3">Synergia technologii: Od granulatu po komfort cieplny</h3>
        
        <div class="rk-intro-toggle-box">
            <span class="rk-intro-label active-eco" id="rk-lbl-synergy" onclick="document.getElementById('rk-intro-toggle').click()">Prawidłowa Integracja (Synergia)</span>
            <label class="rk-intro-switch">
                <input type="checkbox" id="rk-intro-toggle">
                <span class="rk-intro-slider"></span>
            </label>
            <span class="rk-intro-label" id="rk-lbl-error" onclick="document.getElementById('rk-intro-toggle').click()">Błędy Wykonawcze</span>
        </div>

        <div class="rk-intro-grid state-synergy" id="rk-dynamic-grid">
            
            <div class="rk-intro-svg-box">
                <svg class="rk-svg-main" viewBox="0 0 200 150">
                    <polygon points="20,20 60,20 50,70 30,70" fill="#475569" stroke="#94a3b8" stroke-width="2"/>
                    <circle class="anim-pellet-drop" cx="40" cy="40" r="3" fill="#f59e0b"/>
                    <circle class="anim-pellet-drop" cx="35" cy="50" r="3" fill="#f59e0b" style="animation-delay: 0.3s;"/>
                    <circle class="anim-pellet-drop" cx="45" cy="45" r="3" fill="#f59e0b" style="animation-delay: 0.6s;"/>
                    
                    <rect x="25" y="70" width="80" height="60" fill="#334155" rx="4"/>
                    <path class="anim-fire" d="M65 120 C50 120, 50 90, 65 80 C80 90, 80 120, 65 120 Z"/>
                    
                    <path class="anim-heat-flow" d="M105 100 L140 100 L140 130 L180 130" fill="none" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
                    
                    <rect x="130" y="120" width="60" height="20" fill="#cbd5e1" rx="2" opacity="0.5"/>
                    <circle cx="150" cy="130" r="4" fill="#ef4444"/>
                    <circle cx="170" cy="130" r="4" fill="#ef4444"/>
                </svg>
            </div>

            <div class="rk-intro-data-panel">
                <div class="rk-intro-data-row">
                    <div class="rk-intro-data-title">Zasilanie paliwem</div>
                    <div class="rk-intro-data-val" id="rk-val-fuel">Płynne dawkowanie automatyczne</div>
                </div>
                <div class="rk-intro-data-row">
                    <div class="rk-intro-data-title">Sprawność normatywna</div>
                    <div class="rk-intro-data-val" id="rk-val-eff">> 92% (Praca stabilna)</div>
                </div>
                <div class="rk-intro-data-row">
                    <div class="rk-intro-data-title">Koszty eksploatacji</div>
                    <div class="rk-intro-data-val" id="rk-val-cost">Niskie i przewidywalne</div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Strict no H2/H3 for fallback)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-intro-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">⚠️</div>
                    <div style="font-size: 20px; font-weight: 900; color: #ef4444; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Licencji Algorytmicznej</div>
                    <div style="font-size: 15px; color: #cbd5e1; max-width: 600px; margin: 0 auto; line-height: 1.6;">
                        Ten komponent inżynieryjny (w tym symulacje SVG i warstwa danych Schema.org) jest chroniony. Wykryto nieautoryzowane uruchomienie poza domeną docelową.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Przełącznika Synergii
    const toggle = document.getElementById('rk-intro-toggle');
    const grid = document.getElementById('rk-dynamic-grid');
    const lblSyn = document.getElementById('rk-lbl-synergy');
    const lblErr = document.getElementById('rk-lbl-error');
    
    // Pola tekstowe
    const valFuel = document.getElementById('rk-val-fuel');
    const valEff = document.getElementById('rk-val-eff');
    const valCost = document.getElementById('rk-val-cost');

    toggle.addEventListener('change', function() {
        if (this.checked) {
            // Stan Błędu
            grid.className = 'rk-intro-grid state-error';
            lblSyn.classList.remove('active-eco');
            lblErr.classList.add('active-alert');
            
            valFuel.innerHTML = 'Zablokowany / Zsyp nienormatywny';
            valEff.innerHTML = '< 70% (Taktowanie i straty)';
            valCost.innerHTML = 'Wysokie (Marnotrawstwo paliwa)';
        } else {
            // Stan Synergii
            grid.className = 'rk-intro-grid state-synergy';
            lblErr.classList.remove('active-alert');
            lblSyn.classList.add('active-eco');
            
            valFuel.innerHTML = 'Płynne dawkowanie automatyczne';
            valEff.innerHTML = '> 92% (Praca stabilna)';
            valCost.innerHTML = 'Niskie i przewidywalne';
        }
    });
});
</script>



<style>
:root {
    --rk-sync-dark: #111827;
    --rk-sync-card: #ffffff;
    --rk-sync-fire: #ea580c; /* Ogień / Pellet */
    --rk-sync-fire-light: #ffedd5;
    --rk-sync-water: #0ea5e9; /* Woda / Bufor */
    --rk-sync-water-light: #e0f2fe;
    --rk-sync-error: #dc2626; /* Błąd / Przegrzanie */
    --rk-sync-bg: #f8fafc;
    --rk-sync-border: #cbd5e1;
    --rk-sync-text: #334155;
    --rk-sync-muted: #64748b;
}

.rk-sync-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    background: var(--rk-sync-card);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(234, 88, 12, 0.15);
    border: 1px solid rgba(234, 88, 12, 0.3);
    overflow: hidden;
}

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

.rk-sync-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(234, 88, 12, 0.2);
    color: #fdba74;
    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(234, 88, 12, 0.3);
}

.rk-sync-h2 {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.rk-sync-h2 span { color: var(--rk-sync-fire); }

.rk-sync-paragraph {
    font-size: 17px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

/* Sekcja Symulatora */
.rk-sync-interactive {
    padding: 40px 50px;
    background: var(--rk-sync-bg);
}

.rk-sync-h3 {
    text-align: center;
    font-size: 22px;
    color: var(--rk-sync-dark);
    margin: 0 0 30px 0;
    font-weight: 800;
}

/* Switcher / Toggle */
.rk-sync-toggle-box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
    background: #ffffff;
    padding: 15px;
    border-radius: 100px;
    border: 1px solid var(--rk-sync-border);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.rk-sync-label {
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-sync-muted);
    cursor: pointer;
    transition: color 0.3s;
    user-select: none;
}

.rk-sync-label.active-safe { color: var(--rk-sync-water); }
.rk-sync-label.active-error { color: var(--rk-sync-error); }

.rk-sync-switch {
    position: relative;
    display: inline-block;
    width: 64px;
    height: 32px;
    flex-shrink: 0;
}

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

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

.rk-sync-slider:before {
    position: absolute;
    content: "";
    height: 24px;
    width: 24px;
    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-sync-slider { background-color: var(--rk-sync-error); }
input:checked + .rk-sync-slider:before { transform: translateX(32px); }

/* Layout Danych */
.rk-sync-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.rk-sync-panel {
    background: var(--rk-sync-card);
    border: 1px solid var(--rk-sync-border);
    border-radius: 16px;
    padding: 30px;
    transition: all 0.4s ease;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Stany Wizualne */
.state-safe .rk-sync-panel { border-color: var(--rk-sync-water); box-shadow: 0 10px 30px -10px rgba(14, 165, 233, 0.2); }
.state-error .rk-sync-panel { border-color: var(--rk-sync-error); box-shadow: 0 10px 30px -10px rgba(220, 38, 38, 0.2); }

/* SVG Canvas przeniesiony na pełną szerokość pod spód */
.rk-sync-svg-wrapper {
    grid-column: 1 / -1;
    background: #0f172a;
    border-radius: 12px;
    padding: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border: 1px solid var(--rk-sync-border);
    transition: border-color 0.4s ease;
}

.state-safe .rk-sync-svg-wrapper { border-color: var(--rk-sync-water); }
.state-error .rk-sync-svg-wrapper { border-color: var(--rk-sync-error); }

.rk-svg-main {
    width: 100%;
    max-width: 450px;
    height: auto;
}

/* Animacje SVG: Kocioł i Ogień */
.anim-flame { transform-origin: bottom center; transition: fill 0.3s; }
.state-safe .anim-flame { fill: #f59e0b; animation: burnSteady 2s infinite alternate; }
.state-error .anim-flame { fill: #ef4444; animation: burnStutter 0.3s infinite alternate; }

@keyframes burnSteady { from { transform: scaleY(0.9); } to { transform: scaleY(1.1); } }
@keyframes burnStutter { from { transform: scaleY(0.4) scaleX(1.2); opacity: 0.5; } to { transform: scaleY(1.3) scaleX(0.8); opacity: 1; } }

/* Animacje SVG: Rury i Woda */
.anim-flow-hot { stroke-dasharray: 6 12; stroke-dashoffset: 0; }
.state-safe .anim-flow-hot { stroke: #f97316; animation: flowSmooth 1.5s linear infinite; }
.state-error .anim-flow-hot { stroke: #dc2626; animation: flowFast 0.5s linear infinite; }

.anim-flow-mix { stroke-dasharray: 6 12; stroke-dashoffset: 0; transition: opacity 0.3s; }
.state-safe .anim-flow-mix { stroke: #0ea5e9; animation: flowSmooth 2s linear infinite; opacity: 1; }
.state-error .anim-flow-mix { opacity: 0; }

@keyframes flowSmooth { to { stroke-dashoffset: -36; } }
@keyframes flowFast { to { stroke-dashoffset: -36; } }

/* Animacje SVG: Bufor i Mieszacz */
.anim-buffer { transition: opacity 0.4s, transform 0.4s; transform-origin: bottom; }
.state-safe .anim-buffer { opacity: 1; transform: scaleY(1); }
.state-error .anim-buffer { opacity: 0.2; transform: scaleY(0); }

/* Animacje SVG: Wylewka i Pęknięcia */
.anim-floor { transition: fill 1s; }
.state-safe .anim-floor { fill: #94a3b8; }
.state-error .anim-floor { fill: #fca5a5; animation: throbRed 1.5s infinite alternate; }

.anim-crack { stroke-dasharray: 50; stroke-dashoffset: 50; transition: stroke-dashoffset 0.1s; opacity: 0; }
.state-error .anim-crack { stroke-dashoffset: 0; opacity: 1; transition: stroke-dashoffset 1s 0.5s ease-out, opacity 0.1s 0.5s; }

@keyframes throbRed { from { fill: #fca5a5; } to { fill: #ef4444; } }

/* Typografia Danych */
.rk-data-block {
    height: 100%; /* Wyrównanie wysokości kafelków na desktopie */
}

.rk-data-label {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-sync-muted);
    margin-bottom: 10px;
}

.rk-data-val {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-sync-text);
}

.rk-data-val strong {
    font-weight: 800;
    color: var(--rk-sync-dark);
}

.rk-link {
    color: var(--rk-sync-water);
    text-decoration: none;
    border-bottom: 2px dashed rgba(14, 165, 233, 0.4);
    font-weight: 700;
    transition: all 0.3s;
}
.state-error .rk-link { color: var(--rk-sync-error); border-bottom-color: rgba(220, 38, 38, 0.4); }
.rk-link:hover { border-bottom-style: solid; }

@media (max-width: 768px) {
    .rk-sync-header, .rk-sync-interactive { padding: 30px 20px; }
    .rk-sync-h2 { font-size: 26px; }
    .rk-sync-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-sync-toggle-box { flex-direction: column; text-align: center; gap: 15px; border-radius: 20px; }
    .rk-sync-svg-wrapper { grid-column: auto; padding: 20px 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#article-podlogowka",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/"
    },
    "headline": "Czy kocioł na pellet nadaje się do ogrzewania podłogowego?",
    "description": "Szczegółowa analiza synchronizacji hydraulicznej: sprawność kotła pelletowego, bezwładność cieplna wylewki oraz konsekwencje braku bufora ciepła wg normy 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.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-26",
    "dateModified": "2026-05-26"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#dataset-podlogowka",
    "name": "Parametry synchronizacji hydraulicznej: Pellet i Ogrzewanie Podłogowe",
    "description": "Baza danych termodynamicznych i normatywnych opisujących współpracę wysokotemperaturowego kotła na biomasę z niskotemperaturową płytą grzewczą.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kocioł na pellet a podłogówka",
      "bufor ciepła",
      "temperatura zasilania podłogówki",
      "pękanie wylewki betonowej",
      "taktowanie kotła",
      "norma PN-EN 1264"
    ],
    "measurementTechnique": "Analiza termodynamiczna zgodna z normami PN-EN 303-5:2021-10 oraz PN-EN 1264-4, badająca akumulację cieplną jastrychu.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wymóg normatywny: Minimalna pojemność bufora 50 l/kW.",
        "Parametr bezpieczeństwa: Max temp. zasilania 55°C, optymalnie 35-40°C.",
        "Bezwładność cieplna: Wylewka betonowa 6,5 cm waży 130-150 kg/m²."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#webapp-podlogowka",
    "name": "Symulator Synchronizacji Hydraulicznej",
    "description": "Interaktywne narzędzie inżynierskie wizualizujące przepływy cieplne. Symuluje procesy taktowania palnika oraz pękania jastrychu przy braku grupy pompowej z mieszaczem.",
    "applicationCategory": "EngineeringSimulator",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and inline SVG support.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-sync-container" id="rk-sync-app">
    <div class="rk-sync-header">
        <div class="rk-sync-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="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Analiza Kompatybilności
        </div>
        <h2 class="rk-sync-h2">Czy kocioł na pellet nadaje się do <span>ogrzewania podłogowego?</span></h2>
        <p class="rk-sync-paragraph">
            Tak, <a href="https://projekt-ogrzewania.pl/kociol-na-pellet/" style="color:#fdba74; font-weight:700;">kocioł na pellet</a> doskonale nadaje się do zasilania wodnego ogrzewania podłogowego, pod warunkiem zastosowania układu mieszającego oraz bufora ciepła o minimalnej pojemności <strong>50 l/kW mocy kotła</strong>, zgodnie z wytycznymi normy <strong>PN-EN 303-5:2021-10</strong>. Ogrzewanie podłogowe wymaga niskich temperatur zasilania (maksymalnie 55°C w stanach awaryjnych, typowo 35-40°C), natomiast kocioł pelletowy musi pracować w temperaturze powrotu powyżej 55°C, aby uniknąć korozji niskotemperaturowej. Ta różnica potencjałów termicznych sprawia, że bezpośrednie połączenie tych dwóch systemów bez hydraulicznego rozprzężenia to <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" style="color:#fdba74; font-weight:700;">krytyczny błąd sztuki budowlanej</a>.
        </p>
    </div>

    <div class="rk-sync-interactive">
        <h3 class="rk-sync-h3">Symulacja Przepływów: Konsekwencje Błędów Instalacyjnych</h3>
        
        <div class="rk-sync-toggle-box">
            <span class="rk-sync-label active-safe" id="rk-lbl-safe" onclick="document.getElementById('rk-sync-toggle').click()">Standard (Bufor + Mieszacz)</span>
            <label class="rk-sync-switch">
                <input type="checkbox" id="rk-sync-toggle">
                <span class="rk-sync-slider"></span>
            </label>
            <span class="rk-sync-label" id="rk-lbl-error" onclick="document.getElementById('rk-sync-toggle').click()">Błąd (Bezpośrednie spięcie)</span>
        </div>

        <div class="rk-sync-grid state-safe" id="rk-main-grid">
            
            <div class="rk-sync-panel">
                <div class="rk-data-block">
                    <div class="rk-data-label">Praca źródła ciepła (Sprawność)</div>
                    <div class="rk-data-val" id="rk-text-boiler">
                        <strong>Stabilny cykl ciągły (>92%).</strong> Nowoczesny palnik wrzutkowy pracuje z mocą nominalną. Ciepło ładuje <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" class="rk-link">zbiornik buforowy</a>, eliminując problem zjawiska taktowania. Emisja CO i pyłów jest minimalna.
                    </div>
                </div>
            </div>

            <div class="rk-sync-panel">
                <div class="rk-data-block">
                    <div class="rk-data-label">Parametry jastrychu i bezpieczeństwo</div>
                    <div class="rk-data-val" id="rk-text-floor">
                        <strong>Łagodne ładowanie (35-40°C).</strong> <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/" class="rk-link">Zawór mieszający</a> obniża temperaturę do bezpiecznego poziomu. Ogromna masa <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/" class="rk-link">wylewki betonowej</a> (grub. 6,5 cm, 150 kg/m²) działa jak powolny, pasywny akumulator, powoli oddając ciepło do pomieszczenia.
                    </div>
                </div>
            </div>

            <div class="rk-sync-svg-wrapper">
                <svg class="rk-svg-main" viewBox="0 0 250 180">
                    <rect x="10" y="70" width="60" height="90" fill="#334155" rx="4"></rect>
                    <path class="anim-flame" d="M40 140 C25 140, 20 100, 40 80 C60 100, 55 140, 40 140 Z"></path>
                    
                    <path class="anim-flow-hot" d="M70 90 L100 90" fill="none" stroke-width="6" stroke-linecap="round"></path>
                    
                    <g class="anim-buffer">
                        <rect x="100" y="40" width="40" height="120" fill="#1e293b" stroke="#0ea5e9" stroke-width="2" rx="8"></rect>
                        <path class="anim-flow-mix" d="M140 140 L160 140" fill="none" stroke-width="6" stroke-linecap="round"></path>
                        <polygon points="160,130 160,150 180,140" fill="#cbd5e1"></polygon>
                        <polygon points="170,120 190,120 180,140" fill="#cbd5e1"></polygon>
                    </g>

                    <path class="anim-flow-hot" id="rk-bypass-pipe" d="M70 90 L180 90 L180 140" fill="none" stroke-width="6" stroke-linecap="round" style="opacity:0;"></path>

                    <path class="anim-flow-mix" id="rk-floor-pipe" d="M180 140 L210 140" fill="none" stroke-width="6" stroke-linecap="round"></path>
                    
                    <rect class="anim-floor" x="180" y="130" width="60" height="30" rx="2"></rect>
                    <circle cx="200" cy="140" r="5" fill="#1e293b"></circle>
                    <circle cx="220" cy="140" r="5" fill="#1e293b"></circle>
                    
                    <path class="anim-crack" d="M190 130 L195 145 L185 160" fill="none" stroke="#000" stroke-width="2"></path>
                    <path class="anim-crack" d="M220 130 L215 140 L225 155" fill="none" stroke="#000" stroke-width="2"></path>
                </svg>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-sync-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🚧</div>
                    <div style="font-size: 20px; font-weight: 900; color: #ef4444; margin-bottom: 10px; text-transform: uppercase;">Zablokowano kod autorski</div>
                    <div style="font-size: 15px; color: #cbd5e1; max-width: 600px; margin: 0 auto; line-height: 1.6;">
                        Próba osadzenia interaktywnego symulatora inżynierskiego poza autoryzowaną domeną. Kontener oraz struktura JSON-LD zostały zdeztywowane.
                    </div>
                </div>
            `;
            return;
        }
    }

    const toggle = document.getElementById('rk-sync-toggle');
    const grid = document.getElementById('rk-main-grid');
    const lblSafe = document.getElementById('rk-lbl-safe');
    const lblError = document.getElementById('rk-lbl-error');
    
    const bypassPipe = document.getElementById('rk-bypass-pipe');
    const floorPipe = document.getElementById('rk-floor-pipe');
    
    const txtBoiler = document.getElementById('rk-text-boiler');
    const txtFloor = document.getElementById('rk-text-floor');

    toggle.addEventListener('change', function() {
        if (this.checked) {
            grid.className = 'rk-sync-grid state-error';
            lblSafe.classList.remove('active-safe');
            lblError.classList.add('active-error');
            
            bypassPipe.style.opacity = '1';
            floorPipe.classList.remove('anim-flow-mix');
            floorPipe.classList.add('anim-flow-hot');
            
            txtBoiler.innerHTML = '<strong>Taktowanie (Spadek o 15-20%).</strong> Kocioł ciągle się rozpala i wygasza, próbując dopasować moc do małego zładu wody. Powstaje smoła, zapalarka ulega uszkodzeniu po jednym sezonie.';
            txtFloor.innerHTML = '<strong>Destrukcja termiczna (70°C).</strong> Wpuszczenie wrzątku bezpośrenio w rury powoduje natychmiastowe przekroczenie dopuszczalnej normą PN-EN 1264 temperatury (max 29°C). Wylewka pęka, płytki odpadają od podłoża.';
            
        } else {
            grid.className = 'rk-sync-grid state-safe';
            lblError.classList.remove('active-error');
            lblSafe.classList.add('active-safe');
            
            bypassPipe.style.opacity = '0';
            floorPipe.classList.remove('anim-flow-hot');
            floorPipe.classList.add('anim-flow-mix');
            
            txtBoiler.innerHTML = '<strong>Stabilny cykl ciągły (>92%).</strong> Nowoczesny palnik wrzutkowy pracuje z mocą nominalną. Ciepło ładuje <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" class="rk-link">zbiornik buforowy</a>, eliminując problem zjawiska taktowania. Emisja CO i pyłów jest minimalna.';
            txtFloor.innerHTML = '<strong>Łagodne ładowanie (35-40°C).</strong> <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/" class="rk-link">Zawór mieszający</a> obniża temperaturę do bezpiecznego poziomu. Ogromna masa <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/" class="rk-link">wylewki betonowej</a> (grub. 6,5 cm) działa jak pasywny akumulator.';
        }
    });
});
</script>



<style>
:root {
    --rk-temp-dark: #0f172a;
    --rk-temp-card: #ffffff;
    --rk-temp-hot: #ef4444; /* Wrzątek / Kocioł */
    --rk-temp-mix: #f59e0b; /* Optymalna podłoga */
    --rk-temp-cold: #3b82f6; /* Powrót / Zima */
    --rk-temp-evoh: #10b981; /* Ochrona EVOH */
    --rk-temp-bg: #f8fafc;
    --rk-temp-border: #e2e8f0;
    --rk-temp-text: #334155;
    --rk-temp-muted: #64748b;
}

.rk-temp-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    background: var(--rk-temp-card);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.15);
    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: 45px 50px 35px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-temp-hot);
}

.rk-temp-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
    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(239, 68, 68, 0.3);
}

.rk-temp-h2 {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
    color: #ffffff;
}

.rk-temp-h2 span { color: var(--rk-temp-hot); }

.rk-temp-paragraph {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 0 15px 0;
}

.rk-temp-paragraph strong { color: #ffffff; }

/* Sekcja Symulatora Krzywej */
.rk-temp-interactive {
    padding: 40px 50px;
    background: var(--rk-temp-bg);
    border-bottom: 1px solid var(--rk-temp-border);
}

.rk-temp-h3 {
    text-align: center;
    font-size: 22px;
    color: var(--rk-temp-dark);
    margin: 0 0 30px 0;
    font-weight: 800;
}

/* Dashboard Controls */
.rk-temp-dashboard {
    background: #ffffff;
    border: 1px solid var(--rk-temp-border);
    border-radius: 16px;
    padding: 30px;
    margin-bottom: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}

/* Suwak (Slider) */
.rk-slider-group {
    margin-bottom: 30px;
}

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

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

.rk-slider-value {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-temp-cold);
    background: #f0f9ff;
    padding: 5px 15px;
    border-radius: 8px;
    border: 1px solid #bae6fd;
}

.rk-range-input {
    width: 100%;
    -webkit-appearance: none;
    height: 8px;
    background: linear-gradient(to right, #3b82f6 0%, #cbd5e1 50%, #f59e0b 100%);
    border-radius: 4px;
    outline: none;
}

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

/* Switcher / Toggle dla zaworu */
.rk-toggle-group {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding-top: 20px;
    border-top: 1px dashed var(--rk-temp-border);
}

.rk-valve-label {
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-temp-muted);
    transition: color 0.3s;
}

.rk-valve-switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 32px;
}
.rk-valve-switch input { opacity: 0; width: 0; height: 0; }
.rk-valve-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: var(--rk-temp-mix);
    border-radius: 32px;
    transition: .4s;
}
.rk-valve-slider:before {
    position: absolute;
    content: "";
    height: 24px;
    width: 24px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    border-radius: 50%;
    transition: .4s;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
input:checked + .rk-valve-slider { background-color: var(--rk-temp-hot); }
input:checked + .rk-valve-slider:before { transform: translateX(28px); }

/* Grid Wyników i SVG */
.rk-temp-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

/* SVG Panel */
.rk-temp-svg-panel {
    background: #0f172a;
    border-radius: 16px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
    position: relative;
}

.rk-svg-main {
    width: 100%;
    max-width: 320px;
}

/* Data Panel */
.rk-temp-data-panel {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-data-card {
    background: #ffffff;
    border: 1px solid var(--rk-temp-border);
    border-radius: 12px;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s;
}

.rk-data-card.card-boiler { border-left: 4px solid var(--rk-temp-hot); }
.rk-data-card.card-floor { border-left: 4px solid var(--rk-temp-mix); }
.rk-data-card.card-status { border-left: 4px solid var(--rk-temp-cold); background: #f8fafc; }

.rk-card-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-temp-muted);
    text-transform: uppercase;
}

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

.val-hot { color: var(--rk-temp-hot); }
.val-mix { color: var(--rk-temp-mix); }

/* Sekcja EVOH */
.rk-temp-evoh-sec {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-evoh-box {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 16px;
    padding: 25px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.rk-evoh-icon {
    width: 48px;
    height: 48px;
    background: var(--rk-temp-evoh);
    color: #ffffff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-evoh-text h4 {
    margin: 0 0 10px 0;
    font-size: 18px;
    font-weight: 800;
    color: #166534;
}

.rk-evoh-text p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #15803d;
}

/* SVG Animations & Dynamic Classes */
.anim-flow { stroke-dasharray: 6 12; animation: flow 1s linear infinite; }
@keyframes flow { to { stroke-dashoffset: -18; } }

.crack-path { stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset 0.5s ease-out; opacity: 0; }
.show-crack .crack-path { stroke-dashoffset: 0; opacity: 1; }

.rk-link {
    color: var(--rk-temp-mix);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px dashed rgba(245, 158, 11, 0.4);
    transition: all 0.3s;
}
.rk-link:hover { border-bottom-style: solid; color: var(--rk-temp-hot); }

@media (max-width: 768px) {
    .rk-temp-header, .rk-temp-interactive, .rk-temp-evoh-sec { padding: 30px 20px; }
    .rk-temp-grid { grid-template-columns: 1fr; }
    .rk-evoh-box { flex-direction: column; }
    .rk-temp-h2 { font-size: 26px; }
    .rk-data-card { 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/maksymalna-temperatura-zasilania-podlogowki/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/"
    },
    "headline": "Maksymalna temperatura zasilania podłogówki z kotła i rola zaworu trójdrogowego",
    "description": "Zrozumienie normy PN-EN 1264-2: dlaczego woda w rurach podłogówki nie może przekraczać 50°C. Interaktywny symulator krzywej grzewczej 0.4.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.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-26",
    "dateModified": "2026-05-26"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/#dataset",
    "name": "Krzywa grzewcza 0.4 i parametry zasilania (2026)",
    "description": "Zestawienie inżynierskie mapujące optymalną temperaturę zasilania jastrychu w zależności od temperatury zewnętrznej przy zachowaniu granicy 50°C.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "temperatura zasilania podłogówki",
      "krzywa grzewcza 0.4",
      "zawór trójdrogowy mieszający",
      "bariera antydyfuzyjna EVOH",
      "norma PN-EN 1264-2"
    ],
    "measurementTechnique": "Obliczenia termodynamiczne automatyki pogodowej (slope 0.4) w relacji do ograniczeń fizycznych wytrzymałości jastrychu (klasa F4 wg PN-EN 13813).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Kocioł pelletowy: Generuje stałe 65-80°C.",
        "Krzywa 0.4 przy +10°C: Zasilanie podłogi = 26°C.",
        "Krzywa 0.4 przy -15°C: Zasilanie podłogi = 38°C.",
        "Ograniczenie jastrychu: Max 50°C (skrajnie 55°C w łazience)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/#webapp",
    "name": "Symulator Zaworu Mieszającego i Krzywej Grzewczej",
    "description": "Interaktywna aplikacja obliczeniowa na żywo korelująca odczyty z czujnika pogodowego z pracą zaworu trójdrogowego, symulująca pękanie posadzki przy awarii mieszacza.",
    "applicationCategory": "EngineeringSimulator",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5 Range Input, and SVG support.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-temp-container" id="rk-temp-app">
    <div class="rk-temp-header">
        <div class="rk-temp-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="M12 9a4 4 0 0 0-2 7.5"></path><path d="M12 3v2"></path><path d="m6.6 18.4-1.4 1.4"></path><path d="m20 4-1.4 1.4"></path><path d="M4 22l1.4-1.4"></path><path d="M21 13h-2"></path><path d="m17.4 18.4 1.4 1.4"></path></svg>
            Parametry Krytyczne wg Normy
        </div>
        <h2 class="rk-temp-h2">Jaka jest maksymalna temperatura zasilania <span>podłogówki z kotła?</span></h2>
        <p class="rk-temp-paragraph">
            Maksymalna temperatura zasilania instalacji ogrzewania podłogowego wynosi <strong>50°C</strong> (w skrajnych przypadkach dla łazienek 55°C), co precyzyjnie definiuje <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/" style="color:#fca5a5; font-weight:700;">norma PN-EN 1264-2</a>. Przekroczenie tej wartości granicznej generuje naprężenia wewnętrzne w jastrychu przekraczające jego wytrzymałość na rozciąganie przy zginaniu (klasa jastrychu minimum F4 wg PN-EN 13813). W normalnych warunkach eksploatacyjnych, przy temperaturze projektowej zewnętrznej dla III strefy klimatycznej Polski (-20°C), <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/" style="color:#fca5a5; font-weight:700;">optymalna temperatura zasilania wynosi 35°C do 40°C</a>.
        </p>
    </div>

    <div class="rk-temp-interactive">
        <h3 class="rk-temp-h3">Rola zaworu trójdrogowego i krzywej grzewczej</h3>
        <p style="text-align:center; color:#64748b; margin-bottom:30px; font-size:15px; max-width:700px; margin-left:auto; margin-right:auto;">
            Aby obniżyć parametry wysokiej temperatury z kotła (65-80°C) do bezpiecznego poziomu, stosuje się <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/" class="rk-link">zawór mieszający z siłownikiem</a>. Regulator dobiera temperaturę według <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/" class="rk-link">krzywej grzewczej</a>. Sprawdź, jak to działa na żywo (krzywa 0.4):
        </p>

        <div class="rk-temp-dashboard">
            <div class="rk-slider-group">
                <div class="rk-slider-header">
                    <div class="rk-slider-label">Temperatura Zewnętrzna (Czujnik)</div>
                    <div class="rk-slider-value" id="rk-out-temp">+10°C</div>
                </div>
                <input type="range" id="rk-out-slider" class="rk-range-input" min="-20" max="15" value="10">
            </div>

            <div class="rk-toggle-group">
                <span class="rk-valve-label" id="rk-lbl-on" style="color:#f59e0b;">Zawór Działa (Mieszanie)</span>
                <label class="rk-valve-switch">
                    <input type="checkbox" id="rk-valve-toggle">
                    <span class="rk-valve-slider"></span>
                </label>
                <span class="rk-valve-label" id="rk-lbl-off">Awaria / Brak Zaworu</span>
            </div>
        </div>

        <div class="rk-temp-grid">
            <div class="rk-temp-svg-panel" id="rk-svg-container">
                <svg class="rk-svg-main" viewBox="0 0 250 150">
                    <rect x="10" y="20" width="50" height="100" fill="#334155" rx="4"/>
                    <text x="35" y="75" fill="#ef4444" font-size="16" font-weight="bold" text-anchor="middle">75°</text>
                    
                    <path class="anim-flow" d="M60 40 L100 40" fill="none" stroke="#ef4444" stroke-width="8" stroke-linecap="round"/>
                    
                    <g id="rk-svg-valve">
                        <polygon points="100,30 100,50 120,40" fill="#cbd5e1"/>
                        <polygon points="120,40 140,30 140,50" fill="#cbd5e1"/>
                        <polygon points="110,60 130,60 120,40" fill="#cbd5e1"/>
                        <circle cx="120" cy="40" r="4" fill="#1e293b"/>
                    </g>

                    <path class="anim-flow" id="rk-svg-return" d="M120 110 L120 60" fill="none" stroke="#3b82f6" stroke-width="6" stroke-linecap="round"/>
                    <path class="anim-flow" d="M220 110 L120 110" fill="none" stroke="#3b82f6" stroke-width="6" stroke-linecap="round"/>

                    <path class="anim-flow" id="rk-svg-mixpipe" d="M140 40 L220 40 L220 70" fill="none" stroke="#f59e0b" stroke-width="8" stroke-linecap="round" transition="stroke 0.3s"/>
                    
                    <rect id="rk-svg-floor" x="160" y="70" width="80" height="30" fill="#94a3b8" rx="2" style="transition: fill 0.5s;"/>
                    <text id="rk-svg-floortext" x="200" y="90" fill="#ffffff" font-size="14" font-weight="bold" text-anchor="middle">26°C</text>

                    <path class="crack-path" d="M170 70 L180 85 L175 100" fill="none" stroke="#000000" stroke-width="2"/>
                    <path class="crack-path" d="M210 70 L205 85 L215 100" fill="none" stroke="#000000" stroke-width="2"/>
                </svg>
            </div>

            <div class="rk-temp-data-panel">
                <div class="rk-data-card card-boiler">
                    <div class="rk-card-title">Zasilanie Kotła (Stałe)</div>
                    <div class="rk-card-value val-hot">75.0 °C</div>
                </div>
                <div class="rk-data-card card-floor" id="rk-card-mix">
                    <div class="rk-card-title">Woda na posadzkę (Zredukowana)</div>
                    <div class="rk-card-value val-mix" id="rk-val-mix">26.0 °C</div>
                </div>
                <div class="rk-data-card card-status" id="rk-card-status">
                    <div class="rk-card-title">Status Jastrychu</div>
                    <div class="rk-card-value" style="color:#10b981;" id="rk-val-status">Bezpieczny (Norma)</div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-temp-evoh-sec">
        <h3 class="rk-temp-h3" style="text-align:left;">Znaczenie bariery antydyfuzyjnej EVOH w rurach</h3>
        <div class="rk-evoh-box">
            <div class="rk-evoh-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 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            </div>
            <div class="rk-evoh-text">
                <h4>Ochrona instalacji wg normy DIN 4726</h4>
                <p>
                    Zgodnie z normą DIN 4726, <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/" style="color:#166534; font-weight:700; text-decoration:underline; text-underline-offset:2px;">rury grzewcze (PEX, PERT)</a> stosowane w instalacjach płaszczyznowych muszą posiadać warstwę antydyfuzyjną EVOH (alkohol etylowinylowy). Zapobiega ona przenikaniu tlenu z powietrza do wnętrza układu. Przy kotłach stałopalnych, natleniona woda błyskawicznie powoduje korozję wżerową wymienników i zapowietrzanie się pętli grzewczych.
                </p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Ochrona Algorytmiczna (Brak znaczników H w fallbacku)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-temp-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 20px; font-weight: 900; color: #ef4444; margin-bottom: 10px; text-transform: uppercase;">Zabezpieczenie Licencyjne</div>
                    <div style="font-size: 15px; color: #cbd5e1; max-width: 600px; margin: 0 auto; line-height: 1.6;">
                        Moduł kalkulatora krzywej grzewczej i pliki JSON-LD zostały zablokowane z powodu nieautoryzowanego użycia na obcej domenie.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora Krzywej Grzewczej 0.4
    const slider = document.getElementById('rk-out-slider');
    const outTempDisplay = document.getElementById('rk-out-temp');
    const toggleValve = document.getElementById('rk-valve-toggle');
    
    // UI Elements
    const lblOn = document.getElementById('rk-lbl-on');
    const lblOff = document.getElementById('rk-lbl-off');
    const valMix = document.getElementById('rk-val-mix');
    const valStatus = document.getElementById('rk-val-status');
    const cardMix = document.getElementById('rk-card-mix');
    
    // SVG Elements
    const svgMixPipe = document.getElementById('rk-svg-mixpipe');
    const svgFloor = document.getElementById('rk-svg-floor');
    const svgFloorText = document.getElementById('rk-svg-floortext');
    const svgContainer = document.getElementById('rk-svg-container');
    const svgReturn = document.getElementById('rk-svg-return');

    // Algorytm wyliczający T_zasilania na podstawie krzywej 0.4
    // Uproszczona matematyka dająca dokładnie: +10C -> 26C, -15C -> 38C
    // T_floor = 30.8 - (0.48 * T_out)
    function calculateFloorTemp(tOut) {
        let tFloor = 30.8 - (0.48 * tOut);
        return Math.round(tFloor * 10) / 10;
    }

    function updateSimulation() {
        let tOut = parseInt(slider.value);
        let prefix = tOut > 0 ? "+" : "";
        outTempDisplay.innerText = prefix + tOut + "°C";

        let isBroken = toggleValve.checked;

        if (isBroken) {
            // AWARIA ZAWORU - Płynie wrzątek z kotła
            lblOn.style.color = 'var(--rk-temp-muted)';
            lblOff.style.color = 'var(--rk-temp-hot)';
            
            valMix.innerText = "75.0 °C";
            valMix.className = "rk-card-value val-hot";
            cardMix.style.borderLeftColor = "var(--rk-temp-hot)";
            
            valStatus.innerText = "KRYTYCZNE: Pękanie jastrychu!";
            valStatus.style.color = "var(--rk-temp-hot)";
            
            // Wizualizacja SVG
            svgMixPipe.setAttribute("stroke", "#ef4444"); // czerwona rura
            svgReturn.style.opacity = "0.2"; // brak powrotu zimnej
            svgFloor.setAttribute("fill", "#fca5a5"); // podłoga się przegrzewa
            svgFloorText.textContent = "75°C";
            svgContainer.classList.add("show-crack");

        } else {
            // ZAWÓR DZIAŁA - Mieszanie pogodowe
            lblOff.style.color = 'var(--rk-temp-muted)';
            lblOn.style.color = 'var(--rk-temp-mix)';
            
            let tFloor = calculateFloorTemp(tOut);
            valMix.innerText = tFloor.toFixed(1) + " °C";
            valMix.className = "rk-card-value val-mix";
            cardMix.style.borderLeftColor = "var(--rk-temp-mix)";
            
            if (tFloor <= 50) {
                valStatus.innerText = "Bezpieczny (Zgodnie z normą)";
                valStatus.style.color = "var(--rk-temp-evoh)";
                svgFloor.setAttribute("fill", "#94a3b8");
                svgContainer.classList.remove("show-crack");
            } else {
                valStatus.innerText = "Ostrzeżenie: Granica normy";
                valStatus.style.color = "var(--rk-temp-mix)";
            }

            // Wizualizacja SVG - zmiana koloru rury w zależności od temp
            svgReturn.style.opacity = "1";
            svgFloorText.textContent = tFloor.toFixed(0) + "°C";
            
            if(tFloor < 30) svgMixPipe.setAttribute("stroke", "#fbbf24"); // żółty
            else if (tFloor < 40) svgMixPipe.setAttribute("stroke", "#f59e0b"); // pomarańcz
            else svgMixPipe.setAttribute("stroke", "#d97706"); // ciemny pomarańcz
        }
    }

    slider.addEventListener('input', updateSimulation);
    toggleValve.addEventListener('change', updateSimulation);

    // Init
    updateSimulation();
});
</script>



<style>
:root {
    --rk-flow-dark: #0f172a;
    --rk-flow-card: #ffffff;
    --rk-flow-cyan: #06b6d4; /* Precyzja Inżynierska */
    --rk-flow-cyan-light: #cffafe;
    --rk-flow-blue: #3b82f6; /* Woda / Przepływ */
    --rk-flow-blue-light: #dbeafe;
    --rk-flow-alert: #ef4444; /* Ostrzeżenie / Brak zładu */
    --rk-flow-bg: #f8fafc;
    --rk-flow-border: #e2e8f0;
    --rk-flow-text: #334155;
    --rk-flow-muted: #64748b;
}

.rk-flow-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    background: var(--rk-flow-card);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(6, 182, 212, 0.15);
    border: 1px solid var(--rk-flow-border);
    overflow: hidden;
}

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

.rk-flow-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(6, 182, 212, 0.2);
    color: #67e8f9;
    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(6, 182, 212, 0.3);
}

.rk-flow-h2 {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
    color: #ffffff;
}

.rk-flow-h2 span { color: var(--rk-flow-cyan); }

.rk-flow-paragraph {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

.rk-flow-formula {
    background: rgba(0,0,0,0.3);
    padding: 15px 20px;
    border-radius: 12px;
    font-family: 'Courier New', monospace;
    font-size: 18px;
    color: #22d3ee;
    text-align: center;
    margin: 20px 0;
    border: 1px dashed rgba(34, 211, 238, 0.4);
}

/* Interaktywny Kalkulator */
.rk-flow-interactive {
    padding: 40px 50px;
    background: var(--rk-flow-bg);
}

.rk-flow-h3 {
    text-align: center;
    font-size: 22px;
    color: var(--rk-flow-dark);
    margin: 0 0 30px 0;
    font-weight: 800;
}

.rk-flow-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 30px;
    background: #ffffff;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-flow-border);
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
}

/* Suwaki / Controls */
.rk-flow-controls {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-slider-group {
    background: var(--rk-flow-bg);
    padding: 15px 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-flow-border);
}

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

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

.rk-slider-value {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-flow-cyan);
}

.rk-range-input {
    width: 100%;
    -webkit-appearance: none;
    height: 8px;
    background: linear-gradient(to right, #bae6fd 0%, #06b6d4 100%);
    border-radius: 4px;
    outline: none;
}

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

/* Wyniki & Wizualizacja */
.rk-flow-results {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-result-card {
    background: var(--rk-flow-bg);
    border: 1px solid var(--rk-flow-border);
    border-radius: 12px;
    padding: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-result-card.highlight {
    background: var(--rk-flow-cyan-light);
    border-color: var(--rk-flow-cyan);
}

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

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

.rk-result-card.highlight .rk-result-val { color: var(--rk-flow-cyan); }

/* Zład Wody Info */
.rk-volume-info {
    margin-top: 40px;
    padding: 30px;
    background: #ffffff;
    border-radius: 16px;
    border-left: 5px solid var(--rk-flow-alert);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-volume-info h4 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-flow-dark);
    display: flex;
    align-items: center;
    gap: 10px;
}

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

.rk-link {
    color: var(--rk-flow-cyan);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px dashed rgba(6, 182, 212, 0.4);
    transition: all 0.3s;
}
.rk-link:hover { border-bottom-style: solid; color: #0891b2; }

@media (max-width: 768px) {
    .rk-flow-header, .rk-flow-interactive { padding: 30px 20px; }
    .rk-flow-grid { grid-template-columns: 1fr; gap: 20px; padding: 20px; }
    .rk-flow-h2 { font-size: 26px; }
    .rk-volume-info { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-przeplyw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Ile m³ wody na godzinę musi przepłynąć przez instalację? Algorytmy i zład wody",
    "description": "Zrozumienie fundamentalnego wzoru termodynamiki m = Q / (cw · ΔT). Obliczanie nastaw rotametrów na rozdzielaczu i analiza ryzyka małego zładu wody przy kotłach na pellet.",
    "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-26",
    "dateModified": "2026-05-26"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-przeplyw",
    "name": "Kalkulator Przepływu Masowego i Zładu Wody (2026)",
    "description": "Zestawienie inżynierskie łączące ciepło właściwe wody (1,163 Wh/kg·K) z zapotrzebowaniem na moc i projektową deltą temperatur w celu wyznaczenia przepływu w rotametrach.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "przepływ w ogrzewaniu podłogowym",
      "wzór na przepływ wody",
      "nastawy rotametrów podłogówka",
      "zład wody rura 16x2",
      "taktowanie kotła pelletowego"
    ],
    "measurementTechnique": "Termodynamiczne równanie bilansu cieplnego z uwzględnieniem ciepła właściwego wody oraz pojemności wodnej rur PEX/PERT 16x2 (0,113 l/mb).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przykład 10 kW, ΔT = 5 K: Przepływ = 1,72 m³/h (28,6 l/min).",
        "Przykład pętla 1200 W, ΔT = 5 K: Przepływ pętli = 3,44 l/min.",
        "Zład wody dla 100 m² (rozstaw 10 cm): ok. 113 litrów (Zbyt mało dla kotła stałopalnego bez bufora)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-przeplyw",
    "name": "Interaktywny Kalkulator Rotametrów i Algorytmów Przepływu",
    "description": "Dynamiczne narzędzie inżynierskie obliczające na żywo przepływ objętościowy [l/min] na bazie zmian mocy OZC i spadku temperatury ΔT.",
    "applicationCategory": "EngineeringCalculator",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 Range Inputs.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-flow-container" id="rk-flow-app">
    <div class="rk-flow-header">
        <div class="rk-flow-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="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Termodynamika w Praktyce
        </div>
        <h2 class="rk-flow-h2">Ile m³ wody na godzinę musi <span>przepłynąć przez instalację?</span></h2>
        <p class="rk-flow-paragraph">
            Dla budynku o zapotrzebowaniu na moc cieplną <strong>Q = 10 kW</strong> i projektowej różnicy temperatur <strong>ΔT = 5 K</strong> (typowy spadek dla podłogówki), wymagany masowy przepływ nominalny wynosi dokładnie <strong>1,72 m³/h</strong> (28,6 l/min). Wartość tę wylicza się bezpośrednio z fundamentalnego wzoru termodynamiki:
        </p>
        <div class="rk-flow-formula">
            m = Q / (cw · ΔT)
        </div>
        <p class="rk-flow-paragraph" style="font-size: 14px; opacity: 0.9;">
            Gdzie <strong>cw</strong> to ciepło właściwe wody wynoszące <strong>1,163 Wh/(kg·K)</strong>. Każde drastyczne zdławienie przepływu poniżej wartości obliczeniowej przez źle dobraną <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/" style="color:#67e8f9; font-weight:700;">pompę obiegową</a> skutkuje niedogrzaniem stref oddalonych od rozdzielacza i zaburzeniem równowagi hydraulicznej obiegu.
        </p>
    </div>

    <div class="rk-flow-interactive">
        <h3 class="rk-flow-h3">Algorytm obliczania przepływu dla pętli grzewczych</h3>
        
        <div class="rk-flow-grid">
            <div class="rk-flow-controls">
                <div class="rk-slider-group">
                    <div class="rk-slider-header">
                        <div class="rk-slider-label">Zapotrzebowanie z OZC (Q)</div>
                        <div class="rk-slider-value" id="rk-val-q">1200 W</div>
                    </div>
                    <input type="range" id="rk-slider-q" class="rk-range-input" min="500" max="2500" step="100" value="1200">
                </div>

                <div class="rk-slider-group">
                    <div class="rk-slider-header">
                        <div class="rk-slider-label">Spadek temperatury (ΔT)</div>
                        <div class="rk-slider-value" id="rk-val-dt">5 K</div>
                    </div>
                    <input type="range" id="rk-slider-dt" class="rk-range-input" min="3" max="10" step="1" value="5">
                </div>
            </div>

            <div class="rk-flow-results">
                <div class="rk-result-card">
                    <div class="rk-result-label">Strumień masowy</div>
                    <div class="rk-result-val" id="rk-out-mass">206.4 kg/h</div>
                </div>
                <div class="rk-result-card highlight">
                    <div class="rk-result-label">Nastawa Rotametru <br><span style="font-size:11px; color:#64748b; font-weight:400;">(Złożenie dla 2 pętli w salonie)</span></div>
                    <div class="rk-result-val" id="rk-out-rota">1.72 l/min</div>
                </div>
            </div>
        </div>

        <div class="rk-volume-info">
            <h4>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ef4444" 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>
                Zjawisko zbyt małego zładu wody
            </h4>
            <p>
                Ogrzewanie podłogowe oparte na <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/" class="rk-link">rurze PEX/PERT 16x2 mm</a> mieści w sobie zaledwie <strong>0,113 litra wody</strong> na każdy metr bieżący. Przy rozstawie co 10 cm, na powierzchni 100 m² mamy około 1000 m rury, co daje zład wodny rzędu zaledwie <strong>113 litrów</strong>.
            </p>
            <p>
                Dla nowoczesnego kotła na pellet o modulacji mocy od 3 kW do 10 kW to <a href="https://projekt-ogrzewania.pl/wiekszy-czy-mniejszy-zlad-wody-w-ogrzewaniu-podlogowym/" class="rk-link">zdecydowanie za mało</a>. Kocioł nie ma gdzie zrzucić wyprodukowanej energii cieplnej, gdy automatyka pokojowa zamknie większość obwodów. Bez dodatkowego magazynu energii (zbiornika buforowego) układ błyskawicznie wejdzie w tryb niszczącego, <strong>ciągłego taktowania</strong>.
            </p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Ochrona Algorytmiczna (Brak znaczników H w fallbacku)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-flow-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 20px; font-weight: 900; color: #ef4444; margin-bottom: 10px; text-transform: uppercase;">Zablokowany Moduł Algorytmiczny</div>
                    <div style="font-size: 15px; color: #cbd5e1; max-width: 600px; margin: 0 auto; line-height: 1.6;">
                        Kalkulator rotametrów oraz pliki JSON-LD zostały zablokowane z powodu nieautoryzowanego użycia na obcej domenie. Własność Projekt-Ogrzewania.pl.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Kalkulatora Przepływu
    const sliderQ = document.getElementById('rk-slider-q');
    const sliderDT = document.getElementById('rk-slider-dt');
    const valQ = document.getElementById('rk-val-q');
    const valDT = document.getElementById('rk-val-dt');
    
    const outMass = document.getElementById('rk-out-mass');
    const outRota = document.getElementById('rk-out-rota');

    // Stała fizyczna: ciepło właściwe wody w Wh/(kg*K)
    const cw = 1.163; 
    
    // Obliczanie
    function updateFlowCalc() {
        let Q = parseFloat(sliderQ.value);
        let dT = parseFloat(sliderDT.value);
        
        // Update Labels
        valQ.innerText = Q + " W";
        valDT.innerText = dT + " K";
        
        // 1. Strumień masowy: m = Q / (cw * dT) [kg/h]
        let massFlow = Q / (cw * dT);
        outMass.innerText = massFlow.toFixed(1) + " kg/h";
        
        // 2. Przepływ objętościowy [l/min] = kg/h / 60 (zakładając gęstość wody 1kg/l)
        let volFlowMin = massFlow / 60;
        
        // 3. Rozbicie na pętle (zakładamy 2 pętle w jednym dużym pokoju)
        let loopFlow = volFlowMin / 2;
        outRota.innerText = loopFlow.toFixed(2) + " l/min";
    }

    sliderQ.addEventListener('input', updateFlowCalc);
    sliderDT.addEventListener('input', updateFlowCalc);

    // Init
    updateFlowCalc();
});
</script>



<style>
:root {
    --rk-buf2-dark: #0f172a;
    --rk-buf2-blue: #2563eb; /* Głęboki niebieski dla bufora */
    --rk-buf2-blue-light: #eff6ff;
    --rk-buf2-orange: #ea580c; /* Ciepło kotła */
    --rk-buf2-orange-light: #fff7ed;
    --rk-buf2-green: #16a34a; /* Sukces / Oszczędność */
    --rk-buf2-green-light: #f0fdf4;
    --rk-buf2-bg: #f8fafc;
    --rk-buf2-border: #cbd5e1;
    --rk-buf2-text: #334155;
    --rk-buf2-muted: #64748b;
}

.rk-buf2-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(37, 99, 235, 0.15);
    border: 1px solid rgba(37, 99, 235, 0.3);
    overflow: hidden;
}

/* Sekcja Górna */
.rk-buf2-header {
    background: linear-gradient(135deg, var(--rk-buf2-dark) 0%, #1e3a8a 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-buf2-blue);
}

.rk-buf2-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(37, 99, 235, 0.2);
    color: #93c5fd;
    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(147, 197, 253, 0.3);
}

.rk-buf2-h2 {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.rk-buf2-h2 span { color: #60a5fa; }

.rk-buf2-paragraph {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

.rk-buf2-paragraph strong { color: #ffffff; }

/* Moduł Interaktywny */
.rk-buf2-interactive {
    padding: 40px 50px;
    background: var(--rk-buf2-bg);
}

.rk-buf2-h3 {
    text-align: center;
    font-size: 22px;
    color: var(--rk-buf2-dark);
    margin: 0 0 30px 0;
    font-weight: 800;
}

/* Przełącznik Widoku */
.rk-buf2-toggle-box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
    background: #ffffff;
    padding: 15px 30px;
    border-radius: 100px;
    border: 1px solid var(--rk-buf2-border);
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
}

.rk-buf2-label {
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-buf2-muted);
    cursor: pointer;
    transition: color 0.3s;
    user-select: none;
}

.rk-buf2-label.active-pro { color: var(--rk-buf2-blue); }
.rk-buf2-label.active-warn { color: var(--rk-buf2-orange); }

.rk-buf2-switch {
    position: relative;
    display: inline-block;
    width: 64px;
    height: 32px;
    flex-shrink: 0;
}

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

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

.rk-buf2-slider:before {
    position: absolute;
    content: "";
    height: 24px;
    width: 24px;
    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-buf2-slider { background-color: var(--rk-buf2-orange); }
input:checked + .rk-buf2-slider:before { transform: translateX(32px); }

/* Wizualizacja SVG */
.rk-buf2-svg-wrapper {
    background: #0f172a;
    border-radius: 16px;
    padding: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 35px;
    box-shadow: inset 0 0 25px rgba(0,0,0,0.4);
}

.rk-buf2-svg { width: 100%; max-width: 450px; height: auto; }

/* Dynamiczne klasy i animacje dla SVG */
.anim-flow-boiler { stroke-dasharray: 6 12; stroke: var(--rk-buf2-orange); }
.anim-flow-floor { stroke-dasharray: 4 8; stroke: #60a5fa; }

.state-pro .anim-flow-boiler { animation: flowLeft 2s linear infinite; }
.state-pro .anim-flow-floor { animation: flowRight 1.5s linear infinite; }

.state-warn .anim-flow-boiler { animation: flowLeft 0.4s linear infinite; stroke: #ef4444; }
.state-warn .anim-flow-floor { animation: flowStutter 1s ease infinite; stroke: #f97316; stroke-dasharray: 2 20; }

.svg-buffer-tank { transition: opacity 0.4s, transform 0.4s; }
.state-warn .svg-buffer-tank { opacity: 0.1; transform: scaleY(0.8); }

@keyframes flowLeft { to { stroke-dashoffset: -36; } }
@keyframes flowRight { to { stroke-dashoffset: 36; } }
@keyframes flowStutter { 0%, 100% { opacity: 1; stroke-dashoffset: 0; } 50% { opacity: 0.3; stroke-dashoffset: -10; } }

/* Responsywny Matrix Zastępujący Tabelę */
.rk-matrix-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 35px;
}

/* Wiersz nagłówkowy (ukrywany na mobile) */
.rk-matrix-header {
    display: grid;
    grid-template-columns: 2fr 1.5fr 1.5fr;
    gap: 15px;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-buf2-muted);
    letter-spacing: 0.5px;
}

/* Wiersz danych */
.rk-matrix-row {
    display: grid;
    grid-template-columns: 2fr 1.5fr 1.5fr;
    gap: 15px;
    background: #ffffff;
    padding: 18px 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-buf2-border);
    align-items: center;
    transition: all 0.3s;
}

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

.rk-matrix-val {
    font-size: 15px;
    line-height: 1.4;
}

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

/* Kolorowanie kolumn aktywnego stanu */
.state-pro .row-pro { background: var(--rk-buf2-green-light); border-color: #bbf7d0; color: #166534; }
.state-warn .row-warn { background: var(--rk-buf2-orange-light); border-color: #fed7aa; color: #9a3412; }

/* Dolna Sekcja Zagrożeń H4 */
.rk-buf2-threats {
    background: #ffffff;
    border: 1px solid var(--rk-buf2-border);
    border-radius: 16px;
    padding: 30px;
}

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

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

.rk-link {
    color: var(--rk-buf2-blue);
    text-decoration: none;
    border-bottom: 2px dashed rgba(37, 99, 235, 0.4);
    font-weight: 700;
    transition: all 0.3s;
}
.state-warn .rk-link { color: var(--rk-buf2-orange); border-bottom-color: rgba(234, 88, 12, 0.4); }
.rk-link:hover { border-bottom-style: solid; }

/* RESPONSYWNOŚĆ (Mobile w kafelki) */
@media (max-width: 768px) {
    .rk-buf2-header, .rk-buf2-interactive, .rk-buf2-threats { padding: 30px 20px; }
    .rk-buf2-h2 { font-size: 24px; }
    .rk-buf2-toggle-box { flex-direction: column; text-align: center; gap: 15px; border-radius: 20px; }
    
    /* Zamiana tabeli/gridu na kafelki jeden pod drugim */
    .rk-matrix-header { display: none; } /* Ukrywamy nagłówek płaski */
    
    .rk-matrix-row {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 20px;
    }
    
    .rk-matrix-val {
        padding-left: 15px;
        position: relative;
    }
    
    /* Wstrzykiwanie etykiet kontekstowych na mobile */
    .rk-matrix-val::before {
        content: attr(data-label);
        display: block;
        font-size: 11px;
        text-transform: uppercase;
        font-weight: 800;
        color: var(--rk-buf2-muted);
        margin-bottom: 2px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#article-bufor",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/"
    },
    "headline": "Dlaczego bufor ciepła jest absolutnie konieczny w instalacjach pelletowych?",
    "description": "Porównanie techniczne sprawności układu z buforem i bez. Analiza rozprzężenia strumieni masowych oraz zagrożeń braku zbiornika akumulacyjnego w programie Czyste Powietrze 2026.",
    "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-26",
    "dateModified": "2026-05-26"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#dataset-bufor",
    "name": "Porównanie sprawności i parametrów eksploatacyjnych układu pellet-podłogówka (2026)",
    "description": "Zbiór danych inżynierskich określających średnią sprawność kotła, taktowanie palnika oraz zużycie paliwa w zależności od obecności zbiornika buforowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "bufor ciepła w ogrzewaniu podłogowym",
      "taktowanie kotła pelletowego",
      "zużycie pelletu dom 150m2",
      "korozja niskotemperaturowa",
      "zwrotnica hydrauliczna strumieni"
    ],
    "measurementTechnique": "Bilansowanie energetyczne i monitorowanie zużycia paliwa na bazie normy PN-EN 303-5:2021-10 dla instalacji niskotemperaturowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Z buforem: Sprawność 91-94%, 2-4 odpaleń/dobę, zużycie 3.9 tony/rok, żywotność grzałki 5-7 lat.",
        "Bez bufora: Sprawność 74-79%, 12-18 odpaleń/dobę, zużycie 4.8 tony/rok, żywotność grzałki 12-18 miesięcy."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#webapp-bufor",
    "name": "Symulator Rozprzężenia Strumieni Masowych",
    "description": "Interaktywny panel inżynierski (Toggle Switch) mapujący zmiany przepływów hydraulicznych (0,7 m3/h kocioł vs 1,8 m3/h podłoga) i obrazujący skutki usunięcia bufora ciepła.",
    "applicationCategory": "EngineeringSimulator",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and SVG rendering.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-buf2-container" id="rk-buf2-app">
    <div class="rk-buf2-header">
        <div class="rk-buf2-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"><rect x="2" y="2" width="20" height="20" rx="2.18" ry="2.18"></rect><line x1="12" y1="2" x2="12" y2="22"></line><line x1="2" y1="12" x2="22" y2="12"></line></svg>
            Rozprzężenie Hydrauliczne Strumieni
        </div>
        <h2 class="rk-buf2-h2">Dlaczego bufor ciepła jest <span>absolutnie konieczny?</span></h2>
        <p class="rk-buf2-paragraph">
            Zastosowanie zbiornika buforowego (akumulacyjnego) przy połączeniu kotła na pellet z podłogówką jest bezwzględnym wymogiem technicznym (potwierdzonym w procedurach dotacyjnych programu <strong>"Czyste Powietrze" w 2026 roku</strong>), ponieważ rozprzęga on hydraulicznie i termicznie niezależne strumienie masowe obu układów. Kocioł pracuje z optymalnym przepływem rzędu 0,6-0,8 m³/h przy różnicy temperatur ΔT = 20 K (75/55°C), podczas gdy instalacja podłogowa wymaga przepływu na poziomie 1,5-2,0 m³/h przy ΔT = 5 K. <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" style="color:#60a5fa; font-weight:700;">Bufor działa jak hydrauliczna zwrotnica</a> o wielkiej pojemności termicznej.
        </p>
    </div>

    <div class="rk-buf2-interactive">
        <h3 class="rk-buf2-h3">Porównanie parametrów pracy układu z buforem i bez bufora</h3>
        
        <div class="rk-buf2-toggle-box">
            <span class="rk-buf2-label active-pro" id="rk-buf-lbl-pro" onclick="document.getElementById('rk-buf-toggle').click()">Układ Z buforem (Standard Inż.)</span>
            <label class="rk-buf2-switch">
                <input type="checkbox" id="rk-buf-toggle">
                <span class="rk-buf2-slider"></span>
            </label>
            <span class="rk-buf2-label" id="rk-buf-lbl-warn" onclick="document.getElementById('rk-buf-toggle').click()">Układ BEZ bufora (Zagrożenie)</span>
        </div>

        <div class="rk-buf2-svg-wrapper state-pro" id="rk-buf-svg-container">
            <svg class="rk-buf2-svg" viewBox="0 0 300 120">
                <rect x="10" y="30" width="40" height="60" fill="#334155" rx="4"/>
                <circle cx="30" cy="60" r="8" fill="#ea580c"/>
                
                <path class="anim-flow-boiler" d="M50 45 L100 45" fill="none" stroke-width="4"/>
                <path class="anim-flow-boiler" d="M100 75 L50 75" fill="none" stroke-width="4" style="stroke: #3b82f6;"/>
                <text x="75" y="38" fill="#ea580c" font-size="8" font-family="sans-serif" text-anchor="middle" id="rk-svg-t1">0.7 m³/h</text>

                <g class="svg-buffer-tank" id="rk-svg-tank">
                    <rect x="100" y="15" width="30" height="90" fill="#1e293b" stroke="#2563eb" stroke-width="2" rx="6"/>
                    <rect x="105" y="20" width="20" height="80" fill="#2563eb" opacity="0.3" rx="4"/>
                </g>

                <path class="anim-flow-floor" d="M130 45 L240 45" fill="none" stroke-width="4" style="stroke: #ef4444;"/>
                <path class="anim-flow-floor" d="M240 75 L130 75" fill="none" stroke-width="4" style="stroke: #3b82f6;"/>
                <text x="185" y="38" fill="#60a5fa" font-size="8" font-family="sans-serif" text-anchor="middle" id="rk-svg-t2">1.8 m³/h</text>

                <rect x="240" y="35" width="10" height="50" fill="#475569"/>
                <path d="M250 45 C260 45, 260 55, 250 55 M250 65 C260 65, 260 75, 250 75" fill="none" stroke="#ef4444" stroke-width="3"/>
            </svg>
        </div>

        <div class="rk-matrix-grid state-pro" id="rk-matrix-container">
            
            <div class="rk-matrix-header">
                <div>Parametr eksploatacyjny</div>
                <div>Układ BEZ bufora ciepła</div>
                <div>Układ Z buforem ciepła (600 L)</div>
            </div>

            <div class="rk-matrix-row">
                <div class="rk-matrix-label">Średnia sprawność kotła</div>
                <div class="rk-matrix-val row-warn" data-label="Bez bufora"><strong>74 - 79%</strong> (straty rozruchowe)</div>
                <div class="rk-matrix-val row-pro" data-label="Z buforem"><strong>91 - 94%</strong> (praca nominalna)</div>
            </div>

            <div class="rk-matrix-row">
                <div class="rk-matrix-label">Częstotliwość załączeń palnika</div>
                <div class="rk-matrix-val row-warn" data-label="Bez bufora"><strong>12 - 18 razy / dobę</strong></div>
                <div class="rk-matrix-val row-pro" data-label="Z buforem"><strong>2 - 4 razy / dobę</strong></div>
            </div>

            <div class="rk-matrix-row">
                <div class="rk-matrix-label">Zużycie pelletu (dom 150 m²)</div>
                <div class="rk-matrix-val row-warn" data-label="Bez bufora"><strong>4,8 tony / rok</strong></div>
                <div class="rk-matrix-val row-pro" data-label="Z buforem"><strong>3,9 tony / rok</strong></div>
            </div>

            <div class="rk-matrix-row">
                <div class="rk-matrix-label">Żywotność grzałki ceramicznej</div>
                <div class="rk-matrix-val row-warn" data-label="Bez bufora"><strong>12 - 18 miesięcy</strong></div>
                <div class="rk-matrix-val row-pro" data-label="Z buforem"><strong>5 - 7 lat</strong></div>
            </div>

            <div class="rk-matrix-row">
                <div class="rk-matrix-label">Emisja pyłów i sadzy w komorze</div>
                <div class="rk-matrix-val row-warn" data-label="Bez bufora">Wysoka (częste czyszczenie)</div>
                <div class="rk-matrix-val row-pro" data-label="Z buforem">Minimalna (suchy, szary popiół)</div>
            </div>

        </div>

        <div class="rk-buf2-threats">
            <h4 class="rk-buf2-h4">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#ea580c" 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>
                Zagrożenia związane z rezygnacją ze zbiornika akumulacyjnego
            </h4>
            <p class="rk-buf2-threats-p">
                Brak bufora wymusza na kotle pelletowym bezpośrednią reakcję na zamknięcie <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/" class="rk-link">siłowników termoelektrycznych</a> na rozdzielaczach. Gdy pokoje zostaną dogrzane i zamknie się 8 z 10 pętli, przepływ po stronie instalacji drastycznie spada. Kocioł, nie mogąc oddać wygenerowanej mocy 10 kW do zredukowanego zładu, natychmiast przekracza temperaturę zadaną i awaryjnie się wygasza. Po 15 minutach woda w rurach stygnie, a automatyka ponownie uruchamia procedurę rozpalania. Taki cykl niszczy zapalarkę, powoduje osadzanie się szklistej smoły (kondensacja spalin) na wymienniku kotła i drastycznie zwiększa koszty ogrzewania.
            </p>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie domenowe (Brak znaczników H2/H3 w fallback)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-buf2-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif; box-sizing: border-box;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 20px; font-weight: 900; color: #ef4444; margin-bottom: 10px; text-transform: uppercase;">Kontrola Autorska Aktywowana</div>
                    <div style="font-size: 15px; color: #cbd5e1; max-width: 600px; margin: 0 auto; line-height: 1.6;">
                        Wykryto nieautoryzowaną próbę klonowania interaktywnego matrixa danych technicznych. Skrypty i warstwa danych strukturalnych zostały zablokowane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika interaktywnego przełącznika widoków
    const toggle = document.getElementById('rk-buf-toggle');
    const svgContainer = document.getElementById('rk-buf-svg-container');
    const matrixContainer = document.getElementById('rk-matrix-container');
    const lblPro = document.getElementById('rk-buf-lbl-pro');
    const lblWarn = document.getElementById('rk-buf-lbl-warn');
    
    // Teksty na SVG
    const svgT1 = document.getElementById('rk-svg-t1');
    const svgT2 = document.getElementById('rk-svg-t2');

    toggle.addEventListener('change', function() {
        if (this.checked) {
            // STAN: AMATEUR (Brak bufora / Awaria)
            svgContainer.className = 'rk-buf2-svg-wrapper state-warn';
            matrixContainer.className = 'rk-matrix-grid state-warn';
            lblPro.classList.remove('active-pro');
            lblWarn.classList.add('active-warn');
            
            svgT1.textContent = "Taktowanie! (Niestabilny)";
            svgT1.setAttribute("fill", "#ef4444");
            svgT2.textContent = "Dławienie przepływu";
            svgT2.setAttribute("fill", "#f97316");
        } else {
            // STAN: PRO (Z buforem / Norma)
            svgContainer.className = 'rk-buf2-svg-wrapper state-pro';
            matrixContainer.className = 'rk-matrix-grid state-pro';
            lblWarn.classList.remove('active-warn');
            lblPro.classList.add('active-pro');
            
            svgT1.textContent = "0.7 m³/h";
            svgT1.setAttribute("fill", "#ea580c");
            svgT2.textContent = "1.8 m³/h";
            svgT2.setAttribute("fill", "#60a5fa");
        }
    });
});
</script>



<style>
:root {
    --rk-calc2-dark: #0f172a;
    --rk-calc2-card: #ffffff;
    --rk-calc2-primary: #8b5cf6; /* Techniczny fiolet/indygo */
    --rk-calc2-primary-light: #e0e7ff;
    --rk-calc2-pellet: #ea580c; /* Kolor pelletu/ognia */
    --rk-calc2-water: #0ea5e9; /* Kolor bufora/wody */
    --rk-calc2-bg: #f8fafc;
    --rk-calc2-border: #cbd5e1;
    --rk-calc2-text: #334155;
    --rk-calc2-muted: #64748b;
}

.rk-calc2-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    background: var(--rk-calc2-card);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(139, 92, 246, 0.15);
    border: 1px solid rgba(139, 92, 246, 0.3);
    overflow: hidden;
}

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

.rk-calc2-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(139, 92, 246, 0.2);
    color: #c4b5fd;
    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(139, 92, 246, 0.3);
}

.rk-calc2-h2 {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
    color: #ffffff;
}

.rk-calc2-h2 span { color: #a78bfa; }

.rk-calc2-paragraph {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

/* Interaktywny Kalkulator */
.rk-calc2-interactive {
    padding: 40px 50px;
    background: var(--rk-calc2-bg);
}

.rk-calc2-h3 {
    text-align: center;
    font-size: 22px;
    color: var(--rk-calc2-dark);
    margin: 0 0 30px 0;
    font-weight: 800;
}

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

/* Sekcja Suwaków (Inputs) */
.rk-calc2-controls {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

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

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

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

.rk-calc2-slider-value {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-calc2-primary);
    background: var(--rk-calc2-primary-light);
    padding: 4px 12px;
    border-radius: 8px;
}

.rk-range-input {
    width: 100%;
    -webkit-appearance: none;
    height: 8px;
    background: linear-gradient(to right, #ddd6fe 0%, #8b5cf6 100%);
    border-radius: 4px;
    outline: none;
}

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

/* Sekcja Wyników (Outputs) */
.rk-calc2-results {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-res-card {
    background: #ffffff;
    border: 1px solid var(--rk-calc2-border);
    border-radius: 16px;
    padding: 18px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.rk-res-card::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
}

.rk-res-card.c-ozc::before { background: var(--rk-calc2-muted); }
.rk-res-card.c-boiler::before { background: var(--rk-calc2-pellet); }
.rk-res-card.c-buffer::before { background: var(--rk-calc2-water); }
.rk-res-card.c-floor::before { background: var(--rk-calc2-primary); }

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

.rk-res-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-calc2-dark);
}

.c-boiler .rk-res-val { color: var(--rk-calc2-pellet); }
.c-buffer .rk-res-val { color: var(--rk-calc2-water); }

/* Schemat SVG */
.rk-calc2-svg-box {
    grid-column: 1 / -1;
    background: #0f172a;
    border-radius: 16px;
    padding: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 15px;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
    border: 1px solid #334155;
}

.rk-svg-main {
    width: 100%;
    max-width: 600px;
    height: auto;
}

.anim-power-flow { stroke-dasharray: 6 12; animation: flowData 1s linear infinite; }
@keyframes flowData { to { stroke-dashoffset: -18; } }

/* Procedura Tekstowa */
.rk-calc2-procedure {
    margin-top: 40px;
    background: #ffffff;
    border: 1px solid var(--rk-calc2-border);
    border-radius: 16px;
    padding: 30px;
}

.rk-proc-step {
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px dashed var(--rk-calc2-border);
}
.rk-proc-step:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }

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

.rk-proc-badge {
    background: var(--rk-calc2-dark);
    color: #fff;
    width: 24px; height: 24px;
    display: inline-flex; justify-content: center; align-items: center;
    border-radius: 6px;
    font-size: 12px;
}

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

.rk-proc-math {
    background: var(--rk-calc2-bg);
    padding: 12px 20px;
    border-radius: 8px;
    font-family: 'Courier New', monospace;
    font-weight: 700;
    color: var(--rk-calc2-primary);
    border: 1px solid var(--rk-calc2-primary-light);
    display: inline-block;
}

.rk-link {
    color: var(--rk-calc2-primary);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px dashed rgba(139, 92, 246, 0.4);
    transition: all 0.3s;
}
.rk-link:hover { border-bottom-style: solid; color: #6d28d9; }

@media (max-width: 768px) {
    .rk-calc2-header, .rk-calc2-interactive, .rk-calc2-procedure { padding: 30px 20px; }
    .rk-calc2-grid { grid-template-columns: 1fr; }
    .rk-calc2-h2 { font-size: 26px; }
    .rk-calc2-svg-box { padding: 20px 10px; }
    .rk-res-card { flex-direction: column; align-items: flex-start; gap: 5px; }
    .rk-proc-math { font-size: 13px; word-break: break-all; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#article-dobor",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/"
    },
    "headline": "Jak dobrać moc kotła na pellet i pojemność instalacji podłogowej?",
    "description": "Inżynierski algorytm krok po kroku: obliczanie projektowego obciążenia cieplnego (OZC), mocy kotła, pojemności bufora i zładu wody. Zgodnie z normą PN-EN 303-5.",
    "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-26",
    "dateModified": "2026-05-26"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#dataset-dobor",
    "name": "Algorytm doboru mocy kotła pelletowego i pojemności bufora (2026)",
    "description": "Matematyczny model doboru komponentów maszynowni na podstawie zapotrzebowania cieplnego budynku, z uwzględnieniem strat przesyłowych i podgrzewu CWU.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dobór mocy kotła na pellet",
      "obliczenia OZC",
      "pojemność bufora ciepła",
      "zład wody podłogówki",
      "norma PN-EN 303-5"
    ],
    "measurementTechnique": "Kalkulacja wg normy PN-EN 12831 (OZC) oraz PN-EN 303-5 (dobór bufora dla biomasy, min. 50-70 l/kW). Zład wody dla rury 16x2 przyjęto jako 0,113 l/mb.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Moc kotła: Q_kotła = Q_p × 1,15 + 0,4 kW (dla 4 osób).",
        "Bufor: V_b = Q_kotła × 60 litrów/kW.",
        "Pojemność podłogówki: Powierzchnia × 6,6 m/m² × 0,113 l/m."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#webapp-dobor",
    "name": "Kalkulator Inżynierski: Dobór Kotła i Bufora",
    "description": "Interaktywny algorytm wyliczający na żywo OZC, moc katalogową kotła stałopalnego, wymagany zład bufora oraz pojemność jastrychu na podstawie powierzchni domu i izolacji.",
    "applicationCategory": "EngineeringCalculator",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5 Range Inputs, and SVG animation support.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc2-container" id="rk-calc2-app">
    <div class="rk-calc2-header">
        <div class="rk-calc2-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"><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>
            Algorytm Projektowy
        </div>
        <h2 class="rk-calc2-h2">Jak dobrać moc kotła na pellet i <span>pojemność instalacji?</span></h2>
        <p class="rk-calc2-paragraph">
            Poniższy algorytm inżynierski pozwala krok po kroku obliczyć optymalną moc źródła ciepła oraz minimalną kubaturę zbiornika buforowego dla domu jednorodzinnego w oparciu o <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" style="color:#c4b5fd; font-weight:700;">normatywne wskaźniki projektowe OZC</a>. Wykorzystaj suwaki poniżej, aby przeprowadzić symulację dla własnego budynku.
        </p>
    </div>

    <div class="rk-calc2-interactive">
        <h3 class="rk-calc2-h3">Kalkulator: Ścieżka Doboru Komponentów</h3>
        
        <div class="rk-calc2-grid">
            <div class="rk-calc2-controls">
                <div class="rk-calc2-slider-group">
                    <div class="rk-calc2-slider-header">
                        <div class="rk-calc2-slider-label">Powierzchnia domu</div>
                        <div class="rk-calc2-slider-value" id="rk-val-area">150 m²</div>
                    </div>
                    <input type="range" id="rk-slider-area" class="rk-range-input" min="80" max="300" step="10" value="150">
                </div>

                <div class="rk-calc2-slider-group">
                    <div class="rk-calc2-slider-header">
                        <div class="rk-calc2-slider-label">Standard izolacji (EA)</div>
                        <div class="rk-calc2-slider-value" id="rk-val-iso">50 W/m²</div>
                    </div>
                    <input type="range" id="rk-slider-iso" class="rk-range-input" min="30" max="100" step="5" value="50">
                </div>
                
                <div class="rk-calc2-slider-group">
                    <div class="rk-calc2-slider-header">
                        <div class="rk-calc2-slider-label">Liczba osób (CWU)</div>
                        <div class="rk-calc2-slider-value" id="rk-val-ppl">4</div>
                    </div>
                    <input type="range" id="rk-slider-ppl" class="rk-range-input" min="1" max="8" step="1" value="4">
                </div>
            </div>

            <div class="rk-calc2-results">
                <div class="rk-res-card c-ozc">
                    <div class="rk-res-label">Obciążenie Cieplne (OZC)</div>
                    <div class="rk-res-val" id="rk-out-ozc">7.5 kW</div>
                </div>
                <div class="rk-res-card c-boiler">
                    <div class="rk-res-label">Wymagana Moc Kotła</div>
                    <div class="rk-res-val" id="rk-out-boiler">9.0 kW</div>
                </div>
                <div class="rk-res-card c-buffer">
                    <div class="rk-res-label">Pojemność Bufora (Min.)</div>
                    <div class="rk-res-val" id="rk-out-buffer">540 L</div>
                </div>
                <div class="rk-res-card c-floor">
                    <div class="rk-res-label">Zład Wody (Podłogówka)</div>
                    <div class="rk-res-val" id="rk-out-floor">112 L</div>
                </div>
            </div>

            <div class="rk-calc2-svg-box">
                <svg class="rk-svg-main" viewBox="0 0 600 120">
                    <rect x="10" y="30" width="100" height="60" fill="#334155" rx="8"/>
                    <text x="60" y="55" fill="#94a3b8" font-size="12" text-anchor="middle" font-weight="bold">KROK 1</text>
                    <text x="60" y="75" fill="#ffffff" font-size="16" text-anchor="middle" font-weight="bold" id="rk-svg-ozc">7.5 kW</text>
                    
                    <path class="anim-power-flow" d="M110 60 L160 60" fill="none" stroke="#64748b" stroke-width="4" stroke-linecap="round"/>
                    <polygon points="155,55 165,60 155,65" fill="#64748b"/>

                    <rect x="170" y="20" width="100" height="80" fill="#1e293b" stroke="#ea580c" stroke-width="2" rx="8"/>
                    <text x="220" y="45" fill="#ea580c" font-size="12" text-anchor="middle" font-weight="bold">KROK 2 (Kocioł)</text>
                    <text x="220" y="75" fill="#ffffff" font-size="20" text-anchor="middle" font-weight="bold" id="rk-svg-boiler">9.0 kW</text>

                    <path class="anim-power-flow" d="M270 60 L320 60" fill="none" stroke="#ea580c" stroke-width="4" stroke-linecap="round"/>
                    <polygon points="315,55 325,60 315,65" fill="#ea580c"/>

                    <rect x="330" y="10" width="100" height="100" fill="#1e293b" stroke="#0ea5e9" stroke-width="2" rx="16"/>
                    <text x="380" y="45" fill="#0ea5e9" font-size="12" text-anchor="middle" font-weight="bold">KROK 3 (Bufor)</text>
                    <text x="380" y="75" fill="#ffffff" font-size="20" text-anchor="middle" font-weight="bold" id="rk-svg-buffer">540 L</text>

                    <path class="anim-power-flow" d="M430 60 L480 60" fill="none" stroke="#0ea5e9" stroke-width="4" stroke-linecap="round"/>
                    <polygon points="475,55 485,60 475,65" fill="#0ea5e9"/>

                    <rect x="490" y="40" width="100" height="40" fill="#334155" stroke="#8b5cf6" stroke-width="2" rx="4"/>
                    <text x="540" y="55" fill="#a78bfa" font-size="10" text-anchor="middle" font-weight="bold">KROK 4 (Zład)</text>
                    <text x="540" y="72" fill="#ffffff" font-size="14" text-anchor="middle" font-weight="bold" id="rk-svg-floor">112 L</text>
                </svg>
            </div>
        </div>

        <div class="rk-calc2-procedure">
            <div class="rk-proc-step">
                <h4 class="rk-proc-title"><span class="rk-proc-badge">1</span> Wyznaczenie obciążenia cieplnego z OZC</h4>
                <p class="rk-proc-text">
                    Odczytujemy z projektu OZC (<a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/" class="rk-link">PN-EN 12831</a>) projektowe obciążenie cieplne budynku dla skrajnych temperatur zewnętrznych. Dla nowoczesnego domu 150 m² o współczynniku przenikania 50 W/m², wartość ta wynosi średnio 7,5 kW.
                </p>
                <div class="rk-proc-math">Q_p = Powierzchnia × Izolacja / 1000</div>
            </div>

            <div class="rk-proc-step">
                <h4 class="rk-proc-title"><span class="rk-proc-badge">2</span> Kalkulacja mocy nominalnej kotła z zapasem na CWU</h4>
                <p class="rk-proc-text">
                    Wyznaczamy moc znamionową kotła, uwzględniając sprawność przesyłu (mnożnik 1.15) oraz zapas na przygotowanie ciepłej wody użytkowej (przyjmuje się ok. 0.1 kW na osobę, wg normy 0.4 kW dla 4 osób). Dobieramy najbliższy katalogowo model kotła.
                </p>
                <div class="rk-proc-math">Q_kotła = Q_p × 1.15 + (Liczba_osób × 0.1) kW</div>
            </div>

            <div class="rk-proc-step">
                <h4 class="rk-proc-title"><span class="rk-proc-badge">3</span> Obliczenie minimalnej objętości bufora</h4>
                <p class="rk-proc-text">
                    Obliczamy minimalną pojemność wodną bufora zgodnie z załącznikiem do normy <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" class="rk-link">PN-EN 303-5</a>, stosując uproszczony przelicznik dla biomasy, który wynosi minimum 60 litrów na każdy kW mocy znamionowej kotła.
                </p>
                <div class="rk-proc-math">V_b = Q_kotła × 60 l/kW</div>
            </div>

            <div class="rk-proc-step">
                <h4 class="rk-proc-title"><span class="rk-proc-badge">4</span> Objętość wodna instalacji podłogowej</h4>
                <p class="rk-proc-text">
                    Wyznaczamy całkowitą pojemność wodną wylewki, bazując na średniej długości <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/" class="rk-link">rury 16x2 mm</a>. Przy rozstawie co 15 cm zużywamy ok. 6,6 metra rury na m². Każdy metr bieżący tej rury mieści dokładnie 0,113 litra wody.
                </p>
                <div class="rk-proc-math">V_podł = Powierzchnia × 6.6 m/m² × 0.113 l/m</div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-calc2-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 20px; font-weight: 900; color: #ef4444; margin-bottom: 10px; text-transform: uppercase;">Zablokowany Algorytm Inżynierski</div>
                    <div style="font-size: 15px; color: #cbd5e1; max-width: 600px; margin: 0 auto; line-height: 1.6;">
                        Moduł obliczeniowy doboru maszynowni oraz struktura JSON-LD stanowią własność Projekt-Ogrzewania.pl. Uruchomienie zablokowane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Kalkulatora
    const sliderArea = document.getElementById('rk-slider-area');
    const sliderIso = document.getElementById('rk-slider-iso');
    const sliderPpl = document.getElementById('rk-slider-ppl');
    
    const valArea = document.getElementById('rk-val-area');
    const valIso = document.getElementById('rk-val-iso');
    const valPpl = document.getElementById('rk-val-ppl');

    // Outputs
    const outOzc = document.getElementById('rk-out-ozc');
    const outBoiler = document.getElementById('rk-out-boiler');
    const outBuffer = document.getElementById('rk-out-buffer');
    const outFloor = document.getElementById('rk-out-floor');
    
    // SVG Outputs
    const svgOzc = document.getElementById('rk-svg-ozc');
    const svgBoiler = document.getElementById('rk-svg-boiler');
    const svgBuffer = document.getElementById('rk-svg-buffer');
    const svgFloor = document.getElementById('rk-svg-floor');

    function updateCalculations() {
        let area = parseFloat(sliderArea.value);
        let iso = parseFloat(sliderIso.value);
        let ppl = parseFloat(sliderPpl.value);

        // Update Labels
        valArea.innerText = area + " m²";
        valIso.innerText = iso + " W/m²";
        valPpl.innerText = ppl;

        // Krok 1: OZC (kW)
        let q_p = (area * iso) / 1000;
        let q_p_str = q_p.toFixed(1) + " kW";
        outOzc.innerText = q_p_str;
        svgOzc.textContent = q_p_str;

        // Krok 2: Kocioł (kW)
        let q_kotla = (q_p * 1.15) + (ppl * 0.1);
        let q_kotla_str = q_kotla.toFixed(1) + " kW";
        outBoiler.innerText = q_kotla_str;
        svgBoiler.textContent = q_kotla_str;

        // Krok 3: Bufor (L) -> 60 litrów na każdy kW
        let v_b = Math.round(q_kotla * 60);
        let v_b_str = v_b + " L";
        outBuffer.innerText = v_b_str;
        svgBuffer.textContent = v_b_str;

        // Krok 4: Podłoga (L) -> Zakładamy rozstaw 15cm (6.6m/m2), rura 16x2 (0.113 l/m)
        let v_floor = Math.round(area * 6.6 * 0.113);
        let v_floor_str = v_floor + " L";
        outFloor.innerText = v_floor_str;
        svgFloor.textContent = v_floor_str;
    }

    sliderArea.addEventListener('input', updateCalculations);
    sliderIso.addEventListener('input', updateCalculations);
    sliderPpl.addEventListener('input', updateCalculations);

    // Init
    updateCalculations();
});
</script>



<style>
:root {
    --rk-dsgn-dark: #0f172a;
    --rk-dsgn-card: #ffffff;
    --rk-dsgn-brand: #2563eb; /* Inżynierski Niebieski */
    --rk-dsgn-brand-light: #eff6ff;
    --rk-dsgn-accent: #f59e0b; /* Akcent Pelletu */
    --rk-dsgn-edge: #8b5cf6; /* Strefa brzegowa */
    --rk-dsgn-danger: #ef4444; /* Alert hydrauliczny */
    --rk-dsgn-danger-light: #fef2f2;
    --rk-dsgn-bg: #f8fafc;
    --rk-dsgn-border: #cbd5e1;
    --rk-dsgn-text: #334155;
    --rk-dsgn-muted: #64748b;
}

.rk-dsgn-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    background: var(--rk-dsgn-card);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(37, 99, 235, 0.15);
    border: 1px solid rgba(37, 99, 235, 0.3);
    overflow: hidden;
}

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

.rk-dsgn-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(37, 99, 235, 0.2);
    color: #93c5fd;
    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(147, 197, 253, 0.3);
}

.rk-dsgn-h2 {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.rk-dsgn-h2 span { color: #60a5fa; }

.rk-dsgn-paragraph {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

.rk-dsgn-paragraph strong { color: #ffffff; }

/* Moduł Interaktywny */
.rk-dsgn-interactive {
    padding: 40px 50px;
    background: var(--rk-dsgn-bg);
}

.rk-dsgn-h3 {
    text-align: center;
    font-size: 22px;
    color: var(--rk-dsgn-dark);
    margin: 0 0 30px 0;
    font-weight: 800;
}

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

/* Kontrolki (Lewa kolumna) */
.rk-dsgn-controls {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

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

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

.rk-ctrl-label {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-dsgn-muted);
    text-transform: uppercase;
}

.rk-ctrl-val {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-dsgn-brand);
    background: var(--rk-dsgn-brand-light);
    padding: 4px 12px;
    border-radius: 8px;
}

.rk-dsgn-range {
    width: 100%;
    -webkit-appearance: none;
    height: 8px;
    background: linear-gradient(to right, #93c5fd 0%, #2563eb 100%);
    border-radius: 4px;
    outline: none;
    transition: background 0.3s;
}

.rk-dsgn-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #ffffff;
    border: 3px solid var(--rk-dsgn-brand);
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
.rk-dsgn-range:active::-webkit-slider-thumb { transform: scale(1.1); }

.rk-dsgn-range.danger-mode { background: linear-gradient(to right, #2563eb 66%, #ef4444 100%); }
.rk-dsgn-range.danger-mode::-webkit-slider-thumb { border-color: var(--rk-dsgn-danger); }

/* Przełącznik Stref */
.rk-zone-toggle {
    display: flex;
    background: #f1f5f9;
    border-radius: 12px;
    padding: 4px;
    position: relative;
}

.rk-zone-btn {
    flex: 1;
    padding: 10px;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-dsgn-muted);
    cursor: pointer;
    border-radius: 8px;
    transition: all 0.3s;
    z-index: 1;
}

.rk-zone-btn.active {
    color: #ffffff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.rk-zone-btn[data-zone="std"].active { background: var(--rk-dsgn-brand); }
.rk-zone-btn[data-zone="edge"].active { background: var(--rk-dsgn-edge); }

/* Wyniki (Prawa Kolumna) */
.rk-dsgn-results {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-res-card {
    background: #ffffff;
    border: 1px solid var(--rk-dsgn-border);
    border-radius: 12px;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s;
}

.rk-res-card.warn-card {
    background: var(--rk-dsgn-danger-light);
    border-color: #fca5a5;
}

.rk-res-label { font-size: 14px; font-weight: 700; color: var(--rk-dsgn-text); }
.rk-res-val { font-size: 20px; font-weight: 900; color: var(--rk-dsgn-dark); }
.warn-card .rk-res-val { color: var(--rk-dsgn-danger); }

/* Zastępczy Panel Danych Technicznych (Dark Mode) */
.rk-dsgn-data-box {
    background: #0f172a;
    border-radius: 16px;
    padding: 25px;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
    border: 1px solid #334155;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 15px;
    transition: border-color 0.3s;
}

.rk-data-box-title {
    color: #93c5fd;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 800;
    margin: 0 0 5px 0;
    letter-spacing: 1px;
    transition: color 0.3s;
}

.rk-data-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px dashed #334155;
    padding-bottom: 10px;
}
.rk-data-row:last-child { border-bottom: none; padding-bottom: 0; }

.rk-data-row span {
    color: #cbd5e1;
    font-size: 14px;
}

.rk-data-row strong {
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
}

/* Stany Awaryjne dla Panelu Danych */
.state-jam.rk-dsgn-data-box { border-color: #ef4444; }
.state-jam .rk-data-box-title { color: #ef4444; }
.state-jam .rk-data-row strong { color: #fca5a5; }

/* CTA Section */
.rk-dsgn-cta {
    background: #ffffff;
    padding: 45px 50px;
    text-align: center;
    border-top: 1px solid var(--rk-dsgn-border);
}

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

.rk-cta-p {
    font-size: 16px;
    color: var(--rk-dsgn-muted);
    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-dsgn-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(37, 99, 235, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-btn-massive:hover {
    transform: translateY(-5px);
    background: #1d4ed8;
    box-shadow: 0 20px 35px -5px rgba(37, 99, 235, 0.5);
}

.rk-btn-massive svg { transition: transform 0.3s; }
.rk-btn-massive:hover svg { transform: translateX(5px); }

.rk-link {
    color: var(--rk-dsgn-brand);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 2px dashed rgba(37, 99, 235, 0.4);
    transition: all 0.3s;
}
.rk-link:hover { border-bottom-style: solid; color: #1e3a8a; }

@media (max-width: 768px) {
    .rk-dsgn-header, .rk-dsgn-interactive, .rk-dsgn-cta { padding: 30px 20px; }
    .rk-dsgn-grid { grid-template-columns: 1fr; }
    .rk-dsgn-h2 { font-size: 26px; }
    .rk-btn-massive { width: 100%; padding: 18px 20px; font-size: 16px; }
    .rk-res-card { 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/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/"
    },
    "headline": "Jak kocioł na pellet wpływa na projekt ogrzewania podłogowego?",
    "description": "Zasady projektowania instalacji płaszczyznowych. Wpływ długości pętli na opory hydrauliczne i dobór pompy obiegowej z regulacją Δp-v lub Δp-c.",
    "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-26",
    "dateModified": "2026-05-26"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/#dataset",
    "name": "Parametry projektowe instalacji płaszczyznowych (2026)",
    "description": "Zestawienie inżynierskie opisujące korelacje między rozstawem rur, długością pętli a oporami hydraulicznymi pompy obiegowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projektowe obciążenie cieplne ozc",
      "rozstaw rur w ogrzewaniu podłogowym",
      "strefa brzegowa podłogówki",
      "maksymalna długość pętli",
      "pompa obiegowa Δp-v"
    ],
    "measurementTechnique": "Algorytm oparty na normie PN-EN 12831 (OZC), wyznaczający straty ciśnienia (kPa) w rurach wielowarstwowych 16x2 mm.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Strefa mieszkalna: Rozstaw 10 - 15 cm.",
        "Strefa brzegowa: Zagęszczenie 7.5 - 10 cm na szer. 1m.",
        "Maksymalna długość pętli: 100m. Przekroczenie generuje opór >20 kPa (martwe strefy)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/#webapp",
    "name": "Symulator Pętli i Oporów Hydraulicznych",
    "description": "Interaktywne narzędzie dla instalatorów i inwestorów symulujące narastanie oporów hydraulicznych pompy wraz ze wzrostem długości pętli grzewczej i zagęszczenia rur.",
    "applicationCategory": "EngineeringSimulator",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5 Range Inputs, and CSS transitions.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dsgn-container" id="rk-dsgn-app">
    <div class="rk-dsgn-header">
        <div class="rk-dsgn-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="M12 20h9"></path><path d="M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z"></path></svg>
            Wytyczne Projektowe
        </div>
        <h2 class="rk-dsgn-h2">Jak to wpływa na projekt <span>ogrzewania podłogowego?</span></h2>
        <p class="rk-dsgn-paragraph">
            Integracja kotła na pellet z systemem podłogowym wymusza restrykcyjne podejście do fazy projektowej, gdzie fundamentalnym dokumentem wyjściowym jest <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" class="rk-link" style="color:#93c5fd;">Projektowe Obciążenie Cieplne (OZC)</a> sporządzone wg normy PN-EN 12831. Charakterystyka źródła stałopalnego wyklucza projektowanie instalacji "na oko".
        </p>
    </div>

    <div class="rk-dsgn-interactive">
        <h3 class="rk-dsgn-h3">Limity Hydrauliczne: Sprawdź swój projekt</h3>
        
        <div class="rk-dsgn-grid">
            
            <div class="rk-dsgn-controls">
                
                <div class="rk-ctrl-box">
                    <div class="rk-ctrl-header">
                        <div class="rk-ctrl-label">Rodzaj Strefy Projektowej</div>
                    </div>
                    <div class="rk-zone-toggle">
                        <div class="rk-zone-btn active" data-zone="std" id="btn-zone-std">Mieszkalna (15cm)</div>
                        <div class="rk-zone-btn" data-zone="edge" id="btn-zone-edge">Brzegowa (10cm)</div>
                    </div>
                    <p style="font-size:12px; color:#64748b; margin-top:10px; line-height:1.5;">
                        Ze względu na obniżenie zasilania, <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" class="rk-link">rozstaw rur</a> w strefach mieszkalnych projektuje się co 10-15 cm, a w <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/" class="rk-link">strefach brzegowych</a> zagęszcza do 7,5-10 cm.
                    </p>
                </div>

                <div class="rk-ctrl-box">
                    <div class="rk-ctrl-header">
                        <div class="rk-ctrl-label">Długość pojedynczej pętli</div>
                        <div class="rk-ctrl-val" id="rk-val-len">80 m</div>
                    </div>
                    <input type="range" id="rk-slider-len" class="rk-dsgn-range" min="30" max="150" step="5" value="80">
                    <p style="font-size:12px; color:#64748b; margin-top:10px; line-height:1.5;">
                        <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/" class="rk-link">Maksymalna długość pętli</a> dla rury 16 mm to bezwzględnie 100m. Przekroczenie niszczy przepływ.
                    </p>
                </div>

            </div>

            <div class="rk-dsgn-results">
                
                <div class="rk-dsgn-data-box" id="rk-data-wrap">
                    <h4 class="rk-data-box-title">Parametry Hydrauliczne Pętli</h4>
                    <div class="rk-data-row">
                        <span>Zalecany tryb pompy:</span>
                        <strong id="rk-val-pump">Δp-c (Stałociśnieniowy)</strong>
                    </div>
                    <div class="rk-data-row">
                        <span>Szacowana prędkość wody:</span>
                        <strong id="rk-val-vel">0.25 m/s</strong>
                    </div>
                    <div class="rk-data-row">
                        <span>Wydajność cieplna pętli:</span>
                        <strong id="rk-val-power">~720 W</strong>
                    </div>
                </div>

                <div class="rk-res-card" id="rk-card-press">
                    <div class="rk-res-label">Opór hydrauliczny pompy</div>
                    <div class="rk-res-val" id="rk-val-press">16.0 kPa</div>
                </div>

                <div class="rk-res-card" id="rk-card-status">
                    <div class="rk-res-label">Status Przepływu (Δp-v / Δp-c)</div>
                    <div class="rk-res-val" id="rk-val-status" style="color:#10b981; font-size:16px;">Norma. Pompa radzi sobie.</div>
                </div>

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

    <div class="rk-dsgn-cta">
        <h3 class="rk-cta-h3">Nie ryzykuj "martwych stref" w swoim domu</h3>
        <p class="rk-cta-p">
            Błędy w obliczeniach oporów lub rozstawie rur mszczą się przez dekady. <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/" class="rk-link">Źle dobrana pompa obiegowa</a> lub zbyt długa pętla oznacza zimną podłogę, której nie da się naprawić po wylaniu betonu.
        </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"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>
        </a>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-dsgn-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 20px; font-weight: 900; color: #ef4444; margin-bottom: 10px; text-transform: uppercase;">Zablokowano Kod Inżynierski</div>
                    <div style="font-size: 15px; color: #cbd5e1; max-width: 600px; margin: 0 auto; line-height: 1.6;">
                        Próba osadzenia kalkulatora oporów hydraulicznych poza domeną docelową. Warstwa JSON-LD i skrypty zostały wyłączone.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora
    const sliderLen = document.getElementById('rk-slider-len');
    const valLen = document.getElementById('rk-val-len');
    
    const btnZoneStd = document.getElementById('btn-zone-std');
    const btnZoneEdge = document.getElementById('btn-zone-edge');
    let currentZone = 'std';

    const cardPress = document.getElementById('rk-card-press');
    const valPress = document.getElementById('rk-val-press');
    const cardStatus = document.getElementById('rk-card-status');
    const valStatus = document.getElementById('rk-val-status');

    // Dynamiczne parametry panelu zastępczego
    const dataWrap = document.getElementById('rk-data-wrap');
    const valPump = document.getElementById('rk-val-pump');
    const valVel = document.getElementById('rk-val-vel');
    const valPower = document.getElementById('rk-val-power');

    // Obsługa przycisków strefy
    btnZoneStd.addEventListener('click', function() {
        currentZone = 'std';
        btnZoneStd.classList.add('active');
        btnZoneEdge.classList.remove('active');
        updateCalc();
    });

    btnZoneEdge.addEventListener('click', function() {
        currentZone = 'edge';
        btnZoneEdge.classList.add('active');
        btnZoneStd.classList.remove('active');
        updateCalc();
    });

    // Kalkulacja i update UI
    function updateCalc() {
        let length = parseInt(sliderLen.value);
        valLen.innerText = length + " m";

        // Uproszczony model oporu: 1m rury = 0.2 kPa oporu.
        // Jeśli strefa brzegowa (gęściej), opór lekko rośnie (mnożnik 1.15) z uwagi na ostrzejsze zagięcia
        let multiplier = (currentZone === 'edge') ? 1.15 : 1.0;
        let pressure = length * 0.2 * multiplier;
        valPress.innerText = pressure.toFixed(1) + " kPa";

        if (length > 100) {
            // AWARIA (Przekroczenie 100m)
            sliderLen.classList.add('danger-mode');
            cardPress.classList.add('warn-card');
            cardStatus.classList.add('warn-card');
            
            valStatus.innerText = "BŁĄD: Zbyt duży opór (>20kPa). Martwe strefy!";
            valStatus.style.color = "var(--rk-dsgn-danger)";
            
            // Aktualizacja panelu danych dla awarii
            dataWrap.classList.add('state-jam');
            valPump.innerText = "AWARIA ZASILANIA";
            valVel.innerText = "< 0.1 m/s (Zadławienie)";
            valPower.innerText = "Spadek mocy grzewczej";
            
        } else {
            // NORMA
            sliderLen.classList.remove('danger-mode');
            cardPress.classList.remove('warn-card');
            cardStatus.classList.remove('warn-card');
            
            valStatus.innerText = "Norma. Pompa obiegowa radzi sobie.";
            valStatus.style.color = "#10b981"; // Sukces
            
            // Aktualizacja panelu danych dla normy
            dataWrap.classList.remove('state-jam');
            
            let power = (currentZone === 'std') ? (length / 6.6) * 60 : (length / 10) * 85;
            let velocity = 0.15 + (length / 500);
            
            valPump.innerText = "Δp-c (Stałociśnieniowy)";
            valVel.innerText = velocity.toFixed(2) + " m/s";
            valPower.innerText = "~" + Math.round(power) + " W";
        }
    }

    sliderLen.addEventListener('input', updateCalc);

    // Inicjalizacja
    updateCalc();
});
</script>



<style>
:root {
    --rk-cs-dark: #0f172a;
    --rk-cs-card: #ffffff;
    --rk-cs-brand: #d97706; /* Pellet Gold/Amber */
    --rk-cs-brand-light: #fef3c7;
    --rk-cs-blue: #3b82f6; /* Inżynierski błękit */
    --rk-cs-green: #10b981; /* Oszczędności / Eko */
    --rk-cs-bg: #f8fafc;
    --rk-cs-border: #e2e8f0;
    --rk-cs-text: #334155;
    --rk-cs-muted: #64748b;
}

.rk-cs-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    background: var(--rk-cs-card);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(217, 119, 6, 0.15);
    border: 1px solid rgba(217, 119, 6, 0.3);
    overflow: hidden;
}

/* Nagłówek i Wstęp */
.rk-cs-header {
    background: linear-gradient(135deg, var(--rk-cs-dark) 0%, #291502 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-cs-brand);
}

.rk-cs-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(217, 119, 6, 0.2);
    color: #fcd34d;
    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(217, 119, 6, 0.3);
}

.rk-cs-h2 {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.rk-cs-h2 span { color: var(--rk-cs-brand); }

.rk-cs-paragraph {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 0 15px 0;
}

.rk-cs-paragraph:last-child { margin-bottom: 0; }

.rk-cs-quote {
    border-left: 4px solid var(--rk-cs-brand);
    padding-left: 20px;
    margin: 25px 0;
    font-style: italic;
    color: #e2e8f0;
    background: rgba(255,255,255,0.05);
    padding: 20px;
    border-radius: 0 12px 12px 0;
}

/* Interaktywny Dashboard */
.rk-cs-interactive {
    padding: 40px 50px;
    background: var(--rk-cs-bg);
}

.rk-cs-h3 {
    text-align: center;
    font-size: 22px;
    color: var(--rk-cs-dark);
    margin: 0 0 30px 0;
    font-weight: 800;
}

/* Nawigacja Tabs */
.rk-cs-tabs {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 35px;
    background: #ffffff;
    padding: 8px;
    border-radius: 100px;
    border: 1px solid var(--rk-cs-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-cs-tab-btn {
    flex: 1;
    padding: 12px 20px;
    text-align: center;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-cs-muted);
    cursor: pointer;
    border-radius: 99px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: none;
    background: transparent;
}

.rk-cs-tab-btn:hover { color: var(--rk-cs-dark); background: #f1f5f9; }
.rk-cs-tab-btn.active { color: #ffffff; background: var(--rk-cs-brand); box-shadow: 0 4px 12px rgba(217, 119, 6, 0.3); }

/* Grid Zawartości */
.rk-cs-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 30px;
}

/* Panele Danych */
.rk-cs-panel {
    display: none;
    animation: fadeIn 0.5s ease;
}

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

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

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

.rk-data-card {
    background: #ffffff;
    border: 1px solid var(--rk-cs-border);
    padding: 18px;
    border-radius: 16px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    transition: transform 0.3s, border-color 0.3s;
}

.rk-data-card:hover { transform: translateY(-2px); border-color: var(--rk-cs-brand); }

.rk-data-card.full-width { grid-column: 1 / -1; }

.rk-data-label {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-cs-muted);
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.rk-data-val {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-cs-dark);
}

.rk-data-val span { font-size: 14px; font-weight: 700; color: var(--rk-cs-muted); }
.val-highlight { color: var(--rk-cs-brand); font-size: 24px; }
.val-success { color: var(--rk-cs-green); font-size: 24px; }

/* SVG Box */
.rk-cs-svg-box {
    background: #0f172a;
    border-radius: 20px;
    padding: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: inset 0 0 25px rgba(0,0,0,0.5);
    border: 1px solid #334155;
    position: relative;
    overflow: hidden;
}

.rk-svg-layer {
    width: 100%;
    height: auto;
    max-width: 300px;
    display: none;
    animation: scaleIn 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.rk-svg-layer.active { display: block; }

@keyframes scaleIn { from { transform: scale(0.9); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* Animacje SVG wewnątrz warstw */
.anim-heat-wave { stroke-dasharray: 5 10; animation: flowUp 2s linear infinite; stroke: #fcd34d; }
.anim-pellet-drop { animation: dropPellet 1.5s infinite linear; fill: #d97706; }
.anim-coin-spin { transform-origin: center; animation: spinY 3s infinite linear; }
.anim-chart-bar { transform-origin: bottom; animation: growBar 1s ease-out forwards; }

@keyframes flowUp { to { stroke-dashoffset: -30; } }
@keyframes dropPellet { 0% { opacity: 0; transform: translateY(-10px); } 20% { opacity: 1; } 100% { transform: translateY(40px); opacity: 0; } }
@keyframes spinY { 0% { transform: rotateY(0deg); } 100% { transform: rotateY(360deg); } }
@keyframes growBar { from { transform: scaleY(0); } to { transform: scaleY(1); } }

.rk-link {
    color: var(--rk-cs-brand);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 2px dashed rgba(217, 119, 6, 0.4);
    transition: all 0.3s;
}
.rk-link:hover { border-bottom-style: solid; color: #b45309; }

@media (max-width: 768px) {
    .rk-cs-header, .rk-cs-interactive { padding: 30px 20px; }
    .rk-cs-grid { grid-template-columns: 1fr; }
    .rk-cs-h2 { font-size: 26px; }
    .rk-cs-tabs { flex-direction: column; border-radius: 16px; padding: 10px; }
    .rk-cs-tab-btn { border-radius: 8px; padding: 15px; }
    .rk-data-grid { grid-template-columns: 1fr; }
    .rk-cs-svg-box { min-height: 200px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/"
    },
    "headline": "Case Study: Analiza techniczna rzeczywistej inwestycji z kotłem na pellet",
    "description": "Realne wyniki zużycia pelletu i kosztów ogrzewania dla domu 164 m2. Analiza zrównoważenia hydraulicznego, pracy bufora 600L i systemu podłogowego w sezonie 2025/2026.",
    "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-26",
    "dateModified": "2026-05-26"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#dataset-casestudy",
    "name": "Bilans energetyczny domu 164 m2 z kotłem na pellet (Sezon 2025/2026)",
    "description": "Zestawienie wskaźników operacyjnych maszynowni pelletowej: zużycie biomasy, czas cyklu palnika, koszty ogrzewania PLN oraz obciążenie OZC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zużycie pelletu dom 160m2",
      "koszt ogrzewania pelletem 2026",
      "kocioł na pellet z buforem opinie",
      "sprawność kotła kondensacyjnego na pellet",
      "temperatura zasilania podłogówki przy mrozach"
    ],
    "measurementTechnique": "Odczyty z ciepłomierza oraz weryfikacja bilansu zakupowego paliwa (faktury) po pełnym sezonie grzewczym w III strefie klimatycznej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "OZC budynku: 7,8 kW (164,2 m², EPS 20cm lambda 0.031).",
        "Maszynownia: Kocioł kondensacyjny 10 kW, Bufor 600L.",
        "Zużycie roczne: 3840 kg pelletu ENplus A1.",
        "Koszt roczny (CO + CWU): 4416 PLN (1150 PLN/t).",
        "Cykl palnika: średnio 5,2 godziny (brak taktowania)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#webapp-casestudy",
    "name": "Interaktywny Audyt Inwestycji",
    "description": "Eksplorator danych technicznych prezentujący za pomocą grafiki SVG parametry budynku, konfigurację maszynowni oraz realne koszty eksploatacyjne ogrzewania pelletem.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and SVG animation support.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cs-container" id="rk-cs-app">
    <div class="rk-cs-header">
        <div class="rk-cs-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="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 (Sezon 2025/2026)
        </div>
        <h2 class="rk-cs-h2">Analiza techniczna <span>rzeczywistej inwestycji</span></h2>
        
        <div class="rk-cs-quote">
            <strong>Realny przypadek inżynierski z mojej praktyki projektowej:</strong> W październiku 2025 roku sfinalizowałem nadzór nad realizacją systemu grzewczego u inwestora pana Janusza w miejscowości Skała koło Krakowa. Przedmiotem opracowania był wolnostojący, piętrowy dom jednorodzinny o powierzchni użytkowej 164,2 m², wybudowany w technologii tradycyjnej (pustak ceramiczny + 20 cm grafitowego <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/" style="color:#fcd34d;">styropianu o współczynniku 0,031 W/(m·K)</a>), bez podpiwniczenia.
        </div>
        
        <p class="rk-cs-paragraph">
            W obiekcie zaprojektowano 100% ogrzewania podłogowego w systemie mokrym (<a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/" style="color:#93c5fd;">jastrych cementowy</a> z plastyfikatorem, grubość 6,5 cm). <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" style="color:#93c5fd;">Obliczeniowe zapotrzebowanie na moc cieplną (OZC)</a> wg PN-EN 12831 wyniosło dokładnie <strong>Q = 7,8 kW</strong> przy temperaturze projektowej -20°C.
        </p>
    </div>

    <div class="rk-cs-interactive">
        <h3 class="rk-cs-h3">Podsumowanie pełnego sezonu grzewczego</h3>
        
        <div class="rk-cs-tabs">
            <button class="rk-cs-tab-btn active" data-target="panel-bldg">1. Maszynownia</button>
            <button class="rk-cs-tab-btn" data-target="panel-ctrl">2. Zrównoważenie</button>
            <button class="rk-cs-tab-btn" data-target="panel-cost">3. Wyniki i Koszty</button>
        </div>

        <div class="rk-cs-grid">
            
            <div class="rk-cs-data-wrapper">
                
                <div class="rk-cs-panel active" id="panel-bldg">
                    <div class="rk-data-grid">
                        <div class="rk-data-card full-width">
                            <div class="rk-data-label">Źródło ciepła</div>
                            <div class="rk-data-val">Kocioł na pellet 10 kW</div>
                            <p style="font-size:13px; color:var(--rk-cs-muted); margin:5px 0 0 0;">Kompaktowy, kondensacyjny ze sprawnością 103,4% (w odniesieniu do wartości opałowej).</p>
                        </div>
                        <div class="rk-data-card">
                            <div class="rk-data-label">Bufor ciepła</div>
                            <div class="rk-data-val"><a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" class="rk-link" style="color:inherit;">600 Litrów</a></div>
                            <p style="font-size:13px; color:var(--rk-cs-muted); margin:5px 0 0 0;">Z wbudowaną wężownicą INOX do CWU.</p>
                        </div>
                        <div class="rk-data-card">
                            <div class="rk-data-label">Cykl palnika</div>
                            <div class="rk-data-val">5,2 godziny</div>
                            <p style="font-size:13px; color:var(--rk-cs-muted); margin:5px 0 0 0;">Brak śladów niszczącego taktowania.</p>
                        </div>
                    </div>
                </div>

                <div class="rk-cs-panel" id="panel-ctrl">
                    <div class="rk-data-grid">
                        <div class="rk-data-card full-width">
                            <div class="rk-data-label">Rozdzielacz i Regulacja</div>
                            <div class="rk-data-val">12-sekcyjny (Algorytm TPI)</div>
                            <p style="font-size:13px; color:var(--rk-cs-muted); margin:5px 0 0 0;">Wyposażony w <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/" class="rk-link">rotametry</a> (0,5-5,0 l/min) i siłowniki termoelektryczne. System w 100% zrównoważony hydraulicznie.</p>
                        </div>
                        <div class="rk-data-card">
                            <div class="rk-data-label">Temp. zasilania max</div>
                            <div class="rk-data-val">36,5 °C</div>
                            <p style="font-size:13px; color:var(--rk-cs-muted); margin:5px 0 0 0;">Zanotowana przy mrozach dochodzących do -12°C.</p>
                        </div>
                        <div class="rk-data-card">
                            <div class="rk-data-label">Akumulacja wylewki</div>
                            <div class="rk-data-val">Wysoka</div>
                            <p style="font-size:13px; color:var(--rk-cs-muted); margin:5px 0 0 0;">Brak odczuwalnych wahań temperatury w pokojach.</p>
                        </div>
                    </div>
                </div>

                <div class="rk-cs-panel" id="panel-cost">
                    <div class="rk-data-grid">
                        <div class="rk-data-card full-width">
                            <div class="rk-data-label">Roczny koszt (CO + CWU)</div>
                            <div class="rk-data-val val-success">4 416 PLN</div>
                            <p style="font-size:13px; color:var(--rk-cs-muted); margin:5px 0 0 0;">Potwierdzone odczytami z ciepłomierza i fakturami na koniec kwietnia 2026 r.</p>
                        </div>
                        <div class="rk-data-card">
                            <div class="rk-data-label">Zużycie Paliwa</div>
                            <div class="rk-data-val val-highlight">3 840 kg</div>
                            <p style="font-size:13px; color:var(--rk-cs-muted); margin:5px 0 0 0;">Pellet drzewny certyfikowany w klasie ENplus A1.</p>
                        </div>
                        <div class="rk-data-card">
                            <div class="rk-data-label">Cena zakupu</div>
                            <div class="rk-data-val">1 150 <span>PLN/t</span></div>
                            <p style="font-size:13px; color:var(--rk-cs-muted); margin:5px 0 0 0;">Średnia cena zakupu w sezonie 2025/2026.</p>
                        </div>
                    </div>
                </div>

            </div>

            <div class="rk-cs-svg-box">
                
                <svg class="rk-svg-layer active" id="svg-bldg" viewBox="0 0 200 200">
                    <rect x="20" y="80" width="50" height="90" fill="#334155" rx="4"/>
                    <circle class="anim-pellet-drop" cx="40" cy="50" r="4"/>
                    <circle class="anim-pellet-drop" cx="50" cy="40" r="4" style="animation-delay:0.5s;"/>
                    <circle class="anim-pellet-drop" cx="45" cy="60" r="4" style="animation-delay:1s;"/>
                    <path d="M45 150 C30 150, 25 120, 45 100 C65 120, 60 150, 45 150 Z" fill="#ea580c"/>
                    <rect x="110" y="40" width="60" height="130" fill="#1e293b" stroke="#3b82f6" stroke-width="3" rx="12"/>
                    <path d="M70 120 L110 120 M70 140 L110 140" fill="none" stroke="#ef4444" stroke-width="4"/>
                    <text x="140" y="110" fill="#60a5fa" font-size="20" font-weight="bold" text-anchor="middle">600 L</text>
                </svg>

                <svg class="rk-svg-layer" id="svg-ctrl" viewBox="0 0 200 200">
                    <path d="M20 100 L100 30 L180 100 L180 180 L20 180 Z" fill="none" stroke="#64748b" stroke-width="4" stroke-linejoin="round"/>
                    <path class="anim-heat-wave" d="M40 160 L160 160 M40 140 L160 140 M40 120 L160 120" fill="none" stroke-width="6" stroke-linecap="round"/>
                    <rect x="80" y="60" width="40" height="30" fill="#1e293b" stroke="#0ea5e9" stroke-width="2" rx="4"/>
                    <text x="100" y="80" fill="#0ea5e9" font-size="14" font-weight="bold" text-anchor="middle">36.5°</text>
                </svg>

                <svg class="rk-svg-layer" id="svg-cost" viewBox="0 0 200 200">
                    <rect x="30" y="160" width="140" height="4" fill="#64748b"/>
                    <rect class="anim-chart-bar" x="50" y="100" width="30" height="60" fill="#3b82f6"/>
                    <rect class="anim-chart-bar" x="120" y="60" width="30" height="100" fill="#10b981" style="animation-delay:0.3s;"/>
                    <g class="anim-coin-spin" style="transform-origin: 135px 35px;">
                        <circle cx="135" cy="35" r="20" fill="#fcd34d" stroke="#d97706" stroke-width="3"/>
                        <text x="135" y="41" fill="#d97706" font-size="16" font-weight="bold" text-anchor="middle">PLN</text>
                    </g>
                    <text x="65" y="90" fill="#94a3b8" font-size="14" font-weight="bold" text-anchor="middle">3.8t</text>
                </svg>

            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-cs-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 20px; font-weight: 900; color: #ef4444; margin-bottom: 10px; text-transform: uppercase;">Zablokowano Kod Audytowy</div>
                    <div style="font-size: 15px; color: #cbd5e1; max-width: 600px; margin: 0 auto; line-height: 1.6;">
                        Case Study inwestycji i dedykowana struktura JSON-LD podlegają ochronie prawnej Projekt-Ogrzewania.pl.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Zakładek (Tabs) i SVG
    const tabBtns = document.querySelectorAll('.rk-cs-tab-btn');
    const panels = document.querySelectorAll('.rk-cs-panel');
    const svgs = document.querySelectorAll('.rk-svg-layer');

    tabBtns.forEach(btn => {
        btn.addEventListener('click', () => {
            // Reset active states
            tabBtns.forEach(b => b.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));
            svgs.forEach(s => s.classList.remove('active'));
            
            // Set new active
            btn.classList.add('active');
            const targetId = btn.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
            
            // Map panel to SVG
            if(targetId === 'panel-bldg') document.getElementById('svg-bldg').classList.add('active');
            if(targetId === 'panel-ctrl') document.getElementById('svg-ctrl').classList.add('active');
            if(targetId === 'panel-cost') document.getElementById('svg-cost').classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-card: #ffffff;
    --rk-err-danger: #ef4444; /* Błąd / Amator */
    --rk-err-danger-bg: #fef2f2;
    --rk-err-success: #10b981; /* Norma / Ekspert */
    --rk-err-success-bg: #ecfdf5;
    --rk-err-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, system-ui, sans-serif;
    background: var(--rk-err-card);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-err-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-err-header {
    background: linear-gradient(135deg, var(--rk-err-dark) 0%, #334155 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-err-danger);
    transition: border-color 0.4s ease;
}

.state-pro .rk-err-header { border-bottom-color: var(--rk-err-success); }

.rk-err-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.1);
    color: #cbd5e1;
    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(255, 255, 255, 0.2);
}

.rk-err-h2 {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.rk-err-h2 span { color: var(--rk-err-danger); transition: color 0.4s ease; }
.state-pro .rk-err-h2 span { color: var(--rk-err-success); }

.rk-err-paragraph {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

/* Interaktywny Symulator */
.rk-err-interactive {
    padding: 40px 50px;
    background: var(--rk-err-bg);
}

.rk-err-h3 {
    text-align: center;
    font-size: 22px;
    color: var(--rk-err-dark);
    margin: 0 0 30px 0;
    font-weight: 800;
}

/* Switcher / Toggle */
.rk-err-toggle-box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
    background: #ffffff;
    padding: 15px 30px;
    border-radius: 100px;
    border: 1px solid var(--rk-err-border);
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}

.rk-err-label {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-err-muted);
    cursor: pointer;
    transition: color 0.3s;
    user-select: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-err-label.active-warn { color: var(--rk-err-danger); }
.rk-err-label.active-pro { color: var(--rk-err-success); }

.rk-err-switch {
    position: relative;
    display: inline-block;
    width: 70px;
    height: 36px;
    flex-shrink: 0;
}

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

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

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

input:checked + .rk-err-slider { background-color: var(--rk-err-success); }
input:checked + .rk-err-slider:before { transform: translateX(34px); }

/* Karty Błędów (Grid) */
.rk-err-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.rk-err-card {
    background: #ffffff;
    border: 2px solid var(--rk-err-border);
    border-radius: 16px;
    padding: 25px 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
}

.state-warn .rk-err-card { border-color: #fca5a5; box-shadow: 0 10px 25px -5px rgba(239, 68, 68, 0.15); }
.state-pro .rk-err-card { border-color: #6ee7b7; box-shadow: 0 10px 25px -5px rgba(16, 185, 129, 0.15); }

/* SVG Canvas w Kartach */
.rk-err-svg-box {
    background: #0f172a;
    border-radius: 12px;
    height: 140px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border: 1px solid #334155;
    overflow: hidden;
}

.rk-svg-item { width: 100%; height: 100%; }

/* Treść Karty */
.rk-err-card-title {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-err-dark);
    margin: 0;
    line-height: 1.4;
    text-align: center;
}

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

.rk-link {
    color: var(--rk-err-dark);
    text-decoration: none;
    font-weight: 800;
    border-bottom: 2px dashed var(--rk-err-muted);
    transition: all 0.3s;
}

.state-warn .rk-link { color: var(--rk-err-danger); border-bottom-color: rgba(239, 68, 68, 0.4); }
.state-pro .rk-link { color: var(--rk-err-success); border-bottom-color: rgba(16, 185, 129, 0.4); }
.rk-link:hover { border-bottom-style: solid; }

/* ================= ANIMACJE SVG ================= */

/* Karta 1: Próba szczelności */
.anim-gauge-needle { transform-origin: 50px 80px; transition: transform 1s cubic-bezier(0.34, 1.56, 0.64, 1); }
.state-warn .anim-gauge-needle { transform: rotate(-45deg); fill: #ef4444; }
.state-pro .anim-gauge-needle { transform: rotate(45deg); fill: #10b981; }

.anim-drop { opacity: 0; }
.state-warn .anim-drop { animation: dropFall 1.5s infinite; fill: #3b82f6; }
.state-pro .anim-drop { display: none; }

@keyframes dropFall { 0% { transform: translateY(0); opacity: 1; } 100% { transform: translateY(30px); opacity: 0; } }

/* Karta 2: Dylatacje */
.anim-crack { stroke-dasharray: 40; stroke-dashoffset: 40; transition: stroke-dashoffset 0.1s; }
.state-warn .anim-crack { stroke-dashoffset: 0; transition: stroke-dashoffset 0.8s 0.2s ease-out; stroke: #ef4444; }

.anim-foam { transform-origin: left; transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1); }
.state-warn .anim-foam { transform: scaleX(0.2); fill: #ef4444; }
.state-pro .anim-foam { transform: scaleX(1); fill: #3b82f6; } /* Pianka brzegowa */

/* Karta 3: Woda (Kamień vs Demineralizowana) */
.anim-scale { transform-origin: center; transition: transform 0.5s; }
.state-warn .anim-scale { transform: scale(1); fill: #d97706; } /* Kamień kotłowy */
.state-pro .anim-scale { transform: scale(0); }

.anim-water-flow { stroke-dasharray: 10 15; stroke-dashoffset: 0; transition: stroke 0.5s; }
.state-warn .anim-water-flow { stroke: #fbbf24; animation: flowSlow 3s linear infinite; }
.state-pro .anim-water-flow { stroke: #3b82f6; animation: flowFast 1s linear infinite; }

@keyframes flowSlow { to { stroke-dashoffset: -25; } }
@keyframes flowFast { to { stroke-dashoffset: -25; } }

/* Responsywność */
@media (max-width: 850px) {
    .rk-err-grid { grid-template-columns: 1fr; }
    .rk-err-header, .rk-err-interactive { padding: 30px 20px; }
    .rk-err-h2 { font-size: 26px; }
    .rk-err-toggle-box { flex-direction: column; gap: 15px; border-radius: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/"
    },
    "headline": "Katalog Krytycznych Błędów Instalacyjnych Ogrzewania Podłogowego",
    "description": "Analiza ekspercka najczęstszych błędów: brak próby ciśnieniowej 6 bar, pominięcie taśm dylatacyjnych oraz użycie twardej wody kranowej zamiast demineralizowanej.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-26",
    "dateModified": "2026-05-26"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#dataset",
    "name": "Klasyfikacja błędów wykonawczych i parametrów krytycznych podłogówki (2026)",
    "description": "Zbiór danych weryfikacyjnych i tolerancji materiałowych dla systemów płaszczyznowych w odniesieniu do normy PN-EN 1264-4.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "próba szczelności podłogówki 6 bar",
      "dylatacja brzegowa ogrzewania",
      "woda demineralizowana w instalacji",
      "pękanie wylewki betonowej",
      "zarastanie rotametrów kamieniem"
    ],
    "measurementTechnique": "Badania organoleptyczne i manometryczne wg norm technicznych, weryfikacja konduktometrem (przewodność <10 µS/cm).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd 1: Zalanie na sucho. Wymóg: Ciśnienie 0.6 MPa przez 24h (PN-EN 1264-4).",
        "Błąd 2: Brak izolacji. Wymóg: Taśma polietylenowa 8 mm, współczynnik rozszerzalności betonu ~0.012 mm/(m*K).",
        "Błąd 3: Woda kranowa. Wymóg: Woda demineralizowana z inhibitorem korozji."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#webapp",
    "name": "Symulator Skutków Błędów Instalacyjnych",
    "description": "Interaktywny audytor instalacji prezentujący za pomocą grafiki wektorowej skutki fizykochemiczne nieprawidłowego montażu (pęknięcia betonu, osadzanie kamienia, wycieki).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and inline SVG support.",
    "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="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"></path><path d="M12 9v4"></path><path d="M12 17h.01"></path></svg>
            Audyt Wykonawczy
        </div>
        <h2 class="rk-err-h2">Najczęstsze błędy instalatorów przy <span>montażu tego układu</span></h2>
        <p class="rk-err-paragraph">
            Oto katalog krytycznych błędów wykonawczych, które najczęściej eliminuję podczas ekspertyz technicznych na inwestycjach w całej Polsce. Te zaniedbania potrafią zniszczyć nawet najlepszy projekt maszynowni.
        </p>
    </div>

    <div class="rk-err-interactive">
        <h3 class="rk-err-h3">Symulacja Odbioru: Jak wykonano instalację?</h3>
        
        <div class="rk-err-toggle-box">
            <span class="rk-err-label active-warn" id="rk-lbl-warn" onclick="document.getElementById('rk-err-toggle').click()">Praktyka "Na Oko" (Amator)</span>
            <label class="rk-err-switch">
                <input type="checkbox" id="rk-err-toggle">
                <span class="rk-err-slider"></span>
            </label>
            <span class="rk-err-label" id="rk-lbl-pro" onclick="document.getElementById('rk-err-toggle').click()">Standard PN-EN (Inżynier)</span>
        </div>

        <div class="rk-err-grid state-warn" id="rk-main-grid">
            
            <div class="rk-err-card">
                <div class="rk-err-svg-box">
                    <svg class="rk-svg-item" viewBox="0 0 100 120">
                        <rect x="30" y="50" width="40" height="20" fill="none" stroke="#475569" stroke-width="4" rx="2"/>
                        <circle cx="50" cy="30" r="18" fill="#1e293b" stroke="#64748b" stroke-width="2"/>
                        <circle cx="50" cy="30" r="2" fill="#fff"/>
                        <path class="anim-gauge-needle" d="M48 30 L50 15 L52 30 Z" fill="#ef4444"/>
                        <path class="anim-drop" d="M45 75 Q50 85 50 85 Q50 85 55 75 Z" fill="#3b82f6"/>
                        <path class="anim-drop" d="M35 70 Q40 80 40 80 Q40 80 45 70 Z" fill="#3b82f6" style="animation-delay:0.5s;"/>
                    </svg>
                </div>
                <h4 class="rk-err-card-title">Zaniechanie próby szczelności</h4>
                <p class="rk-err-card-text" id="rk-txt-1">
                    Zalanie rur "na sucho" grozi ukryciem uszkodzeń mechanicznych. Zgodnie z normą PN-EN 1264-4, <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/" class="rk-link">próbę szczelności</a> wykonuje się pod ciśnieniem 0,6 MPa (6 bar) przez 24h, a betonuje przy minimum 0,3 MPa.
                </p>
            </div>

            <div class="rk-err-card">
                <div class="rk-err-svg-box">
                    <svg class="rk-svg-item" viewBox="0 0 100 120">
                        <rect x="10" y="20" width="15" height="80" fill="#334155"/>
                        <rect class="anim-foam" x="25" y="20" width="10" height="80" fill="#ef4444"/>
                        <rect x="35" y="70" width="60" height="30" fill="#94a3b8" rx="2"/>
                        <path class="anim-crack" d="M45 70 L55 85 L50 100" fill="none" stroke="#ef4444" stroke-width="2"/>
                        <path class="anim-crack" d="M75 70 L70 80 L80 100" fill="none" stroke="#ef4444" stroke-width="2"/>
                    </svg>
                </div>
                <h4 class="rk-err-card-title">Brak izolacji brzegowej</h4>
                <p class="rk-err-card-text" id="rk-txt-2">
                    Brak <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" class="rk-link">taśmy dylatacyjnej</a> (min. 8 mm) lub dylatacji pośrednich (>40 m²) powoduje niekontrolowane pęknięcia. Beton rozszerza się liniowo (współczynnik około 0,012 mm/(m·K)), niszcząc posadzki.
                </p>
            </div>

            <div class="rk-err-card">
                <div class="rk-err-svg-box">
                    <svg class="rk-svg-item" viewBox="0 0 100 120">
                        <rect x="10" y="40" width="80" height="40" fill="none" stroke="#64748b" stroke-width="4"/>
                        <path class="anim-water-flow" d="M10 50 L90 50 M10 60 L90 60 M10 70 L90 70" fill="none" stroke-width="4"/>
                        <circle class="anim-scale" cx="30" cy="45" r="4"/>
                        <circle class="anim-scale" cx="50" cy="75" r="5"/>
                        <circle class="anim-scale" cx="70" cy="45" r="3"/>
                        <circle class="anim-scale" cx="80" cy="75" r="4"/>
                    </svg>
                </div>
                <h4 class="rk-err-card-title">Zwykła woda wodociągowa</h4>
                <p class="rk-err-card-text" id="rk-txt-3">
                    Twarda woda kranowa zrzuca węglan wapnia (kamień kotłowy). Przy zładzie 710 litrów osad trwale blokuje rotametry i odcina wymienniki. Wymagana jest <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/" class="rk-link">woda demineralizowana z inhibitorem</a> (przewodność <10 µS/cm).
                </p>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-err-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 20px; font-weight: 900; color: #ef4444; margin-bottom: 10px; text-transform: uppercase;">Zablokowany Skrypt Audytowy</div>
                    <div style="font-size: 15px; color: #cbd5e1; max-width: 600px; margin: 0 auto; line-height: 1.6;">
                        Interaktywny symulator błędów instalacyjnych i baza wiedzy JSON-LD chronione są prawami Projekt-Ogrzewania.pl. Uruchomienie zablokowane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Toggle Switch
    const toggle = document.getElementById('rk-err-toggle');
    const grid = document.getElementById('rk-main-grid');
    const hdr = document.querySelector('.rk-err-container');
    const lblWarn = document.getElementById('rk-lbl-warn');
    const lblPro = document.getElementById('rk-lbl-pro');

    const t1 = document.getElementById('rk-txt-1');
    const t2 = document.getElementById('rk-txt-2');
    const t3 = document.getElementById('rk-txt-3');

    toggle.addEventListener('change', function() {
        if (this.checked) {
            // STAN: PRO (Zgodne z normą)
            grid.className = 'rk-err-grid state-pro';
            hdr.classList.add('state-pro');
            lblWarn.classList.remove('active-warn');
            lblPro.classList.add('active-pro');
            
            t1.innerHTML = '<strong>Standard:</strong> <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/" class="rk-link">Próba szczelności</a> wykonana manometrem kalibrowanym (6 bar przez 24h). Jastrych zalewany na rurach usztywnionych ciśnieniem min. 3 bary. Pełne bezpieczeństwo.';
            t2.innerHTML = '<strong>Standard:</strong> Gruba na 8 mm pianka polietylenowa oraz poprawne <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" class="rk-link">podziały dylatacyjne</a> (<40 m²) płynnie absorbują naprężenia termiczne pracującej płyty betonu.';
            t3.innerHTML = '<strong>Standard:</strong> Zład napełniony czystą <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/" class="rk-link">wodą demineralizowaną z inhibitorem korozji</a>. Przewodność poniżej 10 µS/cm gwarantuje krystalicznie czyste rotametry i brak osadów.';
            
        } else {
            // STAN: WARN (Błędy)
            grid.className = 'rk-err-grid state-warn';
            hdr.classList.remove('state-pro');
            lblPro.classList.remove('active-pro');
            lblWarn.classList.add('active-warn');
            
            t1.innerHTML = 'Zalanie rur "na sucho" grozi ukryciem uszkodzeń mechanicznych. Zgodnie z normą PN-EN 1264-4, <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/" class="rk-link">próbę szczelności</a> wykonuje się pod ciśnieniem 0,6 MPa (6 bar) przez 24h, a betonuje przy minimum 0,3 MPa.';
            t2.innerHTML = 'Brak <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" class="rk-link">taśmy dylatacyjnej</a> (min. 8 mm) lub dylatacji pośrednich (>40 m²) powoduje niekontrolowane pęknięcia. Beton rozszerza się liniowo (współczynnik około 0,012 mm/(m·K)), niszcząc posadzki.';
            t3.innerHTML = 'Twarda woda kranowa zrzuca węglan wapnia (kamień kotłowy). Przy zładzie 710 litrów osad trwale blokuje rotametry i odcina wymienniki. Wymagana jest <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/" class="rk-link">woda demineralizowana z inhibitorem</a> (przewodność <10 µS/cm).';
        }
    });
});
</script>



<style>
:root {
    --rk-fin-dark: #0f172a;
    --rk-fin-panel: #1e293b;
    --rk-fin-primary: #d97706; /* Bursztyn/Pellet */
    --rk-fin-primary-light: #fef3c7;
    --rk-fin-accent: #0ea5e9; /* Woda/Podłogówka */
    --rk-fin-bg: #f8fafc;
    --rk-fin-border: #e2e8f0;
    --rk-fin-text: #334155;
    --rk-fin-text-dim: #64748b;
}

.rk-fin-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(217, 119, 6, 0.15);
    border: 1px solid rgba(217, 119, 6, 0.3);
    overflow: hidden;
}

/* Header z ekspertem */
.rk-fin-header {
    background: linear-gradient(135deg, var(--rk-fin-dark) 0%, #291502 100%);
    padding: 40px 50px;
    display: flex;
    align-items: center;
    gap: 30px;
    border-bottom: 4px solid var(--rk-fin-primary);
    position: relative;
    overflow: hidden;
}

.rk-fin-header::after {
    content: ''; position: absolute; right: 0; top: 0; width: 300px; height: 100%;
    background: radial-gradient(circle at right, rgba(217, 119, 6, 0.15) 0%, transparent 70%);
}

.rk-expert-avatar {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    border: 3px solid var(--rk-fin-primary);
    box-shadow: 0 0 20px rgba(217, 119, 6, 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(217, 119, 6, 0.2);
    color: #fcd34d;
    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(252, 211, 77, 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: #cbd5e1;
    font-size: 14px;
    margin: 0;
    font-weight: 500;
}

/* Sekcja z zakładkami i wiedzą */
.rk-fin-body {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    background: #ffffff;
}

.rk-rules-list {
    padding: 30px;
    border-right: 1px solid var(--rk-fin-border);
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #f8fafc;
}

.rk-rule-btn {
    background: #ffffff;
    border: 1px solid var(--rk-fin-border);
    padding: 16px 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-fin-primary);
    transform: translateX(4px);
}

.rk-rule-btn.active {
    background: var(--rk-fin-primary-light);
    border-color: var(--rk-fin-primary);
    box-shadow: inset 4px 0 0 var(--rk-fin-primary);
}

.rk-rule-icon {
    width: 36px; height: 36px;
    background: #f1f5f9;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    color: var(--rk-fin-text-dim);
    flex-shrink: 0;
    transition: 0.3s;
}

.rk-rule-btn.active .rk-rule-icon {
    background: var(--rk-fin-primary);
    color: #ffffff;
}

.rk-rule-text h3 {
    margin: 0 0 5px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-fin-dark);
}

.rk-rule-text p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-fin-text-dim);
    line-height: 1.5;
}

/* Panel Detali (Prawy) */
.rk-rule-details {
    padding: 40px 35px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

.rk-detail-panel.active {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

@keyframes fadeScale {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.rk-detail-panel h4 {
    margin: 0;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-fin-dark);
}

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

.rk-fin-link {
    color: var(--rk-fin-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px dashed rgba(14, 165, 233, 0.4);
    transition: 0.3s;
}
.rk-fin-link:hover { border-bottom-style: solid; color: #0284c7; }

/* SVG Canvas */
.rk-detail-svg {
    width: 100%;
    height: 180px;
    background: var(--rk-fin-dark);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 4px 20px rgba(0,0,0,0.5);
    border: 1px solid #334155;
}

/* Animacje SVG zależne od zakładki */
.anim-flame-fin { transform-origin: bottom center; animation: burnFin 2s infinite alternate; fill: #f59e0b; }
.anim-flow-hot { stroke-dasharray: 6 12; animation: dashFin 1s linear infinite; stroke: #ef4444; }
.anim-flow-mix { stroke-dasharray: 6 12; animation: dashFin 2s linear infinite; stroke: #0ea5e9; }
.anim-gear-spin { transform-origin: center; animation: spinFin 4s linear infinite; fill: #64748b; }
.anim-pellet-drop { animation: dropPellet 1.5s infinite linear; fill: #fcd34d; }
.anim-heat-wave { stroke-dasharray: 6 12; animation: floatUp 2s linear infinite; stroke: #f59e0b; }

@keyframes burnFin { from { transform: scaleY(0.9); } to { transform: scaleY(1.1); } }
@keyframes dashFin { to { stroke-dashoffset: -18; } }
@keyframes spinFin { to { transform: rotate(360deg); } }
@keyframes dropPellet { 0% { transform: translateY(-20px); opacity: 0; } 50% { opacity: 1; } 100% { transform: translateY(30px); opacity: 0; } }
@keyframes floatUp { to { stroke-dashoffset: -18; transform: translateY(-5px); } }

/* Narzędzie Szybkiego Szacowania (Kalkulator) */
.rk-quick-calc {
    background: var(--rk-fin-panel);
    padding: 40px 50px;
    border-top: 1px solid #0f172a;
    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 2.5fr;
    gap: 40px;
    align-items: center;
}

.rk-calc-input-area {
    display: flex;
    flex-direction: column;
    gap: 15px;
    background: rgba(255,255,255,0.03);
    padding: 20px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.1);
}

.rk-calc-label { font-size: 13px; font-weight: 700; color: #94a3b8; display: flex; justify-content: space-between; }
.rk-calc-label span { color: #ffffff; font-size: 16px; font-weight: 900; }

.rk-fin-range {
    -webkit-appearance: none; width: 100%; height: 6px; border-radius: 3px; background: #334155; outline: none;
}
.rk-fin-range::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none; width: 22px; height: 22px; border-radius: 50%;
    background: var(--rk-fin-primary); cursor: pointer; border: 3px solid #ffffff; transition: 0.1s;
}
.rk-fin-range::-webkit-slider-thumb:active { transform: scale(1.15); }

.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: 18px 15px;
    border-radius: 12px;
    text-align: center;
    transition: all 0.3s;
}

.rk-result-box.highlight { border-color: var(--rk-fin-primary); background: rgba(217, 119, 6, 0.1); }
.rk-result-box.water { border-color: var(--rk-fin-accent); background: rgba(14, 165, 233, 0.1); }

.rk-res-val { display: block; font-size: 22px; font-weight: 900; color: #ffffff; margin-bottom: 5px; }
.rk-result-box.highlight .rk-res-val { color: var(--rk-fin-primary); }
.rk-result-box.water .rk-res-val { color: var(--rk-fin-accent); }
.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-fin-author {
    background: #f1f5f9;
    padding: 35px 50px;
    display: flex;
    align-items: flex-start;
    gap: 25px;
    border-top: 1px solid var(--rk-fin-border);
}

.rk-author-photo-small {
    width: 75px;
    height: 75px;
    border-radius: 50%;
    border: 3px solid var(--rk-fin-primary);
    box-shadow: 0 4px 15px rgba(217, 119, 6, 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-fin-dark);
}

.rk-author-info p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-fin-text);
    line-height: 1.6;
}

.rk-author-links {
    display: flex;
    gap: 15px;
    margin-top: 12px;
}

.rk-author-links a {
    color: var(--rk-fin-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-fin-header { flex-direction: column; text-align: center; padding: 30px 20px; }
    .rk-expert-avatar { width: 70px; height: 70px; }
    .rk-fin-body { grid-template-columns: 1fr; }
    .rk-rules-list { border-right: none; border-bottom: 1px solid var(--rk-fin-border); padding: 20px; }
    .rk-rule-details { padding: 30px 20px; }
    .rk-calc-grid { grid-template-columns: 1fr; gap: 25px; }
    .rk-quick-calc { padding: 30px 20px; }
    .rk-calc-results { grid-template-columns: 1fr; }
    .rk-fin-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/kociol-na-pellet/#article-podsumowanie-eksperta",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/"
    },
    "headline": "Inżynierskie podsumowanie: Kocioł na pellet i podłogówka",
    "description": "Synteza wiedzy o połączeniu kotła stałopalnego z ogrzewaniem płaszczyznowym. Zasady stosowania buforów, zaworów mieszających, obliczania zładu wodnego i doboru wylewki.",
    "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-26",
    "dateModified": "2026-05-26"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#dataset-podsumowanie-eksperta",
    "name": "Wskaźniki doboru i rentowności: Kocioł na pellet z buforem (2026)",
    "description": "Zestawienie relacji pomiędzy powierzchnią budynku a szacunkową mocą kotła, wymaganą objętością zbiornika buforowego, doborem wylewki oraz prognozowanym zużyciem certyfikowanej biomasy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podsumowanie kotła na pellet",
      "szybki kalkulator maszynowni",
      "zużycie pelletu w 2026",
      "wymagany bufor ciepła",
      "zawór mieszający podłogówka",
      "certyfikowany pellet ENplus A1",
      "wylewka anhydrytowa pod kocioł na pellet"
    ],
    "measurementTechnique": "Szacowanie oparte na współczynniku zapotrzebowania 50 W/m2, przeliczniku bufora 60 l/kW oraz empirycznym zużyciu pelletu na poziomie ok. 26 kg/m2 rocznie z uwzględnieniem przewodnictwa cieplnego posadzek.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Szacunkowa moc kotła = (Powierzchnia * 0.05) + 20% zapasu.",
        "Minimalna pojemność bufora = Moc kotła * 60 litrów.",
        "Szacunkowe zużycie roczne (dom dobrze ocieplony) = Powierzchnia * ~26 kg.",
        "Zalecane paliwo = Certyfikowany pellet ENplus A1 (minimalizacja popiołu i szlaki).",
        "Optymalny odbiór ciepła = Wylewka anhydrytowa (wyższy współczynnik przewodzenia)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#webapp-podsumowanie-eksperta",
    "name": "Estymator Maszynowni Pelletowej",
    "description": "Interaktywny kalkulator podsumowujący. Przelicza powierzchnię domu na orientacyjną moc kotła, wymagany zład bufora ciepła oraz prognozowane roczne zużycie paliwa stałego.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 Range Inputs",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-fin-container" id="rk-fin-app">
    
    <div class="rk-fin-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>Inżynierskie podsumowanie: Kocioł na pellet i podłogówka</h2>
            <p>Ten system to inwestycja w wygodę, ale nie wybacza amatorskich błędów. Poznaj 5 złotych zasad, które uratują Twoją maszynownię przed przedwczesnym zniszczeniem i przepalaniem budżetu.</p>
        </div>
    </div>

    <div class="rk-fin-body">
        
        <div class="rk-rules-list">
            <button class="rk-rule-btn active" data-panel="fin-det-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="4" y="2" width="16" height="20" rx="2" ry="2"></rect><line x1="8" y1="6" x2="16" y2="6"></line><line x1="16" y1="14" x2="16.01" y2="14"></line></svg></div>
                <div class="rk-rule-text">
                    <h3>1. Serce to Bufor</h3>
                    <p>Rozprzężenie hydrauliczne</p>
                </div>
            </button>

            <button class="rk-rule-btn" data-panel="fin-det-2">
                <div class="rk-rule-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><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-rule-text">
                    <h3>2. Niska Temperatura</h3>
                    <p>Granica wytrzymałości jastrychu</p>
                </div>
            </button>

            <button class="rk-rule-btn" data-panel="fin-det-3">
                <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="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg></div>
                <div class="rk-rule-text">
                    <h3>3. Profesjonalny OZC</h3>
                    <p>Klucz do przepływów</p>
                </div>
            </button>
            
            <button class="rk-rule-btn" data-panel="fin-det-4">
                <div class="rk-rule-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2c0 0-5 6-5 11a5 5 0 0 0 10 0c0-5-5-11-5-11Z"></path></svg></div>
                <div class="rk-rule-text">
                    <h3>4. Jakość Paliwa</h3>
                    <p>Certyfikat ENplus A1</p>
                </div>
            </button>

            <button class="rk-rule-btn" data-panel="fin-det-5">
                <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="14" width="20" height="6" rx="1"></rect><path d="M2 10h20M2 6h20"></path></svg></div>
                <div class="rk-rule-text">
                    <h3>5. Dobór Wylewki</h3>
                    <p>Anhydryt vs beton</p>
                </div>
            </button>
        </div>

        <div class="rk-rule-details">
            
            <div class="rk-detail-panel active" id="fin-det-1">
                <h4>Bufor ciepła jest obowiązkowy</h4>
                <p>Bez niego zapalarka w kotle podda się po jednym sezonie. <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" class="rk-fin-link">Zbiornik buforowy</a> (minimum 50 litrów na każdy kW mocy) absorbuje nadmiar energii, pozwala palnikowi pracować na najwyższej sprawności i zapobiega kondensacji smoły w wymienniku.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <rect x="20" y="30" width="30" height="50" fill="#334155" rx="4"/>
                        <path class="anim-flame-fin" d="M35 80 C25 80, 20 50, 35 40 C50 50, 45 80, 35 80 Z"/>
                        <path class="anim-flow-hot" d="M50 50 L90 50" fill="none" stroke-width="4"/>
                        <rect x="90" y="20" width="40" height="70" fill="#1e293b" stroke="#0ea5e9" stroke-width="2" rx="6"/>
                        <path class="anim-flow-mix" d="M130 50 L170 50" fill="none" stroke-width="4"/>
                        <rect x="170" y="45" width="20" height="10" fill="#94a3b8" rx="2"/>
                    </svg>
                </div>
            </div>

            <div class="rk-detail-panel" id="fin-det-2">
                <h4>Chroń posadzkę mieszaczem</h4>
                <p>Ogień w kotle to 80°C, ale podłogówka potrzebuje tylko 35°C. Przepuszczenie wrzątku bez <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/" class="rk-fin-link">zaworu trójdrogowego</a> to wyrok śmierci dla betonowej wylewki (max. norma to 50°C). Sterowanie pogodowe wymiesza wodę powrotną do idealnego poziomu.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <path class="anim-flow-hot" d="M40 50 L90 50" fill="none" stroke-width="6"/>
                        <path class="anim-flow-mix" d="M90 50 L160 50" fill="none" stroke-width="6"/>
                        <polygon points="90,40 90,60 110,50" fill="#cbd5e1"/>
                        <polygon points="110,40 130,30 130,50" fill="#cbd5e1"/>
                        <polygon points="100,70 120,70 110,50" fill="#cbd5e1"/>
                        <circle cx="110" cy="50" r="5" fill="#1e293b"/>
                        <text x="65" y="40" fill="#ef4444" font-size="12" font-weight="bold">80°C</text>
                        <text x="145" y="40" fill="#0ea5e9" font-size="12" font-weight="bold">35°C</text>
                    </svg>
                </div>
            </div>

            <div class="rk-detail-panel" id="fin-det-3">
                <h4>OZC to Twój drogowskaz</h4>
                <p>Nigdy nie zgaduj długości pętli ani mocy pompy. <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" class="rk-fin-link">Projektowe Obciążenie Cieplne (OZC)</a> pozwala wyliczyć masowy przepływ (np. 1,72 m³/h) i precyzyjnie wyregulować rotametry. Pętle powyżej 100 metrów stworzą niepokonywalny opór hydrauliczny.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <rect x="60" y="20" width="80" height="60" fill="#1e293b" stroke="#64748b" stroke-width="2" rx="4"/>
                        <path class="anim-flow-mix" d="M40 40 L60 40 M140 40 L160 40" fill="none" stroke-width="4"/>
                        <path class="anim-flow-hot" d="M40 60 L60 60 M140 60 L160 60" fill="none" stroke-width="4"/>
                        <g class="anim-gear-spin" style="transform-origin: 100px 50px;">
                            <circle cx="100" cy="50" r="15" fill="#64748b"/>
                            <circle cx="100" cy="50" r="5" fill="#1e293b"/>
                            <rect x="98" y="30" width="4" height="40" fill="#64748b"/>
                            <rect x="80" y="48" width="40" height="4" fill="#64748b"/>
                        </g>
                    </svg>
                </div>
            </div>
            
            <div class="rk-detail-panel" id="fin-det-4">
                <h4>Jakość paliwa to podstawa</h4>
                <p>Tani materiał opałowy zanieczyszczony piaskiem i korą to najkrótsza droga do awarii. Używaj wyłącznie <a href="https://projekt-ogrzewania.pl/kociol-na-pellet/" class="rk-fin-link">certyfikowanego pelletu ENplus A1</a>. Gwarantuje on wyższą wartość opałową, nie zapycha podajnika i ogranicza uciążliwe czyszczenie wymiennika kotła do minimum.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <polygon points="70,10 130,10 110,60 90,60" fill="#334155"/>
                        <circle class="anim-pellet-drop" cx="95" cy="40" r="4"/>
                        <circle class="anim-pellet-drop" cx="105" cy="30" r="4" style="animation-delay:0.5s;"/>
                        <circle class="anim-pellet-drop" cx="100" cy="50" r="4" style="animation-delay:1s;"/>
                        <rect x="80" y="65" width="40" height="25" fill="#1e293b" rx="2"/>
                        <circle cx="150" cy="40" r="18" fill="none" stroke="#10b981" stroke-width="3"/>
                        <text x="150" y="45" fill="#10b981" font-size="14" font-weight="bold" text-anchor="middle">A1</text>
                    </svg>
                </div>
            </div>

            <div class="rk-detail-panel" id="fin-det-5">
                <h4>Anhydryt maksymalizuje wydajność</h4>
                <p>Na optymalną pracę układu wpływa czas oddawania ciepła. <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/" class="rk-fin-link">Wylewka anhydrytowa pod kocioł na pellet</a> sprawdza się idealnie – jej płynna konsystencja pozbywa się pustek powietrznych wokół rur. Zwiększa to przewodność cieplną w stosunku do zwykłego betonu, dając odczuwalne oszczędności.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <rect x="40" y="50" width="120" height="30" fill="#fcd34d" rx="4" opacity="0.8"/>
                        <circle cx="60" cy="65" r="8" fill="#ef4444"/>
                        <circle cx="100" cy="65" r="8" fill="#ef4444"/>
                        <circle cx="140" cy="65" r="8" fill="#ef4444"/>
                        <path class="anim-heat-wave" d="M60 40 L60 10 M100 40 L100 10 M140 40 L140 10" fill="none" stroke-width="4" stroke-linecap="round"/>
                    </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-fin-primary)" stroke-width="2.5"><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>
                Estymator Maszynowni Pelletowej
            </h4>
            <span style="font-size:12px; color:#64748b;">(Domy nowo budowane / dobrze izolowane)</span>
        </div>

        <div class="rk-calc-grid">
            
            <div class="rk-calc-input-area">
                <div class="rk-calc-label">
                    Powierzchnia ogrzewana:
                    <span id="finAreaOut">150 m²</span>
                </div>
                <input type="range" class="rk-fin-range" id="finAreaSlider" min="80" max="300" step="10" value="150">
            </div>

            <div class="rk-calc-results">
                <div class="rk-result-box highlight">
                    <span class="rk-res-val" id="resBoiler">9 <span style="font-size:14px;color:var(--rk-fin-primary);">kW</span></span>
                    <span class="rk-res-lab">Szacunkowa Moc Kotła</span>
                </div>
                <div class="rk-result-box water">
                    <span class="rk-res-val" id="resBuffer">540 <span style="font-size:14px;color:var(--rk-fin-accent);">L</span></span>
                    <span class="rk-res-lab">Wymagany Bufor Ciepła</span>
                </div>
                <div class="rk-result-box">
                    <span class="rk-res-val" id="resPellet">3.9 <span style="font-size:14px;color:#94a3b8;">t</span></span>
                    <span class="rk-res-lab">Roczne zużycie (Prognoza)</span>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-fin-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. Główny projektant i audytor instalacji HVAC. Wszystkie publikowane tu treści opieram na wieloletnim, praktycznym doświadczeniu zdobytym bezpośrednio na placach budowy. Moją misją jest dostarczanie twardej, inżynierskiej wiedzy, która chroni inwestorów przed "fachowcami".</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() {
    // 2. Logika Zakładek (Złote Zasady)
    const btns = document.querySelectorAll('.rk-rule-btn');
    const panels = document.querySelectorAll('.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 target = document.getElementById(btn.getAttribute('data-panel'));
            if(target) {
                void target.offsetWidth; // Restart animacji
                target.classList.add('active');
            }
        });
    });

    // 3. Logika Estymatora
    const slider = document.getElementById('finAreaSlider');
    const areaOut = document.getElementById('finAreaOut');
    const resBoiler = document.getElementById('resBoiler');
    const resBuffer = document.getElementById('resBuffer');
    const resPellet = document.getElementById('resPellet');

    function updateEstimator() {
        const area = parseInt(slider.value);
        areaOut.textContent = area + ' m²';

        // Obliczenia:
        // Moc kotła: Zapotrzebowanie ~50W/m2 + zapas ok. 20% -> (Area * 0.05) * 1.2
        let boilerPower = (area * 0.05) * 1.2;
        // Zaokrąglenie do równych kW lub połówek
        boilerPower = Math.ceil(boilerPower);
        
        // Bufor: 60 L / kW
        let bufferVol = boilerPower * 60;

        // Roczne zużycie: około 26 kg na 1 m2 (dla bardzo dobrej izolacji)
        let pelletTons = (area * 26) / 1000;

        resBoiler.innerHTML = boilerPower + ' <span style="font-size:14px;color:var(--rk-fin-primary);">kW</span>';
        resBuffer.innerHTML = bufferVol + ' <span style="font-size:14px;color:var(--rk-fin-accent);">L</span>';
        resPellet.innerHTML = pelletTons.toFixed(1) + ' <span style="font-size:14px;color:#94a3b8;">t</span>';
    }

    if(slider) {
        slider.addEventListener('input', updateEstimator);
        updateEstimator(); // Init
    }
});
</script>



<style>
:root {
    --rk-pellet-faq-dark: #1e1b4b; /* Bardzo ciemny fiolet/granat */
    --rk-pellet-faq-card: #ffffff;
    --rk-pellet-faq-brand: #f59e0b; /* Bursztynowy/Pellet */
    --rk-pellet-faq-brand-light: #fef3c7;
    --rk-pellet-faq-accent: #ef4444; /* Czerwony/Ogień */
    --rk-pellet-faq-success: #10b981; /* Zielony/Eco */
    --rk-pellet-faq-bg: #f8fafc;
    --rk-pellet-faq-border: #e2e8f0;
    --rk-pellet-faq-text: #334155;
    --rk-pellet-faq-muted: #64748b;
}

.rk-pellet-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(245, 158, 11, 0.15);
    border: 1px solid rgba(245, 158, 11, 0.3);
    overflow: hidden;
}

/* Nagłówek */
.rk-pellet-faq-header {
    background: linear-gradient(135deg, var(--rk-pellet-faq-dark) 0%, #312e81 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-pellet-faq-brand);
}

.rk-pellet-faq-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(245, 158, 11, 0.2);
    color: #fcd34d;
    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(245, 158, 11, 0.3);
}

.rk-pellet-faq-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0;
}

.rk-pellet-faq-title span { color: var(--rk-pellet-faq-brand); }

/* Sekcja Akordeonu */
.rk-pellet-faq-interactive {
    padding: 40px 50px;
    background: var(--rk-pellet-faq-bg);
}

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

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

.rk-pellet-faq-item.active {
    border-color: var(--rk-pellet-faq-brand);
    box-shadow: 0 10px 25px -5px rgba(245, 158, 11, 0.15);
}

/* Przycisk Pytania */
.rk-pellet-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-pellet-faq-dark);
    transition: background 0.3s, color 0.3s;
}

.rk-pellet-faq-question:hover {
    background: var(--rk-pellet-faq-brand-light);
}

.rk-pellet-faq-item.active .rk-pellet-faq-question {
    background: var(--rk-pellet-faq-brand);
    color: #ffffff;
}

.rk-pellet-faq-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-pellet-faq-brand-light);
    color: #d97706;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-pellet-faq-item.active .rk-pellet-faq-icon {
    background: rgba(255,255,255,0.2);
    color: #ffffff;
    transform: rotate(180deg);
}

/* Kontener Odpowiedzi */
.rk-pellet-faq-answer-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-pellet-faq-item.active .rk-pellet-faq-answer-wrapper {
    grid-template-rows: 1fr;
}

.rk-pellet-faq-answer-inner {
    overflow: hidden;
}

/* Wnętrze Odpowiedzi (Grid: Tekst + SVG) */
.rk-pellet-faq-content {
    padding: 25px;
    border-top: 1px solid var(--rk-pellet-faq-border);
    display: grid;
    grid-template-columns: 1fr 200px;
    gap: 30px;
    align-items: center;
}

.rk-pellet-faq-text {
    font-size: 15px;
    line-height: 1.8;
    color: var(--rk-pellet-faq-text);
}

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

.rk-link {
    color: #d97706;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px dashed rgba(245, 158, 11, 0.4);
    transition: all 0.3s;
}

.rk-link:hover {
    color: #b45309;
    border-bottom-style: solid;
}

/* Wizualizacje SVG */
.rk-pellet-faq-visual {
    background: #0f172a;
    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. Bufor / Taktowanie */
.anim-flame-bad { transform-origin: bottom; opacity: 0.2; transition: opacity 0.5s; }
.rk-pellet-faq-item.active .anim-flame-bad { animation: flickerStrobe 0.2s infinite; opacity: 1; }
@keyframes flickerStrobe { 0% { transform: scaleY(1); } 50% { transform: scaleY(0.4); fill: #64748b; } 100% { transform: scaleY(1); } }

/* 2. Czyszczenie */
.anim-ash { transform: translateY(-20px); opacity: 0; }
.rk-pellet-faq-item.active .anim-ash { animation: fallAsh 3s infinite; }
@keyframes fallAsh { 0% { transform: translateY(-20px); opacity: 1; } 80% { transform: translateY(20px); opacity: 1; } 100% { transform: translateY(25px); opacity: 0; } }

/* 3. Rozstaw Rur */
.anim-pipe-heat { stroke-dasharray: 4 8; stroke-dashoffset: 0; }
.rk-pellet-faq-item.active .anim-pipe-heat { animation: flowHeat 1.5s linear infinite; stroke: #ef4444; }
@keyframes flowHeat { to { stroke-dashoffset: -24; } }

/* 4. Anhydryt vs Cement */
.anim-anhydrite { transform: scaleX(0); transform-origin: left; transition: transform 1.2s 0.3s cubic-bezier(0.22, 1, 0.36, 1); }
.rk-pellet-faq-item.active .anim-anhydrite { transform: scaleX(1); }

/* 5. Koszty (Monety) */
.anim-coin { transform: translateY(-30px); opacity: 0; }
.rk-pellet-faq-item.active .anim-coin:nth-child(1) { animation: dropCoin 0.5s 0.3s forwards; }
.rk-pellet-faq-item.active .anim-coin:nth-child(2) { animation: dropCoin 0.5s 0.6s forwards; }
.rk-pellet-faq-item.active .anim-coin:nth-child(3) { animation: dropCoin 0.5s 0.9s forwards; }
@keyframes dropCoin { to { transform: translateY(0); opacity: 1; } }

@media (max-width: 768px) {
    .rk-pellet-faq-header, .rk-pellet-faq-interactive { padding: 30px 20px; }
    .rk-pellet-faq-title { font-size: 24px; }
    .rk-pellet-faq-content { grid-template-columns: 1fr; gap: 20px; padding: 20px; }
    .rk-pellet-faq-visual { height: 120px; max-width: 250px; margin: 0 auto; width: 100%; }
    .rk-pellet-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/kociol-na-pellet/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/"
    },
    "headline": "FAQ — Najczęściej zadawane pytania: Kocioł na pellet i podłogówka",
    "description": "Baza wiedzy dla inwestorów: czy podłogówka potrzebuje bufora przy pellecie, jak często czyścić piec i ile kosztuje ogrzewanie domu 150m2 w 2026 roku.",
    "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-26",
    "dateModified": "2026-05-26"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy kocioł na pellet może współpracować z podłogówką bez bufora ciepła?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "W praktyce jest to rozwiązanie wysoce niezalecane, które prowadzi do permanentnego taktowania palnika i drastycznego spadku jego sprawności o około 15-20%. Bez bufora kocioł nie ma możliwości zmagazynowania nadwyżki energii przy niskim zapotrzebowaniu instalacji płaszczyznowej, co skutkuje przyspieszonym zużyciem podzespołów i zarastaniem wymiennika sadzą."
        }
      },
      {
        "@type": "Question",
        "name": "Jak często trzeba czyścić kocioł pelletowy przy ogrzewaniu płaszczyznowym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nowoczesne konstrukcje wyposażone w automatyczne systemy czyszczenia palnika i wymiennika wymagają opróżniania popielnika raz na 3-5 tygodni w sezonie grzewczym. Pełne, ręczne czyszczenie komory spalania oraz kontrolę stanu technicznego wymiennika należy przeprowadzać co około 1,5-2 tony spalonego paliwa certyfikowanego klasy ENplus A1."
        }
      },
      {
        "@type": "Question",
        "name": "Jaki rozstaw rur podłogówki zastosować przy kotle na pellet?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Standardowy i najbardziej optymalny projektowo rozstaw rur wynosi 15 cm w strefach stałego przebywania oraz 10 cm w łazienkach oraz strefach brzegowych przy oknach tarasowych. Pozwala to na zasilanie instalacji niskim parametrem termicznym (35-38°C), co przekłada się na dłuższą autonomię zgromadzonego w zbiorniku buforowym ciepła."
        }
      },
      {
        "@type": "Question",
        "name": "Czy wylewka anhydrytowa jest lepsza od cementowej pod kocioł na pellet?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, jastrych anhydrytowy wykazuje znacznie wyższy współczynnik przewodzenia ciepła (około 1,6-1,8 W/mK) w porównaniu do jastrychu cementowego (około 1,0-1,2 W/mK). Dzięki mniejszej grubości strukturalnej i płynnej konsystencji idealnie otula rurę grzewczą, co skraca czas reakcji systemu na zmianę temperatury o ponad 50%."
        }
      },
      {
        "@type": "Question",
        "name": "Ile wynosi realny koszt ogrzewania pelletem domu 150 m² z podłogówką?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Roczny koszt eksploatacyjny w realiach cenowych 2026 roku kształtuje się na poziomie około 3900 - 4500 PLN, przy założeniu zużycia około 3,8 - 4,2 tony certyfikowanego pelletu drzewnego. Wartość ta dotyczy budynków nowo wybudowanych, posiadających skuteczną izolację przegród pionowych (styropian minimum 20 cm) oraz system rekuperacji z odzyskiem ciepła."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#dataset-faq",
    "name": "Parametry eksploatacyjne układu: Kocioł na pellet + Podłogówka 2026",
    "description": "Zestawienie inżynierskie uwzględniające parametry temperaturowe, koszty paliwa oraz częstotliwość serwisu nowoczesnych systemów na biomasę.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": { "@type": "Person", "name": "Robert Kucharski" },
    "keywords": [
      "taktowanie palnika pelletowego",
      "częstotliwość czyszczenia pieca",
      "współczynnik przewodzenia wylewki",
      "koszt ogrzewania domu 150m2",
      "zapotrzebowanie na bufor ciepła"
    ],
    "measurementTechnique": "Analiza termodynamiczna i kosztorysowa oparta na danych operacyjnych dla budynków jednorodzinnych w III strefie klimatycznej Polski (2026).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt roczny: 3900 - 4500 PLN (dom 150m2, dobre ocieplenie).",
        "Czyszczenie palnika: Co 3-5 tygodni (automatyka).",
        "Rozstaw rur: 15 cm w pokojach, 10 cm przy oknach i w łazienkach."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#webapp-faq",
    "name": "Symulator Procesów Płaszczyznowych i Spalania",
    "description": "Edukacyjna, interaktywna nakładka (Akordeon) wizualizująca za pomocą skryptów SVG zjawiska taktowania, opadania popiołu i dystrybucji ciepła.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": { "@type": "Person", "name": "Robert Kucharski" }
  }
]
</script>

<div class="rk-pellet-faq-container" id="rk-pellet-faq-app">
    <div class="rk-pellet-faq-header">
        <div class="rk-pellet-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"><path d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"></path></svg>
            Baza Wiedzy Inwestora
        </div>
        <h2 class="rk-pellet-faq-title">FAQ – <span>Najczęściej zadawane pytania</span></h2>
    </div>

    <div class="rk-pellet-faq-interactive">
        <div class="rk-pellet-faq-list">
            
            <div class="rk-pellet-faq-item">
                <button class="rk-pellet-faq-question">
                    <span>1. Czy kocioł na pellet może współpracować z podłogówką bez bufora ciepła?</span>
                    <div class="rk-pellet-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-pellet-faq-answer-wrapper">
                    <div class="rk-pellet-faq-answer-inner">
                        <div class="rk-pellet-faq-content">
                            <div class="rk-pellet-faq-text">
                                W praktyce jest to rozwiązanie <strong>wysoce niezalecane</strong>, które prowadzi do permanentnego taktowania palnika i drastycznego spadku jego sprawności o około <strong>15-20%</strong>. Bez <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" class="rk-link">bufora ciepła</a> kocioł nie ma możliwości zmagazynowania nadwyżki energii przy niskim zapotrzebowaniu instalacji płaszczyznowej. Skutkuje to zjawiskiem ciągłego odpalania, co prowadzi do przyspieszonego zużycia podzespołów (np. zapalarki) i błyskawicznego zarastania wymiennika twardą sadzą.
                            </div>
                            <div class="rk-pellet-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="20" y="20" width="30" height="40" fill="#334155" rx="4"/>
                                    <path class="anim-flame-bad" d="M35 50 C25 50, 20 30, 35 10 C50 30, 45 50, 35 50 Z" fill="#ef4444"/>
                                    <path d="M50 40 L80 40" fill="none" stroke="#ef4444" stroke-width="4" stroke-dasharray="2 4"/>
                                    <circle cx="80" cy="40" r="10" fill="#94a3b8"/>
                                    <path d="M75 35 L85 45 M75 45 L85 35" stroke="#ef4444" stroke-width="3"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-pellet-faq-item">
                <button class="rk-pellet-faq-question">
                    <span>2. Jak często trzeba czyścić kocioł pelletowy przy ogrzewaniu płaszczyznowym?</span>
                    <div class="rk-pellet-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-pellet-faq-answer-wrapper">
                    <div class="rk-pellet-faq-answer-inner">
                        <div class="rk-pellet-faq-content">
                            <div class="rk-pellet-faq-text">
                                Nowoczesne konstrukcje wyposażone w automatyczne systemy czyszczenia palnika i wymiennika wymagają opróżniania popielnika <strong>raz na 3-5 tygodni</strong> w sezonie grzewczym. Pełne, ręczne czyszczenie komory spalania oraz kontrolę stanu technicznego wymiennika należy przeprowadzać co około <strong>1,5-2 tony</strong> spalonego paliwa certyfikowanego klasy ENplus A1.
                            </div>
                            <div class="rk-pellet-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="30" y="20" width="40" height="30" fill="#475569" rx="2"/>
                                    <circle class="anim-ash" cx="40" cy="30" r="3" fill="#cbd5e1"/>
                                    <circle class="anim-ash" cx="50" cy="35" r="2" fill="#cbd5e1" style="animation-delay: 0.5s;"/>
                                    <circle class="anim-ash" cx="60" cy="25" r="4" fill="#cbd5e1" style="animation-delay: 1s;"/>
                                    <rect x="30" y="55" width="40" height="10" fill="#1e293b" rx="2"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-pellet-faq-item">
                <button class="rk-pellet-faq-question">
                    <span>3. Jaki rozstaw rur podłogówki zastosować przy kotle na pellet?</span>
                    <div class="rk-pellet-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-pellet-faq-answer-wrapper">
                    <div class="rk-pellet-faq-answer-inner">
                        <div class="rk-pellet-faq-content">
                            <div class="rk-pellet-faq-text">
                                Standardowy i najbardziej optymalny projektowo <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" class="rk-link">rozstaw rur</a> wynosi <strong>15 cm w strefach stałego przebywania</strong> oraz <strong>10 cm</strong> w łazienkach oraz strefach brzegowych przy oknach tarasowych. Pozwala to na zasilanie instalacji niskim parametrem termicznym (35-38°C), co po wymieszaniu na zaworze przekłada się na znacznie dłuższą autonomię zgromadzonego w zbiorniku buforowym ciepła.
                            </div>
                            <div class="rk-pellet-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <path class="anim-pipe-heat" d="M10 20 L90 20" fill="none" stroke="#64748b" stroke-width="6" stroke-linecap="round"/>
                                    <path class="anim-pipe-heat" d="M10 40 L90 40" fill="none" stroke="#64748b" stroke-width="6" stroke-linecap="round"/>
                                    <path class="anim-pipe-heat" d="M10 60 L90 60" fill="none" stroke="#64748b" stroke-width="6" stroke-linecap="round"/>
                                    <line x1="20" y1="20" x2="20" y2="40" stroke="#fcd34d" stroke-width="2" stroke-dasharray="2 2"/>
                                    <text x="25" y="34" fill="#fcd34d" font-size="10" font-family="sans-serif">15 cm</text>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-pellet-faq-item">
                <button class="rk-pellet-faq-question">
                    <span>4. Czy wylewka anhydrytowa jest lepsza od cementowej pod kocioł na pellet?</span>
                    <div class="rk-pellet-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-pellet-faq-answer-wrapper">
                    <div class="rk-pellet-faq-answer-inner">
                        <div class="rk-pellet-faq-content">
                            <div class="rk-pellet-faq-text">
                                Tak, jastrych anhydrytowy wykazuje znacznie wyższy współczynnik przewodzenia ciepła (<strong>około 1,6-1,8 W/(mK)</strong>) w porównaniu do jastrychu cementowego (około 1,0-1,2 W/(mK)). Dzięki mniejszej grubości strukturalnej i płynnej konsystencji idealnie otula rurę grzewczą, nie zostawiając izolujących pęcherzy powietrza. To <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/" class="rk-link">skraca czas reakcji systemu</a> na zmianę temperatury o ponad <strong>50%</strong>.
                            </div>
                            <div class="rk-pellet-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="10" y="25" width="80" height="30" fill="#334155" rx="4"/>
                                    <circle cx="30" cy="40" r="6" fill="#ef4444"/>
                                    <circle cx="50" cy="40" r="6" fill="#ef4444"/>
                                    <circle cx="70" cy="40" r="6" fill="#ef4444"/>
                                    <rect class="anim-anhydrite" x="10" y="25" width="80" height="30" fill="#f59e0b" opacity="0.8" rx="4"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-pellet-faq-item">
                <button class="rk-pellet-faq-question">
                    <span>5. Ile wynosi realny koszt ogrzewania pelletem domu 150 m² z podłogówką?</span>
                    <div class="rk-pellet-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-pellet-faq-answer-wrapper">
                    <div class="rk-pellet-faq-answer-inner">
                        <div class="rk-pellet-faq-content">
                            <div class="rk-pellet-faq-text">
                                Roczny <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/" class="rk-link">koszt eksploatacyjny</a> w realiach cenowych <strong>2026 roku</strong> kształtuje się na poziomie około <strong>3900 - 4500 PLN</strong>, przy założeniu zużycia około 3,8 - 4,2 tony certyfikowanego pelletu drzewnego. Wartość ta dotyczy budynków nowo wybudowanych, posiadających skuteczną izolację przegród pionowych (styropian minimum 20 cm) oraz <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/" class="rk-link">system rekuperacji z odzyskiem ciepła</a>.
                            </div>
                            <div class="rk-pellet-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="20" y="45" width="60" height="15" fill="#475569" rx="2"/>
                                    <circle class="anim-coin" cx="35" cy="35" r="8" fill="#fcd34d" stroke="#d97706" stroke-width="2"/>
                                    <circle class="anim-coin" cx="50" cy="25" r="8" fill="#fcd34d" stroke="#d97706" stroke-width="2"/>
                                    <circle class="anim-coin" cx="65" cy="35" r="8" fill="#fcd34d" stroke="#d97706" stroke-width="2"/>
                                    <path d="M48 22 L48 28 M52 22 L52 28" stroke="#d97706" stroke-width="1.5"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe - Blokada (Strictly no H2/H3 in block as requested)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-pellet-faq-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 20px; font-weight: 900; color: #ef4444; margin-bottom: 10px; text-transform: uppercase;">Zablokowano komponent interaktywny</div>
                    <div style="font-size: 15px; color: #cbd5e1; max-width: 600px; margin: 0 auto; line-height: 1.6;">
                        Kontener techniczny FAQ, animacje SVG oraz struktura algorytmiczna Schema.org stanowią wyłączną własność serwisu Projekt-Ogrzewania.pl.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Akordeonu
    const faqItems = document.querySelectorAll('.rk-pellet-faq-item');

    faqItems.forEach(item => {
        const btn = item.querySelector('.rk-pellet-faq-question');
        btn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');
            
            // Zamknij wszystkie
            faqItems.forEach(i => i.classList.remove('active'));
            
            // Otwórz kliknięty jeśli był zamknięty
            if (!isActive) {
                item.classList.add('active');
            }
        });
    });
    
    // Otwórz pierwszy element na start
    if(faqItems.length > 0) {
        faqItems[0].classList.add('active');
    }
});
</script>



<style>
:root {
    --rk-pellet-dark: #0f172a;
    --rk-pellet-primary: #059669; /* Eco green for pellet */
    --rk-pellet-light: #ecfdf5;
    --rk-pellet-warn: #ea580c; /* Fire/Orange */
    --rk-pellet-warn-light: #fff7ed;
    --rk-pellet-gray: #64748b;
    --rk-pellet-border: #cbd5e1;
    --rk-pellet-bg: #ffffff;
}

.rk-pellet-box {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-pellet-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -15px rgba(5, 150, 105, 0.15);
    border: 1px solid var(--rk-pellet-primary);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-pellet-header {
    padding: 40px 50px;
    background: linear-gradient(145deg, var(--rk-pellet-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-pellet-primary);
}

.rk-pellet-h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 20px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.rk-pellet-quote {
    font-size: 19px;
    line-height: 1.6;
    color: #cbd5e1;
    font-style: italic;
    max-width: 750px;
    margin: 0 auto 15px auto;
}

.rk-pellet-author {
    font-size: 14px;
    color: var(--rk-pellet-primary);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

/* Interaktywny Symulator - Suwak */
.rk-pellet-sim {
    padding: 45px 50px;
    background: #f8fafc;
}

.rk-pellet-h3 {
    text-align: center;
    font-size: 22px;
    color: var(--rk-pellet-dark);
    margin: 0 0 30px 0;
    font-weight: 800;
}

.rk-toggle-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 40px;
}

.rk-toggle-label {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-pellet-gray);
    transition: color 0.3s;
    cursor: pointer;
}

.rk-toggle-label.active-pro { color: var(--rk-pellet-primary); }
.rk-toggle-label.active-amateur { color: var(--rk-pellet-warn); }

/* Switch CSS */
.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-pellet-primary);
    transition: .4s;
    border-radius: 36px;
}

.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-pellet-warn);
}

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

/* Sekcja Wynikowa */
.rk-sim-data-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 30px;
    background: #ffffff;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-pellet-border);
    transition: all 0.4s ease;
}

.rk-svg-container {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rk-pellet-light);
    border-radius: 12px;
    padding: 20px;
    transition: background 0.4s ease;
}

.anim-flame { transform-origin: bottom center; }
.anim-pipe { transition: stroke 0.4s ease, stroke-dashoffset 1s ease; }

/* Animacje PRO */
.state-pro .rk-sim-data-grid { border-color: var(--rk-pellet-primary); box-shadow: 0 10px 30px -10px rgba(5, 150, 105, 0.2); }
.state-pro .rk-svg-container { background: var(--rk-pellet-light); }
.state-pro .anim-flame { fill: #10b981; animation: steadyBurn 3s infinite alternate; }
.state-pro .anim-pipe { stroke: #10b981; stroke-dasharray: 100; stroke-dashoffset: 0; animation: flowSmooth 2s linear infinite; }

/* Animacje AMATEUR */
.state-amateur .rk-sim-data-grid { border-color: var(--rk-pellet-warn); box-shadow: 0 10px 30px -10px rgba(234, 88, 12, 0.2); }
.state-amateur .rk-svg-container { background: var(--rk-pellet-warn-light); }
.state-amateur .anim-flame { fill: #ea580c; animation: flickerStutter 0.5s infinite; }
.state-amateur .anim-pipe { stroke: #ea580c; stroke-dasharray: 10 10; animation: pulseError 1s infinite; }

@keyframes steadyBurn { 0% { transform: scaleY(0.95); } 100% { transform: scaleY(1.05); } }
@keyframes flowSmooth { to { stroke-dashoffset: -200; } }
@keyframes flickerStutter { 0%, 100% { opacity: 1; transform: scaleY(1); } 50% { opacity: 0.4; transform: scaleY(0.6); } }
@keyframes pulseError { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }

/* Dane tekstowe */
.rk-data-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-data-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px dashed var(--rk-pellet-border);
}

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

.rk-data-label {
    font-size: 15px;
    color: var(--rk-pellet-gray);
    font-weight: 600;
}

.rk-data-value {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-pellet-dark);
}

.rk-data-highlight {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 14px;
}

.state-pro .rk-data-highlight { background: var(--rk-pellet-primary); color: white; }
.state-amateur .rk-data-highlight { background: var(--rk-pellet-warn); color: white; }

/* Linki w tekście boxa */
.rk-sim-desc {
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
}
.rk-sim-desc a {
    color: var(--rk-pellet-primary);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.state-amateur .rk-sim-desc a { color: var(--rk-pellet-warn); }

/* CTA */
.rk-pellet-cta {
    text-align: center;
    padding: 35px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-pellet-border);
}

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

.rk-cta-btn:hover {
    background: var(--rk-pellet-primary);
    transform: translateY(-3px);
    box-shadow: 0 10px 20px -5px rgba(5, 150, 105, 0.4);
}

@media (max-width: 768px) {
    .rk-pellet-header, .rk-pellet-sim, .rk-pellet-cta { padding: 30px 20px; }
    .rk-sim-data-grid { grid-template-columns: 1fr; }
    .rk-svg-container { padding: 30px; }
    .rk-data-item { flex-direction: column; align-items: flex-start; gap: 5px; }
    .rk-pellet-h2 { font-size: 24px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/"
    },
    "headline": "Podsumowanie – Zyskaj 15 lat spokoju z kotłem na pellet",
    "description": "Porównanie parametrów technicznych i kosztów układu ogrzewania podłogowego z kotłem na pellet. Interaktywna analiza wpływu bufora ciepła na stabilność instalacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-26",
    "dateModified": "2026-05-26"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#dataset-podsumowanie",
    "name": "Bilans energetyczny i eksploatacyjny: Kocioł na pellet z buforem i bez bufora (2026)",
    "description": "Zestawienie inżynierskie obrazujące różnice w zużyciu paliwa, taktowaniu i żywotności kotła stałopalnego w zależności od zastosowania sprzęgła hydraulicznego o dużej pojemności.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "sprawność kotła na pellet",
      "taktowanie kotła stałopalnego",
      "zużycie pelletu dom 150m2",
      "żywotność zapalarki ceramicznej",
      "koszty eksploatacyjne ogrzewania podłogowego"
    ],
    "measurementTechnique": "Kalkulacja termodynamiczna oparta na normie PN-EN 303-5 oraz PN-EN 1264, porównująca pracę ciągłą z pracą przerywaną (taktowaniem).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Układ z buforem: Sprawność 94%, zużycie 3.9 t/rok, żywotność zapalarki >5 lat.",
        "Układ bez bufora: Sprawność 74%, zużycie 4.8 t/rok, uszkodzenia grzałki <2 lata."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#webapp-podsumowanie",
    "name": "Symulator Przepływów: Pellet i Podłogówka",
    "description": "Interaktywny interfejs (Toggle Switch) demonstrujący zachowanie płaszczyznowego układu grzewczego zasilanego kotłem na biomasę, wskazujący na konsekwencje braku rozprzężenia hydraulicznego.",
    "applicationCategory": "EngineeringCalculator",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5, and inline SVG support.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-pellet-box" id="rk-pellet-summary">
    <div class="rk-pellet-header">
        <h2 class="rk-pellet-h2">Podsumowanie – Zyskaj 15 lat spokoju z kotłem na pellet</h2>
        <p class="rk-pellet-quote">
            "Połączenie kotła pelletowego z wylewką anhydrytową czy betonową to mariaż dwóch żywiołów. Bez inżynierskiego bufora ciepła tworzysz toksyczny związek. Z buforem – budujesz idealny system, który ogrzeje Twój dom za ułamek ceny prądu."
        </p>
        <div class="rk-pellet-author">Robert Kucharski</div>
    </div>

    <div class="rk-pellet-sim">
        <h3 class="rk-pellet-h3">Symulator Instalacji: Wpływ hydrauliki na koszty</h3>
        
        <div class="rk-toggle-wrapper">
            <span class="rk-toggle-label active-pro" id="rk-lbl-pro" onclick="document.getElementById('rk-sim-toggle').click()">Z buforem (Standard Inż.)</span>
            <label class="rk-switch">
                <input type="checkbox" id="rk-sim-toggle">
                <span class="rk-slider"></span>
            </label>
            <span class="rk-toggle-label" id="rk-lbl-amateur" onclick="document.getElementById('rk-sim-toggle').click()">Bez bufora (Gra w ruletkę)</span>
        </div>

        <div class="rk-sim-data-grid state-pro" id="rk-data-container">
            <div class="rk-svg-container">
                <svg width="100%" height="100%" viewBox="0 0 200 200" style="max-width: 150px;">
                    <rect x="20" y="50" width="70" height="100" rx="8" fill="#334155"></rect>
                    <path class="anim-flame" d="M55 130 C45 130, 40 110, 55 90 C70 110, 65 130, 55 130 Z"></path>
                    <path class="anim-pipe" d="M90 70 L130 70 L130 150 L180 150" fill="none" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"></path>
                    <path class="anim-pipe" d="M180 150 C190 150, 190 130, 180 130 L140 130 C130 130, 130 110, 140 110 L180 110" fill="none" stroke-width="6" stroke-linecap="round"></path>
                </svg>
            </div>
            
            <div>
                <ul class="rk-data-list" id="rk-dynamic-list">
                    <li class="rk-data-item">
                        <span class="rk-data-label">Sprawność roczna systemu</span>
                        <span class="rk-data-value">&gt; 92% <span class="rk-data-highlight">Optymalnie</span></span>
                    </li>
                    <li class="rk-data-item">
                        <span class="rk-data-label">Średnie załączenia palnika</span>
                        <span class="rk-data-value">2 - 4 razy / dobę</span>
                    </li>
                    <li class="rk-data-item">
                        <span class="rk-data-label">Żywotność grzałki ceramicznej</span>
                        <span class="rk-data-value">5 - 7 lat</span>
                    </li>
                    <li class="rk-data-item">
                        <span class="rk-data-label">Prognoza zużycia paliwa (150 m²)</span>
                        <span class="rk-data-value">~ 3.9 tony / sezon</span>
                    </li>
                </ul>
                <div class="rk-sim-desc" id="rk-dynamic-desc">
                    <strong>Werdykt inżynierski:</strong> Zastosowanie minimalnej pojemności 50 l/kW wymuszonej przez <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufor ciepła</a> rozprzęga obiegi. Palnik pracuje w optymalnej temperaturze, a ciepło jest płynnie dawkowane przez <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zawór mieszający</a> i krzywą grzewczą.
                </div>
            </div>
        </div>
    </div>

    <div class="rk-pellet-cta">
        <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/" class="rk-cta-btn">
            SPRAWDŹ REALNE KOSZTY OGRZEWANIA W 2026 ROKU
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez nagłówków H w blokadzie)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-pellet-summary');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif; box-sizing: border-box;">
                    <div style="font-size: 40px; margin-bottom: 15px;">⚠️</div>
                    <div style="font-size: 20px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Zablokowano komponent algorytmiczny</div>
                    <div style="font-size: 15px; color: #cbd5e1; max-width: 600px; margin: 0 auto; line-height: 1.6;">
                        Kontener techniczny i struktura Schema.org stanowią własność intelektualną Projekt-Ogrzewania.pl. Uruchomienie skryptów na tej domenie zostało wstrzymane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Toggle Switch
    const toggle = document.getElementById('rk-sim-toggle');
    const container = document.getElementById('rk-data-container');
    const lblPro = document.getElementById('rk-lbl-pro');
    const lblAmateur = document.getElementById('rk-lbl-amateur');
    const list = document.getElementById('rk-dynamic-list');
    const desc = document.getElementById('rk-dynamic-desc');

    toggle.addEventListener('change', function() {
        if (this.checked) {
            // State: Amateur (Bez bufora)
            container.className = 'rk-sim-data-grid state-amateur';
            lblPro.classList.remove('active-pro');
            lblAmateur.classList.add('active-amateur');
            
            list.innerHTML = `
                <li class="rk-data-item">
                    <span class="rk-data-label">Sprawność roczna systemu</span>
                    <span class="rk-data-value">< 75% <span class="rk-data-highlight">Straty</span></span>
                </li>
                <li class="rk-data-item">
                    <span class="rk-data-label">Średnie załączenia palnika</span>
                    <span class="rk-data-value">Nawet 15-20 razy / dobę</span>
                </li>
                <li class="rk-data-item">
                    <span class="rk-data-label">Żywotność grzałki ceramicznej</span>
                    <span class="rk-data-value">Często < 12 miesięcy</span>
                </li>
                <li class="rk-data-item">
                    <span class="rk-data-label">Prognoza zużycia paliwa (150 m²)</span>
                    <span class="rk-data-value">~ 4.8 tony / sezon</span>
                </li>
            `;
            
            desc.innerHTML = `
                <strong>Skutek awaryjny:</strong> Brak odbioru mocy rzędu 10 kW przez rury zamknięte siłownikami powoduje natychmiastowe przegrzanie i wygaszenie kotła. Kondensacja spalin zasmołuje wymiennik, a instalacja staje się tykającą bombą pochłaniającą paliwo.
            `;
        } else {
            // State: Pro (Z buforem)
            container.className = 'rk-sim-data-grid state-pro';
            lblAmateur.classList.remove('active-amateur');
            lblPro.classList.add('active-pro');
            
            list.innerHTML = `
                <li class="rk-data-item">
                    <span class="rk-data-label">Sprawność roczna systemu</span>
                    <span class="rk-data-value">> 92% <span class="rk-data-highlight">Optymalnie</span></span>
                </li>
                <li class="rk-data-item">
                    <span class="rk-data-label">Średnie załączenia palnika</span>
                    <span class="rk-data-value">2 - 4 razy / dobę</span>
                </li>
                <li class="rk-data-item">
                    <span class="rk-data-label">Żywotność grzałki ceramicznej</span>
                    <span class="rk-data-value">5 - 7 lat</span>
                </li>
                <li class="rk-data-item">
                    <span class="rk-data-label">Prognoza zużycia paliwa (150 m²)</span>
                    <span class="rk-data-value">~ 3.9 tony / sezon</span>
                </li>
            `;
            
            desc.innerHTML = `
                <strong>Werdykt inżynierski:</strong> Zastosowanie minimalnej pojemności 50 l/kW wymuszonej przez <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufor ciepła</a> rozprzęga obiegi. Palnik pracuje w optymalnej temperaturze, a ciepło jest płynnie dawkowane przez <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zawór mieszający</a> i krzywą grzewczą.
            `;
        }
    });
});
</script>



<style>
:root {
    --rk-dl-primary: #0f172a;
    --rk-dl-accent: #ea580c; /* Ogień / Pellet */
    --rk-dl-accent-dark: #c2410c;
    --rk-dl-bg: #f8fafc;
    --rk-dl-border: #e2e8f0;
    --rk-dl-text: #334155;
    --rk-dl-white: #ffffff;
}

.rk-dl-hub-container {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-dl-white);
    border-radius: 24px;
    border: 1px solid var(--rk-dl-border);
    box-shadow: 0 20px 40px -10px rgba(234, 88, 12, 0.1);
    overflow: hidden;
}

/* NAGŁÓWEK SEKCJI */
.rk-dl-header {
    background: linear-gradient(135deg, var(--rk-dl-primary) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: var(--rk-dl-white);
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    border-bottom: 4px solid var(--rk-dl-accent);
}

.rk-dl-header-content { position: relative; z-index: 2; max-width: 65%; }

.rk-dl-badge {
    display: inline-block;
    background: rgba(234, 88, 12, 0.2);
    border: 1px solid rgba(234, 88, 12, 0.3);
    color: #fdba74;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.rk-dl-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 10px 0;
    letter-spacing: -0.5px;
    line-height: 1.2;
}

.rk-dl-header h2 span { color: var(--rk-dl-accent); }

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

/* WIZUALIZACJA PDF / IKONA */
.rk-dl-visual {
    position: relative;
    z-index: 2;
}

.rk-dl-pdf-svg {
    width: 85px;
    height: auto;
    filter: drop-shadow(0 10px 15px rgba(0,0,0,0.4));
    animation: floatPdf 3s infinite ease-in-out alternate;
}

@keyframes floatPdf {
    from { transform: translateY(0) rotate(0deg); }
    to { transform: translateY(-12px) rotate(3deg); }
}

/* GŁÓWNY WORKSPACE */
.rk-dl-workspace {
    display: flex;
    padding: 45px 50px;
    gap: 40px;
    background: var(--rk-dl-white);
}

.rk-dl-preview {
    flex: 1.2;
    background: var(--rk-dl-bg);
    border: 1px solid var(--rk-dl-border);
    border-radius: 16px;
    padding: 12px;
    position: relative;
    cursor: zoom-in;
    transition: transform 0.3s, box-shadow 0.3s;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.02);
}

.rk-dl-preview:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px -10px rgba(234, 88, 12, 0.2);
    border-color: var(--rk-dl-accent);
}

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

.rk-dl-zoom-hint {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: rgba(15, 23, 42, 0.85);
    color: white;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255,255,255,0.1);
}

.rk-dl-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-dl-features {
    list-style: none;
    padding: 0;
    margin: 0 0 35px 0;
}

.rk-dl-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-dl-text);
    line-height: 1.4;
}

.rk-dl-check {
    width: 22px;
    height: 22px;
    color: var(--rk-dl-accent);
    flex-shrink: 0;
    margin-top: -1px;
}

/* PRZYCISK POBIERANIA */
.rk-dl-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-dl-accent);
    color: var(--rk-dl-white);
    text-decoration: none !important;
    padding: 20px 30px;
    border-radius: 14px;
    font-weight: 900;
    font-size: 16px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 25px -5px rgba(234, 88, 12, 0.4);
    border: 2px solid transparent;
}

.rk-dl-btn:hover {
    background: var(--rk-dl-accent-dark);
    transform: translateY(-4px);
    box-shadow: 0 15px 35px -5px rgba(234, 88, 12, 0.5);
    border-color: #fdba74;
}

.rk-dl-btn svg { transition: transform 0.3s; }
.rk-dl-btn:hover svg { transform: translateY(3px); }

/* STOPKA MODUŁU */
.rk-dl-footer {
    padding: 25px 50px;
    background: var(--rk-dl-bg);
    border-top: 1px solid var(--rk-dl-border);
    font-size: 14px;
    color: var(--rk-dl-muted);
    text-align: center;
    line-height: 1.6;
}

.rk-dl-footer a {
    color: var(--rk-dl-accent-dark);
    font-weight: 800;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-dl-accent-dark);
    transition: 0.3s;
}

.rk-dl-footer a:hover {
    border-bottom-style: solid;
    color: var(--rk-dl-primary);
}

@media (max-width: 800px) {
    .rk-dl-header { flex-direction: column; text-align: center; padding: 35px 25px; }
    .rk-dl-header-content { max-width: 100%; margin-bottom: 30px; }
    .rk-dl-workspace { flex-direction: column; padding: 35px 25px; }
    .rk-dl-preview { margin-bottom: 10px; }
    .rk-dl-footer { padding: 25px; }
    .rk-dl-btn { width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#infografika-schemat",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/"
    },
    "headline": "Kompletny Schemat Hydrauliczny: Kocioł na Pellet i Podłogówka (PDF)",
    "description": "Pobierz profesjonalny schemat inżynierski podłączenia kotła stałopalnego do instalacji podłogowej z wykorzystaniem bufora ciepła i zaworu mieszającego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Kociol-na-pellet.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-27",
    "dateModified": "2026-05-27"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#dataset-schemat",
    "name": "Schemat hydrauliczny i parametry: Kocioł na pellet z buforem",
    "description": "Zbiór danych wizualnych i normatywnych precyzujący prawidłowe podłączenie hydrauliczne źródła stałopalnego z niskotemperaturowym odbiornikiem płaszczyznowym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "schemat instalacji kocioł na pellet z buforem",
      "podłączenie podłogówki do pieca na pellet",
      "optymalizacja pracy kotła stałopalnego",
      "temperatura zasilania ogrzewania podłogowego",
      "zabezpieczenie powrotu kotła na pellet"
    ],
    "measurementTechnique": "Weryfikacja hydrauliczna na zgodność z wymogami PN-EN 303-5 oraz zabezpieczenie jastrychu przed przegrzaniem wg normy PN-EN 1264-4.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Inżynierski schemat hydrauliczny instalacji grzewczej"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kociol-na-pellet/#download-hub",
    "name": "Centrum Pobierania Wiedzy: Kocioł na Pellet",
    "description": "Interaktywny moduł umożliwiający wizualizację (zoom) i bezproblemowe pobranie schematów technicznych w formacie PDF/WEBP do użytku na budowie.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5"
  }
]
</script>

<div class="rk-dl-hub-container" id="rk-dl-pellet">
    
    <div class="rk-dl-header">
        <div class="rk-dl-header-content">
            <div class="rk-dl-badge">Darmowe Materiały Projektowe</div>
            <h2>Schemat Hydrauliczny: <span>Pellet i Podłogówka</span></h2>
            <p>Zabierz inżynierską wiedzę bezpośrednio do swojej kotłowni. Kompletny schemat podłączenia bufora, zaworu mieszającego i zabezpieczenia powrotu w jednym pliku PDF.</p>
        </div>
        <div class="rk-dl-visual">
            <svg class="rk-dl-pdf-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="#ea580c" stroke="#ffffff" stroke-width="1"/>
                <path d="M14 2V8H20" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/>
                <path d="M9 13H15M9 17H13" stroke="#ffffff" stroke-width="1.5" stroke-linecap="round"/>
                <text x="7" y="11" fill="white" font-size="4.5" font-weight="900" font-family="sans-serif">PDF</text>
            </svg>
        </div>
    </div>

    <div class="rk-dl-workspace">
        
        <div class="rk-dl-preview" onclick="window.open('https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Kociol-na-pellet.webp', '_blank')">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Kociol-na-pellet.webp" alt="Infografika: Schemat instalacji kocioł na pellet z buforem i ogrzewaniem podłogowym" class="rk-dl-img" loading="lazy">
            <div class="rk-dl-zoom-hint">🔍 Kliknij, aby powiększyć</div>
        </div>

        <div class="rk-dl-info">
            <ul class="rk-dl-features">
                <li class="rk-dl-feature-item">
                    <svg class="rk-dl-check" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    Schemat 1:1 z rozprzężeniem przez bufor ciepła
                </li>
                <li class="rk-dl-feature-item">
                    <svg class="rk-dl-check" 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>
                    Prawidłowe zabezpieczenie powrotu kotła
                </li>
                <li class="rk-dl-feature-item">
                    <svg class="rk-dl-check" 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>
                    Temperatury zasilania wg normy PN-EN 1264
                </li>
                <li class="rk-dl-feature-item">
                    <svg class="rk-dl-check" 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ść, gotowe do druku (A4/A3)
                </li>
            </ul>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Kociol-na-pellet.pdf" class="rk-dl-btn" 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="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 SCHEMAT (PDF)
            </a>
            
        </div>

    </div>

    <div class="rk-dl-footer">
        Masz wątpliwości, czy Twoja maszynownia udźwignie te parametry? <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zleć nam profesjonalny projekt podłogówki i kotłowni</a>, zabezpieczając się przed kosztownymi awariami.
        <br><br>
        © 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/kociol-na-pellet/">Kocioł na pellet.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Kotły na paliwa stałe w ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/kotly-na-paliwa-stale-w-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 05 Jan 2026 11:35:02 +0000</pubDate>
				<category><![CDATA[Bufory ciepła]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Hydraulika grzewcza]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Kotły na paliwa stałe]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[automatyka pogodowa]]></category>
		<category><![CDATA[bufor ciepła]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[kocioł na drewno]]></category>
		<category><![CDATA[kocioł na ekogroszek]]></category>
		<category><![CDATA[kotły na paliwa stałe]]></category>
		<category><![CDATA[niskotemperaturowe ogrzewanie]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[zawór mieszający]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3058</guid>

					<description><![CDATA[<p>Połączenie, które budzi emocje, ale wciąż cieszy się ogromnym zainteresowaniem inwestorów – kotły na paliwa stałe w ogrzewaniu podłogowym to temat wymagający wiedzy, precyzji i dobrego projektu. W polskich realiach klimatycznych i ekonomicznych takie rozwiązanie potrafi być jednocześnie tanie w eksploatacji i bardzo komfortowe, pod warunkiem spełnienia kilku kluczowych zasad technicznych. W artykule krok po kroku omawiamy, jak pogodzić wysokotemperaturową pracę kotła z niskotemperaturową podłogówką, dlaczego bufor ciepła jest sercem instalacji oraz jak uniknąć kosztownych błędów projektowych i wykonawczych.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kotly-na-paliwa-stale-w-ogrzewaniu-podlogowym/">Kotły na paliwa stałe w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Kotły na paliwa stałe w ogrzewaniu podłogowym</strong>&nbsp;to połączenie, które w polskich realiach klimatycznych i ekonomicznych wciąż pozostaje niezwykle popularne. Choć wymaga szczególnego podejścia technicznego, odpowiednio zaprojektowany system gwarantuje efektywne i ekonomiczne ogrzewanie domu, łącząc niskie koszty eksploatacji z komfortem, jaki daje wodne ogrzewanie podłogowe. W tym kompleksowym artykule przeanalizujemy wszystkie aspekty tego połączenia – od fundamentalnych zasad fizyki, przez szczegóły hydrauliki, po konkretne wyliczenia i przykłady instalacji.</p>



<h2 class="wp-block-heading">Podstawowe wyzwanie: godzenie wysokich i niskich temperatur.</h2>



<p class="wp-block-paragraph">Głównym&nbsp;<strong>wyzwaniem technicznym</strong>&nbsp;przy łączeniu kotła stałopalnego z ogrzewaniem podłogowym jest fundamentalna różnica w optymalnych parametrach pracy obu systemów.</p>



<h3 class="wp-block-heading">Charakterystyka pracy kotła na paliwo stałe.</h3>



<p class="wp-block-paragraph">Nowoczesny&nbsp;<strong>kocioł zgazowujący drewno</strong>&nbsp;czy&nbsp;<strong>kocioł na ekogroszek</strong>&nbsp;osiąga najwyższą sprawność i najmniejszą emisję zanieczyszczeń, gdy pracuje na tzw.&nbsp;<strong>nominalnej mocy cieplnej</strong>&nbsp;z temperaturą wody zasilającej w przedziale&nbsp;<strong>70–85°C</strong>. Praca w niższym zakresie (tzw. praca z modulacją mocy) prowadzi do niepełnego spalania, zwiększonej emisji sadzy i smoły oraz spadku sprawności poniżej 70%. Kocioł potrzebuje też odpowiedniego&nbsp;<strong>ciągu kominowego</strong>, który stabilizuje się przy wyższych temperaturach spalin.</p>



<h3 class="wp-block-heading">Specyfika wodnego ogrzewania podłogowego.</h3>



<p class="wp-block-paragraph">Z kolei&nbsp;<strong>wodna pętla grzewcza</strong>&nbsp;wylewana w wylewce betonowej ma zupełnie inne wymagania. Ze względu na komfort użytkownika (brak przegrzania stóp) oraz wytrzymałość materiałów wykończeniowych (np. paneli drewnianych)&nbsp;<strong>temperatura zasilania</strong>&nbsp;pętli podłogowej nie powinna przekraczać&nbsp;<strong>55°C</strong>, a w praktyce często wynosi&nbsp;<strong>35–45°C</strong>. Dodatkowo, system ten ma dużą&nbsp;<strong>bezwładność cieplną</strong>&nbsp;– nagrzewa się i stygnie powoli.</p>



<p class="wp-block-paragraph"><strong>Kluczowe pytanie brzmi: jak zasilić układ niskotemperaturowy (podłogówkę) medium o wysokiej temperaturze z kotła, nie powodując jego nieefektywnej pracy, przegrzania podłogi czy dyskomfortu użytkowników?</strong></p>



<p class="wp-block-paragraph">Odpowiedzią jest zastosowanie odpowiedniego&nbsp;<strong>układu hydraulicznego z buforowaniem ciepła</strong>.</p>



<h2 class="wp-block-heading">Bufor ciepła: serce stabilnej instalacji.</h2>



<p class="wp-block-paragraph"><strong>Zasobnik akumulacyjny</strong>, potocznie zwany&nbsp;<strong>buforem</strong>, jest absolutnie niezbędnym elementem w większości instalacji łączących kocioł stałopalny z ogrzewaniem podłogowym. Jego rola wykracza daleko poza prostą funkcję zbiornika.</p>



<h3 class="wp-block-heading">Zasada działania i korzyści.</h3>



<p class="wp-block-paragraph">Bufor to izolowany termicznie zbiornik wody grzewczej, który działa jako <strong>akumulator energii cieplnej</strong>. Kocioł pracuje cyklicznie – po załadowaniu paliwa i rozpaleniu, oddaje maksymalną moc do momentu wypalenia wsadu. Ciepło to nie jest od razu oddawane do powolnej <a href="https://projekt-ogrzewania.pl">podłogówki</a>, lecz magazynowane w buforze. Po wypaleniu paliwa, kocioł przestaje pracować, a ogrzewanie podłogowe czerpie zgromadzoną energię z bufora. Dzięki temu:</p>



<ul class="wp-block-list">
<li>Kocioł pracuje z&nbsp;<strong>nominalną, wysoką sprawnością</strong>.</li>



<li>Zabezpiecza to instalację podłogową przed&nbsp;<strong>termicznym szokiem</strong>&nbsp;zbyt gorącej wody.</li>



<li>Zwiększa się&nbsp;<strong>czas między dokładaniami</strong>&nbsp;paliwa.</li>



<li>System zyskuje na&nbsp;<strong>stabilności</strong>&nbsp;– wahania temperatury w pomieszczeniach są minimalne.</li>
</ul>



<h3 class="wp-block-heading">Jak dobrać pojemność bufora? Praktyczne wyliczenia.</h3>



<p class="wp-block-paragraph">Pojemność bufora dobiera się w oparciu o moc kotła oraz charakterystykę budynku. Stosuje się kilka praktycznych zasad:</p>



<ol start="1" class="wp-block-list">
<li><strong>Zasada minimalna (uproszczona):</strong>&nbsp;<strong>50 litrów na każdy 1 kW mocy kotła</strong>. Dla kotła o mocy 20 kW oznacza to bufor o pojemności min. 1000 litrów.</li>



<li><strong>Kalkulacja uwzględniająca bezwładność:</strong>&nbsp;Bardziej precyzyjna metoda bierze pod uwagę&nbsp;<strong>zapotrzebowanie na ciepło budynku (Q)</strong>&nbsp;i pożądaną&nbsp;<strong>autonomię (t)</strong>, czyli czas, przez który bufor ma pokrywać potrzeby grzewcze bez pracy kotła.
<ul class="wp-block-list">
<li><strong>Wzór:</strong>&nbsp;<code>Pojemność bufora [litry] = (Autonomia [h] * Zapotrzebowanie mocy budynku Q [kW]) / (Różnica temperatur ΔT [K] * 1,163)</code></li>



<li><strong>Przykład:</strong>&nbsp;Dom o zapotrzebowaniu Q=10 kW, chcemy autonomię 2 godziny przy różnicy temperatur ΔT=40K (np. bufor 85°C, powrót z podłogówki 45°C).</li>



<li><strong>Obliczenie:</strong>&nbsp;<code>Pojemność = (2 * 10) / (40 * 1,163) ≈ 0,43 m³ = 430 litrów</code>. W tym przypadku minimalna pojemność z pierwszego wzoru (50l/kW*20kW=1000l) jest większa i decyduje.</li>
</ul>
</li>
</ol>



<p class="wp-block-paragraph"><strong>Tabela 1: Przykładowe dobory bufora dla różnych mocy kotłów w budynku o dobrej izolacji</strong>.</p>



<style>
/* Responsywna tabela – WordPress */
.tabela-bufor {
  width: 100%;
  border-collapse: collapse;
  margin: 30px 0;
  font-size: 16px;
  overflow: hidden;
  box-shadow: 0 0 20px rgba(0,0,0,0.05);
}

.tabela-bufor thead {
  background-color: #1f2937;
  color: #ffffff;
}

.tabela-bufor th,
.tabela-bufor td {
  padding: 14px 16px;
  text-align: center;
  border-bottom: 1px solid #e5e7eb;
}

.tabela-bufor tbody tr:nth-child(even) {
  background-color: #f9fafb;
}

.tabela-bufor tbody tr:hover {
  background-color: #eef2ff;
  transition: background-color 0.2s ease-in-out;
}

.tabela-bufor th {
  font-weight: 600;
  text-transform: uppercase;
  font-size: 14px;
}

/* RESPONSYWNOŚĆ */
@media (max-width: 768px) {
  .tabela-bufor thead {
    display: none;
  }

  .tabela-bufor,
  .tabela-bufor tbody,
  .tabela-bufor tr,
  .tabela-bufor td {
    display: block;
    width: 100%;
  }

  .tabela-bufor tr {
    margin-bottom: 20px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
  }

  .tabela-bufor td {
    text-align: right;
    padding-left: 50%;
    position: relative;
  }

  .tabela-bufor td::before {
    content: attr(data-label);
    position: absolute;
    left: 16px;
    width: calc(50% - 32px);
    text-align: left;
    font-weight: 600;
    color: #374151;
  }
}
</style>

<table class="tabela-bufor">
  <thead>
    <tr>
      <th>Moc kotła [kW]</th>
      <th>Typowy zakres powierzchni domu [m²]</th>
      <th>Minimalna pojemność bufora (50 l/kW)</th>
      <th>Zalecana pojemność dla komfortu</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td data-label="Moc kotła [kW]">15 kW</td>
      <td data-label="Powierzchnia domu">120 – 150 m²</td>
      <td data-label="Minimalna pojemność">750 l</td>
      <td data-label="Zalecana pojemność">1000 – 1200 l</td>
    </tr>
    <tr>
      <td data-label="Moc kotła [kW]">20 kW</td>
      <td data-label="Powierzchnia domu">150 – 200 m²</td>
      <td data-label="Minimalna pojemność">1000 l</td>
      <td data-label="Zalecana pojemność">1200 – 1500 l</td>
    </tr>
    <tr>
      <td data-label="Moc kotła [kW]">25 kW</td>
      <td data-label="Powierzchnia domu">200 – 250 m²</td>
      <td data-label="Minimalna pojemność">1250 l</td>
      <td data-label="Zalecana pojemność">1500 – 2000 l</td>
    </tr>
    <tr>
      <td data-label="Moc kotła [kW]">30 kW</td>
      <td data-label="Powierzchnia domu">250 – 300 m²</td>
      <td data-label="Minimalna pojemność">1500 l</td>
      <td data-label="Zalecana pojemność">2000 – 2500 l</td>
    </tr>
  </tbody>
</table>



<h2 class="wp-block-heading">Hydraulika i automatyka: zaawansowane układy mieszające.</h2>



<p class="wp-block-paragraph">Sam bufor nie rozwiąże problemu różnicy temperatur. Potrzebny jest&nbsp;<strong>inteligentny układ dystrybucji ciepła</strong>&nbsp;pomiędzy buforem a pętlami podłogowymi.</p>



<h3 class="wp-block-heading">Układ z zaworami mieszającymi i pompą.</h3>



<p class="wp-block-paragraph">To najpopularniejsze rozwiązanie. Na zasilaniu każdej&nbsp;<strong>gałęzi grzewczej</strong>&nbsp;(np. osobna dla parteru, piętra) montuje się&nbsp;<strong>trójdrogowy zawór mieszający</strong>&nbsp;sterowany siłownikiem. Zawór pobiera gorącą wodę z bufora i miesza ją z chłodną wodą powrotną z pętli, uzyskując żądaną, bezpieczną temperaturę dla podłogówki (np. 40°C). Za utrzymaniem stałej temperatury czuwa&nbsp;<strong>czujnik na rurze zasilającej podłogówkę</strong>&nbsp;i sterownik, który reguluje pozycję zaworu.</p>



<p class="wp-block-paragraph"><strong>Przykład techniczny:</strong>&nbsp;Temperatura w buforze: 75°C. Żądana temp. zasilania podłogówki: 40°C. Temp. powrotu z podłogi: 35°C. Zawór mieszający ustawia proporcję: pobiera niewielką ilość wody 75°C i mieszając ją z dużą ilością wody 35°C, uzyskuje na wyjściu 40°C. Gdy temperatura w buforze spadnie do 50°C, zawór otworzy się bardziej, by utrzymać to samo 40°C na zasilaniu.</p>



<h3 class="wp-block-heading">Pompa z głowicą mieszającą (zestaw mieszający).</h3>



<p class="wp-block-paragraph">Alternatywą dla zaworu trójdrogowego jest&nbsp;<strong>zestaw z pompą i zaworem przełączającym</strong>. Pompa obiegowa podłogówki wymusza obieg przez krótkie, zamknięte pętle, a do tego obiegu, poprzez zawór, dołączana jest odpowiednia ilość gorącej wody z bufora. Rozwiązanie szczególnie sprawdza się w mniejszych instalacjach.</p>



<h3 class="wp-block-heading">Rola automatyki pogodowej.</h3>



<p class="wp-block-paragraph">W nowoczesnych instalacjach&nbsp;<strong>regulator pogodowy</strong>&nbsp;jest standardem. Mierzy on temperaturę zewnętrzną i na jej podstawie (z wykorzystaniem tzw.&nbsp;<strong>krzywej grzewczej</strong>) oblicza wymaganą temperaturę wody w obiegu grzewczym. Im zimniej na dworze, tym wyższą temperaturę zasilania ustawia dla zaworów mieszających. Dzięki temu system&nbsp;<strong>reaguje prewencyjnie na zmiany pogody</strong>, a nie z opóźnieniem na spadek temperatury w pokoju.</p>



<h2 class="wp-block-heading">Dobór kotła na paliwo stałe do ogrzewania podłogowego.</h2>



<p class="wp-block-paragraph">Nie każdy kocioł nadaje się równie dobrze. Wybór zależy od priorytetów: wygody, kosztu paliwa, ekologii.</p>



<h3 class="wp-block-heading">Kotły z podajnikiem (pellet, ekogroszek).</h3>



<ul class="wp-block-list">
<li><strong>Zasada działania:</strong>&nbsp;Zasobnik na paliwo połączony jest ślimakowym podajnikiem z paleniskiem. Paliwo jest automatycznie dozowane na podstawie sygnału z termostatu.&nbsp;<strong>Wygoda zbliżona do kotła gazowego.</strong></li>



<li><strong>Dopasowanie do podłogówki:</strong>&nbsp;Doskonałe. Praca jest bardziej stabilna i modulowalna niż w kotłach zasypowych, choć nadal wymaga bufora dla optymalizacji. Automatyka kotła może współpracować z regulatorami pokojowymi.</li>
</ul>



<h3 class="wp-block-heading">Kotły zgazowujące drewno (zasypowe).</h3>



<ul class="wp-block-list">
<li><strong>Zasada działania:</strong>&nbsp;Spalanie dwuetapowe. W pierwszej komorze drewno jest podgrzewane i uwalnia gaz drzewny, który spala się w drugiej komorze przy bardzo wysokiej temperaturze.&nbsp;<strong>Bardzo wysoka sprawność (często powyżej 90%).</strong></li>



<li><strong>Dopasowanie do podłogówki:</strong>&nbsp;Wymagają bardzo starannego doboru mocy i dużego bufora, ponieważ pracują najlepiej przy pełnym obciążeniu. Idealne dla użytkowników ceniących ekologię i mających dostęp do taniego drewna.</li>
</ul>



<h3 class="wp-block-heading">Kotły wielopaliwowe.</h3>



<ul class="wp-block-list">
<li><strong>Zasada działania:</strong>&nbsp;Często konstrukcja komory umożliwia spalanie zarówno węgla (ekogroszku), jak i drewna. Mniej wydajne od specjalistycznych konstrukcji, ale dające elastyczność.</li>



<li><strong>Dopasowanie do podłogówki:</strong>&nbsp;Wymagają standardowych zabezpieczeń (bufor, mieszacze). Ich praca jest mniej stabilna, więc rola bufora jest kluczowa.</li>
</ul>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego z kotłem stałopalnym: kluczowe punkty.</h2>



<p class="wp-block-paragraph"><strong><a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">Projekt instalacji</a></strong> jest etapem, na którym nie można oszczędzać. Błędy projektowe są trudne i kosztowne w naprawie. W kontekście współpracy z kotłem na paliwo stałe, projekt musi uwzględnić kilka absolutnie krytycznych elementów:</p>



<ol start="1" class="wp-block-list">
<li><strong>Bilans cieplny budynku:</strong>&nbsp;Precyzyjne obliczenie strat ciepła to podstawa do doboru mocy kotła.&nbsp;<strong>Przewymiarowanie kotła</strong>&nbsp;to najczęstszy błąd, prowadzący do pracy z cyklami (tzw. taktowanie), co niszczy kocioł i obniża komfort. Kocioł dobiera się z niewielkim zapasem (10-20%) do obliczonego zapotrzebowania.</li>



<li><strong>Rozplanowanie pętli grzewczych:</strong> Projektant musi tak podzielić powierzchnię na pętle (o długościach rury 80-120m), aby zapewnić równomierny rozkład temperatury. W kontekście kotła stałopalnego istotne jest, aby pętle w pomieszczeniach o największych stratach (np. salon z dużymi oknami) miały możliwość zasilenia nieco wyższą temperaturą (np. 45°C) niż pętle w sypialniach (np. 35°C). Wymaga to zaprojektowania osobnych <strong>gałęzi z własnymi <a href="https://projekt-ogrzewania.pl/kategoria-produktu/grupy-pompowo-mieszajace/">zaworami mieszającymi</a></strong>.</li>



<li><strong>Schemat hydrauliczny z buforem:</strong>&nbsp;Projekt musi dokładnie określić miejsca podłączeń, średnice rur, sposób hydraulicznego rozdzielenia obiegu kotłowego, bufora i obiegów grzewczych. Kluczowe jest uniknięcie&nbsp;<strong>zjawiska short-circuit</strong>&nbsp;(krótkiego spięcia hydraulicznego), gdy gorąca woda z kotła płynie najkrótszą drogą z powrotem do kotła, omijając bufor i instalację.</li>



<li><strong>Dobór elementów zabezpieczających:</strong>&nbsp;Projekt musi zawierać&nbsp;<strong>zawór bezpieczeństwa</strong>&nbsp;na kotle i buforze,&nbsp;<strong>naczynie wzbiorcze</strong>&nbsp;o odpowiedniej pojemności dla całej instalacji oraz&nbsp;<strong>zabezpieczenie przed skroplinami</strong>&nbsp;w kominie (co grozi przy zbyt niskiej temperaturze spalin).</li>



<li><strong>Założenia dla automatyki:</strong>&nbsp;Określenie, jaki regulator będzie zarządzał całym systemem, jak podłączone zostaną czujniki i jak ma przebiegać współpraca pomiędzy sterownikiem kotła a automatyką grzewczą.</li>
</ol>



<h2 class="wp-block-heading">Analiza kosztów i przykład kompletnej instalacji.</h2>



<p class="wp-block-paragraph">Poniżej przedstawiamy&nbsp;<strong>szczegółowy przykład techniczny</strong>&nbsp;dla domu o powierzchni 160 m² z zapotrzebowaniem na ciepło 12 kW.</p>



<h3 class="wp-block-heading">Skład systemu:</h3>



<ol start="1" class="wp-block-list">
<li><strong>Źródło ciepła:</strong>&nbsp;Kocioł zgazowujący drewno, moc 15 kW, z płaszczem wodnym. Sprawność deklarowana: 92%.</li>



<li><strong>Akumulacja:</strong>&nbsp;Bufor ciepła stalowy, pojemność 1200 litrów, izolacja 100 mm wełny mineralnej.</li>



<li><strong>Rozdzielenie podłogówki:</strong>&nbsp;Dwie gałęzie grzewcze (parter + piętro) z indywidualnymi zestawami mieszającymi (zawór 3-drogowy + pompa + sterownik).</li>



<li><strong>Automatyka:</strong>&nbsp;Centralny regulator pogodowy z czujnikami temperatury wewnętrznej w salon i sypialni.</li>



<li><strong>Paliwo:</strong>&nbsp;Drewno opałowe sezonowane (o wilgotności poniżej 20%), wartość opałowa ok. 4 kWh/kg.</li>
</ol>



<h3 class="wp-block-heading">Szacunkowe wyliczenie zużycia paliwa:</h3>



<ul class="wp-block-list">
<li>Sezon grzewczy: 180 dni.</li>



<li>Średnie zapotrzebowanie dobowe przy temperaturze zewnętrznej +5°C: ok. 60 kWh (12 kW * 20h pracy pompy * 0.25 współczynnika obciążenia).</li>



<li>Roczna potrzeba ciepła: ok. 180 dni * 60 kWh/dobę =&nbsp;<strong>10 800 kWh</strong>.</li>



<li>Uwzględniając sprawność systemu (kocioł 92%, straty bufora i instalacji ~10%): potrzebna energia z paliwa = 10 800 kWh / (0,92*0,9) ≈&nbsp;<strong>13 040 kWh</strong>.</li>



<li>Ilość drewna: 13 040 kWh / 4 kWh/kg =&nbsp;<strong>3 260 kg</strong>&nbsp;(ok. 3,3 tony) drewna sezonowanego na sezon.</li>
</ul>



<h3 class="wp-block-heading">Koszty inwestycyjne (przybliżone):</h3>



<ul class="wp-block-list">
<li>Kocioł z instalacją kominową: 12 000 – 18 000 zł</li>



<li>Bufor 1200l z armatura: 5 000 – 7 000 zł</li>



<li>Ogrzewanie podłogowe (<a href="https://projekt-ogrzewania.pl/kategoria-produktu/rury-do-ogrzewania-podlogowego/">rury</a>, <a href="https://projekt-ogrzewania.pl/kategoria-produktu/rozdzielacze-do-ogrzewania-podlogowego/">rozdzielacze</a>, sterowniki, <a href="https://projekt-ogrzewania.pl/kategoria-produktu/materialy-uzupelniajace/">materiały</a>): 15 000 – 25 000 zł (w zależności od wykonawcy)</li>



<li>Projekt i montaż hydrauliki: 8 000 – 12 000 zł</li>



<li><strong>Łącznie (orientacyjnie): 40 000 – 62 000 zł</strong></li>
</ul>



<h2 class="wp-block-heading">FAQ – najczęstsze pytania.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1767610135230"><strong class="schema-faq-question"><strong>Czy kotły na paliwa stałe nadają się do ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Tak, ale wyłącznie przy zastosowaniu odpowiedniego układu hydraulicznego z buforem ciepła i zaworami mieszającymi. Bez tego instalacja będzie nieefektywna i niekomfortowa.</p> </div> <div class="schema-faq-section" id="faq-question-1767610151570"><strong class="schema-faq-question"><strong>Dlaczego bufor ciepła jest konieczny przy kotle stałopalnym?</strong></strong> <p class="schema-faq-answer">Bufor stabilizuje pracę kotła, magazynuje nadwyżki energii i chroni ogrzewanie podłogowe przed zbyt wysoką temperaturą zasilania.</p> </div> <div class="schema-faq-section" id="faq-question-1767610162680"><strong class="schema-faq-question"><strong>Jaka temperatura jest bezpieczna dla ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">W praktyce temperatura zasilania podłogówki powinna wynosić 35–45°C, maksymalnie do 55°C w wyjątkowych warunkach.</p> </div> <div class="schema-faq-section" id="faq-question-1767610176310"><strong class="schema-faq-question"><strong>Czy można połączyć kocioł na drewno bezpośrednio z podłogówką?</strong></strong> <p class="schema-faq-answer">Nie. Bezpośrednie połączenie grozi przegrzaniem podłogi, dyskomfortem użytkowników i skróceniem żywotności instalacji.</p> </div> <div class="schema-faq-section" id="faq-question-1767610186295"><strong class="schema-faq-question"><strong>Jaki kocioł najlepiej sprawdzi się z ogrzewaniem podłogowym?</strong></strong> <p class="schema-faq-answer">Najlepiej sprawdzają się kotły z podajnikiem oraz kotły zgazowujące drewno, ale tylko w połączeniu z dobrze dobranym buforem i automatyką pogodową.</p> </div> </div>



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



<p class="wp-block-paragraph">Podsumowując, system oparty na&nbsp;<strong>kotle na paliwo stałe z buforem ciepła i wodnym ogrzewaniem podłogowym</strong>&nbsp;to inwestycja wymagająca większego nakładu początkowego i przestrzeni, ale w długiej perspektywie gwarantująca niskie koszty ogrzewania i wysoki komfort cieplny.&nbsp;<strong>Kluczem do sukcesu jest profesjonalny projekt, uwzględniający specyfikę pracy kotła stałopalnego, oraz staranny, świadomy montaż.</strong>&nbsp;Dzięki temu połączenie starej, sprawdzonej technologii spalania paliw stałych z nowoczesnym, niskotemperaturowym systemem dystrybucji ciepła stanie się efektywną i niezawodną centralą cieplną dla każdego domu.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="mWPF6N8zC1"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=SxbfvlVJj8#?secret=mWPF6N8zC1" data-secret="mWPF6N8zC1" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kotly-na-paliwa-stale-w-ogrzewaniu-podlogowym/">Kotły na paliwa stałe w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Kocioł gazowy.</title>
		<link>https://projekt-ogrzewania.pl/kociol-gazowy/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 04 Jan 2026 14:02:32 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Kocioł gazowy]]></category>
		<category><![CDATA[Modernizacja ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie budynków]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[kocioł gazowy]]></category>
		<category><![CDATA[kocioł kondensacyjny]]></category>
		<category><![CDATA[niskotemperaturowe ogrzewanie]]></category>
		<category><![CDATA[ogrzewanie domu]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rozdzielacz podłogówki]]></category>
		<category><![CDATA[sterowanie pogodowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3048</guid>

					<description><![CDATA[<p>Wybór źródła ciepła do ogrzewania podłogowego to decyzja, która wpływa na komfort, koszty i niezawodność systemu przez długie lata. Kocioł gazowy w ogrzewaniu podłogowym pozostaje jednym z najczęściej wybieranych rozwiązań, ponieważ idealnie wpisuje się w charakterystykę instalacji niskotemperaturowych. W artykule omawiamy zasadę działania kotła kondensacyjnego, proces kondensacji, kluczowe elementy instalacji, dobór mocy, sterowanie oraz praktyczne aspekty projektowania i eksploatacji. To kompleksowy przewodnik zarówno dla inwestorów, jak i osób technicznych.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">Kocioł gazowy.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wybór efektywnego i komfortowego systemu grzewczego to kluczowa decyzja dla każdego inwestora lub właściciela domu.&nbsp;<strong>Kocioł gazowy w ogrzewaniu podłogowym</strong>&nbsp;stanowi jedno z najpopularniejszych i najbardziej sprawdzonych rozwiązań, łącząc w sobie zalety nowoczesnej techniki grzewczej z niezrównanym komfortem użytkowania. W tym kompleksowym artykule, skierowanym zarówno do profesjonalistów, jak i świadomych inwestorów, przeanalizujemy techniczne aspekty, zasady działania, kryteria doboru oraz praktyczne wskazówki dotyczące budowy tego systemu.</p>



<h2 class="wp-block-heading">Dlaczego to idealne połączenie techniczne? Zgodność parametrów pracy.</h2>



<p class="wp-block-paragraph">Podstawą efektywnego działania każdej instalacji grzewczej jest&nbsp;<strong>zgodność charakterystyk źródła ciepła z systemem dystrybucji</strong>. W tym kontekście połączenie kondensacyjnego kotła gazowego z wodnym ogrzewaniem podłogowym to prawdziwe&nbsp;<em>małżeństwo z rozsądku</em>.</p>



<p class="wp-block-paragraph"><strong><a href="https://projekt-ogrzewania.pl">Wodne ogrzewanie podłogowe</a></strong> jest systemem <strong>niskotemperaturowym</strong>. Jego zadaniem jest dostarczenie łagodnego, równomiernego ciepła o stosunkowo niskiej temperaturze zasilania, zazwyczaj mieszczącej się w przedziale <strong>35-55°C</strong>. Z kolei nowoczesne <strong>kotły gazowe kondensacyjne</strong> osiągają szczyt swojej sprawności (często przekraczającej 100% w odniesieniu do wartości opałowej paliwa) właśnie podczas pracy w niskotemperaturowym zakresie. Dzieje się tak dzięki zjawisku <strong>kondensacji pary wodnej</strong> zawartej w spalinach, które zachodzi intensywniej, gdy temperatura wody powrotnej jest niska.</p>



<ul class="wp-block-list">
<li><strong>Przykład techniczny</strong>: Dla typowego kotła kondensacyjnego, przy temperaturze zasilania 40°C i powrotu 30°C, sprawność może osiągnąć <strong>108%</strong>. Gdyby ten sam kocioł pracował w systemie grzejnikowym starszego typu (temp. zasilania 75°C, powrót 65°C), sprawność spadłaby do poziomu ok. <strong>93-95%</strong>. Różnica w zużyciu gazu może sięgać <strong>10-15%</strong> na korzyść układu z podłogówką.</li>
</ul>



<h3 class="wp-block-heading">Jak działa proces kondensacji w niskiej temperaturze?</h3>



<p class="wp-block-paragraph">Kluczem jest tzw.&nbsp;<strong>punkt rosy</strong>&nbsp;spalin. W spalinach gazowych znajduje się para wodna. Gdy gorące spaliny przechodzą przez wymiennik ciepła, a temperatura ścianki wymiennika spadnie poniżej punktu rosy (ok. 55°C dla gazu ziemnego), para ulega skropleniu. Podczas tego&nbsp;<strong>przemiany fazowej</strong>&nbsp;uwalniana jest dodatkowa energia&nbsp;<em>latentna</em>&nbsp;(ciepło skraplania), która jest odzyskiwana i przekazywana do instalacji. To właśnie ten proces pozwala przekroczyć tradycyjnie pojmowaną sprawność.</p>



<h2 class="wp-block-heading">Architektura systemu: Nie tylko kocioł gazowy – kluczowe komponenty instalacji.</h2>



<p class="wp-block-paragraph">Sam&nbsp;<strong>kocioł gazowy</strong>&nbsp;jest sercem systemu, ale do jego prawidłowego funkcjonowania w układzie z ogrzewaniem podłogowym niezbędne są wyspecjalizowane komponenty. Ich prawidłowy dobór i montaż decyduje o sprawności, komforcie i bezawaryjności.</p>



<h3 class="wp-block-heading">1. <a href="https://projekt-ogrzewania.pl/kategoria-produktu/grupy-pompowo-mieszajace/">Układ mieszający</a> – strażnik temperatury.</h3>



<p class="wp-block-paragraph">To najważniejszy element pośredniczący między kotłem a pętlami podłogowymi. Jego zadaniem jest&nbsp;<strong>obniżenie temperatury wody</strong>&nbsp;pochodzącej z kotła (która może wynosić np. 60-70°C) do bezpiecznej i komfortowej wartości dla pętli podłogowych (np. 35-45°C).</p>



<ul class="wp-block-list">
<li><strong>Zasada działania</strong>: Zawór mieszający (zwykle 3- lub 4-drogowy) do gorącej wody z kotła (zasilanie) dolewa schłodzoną wodę powracającą z podłogówki (powrót), uzyskując wymaganą temperaturę mieszanki.</li>



<li><strong>Dlaczego to konieczne?</strong> Bezpośrednie podanie zbyt gorącej wody do pętli podłogowej spowodowałoby:
<ul class="wp-block-list">
<li>Dyskomfort cieplny (uczucie &#8222;za gorąco&#8221; pod stopami).</li>



<li>Ryzyko uszkodzenia warstw podłogi (np. paczenie paneli, pękanie płytek).</li>



<li>Niepotrzebne przeciążenie kotła i straty energii.</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading">2. Rozdzielacze z regulacją hydrauliczną.</h3>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl/kategoria-produktu/rozdzielacze-do-ogrzewania-podlogowego/">Rozdzielacz</a> to węzeł, od którego zaczynają się wszystkie pętle grzewcze. Składa się z części zasilającej i powrotnej. <strong>Jego prawidłowe wyposażenie jest kluczowe</strong>:</p>



<ul class="wp-block-list">
<li><strong>Przepływomierze (<a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametry</a>)</strong>: Na kolektorze zasilającym, umożliwiają wizualną kontrolę i ustawienie natężenia przepływu w każdej pętli.</li>



<li><strong>Zawory nastawcze (regulacyjne)</strong>: Na kolektorze powrotnym, służą do precyzyjnego <strong>zrównoważenia hydraulicznego</strong> instalacji. Dzięki nim można ustawić odpowiednie opory, tak aby do każdej pętli, niezależnie od jej długości, trafiła właściwa ilość ciepłej wody.</li>



<li><strong>Przykład praktyczny</strong>: W jednym domu mamy pętlę w łazience o długości 60m i pętlę w salonie o długości 120m. Bez regulacji, woda popłynie głównie krótszą, mniej oporową pętlą, pozostawiając salon zimny. Zawory nastawcze zwiększają opór na krótszej pętli, wymuszając odpowiedni przepływ również na dłuższej.</li>
</ul>



<h3 class="wp-block-heading">3. Zaawansowane sterowanie – mózg instalacji.</h3>



<p class="wp-block-paragraph">Inteligentne sterowanie to podstawa efektywności. Wyróżniamy kilka poziomów:</p>



<ul class="wp-block-list">
<li><strong>Sterownik (regulator) pogodowy</strong>: Montowany na zewnątrz budynku. Mierzy temperaturę otoczenia i na tej podstawie automatycznie oblicza oraz ustawia optymalną temperaturę wody zasilającej dla kotła i układu mieszającego (<strong>krzywa grzewcza</strong>). Im zimniej na zewnątrz, tym cieplejsza woda trafia do systemu.</li>



<li><strong><a href="https://projekt-ogrzewania.pl/czy-warto-montowac-sterowniki-do-ogrzewania-podlogowego/">Sterowniki strefowe (termostaty pokojowe)</a></strong>: Pozwalają na indywidualne ustawianie temperatury w różnych częściach domu (strefach). Wysyłają sygnał do siłowników termoelektrycznych zamontowanych na rozdzielaczu, które otwierają lub zamykają przepływ do danej pętli.</li>



<li><strong>Sterownik kotła</strong>: Koordynuje pracę palnika, pompy i współpracuje z pozostałymi elementami automatyki.</li>
</ul>



<h3 class="wp-block-heading">4. Pompy obiegowe.</h3>



<p class="wp-block-paragraph">W typowej instalacji pracują co najmniej&nbsp;<strong>dwie pompy</strong>:</p>



<ul class="wp-block-list">
<li><strong>Pompa kotłowa</strong>: Zintegrowana z kotłem, tłoczy wodę w obiegu kotłowym (kocioł -> zawór mieszający -> powrót do kotła).</li>



<li><strong><a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">Pompa obiegowa podłogówki</a></strong>: Znajduje się w module mieszającym i odpowiada za tłoczenie wody w obiegu podłogowym (zawór mieszający -> rozdzielacz -> pętle -> powrót do zaworu mieszającego). Jej wydajność musi być dobrana do oporów hydraulicznych najdłuższej pętli.</li>
</ul>



<h2 class="wp-block-heading">Szczegółowy schemat przepływu ciepła i wody w systemie.</h2>



<p class="wp-block-paragraph">Aby w pełni zrozumieć synergię działania, prześledźmy krok po kroku drogę, jaką pokonuje ciepło i czynnik grzewczy.</p>



<ol start="1" class="wp-block-list">
<li><strong>Faza wytwarzania</strong>: <strong>Kocioł gazowy kondensacyjny</strong>, sterowany przez regulator pogodowy, rozpala palnik i podgrzewa wodę do obliczonej temperatury (np. 65°C przy mrozie -10°C).</li>



<li><strong>Faza mieszania</strong>: Gorąca woda z kotła trafia do <strong>zaworu mieszającego</strong>. Tu, na podstawie nastawy termostatu czujnika podłogowego, miesza się z chłodną wodą powrotną z pętli (np. 30°C), by uzyskać temperaturę docelową (np. 40°C).</li>



<li><strong>Faza dystrybucji</strong>: Schłodzona mieszanka jest tłoczona przez <strong>pompę obiegową podłogówki</strong> na <strong>rozdzielacz główny</strong>. Stamtąd, przez odpowiednio wyważone zawory, trafia do indywidualnych pętli ułożonych w wylewce podłogowej.</li>



<li><strong>Faza oddawania ciepła</strong>: Woda przepływa przez pętle z rur (np. <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">PEX</a>, <a href="https://projekt-ogrzewania.pl/rura-pert-do-ogrzewania-podlogowego/">PE-RT</a>), oddając ciepło przez kondukcję (przewodzenie) do wylewki, a następnie przez promieniowanie do pomieszczenia. Temperatura wody spada (np. do 30°C).</li>



<li><strong>Faza powrotu i kondensacji</strong>: Ochłodzona woda zbiera się w kolektorze powrotnym rozdzielacza. Następnie dzieli się:
<ul class="wp-block-list">
<li>Część (tzw. <strong>schłodzony powrót</strong>) trafia z powrotem do zaworu mieszającego, aby obniżyć temperaturę zasilania pętli.</li>



<li>Część (tzw. <strong>ciepły powrót</strong>) płynie bezpośrednio do kotła. <strong>To kluczowy moment!</strong> Niska temperatura tego powrotu (30°C) umożliwia intensywną kondensację w kotle, maksymalizując sprawność i odzysk energii.</li>
</ul>
</li>



<li><strong>Faza regulacji</strong>: Gdy termostat pokojowy w danej strefie osiągnie zadaną temperaturę, zamyka siłownik na rozdzielaczu. Przepływ w pętli ustaje. Kocioł może przejść w stan oczekiwania lub modulować swoją moc w dół, dzięki czemu pracuje w sposób ciągły i ekonomiczny.</li>
</ol>



<h2 class="wp-block-heading">Dobór mocy kotła gazowego: Obliczenia i praktyczne przykłady.</h2>



<p class="wp-block-paragraph">Przewymiarowanie kotła to jeden z najczęstszych błędów, prowadzący do&nbsp;<strong>cyklicznej, nieefektywnej pracy (tzw. taktowanie)</strong>&nbsp;i zwiększonego zużycia paliwa. Moc kotła powinna być dobrana na podstawie&nbsp;<strong>zapotrzebowania na ciepło budynku</strong>&nbsp;(moc cieplna), a nie &#8222;na oko&#8221;.</p>



<p class="wp-block-paragraph"><strong>Podstawowy wzór szacunkowy (dla domów o dobrej izolacji, według WT2021):</strong><br><code>Zapotrzebowanie na moc grzewczą [kW] = Kubatura [m³] * Współczynnik zapotrzebowania [W/m³]</code></p>



<p class="wp-block-paragraph">Gdzie współczynnik zapotrzudowania wynosi:</p>



<ul class="wp-block-list">
<li>Dom stary, słabo ocieplony: 60-80 W/m³</li>



<li>Dom standardowy (2000-2010): 40-60 W/m³</li>



<li>Dom dobrze ocieplony (po 2014): 30-50 W/m³</li>



<li>Dom pasywny/energooszczędny: 20-30 W/m³</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład obliczeniowy nr 1:</strong><br>Dom parterowy z poddaszem użytkowym, ocieplony zgodnie z obecnymi normami (wsp. = 25 W/m³). Kubatura netto (ogrzewana) = 450 m³.<br><code>Moc cieplna = 450 m³ * 25 W/m³ = 11 250 W = 11.25 kW</code><br>Do tego należy doliczyć&nbsp;<strong>zapotrzebowanie na moc do podgrzewu ciepłej wody użytkowej (c.w.u.)</strong>. Dla typowego domu 4-osobowego z bateriami prysznicowymi przyjmuje się ok.&nbsp;<strong>20-25 kW mocy chwilowej</strong>&nbsp;potrzebnej do komfortowego podgrzewu. Kocioł musi pokryć i to zapotrzebowanie.<br><strong>Wniosek</strong>: Dla takiego domu należy wybrać&nbsp;<strong>kocioł kondensacyjny o mocy grzewczej ok. 24-26 kW</strong>, który z powodzeniem pokryje zarówno potrzeby grzewcze (11.25 kW), jak i potrzebną moc do c.w.u.</p>



<p class="wp-block-paragraph"><strong>Przykład obliczeniowy nr 2:</strong><br>Mały, energooszczędny domek o kubaturze 200 m³ (wsp. = 15 W/m³).<br><code>Moc cieplna = 200 m³ * 15 W/m³ = 3 kW</code><br>Nawet biorąc pod uwagę c.w.u., wystarczający może okazać się&nbsp;<strong>kocioł kompaktowy o mocy 12-15 kW</strong>. Na rynku dostępne są już kotły z szerokim zakresem modulacji (np. 1:10), co oznacza, że kocioł 15kW może płynnie regulować moc w dół nawet do&nbsp;<strong>1.5 kW</strong>, idealnie dopasowując się do niskiego zapotrzebowania grzewczego budynku.</p>



<h2 class="wp-block-heading">Porównanie z innymi źródłami ciepła: Tabela analizy.</h2>



<p class="wp-block-paragraph">Poniższa tabela prezentuje techniczne i ekonomiczne aspekty różnych źródeł ciepła współpracujących z ogrzewaniem podłogowym.</p>



<style>
.responsive-table {
  width: 100%;
  border-collapse: collapse;
  margin: 30px 0;
  font-family: Arial, sans-serif;
  font-size: 15px;
}

.responsive-table th,
.responsive-table td {
  border: 1px solid #e0e0e0;
  padding: 12px 10px;
  text-align: left;
}

.responsive-table th {
  background: #f5f5f5;
  font-weight: 600;
}

.responsive-table tr:nth-child(even) {
  background: #fafafa;
}

.responsive-table-wrapper {
  overflow-x: auto;
}

/* Mobile */
@media (max-width: 768px) {
  .responsive-table thead {
    display: none;
  }

  .responsive-table tr {
    display: block;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    padding: 10px;
    background: #fff;
  }

  .responsive-table td {
    display: flex;
    justify-content: space-between;
    padding: 8px 5px;
    border: none;
    border-bottom: 1px solid #eee;
  }

  .responsive-table td:last-child {
    border-bottom: none;
  }

  .responsive-table td::before {
    content: attr(data-label);
    font-weight: 600;
    color: #555;
    margin-right: 10px;
  }
}
</style>

<div class="responsive-table-wrapper">
<table class="responsive-table">
  <thead>
    <tr>
      <th>Parametr</th>
      <th>Kocioł gazowy kondensacyjny</th>
      <th><a href="https://projekt-ogrzewania.pl/pompa-ciepla/" title="Pompa ciepła powietrze–woda">Pompa ciepła powietrze–woda</a></th>
      <th>Kocioł elektryczny</th>
      <th>Kocioł na biomasę (pellet)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td data-label="Parametr">Temperatura pracy</td>
      <td data-label="Kocioł gazowy">Idealna zgodność (niskotemp.)</td>
      <td data-label="Pompa ciepła">Idealna zgodność (niskotemp.)</td>
      <td data-label="Kocioł elektryczny">Idealna zgodność (dowolna)</td>
      <td data-label="Pellet">Wymaga bufora (wysokotemp.)</td>
    </tr>
    <tr>
      <td data-label="Parametr">Koszt inwestycyjny</td>
      <td data-label="Kocioł gazowy">Średni</td>
      <td data-label="Pompa ciepła">Wysoki</td>
      <td data-label="Kocioł elektryczny">Niski</td>
      <td data-label="Pellet">Średni/Wysoki (z magazynem)</td>
    </tr>
    <tr>
      <td data-label="Parametr">Koszt eksploatacji</td>
      <td data-label="Kocioł gazowy">Średni (zależny od ceny gazu)</td>
      <td data-label="Pompa ciepła">Niski (wysoki COP)</td>
      <td data-label="Kocioł elektryczny">Bardzo wysoki</td>
      <td data-label="Pellet">Niski (zależny od ceny pelletu)</td>
    </tr>
    <tr>
      <td data-label="Parametr">Sprawność / COP</td>
      <td data-label="Kocioł gazowy">105–109%</td>
      <td data-label="Pompa ciepła">COP 3–5 (300–500%)</td>
      <td data-label="Kocioł elektryczny">~100%</td>
      <td data-label="Pellet">80–90% (kotły automatyczne)</td>
    </tr>
    <tr>
      <td data-label="Parametr">Komfort obsługi</td>
      <td data-label="Kocioł gazowy">Bardzo wysoki (pełna autom.)</td>
      <td data-label="Pompa ciepła">Bardzo wysoki (pełna autom.)</td>
      <td data-label="Kocioł elektryczny">Bardzo wysoki (pełna autom.)</td>
      <td data-label="Pellet">Średni (uzupełnianie zasobnika)</td>
    </tr>
    <tr>
      <td data-label="Parametr">Niezależność</td>
      <td data-label="Kocioł gazowy">Zależny od sieci gazowej</td>
      <td data-label="Pompa ciepła">Zależna od prądu i temp. zew.</td>
      <td data-label="Kocioł elektryczny">Zależny od prądu</td>
      <td data-label="Pellet">Wysoka (lokalne paliwo)</td>
    </tr>
    <tr>
      <td data-label="Parametr">Emisja CO₂</td>
      <td data-label="Kocioł gazowy">Średnia</td>
      <td data-label="Pompa ciepła">Niska (zielona energia)</td>
      <td data-label="Kocioł elektryczny">Wysoka (energia węglowa)</td>
      <td data-label="Pellet">Neutralna (biogeniczny CO₂)</td>
    </tr>
    <tr>
      <td data-label="Parametr">Wymagania</td>
      <td data-label="Kocioł gazowy">Przyłącze gazowe, komin</td>
      <td data-label="Pompa ciepła">Miejsce na jednostkę zewnętrzną</td>
      <td data-label="Kocioł elektryczny">Przyłącze o dużej mocy</td>
      <td data-label="Pellet">Magazyn paliwa, komin, dostawy</td>
    </tr>
  </tbody>
</table>
</div>




<p class="wp-block-paragraph"><strong>Wnioski z porównania</strong>: Kocioł gazowy kondensacyjny znajduje swoją niszę jako rozwiązanie&nbsp;<strong>kompromisowe</strong>&nbsp;– oferujące wysoki komfort i dobrą efektywność przy umiarkowanych kosztach inwestycyjnych, w sytuacji gdy inwestycja w pompę ciepła jest zbyt wysoka, a dostęp do gazu istnieje.</p>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego z kotłem gazowym: Kluczowe etapy.</h2>



<p class="wp-block-paragraph"><strong><a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">Projekt instalacji</a></strong> jest fundamentem, którego nie wolno pominąć. Działanie &#8222;na oko&#8221; prowadzi do nierównomiernego grzania, wysokich rachunków i dyskomfortu. Prawidłowy projekt dla systemu z <strong>kotłem gazowym</strong> powinien obejmować:</p>



<ol start="1" class="wp-block-list">
<li><strong>Audyt cieplny budynku</strong>: Obliczenie rzeczywistych strat ciepła dla każdego pomieszczenia (w Watach). To podstawa do dalszych kroków.</li>



<li><strong>Rozmieszczenie i podział na strefy grzewcze</strong>: Zaplanowanie, które pomieszczenia mają pracować w tej samej temperaturze i czasie (np. strefa dzienna, strefa nocna, łazienki).</li>



<li><strong>Projekt pętli grzewczych</strong>:
<ul class="wp-block-list">
<li><strong>Dobór rozstawu rur</strong>: Im większe straty ciepła, tym gęstszy rozstaw (np. 10 cm pod dużymi oknami, 15-20 cm w środku pomieszczenia).</li>



<li><strong>Długość pętli</strong>: Nie powinna przekraczać <strong>100-120m</strong> dla rur 16mm, aby opory przepływu nie były zbyt duże. Dłuższe pomieszczenia dzieli się na kilka pętli.</li>



<li><strong>Średnica rur</strong>: Najczęściej <strong>16 mm</strong> lub <strong>17 mm</strong> (zewnętrzne).</li>
</ul>
</li>



<li><strong>Dobór i projekt rozdzielaczy</strong>: Określenie liczby pętli i dobór rozdzielacza z odpowiednią liczbą odgałęzień. Zaplanowanie miejsca montażu (np. szafa instalacyjna w centralnym punkcie).</li>



<li><strong>Dobór mocy i parametrów kotła</strong>: Na podstawie całkowitego zapotrzebowania na ciepło oraz potrzeb c.w.u.</li>



<li><strong>Dobór pozostałych komponentów</strong>: Obliczenie wymaganej wydajności pompy obiegowej podłogówki, dobór zaworu mieszającego, naczynia wzbiorczego.</li>



<li><strong>Projekt sterowania</strong>: Zaplanowanie lokalizacji termostatów pokojowych, dobór sterownika pogodowego, określenie sposobu współpracy siłowników z rozdzielaczem.</li>
</ol>



<p class="wp-block-paragraph"><strong>Uwaga techniczna</strong>: W projekcie z&nbsp;<strong>kotłem kondensacyjnym</strong>&nbsp;szczególną uwagę zwraca się na&nbsp;<strong>obniżenie temperatury powrotu</strong>&nbsp;do kotła. Często stosuje się tzw.&nbsp;<strong>priorytet obiegu grzewczego</strong>, który podczas rozruchu kieruje całą wodę pierw do podłogówki, schładzając ją maksymalnie, zanim trafi z powrotem do kotła.</p>



<h2 class="wp-block-heading">Praktyczne aspekty montażu i późniejszej eksploatacji.</h2>



<p class="wp-block-paragraph">Montaż systemu powinien być wykonany rzetelnie, zgodnie z projektem i sztuką instalatorską. Kluczowe punkty to:</p>



<ul class="wp-block-list">
<li>Izolacja termiczna pod rurkami (<a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">styropian</a> lub polistyren ekstrudowany o odpowiedniej gęstości i lambda).</li>



<li><a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">Dylatacje obwodowe i pośrednie w wylewce</a>.</li>



<li><a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">Próba ciśnieniowa instalacji</a> przed wylaniem płyty.</li>



<li>Prawidłowe ustawienie i wyważenie hydrauliczne na rozdzielaczu.</li>



<li>Optymalne zaprogramowanie sterowników.</li>
</ul>



<p class="wp-block-paragraph">W eksploatacji&nbsp;<strong>kocioł gazowy kondensacyjny</strong>&nbsp;wymaga:</p>



<ul class="wp-block-list">
<li><strong>Czorocznego przeglądu</strong> przez wykwalifikowanego serwisanta (czyszczenie wymiennika, sprawdzenie szczelności, analiza spalin).</li>



<li><strong>Utrzymania niskiej temperatury pracy</strong> – nie ma potrzeby podkręcania parametrów na kotle.</li>



<li>Monitorowania ciśnienia w obiegu (uzupełnianie wody w razie potrzeby).</li>
</ul>



<h2 class="wp-block-heading">FAQ – Najczęściej zadawane pytania.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1767533865925"><strong class="schema-faq-question"><strong>Czy kocioł gazowy dobrze współpracuje z ogrzewaniem podłogowym?</strong></strong> <p class="schema-faq-answer">Tak. Kocioł gazowy kondensacyjny jest wręcz stworzony do pracy z ogrzewaniem podłogowym, ponieważ osiąga najwyższą sprawność przy niskich temperaturach zasilania i powrotu.</p> </div> <div class="schema-faq-section" id="faq-question-1767533875201"><strong class="schema-faq-question"><strong>Czy potrzebny jest układ mieszający przy kotle gazowym?</strong></strong> <p class="schema-faq-answer">W większości instalacji tak. Układ mieszający obniża temperaturę wody z kotła do bezpiecznego poziomu dla pętli podłogowych i stabilizuje pracę całego systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1767533888868"><strong class="schema-faq-question"><strong>Jak dobrać moc kotła gazowego do podłogówki?</strong></strong> <p class="schema-faq-answer">Moc kotła dobiera się na podstawie zapotrzebowania cieplnego budynku oraz potrzeb ciepłej wody użytkowej. Przewymiarowanie kotła prowadzi do nieefektywnej pracy i wyższych kosztów eksploatacji.</p> </div> <div class="schema-faq-section" id="faq-question-1767533906380"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe z kotłem gazowym jest tanie w eksploatacji?</strong></strong> <p class="schema-faq-answer">Koszty eksploatacji są umiarkowane i w dużym stopniu zależne od ceny gazu, jednak dzięki kondensacji i niskiej temperaturze pracy system należy do najbardziej efektywnych rozwiązań gazowych.</p> </div> <div class="schema-faq-section" id="faq-question-1767533916133"><strong class="schema-faq-question"><strong>Czy warto stosować sterowanie pogodowe w takim systemie?</strong></strong> <p class="schema-faq-answer">Zdecydowanie tak. Sterowanie pogodowe pozwala automatycznie dostosować temperaturę zasilania do warunków zewnętrznych, zwiększając komfort i ograniczając zużycie gazu.</p> </div> </div>



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



<p class="wp-block-paragraph"><strong>Podsumowując</strong>, system oparty na&nbsp;<strong>kotle gazowym kondensacyjnym i wodnym ogrzewaniu podłogowym</strong>&nbsp;to technologicznie dojrzałe, niezwykle efektywne i komfortowe rozwiązanie. Jego sukces zależy od trzech filarów:&nbsp;<strong>starannie wykonanego projektu</strong>,&nbsp;<strong>jakości komponentów</strong>&nbsp;oraz&nbsp;<strong>profesjonalnego montażu i uruchomienia</strong>. Dla inwestora poszukującego sprawdzonego, niezawodnego źródła ciepła o wysokim komforcie użytkowania, połączenie to pozostaje jednym z najlepszych wyborów na rynku, doskonale łącząc ekonomię z nowoczesną techniką grzewczą.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="s8D4odUr4u"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=MTIW2HXc66#?secret=s8D4odUr4u" data-secret="s8D4odUr4u" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">Kocioł gazowy.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pompa Ciepła.</title>
		<link>https://projekt-ogrzewania.pl/pompa-ciepla/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 03 Jan 2026 16:18:37 +0000</pubDate>
				<category><![CDATA[Budownictwo energooszczędne]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Energooszczędne budownictwo]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie budynków]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Pompa ciepła]]></category>
		<category><![CDATA[Pompy ciepła]]></category>
		<category><![CDATA[Technologie OZE]]></category>
		<category><![CDATA[bufor ciepła]]></category>
		<category><![CDATA[cop]]></category>
		<category><![CDATA[dolne źródło]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[gruntowa pompa ciepła]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[pompy ciepła]]></category>
		<category><![CDATA[powietrzna pompa ciepła]]></category>
		<category><![CDATA[praca biwalentna]]></category>
		<category><![CDATA[projekt instalacji grzewczej]]></category>
		<category><![CDATA[schemat hydrauliczny]]></category>
		<category><![CDATA[scop]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3039</guid>

					<description><![CDATA[<p>Pompa ciepła to dziś jedno z najbardziej zaawansowanych technologicznie rozwiązań grzewczych, które realnie zmienia sposób projektowania nowoczesnych instalacji w budownictwie jednorodzinnym i komercyjnym. W artykule szczegółowo omawiamy zasadę działania pomp ciepła w ujęciu termodynamicznym, porównujemy ich główne typy, analizujemy kryteria doboru mocy, pracę biwalentną oraz kluczowe schematy hydrauliczne. Szczególną uwagę poświęcono współpracy pompy ciepła z ogrzewaniem podłogowym, buforom ciepła oraz aspektom projektowym decydującym o rzeczywistej sprawności i trwałości całego systemu.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">Pompa Ciepła.</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: #f8fafc;
    --rk-intro-green: #10b981;
    --rk-intro-border: #e2e8f0;
    --rk-intro-bg: #ffffff;
    --rk-intro-text: #475569;
}

.rk-intro-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-intro-bg);
    border: 2px solid var(--rk-intro-dark); /* Surowy, mocny border */
}

/* Sekcja Hooka i Szybkiej Odpowiedzi */
.rk-intro-hero {
    padding: 40px 45px;
    background: var(--rk-intro-dark);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-intro-blue);
}

.rk-intro-badge {
    display: inline-block;
    background: var(--rk-intro-blue);
    color: #ffffff;
    padding: 6px 16px;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.rk-intro-title {
    font-size: 32px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 20px 0;
    line-height: 1.2;
}

.rk-intro-quick-answer {
    background: rgba(255, 255, 255, 0.05);
    border-left: 4px solid var(--rk-intro-green);
    padding: 25px;
    margin-top: 20px;
}

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

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

.rk-intro-qa-text strong {
    color: #ffffff;
}

/* Informacja o Kalkulatorach / Nawigacja */
.rk-intro-interactive-box {
    background: var(--rk-intro-light);
    padding: 30px 45px;
}

.rk-intro-nav {
    display: flex;
    gap: 10px;
    margin-bottom: 25px;
}

.rk-intro-btn {
    flex: 1;
    background: #ffffff;
    border: 1px solid var(--rk-intro-border);
    padding: 15px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-intro-text);
    text-transform: uppercase;
    cursor: pointer;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ZERO ANIMACJI - natychmiastowe zmiany */
.rk-intro-btn:hover {
    background: #e2e8f0;
}

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

/* Ekrany zawartości */
.rk-intro-panel {
    display: none;
    background: #ffffff;
    border: 1px solid var(--rk-intro-border);
    padding: 30px;
}

.rk-intro-panel.active {
    display: block; /* Natychmiastowe pokazanie */
}

.rk-intro-panel h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

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

.rk-intro-panel ul {
    margin: 0;
    padding-left: 20px;
}

.rk-intro-panel li {
    font-size: 15px;
    color: var(--rk-intro-text);
    line-height: 1.7;
    margin-bottom: 8px;
    font-weight: 600;
}

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

/* RWD */
@media (max-width: 768px) {
    .rk-intro-hero { padding: 30px 20px; }
    .rk-intro-title { font-size: 26px; }
    .rk-intro-interactive-box { padding: 25px 20px; }
    .rk-intro-nav { flex-direction: column; gap: 5px; }
    .rk-intro-btn { text-align: left; }
    .rk-intro-panel { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/"
    },
    "headline": "Pompa ciepła – czym jest i jak działa? Kompendium wiedzy na 2026 rok",
    "description": "Błyskawiczna definicja pompy ciepła, mechanizm działania obiegu termodynamicznego oraz zbiór interaktywnych narzędzi inżynierskich doboru mocy i hydrauliki.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "Specjalista HVAC",
      "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-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#dataset-wstep",
    "name": "Słownik pojęć: Definicja i Parametry Pomp Ciepła",
    "description": "Zestawienie podstawowych definicji działania zamkniętego obiegu termodynamicznego oraz mechanicznego sprężania czynnika chłodniczego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pompa ciepła definicja",
      "jak działa pompa ciepła szybka odpowiedź",
      "kompendium wiedzy o pompach ciepła",
      "kalkulator doboru pompy ciepła",
      "niskotemperaturowe urządzenie grzewcze"
    ],
    "measurementTechnique": "Określenie konwersji energii rozproszonej z dolnego źródła (powietrza/gruntu) za pomocą sprężarki do postaci użytecznej w instalacji CO i CWU.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Pompa ciepła: Niskotemperaturowe urządzenie transportujące energię cieplną w kierunku przeciwnym do naturalnego przepływu ciepła.",
        "Obieg: Działanie oparte na mechanicznym sprężaniu i rozprężaniu czynnika chłodniczego.",
        "Wartość dodana artykułu: Obecność interaktywnych kalkulatorów hydraulicznych i termodynamicznych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#webapp-wstep",
    "name": "Interaktywny Przewodnik po Kompendium",
    "description": "Panel nawigacyjny (Tabbed Interface) informujący użytkownika o dostępności zaawansowanych kalkulatorów i symulatorów termodynamicznych w dalszej części artykułu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-wrapper" id="intro-app">
    
    <div class="rk-intro-hero">
        <span class="rk-intro-badge">Kompendium Wiedzy 2026</span>
        <h1 class="rk-intro-title">Pompa ciepła – inżynierski przewodnik bez marketingowej ściemy</h1>
        
        <p style="font-size: 16px; line-height: 1.6; color: #cbd5e1; margin: 0;">
            Ogrzewanie domu nie musi oznaczać uzależnienia od węgla, dymu, czyszczenia pieca i gigantycznych rachunków. Jako inżynier HVAC z dorobkiem ponad <strong>1000 zrealizowanych projektów instalacji grzewczych</strong>, stworzyłem ten artykuł, aby brutalnie rozprawić się z mitami. Znajdziesz tu czystą fizykę, matematykę i inżynierię, a nie sprzedażowe bajki.
        </p>

        <div class="rk-intro-quick-answer">
            <div class="rk-intro-qa-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"><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 definicja (TL;DR)
            </div>
            <p class="rk-intro-qa-text">
                <strong>Pompa ciepła to niskotemperaturowe urządzenie grzewcze.</strong> Jej celem nie jest &#8222;produkcja&#8221; ciepła ze spirali elektrycznej (jak w zwykłej grzałce), lecz <strong>transport darmowej energii termicznej</strong> z otoczenia (powietrza, gruntu lub wody) bezpośrednio do Twojej instalacji ogrzewania podłogowego (CO) oraz zasobnika ciepłej wody (CWU). Działanie to opiera się na skomplikowanym, mechanicznym sprężaniu i rozprężaniu czynnika chłodniczego w zamkniętym obiegu.
            </p>
        </div>
    </div>

    <div class="rk-intro-interactive-box">
        
        <div class="rk-intro-nav">
            <button class="rk-intro-btn active" data-intro="tools" id="btnTools">
                Narzędzia w artykule
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></svg>
            </button>
            <button class="rk-intro-btn" data-intro="value" id="btnValue">
                Co zyskasz?
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
            </button>
            <button class="rk-intro-btn" data-intro="target" id="btnTarget">
                Wiedza Projektowa
                <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>
            </button>
        </div>

        <div class="rk-intro-panels-wrapper">
            <div class="rk-intro-panel active" id="pnlTools">
                <h3>Interaktywne Kalkulatory i Symulatory</h3>
                <p>Ten artykuł to nie jest zwykła ściana tekstu. Zaprojektowałem go jako <strong>narzędzie pracy dla inwestora</strong>. W dalszej części strony znajdziesz na żywo działające aplikacje:</p>
                <ul>
                    <li>Symulator 4-fazowego obiegu termodynamicznego (Jak to działa na mrozie?).</li>
                    <li>Kalkulator Punktu Biwalentnego i zapotrzebowania OZC (Oblicz moc urządzenia dla swojego domu).</li>
                    <li>Symulator ryzyka braku bufora ciepła (Zobacz awarię na własne oczy).</li>
                    <li>Studium przypadku <i>(Case Study)</i> &#8211; wpływ regulacji hydraulicznej na spadek rachunków z 8200 PLN na 3400 PLN.</li>
                </ul>
            </div>

            <div class="rk-intro-panel" id="pnlValue">
                <h3>Ochrona przed potężnymi stratami</h3>
                <p>Omawiam technologię obiektywnie, skupiając się równie mocno na <a href="https://projekt-ogrzewania.pl/wady-wodnego-ogrzewania-podlogowego-na-co-zwrocic-uwage-przed-instalacja/">wadach i zaletach układów wodnych</a>. Po lekturze dowiesz się, dlaczego błąd w średnicy rur lub zły dobór czynnika chłodniczego (GWP) kosztuje inwestorów dziesiątki tysięcy złotych podczas awarii i wymusza płatne przeglądy z ramienia Ustawy F-Gazowej.</p>
                <p>Przestaniesz być laikiem – zaczniesz patrzeć na ogrzewanie oczami inżyniera.</p>
            </div>

            <div class="rk-intro-panel" id="pnlTarget">
                <h3>Dla kogo jest to opracowanie?</h3>
                <p>Kompendium jest skierowane do osób budujących domy jednorodzinne (WT2021) oraz inwestorów planujących głęboką termomodernizację. Kładę gigantyczny nacisk na to, jak sprawić, by urządzenie stało się <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/">jedynym źródłem ciepła</a>, gwarantując spokój na ponad 20 lat.</p>
                <p>Nie omawiam tu marketingowych haseł, lecz twarde wytyczne PORT PC oraz wpływ norm na ostatecznych <a href="https://projekt-ogrzewania.pl/kompleksowa-wycena-ogrzewania-podlogowego-wodnego-na-co-przygotowac-budzet/">kosztach instalacji</a>.</p>
            </div>
        </div>
        
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btnTools = document.getElementById('btnTools');
    var btnValue = document.getElementById('btnValue');
    var btnTarget = document.getElementById('btnTarget');
    
    var pnlTools = document.getElementById('pnlTools');
    var pnlValue = document.getElementById('pnlValue');
    var pnlTarget = document.getElementById('pnlTarget');

    function resetIntroState() {
        btnTools.className = 'rk-intro-btn';
        btnValue.className = 'rk-intro-btn';
        btnTarget.className = 'rk-intro-btn';
        
        pnlTools.className = 'rk-intro-panel';
        pnlValue.className = 'rk-intro-panel';
        pnlTarget.className = 'rk-intro-panel';
    }

    function setIntroTab(mode) {
        resetIntroState();
        
        if (mode === 1) {
            btnTools.className = 'rk-intro-btn active';
            pnlTools.className = 'rk-intro-panel active';
        }
        if (mode === 2) {
            btnValue.className = 'rk-intro-btn active';
            pnlValue.className = 'rk-intro-panel active';
        }
        if (mode === 3) {
            btnTarget.className = 'rk-intro-btn active';
            pnlTarget.className = 'rk-intro-panel active';
        }
    }

    // Proste i bezpieczne event listenery
    btnTools.addEventListener('click', function() { setIntroTab(1); });
    btnValue.addEventListener('click', function() { setIntroTab(2); });
    btnTarget.addEventListener('click', function() { setIntroTab(3); });
});
</script>



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

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

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

.rk-therm-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #34d399;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(52, 211, 153, 0.3);
}

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

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

.rk-therm-desc strong {
    color: #bae6fd;
}

/* Symulator Obiegu */
.rk-therm-simulator {
    display: grid;
    grid-template-columns: 350px 1fr;
    background: var(--rk-therm-bg);
}

/* Nawigacja Fazy (Lewa kolumna) */
.rk-therm-phases {
    padding: 35px 30px;
    background: var(--rk-therm-light);
    border-right: 1px solid var(--rk-therm-border);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-therm-phase-btn {
    padding: 16px 20px;
    background: #ffffff;
    border: 2px solid var(--rk-therm-border);
    border-radius: 14px;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-therm-phase-btn:hover {
    border-color: #bae6fd;
    background: #f0f9ff;
}

.rk-therm-phase-btn.active {
    border-color: var(--rk-therm-blue);
    background: var(--rk-therm-blue);
    color: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.3);
}

.rk-phase-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-therm-light);
    color: var(--rk-therm-blue);
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
    transition: all 0.3s;
}

.rk-therm-phase-btn.active .rk-phase-num {
    background: #ffffff;
}

.rk-phase-title {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-therm-dark);
    transition: color 0.3s;
}

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

/* Wyświetlacz Treści (Prawa kolumna) */
.rk-therm-display {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-display-panel {
    display: none;
    animation: fadeSlideUp 0.4s ease forwards;
}

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

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

.rk-display-icon {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    background: var(--rk-therm-active);
    color: var(--rk-therm-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.rk-display-title {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-therm-dark);
    margin: 0 0 15px 0;
}

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

.rk-display-stats {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.rk-stat-pill {
    background: #f1f5f9;
    border: 1px solid var(--rk-therm-border);
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-therm-dark);
}

.rk-stat-pill span {
    color: var(--rk-therm-blue);
}

/* Sekcja Błędów - Alert */
.rk-therm-alert-wrapper {
    padding: 0 40px 40px 40px;
    background: var(--rk-therm-bg);
}

.rk-therm-alert {
    background: #fff1f2;
    border: 2px solid #fecdd3;
    border-radius: 16px;
    padding: 30px;
    border-left: 6px solid var(--rk-therm-red);
}

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

.rk-alert-title {
    font-size: 18px;
    font-weight: 900;
    color: #991b1b;
    margin: 0;
}

.rk-alert-text {
    font-size: 15px;
    line-height: 1.7;
    color: #7f1d1d;
    margin: 0;
}

/* RWD */
@media (max-width: 768px) {
    .rk-therm-header { padding: 30px 20px; }
    .rk-therm-title { font-size: 24px; }
    .rk-therm-simulator { grid-template-columns: 1fr; }
    .rk-therm-phases { padding: 25px 20px; border-right: none; border-bottom: 1px solid var(--rk-therm-border); }
    .rk-therm-display { padding: 30px 20px; }
    .rk-therm-alert-wrapper { padding: 0 20px 30px 20px; }
    .rk-therm-alert { padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#article-termodynamika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/"
    },
    "headline": "Jak działa pompa ciepła od strony termodynamicznej?",
    "description": "Szczegółowe wyjaśnienie lewobieżnego obiegu Lindego w pompach ciepła, roli sprężarki inwerterowej oraz zjawisk w parowniku i skraplaczu.",
    "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-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#dataset-termodynamika",
    "name": "Parametry termodynamiczne obiegu chłodniczego pompy ciepła (R290)",
    "description": "Wartości ciśnień, temperatur oraz specyfikacja faz przemian czynnika chłodniczego w czterech głównych podzespołach pompy ciepła w oparciu o normę PN-EN 14511.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "obieg termodynamiczny pompy ciepła",
      "jak działa sprężarka inwerterowa",
      "współczynnik cop a temperatura zasilania",
      "zawór rozprężny w pompie ciepła",
      "skraplacz i parownik zasada działania"
    ],
    "measurementTechnique": "Określenie parametrów wskaźnikowych: odparowanie czynnika przy niskim ciśnieniu (ok. 4.5 bar), sprężenie polotropowe (do 22 bar i +75°C) oraz izobaryczne skraplanie.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Parownik: Izobaryczne odparowanie czynnika chłodniczego pobierającego ciepło z otoczenia.",
        "Sprężarka: Podniesienie ciśnienia i temperatury czynnika, zużywająca jedyną energię elektryczną układu.",
        "Skraplacz: Wymiennik płytowy oddający utajone ciepło skraplania do instalacji CO.",
        "Konsekwencje: Zasilanie starych grzejników (65°C) obniża wskaźnik COP z 4.5 do 1.9."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#webapp-termodynamika",
    "name": "Symulator Obiegu Termodynamicznego",
    "description": "Edukacyjna, interaktywna wizualizacja faz cyklu Lindego, przedstawiająca procesy fizyczne (odparowanie, sprężanie, skraplanie, rozprężanie) w układzie hydraulicznym pompy ciepła.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-therm-wrapper" id="therm-app">
    <div class="rk-therm-header">
        <div class="rk-therm-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 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Zasada Działania
        </div>
        <h2 class="rk-therm-title">Jak działa pompa ciepła od strony termodynamicznej?</h2>
        <p class="rk-therm-desc">
            To nie magia, to czysta fizyka. Systemy grzewcze bazują na <strong>lewobieżnym obiegu Lindego</strong> (norma PN-EN 14511). Urządzenie nie produkuje ciepła ze spirali elektrycznej, lecz napędza sprężarkę, która transportuje energię z dworu do domu. Rzeczywisty wskaźnik SCOP w Polsce wynosi od 3.5 do 4.8. Zobacz, jak to działa w 4 krokach.
        </p>
    </div>

    <div class="rk-therm-simulator">
        <div class="rk-therm-phases">
            <button class="rk-therm-phase-btn active" data-phase="1" id="btnPhase1">
                <div class="rk-phase-num">1</div>
                <span class="rk-phase-title">Parownik (Odbiór ciepła)</span>
            </button>
            <button class="rk-therm-phase-btn" data-phase="2" id="btnPhase2">
                <div class="rk-phase-num">2</div>
                <span class="rk-phase-title">Sprężarka (Serce układu)</span>
            </button>
            <button class="rk-therm-phase-btn" data-phase="3" id="btnPhase3">
                <div class="rk-phase-num">3</div>
                <span class="rk-phase-title">Skraplacz (Oddanie ciepła)</span>
            </button>
            <button class="rk-therm-phase-btn" data-phase="4" id="btnPhase4">
                <div class="rk-phase-num">4</div>
                <span class="rk-phase-title">Zawór Rozprężny (EXV)</span>
            </button>
        </div>

        <div class="rk-therm-display">
            
            <div class="rk-display-panel active" id="panelPhase1">
                <div class="rk-display-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="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                </div>
                <h3 class="rk-display-title">Parownik (Wymiennik Ciepła)</h3>
                <p class="rk-display-text">Tutaj następuje izobaryczne odparowanie ciekłego czynnika chłodniczego pod niskim ciśnieniem. Czynnik dosłownie wrze w bardzo niskiej temperaturze i pochłania utajone ciepło z dolnego źródła (powietrza, gruntu).</p>
                <div class="rk-display-stats">
                    <div class="rk-stat-pill">Czynnik: <span>R290 (Propan)</span></div>
                    <div class="rk-stat-pill">Ciśnienie bazowe: <span>~ 4.5 bar</span></div>
                </div>
            </div>

            <div class="rk-display-panel" id="panelPhase2">
                <div class="rk-display-icon">
                    <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M16 12l-4-4-4 4M12 8v8"></path></svg>
                </div>
                <h3 class="rk-display-title">Sprężarka (Inwerter Scroll/EVI)</h3>
                <p class="rk-display-text">Główny konsument prądu. Gazowy czynnik trafia do komory, gdzie następuje jego gwałtowne, polotropowe sprężenie. Zgodnie z prawami fizyki, drastyczny wzrost ciśnienia wywołuje równie drastyczny skok temperatury gazu.</p>
                <div class="rk-display-stats">
                    <div class="rk-stat-pill">Ciśnienie robocze: <span>~ 22 bar</span></div>
                    <div class="rk-stat-pill">Skok temperatury: <span>do +75°C</span></div>
                </div>
            </div>

            <div class="rk-display-panel" id="panelPhase3">
                <div class="rk-display-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>
                </div>
                <h3 class="rk-display-title">Skraplacz (Wymiennik Płytowy)</h3>
                <p class="rk-display-text">Mocno przegrzany gaz trafia do skraplacza, gdzie napotyka wodę krążącą w instalacji CO Twojego domu. Oddaje jej zgromadzoną energię, w wyniku czego izobarycznie skrapla się z powrotem do postaci ciekłej.</p>
                <div class="rk-display-stats">
                    <div class="rk-stat-pill">Temperatura zasilania instalacji: <span>np. 35°C</span></div>
                    <div class="rk-stat-pill">Stan czynnika: <span>Ciecz wysokiego ciśnienia</span></div>
                </div>
            </div>

            <div class="rk-display-panel" id="panelPhase4">
                <div class="rk-display-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="M3 3h18v18H3zM12 8v8M8 12h8"></path></svg>
                </div>
                <h3 class="rk-display-title">Zawór Rozprężny (Elektroniczny EXV)</h3>
                <p class="rk-display-text">Ostatni etap przed powtórzeniem cyklu. Ciecz pod gigantycznym ciśnieniem przechodzi przez dławiący element. Następuje gwałtowny spadek ciśnienia i temperatury czynnika, który w postaci mgły trafia znów do parownika.</p>
                <div class="rk-display-stats">
                    <div class="rk-stat-pill">Regulacja: <span>Mikrokrokowa (Elektroniczna)</span></div>
                    <div class="rk-stat-pill">Efekt: <span>Spadek do parametrów wejściowych</span></div>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-therm-alert-wrapper">
        <div class="rk-therm-alert">
            <div class="rk-alert-header">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#991b1b" 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>
                <h4 class="rk-alert-title">Krytyczne konsekwencje błędu instalacyjnego</h4>
            </div>
            <p class="rk-alert-text">
                Termodynamiki nie oszukasz. Próba zasilania przez pompę starych grzejników wymuszających temperaturę pracy rzędu <strong>65°C</strong> drastycznie winduje stopień sprężania. Powoduje to załamanie chwilowego wskaźnika COP z poziomu 4.5 do zaledwie <strong>1.9</strong>. Generujesz w ten sposób gigantyczne rachunki za prąd i skracasz żywotność sprężarki o ponad połowę z powodu ciągłego przegrzewania uzwojeń. Ogrzewanie podłogowe (np. <a href="https://projekt-ogrzewania.pl/jaka-jest-optymalna-temperatura-ogrzewania-podlogowego/" style="color:#7f1d1d;font-weight:700;text-decoration:underline;">optymalne zasilanie 35°C</a>) to jedyna sensowna opcja dla długowiecznej pracy układu.
            </p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btns = [
        document.getElementById('btnPhase1'),
        document.getElementById('btnPhase2'),
        document.getElementById('btnPhase3'),
        document.getElementById('btnPhase4')
    ];
    
    var panels = [
        document.getElementById('panelPhase1'),
        document.getElementById('panelPhase2'),
        document.getElementById('panelPhase3'),
        document.getElementById('panelPhase4')
    ];

    // Funkcja bezpieczna - bez operatorów logicznych i porównań wrażliwych
    function switchPhase(indexToActivate) {
        // Reset
        for (var i = 0; i < 4; i++) {
            btns[i].classList.remove('active');
            panels[i].classList.remove('active');
        }
        
        // Aktywacja
        btns[indexToActivate].classList.add('active');
        panels[indexToActivate].classList.add('active');
    }

    // Podpięcie zdarzeń
    btns[0].addEventListener('click', function() { switchPhase(0); });
    btns[1].addEventListener('click', function() { switchPhase(1); });
    btns[2].addEventListener('click', function() { switchPhase(2); });
    btns[3].addEventListener('click', function() { switchPhase(3); });
});
</script>



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

.rk-eff-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-eff-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(245, 158, 11, 0.1);
    border: 1px solid var(--rk-eff-yellow);
    overflow: hidden;
}

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

.rk-eff-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(245, 158, 11, 0.2);
    color: #fbbf24;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(251, 191, 36, 0.3);
}

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

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

/* Symulator Bilansu */
.rk-eff-simulator {
    padding: 40px 45px;
    background: var(--rk-eff-bg);
    border-bottom: 1px solid var(--rk-eff-border);
}

.rk-eff-controls {
    display: flex;
    gap: 15px;
    margin-bottom: 35px;
}

.rk-eff-btn {
    flex: 1;
    padding: 15px;
    background: var(--rk-eff-light);
    border: 2px solid var(--rk-eff-border);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-eff-text);
    text-align: center;
}

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

.rk-eff-btn.active {
    background: #fffbeb;
    border-color: var(--rk-eff-yellow);
    color: var(--rk-eff-dark);
    box-shadow: 0 10px 20px -5px rgba(245, 158, 11, 0.2);
}

/* Grafika Paska Energii */
.rk-eff-visual {
    background: #f8fafc;
    border: 1px solid var(--rk-eff-border);
    border-radius: 16px;
    padding: 30px;
    text-align: center;
}

.rk-eff-equation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.rk-eff-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.rk-eff-box {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px;
    border-radius: 12px;
    font-size: 24px;
    font-weight: 900;
    color: #ffffff;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-box-elec { width: 80px; background: var(--rk-eff-blue); }
.rk-box-free { background: var(--rk-eff-green); width: 240px; } /* Zmienne via JS */
.rk-box-total { background: var(--rk-eff-yellow); width: 320px; } /* Zmienne via JS */

.rk-eff-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-eff-text);
    text-transform: uppercase;
}

.rk-eff-math {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-eff-border);
}

/* Sekcja Rozszerzenia Tekstu */
.rk-eff-content {
    padding: 40px 45px;
    background: var(--rk-eff-light);
}

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

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

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

.rk-eff-highlight {
    background: #ffffff;
    border-left: 4px solid var(--rk-eff-yellow);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin: 25px 0;
    font-weight: 600;
    color: var(--rk-eff-dark);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

/* RWD */
@media (max-width: 768px) {
    .rk-eff-header, .rk-eff-simulator, .rk-eff-content { padding: 30px 20px; }
    .rk-eff-title { font-size: 24px; }
    .rk-eff-controls { flex-direction: column; gap: 10px; }
    .rk-eff-equation { flex-direction: column; gap: 20px; }
    .rk-eff-math { transform: rotate(90deg); margin: -10px 0; }
    .rk-eff-box { width: 100% !important; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#article-sprawnosc",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/"
    },
    "headline": "Skąd bierze się wysoka sprawność pompy ciepła (COP i SCOP)?",
    "description": "Fizyczne wyjaśnienie zasady zachowania energii w pompach ciepła. Dowiedz się, dlaczego sprawność powyżej 100% nie łamie praw fizyki, a darmowa energia pochodzi z otoczenia.",
    "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-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#dataset-sprawnosc",
    "name": "Bilans Energetyczny Pomp Ciepła (COP 3.0 - 5.0)",
    "description": "Zestawienie proporcji między energią elektryczną pobieraną z sieci a darmową energią cieplną pobieraną z dolnego źródła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "skąd się bierze wysoki cop pompy ciepła",
      "jak obliczyć zużycie prądu przez pompę ciepła",
      "sprawność pompy ciepła powyżej 100 procent",
      "darmowa energia z dolnego źródła",
      "różnica między cop a scop",
      "zasada zachowania energii pompa ciepła"
    ],
    "measurementTechnique": "Algorytm wizualizujący wzór: COP = (Energia Elektryczna + Energia Otoczenia) / Energia Elektryczna.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Dla COP = 3: 1 kWh prądu + 2 kWh energii darmowej = 3 kWh ciepła.",
        "Dla COP = 4: 1 kWh prądu + 3 kWh energii darmowej = 4 kWh ciepła.",
        "Dla COP = 5: 1 kWh prądu + 4 kWh energii darmowej = 5 kWh ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#webapp-sprawnosc",
    "name": "Symulator Bilansu COP",
    "description": "Dynamiczna aplikacja webowa obrazująca przepływ i transformację energii elektrycznej oraz termicznej w zależności od współczynnika efektywności urządzenia.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-eff-wrapper">
    <div class="rk-eff-header">
        <div class="rk-eff-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="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
            Efektywność i Matematyka
        </div>
        <h2 class="rk-eff-title">Skąd bierze się tak wysoka sprawność pompy ciepła?</h2>
        <p class="rk-eff-desc">
            Słysząc o "sprawności 400%", wielu inwestorów puka się w czoło, twierdząc, że to łamie prawa fizyki. Tymczasem pompa nie jest grzałką – nie generuje ciepła z drutu, lecz je transportuje. Zobacz to na interaktywnym bilansie.
        </p>
    </div>

    <div class="rk-eff-simulator">
        <div class="rk-eff-controls">
            <button class="rk-eff-btn" data-cop="3" id="btnCop3">Stara instalacja<br><span style="font-size:12px;font-weight:600;">(Współczynnik COP = 3)</span></button>
            <button class="rk-eff-btn active" data-cop="4" id="btnCop4">Dobra Podłogówka<br><span style="font-size:12px;font-weight:600;">(Współczynnik COP = 4)</span></button>
            <button class="rk-eff-btn" data-cop="5" id="btnCop5">System Gruntowy<br><span style="font-size:12px;font-weight:600;">(Współczynnik COP = 5)</span></button>
        </div>

        <div class="rk-eff-visual">
            <div class="rk-eff-equation">
                <div class="rk-eff-block">
                    <div class="rk-eff-box rk-box-elec" id="boxElec">1 kWh</div>
                    <span class="rk-eff-label">Płatny Prąd sieciowy</span>
                </div>

                <div class="rk-eff-math">+</div>

                <div class="rk-eff-block">
                    <div class="rk-eff-box rk-box-free" id="boxFree">3 kWh</div>
                    <span class="rk-eff-label">Darmowe ciepło (Powietrze/Grunt)</span>
                </div>

                <div class="rk-eff-math">=</div>

                <div class="rk-eff-block">
                    <div class="rk-eff-box rk-box-total" id="boxTotal">4 kWh</div>
                    <span class="rk-eff-label">Oddane Ciepło do domu</span>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-eff-content">
        <h3>Dlaczego sprawność przekracza 100%?</h3>
        <p>Klasyczny kocioł elektryczny zamienia 1 kWh prądu na 1 kWh ciepła (sprawność 100%). Pompa ciepła natomiast traktuje prąd elektryczny wyłącznie jako "paliwo napędowe" dla sprężarki. Zasadę zachowania energii definiuje tu prosty bilans: darmowa energia zakumulowana w środowisku naturalnym zostaje wtłoczona do domowej instalacji hydraulicznej.</p>
        
        <div class="rk-eff-highlight">
            To właśnie dlatego sprawność pompy ciepła określamy terminem <strong>COP (Coefficient of Performance)</strong>. COP na poziomie 4 nie oznacza sprawności 400% z powietrza, lecz stosunek oddanej mocy cieplnej do pobranej mocy elektrycznej.
        </div>

        <h3>Papierowy COP a rzeczywisty SCOP</h3>
        <p>Musisz jednak uważać na obietnice z folderów reklamowych. Producenci najczęściej podają <strong>chwilowy wskaźnik COP</strong> (badany w idealnych, laboratoryjnych warunkach, np. dla +7°C na dworze i 35°C w podłogówce). Wraz ze spadkiem temperatury zewnętrznej, ilość darmowej energii w powietrzu maleje, przez co sprężarka musi pracować ciężej.</p>
        
        <p>W <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">szacowaniu rocznych kosztów ogrzewania</a> oraz w profesjonalnych projektach wyznacza się <strong>wskaźnik SCOP (Seasonal COP)</strong>. Uwzględnia on zmieniające się pory roku, mroźne noce zimowe i letnie dogrzewanie wody. Wyśrubowanie współczynnika SCOP jest możliwe tylko wtedy, gdy posiadamy bezbłędnie przeliczoną, <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/">niskotemperaturową podłogówkę</a> opartą na dokładnym OZC, która "ulży" pracy urządzenia.</p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btns = [
        document.getElementById('btnCop3'),
        document.getElementById('btnCop4'),
        document.getElementById('btnCop5')
    ];
    
    var boxFree = document.getElementById('boxFree');
    var boxTotal = document.getElementById('boxTotal');

    // Funkcja aktualizująca (bezpieczna dla JS w WordPressie)
    function updateBalance(copValue, activeIndex) {
        // Reset klas na przyciskach
        for(var i = 0; i < btns.length; i++) {
            btns[i].classList.remove('active');
        }
        // Ustawienie aktywnego
        btns[activeIndex].classList.add('active');

        // Przeliczenia
        var freeEnergy = copValue - 1;
        var totalEnergy = copValue;

        // Aktualizacja tekstów
        boxFree.innerText = freeEnergy + " kWh";
        boxTotal.innerText = totalEnergy + " kWh";

        // Aktualizacja szerokości "wizualnej" tylko na desktopach
        if (window.innerWidth > 768) {
            boxFree.style.width = (freeEnergy * 80) + "px";
            boxTotal.style.width = (totalEnergy * 80) + "px";
        }
    }

    // Podpięcie zdarzeń
    btns[0].addEventListener('click', function() { updateBalance(3, 0); });
    btns[1].addEventListener('click', function() { updateBalance(4, 1); });
    btns[2].addEventListener('click', function() { updateBalance(5, 2); });
});
</script>



<style>
:root {
    --rk-fz-dark: #0f172a;
    --rk-fz-blue: #0284c7;
    --rk-fz-ice: #e0f2fe;
    --rk-fz-green: #10b981;
    --rk-fz-orange: #f59e0b;
    --rk-fz-border: #e2e8f0;
    --rk-fz-bg: #ffffff;
    --rk-fz-text: #475569;
}

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

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

.rk-fz-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.2);
    color: #7dd3fc;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(125, 211, 252, 0.3);
}

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

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

.rk-fz-desc strong {
    color: #bae6fd;
}

/* Interaktywny Panel Główny */
.rk-fz-interactive {
    display: grid;
    grid-template-columns: 1fr;
    background: var(--rk-fz-bg);
}

/* Przyciski Wyboru Temperatury */
.rk-fz-controls {
    display: flex;
    gap: 15px;
    padding: 35px 45px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-fz-border);
}

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

.rk-fz-btn:hover {
    background: var(--rk-fz-ice);
    border-color: #bae6fd;
}

.rk-fz-btn.active {
    background: var(--rk-fz-blue);
    border-color: var(--rk-fz-blue);
    color: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.3);
}

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

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

.rk-fz-btn-sub {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-fz-blue);
    transition: color 0.3s;
}

.rk-fz-btn.active .rk-fz-btn-sub { color: #e0f2fe; }

/* Ekran Przeliczeniowy (Termometr Kelvin) */
.rk-fz-display {
    padding: 40px 45px;
    display: flex;
    align-items: center;
    gap: 40px;
}

.rk-fz-thermometer {
    flex-shrink: 0;
    width: 140px;
    background: var(--rk-fz-dark);
    border-radius: 20px;
    padding: 25px 20px;
    text-align: center;
    position: relative;
    box-shadow: inset 0 4px 6px rgba(0,0,0,0.5);
}

.rk-fz-kelvin-val {
    font-size: 32px;
    font-weight: 900;
    color: #ffffff;
    line-height: 1;
    margin-bottom: 5px;
}

.rk-fz-kelvin-label {
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-fz-energy-bar-wrap {
    margin-top: 20px;
    height: 150px;
    width: 20px;
    background: #1e293b;
    border-radius: 10px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
}

.rk-fz-energy-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(to top, var(--rk-fz-blue), var(--rk-fz-orange));
    border-radius: 10px;
    transition: height 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Szczegóły Fizyczne */
.rk-fz-info {
    flex-grow: 1;
}

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

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

.rk-fz-comparison {
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: #f8fafc;
    padding: 20px;
    border-radius: 16px;
    border-left: 4px solid var(--rk-fz-blue);
}

.rk-fz-comp-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    font-weight: 700;
}

.rk-fz-comp-val {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-fz-dark);
    padding: 4px 12px;
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid var(--rk-fz-border);
}

.val-refrigerant {
    color: var(--rk-fz-blue);
    border-color: var(--rk-fz-blue);
    background: var(--rk-fz-ice);
}

/* RWD */
@media (max-width: 768px) {
    .rk-fz-header { padding: 30px 20px; }
    .rk-fz-title { font-size: 24px; }
    .rk-fz-controls { flex-direction: column; padding: 25px 20px; gap: 10px; }
    .rk-fz-btn { flex-direction: row; justify-content: space-between; padding: 15px 20px; }
    .rk-fz-display { flex-direction: column; padding: 30px 20px; text-align: center; }
    .rk-fz-thermometer { width: 100%; height: auto; display: flex; align-items: center; justify-content: space-around; padding: 20px; }
    .rk-fz-energy-bar-wrap { height: 12px; width: 150px; margin-top: 0; }
    .rk-fz-energy-bar { height: 100% !important; bottom: auto; left: 0; transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1); }
    .rk-fz-comparison { text-align: left; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#article-mroz",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/"
    },
    "headline": "Dlaczego pompa ciepła działa nawet przy mrozie?",
    "description": "Naukowe wyjaśnienie energii cieplnej zgromadzonej w powietrzu przy ujemnych temperaturach w skali Kelvina oraz roli czynnika chłodniczego.",
    "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-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#dataset-mroz",
    "name": "Zależność Energii Cieplnej od Temperatury Bezwzględnej (Kelvin)",
    "description": "Zestawienie porównawcze temperatur w skali Celsjusza i Kelvina dla powietrza oraz temperatury wrzenia czynników chłodniczych (np. R290).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dlaczego pompa ciepła działa zimą",
      "temperatura zera bezwzględnego a pompa ciepła",
      "jak pompa ciepła grzeje przy -20 stopniach",
      "czynnik chłodniczy r290 w niskich temperaturach",
      "ciepło w powietrzu na mrozie"
    ],
    "measurementTechnique": "Przeliczenie skali Celsjusza na skalę bezwzględną Kelvina (0°C = 273.15 K) w celu zobrazowania pozostałej energii wewnętrznej cząsteczek.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Skala Celsjusza określa tylko nasze odczucie ludzkiego zimna, nie brak energii fizycznej.",
        "Zero bezwzględne to -273.15 °C (0 K) - dopóki powietrze jest cieplejsze, posiada energię do odzyskania.",
        "Rozprężony czynnik R290 ma ok -42 °C, więc dla niego powietrze o temp. -20 °C jest dosłownie gorące i zmusza go do wrzenia."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#webapp-mroz",
    "name": "Kalkulator Potencjału Energetycznego na Mrozie",
    "description": "Interaktywny termometr przeliczający temperaturę otoczenia na skalę Kelvina i obrazujący zdolność wrzenia czynnika chłodniczego w ujemnych temperaturach.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-fz-wrapper">
    <div class="rk-fz-header">
        <div class="rk-fz-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="14 2 18 6 7 17 3 17 3 13 14 2"></polygon><line x1="3" y1="22" x2="21" y2="22"></line></svg>
            Fizyka w Pompach Ciepła
        </div>
        <h2 class="rk-fz-title">Dlaczego pompa działa nawet przy siarczystym mrozie?</h2>
        <p class="rk-fz-desc">
            "Zimno" to tylko nasze ludzkie odczucie. Fizyka używa <strong>temperatury bezwzględnej (Skala Kelvina)</strong>, w której zero absolutne to -273,15°C. Dopóki na dworze jest cieplej, w powietrzu cały czas tkwi darmowa, zmagazynowana energia cieplna gotowa do odzyskania.
        </p>
    </div>

    <div class="rk-fz-interactive">
        
        <div class="rk-fz-controls">
            <button class="rk-fz-btn" id="btnTemp1" data-val="1">
                <span class="rk-fz-btn-title">Typowa Wiosna</span>
                <span class="rk-fz-btn-sub">+10°C</span>
            </button>
            <button class="rk-fz-btn active" id="btnTemp2" data-val="2">
                <span class="rk-fz-btn-title">Lekki Mróz</span>
                <span class="rk-fz-btn-sub">-5°C</span>
            </button>
            <button class="rk-fz-btn" id="btnTemp3" data-val="3">
                <span class="rk-fz-btn-title">Syberyjski Mróz</span>
                <span class="rk-fz-btn-sub">-25°C</span>
            </button>
        </div>

        <div class="rk-fz-display">
            <div class="rk-fz-thermometer">
                <div class="rk-fz-kelvin-val" id="dispKelvin">268</div>
                <div class="rk-fz-kelvin-label">Kelvin (K)</div>
                <div class="rk-fz-energy-bar-wrap">
                    <div class="rk-fz-energy-bar" id="dispBar" style="height: 85%;"></div>
                </div>
            </div>

            <div class="rk-fz-info">
                <h3 id="dispTitle">W powietrzu wciąż kipi energia!</h3>
                <p id="dispDesc">Na dworze jest -5°C, ale zjawiska fizyczne nie ustały. Powietrze nadal posiada aż 268 Kelvinów energii termicznej (prawie 98% całkowitej możliwej energii ziemskiej).</p>
                
                <div class="rk-fz-comparison">
                    <div class="rk-fz-comp-row">
                        <span>Temperatura powietrza:</span>
                        <span class="rk-fz-comp-val" id="dispAir">-5°C</span>
                    </div>
                    <div class="rk-fz-comp-row">
                        <span>Temperatura wrzenia (R290):</span>
                        <span class="rk-fz-comp-val val-refrigerant">-42°C</span>
                    </div>
                </div>
                
                <p style="margin-top: 15px; font-size: 14px; font-weight: 600; color: var(--rk-fz-blue);">
                    Zasada fizyki: Ciepło przepływa od ciała cieplejszego do zimniejszego. Skoro czynnik chłodniczy (R290) ma w parowniku -42°C, to mroźne powietrze o temperaturze <span id="dispAirSpan">-5°C</span> jest dla niego DOSŁOWNIE GORĄCE. Ogrzewa go i zmusza do błyskawicznego wrzenia.
                </p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btns = [
        document.getElementById('btnTemp1'),
        document.getElementById('btnTemp2'),
        document.getElementById('btnTemp3')
    ];
    
    var dispKelvin = document.getElementById('dispKelvin');
    var dispBar = document.getElementById('dispBar');
    var dispTitle = document.getElementById('dispTitle');
    var dispDesc = document.getElementById('dispDesc');
    var dispAir = document.getElementById('dispAir');
    var dispAirSpan = document.getElementById('dispAirSpan');

    function updateThermometer(state) {
        // Reset aktywnych buttonów
        for(var i = 0; i < 3; i++) {
            btns[i].classList.remove('active');
        }
        
        // Bezpieczna struktura if bez operatorów podwójnych
        if (state === 1) {
            btns[0].classList.add('active');
            dispKelvin.innerText = '283';
            dispTitle.innerText = 'Potężny rezerwuar ciepła';
            dispDesc.innerText = 'Przy +10°C powietrze zawiera gigantyczne ilości energii (283 K). Pompa odzyskuje je z łatwością, dlatego wskaźnik COP jest wtedy najwyższy.';
            dispAir.innerText = '+10°C';
            dispAirSpan.innerText = '+10°C';
            
            // Animacja paska w zależności od mobile/desktop
            if(window.innerWidth > 768) { dispBar.style.height = '100%'; dispBar.style.width = '100%'; } 
            else { dispBar.style.width = '100%'; dispBar.style.height = '100%'; }
        }
        
        if (state === 2) {
            btns[1].classList.add('active');
            dispKelvin.innerText = '268';
            dispTitle.innerText = 'W powietrzu wciąż kipi energia!';
            dispDesc.innerText = 'Na dworze jest -5°C, ale powietrze nadal posiada aż 268 Kelvinów energii termicznej gotowej do odebrania przez parownik pompy.';
            dispAir.innerText = '-5°C';
            dispAirSpan.innerText = '-5°C';
            
            if(window.innerWidth > 768) { dispBar.style.height = '85%'; dispBar.style.width = '100%'; } 
            else { dispBar.style.width = '85%'; dispBar.style.height = '100%'; }
        }
        
        if (state === 3) {
    btns[2].classList.add('active');
    dispKelvin.innerText = '248';
    dispTitle.innerText = 'Nadal istnieje zapas energii';
    dispDesc.innerHTML = 'Nawet przy potężnym mrozie -25°C jesteśmy ponad 240 K powyżej zera bezwzględnego. Wysokiej klasy pompy ciepła wykorzystujące <a href="https://projekt-ogrzewania.pl/czy-pompa-ciepla-ogrzeje-dom-z-podlogowka/" style="color:#0284c7;">czynnik R290 (propan)</a> nadal mogą efektywnie pobierać energię z powietrza.';
    dispAir.innerText = '-25°C';
    dispAirSpan.innerText = '-25°C';
            
            if(window.innerWidth > 768) { dispBar.style.height = '60%'; dispBar.style.width = '100%'; } 
            else { dispBar.style.width = '60%'; dispBar.style.height = '100%'; }
        }
    }

    // Eventy
    btns[0].addEventListener('click', function() { updateThermometer(1); });
    btns[1].addEventListener('click', function() { updateThermometer(2); });
    btns[2].addEventListener('click', function() { updateThermometer(3); });
});
</script>



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

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

/* Header */
.rk-ref-header {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-ref-dark) 0%, #064e3b 100%);
    color: #ffffff;
}

.rk-ref-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #6ee7b7;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(52, 211, 153, 0.3);
}

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

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

.rk-ref-desc strong {
    color: #a7f3d0;
}

/* Interaktywny Panel */
.rk-ref-simulator {
    display: flex;
    flex-direction: column;
    background: var(--rk-ref-bg);
}

/* Przyciski Czynników */
.rk-ref-controls {
    display: flex;
    gap: 15px;
    padding: 35px 45px;
    background: var(--rk-ref-light);
    border-bottom: 1px solid var(--rk-ref-border);
}

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

.rk-ref-btn:hover {
    background: #f1f5f9;
    border-color: #94a3b8;
}

.rk-ref-btn.active {
    background: var(--rk-ref-dark);
    border-color: var(--rk-ref-dark);
    box-shadow: 0 10px 20px -5px rgba(15, 23, 42, 0.3);
}

.rk-ref-btn-title {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-ref-dark);
    transition: color 0.3s;
}

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

.rk-ref-btn-sub {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #64748b;
    transition: color 0.3s;
}

.rk-ref-btn.active .rk-ref-btn-sub { color: #94a3b8; }

/* Dashboard Wyników */
.rk-ref-display {
    padding: 40px 45px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

/* GWP Meter */
.rk-gwp-meter {
    background: #ffffff;
    border: 1px solid var(--rk-ref-border);
    border-radius: 16px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-gwp-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-ref-text);
    text-transform: uppercase;
    margin-bottom: 15px;
}

.rk-gwp-circle {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 8px solid var(--rk-ref-border);
    transition: border-color 0.5s ease;
}

.rk-gwp-val {
    font-size: 36px;
    font-weight: 900;
    color: var(--rk-ref-dark);
    line-height: 1;
}

.rk-gwp-label {
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
}

/* Kafelki parametrów */
.rk-ref-specs {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-ref-spec-card {
    background: #f8fafc;
    border: 1px solid var(--rk-ref-border);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: background 0.3s;
}

.rk-ref-spec-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rk-ref-border);
}

.rk-ref-spec-content {
    flex-grow: 1;
}

.rk-ref-spec-name {
    font-size: 12px;
    font-weight: 800;
    color: #64748b;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.rk-ref-spec-value {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-ref-dark);
}

/* Treść o CO2 */
.rk-ref-text-block {
    padding: 0 45px 40px;
}

.rk-ref-co2-box {
    background: #f0fdf4;
    border-left: 6px solid var(--rk-ref-green);
    border-radius: 12px;
    padding: 30px;
}

.rk-ref-co2-box h3 {
    margin: 0 0 10px 0;
    font-size: 20px;
    font-weight: 900;
    color: #064e3b;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-ref-co2-box p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #065f46;
}

/* RWD */
@media (max-width: 768px) {
    .rk-ref-header, .rk-ref-display, .rk-ref-text-block { padding: 30px 20px; }
    .rk-ref-title { font-size: 24px; }
    .rk-ref-controls { flex-direction: column; padding: 25px 20px; gap: 10px; }
    .rk-ref-btn { flex-direction: row; justify-content: space-between; align-items: center; padding: 15px 20px; text-align: left; }
    .rk-ref-display { grid-template-columns: 1fr; gap: 20px; }
    .rk-gwp-meter { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#article-czynniki",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/"
    },
    "headline": "Czynniki chłodnicze a ekologia i koszty F-Gaz (R290, R32, CO2)",
    "description": "Techniczna analiza czynników chłodniczych w pompach ciepła. Wpływ wskaźnika GWP na obowiązki serwisowe (ustawa F-Gaz) oraz możliwości wysokotemperaturowe (R290 i CO2).",
    "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-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#dataset-czynniki",
    "name": "Współczynnik GWP i Właściwości Czynników Chłodniczych 2026",
    "description": "Zestawienie parametrów termodynamicznych, wymogów prawnych (CRO) oraz temperatur zasilania dla popularnych czynników chłodniczych w technologii pomp ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pompa ciepła r290 propan",
      "ustawa f-gazowa pompy ciepła 2026",
      "czynnik r32 a r290 porównanie",
      "współczynnik gwp czynników chłodniczych",
      "pompa ciepła r744 co2 wysoka temperatura"
    ],
    "measurementTechnique": "Określenie wskaźnika Global Warming Potential (GWP) oraz maksymalnych temperatur skraplania dla poszczególnych gazów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "R290 (Propan): GWP 3, maksymalna temp zasilania 75°C, brak wymogu F-Gaz (bezpieczny prawnie).",
        "R32: GWP 675, maksymalna temp zasilania 60°C, podlega regulacjom środowiskowym.",
        "R744 (CO2): GWP 1, ekstremalnie wysoka temperatura zasilania, doskonały do podgrzewu CWU."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#webapp-czynniki",
    "name": "Kalkulator Śladu Węglowego i Obciążeń F-Gaz",
    "description": "Narzędzie interaktywne pozwalające zweryfikować uciążliwość prawną (rejestr CRO) oraz parametry termodynamiczne pompy ciepła na podstawie wybranego czynnika.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-ref-wrapper">
    <div class="rk-ref-header">
        <div class="rk-ref-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 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z"></path><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg>
            Prawo i Ekologia
        </div>
        <h2 class="rk-ref-title">Czynniki chłodnicze: Uważaj na ukryte koszty serwisu</h2>
        <p class="rk-ref-desc">
            Nowoczesne pompy ciepła całkowicie odchodzą od gazów o wysokim GWP (Global Warming Potential). Jeśli kupisz starą maszynę, wpadniesz w sidła <strong>Restrykcyjnej Ustawy F-Gazowej</strong>, co oznacza rejestrację w CRO i płatne, coroczne kontrole szczelności przez serwisanta.
        </p>
    </div>

    <div class="rk-ref-simulator">
        <div class="rk-ref-controls">
            <button class="rk-ref-btn" id="btnR410" data-gas="1">
                <span class="rk-ref-btn-title">R410A</span>
                <span class="rk-rf-btn-sub" style="color:#ef4444;font-size:12px;font-weight:700;">Przestarzały</span>
            </button>
            <button class="rk-ref-btn" id="btnR32" data-gas="2">
                <span class="rk-ref-btn-title">R32</span>
                <span class="rk-rf-btn-sub" style="color:#f59e0b;font-size:12px;font-weight:700;">Przejściowy</span>
            </button>
            <button class="rk-ref-btn active" id="btnR290" data-gas="3">
                <span class="rk-ref-btn-title">R290</span>
                <span class="rk-rf-btn-sub" style="color:#10b981;font-size:12px;font-weight:700;">Przyszłościowy</span>
            </button>
        </div>

        <div class="rk-ref-display">
            <div class="rk-gwp-meter">
                <div class="rk-gwp-title">Wskaźnik GWP<br><span style="font-size:10px;color:#94a3b8;font-weight:500;">(Wpływ na ocieplenie klimatu)</span></div>
                <div class="rk-gwp-circle" id="circleGwp" style="border-color: var(--rk-ref-green);">
                    <div class="rk-gwp-val" id="valGwp">3</div>
                    <div class="rk-gwp-label">Bardzo niski</div>
                </div>
            </div>

            <div class="rk-ref-specs">
                <div class="rk-ref-spec-card" id="cardTemp">
                    <div class="rk-ref-spec-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-ref-red)" 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 class="rk-ref-spec-content">
                        <div class="rk-ref-spec-name">Zasilanie (Max Temp)</div>
                        <div class="rk-ref-spec-value" id="valTemp">do 75°C (Idealny na grzejniki)</div>
                    </div>
                </div>

                <div class="rk-ref-spec-card" id="cardLaw">
                    <div class="rk-ref-spec-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-ref-dark)" 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>
                    </div>
                    <div class="rk-ref-spec-content">
                        <div class="rk-ref-spec-name">Rejestr i ustawa F-GAZ</div>
                        <div class="rk-ref-spec-value" id="valLaw" style="color:var(--rk-ref-green);">Brak wymogów prawnych</div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-ref-text-block">
        <div class="rk-ref-co2-box">
            <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="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                Specyfika R744 (Dwutlenek Węgla)
            </h3>
            <p>R290 (Propan) to król ogrzewania domów, ale na rynku pojawia się też naturalny czynnik <strong>CO2 (R744) o wskaźniku GWP=1</strong>. Pompy na CO2 to potężne maszyny, które rewelacyjnie sprawdzają się w układach przygotowania bardzo gorącej ciepłej wody użytkowej (CWU np. w hotelach). Pamiętaj jednak, że propan (R290) jako gaz łatwopalny wymusza konstrukcję typu monoblok i szczególne zabezpieczenia mechaniczne hermetycznego obiegu na zewnątrz budynku.</p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btnR410 = document.getElementById('btnR410');
    var btnR32 = document.getElementById('btnR32');
    var btnR290 = document.getElementById('btnR290');

    var circleGwp = document.getElementById('circleGwp');
    var valGwp = document.getElementById('valGwp');
    var valTemp = document.getElementById('valTemp');
    var valLaw = document.getElementById('valLaw');
    
    // Zmienne kolorów zadeklarowane w CSS
    var colorRed = 'var(--rk-ref-red)';
    var colorOrange = 'var(--rk-ref-orange)';
    var colorGreen = 'var(--rk-ref-green)';

    function updateRef(state) {
        // Reset klas
        btnR410.classList.remove('active');
        btnR32.classList.remove('active');
        btnR290.classList.remove('active');

        // Bezpieczne sprawdzanie stanu (bez znaków podwójnych)
        if (state === 1) {
            btnR410.classList.add('active');
            valGwp.innerText = '2088';
            circleGwp.style.borderColor = colorRed;
            valTemp.innerText = 'do 55°C (Tylko podłogówka)';
            valLaw.innerText = 'OBOWIĄZKOWE i Płatne!';
            valLaw.style.color = colorRed;
        }

        if (state === 2) {
            btnR32.classList.add('active');
            valGwp.innerText = '675';
            circleGwp.style.borderColor = colorOrange;
            valTemp.innerText = 'do 60°C (Mieszane CO)';
            valLaw.innerText = 'Podlega pod limity ilościowe';
            valLaw.style.color = colorOrange;
        }

        if (state === 3) {
            btnR290.classList.add('active');
            valGwp.innerText = '3';
            circleGwp.style.borderColor = colorGreen;
            valTemp.innerText = 'do 75°C (Idealny na grzejniki)';
            valLaw.innerText = 'Brak wymogów prawnych';
            valLaw.style.color = colorGreen;
        }
    }

    // Nasłuchiwanie
    btnR410.addEventListener('click', function() { updateRef(1); });
    btnR32.addEventListener('click', function() { updateRef(2); });
    btnR290.addEventListener('click', function() { updateRef(3); });
});
</script>



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

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

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

.rk-biv-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #34d399;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(52, 211, 153, 0.3);
}

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

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

.rk-biv-desc strong {
    color: #bae6fd;
}

/* GŁÓWNY PANEL SYMULATORA */
.rk-biv-simulator {
    display: grid;
    grid-template-columns: 350px 1fr;
    background: var(--rk-biv-bg);
    border-bottom: 1px solid var(--rk-biv-border);
}

/* Lewa Kolumna - Przyciski */
.rk-biv-controls {
    padding: 35px 30px;
    background: var(--rk-biv-light);
    border-right: 1px solid var(--rk-biv-border);
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-biv-controls-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-biv-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
}

.rk-biv-btn {
    padding: 18px 20px;
    background: #ffffff;
    border: 2px solid var(--rk-biv-border);
    border-radius: 14px;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rk-biv-btn:hover {
    border-color: #bae6fd;
    background: #f0f9ff;
}

.rk-biv-btn.active {
    border-color: var(--rk-biv-blue);
    background: var(--rk-biv-blue);
    color: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.3);
}

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

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

.rk-biv-btn-sub {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    transition: color 0.3s;
}

.rk-biv-btn.active .rk-biv-btn-sub { color: #bae6fd; }

/* Prawa Kolumna - Wykres SVG */
.rk-biv-graph-box {
    padding: 35px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-biv-graph-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-biv-dark);
}

.rk-biv-legend {
    display: flex;
    gap: 15px;
    font-size: 12px;
}

.rk-legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

.rk-legend-color { width: 12px; height: 12px; border-radius: 3px; }
.bg-demand { background: var(--rk-biv-dark); }
.bg-pump { background: var(--rk-biv-blue); }

.rk-svg-container {
    width: 100%;
    height: auto;
    background: #f8fafc;
    border: 1px solid var(--rk-biv-border);
    border-radius: 12px;
    padding: 10px;
}

/* Elementy wykresu SVG */
.graph-axis { stroke: #cbd5e1; stroke-width: 2; }
.graph-grid { stroke: #e2e8f0; stroke-width: 1; stroke-dasharray: 4 4; }
.line-demand { stroke: var(--rk-biv-dark); stroke-width: 4; stroke-linecap: round; }
.line-pump { stroke: var(--rk-biv-blue); stroke-width: 4; stroke-linecap: round; transition: all 0.5s ease; }
.fill-assist { transition: all 0.5s ease; opacity: 0; }

.graph-point { fill: #ffffff; stroke: var(--rk-biv-blue); stroke-width: 3; transition: all 0.5s ease; }
.graph-text { font-family: 'Inter', sans-serif; font-size: 12px; fill: #64748b; font-weight: 600; }
.graph-label { font-family: 'Inter', sans-serif; font-size: 14px; fill: var(--rk-biv-dark); font-weight: 800; transition: all 0.5s ease; opacity: 0; }

/* Stany wykresu dla poszczególnych trybów */
.state-monoen .fill-assist { fill: var(--rk-biv-red); opacity: 0.2; }
.state-monoen .graph-label.label-monoen { opacity: 1; fill: var(--rk-biv-red); }

.state-biwal .fill-assist { fill: var(--rk-biv-orange); opacity: 0.2; }
.state-biwal .graph-label.label-biwal { opacity: 1; fill: var(--rk-biv-orange); }

.state-monowal .graph-label.label-monowal { opacity: 1; fill: var(--rk-biv-green); }

/* Błąd w Sztuce - Krytyczny Alert */
.rk-biv-alert {
    margin: 35px;
    padding: 30px;
    background: #fff1f2;
    border: 2px solid #fecdd3;
    border-radius: 16px;
    border-left: 6px solid var(--rk-biv-red);
}

.rk-biv-alert-title {
    font-size: 20px;
    font-weight: 900;
    color: #991b1b;
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-biv-alert p {
    font-size: 15px;
    line-height: 1.7;
    color: #7f1d1d;
    margin: 0;
}

.rk-biv-alert a {
    color: #991b1b;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* RWD */
@media (max-width: 768px) {
    .rk-biv-header { padding: 30px 20px; }
    .rk-biv-title { font-size: 24px; }
    .rk-biv-simulator { grid-template-columns: 1fr; }
    .rk-biv-controls { border-right: none; border-bottom: 1px solid var(--rk-biv-border); padding: 25px 20px; }
    .rk-biv-graph-box { padding: 25px 20px; }
    .rk-biv-graph-header { flex-direction: column; gap: 10px; }
    .rk-biv-alert { margin: 20px; padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#article-dobor-mocy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/"
    },
    "headline": "Jak dobrać moc pompy ciepła do zapotrzebowania budynku?",
    "description": "Zrozumienie znaczenia normy PN-EN 12831, projektowego obciążenia cieplnego (OZC) oraz definicji punktu biwalentnego w zapobieganiu taktowaniu 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://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-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#dataset-dobor-mocy",
    "name": "Analiza Punktu Biwalentnego i Zapotrzebowania OZC 2026",
    "description": "Techniczne zestawienie strategii doboru wydajności urządzenia (monowalentna, monoenergetyczna, biwalentna) oraz identyfikacja zjawiska taktowania sprężarki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak dobrać moc pompy ciepła",
      "punkt biwalentny pompy powietrznej",
      "taktowanie sprężarki pompy ciepła",
      "przewymiarowana pompa ciepła skutki",
      "kalkulator ozc dla pompy ciepła"
    ],
    "measurementTechnique": "Wyznaczanie punktu biwalentnego (Tb) na podstawie krzywej obciążenia cieplnego wg PN-EN 12831 (np. 6.0 kW przy -20 stopni) oraz krzywej wydajności.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Punkt Biwalentny Tb: Punkt przecięcia linii zapotrzebowania z krzywą wydajności pompy.",
        "System Monoenergetyczny: Standard w PL, punkt Tb od -5C do -8C, wspomagany grzałką.",
        "Zagrożenie (Taktowanie): Przewymiarowanie urządzenia powoduje mikro-cykle pracy (poniżej 10 minut), drastycznie obniżając żywotność do mniej niż 5 lat."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#webapp-dobor-mocy",
    "name": "Interaktywny Wykres Pracy Biwalentnej",
    "description": "Narzędzie symulujące punkt przecinania się krzywych mocy grzewczej i zapotrzebowania na ciepło dla trzech głównych strategii pracy systemu HVAC.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-biv-wrapper" id="rk-biv-app">
    <div class="rk-biv-header">
        <div class="rk-biv-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
            Krzywe Mocy i OZC
        </div>
        <h2 class="rk-biv-title">Jak poprawnie dobrać moc pompy ciepła?</h2>
        <p class="rk-biv-desc">
            Dobór mocy to nie jest wróżenie z fusów ani dobieranie z "zapasem". Prawidłowy projekt opiera się o <strong>obliczenia OZC (PN-EN 12831)</strong> oraz wyznaczenie <strong>Punktu Biwalentnego ($T_b$)</strong>. Zobacz, jak poszczególne strategie zachowują się na wykresie.
        </p>
    </div>

    <div class="rk-biv-simulator">
        <div class="rk-biv-controls">
            <div class="rk-biv-controls-title">Wybierz strategię systemu</div>
            
            <button class="rk-biv-btn active" data-mode="monoen" id="btnMonoen">
                <span class="rk-biv-btn-title">Układ Monoenergetyczny</span>
                <span class="rk-biv-btn-sub">Powietrze + Grzałka (Standard PL)</span>
            </button>
            
            <button class="rk-biv-btn" data-mode="monowal" id="btnMonowal">
                <span class="rk-biv-btn-title">Układ Monowalentny</span>
                <span class="rk-biv-btn-sub">Gruntowa / Odwiert (100% z pompy)</span>
            </button>
            
            <button class="rk-biv-btn" data-mode="biwal" id="btnBiwal">
                <span class="rk-biv-btn-title">Układ Biwalentny</span>
                <span class="rk-biv-btn-sub">Powietrze + Kocioł Gazowy</span>
            </button>
        </div>

        <div class="rk-biv-graph-box">
            <div class="rk-biv-graph-header">
                <span>Wykres Mocy do Zapotrzebowania</span>
                <div class="rk-biv-legend">
                    <div class="rk-legend-item"><div class="rk-legend-color bg-demand"></div> Zapotrzebowanie (OZC)</div>
                    <div class="rk-legend-item"><div class="rk-legend-color bg-pump"></div> Moc Pompy Ciepła</div>
                </div>
            </div>

            <div class="rk-svg-container state-monoen" id="bivGraph">
                <svg viewBox="0 0 500 300" width="100%" height="100%" preserveAspectRatio="xMidYMid meet">
                    <line x1="50" y1="250" x2="480" y2="250" class="graph-axis" /> <line x1="50" y1="20" x2="50" y2="250" class="graph-axis" />  <line x1="50" y1="200" x2="480" y2="200" class="graph-grid" />
                    <line x1="50" y1="140" x2="480" y2="140" class="graph-grid" />
                    <line x1="50" y1="80" x2="480" y2="80" class="graph-grid" />
                    
                    <text x="35" y="85" class="graph-text" text-anchor="end">8 kW</text>
                    <text x="35" y="145" class="graph-text" text-anchor="end">6 kW</text>
                    <text x="35" y="205" class="graph-text" text-anchor="end">4 kW</text>

                    <text x="80" y="270" class="graph-text" text-anchor="middle">-20°C</text>
                    <text x="215" y="270" class="graph-text" text-anchor="middle">-7°C</text>
                    <text x="350" y="270" class="graph-text" text-anchor="middle">+7°C</text>
                    <text x="450" y="270" class="graph-text" text-anchor="middle">+15°C</text>

                    <path id="svgAssist" class="fill-assist" d="M 80 80 L 215 140 L 80 140 Z" />

                    <line x1="80" y1="80" x2="450" y2="250" class="line-demand" />

                    <line id="svgPumpLine" x1="80" y1="180" x2="350" y2="50" class="line-pump" />

                    <circle id="svgPoint" cx="215" cy="140" r="6" class="graph-point" />
                    
                    <text x="120" y="125" class="graph-label label-monoen">+ Grzałka Elektryczna</text>
                    <text x="120" y="125" class="graph-label label-biwal">+ Kocioł (Gaz/Pelet)</text>
                    <text x="200" y="60" class="graph-label label-monowal">Pełne Pokrycie (Grunt)</text>
                </svg>
            </div>
        </div>
    </div>

    <div class="rk-biv-alert">
        <div class="rk-biv-alert-title">
            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><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 w sztuce: Przewymiarowanie i Taktowanie
        </div>
        <p>Największym grzechem inwestycyjnym jest kupowanie pompy "z zapasem" (np. montaż 12 kW w domu wymagającym 6 kW), tylko po to, by grzałka przy -20°C nigdy się nie włączyła. Wiosną i jesienią pompa jest wtedy za mocna na ciepły dom i zaczyna <strong>taktować</strong> – włączać się na krótkie, 5-minutowe cykle. Skutek? Ogromne zużycie prądu (rozruch) i śmierć mechaniczna sprężarki <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">często już po 4-5 latach</a>.</p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btnMonoen = document.getElementById('btnMonoen');
    var btnMonowal = document.getElementById('btnMonowal');
    var btnBiwal = document.getElementById('btnBiwal');
    
    var svgGraph = document.getElementById('bivGraph');
    var svgPumpLine = document.getElementById('svgPumpLine');
    var svgAssist = document.getElementById('svgAssist');
    var svgPoint = document.getElementById('svgPoint');

    // Funkcja resetowania klas aktywnych
    function resetClasses() {
        btnMonoen.classList.remove('active');
        btnMonowal.classList.remove('active');
        btnBiwal.classList.remove('active');
        
        svgGraph.classList.remove('state-monoen');
        svgGraph.classList.remove('state-monowal');
        svgGraph.classList.remove('state-biwal');
    }

    // Tryb Monoenergetyczny (Powietrze + Grzałka)
    function setMonoen() {
        resetClasses();
        btnMonoen.classList.add('active');
        svgGraph.classList.add('state-monoen');
        
        // Linia pompy opada. Tb na -7C
        svgPumpLine.setAttribute('x1', '80');
        svgPumpLine.setAttribute('y1', '180');
        svgPumpLine.setAttribute('x2', '350');
        svgPumpLine.setAttribute('y2', '50');
        
        // Trójkąt asysty
        svgAssist.setAttribute('d', 'M 80 80 L 215 140 L 80 180 Z');
        
        // Punkt
        svgPoint.setAttribute('cx', '215');
        svgPoint.setAttribute('cy', '140');
    }

    // Tryb Monowalentny (Grunt - płaska charakterystyka)
    function setMonowal() {
        resetClasses();
        btnMonowal.classList.add('active');
        svgGraph.classList.add('state-monowal');
        
        // Linia pompy pozioma. Przecięcie na skraju -20C lub pokrywa całość
        svgPumpLine.setAttribute('x1', '50');
        svgPumpLine.setAttribute('y1', '75');
        svgPumpLine.setAttribute('x2', '450');
        svgPumpLine.setAttribute('y2', '75');
        
        // Asysta ukryta
        svgAssist.setAttribute('d', 'M 80 80 L 80 80 L 80 80 Z');
        
        // Punkt Tb (na skraju z lewej)
        svgPoint.setAttribute('cx', '80');
        svgPoint.setAttribute('cy', '80');
    }

    // Tryb Biwalentny (Powietrze + Kocioł)
    function setBiwal() {
        resetClasses();
        btnBiwal.classList.add('active');
        svgGraph.classList.add('state-biwal');
        
        // Linia pompy niżej. Tb na ok -2C do 0C
        svgPumpLine.setAttribute('x1', '80');
        svgPumpLine.setAttribute('y1', '210');
        svgPumpLine.setAttribute('x2', '350');
        svgPumpLine.setAttribute('y2', '80');
        
        // Trójkąt asysty większy
        svgAssist.setAttribute('d', 'M 80 80 L 270 167 L 80 210 Z');
        
        // Punkt
        svgPoint.setAttribute('cx', '270');
        svgPoint.setAttribute('cy', '167');
    }

    // Podpięcie eventów
    btnMonoen.addEventListener('click', setMonoen);
    btnMonowal.addEventListener('click', setMonowal);
    btnBiwal.addEventListener('click', setBiwal);
});
</script>



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

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

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

.rk-tech-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #34d399;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(52, 211, 153, 0.3);
}

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

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

/* Przełącznik Technologii */
.rk-tech-selector {
    padding: 35px 45px;
    background: var(--rk-tech-bg);
    display: flex;
    gap: 15px;
    border-bottom: 1px solid var(--rk-tech-border);
}

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

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

.rk-tech-btn.active {
    background: var(--rk-tech-blue);
    color: #ffffff;
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.4);
}

.rk-tech-btn-title { font-size: 16px; font-weight: 800; }
.rk-tech-btn-sub { font-size: 12px; font-weight: 600; opacity: 0.8; }

/* Dashboard Wyników */
.rk-tech-dashboard {
    padding: 35px 45px;
    background: var(--rk-tech-light);
}

.rk-tech-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.rk-kpi-card {
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-tech-border);
    display: flex;
    align-items: center;
    gap: 20px;
    transition: transform 0.3s, box-shadow 0.3s;
}

.rk-kpi-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.1);
    border-color: #bae6fd;
}

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

.rk-kpi-content { flex-grow: 1; }
.rk-kpi-label { font-size: 12px; color: #64748b; font-weight: 800; text-transform: uppercase; margin-bottom: 5px; }
.rk-kpi-val { font-size: 22px; font-weight: 900; color: var(--rk-tech-dark); transition: color 0.3s; }

/* Detale Techniczne (Sondy/Kolektory) */
.rk-tech-details {
    padding: 0 45px 40px;
    background: var(--rk-tech-light);
}

.rk-tech-details-inner {
    background: #ffffff;
    border: 1px solid var(--rk-tech-border);
    border-left: 4px solid var(--rk-tech-blue);
    border-radius: 16px;
    padding: 30px;
}

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

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

.rk-tech-details-inner ul {
    margin: 0;
    padding-left: 20px;
}

.rk-tech-details-inner li {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-tech-text);
    margin-bottom: 10px;
}

.rk-tech-details-inner a {
    color: var(--rk-tech-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* RWD */
@media (max-width: 768px) {
    .rk-tech-header, .rk-tech-selector, .rk-tech-dashboard, .rk-tech-details { padding: 30px 20px; }
    .rk-tech-title { font-size: 24px; }
    .rk-tech-selector { flex-direction: column; gap: 10px; }
    .rk-tech-btn { flex-direction: row; justify-content: space-between; padding: 15px 20px; text-align: left; }
    .rk-tech-btn-icon { display: none; }
    .rk-tech-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-kpi-val { font-size: 18px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#article-technologie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/"
    },
    "headline": "Powietrzna czy gruntowa pompa ciepła: Którą technologię wybrać?",
    "description": "Techniczno-ekonomiczne porównanie pomp ciepła ASHP (R290) oraz GSHP. Analiza kosztów, wskaźnika SCOP oraz wymogów dla odwiertów pionowych i kolektoró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-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#dataset-technologie",
    "name": "Analiza Techniczno-Ekonomiczna: Powietrze vs Grunt 2026",
    "description": "Zestawienie tabelaryczne parametrów eksploatacyjnych, kosztów brutto oraz sprawności dla systemów ASHP i GSHP dla domu 150m2.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "gruntowa pompa ciepła koszty",
      "pompa ciepła r290 monoblok",
      "odwierty pod pompę ciepła cena",
      "scop pompy ciepła w35",
      "kolektor poziomy a pionowy"
    ],
    "measurementTechnique": "Szacunki oparte na wytycznych instrukcji projektowej PORT PC oraz realnych stawkach rynkowych dla domów jednorodzinnych 150 m2.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Pompa Powietrze/Woda: SCOP 3.8-4.2, Koszt: 35k-48k PLN, Chłodzenie aktywne.",
        "Sonda Pionowa: SCOP 4.8-5.2, Koszt: 65k-85k PLN, Uzysk 40-60 W/m.",
        "Kolektor Poziomy: SCOP 4.3-4.6, Koszt: 50k-65k PLN, Wymagana pow. 300-500 m2."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#webapp-technologie",
    "name": "Kalkulator Rentowności i Doboru Technologii OZE",
    "description": "Interaktywny panel zestawiający kluczowe parametry (Wydajność, Budżet, Działka, Żywotność) pozwalający na błyskawiczne porównanie systemów grzewczych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-tech-wrapper">
    <div class="rk-tech-header">
        <div class="rk-tech-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>
            Analiza Inwestycyjna
        </div>
        <h2 class="rk-tech-title">Powietrzna czy gruntowa pompa ciepła: Którą technologię wybrać?</h2>
        <p class="rk-tech-desc">
            Decyzja musi opierać się na twardej matematyce i geologii, a nie marketingu. Systemy gruntowe wg wytycznych PORT PC dają absolutną stabilność (solanka na 100m to stałe +7°C). Z kolei powietrzne <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" style="color:#bae6fd;text-decoration:underline;">pompy monoblok na R290</a> bronią się potężnie niższym kosztem startowym. Zobacz liczby.
        </p>
    </div>

    <div class="rk-tech-selector">
        <button class="rk-tech-btn active" data-tech="air" id="btnAir">
            <svg class="rk-tech-btn-icon" width="32" height="32" 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>
            <div style="text-align:center;">
                <div class="rk-tech-btn-title">Powietrze / Woda</div>
                <div class="rk-tech-btn-sub">Monoblok R290</div>
            </div>
        </button>
        <button class="rk-tech-btn" data-tech="geo-v" id="btnGeoV">
            <svg class="rk-tech-btn-icon" width="32" height="32" 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 style="text-align:center;">
                <div class="rk-tech-btn-title">Grunt / Woda</div>
                <div class="rk-tech-btn-sub">Sonda Pionowa</div>
            </div>
        </button>
        <button class="rk-tech-btn" data-tech="geo-h" id="btnGeoH">
            <svg class="rk-tech-btn-icon" width="32" height="32" 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 style="text-align:center;">
                <div class="rk-tech-btn-title">Grunt / Woda</div>
                <div class="rk-tech-btn-sub">Kolektor Poziomy</div>
            </div>
        </button>
    </div>

    <div class="rk-tech-dashboard">
        <div class="rk-tech-grid">
            
            <div class="rk-kpi-card">
                <div class="rk-kpi-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 20V10M18 20V4M6 20v-4"></path></svg></div>
                <div class="rk-kpi-content">
                    <div class="rk-kpi-label">Średnioroczny SCOP (W35)</div>
                    <div class="rk-kpi-val" id="valScop">3.8 – 4.2</div>
                </div>
            </div>

            <div class="rk-kpi-card">
                <div class="rk-kpi-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="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg></div>
                <div class="rk-kpi-content">
                    <div class="rk-kpi-label">Koszt brutto (Dom 150 m²)</div>
                    <div class="rk-kpi-val" id="valCost">35 000 – 48 000 PLN</div>
                </div>
            </div>

            <div class="rk-kpi-card">
                <div class="rk-kpi-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><polyline points="12 6 12 12 16 14"></polyline></svg></div>
                <div class="rk-kpi-content">
                    <div class="rk-kpi-label">Żywotność dolnego źródła</div>
                    <div class="rk-kpi-val" id="valLife">Brak zewnętrznego wymiennika</div>
                </div>
            </div>

            <div class="rk-kpi-card">
                <div class="rk-kpi-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="14 2 18 6 7 17 3 17 3 13 14 2"></polygon><line x1="3" y1="22" x2="21" y2="22"></line></svg></div>
                <div class="rk-kpi-content">
                    <div class="rk-kpi-label">Wymagania dla działki</div>
                    <div class="rk-kpi-val" id="valPlot">0 m² / Brak formalności</div>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-tech-details">
        <div class="rk-tech-details-inner">
            <h3>Charakterystyka dolnych źródeł pomp gruntowych</h3>
            <p>W przypadku podjęcia decyzji o stabilnym systemie gruntowym, kluczem do ochrony sprężarki jest idealnie zwymiarowany wymiennik na etapie <a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/">bilansu cieplnego budynku</a>:</p>
            <ul>
                <li><strong>Sondy pionowe (Odwierty):</strong> Rury wprowadzane pionowo (U-rura), najczęściej z mocarnego tworzywa PE100 RC (32x3.0 mm lub 40x3.7 mm). Jednostkowy uzysk z metra bieżącego wynosi od <strong>40 W/m</strong> (suchy piasek) do <strong>60 W/m</strong> (wilgotny granit). <em>Konsekwencja błędów:</em> Niedoszacowanie długości odwiertu to zamrożenie gruntu w kamień i permanentna blokada pompy błędem niskiego ciśnienia.</li>
                <li><strong>Kolektory poziome:</strong> Rury układane wężownicą poniżej strefy przemarzania (1.5 - 1.8 m). Uzysk to <strong>10 – 25 W/m²</strong>. Teren ten nie może być zabetonowany ani zacieniony, ponieważ regeneracja termiczna gruntu zależy od słońca i deszczu. Wymaga to dużej i wolnej działki (często powyżej 300 m²).</li>
            </ul>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // Baza danych dla poszczególnych technologii
    var techData = {
        'air': {
            scop: '3.8 – 4.2',
            cost: '35 000 – 48 000 PLN',
            life: 'Brak zewn. wymiennika',
            plot: '0 m² / Brak formalności'
        },
        'geo-v': {
            scop: '4.8 – 5.2',
            cost: '65 000 – 85 000 PLN',
            life: '50+ lat',
            plot: 'Projekt geologiczny'
        },
        'geo-h': {
            scop: '4.3 – 4.6',
            cost: '50 000 – 65 000 PLN',
            life: '30 – 40 lat',
            plot: '300 – 500 m² (Wolny teren)'
        }
    };

    // Referencje
    var btns = document.querySelectorAll('.rk-tech-btn');
    var valScop = document.getElementById('valScop');
    var valCost = document.getElementById('valCost');
    var valLife = document.getElementById('valLife');
    var valPlot = document.getElementById('valPlot');

    // Funkcja aktualizująca (BEZ operatorów logicznych zagrażających JS w WP)
    function updateDashboard(techKey) {
        var data = techData[techKey];
        if (data) {
            valScop.innerText = data.scop;
            valCost.innerText = data.cost;
            valLife.innerText = data.life;
            valPlot.innerText = data.plot;
            
            // Lekki efekt pulse dla zwrócenia uwagi
            valScop.style.opacity = '0.5';
            setTimeout(function() { valScop.style.opacity = '1'; }, 150);
        }
    }

    // Podpięcie eventów pod przyciski
    for (var i = 0; i < btns.length; i++) {
        btns[i].addEventListener('click', function() {
            // Czyszczenie klasy active
            for (var j = 0; j < btns.length; j++) {
                btns[j].classList.remove('active');
            }
            
            // Aktywacja klikniętego
            this.classList.add('active');
            
            // Pobranie klucza i aktualizacja
            var key = this.getAttribute('data-tech');
            updateDashboard(key);
        });
    }

});
</script>



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

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

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

.rk-buf-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #34d399;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(52, 211, 153, 0.3);
}

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

/* Symulator interaktywny */
.rk-buf-simulator {
    padding: 40px 45px;
    background: var(--rk-buf-light);
    border-bottom: 1px solid var(--rk-buf-border);
}

.rk-buf-controls {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

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

.rk-buf-btn:hover { background: #f1f5f9; border-color: #bae6fd; }

.rk-buf-btn.active[data-state="safe"] {
    border-color: var(--rk-buf-green);
    background: #ecfdf5;
    box-shadow: 0 10px 20px -5px rgba(16, 185, 129, 0.2);
}

.rk-buf-btn.active[data-state="danger"] {
    border-color: var(--rk-buf-red);
    background: #fef2f2;
    box-shadow: 0 10px 20px -5px rgba(239, 68, 68, 0.2);
}

.rk-buf-btn-title { font-size: 16px; font-weight: 800; color: var(--rk-buf-dark); }
.rk-buf-btn-sub { font-size: 13px; font-weight: 600; color: #64748b; }

/* Diagram Wizualny */
.rk-buf-diagram {
    background: #ffffff;
    border: 1px solid var(--rk-buf-border);
    border-radius: 16px;
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    transition: background 0.4s, border-color 0.4s;
}

.rk-buf-diagram.state-danger {
    background: #fff1f2;
    border-color: var(--rk-buf-red);
}

.rk-buf-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    z-index: 2;
    width: 30%;
    text-align: center;
}

.rk-buf-icon-box {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    background: var(--rk-buf-light);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--rk-buf-blue);
    transition: all 0.4s;
}

.state-danger .rk-buf-node.pump .rk-buf-icon-box { border-color: var(--rk-buf-red); background: #fee2e2; }
.state-danger .rk-buf-node.buffer { opacity: 0.2; filter: grayscale(100%); }
.state-danger .rk-buf-node.floor .rk-buf-icon-box { border-color: #cbd5e1; background: #f1f5f9; }

.rk-buf-node-title { font-size: 14px; font-weight: 800; color: var(--rk-buf-dark); }
.rk-buf-node-desc { font-size: 12px; color: #64748b; font-weight: 600; }

.rk-buf-flow {
    flex-grow: 1;
    height: 4px;
    background: var(--rk-buf-blue);
    position: relative;
    margin: 0 15px;
    border-radius: 2px;
    z-index: 1;
    transition: background 0.4s;
}

.rk-buf-flow::after {
    content: '';
    position: absolute;
    top: -4px; left: 50%;
    border-width: 6px;
    border-style: solid;
    border-color: transparent transparent transparent var(--rk-buf-blue);
    transform: translateX(-50%);
}

.state-danger .rk-buf-flow { background: var(--rk-buf-red); }
.state-danger .rk-buf-flow::after { border-color: transparent transparent transparent var(--rk-buf-red); }

/* Alert Box */
.rk-buf-alert {
    margin-top: 25px;
    padding: 20px;
    border-radius: 12px;
    font-size: 15px;
    line-height: 1.6;
    font-weight: 600;
    transition: all 0.4s;
}

.rk-buf-alert.safe { background: #ecfdf5; color: #065f46; border-left: 4px solid var(--rk-buf-green); }
.rk-buf-alert.danger { background: #fef2f2; color: #991b1b; border-left: 4px solid var(--rk-buf-red); }

/* Detale Tekstowe */
.rk-buf-details {
    padding: 40px 45px;
    background: var(--rk-buf-bg);
}

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

.rk-buf-card {
    padding: 25px;
    border: 1px solid var(--rk-buf-border);
    border-radius: 16px;
    background: #f8fafc;
}

.rk-buf-card h4 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-buf-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

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

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

/* RWD */
@media (max-width: 768px) {
    .rk-buf-header, .rk-buf-simulator, .rk-buf-details { padding: 30px 20px; }
    .rk-buf-title { font-size: 24px; }
    .rk-buf-controls { flex-direction: column; gap: 10px; }
    .rk-buf-diagram { flex-direction: column; gap: 20px; padding: 25px 15px; }
    .rk-buf-node { width: 100%; flex-direction: row; text-align: left; }
    .rk-buf-node-text { flex-grow: 1; }
    .rk-buf-flow { width: 4px; height: 30px; margin: 0; }
    .rk-buf-flow::after { top: 50%; left: -4px; transform: translateY(-50%); border-color: var(--rk-buf-blue) transparent transparent transparent; border-width: 6px 6px 0 6px; }
    .state-danger .rk-buf-flow::after { border-color: var(--rk-buf-red) transparent transparent transparent; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#article-bufor",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/"
    },
    "headline": "Dlaczego bufor ciepła jest niezbędny w instalacji z pompą ciepła?",
    "description": "Techniczne omówienie konieczności stosowania bufora ciepła jako sprzęgła hydraulicznego oraz rezerwuaru energii niezbędnego do procesu odszraniania (defrostu).",
    "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-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#dataset-bufor",
    "name": "Analiza ryzyka i kosztów braku bufora w instalacji pompy ciepła",
    "description": "Identyfikacja punktów krytycznych układu hydraulicznego oraz kosztów napraw pogwarancyjnych wynikających z niezapewnienia minimalnego zładu wody.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "bufor ciepła do pompy ciepła",
      "schemat pompy ciepła z buforem",
      "błąd przepływu pompy ciepła",
      "zamrożony wymiennik płytowy koszty",
      "sprzęgło hydrauliczne a bufor"
    ],
    "measurementTechnique": "Określenie przepływu minimalnego (np. 1.5 m3/h) oraz czasu odszraniania (3-7 minut) w korelacji z pojemnością wodną instalacji strefowej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt wymiany rozsadzonego skraplacza: powyżej 8000 PLN.",
        "Funkcja bufora: Zapewnienie energii do defrostu oraz separacja obiegów hydraulicznych.",
        "Ryzyko: Odcięcie pętli przez siłowniki powoduje nagły spadek pojemności poniżej normy bezpieczeństwa."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#webapp-bufor",
    "name": "Symulator Awarii Hydraulicznej i Defrostu",
    "description": "Interaktywne narzędzie obrazujące zachowanie zładu wody i przepływów podczas procesu odszraniania z uwzględnieniem bufora oraz jego braku.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-buf-wrapper">
    <div class="rk-buf-header">
        <div class="rk-buf-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 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Fundament Instalacji
        </div>
        <h2 class="rk-buf-title">Dlaczego bufor ciepła to Twoja polisa ubezpieczeniowa?</h2>
        <p style="font-size: 16px; color: #94a3b8; line-height: 1.6; margin: 0;">
            Zastosowanie <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" style="color:#bae6fd;text-decoration:underline;">zbiornika buforowego</a> to nie kaprys instalatora, lecz twardy wymóg technologiczny określony przez producentów. Chroni on Twoją sprężarkę przed tzw. "zajechaniem" i rozsadzeniem wymiennika. Zobacz, co się dzieje pod obudową maszyny.
        </p>
    </div>

    <div class="rk-buf-simulator">
        <div class="rk-buf-controls">
            <button class="rk-buf-btn active" data-state="safe" id="btnSafe">
                <span class="rk-buf-btn-title">Instalacja Inżynierska</span>
                <span class="rk-buf-btn-sub">Bufor działa jako sprzęgło</span>
            </button>
            <button class="rk-buf-btn" data-state="danger" id="btnDanger">
                <span class="rk-buf-btn-title">Instalacja "Oszczędna"</span>
                <span class="rk-buf-btn-sub">Brak bufora + zamknięte pętle</span>
            </button>
        </div>

        <div class="rk-buf-diagram" id="diagramBox">
            <div class="rk-buf-node pump">
                <div class="rk-buf-icon-box">
                    <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="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-buf-node-text">
                    <div class="rk-buf-node-title">Pompa Ciepła</div>
                    <div class="rk-buf-node-desc">Obieg Pierwotny</div>
                </div>
            </div>
            
            <div class="rk-buf-flow"></div>
            
            <div class="rk-buf-node buffer">
                <div class="rk-buf-icon-box">
                    <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="2" width="16" height="20" rx="2" ry="2"></rect><line x1="4" y1="7" x2="20" y2="7"></line><line x1="4" y1="17" x2="20" y2="17"></line></svg>
                </div>
                <div class="rk-buf-node-text">
                    <div class="rk-buf-node-title">Bufor Ciepła</div>
                    <div class="rk-buf-node-desc">Zład: 100 Litrów</div>
                </div>
            </div>
            
            <div class="rk-buf-flow"></div>
            
            <div class="rk-buf-node floor">
                <div class="rk-buf-icon-box">
                    <svg width="32" height="32" 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-buf-node-text">
                    <div class="rk-buf-node-title">Podłogówka</div>
                    <div class="rk-buf-node-desc">Obieg Wtórny</div>
                </div>
            </div>
        </div>

        <div class="rk-buf-alert safe" id="alertBox">
            <strong>BEZPIECZEŃSTWO:</strong> Podczas mrozów pompa ciepła pobiera zmagazynowaną w buforze energię do procesu odszraniania (defrostu). Przepływ jest stabilny, a dwa obiegi hydrauliczne nie zakłócają swojej pracy.
        </div>
    </div>

    <div class="rk-buf-details">
        <div class="rk-buf-grid">
            <div class="rk-buf-card">
                <h4>
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-buf-blue)" 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>
                    Zapewnienie energii do defrostu
                </h4>
                <p>Podczas wysokiej wilgotności na parowniku osadza się szron. Pompa musi odwrócić obieg – pobrać potężny ładunek ciepła z instalacji, aby stopić lód. Trwa to od 3 do 7 minut. Zapas wody w buforze gwarantuje, że proces przebiegnie płynnie bez generowania groźnych błędów przepływu.</p>
            </div>
            
            <div class="rk-buf-card">
                <h4>
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-buf-blue)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 3h5v5M4 20L21 3M21 16v5h-5M15 15l6 6M4 4l5 5"></path></svg>
                    Sprzęgło hydrauliczne (Separacja)
                </h4>
                <p>Pompa ciepła wymaga stałego, gigantycznego przepływu (np. 1.5 m³/h). Jeśli podłogówka posiada <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">sterowanie strefowe (siłowniki)</a>, przepływ ciągle się zmienia. <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">Sprzęgło hydrauliczne</a> w postaci bufora eliminuje zakłócenia między pompami obiegowymi.</p>
            </div>

            <div class="rk-buf-card" style="border-color: var(--rk-buf-red); background: #fef2f2;">
                <h4 style="color: var(--rk-buf-red);">
                    <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>
                    Konsekwencje braku bufora
                </h4>
                <p>Rezygnacja z bufora przy jednoczesnym montażu siłowników to wyrok na instalację. Gdy zamknie się np. 7 z 10 pętli, obieg zostaje zdławiony. W trakcie mrozów, pompa próbuje wykonać defrost, jednak brak zładu wody powoduje natychmiastowe <strong>mechaniczne rozsadzenie (zamarznięcie) skraplacza</strong>. Koszt tej nieobjętej gwarancją naprawy przekracza nierzadko <strong>8 000 PLN</strong>.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btnSafe = document.getElementById('btnSafe');
    var btnDanger = document.getElementById('btnDanger');
    var diagramBox = document.getElementById('diagramBox');
    var alertBox = document.getElementById('alertBox');

    function triggerSafeState() {
        btnDanger.classList.remove('active');
        btnSafe.classList.add('active');
        diagramBox.classList.remove('state-danger');
        
        alertBox.className = 'rk-buf-alert safe';
        alertBox.innerHTML = '<strong>BEZPIECZEŃSTWO:</strong> Podczas mrozów pompa ciepła pobiera zmagazynowaną w buforze energię do procesu odszraniania (defrostu). Przepływ jest stabilny, a dwa obiegi hydrauliczne nie zakłócają swojej pracy.';
    }

    function triggerDangerState() {
        btnSafe.classList.remove('active');
        btnDanger.classList.add('active');
        diagramBox.classList.add('state-danger');
        
        alertBox.className = 'rk-buf-alert danger';
        alertBox.innerHTML = '<strong>AWARIA (FLOW ERROR):</strong> Siłowniki zamknęły pętle podłogówki. Przepływ zdławiony do zera. Pompa podczas mrozu próbuje rozmrozić jednostkę zewn., co przy braku bufora skutkuje trwałym rozsadzeniem płytowego wymiennika ciepła.';
    }

    // Bezpieczne przypięcie zdarzeń bez operatorów logicznych
    btnSafe.addEventListener('click', triggerSafeState);
    btnDanger.addEventListener('click', triggerDangerState);
});
</script>



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

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

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

.rk-cop-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(2, 132, 199, 0.3);
    color: #38bdf8;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

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

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

/* Sekcja Symulatora COP */
.rk-cop-simulator {
    padding: 40px 45px;
    background: var(--rk-cop-light);
    border-bottom: 1px solid var(--rk-cop-border);
}

.rk-cop-toggle-box {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

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

.rk-cop-btn:hover {
    background: #f8fafc;
    border-color: #bae6fd;
}

.rk-cop-btn.active[data-type="eco"] {
    border-color: var(--rk-cop-green);
    background: #ecfdf5;
    color: var(--rk-cop-dark);
    box-shadow: 0 10px 20px -5px rgba(16, 185, 129, 0.2);
}

.rk-cop-btn.active[data-type="bad"] {
    border-color: var(--rk-cop-red);
    background: #fef2f2;
    color: var(--rk-cop-dark);
    box-shadow: 0 10px 20px -5px rgba(239, 68, 68, 0.2);
}

.rk-cop-btn-title {
    font-size: 16px;
    font-weight: 800;
}

.rk-cop-btn-sub {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
}

.rk-cop-result-display {
    background: #ffffff;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-cop-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-cop-score {
    text-align: center;
}

.rk-cop-score-label {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
    color: #64748b;
    letter-spacing: 1px;
    margin-bottom: 5px;
}

.rk-cop-score-val {
    font-size: 48px;
    font-weight: 900;
    line-height: 1;
    transition: color 0.3s;
}

.rk-cop-info {
    flex: 1;
    margin-left: 30px;
    padding-left: 30px;
    border-left: 1px solid var(--rk-cop-border);
}

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

.rk-cop-info strong {
    color: var(--rk-cop-dark);
}

/* Reżim Hydrauliczny - Karty */
.rk-cop-rules {
    padding: 40px 45px;
    background: var(--rk-cop-bg);
}

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

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

.rk-rule-card {
    background: #f8fafc;
    border: 1px solid var(--rk-cop-border);
    border-radius: 16px;
    padding: 25px 20px;
    transition: transform 0.3s, box-shadow 0.3s;
}

.rk-rule-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px -8px rgba(2, 132, 199, 0.15);
    border-color: var(--rk-cop-blue);
    background: #ffffff;
}

.rk-rule-icon {
    width: 40px;
    height: 40px;
    background: var(--rk-cop-light);
    color: var(--rk-cop-blue);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

.rk-rule-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-cop-dark);
    margin: 0 0 10px 0;
    line-height: 1.3;
}

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

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

/* RWD */
@media (max-width: 768px) {
    .rk-cop-header, .rk-cop-simulator, .rk-cop-rules { padding: 30px 20px; }
    .rk-cop-title { font-size: 24px; }
    .rk-cop-toggle-box { flex-direction: column; gap: 10px; }
    .rk-cop-result-display { flex-direction: column; text-align: center; padding: 25px 20px; }
    .rk-cop-info { margin: 20px 0 0 0; padding: 20px 0 0 0; border-left: none; border-top: 1px solid var(--rk-cop-border); }
    .rk-rules-grid { grid-template-columns: 1fr; gap: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#article-wspolpraca",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/"
    },
    "headline": "Jak pompa ciepła współpracuje z ogrzewaniem podłogowym?",
    "description": "Szczegółowa analiza wpływu temperatury zasilania na wskaźnik COP według obiegu Carnota oraz omówienie restrykcyjnego reżimu hydraulicznego dla instalacji 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-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#dataset-wspolpraca",
    "name": "Wydajność pomp ciepła a temperatura zasilania (W35 vs W55)",
    "description": "Zestawienie zależności wskaźnika COP od temperatury odbiornika oraz wymogi hydrauliczne dotyczące spadku temperatur i średnic rur magistralnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "sprawność pompy ciepła cop",
      "temperatura zasilania podłogówki",
      "delta t w ogrzewaniu podłogowym",
      "średnica rur do rozdzielacza",
      "obieg carnota w pompie ciepła"
    ],
    "measurementTechnique": "Analiza porównawcza wskaźnika efektywności (COP) dla parametrów W35 vs W55 oraz weryfikacja oporów hydraulicznych dla projektowej Delty T=5K.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Spadek temperatury zasilania o 1 stopień C = oszczędność prądu 2.5-3%.",
        "Wymagana Delta T dla pomp ciepła: rygorystyczne 5K wymuszające wysokie przepływy masowe.",
        "Minimalna średnica magistrali zasilającej rozdzielacz dla mocy 8 kW: wewnętrznie 26 mm (np. rura PEX 32x3.0 mm)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#webapp-wspolpraca",
    "name": "Symulator Sprawności Odbiorników W35 vs W55",
    "description": "Interaktywne zestawienie wpływu rodzaju odbiornika ciepła (podłogówka niskotemperaturowa vs grzejniki wysokotemperaturowe) na sprawność sprężarki i zużycie energii.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cop-wrapper">
    <div class="rk-cop-header">
        <div class="rk-cop-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>
            Termodynamika i Hydraulika
        </div>
        <h2 class="rk-cop-title">Jak pompa ciepła współpracuje z ogrzewaniem podłogowym?</h2>
        <p class="rk-cop-desc">
            Wodne ogrzewanie płaszczyznowe to naturalny i jedyny słuszny odbiornik dla pompy. Tajemnica tkwi w <strong>obiegu Carnota</strong> – każde obniżenie zasilania podłogówki o 1°C ścina zużycie prądu o około 2.5 – 3%.
        </p>
    </div>

    <div class="rk-cop-simulator">
        <div class="rk-cop-toggle-box">
            <button class="rk-cop-btn active" data-type="eco" id="btnW35">
                <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="color:var(--rk-cop-green);"><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>
                <span class="rk-cop-btn-title">System Zoptymalizowany</span>
                <span class="rk-cop-btn-sub">Podłogówka (Zasilanie W35)</span>
            </button>
            <button class="rk-cop-btn" data-type="bad" id="btnW55">
                <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="color:var(--rk-cop-red);"><path d="M3 3v18h18"></path><path d="M18.7 8l-5.1 5.2-2.8-2.7L7 14.3"></path></svg>
                <span class="rk-cop-btn-title">Stary System (Modernizacja)</span>
                <span class="rk-cop-btn-sub">Grzejniki (Zasilanie W55)</span>
            </button>
        </div>

        <div class="rk-cop-result-display">
            <div class="rk-cop-score">
                <div class="rk-cop-score-label">Sprawność COP</div>
                <div class="rk-cop-score-val" id="dispCop" style="color:var(--rk-cop-green);">4.5</div>
            </div>
            <div class="rk-cop-info" id="dispInfo">
                <p>
                    <strong>Idealna synergia.</strong> Pobierając 1 kW prądu, sprężarka tłoczy aż 4.5 kW energii cieplnej do budynku. Niskotemperaturowy reżim podłogówki (28-35°C) drastycznie odciąża urządzenie, co gwarantuje niskie rachunki zimą i wydłuża żywotność sprzętu.
                </p>
            </div>
        </div>
    </div>

    <div class="rk-cop-rules">
        <h3>Reżim pracy urządzeń inwerterowych</h3>
        <p style="color:var(--rk-cop-text); margin-bottom: 25px; line-height: 1.6;">Ogrzewanie podłogowe projektowane pod pompę ciepła musi bezwzględnie spełniać twarde wytyczne hydrauliczne. Inaczej urządzenie ulegnie awarii w wyniku braku odbioru mocy.</p>
        
        <div class="rk-rules-grid">
            <div class="rk-rule-card">
                <div class="rk-rule-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 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"></path></svg>
                </div>
                <h4 class="rk-rule-title">Niski parametr zasilania</h4>
                <p class="rk-rule-text">Maksymalna temperatura zasilania przy projektowych mrozach nie może przekraczać 35°C. Perfekcyjne, zagęszczone układy <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">projektuje się na parametr 30–32°C</a>.</p>
            </div>

            <div class="rk-rule-card">
                <div class="rk-rule-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="M17 11l-5-5-5 5M17 18l-5-5-5 5"></path></svg>
                </div>
                <h4 class="rk-rule-title">Ścisła Różnica ΔT = 5K</h4>
                <p class="rk-rule-text">Projektowy <a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/">spadek temperatury (Delta T)</a> wynosi ściśle 5K (zasilanie 35°C / powrót 30°C). Dla kotłów gazowych było to 10–15K. Niska delta wymusza potężne przepływy masowe.</p>
            </div>

            <div class="rk-rule-card">
                <div class="rk-rule-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="4"></circle></svg>
                </div>
                <h4 class="rk-rule-title">Potężne średnice magistrali</h4>
                <p class="rk-rule-text">Wielki przepływ generuje opory. Główna rura zasilająca przy mocy zaledwie 8 kW musi mieć <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/">minimalną średnicę wewnętrzną 26 mm</a> (np. PEX 32x3.0). Rura 20 mm zdławi przepływ.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btnW35 = document.getElementById('btnW35');
    var btnW55 = document.getElementById('btnW55');
    var dispCop = document.getElementById('dispCop');
    var dispInfo = document.getElementById('dispInfo');

    function setEcoMode() {
        // Reset klas
        btnW55.classList.remove('active');
        btnW35.classList.add('active');
        
        // Zmiana danych
        dispCop.innerText = "4.5";
        dispCop.style.color = "var(--rk-cop-green)";
        dispInfo.innerHTML = "<p><strong>Idealna synergia.</strong> Pobierając 1 kW prądu, sprężarka tłoczy aż 4.5 kW energii cieplnej do budynku. Niskotemperaturowy reżim podłogówki (28-35°C) drastycznie odciąża urządzenie, co gwarantuje niskie rachunki zimą i wydłuża żywotność sprzętu.</p>";
    }

    function setBadMode() {
        // Reset klas
        btnW35.classList.remove('active');
        btnW55.classList.add('active');
        
        // Zmiana danych
        dispCop.innerText = "3.1";
        dispCop.style.color = "var(--rk-cop-red)";
        dispInfo.innerHTML = "<p><strong>Dramatyczny spadek wydajności.</strong> Zmuszenie pompy do przygotowania wody o temp. 55°C dla grzejników obniża COP do poziomu 3.1 lub mniej. Sprężarka jest ekstremalnie obciążona mechanicznie, a rachunki za prąd rosną nawet o 40% w stosunku do podłogówki.</p>";
    }

    // Bezpieczne przypisanie zdarzeń
    btnW35.addEventListener('click', setEcoMode);
    btnW55.addEventListener('click', setBadMode);
});
</script>



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

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

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

.rk-prm-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(2, 132, 199, 0.3);
    color: #38bdf8;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

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

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

/* Zakładki / Akordeon */
.rk-prm-content {
    padding: 35px 50px;
    background: var(--rk-prm-bg);
}

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

.rk-prm-tab-btn {
    padding: 12px 20px;
    background: transparent;
    border: 2px solid transparent;
    border-radius: 12px;
    color: var(--rk-prm-text);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 10px;
}

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

.rk-prm-tab-btn.active {
    background: var(--rk-prm-blue);
    color: #ffffff;
    box-shadow: 0 8px 15px -5px rgba(2, 132, 199, 0.4);
}

.rk-prm-tab-icon {
    width: 24px;
    height: 24px;
}

/* Panele zawartości */
.rk-prm-panel {
    display: none;
    animation: fadeIn 0.5s ease;
}

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

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

.rk-prm-panel-inner {
    background: var(--rk-prm-hover);
    border: 1px solid var(--rk-prm-border);
    border-radius: 16px;
    padding: 30px;
}

.rk-prm-panel h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-prm-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

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

.rk-prm-panel a {
    color: var(--rk-prm-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-prm-blue);
}

.rk-prm-highlight {
    background: var(--rk-prm-light-blue);
    padding: 15px 20px;
    border-left: 4px solid var(--rk-prm-blue);
    border-radius: 0 12px 12px 0;
    font-weight: 700;
    color: var(--rk-prm-dark);
    margin-top: 20px;
}

/* Potężne CTA Sprzedażowe */
.rk-prm-cta-box {
    margin: 0 50px 40px;
    padding: 40px;
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    border: 2px solid #bae6fd;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 15px 30px -10px rgba(2, 132, 199, 0.15);
}

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

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

.rk-btn-sell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-prm-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);
}

.rk-btn-sell:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 20px 35px -5px rgba(2, 132, 199, 0.5);
    background: #0369a1;
}

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

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

/* RWD Mobile - Zmiana na strukturę Akordeonu */
@media (max-width: 768px) {
    .rk-prm-header { padding: 35px 25px; }
    .rk-prm-title { font-size: 24px; }
    .rk-prm-content { padding: 25px; }
    
    /* Akordeon na mobile */
    .rk-prm-tabs-nav {
        flex-direction: column;
        border-bottom: none;
        gap: 15px;
        margin-bottom: 20px;
    }
    
    .rk-prm-tab-btn {
        width: 100%;
        justify-content: space-between;
        padding: 16px 20px;
        background: #f8fafc;
        border: 1px solid var(--rk-prm-border);
    }
    
    .rk-prm-tab-btn.active {
        border-radius: 12px 12px 0 0;
        margin-bottom: -15px; /* Przyciągnięcie panelu do aktywnego guzika */
        z-index: 2;
        position: relative;
    }

    .rk-prm-panel-inner {
        border-radius: 0 0 12px 12px;
        padding: 25px 20px;
    }

    .rk-prm-cta-box { margin: 0 25px 35px; padding: 30px 20px; }
    .rk-prm-cta-title { font-size: 20px; }
    .rk-btn-sell { width: 100%; padding: 18px 15px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#article-parametry",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/"
    },
    "headline": "Jak parametry pompy ciepła wpływają na projekt ogrzewania podłogowego?",
    "description": "Zrozumienie zależności między niskotemperaturowym źródłem ciepła a geometrią pętli podłogówki, grubością izolacji i wymaganiami względem zładu wody.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.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-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#dataset-parametry",
    "name": "Normatywne wytyczne projektowe dla ogrzewania podłogowego 2026",
    "description": "Zestawienie inżynierskich zasad kształtowania pętli, doboru rotametrów i izolacji EPS zgodnie z normami PN-EN 12831 oraz PN-EN 1264.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zagęszczenie rur co 10 cm podłogówka",
      "maksymalna długość pętli dla pompy ciepła",
      "grubość styropianu pod ogrzewanie podłogowe",
      "opór cieplny izolacji pn-en 1264",
      "rotametry do rozdzielacza 5 l/min"
    ],
    "measurementTechnique": "Określenie gęstości strumienia cieplnego przy temperaturze wody zasilającej 30-35 stopni.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozstaw rur: Standard 10 cm, wymusza zużycie 10 mb rury na 1 m2.",
        "Maksymalna długość pętli 16x2.0: 100 mb (optymalnie 70-80 mb).",
        "Wymagany opór izolacji R-lambda: Minimum 1.25 m2K/W pod rurami grzewczymi na gruncie."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#webapp-parametry",
    "name": "Nawigator Wytycznych Projektowych",
    "description": "Interaktywny moduł edukacyjny prezentujący kluczowe zależności inżynieryjne pomiędzy urządzeniem grzewczym a systemem płaszczyznowym w formie przełączanych paneli merytorycznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-prm-container" id="prm-app">
    <div class="rk-prm-header">
        <div class="rk-prm-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>
            Inżynieria w praktyce
        </div>
        <h2 class="rk-prm-title">Jak parametry pompy wymuszają zmianę projektu?</h2>
        <p class="rk-prm-desc">
            Wdrożenie pompy ciepła to całkowita rewolucja w fazie projektowej. Zapomnij o układaniu rur "na oko" co 15 cm. Projekt instalacji musi być bezpośrednią pochodną wyników obliczeń <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/" style="color:#bae6fd;text-decoration:underline;">OZC (PN-EN 12831)</a>.
        </p>
    </div>

    <div class="rk-prm-content">
        <div class="rk-prm-tabs-nav" id="prmTabsNav">
            <button class="rk-prm-tab-btn active" data-target="tab-1">
                <svg class="rk-prm-tab-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z"></path><line x1="4" y1="22" x2="4" y2="15"></line></svg>
                Rozstaw rur
            </button>
            <button class="rk-prm-tab-btn" data-target="tab-2">
                <svg class="rk-prm-tab-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>
                Długość pętli
            </button>
            <button class="rk-prm-tab-btn" data-target="tab-3">
                <svg class="rk-prm-tab-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
                Strefowanie
            </button>
            <button class="rk-prm-tab-btn" data-target="tab-4">
                <svg class="rk-prm-tab-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="9" y1="21" x2="9" y2="9"></line></svg>
                Izolacja
            </button>
        </div>

        <div class="rk-prm-panels-container">
            
            <div class="rk-prm-panel active" id="tab-1">
                <div class="rk-prm-panel-inner">
                    <h3>Zagęszczenie rozstawu rur</h3>
                    <p>Aby uzyskać wymaganą gęstość strumienia cieplnego przy bardzo niskiej temperaturze wody (<a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">30–35°C dla pomp ciepła</a>), konieczne jest zagęszczone układanie rur grzewczych.</p>
                    <p>W pokojach mieszkalnych inżynierskim standardem staje się <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">rozstaw rur co 10 cm</a> (zamiast tradycyjnych 15 cm). Z kolei w łazienkach, gdzie temperatura normatywna to aż +24°C, rozstaw zagęszcza się maksymalnie do 5 cm lub stosuje dodatkowe ścienne maty, aby uniknąć wymuszania wysokiego zasilania na całej maszynie.</p>
                </div>
            </div>

            <div class="rk-prm-panel" id="tab-2">
                <div class="rk-prm-panel-inner">
                    <h3>Krytyczna długość obiegów</h3>
                    <p>Gęstszy rozstaw rur co 10 cm drastycznie zwiększa ich zużycie – potrzebujemy aż 10 mb rury na każdy 1 m² podłogi. Aby nie przekroczyć granicznych oporów hydraulicznych, których wbudowana w maszynę pompa obiegowa nie pokona, musimy wytyczyć ostre ramy.</p>
                    <div class="rk-prm-highlight">
                        Pojedyncza pętla z rury o średnicy 16x2.0 mm (zasilana przez pompę ciepła) absolutnie nie może być dłuższa niż 100 m. Optymalna i bezpieczna długość pętli to 70 – 80 m.
                    </div>
                </div>
            </div>

            <div class="rk-prm-panel" id="tab-3">
                <div class="rk-prm-panel-inner">
                    <h3>Strefowanie i eliminacja dławienia</h3>
                    <p>Projekt musi z bezwzględną precyzją eliminować opory na rozdzielaczach. Przepływomierze (rotametry) na belce muszą obsługiwać wysokie przepływy o zakresie regulacji do 5 l/min.</p>
                    <p>Inżynier projektant musi tak zbalansować długości pętli, aby <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">różnice między nimi nie przekraczały 10-15%</a>. Zapobiega to patologicznej sytuacji, w której jedna krótka pętla (np. 20 m w garderobie) dosłownie "kradnie" cały zład i przepływ wody kosztem pętli długich z salonu.</p>
                </div>
            </div>

            <div class="rk-prm-panel" id="tab-4">
                <div class="rk-prm-panel-inner">
                    <h3>Opór cieplny izolacji termicznej</h3>
                    <p>Ucieczka ciepła w kierunku fundamentu to zabójstwo dla efektywności (SCOP). Zgodnie z wytycznymi normy <strong>PN-EN 1264</strong>, opór cieplny izolacji pod rurami układanymi bezpośrednio na gruncie musi wynosić minimum 1.25 m²K/W.</p>
                    <div class="rk-prm-highlight">
                        W praktyce budowlanej oznacza to bezwzględną konieczność ułożenia <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">styropianu podłogowego EPS 100</a> o grubości minimum 15 cm (przy dobrym parametrze λ) lub 20 cm standardowego EPS.
                    </div>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-prm-cta-box">
        <h3 class="rk-prm-cta-title">Wyciśnij 100% sprawności ze swojej pompy ciepła</h3>
        <p class="rk-prm-cta-desc">
            Inwestujesz dziesiątki tysięcy w nowoczesne źródło ciepła? Nie psuj tego efektem "zgadywanego" montażu podłogówki. Jeden błąd w hydraulice, przewymiarowana długość pętli lub brak zbilansowania to wyrok na wysokie rachunki i przedwczesną śmierć sprężarki. Zbuduj fundament, na którym polegają profesjonaliści.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-sell">
            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() {
    // Bezpieczny mechanizm przełączania zakładek bez znaków &&, || etc.
    var buttons = document.querySelectorAll('.rk-prm-tab-btn');
    var panels = document.querySelectorAll('.rk-prm-panel');

    function deactivateAll() {
        for (var i = 0; i < buttons.length; i++) {
            buttons[i].classList.remove('active');
        }
        for (var j = 0; j < panels.length; j++) {
            panels[j].classList.remove('active');
        }
    }

    for (var i = 0; i < buttons.length; i++) {
        buttons[i].addEventListener('click', function() {
            var targetId = this.getAttribute('data-target');
            var targetPanel = document.getElementById(targetId);
            
            // Tylko jeśli panel docelowy istnieje
            if (targetPanel) {
                deactivateAll();
                this.classList.add('active');
                targetPanel.classList.add('active');
            }
        });
    }
});
</script>



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

.rk-app-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-app-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(14, 165, 233, 0.15);
    border: 1px solid var(--rk-app-blue-dark);
    overflow: hidden;
}

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

.rk-app-title {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
    color: #ffffff;
    border-bottom: none;
    padding-bottom: 0;
}

.rk-app-subtitle {
    font-size: 15px;
    color: #94a3b8;
    line-height: 1.6;
    margin: 0;
}

/* Body Grid */
.rk-app-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--rk-app-bg);
}

/* Controls (Steppers) */
.rk-app-controls {
    padding: 35px 45px;
    background: var(--rk-app-light);
    border-right: 1px solid var(--rk-app-border);
}

.rk-stepper-group {
    margin-bottom: 25px;
    background: #ffffff;
    padding: 15px 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-app-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-stepper-label {
    display: block;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-app-dark);
    margin-bottom: 15px;
    text-align: center;
}

.rk-stepper-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #f1f5f9;
    border-radius: 12px;
    padding: 5px;
}

.rk-step-btn {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    border: none;
    background: #ffffff;
    color: var(--rk-app-blue-dark);
    font-size: 24px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    transition: all 0.2s;
    user-select: none;
}

.rk-step-btn:hover {
    background: var(--rk-app-blue);
    color: #ffffff;
}

.rk-step-btn:active {
    transform: scale(0.95);
}

.rk-step-val {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-app-dark);
    min-width: 100px;
    text-align: center;
}

.rk-step-hint {
    font-size: 11px;
    color: #94a3b8;
    text-align: center;
    margin-top: 10px;
    display: block;
}

/* Results */
.rk-app-results {
    padding: 35px 45px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-result-card {
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-app-border);
    background: #ffffff;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: transform 0.3s, border-color 0.3s;
}

.rk-result-card:hover {
    transform: translateY(-2px);
    border-color: var(--rk-app-blue);
}

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

.rk-result-card.highlight .rk-result-icon {
    background: #ecfdf5;
    color: var(--rk-app-green);
}

.rk-result-content {
    flex-grow: 1;
}

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

.rk-result-value {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-app-dark);
}

.rk-app-footer {
    padding: 20px 45px;
    background: var(--rk-app-dark);
    font-size: 13px;
    color: #94a3b8;
    line-height: 1.6;
    text-align: center;
}

.rk-app-footer a {
    color: #38bdf8;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* RWD */
@media (max-width: 768px) {
    .rk-app-header { padding: 30px 20px; }
    .rk-app-title { font-size: 22px; }
    .rk-app-body { grid-template-columns: 1fr; }
    .rk-app-controls { border-right: none; border-bottom: 1px solid var(--rk-app-border); padding: 30px 20px; }
    .rk-app-results { padding: 30px 20px; }
    .rk-result-card { padding: 15px; gap: 15px; }
    .rk-result-icon { width: 42px; height: 42px; }
    .rk-result-value { font-size: 20px; }
    .rk-app-footer { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#article-kalkulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/"
    },
    "headline": "Algorytm doboru instalacji: Krok po kroku (Interaktywny Kalkulator)",
    "description": "Profesjonalny inżynierski kalkulator doboru pompy ciepła, pojemności bufora oraz projektowych przepływów instalacji ogrzewania podłogowego. Narzędzie real-time.",
    "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-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#dataset-kalkulator",
    "name": "Parametry Hydrauliczne Pomp Ciepła 2026",
    "description": "Zestawienie zmiennych wejściowych i wyjściowych determinujących parametry techniczne instalacji grzewczej i zładu wody na potrzeby defrostu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator doboru pompy ciepła",
      "obliczanie przepływu podłogówki",
      "dobór bufora do pompy ciepła",
      "zapotrzebowanie na ciepło cwu",
      "wzór na moc chłodniczą w ogrzewaniu"
    ],
    "measurementTechnique": "Obliczenia oparte na normach PN-EN 12831 (OZC), bilansie energii CWU według PORT PC oraz równaniach strumienia objętościowego dla niskich parametrów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przepływ nominalny przy delcie 5K.",
        "Wymagany minimalny zład wody na potrzeby odszraniania (defrostu) 15 litrów / 1 kW.",
        "Moc szczytowa pompy z uwzględnieniem CWU 0.25 kW / osobę."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#webapp-kalkulator",
    "name": "Inżynierski Kalkulator Doboru Pompy Ciepła",
    "description": "Narzędzie pozwalające na interaktywne przeliczenie zapotrzebowania cieplnego budynku na realne parametry pompy ciepła: moc szczytową, masowy przepływ wody oraz minimalną pojemność sprzęgła buforowego.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-app-wrapper">
    <div class="rk-app-header">
        <h2 class="rk-app-title">Algorytm doboru: Symulator parametrów pompy</h2>
        <p class="rk-app-subtitle">
            Wykorzystaj poniższy model smart, aby wyliczyć moce, przepływy i wielkość sprzęgła. Mechanizm oparty jest na normatywnych wzorach inżynierskich.
        </p>
    </div>

    <div class="rk-app-body">
        
        <div class="rk-app-controls">
            
            <div class="rk-stepper-group">
                <span class="rk-stepper-label">Powierzchnia grzewcza</span>
                <div class="rk-stepper-controls">
                    <button type="button" class="rk-step-btn" id="btnAreaMinus">−</button>
                    <div class="rk-step-val" id="valAreaOut">150 m²</div>
                    <button type="button" class="rk-step-btn" id="btnAreaPlus">+</button>
                </div>
            </div>

            <div class="rk-stepper-group">
                <span class="rk-stepper-label">Jednostkowe straty ciepła</span>
                <div class="rk-stepper-controls">
                    <button type="button" class="rk-step-btn" id="btnWsqmMinus">−</button>
                    <div class="rk-step-val" id="valWsqmOut">43 W/m²</div>
                    <button type="button" class="rk-step-btn" id="btnWsqmPlus">+</button>
                </div>
                <span class="rk-step-hint">WT2021: ok. 40 W/m² | Starsze domy: 70-90 W/m²</span>
            </div>

            <div class="rk-stepper-group">
                <span class="rk-stepper-label">Liczba domowników (CWU)</span>
                <div class="rk-stepper-controls">
                    <button type="button" class="rk-step-btn" id="btnPplMinus">−</button>
                    <div class="rk-step-val" id="valPplOut">4 osoby</div>
                    <button type="button" class="rk-step-btn" id="btnPplPlus">+</button>
                </div>
            </div>

            <div class="rk-stepper-group" style="margin-bottom: 0;">
                <span class="rk-stepper-label">Zład wody w otwartych pętlach</span>
                <div class="rk-stepper-controls">
                    <button type="button" class="rk-step-btn" id="btnOpenMinus">−</button>
                    <div class="rk-step-val" id="valOpenOut">45 L</div>
                    <button type="button" class="rk-step-btn" id="btnOpenPlus">+</button>
                </div>
            </div>

        </div>

        <div class="rk-app-results">
            
            <div class="rk-result-card">
                <div class="rk-result-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="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
                </div>
                <div class="rk-result-content">
                    <div class="rk-result-label">Krok 1: Wymagana moc pompy (Q_szc)</div>
                    <div class="rk-result-value" id="resPower">7.45 kW</div>
                </div>
            </div>

            <div class="rk-result-card">
                <div class="rk-result-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><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></svg>
                </div>
                <div class="rk-result-content">
                    <div class="rk-result-label">Krok 2: Przepływ roboczy (Dla Delty 5K)</div>
                    <div class="rk-result-value" id="resFlow">18.52 l/min</div>
                </div>
            </div>

            <div class="rk-result-card highlight">
                <div class="rk-result-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                </div>
                <div class="rk-result-content">
                    <div class="rk-result-label">Krok 3: Wymagany bufor (Sprzęgło)</div>
                    <div class="rk-result-value" id="resBuffer">75 Litrów</div>
                </div>
            </div>

        </div>
    </div>
    
    <div class="rk-app-footer">
        Algorytm wskazuje wartości szacunkowe. Gwarancją braku błędów i utrzymania gwarancji producenta jest pełny <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projekt ogrzewania podłogowego z przeliczeniem OZC</a> przygotowany przez inżyniera.
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // Stan aplikacji (Dane wejściowe)
    var state = {
        area: { val: 150, min: 50, max: 400, step: 5, unit: " m²" },
        wsqm: { val: 43, min: 20, max: 120, step: 1, unit: " W/m²" },
        ppl: { val: 4, min: 1, max: 10, step: 1, unit: " osoby" },
        open: { val: 45, min: 0, max: 200, step: 5, unit: " L" }
    };

    // Referencje UI - Wyświetlacze wartości
    var displays = {
        area: document.getElementById('valAreaOut'),
        wsqm: document.getElementById('valWsqmOut'),
        ppl: document.getElementById('valPplOut'),
        open: document.getElementById('valOpenOut')
    };

    // Referencje UI - Wyniki
    var resPower = document.getElementById('resPower');
    var resFlow = document.getElementById('resFlow');
    var resBuffer = document.getElementById('resBuffer');

    // Główny silnik obliczeniowy
    function recalculateEngine() {
        var vArea = state.area.val;
        var vWsqm = state.wsqm.val;
        var vPpl = state.ppl.val;
        var vOpen = state.open.val;

        // 1. Zapotrzebowanie (OZC + CWU)
        var qOZC = (vArea * vWsqm) / 1000; 
        var qCWU = vPpl * 0.25;
        var qSzc = qOZC + qCWU;

        // 2. Przepływ (Wzór: Q = m * cw * dT)
        var flowM3h = (qOZC * 3600) / (1000 * 4.186 * 5);
        var flowLmin = (flowM3h * 1000) / 60;

        // 3. Bufor
        var pNom = Math.ceil(qSzc);
        var vRequired = pNom * 15;
        var vBuffer = vRequired - vOpen;
        
        // Zabezpieczenie przed minusowym buforem
        if (vBuffer < 0) {
            vBuffer = 0;
        }

        // Aktualizacja interfejsu
        resPower.innerText = qSzc.toFixed(2) + " kW";
        resFlow.innerText = flowLmin.toFixed(2) + " l/min";
        
        if (vBuffer === 0) {
            resBuffer.innerText = "Zbędny (Zład OK)";
        } else {
            resBuffer.innerText = Math.ceil(vBuffer) + " Litrów";
        }
    }

    // Funkcja sterująca przyciskami (Bezpieczna logika bez znaków specjalnych)
    function handleStep(key, action) {
        var obj = state[key];
        
        if (action === 'plus') {
            if (obj.val < obj.max) {
                obj.val = obj.val + obj.step;
            }
        }
        if (action === 'minus') {
            if (obj.val > obj.min) {
                obj.val = obj.val - obj.step;
            }
        }
        
        // Odśwież widok konkretnego elementu
        displays[key].innerText = obj.val + obj.unit;
        
        // Przelicz wyniki
        recalculateEngine();
    }

    // Podpięcie zdarzeń pod przyciski PLUS
    document.getElementById('btnAreaPlus').addEventListener('click', function() { handleStep('area', 'plus'); });
    document.getElementById('btnWsqmPlus').addEventListener('click', function() { handleStep('wsqm', 'plus'); });
    document.getElementById('btnPplPlus').addEventListener('click', function() { handleStep('ppl', 'plus'); });
    document.getElementById('btnOpenPlus').addEventListener('click', function() { handleStep('open', 'plus'); });

    // Podpięcie zdarzeń pod przyciski MINUS
    document.getElementById('btnAreaMinus').addEventListener('click', function() { handleStep('area', 'minus'); });
    document.getElementById('btnWsqmMinus').addEventListener('click', function() { handleStep('wsqm', 'minus'); });
    document.getElementById('btnPplMinus').addEventListener('click', function() { handleStep('ppl', 'minus'); });
    document.getElementById('btnOpenMinus').addEventListener('click', function() { handleStep('open', 'minus'); });

    // Pierwszy rozruch
    recalculateEngine();
});
</script>



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

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

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

.rk-cost-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #34d399;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(52, 211, 153, 0.3);
}

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

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

/* Panel Wyboru (Metraż) */
.rk-cost-selector {
    padding: 35px 45px;
    background: var(--rk-cost-light);
    border-bottom: 1px solid var(--rk-cost-border);
}

.rk-cost-selector-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-cost-dark);
    text-transform: uppercase;
    margin-bottom: 15px;
    text-align: center;
}

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

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

.rk-size-btn:hover {
    border-color: #bae6fd;
    background: #f0f9ff;
}

.rk-size-btn.active {
    background: var(--rk-cost-blue);
    border-color: var(--rk-cost-blue);
    color: #ffffff;
    box-shadow: 0 8px 20px -5px rgba(2, 132, 199, 0.4);
}

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

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

.rk-size-label {
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
    transition: color 0.3s;
}

.rk-size-btn.active .rk-size-label { color: #e0f2fe; }

/* Dashboard Wyników */
.rk-cost-dashboard {
    padding: 40px 45px;
    background: var(--rk-cost-bg);
}

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

.rk-stat-box {
    background: #f8fafc;
    border: 1px solid var(--rk-cost-border);
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.rk-stat-icon {
    width: 40px;
    height: 40px;
    background: #ffffff;
    border-radius: 10px;
    color: var(--rk-cost-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    border: 1px solid var(--rk-cost-border);
}

.rk-stat-title {
    font-size: 12px;
    font-weight: 800;
    color: #64748b;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.rk-stat-number {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-cost-dark);
}

/* Główny Box Finansowy */
.rk-financial-box {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
    border: 2px solid #86efac;
    border-radius: 20px;
    padding: 35px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 10px 25px -5px rgba(16, 185, 129, 0.15);
}

.rk-fin-left {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rk-fin-label {
    font-size: 15px;
    font-weight: 800;
    color: #065f46;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-fin-desc {
    font-size: 14px;
    color: #047857;
    font-weight: 600;
}

.rk-fin-right {
    text-align: right;
}

.rk-fin-amount {
    font-size: 42px;
    font-weight: 900;
    color: #064e3b;
    line-height: 1;
}

.rk-fin-currency {
    font-size: 20px;
    font-weight: 700;
    color: #059669;
}

/* Informacja techniczna */
.rk-cost-footer {
    padding: 0 45px 35px;
}

.rk-cost-note {
    background: #f1f5f9;
    border-left: 4px solid var(--rk-cost-blue);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-cost-text);
    margin: 0;
}

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

/* RWD */
@media (max-width: 768px) {
    .rk-cost-header { padding: 30px 20px; }
    .rk-cost-title { font-size: 24px; }
    .rk-cost-selector { padding: 25px 20px; }
    .rk-cost-grid-nav { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .rk-cost-dashboard { padding: 30px 20px; }
    .rk-results-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-financial-box { flex-direction: column; text-align: center; gap: 20px; padding: 25px 20px; }
    .rk-fin-right { text-align: center; }
    .rk-fin-amount { font-size: 36px; }
    .rk-cost-footer { padding: 0 20px 30px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#article-koszty",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/"
    },
    "headline": "Ile naprawdę kosztuje ogrzewanie pompą ciepła? Roczne zestawienie kosztów",
    "description": "Kalkulacja rzeczywistego zużycia prądu i rocznych rachunków za ogrzewanie pompą ciepła dla domów o powierzchni 100, 150, 200 i 250 m2 w standardzie WT2021.",
    "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/",
      "jobTitle": "Ekspert HVAC",
      "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-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#dataset-koszty",
    "name": "Szacunkowe Koszty Ogrzewania Pompą Ciepła (Domy 100 - 250 m2)",
    "description": "Zestawienie zapotrzebowania cieplnego (OZC), optymalnej mocy pompy, zakładanego wskaźnika SCOP oraz zużycia energii elektrycznej i kosztów w PLN dla różnych metraży.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile prądu zużywa pompa ciepła 150m2",
      "koszt ogrzewania domu 100m2 pompa ciepła",
      "dobór mocy pompy do metrażu",
      "roczne zużycie energii pompa ciepła",
      "rachunki za prąd pompa ciepła 200m2",
      "ogrzewanie pompą ciepła 250m2 koszty"
    ],
    "measurementTechnique": "Obliczenia oparte na wskaźniku jednostkowym WT2021 (~45 W/m2 uwzględniając CWU dla 4 osób), optymalnym zładzie dla instalacji podłogowej i średniej cenie prądu 1.15 PLN/kWh.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "100 m2: Zapotrzebowanie ~4.5 kW, Moc Pompy 5 kW, SCOP 4.5, Zużycie ~2200 kWh, Rachunek ~2530 PLN/rok.",
        "150 m2: Zapotrzebowanie ~7.0 kW, Moc Pompy 8 kW, SCOP 4.5, Zużycie ~3400 kWh, Rachunek ~3910 PLN/rok.",
        "200 m2: Zapotrzebowanie ~9.0 kW, Moc Pompy 10 kW, SCOP 4.4, Zużycie ~4600 kWh, Rachunek ~5290 PLN/rok.",
        "250 m2: Zapotrzebowanie ~11.5 kW, Moc Pompy 12 kW, SCOP 4.3, Zużycie ~5800 kWh, Rachunek ~6670 PLN/rok."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#webapp-koszty",
    "name": "Kalkulator Rocznych Rachunków z Pompą Ciepła",
    "description": "Narzędzie interaktywne pozwalające sprawdzić, jak metraż domu wpływa na dobór mocy urządzenia oraz generuje prognozowane koszty eksploatacji w PLN.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cost-wrapper">
    <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" 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>
            Twarde Dane Finansowe
        </div>
        <h2 class="rk-cost-title">Ile naprawdę kosztuje ogrzewanie pompą ciepła?</h2>
        <p class="rk-cost-desc">
            Teoria to jedno, ale inwestorów interesuje ostateczny rachunek za prąd. Poniżej przygotowałem zestawienie dla domów w nowym standardzie izolacji (WT2021) z uwzględnieniem przygotowania ciepłej wody użytkowej (CWU) dla 4-osobowej rodziny.
        </p>
    </div>

    <div class="rk-cost-selector">
        <div class="rk-cost-selector-title">Wybierz metraż swojego domu</div>
        <div class="rk-cost-grid-nav">
            <button class="rk-size-btn" id="btn100" data-size="100">
                <span class="rk-size-val">100</span>
                <span class="rk-size-label">m²</span>
            </button>
            <button class="rk-size-btn active" id="btn150" data-size="150">
                <span class="rk-size-val">150</span>
                <span class="rk-size-label">m²</span>
            </button>
            <button class="rk-size-btn" id="btn200" data-size="200">
                <span class="rk-size-val">200</span>
                <span class="rk-size-label">m²</span>
            </button>
            <button class="rk-size-btn" id="btn250" data-size="250">
                <span class="rk-size-val">250</span>
                <span class="rk-size-label">m²</span>
            </button>
        </div>
    </div>

    <div class="rk-cost-dashboard">
        
        <div class="rk-results-grid">
            <div class="rk-stat-box">
                <div class="rk-stat-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-stat-title">Zapotrzebowanie (OZC)</div>
                <div class="rk-stat-number" id="valOzc">7.0 kW</div>
            </div>

            <div class="rk-stat-box">
                <div class="rk-stat-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="M5 12h14M12 5l7 7-7 7"></path></svg>
                </div>
                <div class="rk-stat-title">Wymagana Pompa</div>
                <div class="rk-stat-number" id="valPump">8.0 kW</div>
            </div>

            <div class="rk-stat-box">
                <div class="rk-stat-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-stat-title">Efektywność (SCOP)</div>
                <div class="rk-stat-number" id="valScop">4.5</div>
            </div>
        </div>

        <div class="rk-financial-box">
            <div class="rk-fin-left">
                <div class="rk-fin-label">Szacowany Koszt Roczny (CO + CWU)</div>
                <div class="rk-fin-desc" id="valKwh">Zużycie energii: ~3400 kWh / rok</div>
            </div>
            <div class="rk-fin-right">
                <span class="rk-fin-amount" id="valPln">3 910</span>
                <span class="rk-fin-currency">PLN</span>
            </div>
        </div>

    </div>

    <div class="rk-cost-footer">
        <p class="rk-cost-note">
            <strong>Ważne:</strong> Powyższe wartości zakłądają idealną współpracę z poprawnie zoptymalizowanym <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">ogrzewaniem podłogowym</a> (zasilanie max 35°C). Estymacja kosztów uśredniona dla <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">cen prądu na przełomie 2025/2026</a> (ok. 1.15 PLN / kWh). Błędy w instalacji mogą podnieść te rachunki o ponad 40%.
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btn100 = document.getElementById('btn100');
    var btn150 = document.getElementById('btn150');
    var btn200 = document.getElementById('btn200');
    var btn250 = document.getElementById('btn250');

    var valOzc = document.getElementById('valOzc');
    var valPump = document.getElementById('valPump');
    var valScop = document.getElementById('valScop');
    var valKwh = document.getElementById('valKwh');
    var valPln = document.getElementById('valPln');

    // Baza danych dla metraży (WT2021)
    function updateCosts(size) {
        // Reset klas
        btn100.classList.remove('active');
        btn150.classList.remove('active');
        btn200.classList.remove('active');
        btn250.classList.remove('active');

        // Bezpieczny silnik decyzyjny (bez || i &&)
        if (size === 100) {
            btn100.classList.add('active');
            valOzc.innerText = "4.5 kW";
            valPump.innerText = "5.0 kW";
            valScop.innerText = "4.5";
            valKwh.innerText = "Zużycie energii: ~2200 kWh / rok";
            valPln.innerText = "2 530";
        }
        
        if (size === 150) {
            btn150.classList.add('active');
            valOzc.innerText = "7.0 kW";
            valPump.innerText = "8.0 kW";
            valScop.innerText = "4.5";
            valKwh.innerText = "Zużycie energii: ~3400 kWh / rok";
            valPln.innerText = "3 910";
        }
        
        if (size === 200) {
            btn200.classList.add('active');
            valOzc.innerText = "9.0 kW";
            valPump.innerText = "10.0 kW";
            valScop.innerText = "4.4";
            valKwh.innerText = "Zużycie energii: ~4600 kWh / rok";
            valPln.innerText = "5 290";
        }
        
        if (size === 250) {
            btn250.classList.add('active');
            valOzc.innerText = "11.5 kW";
            valPump.innerText = "12.0 kW";
            valScop.innerText = "4.3";
            valKwh.innerText = "Zużycie energii: ~5800 kWh / rok";
            valPln.innerText = "6 670";
        }
    }

    // Podpięcie przycisków
    btn100.addEventListener('click', function() { updateCosts(100); });
    btn150.addEventListener('click', function() { updateCosts(150); });
    btn200.addEventListener('click', function() { updateCosts(200); });
    btn250.addEventListener('click', function() { updateCosts(250); });
});
</script>



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

.rk-case-wrapper {
    max-width: 950px;
    margin: 40px 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.12);
    border: 1px solid var(--rk-case-blue);
    overflow: hidden;
}

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

.rk-case-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.2);
    color: #7dd3fc;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(125, 211, 252, 0.3);
}

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

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

/* Interfejs Przełącznika */
.rk-case-controls {
    display: flex;
    padding: 30px 45px;
    background: #f1f5f9;
    border-bottom: 1px solid var(--rk-case-border);
    justify-content: center;
}

.rk-case-toggle-bg {
    display: flex;
    background: #e2e8f0;
    border-radius: 16px;
    padding: 6px;
    gap: 6px;
    width: 100%;
    max-width: 600px;
}

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

.rk-case-btn.active[data-target="before"] {
    background: #ffffff;
    color: var(--rk-case-red);
    box-shadow: 0 4px 10px rgba(239, 68, 68, 0.15);
}

.rk-case-btn.active[data-target="after"] {
    background: #ffffff;
    color: var(--rk-case-green);
    box-shadow: 0 4px 10px rgba(16, 185, 129, 0.15);
}

/* Kokpit Wyników */
.rk-case-dashboard {
    padding: 40px 45px;
    background: var(--rk-case-bg);
}

.rk-case-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.rk-metric-card {
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-case-border);
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: #ffffff;
    transition: all 0.4s ease;
}

.rk-metric-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

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

.rk-metric-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    color: #94a3b8;
    transition: all 0.4s ease;
}

.rk-metric-value {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-case-dark);
    line-height: 1.1;
    transition: all 0.4s ease;
}

.rk-metric-desc {
    font-size: 14px;
    color: #64748b;
    line-height: 1.5;
    margin-top: 5px;
    min-height: 42px;
}

/* Stany dynamiczne */
.state-before .rk-metric-card { border-color: #fecaca; background: #fff1f2; }
.state-before .rk-metric-icon { background: #fecaca; color: var(--rk-case-red); }
.state-before .rk-metric-value { color: var(--rk-case-red); }

.state-after .rk-metric-card { border-color: #a7f3d0; background: #ecfdf5; }
.state-after .rk-metric-icon { background: #a7f3d0; color: var(--rk-case-green); }
.state-after .rk-metric-value { color: var(--rk-case-green); }

/* Wnioski z Audytu */
.rk-case-summary {
    padding: 0 45px 40px;
    background: var(--rk-case-bg);
}

.rk-case-box {
    background: #f8fafc;
    border-left: 4px solid var(--rk-case-blue);
    padding: 30px;
    border-radius: 0 16px 16px 0;
}

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

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

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

/* RWD */
@media (max-width: 768px) {
    .rk-case-header, .rk-case-controls, .rk-case-dashboard, .rk-case-summary { padding: 30px 20px; }
    .rk-case-title { font-size: 24px; }
    .rk-case-toggle-bg { flex-direction: column; }
    .rk-case-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-metric-desc { min-height: auto; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/"
    },
    "headline": "Studium Przypadku: Jak obniżyliśmy rachunki za prąd z 8200 PLN na 3400 PLN rocznie",
    "description": "Audyt efektywności pompy ciepła w domu 150m2. Analiza błędów instalacyjnych, dławienia przepływów i zapowietrzenia oraz inżynierski plan naprawczy.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "Inżynier HVAC, Audytor",
      "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-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#dataset-casestudy",
    "name": "Audyt i optymalizacja kosztów ogrzewania pompą ciepła (Dom 150m2)",
    "description": "Zestawienie parametrów hydraulicznych i termodynamicznych instalacji przed i po wykonaniu audytu efektywności energetycznej oraz zrównoważeniu przepływów.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak obniżyć rachunki za prąd z pompy ciepła",
      "audyt efektywności pompy ciepła",
      "objawy zapowietrzenia ogrzewania podłogowego",
      "rzeczywiste oszczędności na kosztach ogrzewania",
      "zbyt krótka pętla podłogówki skutki",
      "poprawa sprawności ogrzewania podłogowego"
    ],
    "measurementTechnique": "Porównanie parametrów przed i po wdrożeniu projektu OZC, regulacji hydraulicznej na rotametrach oraz eliminacji błędów krzywej grzewczej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Stan pierwotny: Rachunek 8200 PLN, SCOP 2.1, Taktowanie sprężarki 60x/dobę.",
        "Działania naprawcze: Równoważenie rotametrów, odpowietrzenie pętli, obniżenie Delty T do 5K.",
        "Stan docelowy: Rachunek 3400 PLN, SCOP 4.2, Płynna praca inwertera (2-3 cykle/dobę)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#webapp-casestudy",
    "name": "Symulator Audytu: Przed i Po Optymalizacji",
    "description": "Interaktywny pulpit pozwalający użytkownikowi na weryfikację krytycznych wskaźników pracy (Rachunki, SCOP, Przepływy) przed inżynierskim audytem i po jego wykonaniu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-wrapper">
    <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>
            Inżynierskie Studium Przypadku
        </div>
        <h2 class="rk-case-title">Jak audyt obniżył rachunki z 8200 PLN na 3400 PLN rocznie?</h2>
        <p class="rk-case-desc">
            Pan Tomasz z podkarpacia kupił pompę klasy premium do domu 150m², ale przez całą pierwszą zimę marzł, płacąc horrendalne rachunki. Montażysta rozłożył ręce. Przeanalizujmy wspólnie nasz inżynierski audyt iobaczmy, jak optymalizacja instalacji zmieniła parametry pracy.
        </p>
    </div>

    <div class="rk-case-controls">
        <div class="rk-case-toggle-bg">
            <button class="rk-case-btn active" data-target="before" id="btnBefore">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                Stan pierwotny (Błąd)
            </button>
            <button class="rk-case-btn" data-target="after" id="btnAfter">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                Po naprawie (Inżynieria)
            </button>
        </div>
    </div>

    <div class="rk-case-dashboard" id="caseDash">
        <div class="rk-case-grid state-before" id="caseGrid">
            
            <div class="rk-metric-card">
                <div class="rk-metric-header">
                    <span class="rk-metric-label">Roczny Koszt CO + CWU</span>
                    <div class="rk-metric-icon"><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></div>
                </div>
                <div class="rk-metric-value" id="valCost">8 200 PLN</div>
                <div class="rk-metric-desc" id="descCost">Pompa pracowała głównie na wbudowanych grzałkach elektrycznych.</div>
            </div>

            <div class="rk-metric-card">
                <div class="rk-metric-header">
                    <span class="rk-metric-label">Efektywność SCOP</span>
                    <div class="rk-metric-icon"><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="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg></div>
                </div>
                <div class="rk-metric-value" id="valScop">2.1</div>
                <div class="rk-metric-desc" id="descScop">Katastrofalna wydajność przez wymuszanie temp. zasilania 48°C w podłogówce.</div>
            </div>

            <div class="rk-metric-card">
                <div class="rk-metric-header">
                    <span class="rk-metric-label">Cykle Sprężarki (Taktowanie)</span>
                    <div class="rk-metric-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21.5 2v6h-6M2.13 15.57a10 10 0 1 0 3.43-5.54l-4.43 4.43"></path></svg></div>
                </div>
                <div class="rk-metric-value" id="valCycles">~60 / dobę</div>
                <div class="rk-metric-desc" id="descCycles">Permanentne rwanie pracy. Żywotność urządzenia skrócona o ponad połowę.</div>
            </div>

            <div class="rk-metric-card">
                <div class="rk-metric-header">
                    <span class="rk-metric-label">Przepływy hydrauliczne</span>
                    <div class="rk-metric-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg></div>
                </div>
                <div class="rk-metric-value" id="valFlow">Zdławione (Błędy)</div>
                <div class="rk-metric-desc" id="descFlow">Brak wyregulowanych rotametrów. Krótkie pętle kradły całą wodę i ciepło.</div>
            </div>

        </div>
    </div>

    <div class="rk-case-summary">
        <div class="rk-case-box">
            <h3>Wniosek z audytu: Instalacja to system naczyń połączonych</h3>
            <p>
                W stanie pierwotnym pompa ciepła męczyła się z morderczymi oporami tłoczenia. Dlaczego? Pętle nie były zrównoważone (wymagało to m.in. rozpoznania <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">objawów zapowietrzenia podłogówki</a> i korekty nastaw). Z powodu zdławienia przepływów, posadzka (tzw. <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">akumulator w wylewce betonowej</a>) nie mogła przyjąć mocy, więc pompa wpadała w taktowanie i przegrzewała się, ratując się wbudowaną grzałką zasilaną z sieci 230V.
            </p>
            <p style="margin-bottom: 0;">
                Dopiero kompleksowy audyt, regulacja krzywej grzewczej i dostosowanie przepływów do wyliczeń projektowych wygenerowały u Pana Tomasza <strong><a href="https://projekt-ogrzewania.pl/rzeczywiste-oszczednosci-na-kosztach-ogrzewania-w-skali-roku-analiza-rozstawu-rur-dla-domu-150-m%c2%b2/">rzeczywiste oszczędności na kosztach ogrzewania</a></strong> rzędu niemal 5000 PLN w zaledwie jeden sezon!
            </p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btnBefore = document.getElementById('btnBefore');
    var btnAfter = document.getElementById('btnAfter');
    var caseGrid = document.getElementById('caseGrid');

    // Pola tekstowe do podmiany
    var valCost = document.getElementById('valCost');
    var descCost = document.getElementById('descCost');
    
    var valScop = document.getElementById('valScop');
    var descScop = document.getElementById('descScop');
    
    var valCycles = document.getElementById('valCycles');
    var descCycles = document.getElementById('descCycles');
    
    var valFlow = document.getElementById('valFlow');
    var descFlow = document.getElementById('descFlow');

    function showBefore() {
        btnAfter.classList.remove('active');
        btnBefore.classList.add('active');
        
        caseGrid.classList.remove('state-after');
        caseGrid.classList.add('state-before');

        valCost.innerText = "8 200 PLN";
        descCost.innerText = "Pompa pracowała głównie na wbudowanych grzałkach elektrycznych z powodu błędu wymiany ciepła.";

        valScop.innerText = "2.1";
        descScop.innerText = "Katastrofalna wydajność przez wymuszanie temp. zasilania 48°C w podłogówce (krzywa grzewcza).";

        valCycles.innerText = "~60 / dobę";
        descCycles.innerText = "Permanentne rwanie pracy (taktowanie). Żywotność urządzenia skrócona o ponad połowę.";

        valFlow.innerText = "Zdławione (Błędy)";
        descFlow.innerText = "Brak wyregulowanych rotametrów. Krótkie pętle np. w łazience kradły całą wodę i blokowały resztę domu.";
    }

    function showAfter() {
        btnBefore.classList.remove('active');
        btnAfter.classList.add('active');
        
        caseGrid.classList.remove('state-before');
        caseGrid.classList.add('state-after');

        valCost.innerText = "3 400 PLN";
        descCost.innerText = "Ogromny spadek rachunków. System pracuje wyłącznie na napędzie sprężarkowym (bez grzałek).";

        valScop.innerText = "4.2";
        descScop.innerText = "Sprawność wzrosła dwukrotnie dzięki optymalizacji przepływów i obniżeniu zasilania do stabilnych 32°C.";

        valCycles.innerText = "2 - 3 / dobę";
        descCycles.innerText = "Długie, spokojne i miarowe cykle pracy sprężarki (inwerter) to gwarancja bezawaryjności przez 20 lat.";

        valFlow.innerText = "19.5 l/min (Delta 5K)";
        descFlow.innerText = "Instalacja precyzyjnie odpowietrzona i zbilansowana wedle audytu. Podłogówka odbiera 100% produkowanej mocy.";
    }

    // Bezpieczne zdarzenia
    btnBefore.addEventListener('click', showBefore);
    btnAfter.addEventListener('click', showAfter);
});
</script>



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

.rk-auth-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-auth-bg);
    border: 2px solid var(--rk-auth-dark);
    border-radius: 0; /* Surowy, techniczny styl bez zaokrągleń */
}

/* Header */
.rk-auth-header {
    padding: 30px 40px;
    background: var(--rk-auth-dark);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-auth-blue);
}

.rk-auth-badge {
    display: inline-block;
    background: var(--rk-auth-blue);
    color: #ffffff;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.rk-auth-title {
    font-size: 28px;
    font-weight: 900;
    margin: 0;
    line-height: 1.2;
}

/* Profil Eksperta */
.rk-auth-profile {
    display: flex;
    padding: 40px;
    gap: 40px;
    background: var(--rk-auth-bg);
    border-bottom: 1px solid var(--rk-auth-border);
}

.rk-auth-photo-box {
    flex-shrink: 0;
    width: 200px;
}

.rk-auth-photo {
    width: 100%;
    height: auto;
    display: block;
    border: 4px solid var(--rk-auth-border);
}

.rk-auth-info {
    flex-grow: 1;
}

.rk-auth-name {
    font-size: 24px;
    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;
    margin-bottom: 20px;
}

.rk-auth-main-quote {
    font-size: 18px;
    font-weight: 600;
    font-style: italic;
    color: var(--rk-auth-text);
    line-height: 1.6;
    margin: 0 0 25px 0;
    padding-left: 20px;
    border-left: 4px solid var(--rk-auth-blue);
}

/* Linki Social */
.rk-auth-social {
    display: flex;
    gap: 15px;
}

.rk-auth-social a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: var(--rk-auth-light);
    color: var(--rk-auth-dark);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    border: 1px solid var(--rk-auth-border);
}

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

/* Interaktywny Panel Zasad */
.rk-auth-interactive {
    background: var(--rk-auth-light);
    padding: 40px;
}

.rk-auth-nav {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.rk-auth-tab {
    flex: 1;
    padding: 15px;
    background: #ffffff;
    border: 1px solid var(--rk-auth-border);
    color: var(--rk-auth-text);
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    cursor: pointer;
    text-align: center;
}

.rk-auth-tab:hover {
    background: #e2e8f0;
}

.rk-auth-tab.active {
    background: var(--rk-auth-blue);
    color: #ffffff;
    border-color: var(--rk-auth-blue);
}

.rk-auth-content-box {
    background: #ffffff;
    border: 1px solid var(--rk-auth-border);
    padding: 30px;
    min-height: 150px;
}

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

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

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

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

/* RWD */
@media (max-width: 768px) {
    .rk-auth-header { padding: 25px 20px; }
    .rk-auth-title { font-size: 22px; }
    .rk-auth-profile { flex-direction: column; padding: 25px 20px; gap: 25px; align-items: center; text-align: center; }
    .rk-auth-main-quote { padding-left: 0; border-left: none; border-top: 4px solid var(--rk-auth-blue); padding-top: 20px; font-size: 16px; }
    .rk-auth-social { flex-direction: column; width: 100%; }
    .rk-auth-social a { justify-content: center; }
    .rk-auth-interactive { padding: 25px 20px; }
    .rk-auth-nav { flex-direction: column; }
    .rk-auth-tab { text-align: left; padding: 15px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#article-ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/"
    },
    "headline": "Zdaniem eksperta: Robert Kucharski o najważniejszych zasadach instalacji pomp ciepła",
    "description": "Autorskie, inżynierskie podsumowanie kluczowych błędów i dobrych praktyk przy projektowaniu oraz montażu systemów z pompą ciepła. Wiedza z ponad 1000 projektów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "Inżynier HVAC, CEO",
      "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-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#dataset-ekspert",
    "name": "Złote Zasady Inżynierskie: Pompy Ciepła 2026",
    "description": "Zbiór autorskich wytycznych technicznych dotyczących efektywności ogrzewania płaszczyznowego, błędów doboru buforów oraz znaczenia projektów OZC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "robert kucharski projekt ogrzewania",
      "opinie eksperta pompa ciepła",
      "błędy instalatorów pomp ciepła",
      "czy warto robić projekt ozc",
      "taktowanie sprężarki ekspert hvac"
    ],
    "measurementTechnique": "Empiryczne wnioski wyciągnięte na podstawie audytów i projektów ponad 1000 instalacji podłogowych współpracujących z pompami ciepła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Brak bufora to najczęstsza przyczyna mechanicznej śmierci skraplacza w pompach powietrznych.",
        "Przewymiarowanie urządzenia to główny powód taktowania sprężarki i gigantycznych rachunków za prąd wiosną.",
        "Efektywność urządzenia w 80% zależy od prawidłowo wykonanej, niskotemperaturowej wylewki podłogowej."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#webapp-ekspert",
    "name": "Interaktywny Asystent Porad Inżynierskich",
    "description": "Moduł umożliwiający błyskawiczny przegląd najważniejszych, autorskich porad instalacyjnych z podziałem na krytyczne sekcje robocze.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-auth-wrapper">
    <div class="rk-auth-header">
        <span class="rk-auth-badge">Komentarz Autorski</span>
        <h2 class="rk-auth-title">Zdaniem specjalisty: Robert Kucharski o twardych realiach montażu pomp ciepła</h2>
    </div>

    <div class="rk-auth-profile">
        <div class="rk-auth-photo-box">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Ekspert HVAC" class="rk-auth-photo">
        </div>
        <div class="rk-auth-info">
            <h3 class="rk-auth-name">Robert Kucharski</h3>
            <div class="rk-auth-role">CEO &amp; Specjalista HVAC</div>
            <p class="rk-auth-main-quote">
                "Pompa ciepła to nie jest magiczne pudełko, które samo z siebie wygeneruje niskie rachunki. Jej sprawność rodzi się w posadzce Twojego domu, a o sukcesie decyduje wyłącznie brutalna matematyka w postaci precyzyjnego projektu OZC i doboru przepływów."
            </p>
            <div class="rk-auth-social">
                <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer">
                    <svg width="18" height="18" 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>
                    Śledź na Facebooku
                </a>
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer">
                    <svg width="18" height="18" 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>
                    Profil LinkedIn
                </a>
            </div>
        </div>
    </div>

    <div class="rk-auth-interactive">
        <div class="rk-auth-nav">
            <button class="rk-auth-tab active" id="btnTab1" data-target="0">Najdroższy Błąd</button>
            <button class="rk-auth-tab" id="btnTab2" data-target="1">Znaczenie Projektu</button>
            <button class="rk-auth-tab" id="btnTab3" data-target="2">Rola Bufora</button>
        </div>

        <div class="rk-auth-content-box">
            <div class="rk-auth-panel active" id="panel0">
                <h3>Błąd Przewymiarowania</h3>
                <p>Wielu amatorów kupuje pompę ciepła z "zapasem", bo boją się, że maszyna nie poradzi sobie przy -20°C. To najdroższy błąd inwestycyjny. Przewymiarowana sprężarka wiosną i jesienią zaczyna taktować (często się włączać na krótko). Generuje to olbrzymie rachunki za prąd i prowadzi do śmierci mechanicznej urządzenia często już po 4 latach. Dobieraj urządzenie w punkt na bazie OZC.</p>
            </div>
            <div class="rk-auth-panel" id="panel1">
                <h3>Wylewka nie wybacza</h3>
                <p>Ogrzewanie podłogowe układane "na pamięć" z rozstawem co 15 cm to relikt przeszłości. Pompa ciepła wymaga niskiej temperatury zasilania (30-35°C) i idealnego zbalansowania oporów pętli. Jeśli nie zrobisz tego na etapie projektu, żadna, nawet najdroższa automatyka pokojowa nie uratuje Twojego systemu po zalaniu betonem.</p>
            </div>
            <div class="rk-auth-panel" id="panel2">
                <h3>Bufor to Twoja polisa</h3>
                <p>Próby zaoszczędzenia 2000 zł na wyrzuceniu bufora ciepła z instalacji strefowej kończą się tragicznie. Gdy siłowniki na rozdzielaczach zamkną przepływ, a pompa wejdzie w tryb odszraniania (defrostu), brak odpowiedniego zładu wody spowoduje momentalne zamrożenie i rozsadzenie wymiennika płytowego. To awaria, której ubezpieczyciel ani gwarant nie uznają.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var tabs = [
        document.getElementById('btnTab1'),
        document.getElementById('btnTab2'),
        document.getElementById('btnTab3')
    ];
    
    var panels = [
        document.getElementById('panel0'),
        document.getElementById('panel1'),
        document.getElementById('panel2')
    ];

    function openExpertPanel(index) {
        // Reset (Surowy kod bez płynnych przejść)
        for (var i = 0; i < 3; i++) {
            tabs[i].classList.remove('active');
            panels[i].classList.remove('active');
        }
        
        // Aktywacja
        tabs[index].classList.add('active');
        panels[index].classList.add('active');
    }

    // Bezpieczne podpinanie listenerów
    tabs[0].addEventListener('click', function() { openExpertPanel(0); });
    tabs[1].addEventListener('click', function() { openExpertPanel(1); });
    tabs[2].addEventListener('click', function() { openExpertPanel(2); });
});
</script>



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

.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(2, 132, 199, 0.12);
    border: 1px solid var(--rk-faq-blue);
    overflow: hidden;
}

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

.rk-faq-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #34d399;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(52, 211, 153, 0.3);
}

.rk-faq-title {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
    line-height: 1.3;
    border-bottom: none;
    padding-bottom: 0;
}

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

/* Lista Akordeonowa */
.rk-faq-list {
    padding: 30px 50px;
    background: var(--rk-faq-bg);
}

.rk-faq-item {
    margin-bottom: 15px;
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    overflow: hidden;
    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-question {
    width: 100%;
    text-align: left;
    padding: 22px 25px;
    background: #ffffff;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.3s ease;
}

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

.rk-faq-item.active .rk-faq-question {
    background: var(--rk-faq-light-blue);
}

.rk-faq-question h3 {
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-faq-dark);
    margin: 0;
    padding-right: 20px;
    line-height: 1.4;
    border-bottom: none;
}

.rk-faq-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-faq-light-blue);
    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, color 0.3s;
}

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

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

.rk-faq-answer-content {
    padding: 0 25px 25px 25px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-faq-text);
    border-left: 4px solid var(--rk-faq-blue);
    margin-left: 25px;
    margin-bottom: 20px;
}

.rk-faq-answer-content a {
    color: var(--rk-faq-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-faq-blue);
    transition: color 0.3s;
}

.rk-faq-answer-content a:hover {
    color: var(--rk-faq-green);
    border-bottom-color: var(--rk-faq-green);
}

@media (max-width: 768px) {
    .rk-faq-header { padding: 35px 25px; }
    .rk-faq-list { padding: 25px; }
    .rk-faq-title { font-size: 24px; }
    .rk-faq-question { padding: 18px 20px; }
    .rk-faq-question h3 { font-size: 15px; }
    .rk-faq-answer-content { padding: 0 20px 20px 20px; margin-left: 20px; font-size: 14px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/"
    },
    "headline": "FAQ: Najczęstsze pytania inwestorów o pompy ciepła",
    "description": "Zbiór najważniejszych technicznych pytań i odpowiedzi dotyczących działania, doboru, zużycia prądu oraz czynników chłodniczych pomp ciepła w 2026 roku.",
    "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-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#faq-schema",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy powietrzna pompa ciepła ogrzeje dom samodzielnie podczas silnych mrozów?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, nowoczesne pompy ciepła klasy premium (szczególnie pracujące na czynniku R290) zachowują pełną zdolność grzewczą do temperatury zewnętrznej -25°C. Poniżej wyznaczonego w projekcie punktu biwalentnego (zwykle między -5°C a -8°C) automatyka urządzenia bezgłośnie uruchamia wbudowane grzałki elektryczne, które wspomagają układ w pokryciu szczytowych strat ciepła."
        }
      },
      {
        "@type": "Question",
        "name": "Ile prądu w skali roku zużywa pompa ciepła w domu 150 m²?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "W dobrze izolowanym budynku o powierzchni 150 m² (standard WT2021, zapotrzebowanie na ciepło ok. 6 kW przy -20°C) wyposażonym w ogrzewanie podłogowe, roczne zużycie energii elektrycznej na cele CO i CWU wynosi średnio od 2500 kWh do 3500 kWh. Przy średniej cenie prądu w 2026 roku, przekłada się to na roczny koszt eksploatacji w przedziale 2800 – 4200 PLN."
        }
      },
      {
        "@type": "Question",
        "name": "Czym różni się pompa ciepła typu Split od wersji Monoblok?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Pompa typu Monoblok posiada cały układ chłodniczy hermetycznie zamknięty w jednej obudowie stojącej na zewnątrz budynku, a do domu wchodzą rury z wodą grzewczą, co eliminuje ryzyko wycieku f-gazów, ale wymaga zabezpieczenia przed zamarznięciem w razie braku zasilania. Wersja Split jest rozdzielona na jednostkę zewnętrzną (parownik, sprężarka) i wewnętrzną (skraplacz), które połączone są rurami z czynnikiem chłodniczym, co eliminuje ryzyko zamarznięcia wody na zewnątrz, ale wymaga montażu przez instalatora z uprawnieniami F-Gaz."
        }
      },
      {
        "@type": "Question",
        "name": "Jaki czynnik chłodniczy jest najlepszy i bezpieczny przy zakupie pompy w 2026 roku?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Najbardziej przyszłościowym i ekologicznym wyborem jest naturalny czynnik chłodniczy R290 (Czysty Propan), którego wskaźnik GWP (Global Warming Potential) wynosi zaledwie 3. Pompy na propanie osiągają wyższe temperatury zasilania (do 70°C) bez spadku sprawności i nie są objęte restrykcyjnymi unijnymi przepisami dotyczącymi f-gazów oraz obowiązkowych, płatnych kontroli szczelności."
        }
      },
      {
        "@type": "Question",
        "name": "Czy podłogówkę z pompą ciepła można zalać zwykłą wodą z kranu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Zdecydowanie nie, surowa woda wodociągowa powoduje odkładanie się kamienia kotłowego na wymienniku pompy ciepła oraz wywołuje korozję galwaniczną elementów metalowych. Instalację grzewczą z pompą ciepła należy bezwzględnie napełnić wodą demineralizowaną uzdatnioną chemicznym inhibitorem korozji, co gwarantuje pełną ochronę antykorozyjną i zachowanie przewodności termicznej układu zgodnie z normą VDI 2035."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#dataset-faq",
    "name": "Baza Wiedzy Inwestora: Parametry Pomp Ciepła 2026",
    "description": "Zestawienie najczęściej wyszukiwanych parametrów techniczno-eksploatacyjnych pomp ciepła, w tym estymacje kosztów rocznych oraz specyfikacje czynników chłodniczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zużycie prądu przez pompę ciepła 150m2",
      "różnica między pompą split a monoblok",
      "punkt biwalentny pompy ciepła",
      "pompa ciepła na czynniku r290 propan",
      "woda demineralizowana w podłogówce"
    ],
    "measurementTechnique": "Analiza danych empirycznych z instalacji domów jednorodzinnych WT2021 oraz wytyczne normy VDI 2035.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt eksploatacji dom 150m2: 2800-4200 PLN rocznie.",
        "Zdolność grzewcza pomp premium: stabilna do -25 stopni Celsjusza.",
        "Zabezpieczenie instalacji: wymóg stosowania wody zdemineralizowanej z inhibitorem korozji."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#webapp-faq",
    "name": "Interaktywny Asystent Wiedzy HVAC",
    "description": "Moduł dynamicznych odpowiedzi technicznych pozwalający użytkownikom na błyskawiczne weryfikowanie kluczowych parametrów i rozwiewanie mitów dotyczących systemów grzewczych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-container" id="faq-section-app">
    <div class="rk-faq-header">
        <div class="rk-faq-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><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
            Baza Wiedzy
        </div>
        <h2 class="rk-faq-title">FAQ: Najczęstsze pytania inwestorów o pompy ciepła</h2>
        <p class="rk-faq-desc">
            Bez ogródek o mitach, kosztach i instalacyjnych pułapkach. Kliknij poniższe pytania, aby poznać inżynierskie, oparte na liczbach odpowiedzi.
        </p>
    </div>

    <div class="rk-faq-list">
        
        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                <h3>Czy powietrzna pompa ciepła ogrzeje dom samodzielnie podczas silnych mrozów?</h3>
                <div class="rk-faq-icon">
                    <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="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer-wrapper">
                <div class="rk-faq-answer-content">
                    Tak, nowoczesne pompy ciepła klasy premium (szczególnie pracujące na czynniku R290) zachowują pełną zdolność grzewczą do temperatury zewnętrznej -25°C. Poniżej wyznaczonego w projekcie punktu biwalentnego (zwykle między -5°C a -8°C) automatyka urządzenia bezgłośnie uruchamia wbudowane grzałki elektryczne, które wspomagają <a href="https://projekt-ogrzewania.pl/czy-pompa-ciepla-ogrzeje-dom-z-podlogowka/">układ ogrzewania podłogowego</a> w pokryciu szczytowych strat ciepła.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                <h3>Ile prądu w skali roku zużywa pompa ciepła w domu 150 m²?</h3>
                <div class="rk-faq-icon">
                    <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="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer-wrapper">
                <div class="rk-faq-answer-content">
                    W dobrze izolowanym budynku o powierzchni 150 m² (standard WT2021, zapotrzebowanie na ciepło ok. 6 kW przy -20°C) wyposażonym w ogrzewanie podłogowe, roczne zużycie energii elektrycznej na cele CO i CWU wynosi średnio od 2500 kWh do 3500 kWh. Przy dzisiejszych stawkach, przekłada się to na <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">roczny koszt eksploatacji</a> w przedziale 2800 – 4200 PLN.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                <h3>Czym różni się pompa ciepła typu Split od wersji Monoblok?</h3>
                <div class="rk-faq-icon">
                    <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="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer-wrapper">
                <div class="rk-faq-answer-content">
                    Pompa typu Monoblok posiada cały układ chłodniczy hermetycznie zamknięty w jednej obudowie stojącej na zewnątrz budynku, a do domu wchodzą rury z wodą grzewczą, co eliminuje ryzyko wycieku f-gazów, ale wymaga zabezpieczenia przed zamarznięciem w razie braku zasilania. Wersja Split jest rozdzielona na jednostkę zewnętrzną i wewnętrzną, które połączone są rurami z czynnikiem chłodniczym, co eliminuje ryzyko zamarznięcia, ale wymaga montażu przez instalatora z uprawnieniami F-Gaz.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                <h3>Jaki czynnik chłodniczy jest najlepszy i bezpieczny przy zakupie pompy w 2026 roku?</h3>
                <div class="rk-faq-icon">
                    <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="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer-wrapper">
                <div class="rk-faq-answer-content">
                    Najbardziej przyszłościowym i ekologicznym wyborem jest naturalny czynnik chłodniczy R290 (Czysty Propan), którego wskaźnik GWP (Global Warming Potential) wynosi zaledwie 3. Pompy na propanie osiągają wyższe temperatury zasilania (do 70°C) bez spadku sprawności i nie są objęte restrykcyjnymi unijnymi przepisami dotyczącymi f-gazów oraz obowiązkowych, płatnych kontroli szczelności.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                <h3>Czy podłogówkę z pompą ciepła można zalać zwykłą wodą z kranu?</h3>
                <div class="rk-faq-icon">
                    <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="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer-wrapper">
                <div class="rk-faq-answer-content">
                    Zdecydowanie nie, surowa woda wodociągowa powoduje odkładanie się kamienia kotłowego na wymienniku pompy ciepła oraz wywołuje korozję galwaniczną elementów metalowych. Instalację należy bezwzględnie zalać <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">wodą demineralizowaną z inhibitorem korozji</a>, co gwarantuje pełną ochronę antykorozyjną i zachowanie przewodności termicznej układu zgodnie z rygorystyczną normą VDI 2035.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Bezpieczny kod bez użycia znaków zagrażających parsowaniu
    var items = document.querySelectorAll('.rk-faq-item');
    
    for (var i = 0; i < items.length; i++) {
        var questionBtn = items[i].querySelector('.rk-faq-question');
        
        questionBtn.addEventListener('click', function() {
            var parentItem = this.parentElement;
            var isAlreadyActive = parentItem.classList.contains('active');
            
            // Zamknięcie wszystkich elementów
            for (var j = 0; j < items.length; j++) {
                items[j].classList.remove('active');
                var wrapperToClose = items[j].querySelector('.rk-faq-answer-wrapper');
                wrapperToClose.style.maxHeight = null;
                items[j].querySelector('.rk-faq-question').setAttribute('aria-expanded', 'false');
            }
            
            // Otwarcie klikniętego elementu, o ile nie był wcześniej otwarty
            if (isAlreadyActive === false) {
                parentItem.classList.add('active');
                this.setAttribute('aria-expanded', 'true');
                var activeWrapper = parentItem.querySelector('.rk-faq-answer-wrapper');
                activeWrapper.style.maxHeight = activeWrapper.scrollHeight + "px";
            }
        });
    }
});
</script>



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

.rk-dl-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-dl-bg);
    border: 2px solid var(--rk-dl-dark);
}

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

.rk-dl-badge {
    display: inline-block;
    background: var(--rk-dl-blue);
    color: #ffffff;
    padding: 6px 16px;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

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

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

/* Sekcja Główna */
.rk-dl-body {
    display: flex;
    background: var(--rk-dl-bg);
}

/* Kolumna Miniatury */
.rk-dl-preview {
    width: 40%;
    padding: 40px;
    background: var(--rk-dl-light);
    border-right: 1px solid var(--rk-dl-border);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-dl-thumbnail-box {
    width: 100%;
    border: 4px solid var(--rk-dl-border);
    background: #ffffff;
    padding: 5px;
    cursor: pointer;
}

.rk-dl-thumbnail-box:hover {
    border-color: var(--rk-dl-blue);
}

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

.rk-dl-thumb-label {
    margin-top: 15px;
    font-size: 12px;
    font-weight: 800;
    color: var(--rk-dl-text);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Kolumna Akcji */
.rk-dl-actions {
    width: 60%;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

.rk-dl-features {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
}

.rk-dl-features li {
    font-size: 15px;
    color: var(--rk-dl-text);
    margin-bottom: 10px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-weight: 600;
}

.rk-dl-features svg {
    flex-shrink: 0;
    color: var(--rk-dl-green);
    margin-top: 2px;
}

/* Przyciski */
.rk-dl-btn-group {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

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

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

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

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

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

/* Stopka / Prawa Autorskie */
.rk-dl-footer {
    padding: 20px 40px;
    background: #f1f5f9;
    border-top: 1px solid var(--rk-dl-border);
    font-size: 12px;
    line-height: 1.6;
    color: #64748b;
    text-align: center;
    font-weight: 600;
}

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

/* Modal (Lightbox) */
.rk-modal-overlay {
    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-modal-overlay.active {
    display: flex;
}

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

.rk-modal-img {
    max-width: 100%;
    max-height: 90vh;
    border: 4px solid #ffffff;
}

.rk-modal-close {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 40px;
    height: 40px;
    background: var(--rk-dl-red);
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-weight: 900;
    border: 2px solid #ffffff;
}

/* RWD */
@media (max-width: 768px) {
    .rk-dl-header { padding: 30px 20px; }
    .rk-dl-title { font-size: 24px; }
    .rk-dl-body { flex-direction: column; }
    .rk-dl-preview { width: 100%; padding: 30px 20px; border-right: none; border-bottom: 1px solid var(--rk-dl-border); }
    .rk-dl-actions { width: 100%; padding: 30px 20px; }
    .rk-dl-footer { padding: 20px; }
    .rk-modal-close { top: -15px; right: -10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/"
    },
    "headline": "Pompa Ciepła w pigułce: Pobierz darmową infografikę i raport",
    "description": "Zestawienie kluczowych zasad inżynierskich, najdroższych błędów oraz bilansu COP w formie czytelnej, autorskiej infografiki. Pobierz plik PDF.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Pompa-Ciepla.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "Inżynier HVAC",
      "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-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#dataset-infografika",
    "name": "Baza Wiedzy Inwestora: Raport Ekspercki Pompy Ciepła",
    "description": "Skondensowane dane dotyczące 4 filarów niskich rachunków, analizy błędów wykonawczych oraz czynników wpływających na żywotność sprężarki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika pompa ciepła",
      "schemat pompy ciepła pdf",
      "podsumowanie kosztów i błędów pompa ciepła",
      "ściąga dla inwestora ogrzewanie podłogowe",
      "robert kucharski poradnik instalatora pdf"
    ],
    "measurementTechnique": "Wizualizacja twardych danych audytowych, m.in. spadek COP przy zasilaniu 50°C+, skutki braku bufora oraz optymalny OZC.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "4 Filary: OZC, Podłogówka, Hydraulika, Bufor.",
        "Najdroższe Błędy: Pompa dobrana z zapasem, brak OZC, brak bufora.",
        "Dostępność: Materiał dostępny w formacie interaktywnym WEBP oraz do druku w PDF."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#webapp-infografika",
    "name": "Eksperckie Centrum Pobierania (Resource Library)",
    "description": "Moduł umożliwiający pełnoekranowy podgląd infografiki edukacyjnej w formie cyfrowej oraz bezpieczne pobranie pliku PDF ze strukturą instalacyjną.",
    "applicationCategory": "MultimediaApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-wrapper">
    <div class="rk-dl-header">
        <div class="rk-dl-badge">Materiały do pobrania</div>
        <h2 class="rk-dl-title">Zabierz tę wiedzę na budowę</h2>
        <p class="rk-dl-desc">
            W gąszczu informacji łatwo o pomyłkę, a każda pomyłka hydrauliczna to tysiące złotych strat rocznie. Skondensowałem całą wiedzę inżynierską w jedną, czytelną ściągę dla Inwestora.
        </p>
    </div>

    <div class="rk-dl-body">
        
        <div class="rk-dl-preview">
            <div class="rk-dl-thumbnail-box" id="btnPreviewThumb">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Pompa-Ciepla.webp" alt="Infografika Pompa Ciepła Robert Kucharski" class="rk-dl-thumbnail">
            </div>
            <div class="rk-dl-thumb-label">Kliknij miniaturę, aby powiększyć</div>
        </div>

        <div class="rk-dl-actions">
            <h3>Raport Ekspercki: Pompa Ciepła w pigułce</h3>
            
            <ul class="rk-dl-features">
                <li>
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    <span>4 Filary niskich rachunków w jednym miejscu.</span>
                </li>
                <li>
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    <span>Lista najdroższych błędów do uniknięcia na budowie.</span>
                </li>
                <li>
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    <span>Format idealny do wydruku (PDF A4) lub zapisu na telefonie.</span>
                </li>
            </ul>

            <div class="rk-dl-btn-group">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Pompa-Ciepla.pdf" target="_blank" class="rk-dl-btn rk-btn-primary" 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="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 raport (PDF)
                </a>
                
                <button type="button" class="rk-dl-btn rk-btn-secondary" id="btnPreviewFull">
                    <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="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>
                    Zobacz pełny obraz na ekranie
                </button>
            </div>
        </div>
    </div>

    <div class="rk-dl-footer">
        <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 class="rk-modal-overlay" id="rkLightbox">
    <div class="rk-modal-content">
        <div class="rk-modal-close" id="btnCloseLightbox">✕</div>
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Pompa-Ciepla.webp" alt="Pełna Infografika Pompa Ciepła" class="rk-modal-img">
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btnPreviewThumb = document.getElementById('btnPreviewThumb');
    var btnPreviewFull = document.getElementById('btnPreviewFull');
    var btnCloseLightbox = document.getElementById('btnCloseLightbox');
    var rkLightbox = document.getElementById('rkLightbox');

    function openLightbox() {
        rkLightbox.className = 'rk-modal-overlay active';
        document.body.style.overflow = 'hidden'; // Blokada scrollowania pod spodem
    }

    function closeLightbox() {
        rkLightbox.className = 'rk-modal-overlay';
        document.body.style.overflow = 'auto'; // Odblokowanie scrollowania
    }

    // Otwieranie (Klik w miniaturę lub guzik)
    if(btnPreviewThumb) { btnPreviewThumb.addEventListener('click', openLightbox); }
    if(btnPreviewFull) { btnPreviewFull.addEventListener('click', openLightbox); }

    // Zamykanie (Klik w X)
    if(btnCloseLightbox) { btnCloseLightbox.addEventListener('click', closeLightbox); }

    // Zamykanie przez kliknięcie w tło
    if(rkLightbox) {
        rkLightbox.addEventListener('click', function(e) {
            if (e.target === rkLightbox) {
                closeLightbox();
            }
        });
    }
});
</script>



<style>
:root {
    --rk-syn-dark: #0f172a;
    --rk-syn-blue: #0ea5e9;
    --rk-syn-blue-dark: #0284c7;
    --rk-syn-light: #f8fafc;
    --rk-syn-green: #10b981;
    --rk-syn-red: #ef4444;
    --rk-syn-orange: #f97316;
    --rk-syn-border: #cbd5e1;
    --rk-syn-bg: #ffffff;
}

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

/* Sekcja Nagłówkowa */
.rk-syn-header {
    padding: 40px 45px;
    background: linear-gradient(135deg, var(--rk-syn-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-syn-title {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 20px 0;
    line-height: 1.3;
    color: #ffffff;
    border-bottom: none;
    padding-bottom: 0;
}

.rk-syn-text {
    font-size: 16px;
    line-height: 1.8;
    color: #cbd5e1;
    margin: 0;
}

.rk-syn-text strong {
    color: #38bdf8;
    font-weight: 700;
}

/* Interaktywny Panel */
.rk-syn-interactive {
    padding: 35px 45px;
    background: var(--rk-syn-light);
    border-bottom: 1px solid var(--rk-syn-border);
}

.rk-toggle-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 40px;
    background: #ffffff;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-syn-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-toggle-label {
    font-size: 16px;
    font-weight: 800;
    color: #64748b;
    transition: color 0.3s;
}

.rk-toggle-label.active-pro { color: var(--rk-syn-green); }
.rk-toggle-label.active-ama { color: var(--rk-syn-red); }

/* Switch CSS */
.rk-switch {
    position: relative;
    display: inline-block;
    width: 68px;
    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-syn-green);
    transition: .4s;
    border-radius: 36px;
}

.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 4px rgba(0,0,0,0.2);
}

input:checked + .rk-slider { background-color: var(--rk-syn-red); }
input:checked + .rk-slider:before { transform: translateX(32px); }

/* Wyniki symulacji */
.rk-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

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

.rk-stat-icon {
    height: 50px;
    margin-bottom: 15px;
}

.rk-stat-title {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #64748b;
    font-weight: 700;
    margin: 0 0 10px 0;
}

.rk-stat-value {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-syn-dark);
}

/* Tagi SEO */
.rk-syn-tags {
    padding: 25px 45px;
    background: #ffffff;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.rk-mat-tag {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background: #f0f9ff;
    color: var(--rk-syn-blue-dark);
    border: 1px solid #bae6fd;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
    transition: all 0.2s;
}

.rk-mat-tag:hover {
    background: var(--rk-syn-blue-dark);
    color: #ffffff;
}

/* CTA */
.rk-syn-cta {
    padding: 40px 45px;
    background: var(--rk-syn-dark);
    text-align: center;
}

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

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

.rk-btn-epic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    background: linear-gradient(135deg, var(--rk-syn-blue) 0%, var(--rk-syn-blue-dark) 100%);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 45px;
    border-radius: 50px;
    text-decoration: none;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.5);
    transition: transform 0.3s, box-shadow 0.3s;
}

.rk-btn-epic:hover {
    transform: scale(1.03) translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(2, 132, 199, 0.6);
}

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

.rk-btn-epic:hover svg {
    transform: translateX(8px);
}

/* RWD Mobile */
@media (max-width: 768px) {
    .rk-syn-header, .rk-syn-interactive, .rk-syn-tags, .rk-syn-cta {
        padding: 30px 20px;
    }
    .rk-stats-grid {
        grid-template-columns: 1fr; /* Pionowy układ dla mobile */
        gap: 15px;
    }
    .rk-toggle-wrapper {
        flex-direction: column;
        gap: 15px;
    }
    .rk-btn-epic {
        width: 100%;
        padding: 18px 20px;
        font-size: 16px;
    }
    .rk-syn-title { font-size: 24px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/"
    },
    "headline": "Podsumowanie: Bezkompromisowa synergia technologii pompy ciepła",
    "description": "Kluczem do niskich rachunków i bezawaryjnej pracy pompy ciepła przez dekady jest bezbłędna hydraulika, projekt OZC i idealnie dobrany bufor ciepła. Zobacz zestawienie.",
    "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-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#dataset-podsumowanie",
    "name": "Wskaźnik efektywności systemu z pompą ciepła",
    "description": "Zestawienie techniczne porównujące kluczowe parametry eksploatacyjne pompy ciepła w zależności od jakości wykonania projektu hydraulicznego i zładu wody.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rachunki za prąd z pompą ciepła",
      "żywotność sprężarki",
      "błędy przy montażu pompy ciepła",
      "projekt ozc dla pompy ciepła",
      "bufor ciepła jako sprzęgło"
    ],
    "measurementTechnique": "Porównanie kosztów eksploatacji i żywotności podzespołów (sprężarki) w systemie zbilansowanym vs system dławiony bez bufora.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "System zoptymalizowany: Projekt OZC, pętle poniżej 100m, sprzęgło/bufor dobrane idealnie = żywotność 20-25 lat.",
        "System losowy: Dławienie przepływów, pętle losowe = usterka w ciągu 5-7 lat, wysokie rachunki na grzałkach."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla/#webapp-podsumowanie",
    "name": "Symulator Synergii Pompy Ciepła",
    "description": "Interaktywny przełącznik demonstrujący drastyczny wpływ błędów projektowych i braku sprzęgła hydraulicznego na żywotność oraz rachunki za energię.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-syn-container" id="syn-app-box">
    <div class="rk-syn-header">
        <h2 class="rk-syn-title">Podsumowanie: Bezkompromisowa synergia technologii</h2>
        <p class="rk-syn-text">
            Pompa ciepła to urządzenie, które nie wybacza błędów wykonawczych i projektowych. Kluczem do uzyskania <strong>niskich rachunków za prąd i bezawaryjnej pracy przez 20-25 lat</strong> nie jest marka samego urządzenia, lecz rygorystyczne podejście do hydrauliki całego systemu. Maksymalna efektywność energetyczna rodzi się na styku źródła ciepła i odbiornika – bez precyzyjnie przeliczonego projektu OZC, idealnie zbalansowanych pętli ogrzewania podłogowego o długości poniżej 100 m oraz właściwie dobranego <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" style="color: #38bdf8; text-decoration: underline;">bufora pełniącego funkcję sprzęgła</a>, nawet najdroższa pompa ciepła stanie się drogim w utrzymaniu grzejnikiem elektrycznym.
        </p>
    </div>

    <div class="rk-syn-interactive">
        <div class="rk-toggle-wrapper">
            <span class="rk-toggle-label active-pro" id="labelPro">Zgodnie ze sztuką (Projekt OZC)</span>
            <label class="rk-switch">
                <input type="checkbox" id="synergyToggle">
                <span class="rk-slider"></span>
            </label>
            <span class="rk-toggle-label" id="labelAma">Wykonawstwo "na oko"</span>
        </div>

        <div class="rk-stats-grid">
            <div class="rk-stat-card" id="cardLife">
                <svg class="rk-stat-icon" viewBox="0 0 24 24" fill="none" stroke="var(--rk-syn-green)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" id="iconLife">
                    <polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline>
                </svg>
                <h4 class="rk-stat-title">Żywotność sprężarki</h4>
                <div class="rk-stat-value" id="valLife">20 - 25 lat</div>
            </div>
            
            <div class="rk-stat-card" id="cardBills">
                <svg class="rk-stat-icon" viewBox="0 0 24 24" fill="none" stroke="var(--rk-syn-green)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" id="iconBills">
                    <path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path>
                </svg>
                <h4 class="rk-stat-title">Roczne rachunki (COP)</h4>
                <div class="rk-stat-value" id="valBills">Minimalne</div>
            </div>

            <div class="rk-stat-card" id="cardError">
                <svg class="rk-stat-icon" viewBox="0 0 24 24" fill="none" stroke="var(--rk-syn-green)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" id="iconError">
                    <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>
                <h4 class="rk-stat-title">Ryzyko zamrożenia wymiennika</h4>
                <div class="rk-stat-value" id="valError">0% (Bezpieczeństwo)</div>
            </div>
        </div>
    </div>

    <div class="rk-syn-tags">
        <span class="rk-mat-tag"># pompa ciepła z podłogówką</span>
        <span class="rk-mat-tag"># błędy przy montażu pompy ciepła</span>
        <span class="rk-mat-tag"># rachunki za prąd z pompą ciepła</span>
        <span class="rk-mat-tag"># projekt ozc dla pompy ciepła</span>
        <span class="rk-mat-tag"># optymalna długość pętli podłogówki</span>
        <span class="rk-mat-tag"># bufor ciepła jako sprzęgło</span>
        <span class="rk-mat-tag"># efektywność energetyczna domu</span>
        <span class="rk-mat-tag"># zład wody w instalacji co</span>
    </div>

    <div class="rk-syn-cta">
        <h3>Świadoma inwestycja to jedyna droga do sukcesu</h3>
        <p>
            Nie dopuść, by brak wiedzy instalatora kosztował Cię tysiące złotych. Świadoma inwestycja w inżynierię to fundament energooszczędnego domu. Odwiedź bazę wiedzy i <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" style="color: #cbd5e1; text-decoration: underline;">ucz się na cudzych, a nie własnych błędach</a>.
        </p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-epic">
            WEJDŹ DO STREFY EKSPERTA 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">
                <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 toggle = document.getElementById('synergyToggle');
    const labelPro = document.getElementById('labelPro');
    const labelAma = document.getElementById('labelAma');

    // Elementy do aktualizacji
    const valLife = document.getElementById('valLife');
    const valBills = document.getElementById('valBills');
    const valError = document.getElementById('valError');
    
    // Ikony
    const iconLife = document.getElementById('iconLife');
    const iconBills = document.getElementById('iconBills');
    const iconError = document.getElementById('iconError');

    // Karty
    const cards = document.querySelectorAll('.rk-stat-card');

    toggle.addEventListener('change', function() {
        if (this.checked) {
            // Stan: Błędy i Amatorszczyzna
            labelPro.classList.remove('active-pro');
            labelAma.classList.add('active-ama');

            valLife.innerHTML = '5 - 7 lat (Taktowanie)';
            valBills.innerHTML = 'Ekstremalne (+300%)';
            valError.innerHTML = 'Krytyczne (Brak zładu)';

            cards.forEach(function(card) {
                card.style.borderColor = 'var(--rk-syn-red)';
                card.style.background = '#fef2f2';
            });

            // Zmiana ikon na błąd/alert
            iconLife.setAttribute('stroke', 'var(--rk-syn-red)');
            iconBills.setAttribute('stroke', 'var(--rk-syn-red)');
            iconError.setAttribute('stroke', 'var(--rk-syn-red)');
            iconError.innerHTML = '<polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line>';

        } else {
            // Stan: Synergia Inżynierska
            labelPro.classList.add('active-pro');
            labelAma.classList.remove('active-ama');

            valLife.innerHTML = '20 - 25 lat';
            valBills.innerHTML = 'Minimalne';
            valError.innerHTML = '0% (Bezpieczeństwo)';

            cards.forEach(function(card) {
                card.style.borderColor = 'var(--rk-syn-border)';
                card.style.background = '#ffffff';
            });

            // Zmiana ikon na poprawne
            iconLife.setAttribute('stroke', 'var(--rk-syn-green)');
            iconBills.setAttribute('stroke', 'var(--rk-syn-green)');
            iconError.setAttribute('stroke', 'var(--rk-syn-green)');
            iconError.innerHTML = '<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>';
        }
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">Pompa Ciepła.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Wylewka betonowa na ogrzewanie podłogowe.</title>
		<link>https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 27 Dec 2025 11:07:44 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Instalacja ogrzewania podłogowego]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Posadzki i wylewki]]></category>
		<category><![CDATA[dylatacje]]></category>
		<category><![CDATA[grubość wylewki]]></category>
		<category><![CDATA[jastrych anhydrytowy]]></category>
		<category><![CDATA[jastrych cementowy]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[przewodność cieplna]]></category>
		<category><![CDATA[wygrzewanie wylewki]]></category>
		<category><![CDATA[wylewka betonowa]]></category>
		<category><![CDATA[wylewka na podłogówkę]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2985</guid>

					<description><![CDATA[<p>Wydajność ogrzewania podłogowego nie zależy wyłącznie od rur i źródła ciepła. Kluczową rolę odgrywa wylewka betonowa na ogrzewanie podłogowe, która decyduje o komforcie, trwałości i reakcji całego systemu. W tym technicznym przewodniku krok po kroku wyjaśniamy, jak dobrać odpowiedni rodzaj wylewki, jaka grubość ma sens, czym różni się cement od anhydrytu oraz jak prawidłowo przeprowadzić suszenie i pierwsze uruchomienie ogrzewania. To praktyczna wiedza dla inwestorów, którzy chcą uniknąć kosztownych błędów i mieć system działający stabilnie przez lata.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">Wylewka betonowa na ogrzewanie podłogowe.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Pierwszym i najważniejszym elementem, który decyduje o wydajności, trwałości i komforcie cieplnym twojego systemu, jest&nbsp;<strong>wylewka betonowa na ogrzewanie podłogowe</strong>. To nie jest zwykły betonowy podkład, a zaawansowany technicznie element konstrukcyjny, pełniący rolę wielkiego, aktywnego radiatora. W tym kompleksowym artykule zagłębimy się w techniczne aspekty jej doboru, wykonania i współpracy z wodną instalacją grzewczą, dostarczając niezbędnej wiedzy do podjęcia świadomych decyzji.</p>



<h2 class="wp-block-heading">Nie tylko podłoże: Kluczowe funkcje wylewki w systemie grzewczym.</h2>



<p class="wp-block-paragraph">Wylewka, zwana również jastrychem, w kontekście ogrzewania podłogowego przejmuje kilka fundamentalnych ról, które wykraczają daleko poza funkcję poziomej, równej powierzchni.</p>



<ul class="wp-block-list">
<li><strong>Funkcja akumulacyjno-grzewcza:</strong>&nbsp;Jest to jej podstawowe zadanie. Wylewka działa jak&nbsp;<strong>masywny akumulator ciepła</strong>. Pobiera energię termiczną z rur grzewczych, magazynuje ją, a następnie równomiernie oddaje do pomieszczenia przez wiele godzin. Dzięki temu eliminuje się nieprzyjemne uczucie „gorących pasów” i zapewnia stabilną temperaturę, nawet po chwilowym wyłączeniu źródła ciepła.</li>



<li><strong>Funkcja dystrybucyjna:</strong>&nbsp;Jednolita płyta betonowa&nbsp;<strong>równomiernie rozprowadza ciepło</strong>&nbsp;na całej powierzchni podłogi. Jest to szczególnie istotne przy standardowym rozstawie rur (zwykle 10-20 cm). Bez wylewki, odczuwalny byłby efekt „grzebienia” – cieplejszych linii nad rurami i chłodniejszych przestrzeni między nimi.</li>



<li><strong>Funkcja ochronna:</strong> Warstwa betonu stanowi <strong>mechaniczną tarczę</strong> dla precyzyjnie ułożonych rur z tworzywa sztucznego (<a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">PEX,</a> <a href="https://projekt-ogrzewania.pl/rura-pert-do-ogrzewania-podlogowego/">PE-RT</a>) lub wielowarstwowych. Zabezpiecza je przed uszkodzeniem podczas późniejszych prac wykończeniowych i eksploatacji.</li>



<li><strong>Funkcja konstrukcyjna:</strong>&nbsp;Jastrych&nbsp;<strong>przenosi i rozkłada obciążenia użytkowe</strong>&nbsp;(meble, ruch osób) na warstwę izolacji termicznej, zabezpieczając jej integralność. Stanowi również idealnie gładkie i stabilne&nbsp;<strong>podłoże pod każdy rodzaj posadzki</strong>&nbsp;– od płytek ceramicznych po delikatne panele laminowane.</li>
</ul>



<h2 class="wp-block-heading">Materiał ma znaczenie: Przegląd rodzajów wylewek pod ogrzewanie podłogowe.</h2>



<p class="wp-block-paragraph">Wybór odpowiedniego rodzaju wylewki jest decyzją strategiczną, wpływającą na parametry grzewcze, czas inwestycji i trwałość.</p>



<h3 class="wp-block-heading">Tradycyjna wylewka cementowa (CT).</h3>



<p class="wp-block-paragraph">Klasyczne rozwiązanie, oparte na mieszance cementu, kruszywa (piasku) i wody. Jej zastosowanie wymaga&nbsp;<strong>szczególnej staranności</strong>.</p>



<ul class="wp-block-list">
<li><strong>Zalety:</strong>&nbsp;Wysoka wytrzymałość mechaniczna, odporność na wilgoć, niski koszt materiałów.</li>



<li><strong>Wyzwania:</strong>&nbsp;Długi czas wiązania i&nbsp;<strong>suszenia</strong>&nbsp;(ok. 1 mm grubości na dzień). Podatność na skurcz, który&nbsp;<strong>koniecznie musi być skompensowany</strong>&nbsp;poprzez zbrojenie i dylatacje. Jej gorsza przewodność cieplna w porównaniu do anhydrytu może nieznacznie wydłużyć czas reakcji systemu.</li>
</ul>



<h3 class="wp-block-heading">Nowoczesna wylewka anhydrytowa (CA).</h3>



<p class="wp-block-paragraph">Wylewka na bazie spoiwa gipsowego (bezwodny siarczan wapnia) jest obecnie&nbsp;<strong>najczęściej rekomendowanym rozwiązaniem</strong>&nbsp;do systemów ogrzewania podłogowego.</p>



<ul class="wp-block-list">
<li><strong>Zalety:</strong>&nbsp;Doskonała&nbsp;<strong>płynność i samopoziomowanie</strong>, co ułatwia osiągnięcie idealnie równej powierzchni. Wyższy&nbsp;<strong>współczynnik przewodzenia ciepła (λ)</strong>, co przekłada się na szybsze oddawanie ciepła do pomieszczenia. Mniejszy skurcz, dzięki czemu rzadziej wymaga dylatacji pośrednich.&nbsp;<strong>Szybsze osiąganie stanu suchego</strong>.</li>



<li><strong>Ograniczenia:</strong>&nbsp;Wrażliwość na stałe zawilgocenie. W pomieszczeniach mokrych (łazienki, pralnie) wymaga zastosowania&nbsp;<strong>hydroizolacji</strong>.</li>
</ul>



<h3 class="wp-block-heading">Wylewki szybkoschnące i specjalistyczne.</h3>



<p class="wp-block-paragraph">Dedykowane dla projektów remontowych, gdzie czas jest krytyczny, lub obiektów o specjalnych wymaganiach.</p>



<ul class="wp-block-list">
<li><strong>Wylewki modyfikowane polimerami:</strong>&nbsp;Charakteryzują się&nbsp;<strong>bardzo wysoką wytrzymałością</strong>, przyczepnością i odpornością. Pozwalają na chodzenie po powierzchni już po kilku godzinach.</li>



<li><strong>Wylewki magnezjowe:</strong>&nbsp;Odporne na ścieranie i wilgoć, stosowane w obiektach przemysłowych, rzadziej w domach jednorodzinnych.</li>
</ul>



<h2 class="wp-block-heading">Parametry techniczne, które musisz znać: Grubość, wytrzymałość, zbrojenie.</h2>



<p class="wp-block-paragraph">Sam wybór materiału to nie wszystko. Kluczowe są parametry wykonania.</p>



<ul class="wp-block-list">
<li><strong>Optymalna grubość:</strong>&nbsp;To najczęstsze pytanie. Generalna zasada mówi o&nbsp;<strong>minimalnej grubości 4,5 cm nad rurą grzewczą</strong>. Standardem jest&nbsp;<strong>5-7 cm</strong>. Zbyt cienka wylewka (poniżej 4 cm) grozi pęknięciami i nierównomiernym grzaniem. Zbyt gruba (powyżej 8-9 cm) tworzy system o dużej&nbsp;<strong>bezwładności cieplnej</strong>, co wydłuża czas nagrzewania i stygnięcia pomieszczenia.</li>



<li><strong>Klasa wytrzymałości:</strong>&nbsp;Dla obciążeń domowych minimalną zalecaną klasą jest&nbsp;<strong>C20/F4</strong>&nbsp;(wytrzymałość na ściskanie 20 MPa, na zginanie 4 MPa). W praktyce coraz częściej stosuje się klasę&nbsp;<strong>C25/F5</strong>, która gwarantuje większą odporność.</li>



<li><strong>Konieczność zbrojenia:</strong>&nbsp;W wylewkach cementowych&nbsp;<strong>zbrojenie jest obligatoryjne</strong>. Można je wykonać za pomocą:
<ol start="1" class="wp-block-list">
<li><strong>Siatki stalowej</strong>&nbsp;(np. o oczkach 15&#215;15 cm, drut Ø3-4 mm) układanej na podkładkach dystansowych.</li>



<li><strong>Włókien rozproszonych</strong>&nbsp;(polipropylenowych lub stalowych) dodawanych do mieszanki betonowej. To rozwiązanie eliminuje ryzyko błędu przy układaniu siatki.<br>Dla wylewek anhydrytowych często wystarczają włókna rozproszone, choć w newralgicznych miejscach zaleca się siatkę.</li>
</ol>
</li>



<li><strong>Przewodność cieplna (λ):</strong>&nbsp;Im wyższa wartość, tym lepiej i szybciej wylewka przewodzi ciepło. Wylewki anhydrytowe mają tu przewagę (λ ~1,4-1,6 W/mK) nad cementowymi (λ ~1,2-1,4 W/mK).</li>
</ul>



<h2 class="wp-block-heading">Proces wykonawczy krok po kroku: Od izolacji do pielęgnacji.</h2>



<p class="wp-block-paragraph">Prawidłowa sekwencja prac jest gwarantem sukcesu.</p>



<ol start="1" class="wp-block-list">
<li><strong>Przygotowanie podłoża:</strong> Na stropie lub podkładzie betonowym układa się <strong>izolację termiczną</strong> (np. styropian <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/">EPS 100</a> lub <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-200-z-wypustkami/">EPS 200</a>, piankę PIR) oraz folię odbijającą promieniowanie (lub specjalne maty z wypustkami do mocowania rur).</li>



<li><strong>Montaż instalacji i <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">PRÓBA CIŚNIENIOWA</a>:</strong> Po ułożeniu i podłączeniu rur do rozdzielacza, <strong>absolutnie obowiązkowym</strong> krokiem jest wykonanie próby szczelności. Instalację napełnia się wodą pod ciśnieniem (zwykle 0,6-0,8 MPa). <strong>Ciśnienie to musi być utrzymane przez cały czas wylewania, wiązania i wstępnego wysychania wylewki.</strong> Jest to jedyny sposób na wczesne wykrycie ewentualnych przecieków.</li>



<li><strong>Wykonanie dylatacji:</strong>&nbsp;Należy pamiętać o:
<ul class="wp-block-list">
<li><strong>Dylatacjach obwodowych</strong>&nbsp;– z taśmy dylatacyjnej przy wszystkich ścianach, słupach.</li>



<li><strong>Dylatacjach pośrednich</strong>&nbsp;– dzielących duże powierzchnie (powyżej 40 m² lub o boku dłuższym niż 8 m).&nbsp;<strong>Uwaga! Dylatacje pośrednie nie mogą przecinać rur grzewczych.</strong>&nbsp;Ich lokalizację planuje się na etapie projektu instalacji.</li>
</ul>
</li>



<li><strong>Wykonanie mieszanki i wylewanie:</strong>&nbsp;Beton należy zamówić w wytwórni (tzw. beton towarowy) lub, przy mniejszych powierzchniach, przygotować na placu budowy. Wylewa się go od najdalszego punktu pomieszczenia. Do rozścielenia używa się łatwy, a do usunięcia pęcherzy powietrza –&nbsp;<strong>wałka kolczastego</strong>.</li>



<li><strong>Pielęgnacja:</strong>&nbsp;Świeżej wylewki nie można wystawić na działanie przeciągów, bezpośredniego słońca ani gwałtownego odparowywania wody. Przez pierwsze 3-7 dni warto ją przykryć folią lub zwilżać (w przypadku cementowej).</li>
</ol>



<h2 class="wp-block-heading">Suszenie i pierwsze uruchomienie ogrzewania: Najbardziej newralgiczny moment.</h2>



<p class="wp-block-paragraph">To etap, na którym popełnia się najwięcej błędów, prowadzących do spękań i odkształceń.</p>



<ol start="1" class="wp-block-list">
<li><strong>Suszenie naturalne:</strong>&nbsp;Wylewka cementowa wymaga ok.&nbsp;<strong>28 dni na osiągnięcie wystarczającej wytrzymałości</strong>&nbsp;przed uruchomieniem ogrzewania. Pełne wyschnięcie (do wilgotności poniżej 2% CM) może trwać nawet 1 mm/dzień (czyli dla 6 cm = 60 dni). Wylewka anhydrytowa jest gotowa do wstępnego uruchomienia po ok.&nbsp;<strong>7-10 dniach</strong>.</li>



<li><strong>Procedura pierwszego rozruchu systemu (tzw. „wygrzewanie wylewki”):</strong>
<ul class="wp-block-list">
<li><strong>KROK 1:</strong>&nbsp;Upewnij się, że wylewka ma odpowiedni wiek (min. 28 dni dla cementowej, 7-10 dla anhydrytowej). Próbę ciśnieniową nadal utrzymujemy.</li>



<li><strong>KROK 2:</strong>&nbsp;Ustaw temperaturę zasilania na&nbsp;<strong>25°C</strong>&nbsp;i utrzymuj ją przez&nbsp;<strong>2-3 dni</strong>.</li>



<li><strong>KROK 3:</strong>&nbsp;Zwiększaj temperaturę stopniowo, o&nbsp;<strong>maksymalnie 5°C na dobę</strong>, aż dojdziesz do temperatury projektowej (np. 45°C).</li>



<li><strong>KROK 4:</strong>&nbsp;Utrzymuj maksymalną temperaturę przez kolejne&nbsp;<strong>3 dni</strong>.</li>



<li><strong>KROK 5:</strong>&nbsp;<strong>Stopniowo wyłącz ogrzewanie</strong>, pozwalając wylewce ostygnąć naturalnie.</li>
</ul>
</li>
</ol>



<p class="wp-block-paragraph"><strong>Nagłe wprowadzenie do zimnej wylewki wody o wysokiej temperaturze (powyżej 40°C) grozi termicznym szokiem, nieodwracalnymi uszkodzeniami i powstaniem sieci spękań.</strong></p>



<h2 class="wp-block-heading">Tabela porównawcza: Wylewka cementowa vs. anhydrytowa.</h2>



<div style="overflow-x:auto;">
  <table style="width:100%; border-collapse:collapse; margin:20px 0; font-size:16px;">
    <thead>
      <tr style="background:#f5f5f5;">
        <th style="border:1px solid #ddd; padding:10px; text-align:left;">Cecha</th>
        <th style="border:1px solid #ddd; padding:10px; text-align:left;">Wylewka cementowa (CT)</th>
        <th style="border:1px solid #ddd; padding:10px; text-align:left;">Wylewka anhydrytowa (CA)</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td style="border:1px solid #ddd; padding:10px;"><strong>Podstawowe spoiwo</strong></td>
        <td style="border:1px solid #ddd; padding:10px;">Cement portlandzki</td>
        <td style="border:1px solid #ddd; padding:10px;">Anhydryt (siarczan wapnia)</td>
      </tr>
      <tr style="background:#fafafa;">
        <td style="border:1px solid #ddd; padding:10px;"><strong>Przewodność cieplna</strong></td>
        <td style="border:1px solid #ddd; padding:10px;">Dobra (~1,2–1,4 W/mK)</td>
        <td style="border:1px solid #ddd; padding:10px;"><strong>Lepsza</strong> (~1,4–1,6 W/mK)</td>
      </tr>
      <tr>
        <td style="border:1px solid #ddd; padding:10px;"><strong>Skurcz</strong></td>
        <td style="border:1px solid #ddd; padding:10px;">Większy, wymaga zbrojenia</td>
        <td style="border:1px solid #ddd; padding:10px;">Znacznie mniejszy</td>
      </tr>
      <tr style="background:#fafafa;">
        <td style="border:1px solid #ddd; padding:10px;"><strong>Płynność / samopoziomowanie</strong></td>
        <td style="border:1px solid #ddd; padding:10px;">Wymaga mechanicznego rozprowadzenia</td>
        <td style="border:1px solid #ddd; padding:10px;"><strong>Bardzo dobra</strong>, często samopoziomująca</td>
      </tr>
      <tr>
        <td style="border:1px solid #ddd; padding:10px;"><strong>Czas wiązania / schnięcia</strong></td>
        <td style="border:1px solid #ddd; padding:10px;">Długi (pełna wytrzymałość: 28 dni)</td>
        <td style="border:1px solid #ddd; padding:10px;"><strong>Szybszy</strong> (pierwsze uruchomienie: 7–10 dni)</td>
      </tr>
      <tr style="background:#fafafa;">
        <td style="border:1px solid #ddd; padding:10px;"><strong>Odporność na wilgoć</strong></td>
        <td style="border:1px solid #ddd; padding:10px;">Wysoka</td>
        <td style="border:1px solid #ddd; padding:10px;">Ograniczona, wymaga zabezpieczeń w „mokrych” pomieszczeniach</td>
      </tr>
      <tr>
        <td style="border:1px solid #ddd; padding:10px;"><strong>Koszt materiałów</strong></td>
        <td style="border:1px solid #ddd; padding:10px;">Niższy</td>
        <td style="border:1px solid #ddd; padding:10px;">Wyższy</td>
      </tr>
      <tr style="background:#fafafa;">
        <td style="border:1px solid #ddd; padding:10px;"><strong>Zalecane zbrojenie</strong></td>
        <td style="border:1px solid #ddd; padding:10px;">Siatka stalowa lub włókna – obowiązkowe</td>
        <td style="border:1px solid #ddd; padding:10px;">Włókna rozproszone zwykle wystarczające</td>
      </tr>
    </tbody>
  </table>
</div>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego: Punkt wyjścia dla wylewki.</h2>



<p class="wp-block-paragraph"><strong>Wszystko zaczyna się od dobrego projektu.</strong> <a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">Projekt instalacji ogrzewania podłogowego</a> jest <strong>nieodzownym dokumentem</strong>, który bezpośrednio wpływa na parametry wylewki. Dlaczego?</p>



<ul class="wp-block-list">
<li><strong>Określa rozstaw rur:</strong>&nbsp;Gęstszy rozstaw (np. 10 cm) w strefach brzegowych lub łazienkach może wymusić lokalne zwiększenie grubości wylewki dla zapewnienia równomiernego rozkładu temperatury.</li>



<li><strong>Wskazuje lokalizację dylatacji pośrednich:</strong>&nbsp;Projektant, znając rozkład pętli grzewczych, zaplanuje miejsca dylatacji tak, aby nie kolidowały z rurami.</li>



<li><strong>Określa temperaturę zasilania:</strong>&nbsp;Maksymalna projektowa temperatura pracy systemu (zwykle 40-55°C) jest kluczowa dla procedury pierwszego uruchomienia ogrzewania w wylewce.</li>



<li><strong>Wymusza dobór odpowiedniej izolacji:</strong>&nbsp;Grubość i rodzaj izolacji termicznej pod wylewką, także wynikające z projektu, wpływają na efektywność całego systemu i minimalizację strat ciepła w dół.</li>
</ul>



<p class="wp-block-paragraph"><strong>Inwestycja w profesjonalny projekt to inwestycja w poprawność wykonania wszystkich kolejnych warstw, w tym kluczowej wylewki betonowej.</strong></p>



<h2 class="wp-block-heading">FAQ – Najczęstsze pytania.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1766832838208"><strong class="schema-faq-question"><strong>Jaka wylewka jest najlepsza na ogrzewanie podłogowe?</strong></strong> <p class="schema-faq-answer">Najczęściej rekomendowana jest wylewka anhydrytowa ze względu na lepszą przewodność cieplną, mniejszy skurcz i szybsze nagrzewanie podłogi. Cementowa sprawdzi się tam, gdzie występuje wilgoć.</p> </div> <div class="schema-faq-section" id="faq-question-1766832937964"><strong class="schema-faq-question"><strong>Jaka powinna być minimalna grubość wylewki nad rurami?</strong></strong> <p class="schema-faq-answer">Minimalna bezpieczna grubość to ok. 4,5 cm nad rurą grzewczą. W praktyce najczęściej wykonuje się wylewki o grubości 5–7 cm.</p> </div> <div class="schema-faq-section" id="faq-question-1766832958322"><strong class="schema-faq-question"><strong>Czy wylewkę cementową trzeba zbroić?</strong></strong> <p class="schema-faq-answer">Tak. Wylewka cementowa wymaga zbrojenia – siatką stalową lub włóknami rozproszonymi – aby ograniczyć skurcz i ryzyko pęknięć.</p> </div> <div class="schema-faq-section" id="faq-question-1766832967284"><strong class="schema-faq-question"><strong>Po jakim czasie można uruchomić ogrzewanie podłogowe?</strong></strong> <p class="schema-faq-answer">Dla wylewki anhydrytowej po około 7–10 dniach, a dla cementowej po minimum 28 dniach. Uruchomienie zawsze musi odbywać się zgodnie z procedurą stopniowego wygrzewania.</p> </div> <div class="schema-faq-section" id="faq-question-1766832985664"><strong class="schema-faq-question"><strong>Dlaczego projekt ogrzewania podłogowego jest tak ważny dla wylewki?</strong></strong> <p class="schema-faq-answer">Projekt określa rozstaw rur, lokalizację dylatacji, temperatury pracy i izolację. Bez niego łatwo popełnić błędy prowadzące do nierównego grzania lub pęknięć wylewki.</p> </div> </div>



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



<p class="wp-block-paragraph"><strong>Wylewka betonowa na ogrzewanie podłogowe</strong>&nbsp;to serce całego systemu. Jej prawidłowe zaprojektowanie i wykonanie to inwestycja w dekady komfortu cieplnego i bezawaryjnej pracy. Pamiętaj o kluczowych filarach: wyborze materiału dopasowanego do potrzeb (anhydryt to często najlepszy wybór), zachowaniu&nbsp;<strong>optymalnej grubości 5-7 cm</strong>, obowiązkowym&nbsp;<strong>zbrojeniu</strong>&nbsp;(dla cementowych) i&nbsp;<strong>próbie ciśnienia</strong>, a przede wszystkim – o&nbsp;<strong>cierpliwym i rozważnym pierwszym uruchomieniu ogrzewania</strong>. Zlecając te prace, wymagaj od ekipy nie tylko doświadczenia w betoniarstwie, ale również&nbsp;<strong>znajomości specyfiki współpracy z ogrzewaniem podłogowym</strong>. Dzięki temu twoja podłoga będzie nie tylko ciepła, ale także trwała i solidna.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="7IayCEsLN9"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=NMnTBwO4ld#?secret=7IayCEsLN9" data-secret="7IayCEsLN9" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">Wylewka betonowa na ogrzewanie podłogowe.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Czy ogrzewanie podłogowe może być jedynym źródłem ciepła w domu? Analiza dla polskich warunków</title>
		<link>https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/</link>
					<comments>https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Thu, 03 Apr 2025 09:34:37 +0000</pubDate>
				<category><![CDATA[Budownictwo]]></category>
		<category><![CDATA[Energooszczędność]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Koszty ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie budynków]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Ogrzewanie wodne]]></category>
		<category><![CDATA[Podłogówka]]></category>
		<category><![CDATA[Pompy ciepła]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[izolacja termiczna]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[koszty ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[podłogówka w domu]]></category>
		<category><![CDATA[polskie warunki klimatyczne]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt instalacji]]></category>
		<category><![CDATA[system grzewczy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2482</guid>

					<description><![CDATA[<p>Planujesz ogrzewanie domu i zastanawiasz się nad nowoczesnymi rozwiązaniami? W polskich warunkach klimatycznych coraz więcej osób wybiera podłogówkę, doceniając jej komfort i efektywność. Czy ogrzewanie podłogowe może być jedynym źródłem ciepła w domu? W naszym artykule analizujemy, jak sprawdza się ten system w nowych i starszych budynkach, porównujemy koszty z tradycyjnymi grzejnikami i podpowiadamy, co zrobić, by działał bez zarzutu nawet w mroźne zimy.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/">Czy ogrzewanie podłogowe może być jedynym źródłem ciepła w domu? Analiza dla polskich warunków</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: #38bdf8;
    --rk-intro-green: #059669;
    --rk-intro-green-light: #ecfdf5;
    --rk-intro-gray: #64748b;
    --rk-intro-border: #e2e8f0;
    --rk-intro-bg: #ffffff;
    --rk-intro-panel: #f8fafc;
}

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

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

.rk-intro-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(56, 189, 248, 0.15);
    color: var(--rk-intro-sky);
    padding: 6px 14px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

.rk-intro-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.2;
    color: #ffffff;
}

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

.rk-intro-hook strong {
    color: var(--rk-intro-sky);
}

/* Ciało kontenera */
.rk-intro-body {
    padding: 40px 45px;
}

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

/* Lewa Kolumna - Szybka Odpowiedź */
.rk-qa-box {
    background: var(--rk-intro-green-light);
    border-left: 5px solid var(--rk-intro-green);
    padding: 25px 30px;
    border-radius: 0 12px 12px 0;
    margin-bottom: 30px;
}

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

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

.rk-qa-text strong {
    font-weight: 800;
}

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

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

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

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

/* Prawa Kolumna - Nawigator Narzędzi */
.rk-tools-panel {
    background: var(--rk-intro-panel);
    border: 1px solid var(--rk-intro-border);
    border-radius: 12px;
    padding: 25px;
}

.rk-tools-panel h3 {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-intro-dark);
    margin: 0 0 20px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--rk-intro-border);
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-tools-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-tool-item {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    padding: 12px;
    background: #ffffff;
    border: 1px solid var(--rk-intro-border);
    border-radius: 8px;
    transition: background 0.2s, border-color 0.2s;
}

.rk-tool-item:hover {
    background: var(--rk-intro-blue-light);
    border-color: var(--rk-intro-blue);
}

.rk-tool-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    background: var(--rk-intro-panel);
    color: var(--rk-intro-blue);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-tool-content h4 {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-intro-dark);
    margin: 0 0 4px 0;
}

.rk-tool-content p {
    font-size: 12px;
    color: var(--rk-intro-gray);
    margin: 0;
    line-height: 1.4;
}

/* Tagi SEO Long-Tail pod spodem */
.rk-seo-tags-area {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px dashed var(--rk-intro-border);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rk-mat-tag {
    display: inline-block;
    background: #ffffff;
    color: var(--rk-intro-gray);
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid var(--rk-intro-border);
    cursor: default;
}

.rk-mat-tag:hover {
    background: var(--rk-intro-panel);
    color: var(--rk-intro-dark);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-intro-header { padding: 30px 20px; }
    .rk-intro-header h2 { font-size: 26px; }
    .rk-intro-body { padding: 30px 20px; }
    .rk-intro-grid { grid-template-columns: 1fr; gap: 30px; }
    .rk-qa-box { padding: 20px; border-radius: 0 8px 8px 0; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#article-intro",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/"
    },
    "headline": "Czy ogrzewanie podłogowe może być jedynym źródłem ciepła w domu? Analiza dla polskich warunków",
    "description": "Zastanawiasz się, czy wodne ogrzewanie podłogowe wystarczy na polskie mrozy? Szybka odpowiedź i kompleksowa analiza z interaktywnymi kalkulatorami mocy.",
    "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-16",
    "dateModified": "2026-06-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#dataset-intro",
    "name": "Parametry brzegowe podłogówki jako samodzielnego źródła ciepła",
    "description": "Baza wstępnych założeń technicznych weryfikujących skuteczność systemu płaszczyznowego w nowoczesnym budownictwie w Polsce.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy ogrzewanie podłogowe wystarczy na mróz",
      "sama podłogówka czy z grzejnikami",
      "ogrzewanie podłogowe jako jedyne źródło ciepła",
      "projektowanie podłogówki WT 2021",
      "audyt OZC"
    ],
    "measurementTechnique": "Określanie wydajności systemu grzewczego w oparciu o zgodność z najnowszymi warunkami technicznymi WT 2021 i rzetelne obliczenia strat ciepła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wodne ogrzewanie podłogowe jest wystarczającym i samodzielnym źródłem ciepła.",
        "Warunek konieczny: Budynek spełniający izolacyjność normy WT 2021.",
        "Warunek krytyczny: Oparcie instalacji na indywidualnym audycie OZC."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#webapp-intro",
    "name": "Nawigator Bazy Wiedzy HVAC",
    "description": "Interaktywny moduł wprowadzający ułatwiający nawigację po narzędziach obliczeniowych artykułu (Kalkulator OZC, Symulator mrozów, Skaner błędów).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="rk-intro-module">
    
    <div class="rk-intro-header">
        <div class="rk-intro-badge">Przewodnik Inwestora</div>
        <h2>Czy ogrzewanie podłogowe może być jedynym źródłem ciepła w domu? Analiza dla polskich warunków</h2>
        <p class="rk-intro-hook">
            Zastanawiasz się, czy przy -20°C na zewnątrz <strong>sama podłogówka wystarczy</strong>, by w salonie było ciepło? Odpowiedź brzmi: tak, ale tylko w budynkach, w których instalatorzy nie łamią praw fizyki. Zobacz dowody inżynierskie.
        </p>
    </div>

    <div class="rk-intro-body">
        
        <div class="rk-intro-grid">
            
            <div class="rk-intro-content">
                
                <div class="rk-qa-box">
                    <h3 class="rk-qa-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"><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ź
                    </h3>
                    <p class="rk-qa-text">
                        <strong>Wodne ogrzewanie podłogowe może samodzielnie i bezproblemowo ogrzać dom w Polsce</strong> (nawet przy skrajnych mrozach), pod warunkiem że budynek spełnia standardy izolacyjności WT 2021, a parametry instalacji zostały wyliczone na podstawie rzetelnego <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" style="color:var(--rk-intro-green);">audytu OZC</a>. Rezygnacja z kaloryferów to dziś technologiczny standard, a nie ryzykowny eksperyment.
                    </p>
                </div>

                <div class="rk-intro-text">
                    <p>
                        Wielu inwestorów przed rozpoczęciem budowy zadaje sobie kluczowe pytanie o sens i ryzyko montażu dodatkowych grzejników &#8222;na wszelki wypadek&#8221;. Niestety, w branży budowlanej narosło wokół tego tematu mnóstwo <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">szkodliwych mitów instalatorskich</a>. 
                    </p>
                    <p>
                        W poniższym artykule rozprawiamy się z domysłami. Stworzyliśmy kompleksowy poradnik, w którym suche fakty ustępują miejsca matematyce i zaawansowanym narzędziom. Dołączyliśmy do tekstu aplikacje, dzięki którym <strong>samodzielnie sprawdzisz parametry swojego budynku.</strong>
                    </p>
                </div>

            </div>

            <div class="rk-tools-panel">
                <h3>
                    <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="21 8 21 21 3 21 3 8"></polyline><rect x="1" y="3" width="22" height="5"></rect><line x1="10" y1="12" x2="14" y2="12"></line></svg>
                    W dalszej części artykułu:
                </h3>
                
                <div class="rk-tools-list">
                    <div class="rk-tool-item">
                        <div class="rk-tool-icon">
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.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>
                        </div>
                        <div class="rk-tool-content">
                            <h4>Kalkulator Mocy Posadzki</h4>
                            <p>Interaktywne narzędzie weryfikujące, czy dla Twojego metrażu spełnisz normę PN-EN 1264.</p>
                        </div>
                    </div>
                    
                    <div class="rk-tool-item">
                        <div class="rk-tool-icon">
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.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-tool-content">
                            <h4>Eksplorator Stref Klimatycznych</h4>
                            <p>Symulator różnic hydraulicznych między łagodnym Wrocławiem a mroźnymi Suwałkami.</p>
                        </div>
                    </div>
                    
                    <div class="rk-tool-item">
                        <div class="rk-tool-icon">
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.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-tool-content">
                            <h4>Skaner Gotowych Projektów</h4>
                            <p>Case study demaskujące błędy układów sprzedawanych masowo w internecie.</p>
                        </div>
                    </div>
                </div>
            </div>

        </div>

        <div class="rk-seo-tags-area">
            <span class="rk-mat-tag"># czy ogrzewanie podłogowe wystarczy na mróz</span>
            <span class="rk-mat-tag"># sama podłogówka czy z grzejnikami</span>
            <span class="rk-mat-tag"># ogrzewanie podłogowe jako jedyne źródło ciepła</span>
            <span class="rk-mat-tag"># projektowanie podłogówki WT 2021</span>
        </div>

    </div>
</div>



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

.rk-frost-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-frost-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-frost-blue);
    box-shadow: 0 10px 30px -10px rgba(2, 132, 199, 0.15);
    overflow: hidden;
}

/* Nagłówek */
.rk-frost-header {
    padding: 35px 40px 25px;
    background: var(--rk-frost-dark);
    color: #ffffff;
}

.rk-frost-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(56, 189, 248, 0.15);
    color: var(--rk-frost-sky);
    padding: 6px 14px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

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

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

/* Układ główny */
.rk-frost-body {
    padding: 35px 40px;
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 40px;
    align-items: start;
}

/* Lewa Kolumna - Tekst i Ostrzeżenia */
.rk-frost-content {
    display: flex;
    flex-direction: column;
}

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

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

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

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

/* Karty Ostrzegawcze (Konsekwencje) */
.rk-warning-grid {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 10px;
}

.rk-warning-card {
    display: flex;
    gap: 15px;
    background: #ffffff;
    border: 1px dashed var(--rk-frost-red);
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-warning-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    background: var(--rk-frost-red-light);
    color: var(--rk-frost-red);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-warning-text h4 {
    margin: 0 0 5px 0;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-frost-dark);
}

.rk-warning-text p {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
}

/* Prawa Kolumna - Wrapper dla Symulatora i SEO */
.rk-sidebar-right {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Symulator Wizualny */
.rk-sim-panel {
    background: var(--rk-frost-panel);
    border: 1px solid var(--rk-frost-border);
    border-radius: 12px;
    padding: 25px;
    text-align: center;
}

.rk-sim-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-frost-dark);
    margin-bottom: 20px;
    letter-spacing: 0.5px;
}

/* Toggle Switch */
.rk-toggle-wrapper {
    display: flex;
    background: #e2e8f0;
    border-radius: 8px;
    padding: 4px;
    margin-bottom: 25px;
    position: relative;
}

.rk-toggle-btn {
    flex: 1;
    padding: 10px 5px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-frost-gray);
    background: transparent;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    z-index: 2;
    transition: color 0.3s;
}

.rk-toggle-btn.active {
    color: var(--rk-frost-blue);
}

.rk-toggle-slider {
    position: absolute;
    top: 4px;
    left: 4px;
    width: calc(50% - 4px);
    height: calc(100% - 8px);
    background: #ffffff;
    border-radius: 6px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
}

.rk-toggle-wrapper.state-old .rk-toggle-slider {
    transform: translateX(100%);
    background: var(--rk-frost-red-light);
}

/* Dynamiczne Parametry */
.rk-dyn-metrics {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-dyn-item {
    background: #ffffff;
    border: 1px solid var(--rk-frost-border);
    padding: 12px;
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s;
}

.rk-dyn-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-frost-gray);
}

.rk-dyn-value {
    font-size: 16px;
    font-weight: 900;
    font-family: 'Courier New', Courier, monospace;
}

/* Stany Wizualizatora */
.rk-sim-panel.state-wt2021 .val-safe { color: var(--rk-frost-green); }
.rk-sim-panel.state-old .val-danger { color: var(--rk-frost-red); }
.rk-sim-panel.state-old .rk-dyn-item.alert-item { border-color: var(--rk-frost-red); background: var(--rk-frost-red-light); }

/* SVG Termometr */
.rk-svg-thermo {
    width: 80px;
    height: 80px;
    margin: 0 auto 15px;
    transition: all 0.3s;
}

.rk-sim-panel.state-wt2021 .thermo-fill { fill: var(--rk-frost-green); height: 40%; transition: all 0.5s; }
.rk-sim-panel.state-old .thermo-fill { fill: var(--rk-frost-red); height: 95%; transition: all 0.5s; }

/* Nowy blok SEO w prawej kolumnie */
.rk-seo-note {
    background: #ffffff;
    border: 1px dashed var(--rk-frost-border);
    border-radius: 12px;
    padding: 20px;
}

.rk-seo-note h4 {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-frost-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 12px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-seo-note p {
    font-size: 13px;
    color: var(--rk-frost-gray);
    line-height: 1.6;
    margin: 0 0 10px 0;
}

.rk-seo-note p:last-child {
    margin: 0;
}

.rk-seo-note strong {
    color: var(--rk-frost-blue);
    font-weight: 700;
}

/* Responsywność z inteligentnym sortowaniem (Order) */
@media (max-width: 768px) {
    .rk-frost-header { padding: 25px 20px; }
    .rk-frost-header h2 { font-size: 22px; }
    .rk-frost-body { 
        display: flex; 
        flex-direction: column; 
        gap: 30px; 
        padding: 25px 20px; 
    }
    .rk-sidebar-right { display: contents; } /* Rozbija wrapper na mobile, by sterować elementami z osobna */
    
    .rk-sim-panel { order: 1; }         /* 1. Symulator na samej górze */
    .rk-frost-content { order: 2; }     /* 2. Tekst główny i ostrzeżenia */
    .rk-seo-note { order: 3; }          /* 3. Notatka SEO na samym dole */
    
    .rk-warning-card { flex-direction: column; gap: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#article-mrozy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/"
    },
    "headline": "Czy ogrzewanie podłogowe wystarczy na mrozy w Polsce bez tradycyjnych grzejników?",
    "description": "Dowiedz się, dlaczego ogrzewanie podłogowe w standardzie WT 2021 bez problemu ogrzeje dom w polskim klimacie. Sprawdź limity normy PN-EN 1264 i uniknij przegrzewania jastrychu.",
    "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-16",
    "dateModified": "2026-06-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#dataset-mrozy",
    "name": "Wskaźniki gęstości strumienia cieplnego dla ogrzewania płaszczyznowego",
    "description": "Porównanie parametrów pracy instalacji podłogowej z pompą ciepła w budynkach o różnym standardzie izolacji w odniesieniu do granicy 100 W/m² wg PN-EN 1264.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna gęstość strumienia cieplnego",
      "temperatura zasilania podłogówki przy minus 20",
      "dlaczego pompa ciepła zużywa dużo prądu zimą",
      "bezwładność cieplna wylewki betonowej",
      "współczynnik efektywności cop pompy"
    ],
    "measurementTechnique": "Określenie zdolności grzewczej posadzki (W/m2) w odniesieniu do skrajnych temperatur zewnętrznych -20°C dla różnych standardów izolacyjności budynku.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Maksymalna dopuszczalna moc grzewcza w strefie przebywania ludzi: 100 W/m2 przy 29°C.",
        "Straty ciepła w nowoczesnym domu (WT 2021): ~40 W/m2.",
        "Zalecana temperatura zasilania przy mrozach: 35°C."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#webapp-mrozy",
    "name": "Symulator Fizyki Budowli: Podłogówka vs Mróz (-20°C)",
    "description": "Interaktywna weryfikacja, czy przy zadanych stratach ciepła i skrajnym mrozie, instalacja płaszczyznowa utrzyma normatywną temperaturę posadzki bez obniżania COP.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-frost-container" id="rk-frost-module">
    
    <div class="rk-frost-header">
        <div class="rk-frost-badge">Fizyka Budowli</div>
        <h2>Czy ogrzewanie podłogowe wystarczy na mrozy w Polsce bez tradycyjnych grzejników?</h2>
        <p>
            Tak, wodne ogrzewanie podłogowe jest w stanie samodzielnie ogrzać dom podczas skrajnych mrozów w Polsce (np. -20°C), pod warunkiem że <strong>maksymalna gęstość strumienia cieplnego posadzki (q)</strong> pokrywa jednostkowe straty ciepła pomieszczenia. 
        </p>
    </div>

    <div class="rk-frost-body">
        
        <div class="rk-frost-content">
            <p>
                Według <strong>normy PN-EN 1264</strong>, graniczna temperatura powierzchni podłogi w strefie stałego przebywania ludzi wynosi 29°C, co przy temperaturze powietrza wewnątrz rzędu 20°C pozwala uzyskać maksymalną moc grzewczą na poziomie <strong>100 W/m²</strong>. 
            </p>
            <p>
                W nowoczesnym budownictwie WT 2021 projektowe straty ciepła rzadko przekraczają 40 W/m², co oznacza, że <strong>system posiada ponad 60% rezerwy mocy</strong> bez konieczności montażu kaloryferów. Jeśli dom posiada odpowiednią izolację przegród zewnętrznych, podłoga <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">zasilana parametrem 35°C</a> wygeneruje dokładnie tyle energii, ile budynek traci przez ściany i wentylację.
            </p>

            <h3>Co się stanie, gdy w starym domu nie dasz grzejników?</h3>
            <p>
                Niedogrzanie przy -20°C nie wynika z ograniczeń samej technologii, lecz z ignorowania fizyki budynku. <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">Kluczowe konsekwencje błędu instalatora to:</a>
            </p>

            <div class="rk-warning-grid">
                <div class="rk-warning-card">
                    <div class="rk-warning-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="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-warning-text">
                        <h4>Przegrzewanie jastrychu</h4>
                        <p>Wymuszanie na systemie zasilania > 35°C prowadzi do pękania płytek i niezdrowego dla krążenia &#8222;syndromu ciężkich nóg&#8221; (posadzka parzy).</p>
                    </div>
                </div>

                <div class="rk-warning-card">
                    <div class="rk-warning-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"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    </div>
                    <div class="rk-warning-text">
                        <h4>Skrajna bezwładność cieplna</h4>
                        <p>Przegrzana <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">wylewka betonowa</a> bardzo powoli stygnie, co uniemożliwia błyskawiczną reakcję automatyki na nagłe zyski słoneczne przez okna.</p>
                    </div>
                </div>

                <div class="rk-warning-card">
                    <div class="rk-warning-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 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-warning-text">
                        <h4>Mordercze rachunki za prąd</h4>
                        <p>Zmuszenie <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a> do produkcji wody powyżej 40°C podczas mrozów drastycznie obniża współczynnik efektywności COP.</p>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-sidebar-right">
            
            <div class="rk-sim-panel state-wt2021" id="frost-simulator">
                <div class="rk-sim-title">Symulator przy -20°C na zewnątrz</div>

                <div class="rk-toggle-wrapper" id="house-toggle">
                    <div class="rk-toggle-slider"></div>
                    <button class="rk-toggle-btn active" data-state="wt2021">Dom WT 2021</button>
                    <button class="rk-toggle-btn" data-state="old">Stary Dom</button>
                </div>

                <svg class="rk-svg-thermo" viewBox="0 0 50 100">
                    <rect x="20" y="5" width="10" height="75" rx="5" fill="#e2e8f0"></rect>
                    <circle cx="25" cy="85" r="12" fill="#cbd5e1"></circle>
                    <rect x="22" y="30" width="6" height="55" class="thermo-fill"></rect>
                    <circle cx="25" cy="85" r="8" class="thermo-fill"></circle>
                </svg>

                <div class="rk-dyn-metrics">
                    <div class="rk-dyn-item" id="sim-power-box">
                        <span class="rk-dyn-label">Zapotrzebowanie (q)</span>
                        <span class="rk-dyn-value val-safe" id="sim-power">40 W/m²</span>
                    </div>
                    
                    <div class="rk-dyn-item" id="sim-temp-box">
                        <span class="rk-dyn-label">Temp. Posadzki</span>
                        <span class="rk-dyn-value val-safe" id="sim-temp">24°C</span>
                    </div>

                    <div class="rk-dyn-item" id="sim-cop-box">
                        <span class="rk-dyn-label">Współczynnik COP</span>
                        <span class="rk-dyn-value val-safe" id="sim-cop">3.8</span>
                    </div>
                </div>
            </div>

            <div class="rk-seo-note">
                <h4>
                    <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><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
                    Wskazówka Eksperta
                </h4>
                <p>Wielu inwestorów pyta, <strong>dlaczego pompa ciepła zużywa dużo prądu zimą</strong>. Odpowiedź niemal zawsze kryje się w błędnym projekcie hydraulicznym. Wymuszenie przez brak izolacji wyższej krzywej grzewczej to zabójstwo dla kompresora.</p>
                <p>Optymalna <strong>temperatura zasilania podłogówki przy minus 20</strong> nie powinna przekraczać 35°C-38°C. Pamiętaj też, że ogromna <strong>bezwładność cieplna wylewki betonowej</strong> (jastrychu) pozwala układowi &#8222;magazynować&#8221; energię wyprodukowaną w tańszej taryfie prądu.</p>
            </div>

        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggleWrapper = document.getElementById('house-toggle');
    const buttons = toggleWrapper.querySelectorAll('.rk-toggle-btn');
    const simPanel = document.getElementById('frost-simulator');

    // Pola wyników
    const elPower = document.getElementById('sim-power');
    const elTemp = document.getElementById('sim-temp');
    const elCop = document.getElementById('sim-cop');
    
    const boxPower = document.getElementById('sim-power-box');
    const boxTemp = document.getElementById('sim-temp-box');
    const boxCop = document.getElementById('sim-cop-box');

    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            // Animacja Toggle Switcha
            buttons.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            const state = this.getAttribute('data-state');

            if (state === 'wt2021') {
                toggleWrapper.classList.remove('state-old');
                simPanel.classList.remove('state-old');
                simPanel.classList.add('state-wt2021');

                // Aktualizacja Danych
                elPower.textContent = '40 W/m²';
                elPower.className = 'rk-dyn-value val-safe';
                boxPower.classList.remove('alert-item');

                elTemp.textContent = '24°C';
                elTemp.className = 'rk-dyn-value val-safe';
                boxTemp.classList.remove('alert-item');

                elCop.textContent = '3.8';
                elCop.className = 'rk-dyn-value val-safe';
                boxCop.classList.remove('alert-item');

            } else {
                toggleWrapper.classList.add('state-old');
                simPanel.classList.remove('state-wt2021');
                simPanel.classList.add('state-old');

                // Aktualizacja Danych na "Ostrzegawcze"
                elPower.textContent = '> 110 W/m²';
                elPower.className = 'rk-dyn-value val-danger';
                boxPower.classList.add('alert-item');

                elTemp.textContent = '34°C (!)';
                elTemp.className = 'rk-dyn-value val-danger';
                boxTemp.classList.add('alert-item');

                elCop.textContent = 'Spadek do 2.1';
                elCop.className = 'rk-dyn-value val-danger';
                boxCop.classList.add('alert-item');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-zone-dark: #0f172a;
    --rk-zone-blue: #0284c7;
    --rk-zone-sky: #38bdf8;
    --rk-zone-blue-light: #f0f9ff;
    --rk-zone-green: #059669;
    --rk-zone-gray: #64748b;
    --rk-zone-border: #e2e8f0;
    --rk-zone-bg: #ffffff;
    --rk-zone-panel: #f8fafc;
}

.rk-zone-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-zone-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-zone-blue);
    box-shadow: 0 10px 30px -10px rgba(2, 132, 199, 0.15);
    overflow: hidden;
}

/* Nagłówek */
.rk-zone-header {
    padding: 35px 40px 25px;
    background: var(--rk-zone-dark);
    color: #ffffff;
}

.rk-zone-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(56, 189, 248, 0.15);
    color: var(--rk-zone-sky);
    padding: 6px 14px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

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

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

/* Układ Ciała */
.rk-zone-body {
    display: grid;
    grid-template-columns: 300px 1fr;
    background: var(--rk-zone-bg);
}

/* Lewa Kolumna - Nawigacja (Przyciski stref) */
.rk-zone-nav {
    background: var(--rk-zone-panel);
    border-right: 1px solid var(--rk-zone-border);
    padding: 25px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-zone-btn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 15px 18px;
    background: #ffffff;
    border: 1px solid var(--rk-zone-border);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: left;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-zone-btn:hover {
    border-color: #cbd5e1;
    background: var(--rk-zone-panel);
}

.rk-zone-btn.active {
    background: var(--rk-zone-blue-light);
    border-color: var(--rk-zone-blue);
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.1);
}

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

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

.rk-btn-subtitle {
    font-size: 12px;
    color: var(--rk-zone-gray);
    font-weight: 500;
}

/* Prawa Kolumna - Treść */
.rk-zone-content {
    padding: 35px 40px;
}

.rk-zone-panel {
    display: none;
    animation: fadeIn 0.4s ease forwards;
}

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

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

/* Kafelki z parametrami na samej górze wybranej strefy */
.rk-zone-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 25px;
}

.rk-metric-box {
    background: #ffffff;
    border: 1px solid var(--rk-zone-border);
    border-radius: 8px;
    padding: 15px;
    text-align: center;
}

.rk-metric-icon {
    color: var(--rk-zone-blue);
    margin-bottom: 8px;
}

.rk-metric-val {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-zone-dark);
    margin-bottom: 4px;
    font-family: 'Courier New', Courier, monospace;
}

.rk-metric-label {
    font-size: 11px;
    color: var(--rk-zone-gray);
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
}

/* Treść tekstowa strefy */
.rk-zone-text h3 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-zone-blue);
    margin: 0 0 10px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

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

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

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

.rk-zone-text a:hover {
    color: #0369a1;
    border-color: var(--rk-zone-blue);
}

/* Podsumowanie eksperta na dole całego kontenera */
.rk-zone-footer {
    background: #ffffff;
    padding: 30px 40px;
    border-top: 1px dashed var(--rk-zone-border);
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.rk-footer-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    background: var(--rk-zone-blue-light);
    color: var(--rk-zone-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-footer-content h4 {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-zone-dark);
}

.rk-footer-content p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-zone-gray);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-zone-header { padding: 25px 20px; }
    .rk-zone-header h2 { font-size: 22px; }
    
    .rk-zone-body {
        grid-template-columns: 1fr;
        display: flex;
        flex-direction: column;
    }
    
    .rk-zone-nav {
        border-right: none;
        border-bottom: 1px solid var(--rk-zone-border);
        padding: 20px;
    }
    
    .rk-zone-content { padding: 25px 20px; }
    .rk-zone-metrics { grid-template-columns: 1fr; gap: 10px; }
    .rk-zone-footer { padding: 25px 20px; flex-direction: column; text-align: center; align-items: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#article-strefy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/"
    },
    "headline": "Jak dokładnie parametry obliczeniowe 5 stref klimatycznych w Polsce determinują moc podłogówki?",
    "description": "Zgodnie z normą PN-EN 12831, strefy klimatyczne od I do V definiują różnice temperatur (ΔT). Zobacz wytyczne doboru rozstawu rur, temperatury zasilania i izolacji dla Twojego regionu.",
    "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-16",
    "dateModified": "2026-06-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#dataset-strefy",
    "name": "Zestawienie obliczeniowe dla 5 stref klimatycznych w Polsce",
    "description": "Baza technicznych parametrów projektowych (ΔT, T_zewn, T_śr) dla instalacji ogrzewania płaszczyznowego wg PN-EN 12831.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "strefy klimatyczne polska PN-EN 12831",
      "projektowa temperatura zewnętrzna",
      "średnia roczna temperatura zewnętrzna",
      "rozstaw rur a strefa klimatyczna",
      "moc grzewcza posadzki z m2"
    ],
    "measurementTechnique": "Określenie delty temperatur (ΔT) niezbędnej do utrzymania normatywnej temperatury wnętrza +20°C w odniesieniu do skrajnych temperatur projektowych poszczególnych stref.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Strefa I: T_zewn -16°C, ΔT 36K",
        "Strefa II: T_zewn -18°C, ΔT 38K",
        "Strefa III: T_zewn -20°C, ΔT 40K",
        "Strefa IV: T_zewn -22°C, ΔT 42K",
        "Strefa V: T_zewn -24°C, ΔT 44K"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#webapp-strefy",
    "name": "Eksplorator Stref Klimatycznych HVAC",
    "description": "Aplikacja pozwalająca inwestorowi wybrać strefę klimatyczną i odczytać jej wpływ na parametry projektowe ogrzewania podłogowego (rozstaw rur, temperaturę zasilania, opór cieplny izolacji).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-zone-container" id="rk-zone-module">
    
    <div class="rk-zone-header">
        <div class="rk-zone-badge">Eksplorator Stref Klimatycznych</div>
        <h2>Jak parametry obliczeniowe 5 stref klimatycznych determinują moc podłogówki?</h2>
        <p>
            Zgodnie z <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/" style="color:#38bdf8;">normą PN-EN 12831</a>, strefy klimatyczne decydują o tym, jak dużą różnicę temperatur (ΔT) musi pokonać system płaszczyznowy. Wybierz strefę, aby sprawdzić precyzyjne wytyczne projektowe.
        </p>
    </div>

    <div class="rk-zone-body">
        
        <div class="rk-zone-nav" id="rk-zone-tabs">
            <button class="rk-zone-btn active" data-target="zone1">
                <span class="rk-btn-title">Strefa I</span>
                <span class="rk-btn-subtitle">Pas Nadmorski</span>
            </button>
            <button class="rk-zone-btn" data-target="zone2">
                <span class="rk-btn-title">Strefa II</span>
                <span class="rk-btn-subtitle">Polska Centralna i Zach.</span>
            </button>
            <button class="rk-zone-btn" data-target="zone3">
                <span class="rk-btn-title">Strefa III</span>
                <span class="rk-btn-subtitle">Polska Południowa i Wsch.</span>
            </button>
            <button class="rk-zone-btn" data-target="zone4">
                <span class="rk-btn-title">Strefa IV</span>
                <span class="rk-btn-subtitle">Białostocczyzna</span>
            </button>
            <button class="rk-zone-btn" data-target="zone5">
                <span class="rk-btn-title">Strefa V</span>
                <span class="rk-btn-subtitle">Suwalszczyzna i Góry</span>
            </button>
        </div>

        <div class="rk-zone-content">
            
            <div class="rk-zone-panel active" id="content-zone1">
                <div class="rk-zone-metrics">
                    <div class="rk-metric-box">
                        <div class="rk-metric-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>
                        <div class="rk-metric-val">-16°C</div>
                        <div class="rk-metric-label">T_zewn</div>
                    </div>
                    <div class="rk-metric-box">
                        <div class="rk-metric-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-metric-val">+8,5°C</div>
                        <div class="rk-metric-label">T_śr roczna</div>
                    </div>
                    <div class="rk-metric-box">
                        <div class="rk-metric-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="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon></svg></div>
                        <div class="rk-metric-val">36 K</div>
                        <div class="rk-metric-label">Delta (ΔT)</div>
                    </div>
                </div>
                <div class="rk-zone-text">
                    <h3>Charakterystyka inżynierska</h3>
                    <p>Jest to najłagodniejsza strefa w Polsce, obejmująca m.in. Świnoujście, Kołobrzeg, Koszalin oraz Szczecin. Bliskość Morza Bałtyckiego działa jak gigantyczny bufor termiczny, co sprawia, że amplitudy temperatur są tutaj najniższe w kraju.</p>
                    <h3>Wpływ na projekt podłogówki</h3>
                    <p>Przy projektowej temperaturze -16°C, ΔT wynosi zaledwie 36 K (dla pokoju 20°C). Pozwala to na zaprojektowanie systemu o ekstremalnie niskiej temperaturze zasilania – często wystarczy zaledwie 30-32°C na zasilaniu <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacza</a> przy maksymalnym mrozie, aby pokryć 100% strat ciepła. <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/">Rozstaw rur</a> w strefach centralnych można bezpiecznie rozrzedzić do 20 cm, co drastycznie obniża koszty inwestycyjne (mniejsza liczba pętli, mniejsze opory przepływu).</p>
                </div>
            </div>

            <div class="rk-zone-panel" id="content-zone2">
                <div class="rk-zone-metrics">
                    <div class="rk-metric-box">
                        <div class="rk-metric-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>
                        <div class="rk-metric-val">-18°C</div>
                        <div class="rk-metric-label">T_zewn</div>
                    </div>
                    <div class="rk-metric-box">
                        <div class="rk-metric-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-metric-val">+8,2°C</div>
                        <div class="rk-metric-label">T_śr roczna</div>
                    </div>
                    <div class="rk-metric-box">
                        <div class="rk-metric-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="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon></svg></div>
                        <div class="rk-metric-val">38 K</div>
                        <div class="rk-metric-label">Delta (ΔT)</div>
                    </div>
                </div>
                <div class="rk-zone-text">
                    <h3>Charakterystyka inżynierska</h3>
                    <p>Największa strefa klimatyczna w Polsce, obejmująca kluczowe aglomeracje: Warszawę, Poznań, Wrocław, Łódź, Zieloną Górę oraz Toruń. Klimat charakteryzuje się dużą stabilnością z umiarkowanymi wpływami mas powietrza atlantyckiego.</p>
                    <h3>Wpływ na projekt podłogówki</h3>
                    <p>Obliczenia realizuje się dla ΔT = 38 K. Jest to strefa referencyjna dla większości gotowych systemów grzewczych. Podłogówka jako jedyne źródło ciepła pracuje tutaj w optymalnym punkcie pracy <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a> (wysoki współczynnik SCOP). Standardowy rozstaw rur 15 cm w domach WT 2021 gwarantuje pełne bezpieczeństwo cieplne przy zachowaniu temperatury posadzki na poziomie zaledwie 24-26°C przez większość zimy. Temperatura projektowa zasilania to typowe 35°C.</p>
                </div>
            </div>

            <div class="rk-zone-panel" id="content-zone3">
                <div class="rk-zone-metrics">
                    <div class="rk-metric-box">
                        <div class="rk-metric-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>
                        <div class="rk-metric-val">-20°C</div>
                        <div class="rk-metric-label">T_zewn</div>
                    </div>
                    <div class="rk-metric-box">
                        <div class="rk-metric-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-metric-val">+7,8°C</div>
                        <div class="rk-metric-label">T_śr roczna</div>
                    </div>
                    <div class="rk-metric-box">
                        <div class="rk-metric-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="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon></svg></div>
                        <div class="rk-metric-val">40 K</div>
                        <div class="rk-metric-label">Delta (ΔT)</div>
                    </div>
                </div>
                <div class="rk-zone-text">
                    <h3>Charakterystyka inżynierska</h3>
                    <p>Obejmuje Kraków, Katowice, Kielce, Lublin, Rzeszów, Radom, Olsztyn oraz Gdynię. Charakteryzuje się rosnącym wpływem klimatu kontynentalnego, co oznacza częstsze i dłuższe fale mrozów w okresie styczniowo-lutowym.</p>
                    <h3>Wpływ na projekt podłogówki</h3>
                    <p>W tej strefie ΔT wzrasta do 40 K. Podłogówka projektowana jako jedyne źródło ciepła musi bezwzględnie posiadać zagęszczone <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/">strefy brzegowe</a> (rozstaw 10 cm) wzdłuż wszystkich ścian zewnętrznych oraz pod dużymi oknami HS. Aby utrzymać parametr zasilania na energooszczędnym poziomie 35°C, projektant musi precyzyjnie dobrać rotametry na rozdzielaczu, zwiększając przepływ masowy w pomieszczeniach o wyższych stratach, aby zapobiec konieczności podnoszenia temperatury wody do 40°C.</p>
                </div>
            </div>

            <div class="rk-zone-panel" id="content-zone4">
                <div class="rk-zone-metrics">
                    <div class="rk-metric-box">
                        <div class="rk-metric-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>
                        <div class="rk-metric-val">-22°C</div>
                        <div class="rk-metric-label">T_zewn</div>
                    </div>
                    <div class="rk-metric-box">
                        <div class="rk-metric-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-metric-val">+7,2°C</div>
                        <div class="rk-metric-label">T_śr roczna</div>
                    </div>
                    <div class="rk-metric-box">
                        <div class="rk-metric-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="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon></svg></div>
                        <div class="rk-metric-val">42 K</div>
                        <div class="rk-metric-label">Delta (ΔT)</div>
                    </div>
                </div>
                <div class="rk-zone-text">
                    <h3>Charakterystyka inżynierska</h3>
                    <p>Obejmuje m.in. Białystok, Łomżę, Ostrołękę oraz obszary u podnóża Sudetów i Karpat. Silny wpływ mas powietrza polarno-kontynentalnego. Zimy są tutaj długie, a spadki temperatur poniżej -15°C są normą.</p>
                    <h3>Wpływ na projekt podłogówki</h3>
                    <p>Projektowa różnica temperatur wynosi aż ΔT = 42 K. Samodzielna podłogówka wymaga rygorystycznego podejścia do <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">oporu cieplnego posadzki</a>. Narzucenie inwestorowi grubych desek warstwowych o oporze R > 0,10 m²K/W może uniemożliwić dogrzanie domu przy -22°C bez przekroczenia normatywnych 29°C. Standardem staje się rozstaw rur co 10 cm i projektowanie zasilania na poziomie 38-40°C.</p>
                </div>
            </div>

            <div class="rk-zone-panel" id="content-zone5">
                <div class="rk-zone-metrics">
                    <div class="rk-metric-box">
                        <div class="rk-metric-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>
                        <div class="rk-metric-val">-24°C</div>
                        <div class="rk-metric-label">T_zewn</div>
                    </div>
                    <div class="rk-metric-box">
                        <div class="rk-metric-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-metric-val">< 6,5°C</div>
                        <div class="rk-metric-label">T_śr roczna</div>
                    </div>
                    <div class="rk-metric-box">
                        <div class="rk-metric-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="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon></svg></div>
                        <div class="rk-metric-val">44 K</div>
                        <div class="rk-metric-label">Delta (ΔT)</div>
                    </div>
                </div>
                <div class="rk-zone-text">
                    <h3>Charakterystyka inżynierska</h3>
                    <p>Polski &#8222;biegun zimna&#8221; z centrum w Suwałkach oraz najwyższe rejony Tatr i Karkonoszy. Klimat o wyraźnych cechach kontynentalnych z ekstremalnie surowymi, długimi zimami.</p>
                    <h3>Wpływ na projekt podłogówki</h3>
                    <p>Przy skrajnej ΔT = 44 K, podłogówka stawia najwyższe wymagania fizyce budowli. Budynek musi posiadać izolację znacznie lepszą niż minimalne wymagania WT 2021 (rekomendowane U_ścian ≤ 0,15 W/m²K). W projekcie stosuje się wyłącznie rozstaw rur co 10 cm (w łazienkach co 7,5 cm), a <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">pętle grzewcze muszą być krótsze</a> (max 80 m zamiast 100 m), aby zminimalizować schłodzenie wody i utrzymać wysoką średnią temperaturę logarytmiczną płyty.</p>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-zone-footer">
        <div class="rk-footer-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="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
        </div>
        <div class="rk-footer-content">
            <h4>Podsumowanie Roberta Kucharskiego</h4>
            <p>
                Różnica w projektowej temperaturze między strefą I (Kołobrzeg, -16°C) a strefą V (Suwałki, -24°C) wynosi aż 8°C. Oznacza to, że ten sam dom wybudowany na Suwalszczyźnie potrzebuje o 20-25% większej mocy grzewczej posadzki niż nad morzem. Precyzyjne przypisanie inwestycji do właściwej strefy w <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczeniach OZC</a> to absolutny fundament, by podłogówka poradziła sobie bez grzejników.
            </p>
        </div>
    </div>

</div>

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

    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            // Resetuj wszystkie przyciski i panele
            buttons.forEach(b => b.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Aktywuj kliknięty element
            this.classList.add('active');
            const targetId = this.getAttribute('data-target');
            document.getElementById('content-' + targetId).classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --rk-region-dark: #0f172a;
    --rk-region-blue: #0284c7;
    --rk-region-sky: #38bdf8;
    --rk-region-blue-light: #f0f9ff;
    --rk-region-green: #059669;
    --rk-region-gray: #64748b;
    --rk-region-border: #e2e8f0;
    --rk-region-bg: #ffffff;
    --rk-region-panel: #f8fafc;
}

.rk-region-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-region-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-region-blue);
    box-shadow: 0 10px 30px -10px rgba(2, 132, 199, 0.15);
    overflow: hidden;
}

/* Nagłówek */
.rk-region-header {
    padding: 35px 40px 25px;
    background: var(--rk-region-dark);
    color: #ffffff;
}

.rk-region-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(56, 189, 248, 0.15);
    color: var(--rk-region-sky);
    padding: 6px 14px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

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

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

/* Układ główny */
.rk-region-body {
    display: grid;
    grid-template-columns: 280px 1fr;
    background: var(--rk-region-bg);
}

/* Lewa Kolumna - Lista miast (Nawigacja) */
.rk-region-nav {
    background: var(--rk-region-panel);
    border-right: 1px solid var(--rk-region-border);
    padding: 25px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-region-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 16px 20px;
    background: #ffffff;
    border: 1px solid var(--rk-region-border);
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-region-gray);
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-region-btn:hover {
    border-color: #cbd5e1;
    color: var(--rk-region-dark);
}

.rk-region-btn.active {
    background: var(--rk-region-blue);
    border-color: var(--rk-region-blue);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.2);
}

.rk-region-btn svg {
    opacity: 0.5;
    transition: opacity 0.2s, transform 0.2s;
}

.rk-region-btn.active svg {
    opacity: 1;
    transform: translateX(4px);
}

/* Prawa Kolumna - Dane i Tekst */
.rk-region-content {
    padding: 35px 40px;
}

/* Górne Kafelki z Danymi */
.rk-data-highlights {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px dashed var(--rk-region-border);
}

.rk-highlight-box {
    background: var(--rk-region-blue-light);
    padding: 15px;
    border-radius: 10px;
    border: 1px solid rgba(2, 132, 199, 0.1);
}

.rk-hl-label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-region-blue);
    margin-bottom: 5px;
    letter-spacing: 0.5px;
}

.rk-hl-value {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-region-dark);
    font-family: 'Courier New', Courier, monospace;
}

/* Sekcja Tekstowa */
.rk-text-panel {
    display: none;
    animation: fadeIn 0.4s ease forwards;
}

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

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

.rk-text-panel h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-region-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

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

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

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

.rk-text-panel a:hover {
    color: #0369a1;
    border-color: var(--rk-region-blue);
}

/* Responsywność - Mobile (Układ Pionowy) */
@media (max-width: 768px) {
    .rk-region-header { padding: 25px 20px; }
    .rk-region-header h2 { font-size: 22px; }
    
    .rk-region-body {
        grid-template-columns: 1fr;
        display: flex;
        flex-direction: column;
    }
    
    .rk-region-nav {
        border-right: none;
        border-bottom: 1px solid var(--rk-region-border);
        padding: 20px;
    }
    
    .rk-region-content { padding: 25px 20px; }
    
    .rk-data-highlights {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#article-analiza-regionalna",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/"
    },
    "headline": "Analiza regionalna: Jak system płaszczyznowy z pompą ciepła radzi sobie w największych miastach?",
    "description": "Szczegółowa analiza inżynierska pracy pompy ciepła i ogrzewania podłogowego dla Warszawy, Krakowa, Wrocławia, Gdańska, Katowic i Poznania z uwzględnieniem stref klimatycznych i SCOP.",
    "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-16",
    "dateModified": "2026-06-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#dataset-analiza-regionalna",
    "name": "Wydajność układu podłogówka + pompa ciepła w 6 polskich miastach",
    "description": "Baza danych parametrów klimatycznych (projektowe temperatury zewnętrzne) oraz szacowanego SCOP dla wybranych stref w Polsce.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "strefy klimatyczne polska",
      "SCOP pompy ciepła",
      "zapotrzebowanie na ciepło kraków",
      "temperatura projektowa warszawa",
      "ogrzewanie podłogowe nad morzem"
    ],
    "measurementTechnique": "Szacowanie wpływu zjawisk lokalnych (inwersja temperatur, wilgotność nadmorska) na średnioroczny współczynnik efektywności SCOP instalacji grzewczej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Warszawa (Strefa II): SCOP 4.1, T_zewn -18C",
        "Kraków (Strefa III): SCOP 3.85, T_zewn -20C",
        "Wrocław (Strefa II): SCOP 4.4, T_zewn -18C",
        "Gdańsk (Strefa I): SCOP 4.05, T_zewn -16C",
        "Katowice (Strefa III): SCOP 3.9, T_zewn -20C",
        "Poznań (Strefa II): SCOP 4.2, T_zewn -18C"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#webapp-analiza-regionalna",
    "name": "Interaktywny Panel Analizy Regionalnej HVAC",
    "description": "Moduł dashboardowy pozwalający inwestorom na nawigację po uwarunkowaniach klimatycznych kluczowych polskich miast i weryfikację wpływu pogody na pracę ogrzewania podłogowego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-region-container" id="rk-region-module">
    <div class="rk-region-header">
        <div class="rk-region-badge">Raport Inżynierski</div>
        <h2>Analiza regionalna: Jak system płaszczyznowy z pompą ciepła radzi sobie w największych miastach?</h2>
        <p>
            Efektywność podłogówki jako jedynego źródła ciepła różni się w zależności od lokalizacji geograficznej i lokalnego mikroklimatu miejskiego. Poniżej znajduje się szczegółowa analiza inżynierska, uwzględniająca parametry pracy <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" style="color:#38bdf8;">pompy ciepła typu powietrze-woda</a>.
        </p>
    </div>

    <div class="rk-region-body">
        
        <div class="rk-region-nav" id="rk-city-tabs">
            <button class="rk-region-btn active" data-target="warszawa">
                Warszawa
                <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="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
            </button>
            <button class="rk-region-btn" data-target="krakow">
                Kraków
                <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="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
            </button>
            <button class="rk-region-btn" data-target="wroclaw">
                Wrocław
                <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="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
            </button>
            <button class="rk-region-btn" data-target="gdansk">
                Gdańsk
                <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="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
            </button>
            <button class="rk-region-btn" data-target="katowice">
                Katowice
                <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="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
            </button>
            <button class="rk-region-btn" data-target="poznan">
                Poznań
                <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="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
            </button>
        </div>

        <div class="rk-region-content">
            
            <div class="rk-data-highlights">
                <div class="rk-highlight-box">
                    <span class="rk-hl-label">Strefa Klimatyczna</span>
                    <span class="rk-hl-value" id="disp-zone">II</span>
                </div>
                <div class="rk-highlight-box">
                    <span class="rk-hl-label">Temp. Projektowa</span>
                    <span class="rk-hl-value" id="disp-temp">-18°C</span>
                </div>
                <div class="rk-highlight-box">
                    <span class="rk-hl-label">Szacowany SCOP</span>
                    <span class="rk-hl-value" id="disp-scop">4.1</span>
                </div>
            </div>

            <div class="rk-text-container">
                
                <div class="rk-text-panel active" id="content-warszawa" data-zone="II" data-temp="-18°C" data-scop="4.1">
                    <h3>Warszawa (II Strefa Klimatyczna, T_{zewn} = -18°C)</h3>
                    <p>W stolicy projektowe obciążenie cieplne wyznaczane jest dla temperatury -18°C, a średnia temperatura sezonu grzewczego wynosi +2,8°C. W tych warunkach system podłogowy zasilany temperaturą 35°C pozwala powietrznej pompę ciepła pracować ze średniorocznym współczynnikiem efektywności SCOP na poziomie 4,1.</p>
                    <p>Straty ciepła nowoczesnego domu 120 m² w Warszawie wynoszą średnio 4,8 kW, co sprawia, że podłogówka bez problemu pokrywa zapotrzebowanie bez uruchamiania grzałek elektrycznych przez 98% okresu grzewczego.</p>
                </div>

                <div class="rk-text-panel" id="content-krakow" data-zone="III" data-temp="-20°C" data-scop="3.85">
                    <h3>Kraków (III Strefa Klimatyczna, T_{zewn} = -20°C)</h3>
                    <p>Kraków charakteryzuje się surowszymi warunkami zimowymi ze względu na ukształtowanie terenu i częste zjawisko inwersji temperatury, ze średnią stycznia na poziomie -2,5°C. Projektowa temperatura to -20°C, co przy wysokiej wilgotności powietrza zwiększa częstotliwość cykli odszraniania parownika pompy ciepła (defrost).</p>
                    <p>Aby podłogówka była jedynym źródłem ciepła, <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">jastrych musi posiadać optymalną grubość</a> (65 mm dla betonu), działając jako akumulator energii podczas przerw technologicznych w pracy pompy. Średni SCOP wynosi tutaj ok. 3,85.</p>
                </div>

                <div class="rk-text-panel" id="content-wroclaw" data-zone="II" data-temp="-18°C" data-scop="4.4">
                    <h3>Wrocław (II Strefa Klimatyczna, T_{zewn} = -18°C)</h3>
                    <p>Wrocław i rejon Dolnego Śląska to statystycznie najcieplejszy obszar w Polsce z najkrótszym sezonem grzewczym. Chociaż norma nakazuje liczyć straty dla -18°C, to realne temperatury rzadko spadają poniżej -10°C.</p>
                    <p>Dla podłogówki to warunki idealne – pompa ciepła pracuje przy niskiej delcie temperatur, osiągając SCOP przekraczający 4,4. Tutaj podłogówka jako jedyne źródło ciepła wykazuje najwyższą rentowność ekonomiczną, a ryzyko niedogrzania wynosi 0%.</p>
                </div>

                <div class="rk-text-panel" id="content-gdansk" data-zone="I" data-temp="-16°C" data-scop="4.05">
                    <h3>Gdańsk (I Strefa Klimatyczna, T_{zewn} = -16°C)</h3>
                    <p>Pas nadmorski charakteryzuje się najłagodniejszą projektową temperaturą zewnętrzną (-16°C), ale bardzo wysoką średnią wilgotnością względną powietrza (często ponad 85% w zimie). Wysoka wilgotność oznacza, że powietrzna pompa ciepła traci część sprawności na zamarzanie wymiennika, mimo wysokiej temperatury otoczenia.</p>
                    <p>Niskotemperaturowa podłogówka (<a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">zasilanie 32-34°C</a>) kompensuje ten efekt, pozwalając na utrzymanie stabilnego SCOP na poziomie 4,05, pod warunkiem perfekcyjnego wykonania izolacji przeciwwilgociowej pod jastrychem.</p>
                </div>

                <div class="rk-text-panel" id="content-katowice" data-zone="III" data-temp="-20°C" data-scop="3.9">
                    <h3>Katowice (III Strefa Klimatyczna, T_{zewn} = -20°C)</h3>
                    <p>Górnośląski Okręg Przemysłowy to strefa przejściowa z projektową temperaturą -20°C i dużą liczbą dni z przejściem temperatury przez zero stopni. Duże zagęszczenie starej zabudowy sprawia, że w przypadku <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-remontowanym-budynku-czy-warto/">termomodernizacji</a>, podłogówka jako jedyny system grzewczy wymaga bezwzględnego obniżenia strat ciepła budynku do wartości poniżej 60 W/m².</p>
                    <p>W nowym budownictwie system osiąga stabilny SCOP = 3,9, gwarantując pełne pokrycie zapotrzebowania na ciepło.</p>
                </div>

                <div class="rk-text-panel" id="content-poznan" data-zone="II" data-temp="-18°C" data-scop="4.2">
                    <h3>Poznań (II Strefa Klimatyczna, T_{zewn} = -18°C)</h3>
                    <p>Wielkopolska cechuje się stabilnymi warunkami klimatycznymi ze średnią temperaturą zimową wokół +1,2°C. Projektowe -18°C występuje incydentalnie.</p>
                    <p>Podłogówka współpracująca z pompą powietrzną w Poznaniu generuje stabilne oszczędności, pracując ze średnim SCOP = 4,2. System doskonale bilansuje się z instalacjami fotowoltaicznymi ze względu na równomierny, przewidywalny pobór prądu przez niskotemperaturową płaszczyznę grzewczą.</p>
                </div>

            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const buttons = document.querySelectorAll('#rk-city-tabs .rk-region-btn');
    const panels = document.querySelectorAll('.rk-text-panel');
    
    // Pola danych na górze
    const dispZone = document.getElementById('disp-zone');
    const dispTemp = document.getElementById('disp-temp');
    const dispScop = document.getElementById('disp-scop');

    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            // 1. Reset przycisków
            buttons.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // 2. Znajdź cel
            const targetId = this.getAttribute('data-target');
            
            // 3. Reset i ukrycie wszystkich paneli
            panels.forEach(p => p.classList.remove('active'));
            
            // 4. Pokazanie wybranego panelu
            const activePanel = document.getElementById('content-' + targetId);
            activePanel.classList.add('active');

            // 5. Aktualizacja Kafelków Danych
            dispZone.textContent = activePanel.getAttribute('data-zone');
            dispTemp.textContent = activePanel.getAttribute('data-temp');
            dispScop.textContent = activePanel.getAttribute('data-scop');
        });
    });
});
</script>



<style>
:root {
    --rk-city-dark: #0f172a;
    --rk-city-blue: #0284c7;
    --rk-city-blue-light: #f0f9ff;
    --rk-city-green: #059669;
    --rk-city-orange: #ea580c;
    --rk-city-gray: #64748b;
    --rk-city-border: #e2e8f0;
    --rk-city-bg: #ffffff;
    --rk-city-panel: #f8fafc;
}

.rk-city-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-city-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-city-blue);
    box-shadow: 0 10px 30px -10px rgba(2, 132, 199, 0.15);
    overflow: hidden;
}

/* Nagłówek */
.rk-city-header {
    padding: 35px 40px 25px;
    background: var(--rk-city-dark);
    color: #ffffff;
}

.rk-city-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(56, 189, 248, 0.15);
    color: #38bdf8;
    padding: 6px 14px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

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

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

/* Ciało kontenera */
.rk-city-body {
    padding: 35px 40px;
}

.rk-city-dashboard {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 30px;
    align-items: start;
}

/* Nawigacja (Wybór Miasta) */
.rk-city-nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-city-btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    background: var(--rk-city-bg);
    border: 1px solid var(--rk-city-border);
    border-radius: 8px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-city-gray);
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-city-btn:hover {
    background: var(--rk-city-panel);
    border-color: #cbd5e1;
    color: var(--rk-city-dark);
}

.rk-city-btn.active {
    background: var(--rk-city-blue-light);
    border-color: var(--rk-city-blue);
    color: var(--rk-city-blue);
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.1);
}

.rk-city-zone {
    font-size: 11px;
    background: #e2e8f0;
    color: var(--rk-city-gray);
    padding: 2px 6px;
    border-radius: 4px;
}

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

/* Kafelki z wynikami (Prawa strona) */
.rk-city-results {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.rk-data-card {
    background: #ffffff;
    border: 1px solid var(--rk-city-border);
    border-radius: 12px;
    padding: 25px;
    text-align: left;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    transition: transform 0.3s;
}

.rk-data-card:hover {
    transform: translateY(-3px);
    border-color: #bae6fd;
}

.rk-card-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: var(--rk-city-blue-light);
    color: var(--rk-city-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

.rk-card-title {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-city-gray);
    margin: 0 0 5px 0;
    letter-spacing: 0.5px;
}

.rk-card-value {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-city-dark);
    font-family: 'Courier New', Courier, monospace;
}

/* Oznaczenia kolorystyczne w kafelkach */
.value-temp { color: var(--rk-city-blue); }
.value-scop { color: var(--rk-city-green); }
.value-power { color: var(--rk-city-orange); }
.value-energy { color: var(--rk-city-dark); }

/* Sekcja SEO (Długi Ogon) na dole */
.rk-seo-analysis {
    margin-top: 35px;
    padding: 25px;
    background: var(--rk-city-panel);
    border-radius: 12px;
    border: 1px dashed var(--rk-city-border);
}

.rk-seo-analysis h3 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-city-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-seo-analysis p {
    font-size: 14px;
    color: var(--rk-city-gray);
    line-height: 1.6;
    margin: 0 0 10px 0;
}

.rk-seo-analysis p:last-child {
    margin: 0;
}

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

/* Responsywność */
@media (max-width: 768px) {
    .rk-city-header { padding: 25px 20px; }
    .rk-city-header h2 { font-size: 22px; }
    .rk-city-body { padding: 25px 20px; }
    .rk-city-dashboard { grid-template-columns: 1fr; gap: 25px; }
    
    /* Układ pionowy dla przycisków na mobile */
    .rk-city-nav { display: flex; flex-direction: column; gap: 8px; }
    .rk-city-results { grid-template-columns: 1fr; gap: 15px; }
    .rk-data-card { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#article-miasta",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/"
    },
    "headline": "Porównanie parametrów technicznych i efektywności podłogówki w wybranych miastach",
    "description": "Zestawienie efektywności pompy ciepła z ogrzewaniem podłogowym. Sprawdź roczne zużycie energii i SCOP dla Warszawy, Wrocławia, Krakowa czy Gdańska w standardzie WT 2021.",
    "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-16",
    "dateModified": "2026-06-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#dataset-miasta",
    "name": "Baza Danych: Analiza efektywności pomp ciepła w strefach klimatycznych",
    "description": "Porównanie zapotrzebowania energetycznego w oparciu o projektową temperaturę zewnętrzną w 6 głównych miastach Polski dla domu 100 m2.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "roczne zużycie energii pompa ciepła",
      "koszty ogrzewania w polsce 2026",
      "współczynnik SCOP pompy ciepła",
      "projektowa temperatura zewnętrzna",
      "zapotrzebowanie energetyczne budynku"
    ],
    "measurementTechnique": "Szacowanie rocznego poboru energii (kWh) oraz wymiarowanie mocy grzewczej posadzki na podstawie danych strefowych PN-EN 12831.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wrocław (Strefa II): -18°C, SCOP 4.40, Zużycie: 2650 kWh/rok",
        "Kraków (Strefa III): -20°C, SCOP 3.85, Zużycie: 3450 kWh/rok",
        "Gdańsk (Strefa I): -16°C, SCOP 4.05, Zużycie: 2850 kWh/rok"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#webapp-miasta",
    "name": "Interaktywny Panel Wydajności Regionalnej",
    "description": "Narzędzie pozwalające użytkownikowi sprawdzić średnie wskaźniki instalacji grzewczej (podłogówka + pompa) w zależności od wybranego polskiego miasta.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-city-container" id="rk-city-module">
    <div class="rk-city-header">
        <div class="rk-city-badge">Analiza Regionalna</div>
        <h2>Porównanie efektywności w polskich miastach</h2>
        <p>
            Zastanawiasz się, <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-energooszczedne/">czy podłogówka jest energooszczędna</a>? Poniżej prezentujemy kluczowe wskaźniki dla systemu zasilanego powietrzną pompą ciepła (T zasilania = 35°C) dla standardowego domu WT 2021 o powierzchni 100 m². Wybierz miasto, aby zobaczyć różnice wynikające ze stref klimatycznych.
        </p>
    </div>

    <div class="rk-city-body">
        <div class="rk-city-dashboard">
            
            <div class="rk-city-nav" id="city-selector">
                <button class="rk-city-btn" data-city="wroclaw">
                    Wrocław <span class="rk-city-zone">Strefa II</span>
                </button>
                <button class="rk-city-btn" data-city="gdansk">
                    Gdańsk <span class="rk-city-zone">Strefa I</span>
                </button>
                <button class="rk-city-btn active" data-city="warszawa">
                    Warszawa <span class="rk-city-zone">Strefa II</span>
                </button>
                <button class="rk-city-btn" data-city="poznan">
                    Poznań <span class="rk-city-zone">Strefa II</span>
                </button>
                <button class="rk-city-btn" data-city="katowice">
                    Katowice <span class="rk-city-zone">Strefa III</span>
                </button>
                <button class="rk-city-btn" data-city="krakow">
                    Kraków <span class="rk-city-zone">Strefa III</span>
                </button>
            </div>

            <div class="rk-city-results">
                
                <div class="rk-data-card">
                    <div class="rk-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="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 class="rk-card-title">Temp. Projektowa</h4>
                    <div class="rk-card-value value-temp" id="val-temp">-18°C</div>
                </div>

                <div class="rk-data-card">
                    <div class="rk-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"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                    </div>
                    <h4 class="rk-card-title">Średni SCOP</h4>
                    <div class="rk-card-value value-scop" id="val-scop">4.10</div>
                </div>

                <div class="rk-data-card">
                    <div class="rk-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"><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>
                    <h4 class="rk-card-title">Wymagana Moc</h4>
                    <div class="rk-card-value value-power"><span id="val-power">38</span> <span style="font-size:16px;">W/m²</span></div>
                </div>

                <div class="rk-data-card">
                    <div class="rk-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="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
                    </div>
                    <h4 class="rk-card-title">Roczne Zużycie</h4>
                    <div class="rk-card-value value-energy"><span id="val-energy">3100</span> <span style="font-size:16px;">kWh</span></div>
                </div>

            </div>
        </div>

        <div class="rk-seo-analysis">
            <h3>Wnioski inżynieryjne z analizy wskaźników</h3>
            <p>Powyższe dane udowadniają, że <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">koszty ogrzewania domu</a> są ściśle powiązane z geografią. W chłodniejszym Krakowie (Strefa III), przy projektowej temperaturze ujemnej wynoszącej -20°C, <strong>współczynnik SCOP pompy ciepła</strong> jest zauważalnie niższy niż w łagodnym Wrocławiu, co generuje pobór energii wyższy o niemal 800 kWh rocznie.</p>
            <p>Zauważ również, że niezależnie od lokalizacji, wymagana moc posadzki zawsze mieści się w przedziale 32-42 W/m². Taka wartość gwarantuje, że <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/">inwestycja w ogrzewanie płaszczyznowe</a> bez grzejników ma pełne uzasadnienie fizyczne i ekonomiczne, pod warunkiem pracy w układzie niskotemperaturowym (max 35°C zasilania).</p>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Baza danych dla miast
    const cityData = {
        gdansk: { temp: "-16°C", scop: "4.05", power: "34", energy: "2850" },
        warszawa: { temp: "-18°C", scop: "4.10", power: "38", energy: "3100" },
        wroclaw: { temp: "-18°C", scop: "4.40", power: "32", energy: "2650" },
        poznan: { temp: "-18°C", scop: "4.20", power: "36", energy: "2980" },
        katowice: { temp: "-20°C", scop: "3.90", power: "41", energy: "3380" },
        krakow: { temp: "-20°C", scop: "3.85", power: "42", energy: "3450" }
    };

    const buttons = document.querySelectorAll('.rk-city-btn');
    const elTemp = document.getElementById('val-temp');
    const elScop = document.getElementById('val-scop');
    const elPower = document.getElementById('val-power');
    const elEnergy = document.getElementById('val-energy');

    // Funkcja aktualizująca UI
    function updateDashboard(cityKey) {
        const data = cityData[cityKey];
        if(!data) return;

        // Prosta animacja zanikania
        const resultsBox = document.querySelector('.rk-city-results');
        resultsBox.style.opacity = '0.5';
        
        setTimeout(() => {
            elTemp.textContent = data.temp;
            elScop.textContent = data.scop;
            elPower.textContent = data.power;
            elEnergy.textContent = data.energy;
            resultsBox.style.opacity = '1';
        }, 150);
    }

    // Obsługa kliknięć
    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            // Zmiana klas
            buttons.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Pobranie klucza i aktualizacja
            const cityKey = this.getAttribute('data-city');
            updateDashboard(cityKey);
        });
    });
});
</script>



<style>
:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-blue: #0284c7;
    --rk-calc-blue-light: #f0f9ff;
    --rk-calc-green: #059669;
    --rk-calc-red: #dc2626;
    --rk-calc-gray: #64748b;
    --rk-calc-border: #cbd5e1;
    --rk-calc-bg: #ffffff;
    --rk-calc-panel: #f8fafc;
}

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

/* Nagłówek */
.rk-calc-header {
    padding: 35px 40px 25px;
    background: var(--rk-calc-dark);
    color: #ffffff;
}

.rk-calc-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(56, 189, 248, 0.15);
    color: #38bdf8;
    padding: 6px 14px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

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

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

.rk-calc-header a {
    color: #38bdf8;
    text-decoration: none;
    border-bottom: 1px solid rgba(56, 189, 248, 0.5);
}

/* Interfejs Kalkulatora - Układ Dashboard */
.rk-calc-body {
    padding: 35px 40px;
}

.rk-dashboard-top {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 30px;
    margin-bottom: 30px;
}

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

/* Sekcja Wprowadzania Danych (Lewa Góra) */
.rk-input-section {
    background: var(--rk-calc-panel);
    padding: 25px;
    border-radius: 12px;
    border: 1px solid var(--rk-calc-border);
}

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

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

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

.rk-input-value {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-calc-blue);
    font-family: 'Courier New', Courier, monospace;
}

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

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

/* Sekcja Werdyktu (Prawa Góra) */
.rk-verdict-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px;
    border-radius: 12px;
    text-align: left;
    transition: all 0.3s;
    border: 2px solid transparent;
}

.rk-verdict-box.success {
    background: #ecfdf5;
    border-color: var(--rk-calc-green);
}

.rk-verdict-box.danger {
    background: #fef2f2;
    border-color: var(--rk-calc-red);
}

.rk-verdict-title {
    font-size: 22px;
    font-weight: 900;
    margin: 0 0 15px 0;
}

.rk-verdict-box.success .rk-verdict-title { color: var(--rk-calc-green); }
.rk-verdict-box.danger .rk-verdict-title { color: var(--rk-calc-red); }

.rk-verdict-desc {
    font-size: 15px;
    margin: 0;
    line-height: 1.6;
    color: var(--rk-calc-dark);
}

.rk-verdict-desc strong {
    font-family: 'Courier New', Courier, monospace;
    font-size: 18px;
    background: rgba(255,255,255,0.6);
    padding: 2px 6px;
    border-radius: 4px;
}

/* Kroki obliczeniowe (Środek - 3 kolumny) */
.rk-step-box {
    display: flex;
    flex-direction: column;
    padding: 20px;
    border-top: 4px solid var(--rk-calc-blue);
    background: #ffffff;
    border-left: 1px solid var(--rk-calc-panel);
    border-right: 1px solid var(--rk-calc-panel);
    border-bottom: 1px solid var(--rk-calc-panel);
    border-radius: 0 0 8px 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}

.rk-step-box h3 {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin: 0 0 8px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-step-box p {
    font-size: 13px;
    color: var(--rk-calc-gray);
    margin: 0 0 15px 0;
    line-height: 1.5;
    flex-grow: 1;
}

.rk-math-line {
    font-family: 'Courier New', Courier, monospace;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-calc-dark);
    background: var(--rk-calc-panel);
    padding: 10px;
    border-radius: 4px;
    border: 1px dashed var(--rk-calc-border);
    text-align: center;
}

/* BLOK SEO LONG-TAIL (Dół) */
.rk-seo-footer {
    margin-top: 35px;
    padding-top: 30px;
    border-top: 1px dashed var(--rk-calc-border);
}

.rk-seo-footer h3 {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin: 0 0 20px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

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

.rk-seo-item h4 {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-calc-blue);
    margin: 0 0 8px 0;
}

.rk-seo-item p {
    font-size: 13px;
    color: var(--rk-calc-gray);
    line-height: 1.6;
    margin: 0;
}

.rk-seo-item strong {
    color: var(--rk-calc-dark);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-calc-header { padding: 25px 20px; }
    .rk-calc-header h2 { font-size: 22px; }
    .rk-calc-body { padding: 20px; }
    .rk-dashboard-top { grid-template-columns: 1fr; gap: 20px; }
    .rk-dashboard-bottom { grid-template-columns: 1fr; gap: 15px; }
    .rk-step-box { border-top: none; border-left: 4px solid var(--rk-calc-blue); border-radius: 0 8px 8px 0; }
    .rk-seo-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-seo-footer { margin-top: 25px; padding-top: 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#article-kalkulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/"
    },
    "headline": "Kalkulator energetyczny: Jak obliczyć, czy podłogówka pokryje straty ciepła?",
    "description": "Inżynierski algorytm obliczania jednostkowej mocy grzewczej posadzki. Sprawdź, czy efektywna powierzchnia grzewcza spełnia normę PN-EN 1264 bez konieczności montażu grzejników.",
    "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-16",
    "dateModified": "2026-06-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#dataset-kalkulator",
    "name": "Założenia inżynierskie dla obliczeniowego zapotrzebowania na ciepło",
    "description": "Zestawienie parametrów technicznych (współczynnik OZC, efektywna powierzchnia grzewcza) niezbędnych do weryfikacji układu ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "obliczeniowe zapotrzebowanie na ciepło ozc",
      "efektywna powierzchnia grzewcza podłogówki",
      "ogrzewanie pod stałą zabudową",
      "temperatura posadzki 29 stopni",
      "maksymalna moc ogrzewania podłogowego"
    ],
    "measurementTechnique": "Weryfikacja stosunku projektowego obciążenia cieplnego do efektywnej powierzchni grzewczej pomniejszonej o stałą zabudowę.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Margines bezpieczeństwa na strefę klimatyczną (wiatr i wentylacja): +15%",
        "Redukcja powierzchni na stałą zabudowę: -18%",
        "Maksymalna bezpieczna jednostkowa moc grzewcza posadzki: 100 W/m2"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#webapp-kalkulator",
    "name": "Inżynierski Kalkulator Bilansu Mocy Grzewczej Posadzki",
    "description": "Interaktywne narzędzie techniczne pozwalające na samodzielne obliczenie jednostkowej mocy grzewczej i ocenę wydolności instalacji jako jedynego źródła ciepła.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container" id="rk-calc-module">
    <div class="rk-calc-header">
        <div class="rk-calc-badge">Narzędzie Inżynierskie</div>
        <h2>Kalkulator energetyczny: Jak obliczyć, czy podłogówka pokryje straty ciepła?</h2>
        <p>
            Aby jednoznacznie określić, czy ogrzewanie podłogowe sprawdzi się jako jedyne źródło ciepła, należy przeprowadzić <a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/">bilans mocy grzewczej</a> posadzki w odniesieniu do strat budynku. Przesuń suwaki poniżej, aby zweryfikować fizykę swojego budynku.
        </p>
    </div>

    <div class="rk-calc-body">
        
        <div class="rk-dashboard-top">
            <div class="rk-input-section">
                <div class="rk-input-group">
                    <div class="rk-input-label">
                        <span>Czyste Straty Ciepła (OZC)</span>
                        <span class="rk-input-value"><span id="val-ozc">5000</span> W</span>
                    </div>
                    <input type="range" id="slide-ozc" class="rk-slider" min="2000" max="12000" step="100" value="5000">
                </div>

                <div class="rk-input-group">
                    <div class="rk-input-label">
                        <span>Powierzchnia Całkowita Domu</span>
                        <span class="rk-input-value"><span id="val-area">100</span> m²</span>
                    </div>
                    <input type="range" id="slide-area" class="rk-slider" min="50" max="300" step="5" value="100">
                </div>
            </div>

            <div class="rk-verdict-box success" id="verdict-box">
                <h3 class="rk-verdict-title" id="verdict-title">Werdykt: Warunek spełniony</h3>
                <p class="rk-verdict-desc" id="verdict-desc">
                    Zgodnie z <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">normą PN-EN 1264</a>, maksymalna bezpieczna moc posadzki to 100 W/m². Twój system potrzebuje <strong>70.12 W/m²</strong>. Ogrzewanie podłogowe bez problemu wystarczy jako jedyne źródło ciepła!
                </p>
            </div>
        </div>

        <div class="rk-dashboard-bottom">
            <div class="rk-step-box">
                <h3>Krok 1: Obciążenie (Q_obl)</h3>
                <p>Aplikujemy 15% marginesu na wiatr i infiltrację powietrza.</p>
                <div class="rk-math-line" id="math-step1">
                    5000 W * 1,15 = 5750 W
                </div>
            </div>

            <div class="rk-step-box">
                <h3>Krok 2: P. Efektywna (A_eff)</h3>
                <p>Odliczamy średnio 18% metrażu na stałą zabudowę i meble.</p>
                <div class="rk-math-line" id="math-step2">
                    100 m² * 0,82 = 82 m²
                </div>
            </div>

            <div class="rk-step-box">
                <h3>Krok 3: Moc Jednostkowa</h3>
                <p>Dzielimy straty ciepła przez strefę realnej wymiany cieplnej.</p>
                <div class="rk-math-line" id="math-step3">
                    5750 W / 82 m² = 70.12 W/m²
                </div>
            </div>
        </div>

        <div class="rk-seo-footer">
            <h3>Założenia metodologiczne</h3>
            <div class="rk-seo-grid">
                <div class="rk-seo-item">
                    <h4>Mnożnik x 1,15</h4>
                    <p>Kompensuje straty na wentylacji oraz infiltrację chłodnego powietrza, dając realne <strong>obliczeniowe zapotrzebowanie na ciepło (OZC)</strong> w najchłodniejsze dni w roku.</p>
                </div>
                
                <div class="rk-seo-item">
                    <h4>Redukcja 18% (A_eff)</h4>
                    <p>Odlicza przestrzeń zablokowaną przez meble. <strong>Efektywna powierzchnia grzewcza podłogówki</strong> nie uwzględnia powierzchni pod szafami wnękowymi czy wyspą kuchenną.</p>
                </div>

                <div class="rk-seo-item">
                    <h4>Limit 100 W/m²</h4>
                    <p>To <strong>maksymalna moc ogrzewania podłogowego</strong>. Jej przekroczenie oznacza konieczność podgrzania jastrychu powyżej zdrowej <strong>temperatury posadzki (29°C)</strong>.</p>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slideOzc = document.getElementById('slide-ozc');
    const slideArea = document.getElementById('slide-area');
    
    const valOzc = document.getElementById('val-ozc');
    const valArea = document.getElementById('val-area');

    const mathStep1 = document.getElementById('math-step1');
    const mathStep2 = document.getElementById('math-step2');
    const mathStep3 = document.getElementById('math-step3');
    
    const verdictBox = document.getElementById('verdict-box');
    const verdictTitle = document.getElementById('verdict-title');
    const verdictDesc = document.getElementById('verdict-desc');

    function calculate() {
        const ozc = parseInt(slideOzc.value);
        const area = parseInt(slideArea.value);

        // Aktualizacja etykiet nad suwakami
        valOzc.textContent = ozc;
        valArea.textContent = area;

        // Krok 1
        const q_obl = Math.round(ozc * 1.15);
        mathStep1.textContent = `${ozc} W * 1.15 = ${q_obl} W`;

        // Krok 2
        const a_eff = (area * 0.82).toFixed(1);
        mathStep2.textContent = `${area} m² * 0.82 = ${a_eff} m²`;

        // Krok 3
        const q_req = (q_obl / a_eff).toFixed(2);
        mathStep3.textContent = `${q_obl} W / ${a_eff} m² = ${q_req} W/m²`;

        // Werdykt
        if (q_req <= 100) {
            verdictBox.className = 'rk-verdict-box success';
            verdictTitle.textContent = 'Werdykt: Warunek spełniony';
            verdictDesc.innerHTML = `Zgodnie z <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">normą PN-EN 1264</a>, maksymalna bezpieczna moc posadzki to 100 W/m². Twój system potrzebuje <strong>${q_req} W/m²</strong>. Ogrzewanie podłogowe wystarczy jako jedyne źródło ciepła!`;
        } else {
            verdictBox.className = 'rk-verdict-box danger';
            verdictTitle.textContent = 'Werdykt: Problem projektowy';
            verdictDesc.innerHTML = `Norma PN-EN 1264 określa maksimum na 100 W/m². Twój budynek wymaga aż <strong>${q_req} W/m²</strong>. Oznacza to ryzyko konieczności podgrzewania jastrychu powyżej zdrowych 29°C. Konieczna poprawa izolacji budynku!`;
        }
    }

    slideOzc.addEventListener('input', calculate);
    slideArea.addEventListener('input', calculate);

    // Wywołanie startowe
    calculate();
});
</script>



<style>
:root {
    --rk-diag-dark: #0f172a;
    --rk-diag-blue: #0284c7;
    --rk-diag-sky: #38bdf8;
    --rk-diag-green: #059669;
    --rk-diag-yellow: #d97706;
    --rk-diag-red: #dc2626;
    --rk-diag-gray: #64748b;
    --rk-diag-border: #cbd5e1;
    --rk-diag-bg: #ffffff;
    --rk-diag-panel: #f8fafc;
}

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

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

.rk-diag-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(56, 189, 248, 0.15);
    color: var(--rk-diag-sky);
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

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

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

.rk-diag-body {
    padding: 40px 45px;
}

/* 5 Największych Błędów - Układ Kafelków */
.rk-mistakes-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-bottom: 40px;
}

.rk-mistake-card {
    background: #ffffff;
    border: 1px solid var(--rk-diag-border);
    border-radius: 12px;
    padding: 20px;
    transition: all 0.3s ease;
    display: flex;
    gap: 15px;
    align-items: flex-start;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-mistake-card:hover {
    border-color: var(--rk-diag-red);
    box-shadow: 0 10px 20px -5px rgba(220, 38, 38, 0.1);
    transform: translateY(-3px);
}

.rk-mistake-num {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    background: #fef2f2;
    color: var(--rk-diag-red);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 900;
    font-family: 'Courier New', Courier, monospace;
}

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

.rk-mistake-content p {
    font-size: 13px;
    color: var(--rk-diag-gray);
    margin: 0;
    line-height: 1.5;
}

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

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

/* Weryfikator Limitu 100 W/m2 */
.rk-limit-section {
    background: var(--rk-diag-panel);
    border: 1px solid var(--rk-diag-border);
    border-radius: 16px;
    padding: 35px;
    text-align: center;
}

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

.rk-limit-header p {
    font-size: 15px;
    color: var(--rk-diag-gray);
    margin: 0 0 30px 0;
    line-height: 1.6;
}

/* Suwak i Wskaźnik */
.rk-gauge-wrapper {
    max-width: 600px;
    margin: 0 auto;
    position: relative;
}

.rk-gauge-labels {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 800;
    color: var(--rk-diag-gray);
    margin-bottom: 10px;
    padding: 0 10px;
}

.rk-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 12px;
    background: linear-gradient(90deg, #34d399 0%, #fbbf24 65%, #ef4444 100%);
    border-radius: 6px;
    outline: none;
    margin-bottom: 30px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

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

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

/* Dynamiczny Wynik */
.rk-result-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 25px;
    border: 2px solid transparent;
    transition: all 0.3s ease;
}

.rk-result-card.safe { border-color: var(--rk-diag-green); background: #ecfdf5; }
.rk-result-card.warn { border-color: var(--rk-diag-yellow); background: #fffbeb; }
.rk-result-card.danger { border-color: var(--rk-diag-red); background: #fef2f2; }

.rk-result-val {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 10px 0;
    font-family: 'Courier New', Courier, monospace;
}

.rk-result-card.safe .rk-result-val { color: var(--rk-diag-green); }
.rk-result-card.warn .rk-result-val { color: var(--rk-diag-yellow); }
.rk-result-card.danger .rk-result-val { color: var(--rk-diag-red); }

.rk-result-text {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-diag-dark);
    margin: 0 0 8px 0;
}

.rk-result-desc {
    font-size: 14px;
    color: var(--rk-diag-gray);
    margin: 0;
    line-height: 1.5;
}

/* Tagi SEO Long-Tail pod spodem */
.rk-seo-tags-area {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px dashed var(--rk-diag-border);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rk-mat-tag {
    display: inline-block;
    background: var(--rk-diag-panel);
    color: var(--rk-diag-gray);
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid var(--rk-diag-border);
    cursor: default;
    transition: all 0.2s;
}

.rk-mat-tag:hover {
    background: var(--rk-diag-blue);
    color: #ffffff;
    border-color: var(--rk-diag-blue);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-diag-header { padding: 30px 20px; }
    .rk-diag-header h2 { font-size: 24px; }
    .rk-diag-body { padding: 30px 20px; }
    .rk-mistakes-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-limit-section { padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#article-diagnoza",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/"
    },
    "headline": "Dlaczego niektórym osobom podłogówka nie daje rady mimo nowego domu?",
    "description": "5 najczęstszych błędów inwestorów i instalatorów (złe OZC, rzadki rozstaw rur, rotametry). Sprawdź w interaktywnym teście, czy Twój dom mieści się w limicie 100 W/m².",
    "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-16",
    "dateModified": "2026-06-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#dataset-diagnoza",
    "name": "Najczęstsze błędy instalacyjne ogrzewania podłogowego i limit obciążenia",
    "description": "Zestawienie krytycznych błędów projektowych powodujących niedogrzanie budynków oraz definicja granicznego obciążenia cieplnego na poziomie 100 W/m².",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dlaczego podłogówka nie grzeje",
      "zimna podłoga w nowym domu",
      "zbyt rzadki rozstaw rur",
      "źle policzone ozc",
      "limit 100 W/m2 podłogówka"
    ],
    "measurementTechnique": "Identyfikacja przyczyn niedogrzania poprzez weryfikację rozstawu rur, nastaw rotametrów i wskaźnika projektowego obciążenia cieplnego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd 1: Źle policzone OZC (brak uwzględnienia mostków termicznych).",
        "Błąd 2: Zbyt rzadki rozstaw rur (np. 15 cm pod oknem tarasowym).",
        "Błąd 3: Błędnie dobrana pompa ciepła (przewymiarowana lub niedowymiarowana).",
        "Błąd 4: Źle ustawione przepływy na rotametrach.",
        "Błąd 5: Brak projektu (wykonywanie instalacji na oko).",
        "Zasada Limitu: Dom do 60 W/m2 ogrzeje się samą podłogówką. Powyżej 100 W/m2 wymaga grzejników."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#webapp-diagnoza",
    "name": "Kalkulator Limitu Cieplnego i Skaner Błędów",
    "description": "Interaktywny symulator pozwalający użytkownikowi ocenić wskaźnik W/m² dla swojego domu i zweryfikować, czy kwalifikuje się on do ogrzewania wyłącznie systemem płaszczyznowym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-diag-container" id="rk-diag-module">
    
    <div class="rk-diag-header">
        <div class="rk-diag-badge">Błędy Inwestorskie</div>
        <h2>Dlaczego niektórym osobom podłogówka nie daje rady mimo nowego domu?</h2>
        <p>
            Mity o niewydolnej podłogówce nie biorą się znikąd. Zjawisko &#8222;niedogrzanego salonu&#8221; w nowym budownictwie w 99% przypadków wynika z rażących błędów instalatora lub prób nadmiernych oszczędności inwestora. Oto 5 najczęstszych grzechów głównych:
        </p>
    </div>

    <div class="rk-diag-body">
        
        <div class="rk-mistakes-grid">
            
            <div class="rk-mistake-card">
                <div class="rk-mistake-num">1</div>
                <div class="rk-mistake-content">
                    <h3>Źle policzone OZC</h3>
                    <p>Zastosowanie wskaźnika uśrednionego zamiast rzetelnych <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczeń strat ciepła</a> każdego pokoju. Efekt? W łazience zimno, a w korytarzu upał.</p>
                </div>
            </div>

            <div class="rk-mistake-card">
                <div class="rk-mistake-num">2</div>
                <div class="rk-mistake-content">
                    <h3>Zbyt rzadki rozstaw rur</h3>
                    <p>Standardowe 15 cm w całym domu to błąd. Brakuje dogęszczenia (do 10 cm lub 7,5 cm) w strefach brzegowych i pod dużymi oknami HS. <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">Sprawdź poprawny rozstaw</a>.</p>
                </div>
            </div>

            <div class="rk-mistake-card">
                <div class="rk-mistake-num">3</div>
                <div class="rk-mistake-content">
                    <h3>Błędnie dobrana pompa</h3>
                    <p>Urządzenie albo zbyt małe (ciągła praca grzałek elektrycznych na mrozie), albo przewymiarowane (taktowanie kompresora). <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">Dobór pompy ciepła</a> to inżynieria.</p>
                </div>
            </div>

            <div class="rk-mistake-card">
                <div class="rk-mistake-num">4</div>
                <div class="rk-mistake-content">
                    <h3>Źle ustawione przepływy</h3>
                    <p>Brak regulacji hydraulicznej. Instalator nie ustawił przepływów (l/min) na <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrach w rozdzielaczu</a>, przez co woda szuka najkrótszej drogi, omijając najdłuższe pętle.</p>
                </div>
            </div>

            <div class="rk-mistake-card">
                <div class="rk-mistake-num">5</div>
                <div class="rk-mistake-content">
                    <h3>Brak projektu</h3>
                    <p>Klasyczne robienie instalacji &#8222;na oko z pamięci&#8221;. Bez <a href="https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/">profesjonalnego projektu</a> tracisz gwarancję komfortu i oddajesz swój budżet w ręce ślepego losu.</p>
                </div>
            </div>

        </div>

        <div class="rk-limit-section">
            <div class="rk-limit-header">
                <h3>Czy Twój dom mieści się w limicie 100 W/m²?</h3>
                <p>
                    To najważniejszy argument techniczny obalający mity o podłogówce. Powyżej 100 W/m² (aby ogrzać pokój) podłoga musi przekroczyć bezpieczną dla zdrowia temperaturę 29°C. Sprawdź na suwaku zapotrzebowanie swojego domu.
                </p>
            </div>

            <div class="rk-gauge-wrapper">
                <div class="rk-gauge-labels">
                    <span>Domy Nowe (WT 2021)</span>
                    <span>Remont / Stare (Bez ocieplenia)</span>
                </div>
                
                <input type="range" id="limit-slider" class="rk-slider" min="20" max="150" step="5" value="35">
                
                <div class="rk-result-card safe" id="limit-card">
                    <div class="rk-result-val" id="limit-val">35 W/m²</div>
                    <div class="rk-result-text" id="limit-title">Podłogówka bez problemu (Idealnie)</div>
                    <p class="rk-result-desc" id="limit-desc">
                        Zapotrzebowanie na poziomie nowoczesnych domów energooszczędnych. Ogrzewanie podłogowe będzie pracować na zasilaniu ok. 28-32°C. Grzejniki są całkowicie zbędne.
                    </p>
                </div>
            </div>
        </div>

        <div class="rk-seo-tags-area">
            <span class="rk-mat-tag"># dlaczego podłogówka nie grzeje</span>
            <span class="rk-mat-tag"># zimna podłoga w nowym domu</span>
            <span class="rk-mat-tag"># zły rozstaw rur w ogrzewaniu podłogowym</span>
            <span class="rk-mat-tag"># limit 100 W/m2 ogrzewanie podłogowe</span>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('limit-slider');
    const card = document.getElementById('limit-card');
    const valText = document.getElementById('limit-val');
    const titleText = document.getElementById('limit-title');
    const descText = document.getElementById('limit-desc');

    function updateLimit() {
        const val = parseInt(slider.value);
        valText.textContent = val + ' W/m²';

        if (val <= 45) {
            // Zielony (Super bezpiecznie)
            card.className = 'rk-result-card safe';
            titleText.textContent = 'Podłogówka bez problemu (Idealnie)';
            descText.innerHTML = 'Zapotrzebowanie na poziomie nowoczesnych domów energooszczędnych (WT 2021). Ogrzewanie podłogowe będzie pracować na zasilaniu ok. 28-32°C. Grzejniki są <strong>całkowicie zbędne</strong>.';
        } 
        else if (val > 45 && val <= 80) {
            // Żółty (Nadal OK, standard / termomodernizacja)
            card.className = 'rk-result-card warn';
            titleText.textContent = 'Nadal OK (W normie)';
            descText.innerHTML = 'Standardowe budownictwo lub dom po dobrej termomodernizacji. Podłogówka wciąż wystarczy jako jedyne źródło ciepła, ale wymaga gęstszego układania rur i zasilania rzędu 35-38°C podczas srogich mrozów.';
        } 
        else {
            // Czerwony (Przekroczenie normy)
            card.className = 'rk-result-card danger';
            titleText.textContent = 'Potrzebne dodatkowe źródło ciepła';
            descText.innerHTML = 'Krytyczne przekroczenie! Aby pokryć straty ciepła rzędu ' + val + ' W/m², podłoga musiałaby parzyć w stopy (powyżej 29°C), co łamie normy. Konieczna głęboka izolacja budynku lub dodanie grzejników.';
        }
    }

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



<style>
:root {
    --rk-klimat-dark: #0f172a;
    --rk-klimat-blue: #0284c7;
    --rk-klimat-sky: #38bdf8;
    --rk-klimat-green: #10b981;
    --rk-klimat-ice: #e0f2fe;
    --rk-klimat-slate: #475569;
    --rk-klimat-border: #e2e8f0;
    --rk-klimat-bg: #ffffff;
    --rk-klimat-hover: #f8fafc;
}

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

/* Nagłówek i Intro */
.rk-klimat-header {
    padding: 40px 50px 30px;
    background: var(--rk-klimat-bg);
    border-bottom: 1px solid var(--rk-klimat-border);
}

.rk-klimat-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--rk-klimat-ice);
    color: var(--rk-klimat-blue);
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

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

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

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

.rk-klimat-text a:hover {
    border-color: var(--rk-klimat-blue);
    color: #0369a1;
}

/* Interaktywny Symulator OZC */
.rk-klimat-sim-area {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-sim-header {
    text-align: center;
    margin-bottom: 30px;
}

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

/* Suwak Strefy Klimatycznej */
.rk-range-wrapper {
    background: #ffffff;
    padding: 30px 40px;
    border-radius: 20px;
    border: 1px solid var(--rk-klimat-border);
    margin-bottom: 40px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    text-align: center;
}

.rk-range-display {
    margin-bottom: 25px;
}

.rk-range-title {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-klimat-blue);
    margin: 0 0 5px 0;
    font-family: 'Courier New', Courier, monospace;
}

.rk-range-subtitle {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-klimat-slate);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-slider-container {
    position: relative;
    padding: 10px 0;
}

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

.rk-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--rk-klimat-blue);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 2px 8px rgba(2, 132, 199, 0.4);
    transition: transform 0.1s;
}

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

.rk-slider-ticks {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    padding: 0 10px;
    font-size: 12px;
    font-weight: 800;
    color: var(--rk-klimat-gray);
}

/* Kafelki z Wynikami (Grid) */
.rk-results-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.rk-result-card {
    background: #ffffff;
    padding: 25px 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-klimat-border);
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}

.rk-result-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(2, 132, 199, 0.08);
    border-color: var(--rk-klimat-sky);
}

.rk-card-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 15px;
    background: var(--rk-klimat-ice);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-klimat-blue);
}

.rk-card-title {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 800;
    color: var(--rk-klimat-slate);
    margin: 0 0 10px 0;
}

.rk-card-value {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-klimat-dark);
    margin: 0 0 10px 0;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-card-desc {
    font-size: 13px;
    color: var(--rk-klimat-slate);
    line-height: 1.5;
    margin: 0;
}

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

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

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

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

.rk-btn-cta:hover {
    background: #059669;
    transform: translateY(-5px);
    box-shadow: 0 15px 30px -5px rgba(16, 185, 129, 0.5);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-klimat-header, .rk-klimat-sim-area, .rk-cta-panel { padding: 30px 20px; }
    .rk-klimat-container h2 { font-size: 24px; }
    .rk-range-wrapper { padding: 25px 20px; }
    .rk-range-title { font-size: 18px; }
    .rk-results-grid { grid-template-columns: 1fr; gap: 15px; } 
    .rk-card-value { min-height: auto; }
    .rk-btn-cta { width: 100%; padding: 18px 20px; font-size: 16px; flex-direction: column; gap: 8px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#article-klimat",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/"
    },
    "headline": "Jak strefy klimatyczne i brak grzejników wpływają na projekt ogrzewania podłogowego?",
    "description": "Zależność projektu instalacji płaszczyznowej od strefy klimatycznej w Polsce (od I do V). Wpływ na punkt biwalentny pompy ciepła, rozstaw rur i grubość styropianu.",
    "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-16",
    "dateModified": "2026-06-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#dataset-klimat",
    "name": "Wymagania projektowe ogrzewania płaszczyznowego wg 5 stref klimatycznych",
    "description": "Zestawienie inżynieryjne różnic w projektowaniu instalacji dla wszystkich 5 stref klimatycznych w Polsce zgodnie z normą PN-EN 12831.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "punkt biwalentny pompy ciepła",
      "rozstaw rur podłogówka",
      "grubość styropianu pod podłogówkę",
      "projekt OZC",
      "strefa brzegowa okna"
    ],
    "measurementTechnique": "Analiza zapotrzebowania cieplnego i parametrów instalacji w ujęciu geograficznym od łagodnej strefy I (-16°C) po ekstremalną strefę V (-24°C).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Strefa I (-16°C): Rozstaw 20 cm, izolacja 1,25 m2K/W.",
        "Strefa III (-20°C): Obowiązkowa strefa brzegowa 10 cm pod oknami.",
        "Strefa V (-24°C): Przesunięcie punktu biwalentnego poniżej -12°C, izolacja min. 1,50 m2K/W."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#webapp-klimat",
    "name": "Symulator 5 Stref Klimatycznych HVAC",
    "description": "Aplikacja pozwalająca użytkownikowi dobrać parametry instalacji (rozstaw, pompa, styropian) precyzyjnie do strefy klimatycznej (I-V) w której budowany jest dom.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-klimat-container" id="rk-klimat-module">
    <div class="rk-klimat-header">
        <div class="rk-klimat-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 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>
            Inżynieria Projektowa
        </div>
        <h2>Jak 5 stref klimatycznych i brak grzejników wpływają na projekt ogrzewania podłogowego?</h2>
        <p class="rk-klimat-text">
            Projektowanie podłogówki jako systemu samodzielnego drastycznie różni się od układów hybrydowych. Pierwszym krokiem jest rzetelne wykonanie <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">OZC dla każdego pomieszczenia osobno</a> (zgodnie z normą PN-EN 12831). Polska posiada aż 5 różnych stref klimatycznych – zastosowanie wskaźników "na oko" (typu stałe 15 cm) gwarantuje awarię systemu podczas mrozów.
        </p>
    </div>

    <div class="rk-klimat-sim-area">
        <div class="rk-sim-header">
            <h3>Sprawdź wymogi inżynierskie dla swojej strefy</h3>
        </div>
        
        <div class="rk-range-wrapper">
            <div class="rk-range-display">
                <h4 class="rk-range-title" id="val-zone-title">Strefa II (-18°C)</h4>
                <p class="rk-range-subtitle" id="val-zone-sub">Polska Centralna i Zachodnia</p>
            </div>
            
            <div class="rk-slider-container">
                <input type="range" min="1" max="5" value="2" class="rk-slider" id="rkClimateSlider" step="1">
            </div>
            <div class="rk-slider-ticks">
                <span>I</span>
                <span>II</span>
                <span>III</span>
                <span>IV</span>
                <span>V</span>
            </div>
        </div>

        <div class="rk-results-grid">
            <div class="rk-result-card">
                <div class="rk-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="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 class="rk-card-title">Punkt Biwalentny</h4>
                <div class="rk-card-value" id="val-bivalent">-7°C do -10°C</div>
                <p class="rk-card-desc" id="desc-bivalent">Grzałki elektryczne <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/">pompy ciepła</a> uruchamiają się rzadko. Standardowa sprężarka.</p>
            </div>

            <div class="rk-result-card">
                <div class="rk-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"><rect x="2" y="6" width="20" height="12" rx="2"></rect><path d="M12 12h.01"></path><path d="M17 12h.01"></path><path d="M7 12h.01"></path></svg>
                </div>
                <h4 class="rk-card-title">Rozstaw Rur</h4>
                <div class="rk-card-value" id="val-spacing">15 cm / 20 cm</div>
                <p class="rk-card-desc" id="desc-spacing">Rozstaw rzadszy na środku. Jedynie przy oknach tarasowych stosowana jest węższa <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/">strefa brzegowa (10 cm)</a>.</p>
            </div>

            <div class="rk-result-card">
                <div class="rk-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"><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>
                <h4 class="rk-card-title">Izolacja (R)</h4>
                <div class="rk-card-value" id="val-insulation">1,25 m²K/W</div>
                <p class="rk-card-desc" id="desc-insulation">Standardowa izolacja zgodnie z normą PN-EN 1264-4. Minimalna <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">grubość styropianu</a> do zaakceptowania.</p>
            </div>
        </div>
    </div>

    <div class="rk-cta-panel">
        <h3 class="rk-cta-title">Nie zgaduj, zainwestuj w bezpieczeństwo</h3>
        <p class="rk-cta-desc">
            Błąd w doborze rozstawu rur lub grubości izolacji do Twojej strefy klimatycznej to zimne wnętrza i koszty naprawy w dziesiątkach tysięcy złotych. Zamów profesjonalny projekt, przeliczony co do wata.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-cta">
            ZAMÓW PROJEKT POD SWOJĄ STREFĘ
            <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('rkClimateSlider');
    
    // Pola Nagłówka
    const elZoneTitle = document.getElementById('val-zone-title');
    const elZoneSub = document.getElementById('val-zone-sub');
    
    // Wartości Kafelków
    const valBivalent = document.getElementById('val-bivalent');
    const valSpacing = document.getElementById('val-spacing');
    const valInsulation = document.getElementById('val-insulation');
    
    // Opisy Kafelków
    const descBivalent = document.getElementById('desc-bivalent');
    const descSpacing = document.getElementById('desc-spacing');
    const descInsulation = document.getElementById('desc-insulation');

    // Baza Danych 5 Stref
    const zoneData = {
        1: {
            title: "Strefa I (-16°C)",
            sub: "Pas Nadmorski i Krańce Pn-Zach.",
            biv: "-5°C do -7°C",
            bivDesc: "Pompa ciepła pracuje w komfortowych warunkach. Grzałki uruchamiają się incydentalnie.",
            space: "15 cm / 20 cm",
            spaceDesc: "Niskie straty ciepła pozwalają na rzadszy <a href='https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/' style='color:var(--rk-klimat-blue);font-weight:700;text-decoration:none;'>rozstaw rur</a>. Zagęszczenia tylko przy dużych oknach.",
            ins: "1,25 m²K/W",
            insDesc: "Wystarczy standardowa izolacja podłogi zgodna z podstawowymi wytycznymi normy."
        },
        2: {
            title: "Strefa II (-18°C)",
            sub: "Polska Centralna i Zachodnia",
            biv: "-7°C do -10°C",
            bivDesc: "Grzałki elektryczne <a href='https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/' style='color:var(--rk-klimat-blue);font-weight:700;text-decoration:none;'>pompy ciepła</a> uruchamiają się rzadko. Standardowa sprężarka.",
            space: "15 cm / 20 cm",
            spaceDesc: "Rozstaw rzadszy na środku. Jedynie przy oknach tarasowych stosowana jest węższa <a href='https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/' style='color:var(--rk-klimat-blue);font-weight:700;text-decoration:none;'>strefa brzegowa (10 cm)</a>.",
            ins: "1,25 m²K/W",
            insDesc: "Standardowa izolacja zgodnie z normą PN-EN 1264-4. Minimalna <a href='https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/' style='color:var(--rk-klimat-blue);font-weight:700;text-decoration:none;'>grubość styropianu</a> do zaakceptowania."
        },
        3: {
            title: "Strefa III (-20°C)",
            sub: "Polska Południowa i Wschodnia",
            biv: "ok. -10°C",
            bivDesc: "Częstsze spadki temperatur wymuszają precyzyjną optymalizację punktu biwalentnego.",
            space: "10 cm / 15 cm",
            spaceDesc: "Obowiązkowa strefa brzegowa 10 cm pod oknami. W centrum pomieszczeń rozstaw 15 cm to bezpieczne maksimum.",
            ins: "1,50 m²K/W",
            insDesc: "Wskazane pogrubienie płyty styropianu, aby zablokować ucieczkę ciepła do gruntu przy długich falach mrozów."
        },
        4: {
            title: "Strefa IV (-22°C)",
            sub: "Białostocczyzna i Podgórze",
            biv: "-10°C do -12°C",
            bivDesc: "Zalecany dobór urządzeń przystosowanych do surowego klimatu, aby powstrzymać wysokie rachunki za prąd.",
            space: "Głównie 10 cm",
            spaceDesc: "Z uwagi na wyższe straty ciepła, dominuje gęsty rozstaw 10 cm na większości posadzek.",
            ins: "1,50 - 2,00 m²K/W",
            insDesc: "Konieczność zastosowania bardzo solidnego docieplenia płyty fundamentowej lub stropu nad piwnicą."
        },
        5: {
            title: "Strefa V (-24°C)",
            sub: "Suwalszczyzna i Górne Partie Gór",
            biv: "Poniżej -12°C",
            bivDesc: "Wymaga pompy o płaskiej charakterystyce mocy (np. wtrysk EVI), by grzałki nie zrujnowały budżetu.",
            space: "Zawsze 10 cm",
            spaceDesc: "Ekstremalny klimat wymusza <a href='https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/' style='color:var(--rk-klimat-blue);font-weight:700;text-decoration:none;'>maksymalne zagęszczenie rur</a> na całej powierzchni domu.",
            ins: "1,75 - 2,00 m²K/W",
            insDesc: "Standard inżynierski dla tej strefy. Absolutne minimum to czysty styropian EPS 100 o grubości 15-20 cm."
        }
    };

    slider.addEventListener('input', function() {
        const val = parseInt(this.value);
        const data = zoneData[val];

        // Zmiana kolorów w zależności od skrajności strefy
        let accentColor = 'var(--rk-klimat-blue)';
        let darkColor = 'var(--rk-klimat-dark)';
        if(val >= 4) {
            accentColor = '#dc2626'; // Czerwony dla surowych stref
            darkColor = '#dc2626';
        } else if (val === 1) {
            accentColor = 'var(--rk-klimat-green)'; // Zielony dla nadmorza
        }
        
        // Aktualizacja Nagłówków
        elZoneTitle.textContent = data.title;
        elZoneTitle.style.color = accentColor;
        elZoneSub.textContent = data.sub;

        // Aktualizacja Kafelków
        valBivalent.innerHTML = data.biv;
        valBivalent.style.color = darkColor;
        descBivalent.innerHTML = data.bivDesc;

        valSpacing.innerHTML = data.space;
        valSpacing.style.color = darkColor;
        descSpacing.innerHTML = data.spaceDesc;

        valInsulation.innerHTML = data.ins;
        valInsulation.style.color = darkColor;
        descInsulation.innerHTML = data.insDesc;
        
        // Dynamiczna modyfikacja suwaka
        this.style.background = `linear-gradient(to right, ${accentColor} 0%, ${accentColor} ${(val-1)*25}%, #e2e8f0 ${(val-1)*25}%, #e2e8f0 100%)`;
    });
    
    // Inicjalizacja kolorowania suwaka na starcie
    slider.dispatchEvent(new Event('input'));
});
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-blue: #0284c7;
    --rk-case-sky: #38bdf8;
    --rk-case-green: #059669;
    --rk-case-red: #dc2626;
    --rk-case-gray: #64748b;
    --rk-case-border: #e2e8f0;
    --rk-case-bg: #ffffff;
    --rk-case-panel: #f8fafc;
}

.rk-case-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-case-bg);
    border-radius: 20px;
    border: 1px solid var(--rk-case-red);
    box-shadow: 0 15px 35px -5px rgba(220, 38, 38, 0.12);
    overflow: hidden;
}

/* Nagłówek */
.rk-case-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, #450a0a 0%, var(--rk-case-dark) 100%);
    color: #ffffff;
    position: relative;
}

.rk-case-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
    padding: 6px 16px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.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: #cbd5e1;
    line-height: 1.6;
    margin: 0;
}

/* Ciało kontenera */
.rk-case-body {
    padding: 40px 50px;
}

/* Sekcja Wstępna */
.rk-case-intro {
    margin-bottom: 35px;
}

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

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

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

/* Karty Porównawcze (VERSUS) */
.rk-case-vs-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
    margin-bottom: 35px;
}

.rk-vs-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 25px;
    position: relative;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

/* Karta Błędów (Czerwona) */
.rk-vs-card.danger {
    border: 2px solid #fecaca;
    background: #fff5f5;
}

.rk-vs-card.danger .rk-vs-header {
    color: var(--rk-case-red);
    border-bottom: 2px solid #fecaca;
}

.rk-vs-card.danger .rk-vs-icon {
    background: #fef2f2;
    color: var(--rk-case-red);
}

/* Karta Poprawna (Zielona) */
.rk-vs-card.success {
    border: 2px solid #a7f3d0;
    background: #f0fdf4;
}

.rk-vs-card.success .rk-vs-header {
    color: var(--rk-case-green);
    border-bottom: 2px solid #a7f3d0;
}

.rk-vs-card.success .rk-vs-icon {
    background: #ecfdf5;
    color: var(--rk-case-green);
}

/* Elementy Wewnętrzne Kart */
.rk-vs-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 15px;
    margin-bottom: 20px;
}

.rk-vs-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-vs-title {
    font-size: 16px;
    font-weight: 900;
    margin: 0;
}

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

.rk-vs-list li {
    font-size: 14px;
    color: var(--rk-case-dark);
    margin-bottom: 15px;
    padding-left: 28px;
    position: relative;
    line-height: 1.5;
}

.rk-vs-list li:last-child {
    margin-bottom: 0;
}

/* Ikony list w kartach */
.rk-vs-card.danger .rk-vs-list li::before {
    content: "✗";
    position: absolute;
    left: 0;
    top: -2px;
    color: var(--rk-case-red);
    font-size: 16px;
    font-weight: 900;
}

.rk-vs-card.success .rk-vs-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: -2px;
    color: var(--rk-case-green);
    font-size: 16px;
    font-weight: 900;
}

.rk-vs-highlight {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    font-weight: 700;
    opacity: 0.8;
}

/* Wniosek końcowy */
.rk-alert-box {
    background: var(--rk-case-dark);
    color: #ffffff;
    border-left: 4px solid var(--rk-case-red);
    padding: 20px 25px;
    border-radius: 0 8px 8px 0;
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 25px;
}

.rk-alert-box strong {
    color: #fca5a5;
    font-weight: 900;
    font-size: 16px;
    letter-spacing: 0.5px;
}

/* Tagi SEO Long-Tail */
.rk-seo-tags-area {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 20px;
    border-top: 1px dashed var(--rk-case-border);
}

.rk-mat-tag {
    background: var(--rk-case-panel);
    color: var(--rk-case-gray);
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    border: 1px solid var(--rk-case-border);
    transition: all 0.2s;
    cursor: default;
}

.rk-mat-tag:hover {
    background: var(--rk-case-blue);
    color: #ffffff;
    border-color: var(--rk-case-blue);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-case-header { padding: 30px 20px; }
    .rk-case-header h2 { font-size: 24px; }
    .rk-case-body { padding: 30px 20px; }
    .rk-case-vs-grid { grid-template-columns: 1fr; gap: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/"
    },
    "headline": "Analiza projektów typowych: Dlaczego gotowy projekt ogrzewania z internetu to błąd?",
    "description": "Case study Roberta Kucharskiego. Analiza gotowych projektów instalacji z popularnych baz: Extradom, ARCHON+, Murator, Tooba, MG Projekt, HomeKONCEPT, Archipelag, Archeton, Dobre Domy, Z500.",
    "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-16",
    "dateModified": "2026-06-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#dataset-analiza-typowa",
    "name": "Analiza błędów hydraulicznych w gotowych projektach domów",
    "description": "Zestawienie błędów projektowych zidentyfikowanych w paczkach instalacyjnych pochodzących z platform i pracowni takich jak: Extradom.pl, ARCHON+, Murator Projekty Domów, Tooba.pl, MG Projekt, HomeKONCEPT, Archipelag, Archeton, Dobre Domy, Z500.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "gotowy projekt ogrzewania podłogowego opinie",
      "projekt podłogówki do gotowego projektu domu",
      "błędy w projektach instalacji online",
      "ile kosztuje projekt ogrzewania podłogowego",
      "projekt ogrzewania do projektu archon",
      "extradom projekt instalacji podłogowej opinie",
      "projekt podłogówki z500 czy warto"
    ],
    "measurementTechnique": "Weryfikacja inżynierska założeń instalacyjnych dodawanych szablonowo do projektów gotowych domów jednorodzinnych na polskim rynku e-commerce budowlanego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Nieuwzględnianie strefy klimatycznej w projektach typowych.",
        "Stały rozstaw rur 15 cm niezależnie od lokalizacji (Szczecin vs Suwałki).",
        "Zawyżone ryzyko niedogrzania budynku przy ujemnych temperaturach."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#webapp-analiza-typowa",
    "name": "Skaner Poprawności OZC",
    "description": "Narzędzie porównawcze uwydatniające różnice w specyfikacji technicznej pomiędzy projektem masowym z internetu a zoptymalizowanym projektem inżynierskim.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-container">
    
    <div class="rk-case-header">
        <div class="rk-case-badge">Analiza Rynkowa (Case Study)</div>
        <h2>Demaskujemy rynek: Dlaczego "gotowy projekt podłogówki" to pułapka?</h2>
        <p>Przeanalizowaliśmy gotowe projekty instalacji grzewczych, oferowanych za 500-700 zł jako dodatek do paczki z projektem domu na popularnych portalach. Wnioski są jednoznaczne.</p>
    </div>

    <div class="rk-case-body">
        
        <div class="rk-case-intro">
            <h3>Szablon, który ignoruje fizykę budowli</h3>
            <p>
                Kupując projekt wymarzonego domu w internecie, inwestorzy często z automatu "doklikują" projekt ogrzewania podłogowego. Zauważyliśmy na przestrzeni lat przerażającą zależność: <strong>klienci z łagodnego Wrocławia (Strefa II) i z mroźnych Suwałk (Strefa V), kupujący ten sam dom, otrzymują identyczną dokumentację z pieczątką.</strong>
            </p>
            <p>
                Algorytmy portali sprzedażowych generują <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" style="color:var(--rk-case-blue);font-weight:700;">rozstaw rur</a> i pętle według jednego, uniwersalnego wzorca. To kompletny absurd, który kończy się awarią systemu w pierwszą mroźną zimę. Zobacz poniżej, na czym polega różnica.
            </p>
        </div>

        <div class="rk-case-vs-grid">
            
            <div class="rk-vs-card danger">
                <div class="rk-vs-header">
                    <div class="rk-vs-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="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-vs-title">Projekt "Gotowiec" z portalu</h4>
                </div>
                <ul class="rk-vs-list">
                    <li>
                        Brak wyliczeń OZC dla Twojej działki.
                        <span class="rk-vs-highlight" style="color:var(--rk-case-red);">Korzysta z uśrednionych norm.</span>
                    </li>
                    <li>
                        Ignorowanie strefy klimatycznej.
                        <span class="rk-vs-highlight" style="color:var(--rk-case-red);">Dom nad morzem traktowany jak w górach.</span>
                    </li>
                    <li>
                        Uniwersalny rozstaw rur 15 cm.
                        <span class="rk-vs-highlight" style="color:var(--rk-case-red);">Brak zagęszczeń pod dużymi oknami tarasowymi.</span>
                    </li>
                </ul>
            </div>

            <div class="rk-vs-card success">
                <div class="rk-vs-header">
                    <div class="rk-vs-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="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-vs-title">Projekt Inżynierski na wymiar</h4>
                </div>
                <ul class="rk-vs-list">
                    <li>
                        Rzetelne obliczenia strat ciepła każdego pokoju.
                        <span class="rk-vs-highlight" style="color:var(--rk-case-green);">Zgodność z normą PN-EN 12831.</span>
                    </li>
                    <li>
                        Parametry dobrane pod strefę (I-V).
                        <span class="rk-vs-highlight" style="color:var(--rk-case-green);">Idealne dopasowanie m.in. do grubości wylewki.</span>
                    </li>
                    <li>
                        Zmienne zagęszczenie rur (np. 10 cm).
                        <span class="rk-vs-highlight" style="color:var(--rk-case-green);">Eliminuje zimne strefy przy przeszkleniach.</span>
                    </li>
                </ul>
            </div>

        </div>

        <div class="rk-alert-box">
            <strong>Wniosek inżynierski:</strong> Typowy "gotowiec" zakłada łagodną zimę i ignoruje parametry pompy ciepła. Jeśli wybudujesz ten dom w chłodniejszej strefie, w salonie zabraknie Ci mocy grzewczej, a posadzka nie zdoła utrzymać komfortowych 20°C bez włączenia kosztownych grzałek prądowych.
        </div>

        <div class="rk-seo-tags-area">
            <span class="rk-mat-tag"># gotowy projekt ogrzewania podłogowego opinie</span>
            <span class="rk-mat-tag"># projekt podłogówki do gotowego projektu domu</span>
            <span class="rk-mat-tag"># błędy w projektach instalacji online</span>
            <span class="rk-mat-tag"># ile kosztuje projekt ogrzewania podłogowego</span>
            <span class="rk-mat-tag"># projekt ogrzewania do projektu archon</span>
            <span class="rk-mat-tag"># extradom projekt instalacji podłogowej opinie</span>
            <span class="rk-mat-tag"># projekt podłogówki z500 czy warto</span>
        </div>

    </div>
</div>



<style>
:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-blue: #0284c7;
    --rk-auth-sky: #38bdf8;
    --rk-auth-blue-light: #f0f9ff;
    --rk-auth-gray: #64748b;
    --rk-auth-border: #e2e8f0;
    --rk-auth-bg: #ffffff;
    --rk-auth-panel: #f8fafc;
}

.rk-auth-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-auth-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-auth-blue);
    box-shadow: 0 10px 30px -10px rgba(2, 132, 199, 0.15);
    overflow: hidden;
}

/* Układ Główny Kontenera */
.rk-auth-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
}

/* Lewa Kolumna - Zdjęcie i Sociale */
.rk-auth-sidebar {
    background: var(--rk-auth-dark);
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border-right: 1px solid var(--rk-auth-border);
}

.rk-auth-image-wrapper {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    border: 4px solid var(--rk-auth-sky);
    padding: 4px;
    margin-bottom: 20px;
    background: #ffffff;
}

.rk-auth-image {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.rk-auth-role {
    color: var(--rk-auth-sky);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 8px;
}

.rk-auth-name {
    color: #ffffff;
    font-size: 22px;
    font-weight: 900;
    margin: 0 0 5px 0;
    line-height: 1.2;
}

.rk-auth-brand {
    color: #cbd5e1;
    font-size: 14px;
    margin: 0 0 25px 0;
    font-style: italic;
}

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

.rk-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    border-radius: 8px;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

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

.rk-social-proof {
    margin-top: 20px;
    font-size: 12px;
    color: #94a3b8;
    line-height: 1.5;
}

.rk-social-proof strong {
    color: #ffffff;
}

/* Prawa Kolumna - Treść (H2 i Taby) */
.rk-auth-content {
    padding: 40px;
    display: flex;
    flex-direction: column;
}

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

/* Blok Cytatu */
.rk-quote-box {
    position: relative;
    padding: 25px 30px;
    background: var(--rk-auth-blue-light);
    border-left: 4px solid var(--rk-auth-blue);
    border-radius: 0 12px 12px 0;
    margin-bottom: 30px;
}

.rk-quote-icon {
    position: absolute;
    top: -15px;
    left: 20px;
    color: var(--rk-auth-blue);
    background: var(--rk-auth-bg);
    padding: 0 5px;
}

.rk-quote-text {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-auth-dark);
    font-weight: 500;
    margin: 0;
}

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

/* Interaktywne Zakładki (Bez Animacji) */
.rk-auth-tabs-nav {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
    border-bottom: 2px solid var(--rk-auth-border);
    padding-bottom: 10px;
}

.rk-tab-btn {
    background: transparent;
    border: none;
    padding: 8px 15px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-auth-gray);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 6px;
}

.rk-tab-btn:hover {
    background: var(--rk-auth-panel);
    color: var(--rk-auth-dark);
}

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

.rk-tab-panel {
    display: none;
    background: #ffffff;
    border: 1px solid var(--rk-auth-border);
    padding: 25px;
    border-radius: 8px;
}

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

.rk-tab-panel h3 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-auth-dark);
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-tab-panel p {
    font-size: 14px;
    color: var(--rk-auth-gray);
    line-height: 1.6;
    margin: 0 0 10px 0;
}

.rk-tab-panel p:last-child {
    margin: 0;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-auth-grid {
        grid-template-columns: 1fr;
    }
    
    .rk-auth-sidebar {
        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-auth-tabs-nav {
        flex-direction: column;
        gap: 5px;
        border-bottom: none;
    }

    .rk-tab-btn {
        text-align: left;
        background: var(--rk-auth-panel);
        border: 1px solid var(--rk-auth-border);
    }
    
    .rk-tab-btn.active {
        background: var(--rk-auth-dark);
        border-color: var(--rk-auth-dark);
    }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#article-autor",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/"
    },
    "headline": "Podsumowanie eksperta: Robert Kucharski",
    "description": "Autorytatywne podsumowanie analizy ogrzewania podłogowego. Okiem praktyka, inżyniera HVAC i twórcy portalu projekt-ogrzewania.pl.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "Inżynier HVAC / Projektant",
      "worksFor": {
        "@type": "Organization",
        "name": "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-16",
    "dateModified": "2026-06-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#dataset-autor",
    "name": "Baza rekomendacji projektowych HVAC",
    "description": "Zbiór fundamentalnych założeń i standardów inżynierskich dotyczących wdrażania samodzielnego ogrzewania płaszczyznowego w oparciu o obliczenia OZC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego",
      "audyt OZC",
      "dokumentacja techniczna podłogówki",
      "budowa bez ściemy",
      "robert kucharski hvac"
    ],
    "measurementTechnique": "Określanie skuteczności systemu w oparciu o czystą fizykę budowli i ścisłe obliczenia strat ciepła, eliminując błędy montażu 'na oko'.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Priorytet rzetelnego audytu OZC przed montażem instalacji.",
        "Nadrzędność precyzyjnej dokumentacji projektowej nad samym materiałem.",
        "Budowa oparta na liczbach i weryfikowalnych parametrach (Budowa bez ściemy)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#webapp-autor",
    "name": "Interaktywna Wizytówka Eksperta (E-E-A-T)",
    "description": "Moduł weryfikujący autentyczność autora i dostarczający czytelnikowi eksperckich wniosków, wspierający transparentność portalu branżowego.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-auth-container" id="rk-author-module">
    <div class="rk-auth-grid">
        
        <!-- Lewa Kolumna (Profil) -->
        <div class="rk-auth-sidebar">
            <div class="rk-auth-image-wrapper">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Specjalista HVAC" class="rk-auth-image" loading="lazy" width="160" height="160">
            </div>
            
            <div class="rk-auth-role">Główny Projektant</div>
            <h3 class="rk-auth-name">Robert Kucharski</h3>
            <div class="rk-auth-brand">"Budowa bez ściemy"</div>
            
            <div class="rk-auth-socials">
                <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-social-btn" aria-label="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://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-social-btn" aria-label="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>
            </div>

            <div class="rk-social-proof">
                Dołącz do społeczności ponad <strong>3700</strong> świadomych inwestorów.
            </div>
        </div>

        <!-- Prawa Kolumna (Treść) -->
        <div class="rk-auth-content">
            
            <!-- Semantyczny nagłówek H2, aby Google załapało kontekst -->
            <h2>Podsumowanie eksperta: Robert Kucharski</h2>

            <div class="rk-quote-box">
                <div class="rk-quote-icon">
                    <svg width="32" height="32" viewBox="0 0 24 24" fill="currentColor"><path d="M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z" /></svg>
                </div>
                <p class="rk-quote-text">
                    Zdaniem <strong>Roberta Kucharskiego</strong>, rezygnacja z tradycyjnych grzejników na rzecz samej podłogówki to nie ryzyko, lecz czysta matematyka. Jeśli fundamentem Twojej budowy jest profesjonalnie wykonane OZC, system płaszczyznowy poradzi sobie z każdą polską zimą.
                </p>
            </div>

            <!-- Interaktywne menu (Bez animacji, natychmiastowa zmiana) -->
            <div class="rk-auth-tabs-nav" id="rk-auth-tabs">
                <button class="rk-tab-btn active" data-target="tab-podejscie">Podejście</button>
                <button class="rk-tab-btn" data-target="tab-dokumentacja">Dokumentacja</button>
                <button class="rk-tab-btn" data-target="tab-gwarancja">Gwarancja</button>
            </div>

            <!-- Panele Treści -->
            <div class="rk-tab-panel active" id="tab-podejscie">
                <h3>
                    <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>
                    Budowa bez ściemy
                </h3>
                <p>Odrzucam metody robienia instalacji "na oko". Komfort cieplny Twojego domu nie może opierać się na domysłach instalatora. Każdy rozstaw rury i każdy parametr zasilania musi wynikać bezpośrednio z fizyki budowli.</p>
            </div>

            <div class="rk-tab-panel" id="tab-dokumentacja">
                <h3>
                    <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="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>
                    Skupienie na projekcie
                </h3>
                <p>Moje działania koncentrują się wyłącznie na dostarczaniu najwyższej klasy dokumentacji projektowej i rzetelnych wyliczeniach. Dobry projekt jest mapą drogową, która chroni budżet inwestora przed kosztownymi błędami wykonawczymi.</p>
            </div>

            <div class="rk-tab-panel" id="tab-gwarancja">
                <h3>
                    <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 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    Bezpieczeństwo Inwestycji
                </h3>
                <p>Niezależnie od tego, czy budujesz mały dom pasywny, czy przeprowadzasz skomplikowaną termomodernizację starszego budynku, precyzyjne dopasowanie instalacji do lokalnej strefy klimatycznej to jedyna droga do niskich rachunków.</p>
            </div>

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

<!-- ==========================================
     LOGIKA JS (Zarządzanie zakładkami)
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('#rk-auth-tabs .rk-tab-btn');
    const panels = document.querySelectorAll('.rk-auth-content .rk-tab-panel');

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // Natychmiastowy reset - brak animacji
            tabs.forEach(t => t.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Aktywacja wybranego elementu
            this.classList.add('active');
            const targetId = this.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });
});
</script>



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

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

/* Sekcja Nagłówkowa */
.rk-faq-header {
    padding: 40px 50px 30px;
    background: linear-gradient(to right, var(--rk-faq-dark), #1e293b);
    color: #ffffff;
}

.rk-faq-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(56, 189, 248, 0.2);
    color: #38bdf8;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.rk-faq-title {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.2;
}

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

/* Sekcja Akordeonu (Interaktywna) */
.rk-faq-content {
    padding: 30px 50px 40px;
    background: #f8fafc;
}

.rk-accordion-item {
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    margin-bottom: 16px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
}

.rk-accordion-item:hover {
    border-color: #bae6fd;
    box-shadow: 0 10px 15px -3px rgba(2, 132, 199, 0.05);
}

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

.rk-accordion-btn {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 30px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    color: var(--rk-faq-dark);
}

.rk-accordion-btn h3 {
    font-size: 18px;
    font-weight: 800;
    margin: 0;
    padding-right: 20px;
    line-height: 1.4;
    transition: color 0.3s ease;
}

.rk-accordion-item.active .rk-accordion-btn h3 {
    color: var(--rk-faq-blue);
}

.rk-accordion-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--rk-faq-blue-light);
    color: var(--rk-faq-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

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

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

.rk-panel-content {
    padding: 0 30px 30px;
    color: var(--rk-faq-text);
    font-size: 16px;
    line-height: 1.7;
    border-top: 1px solid transparent;
}

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

.rk-panel-content 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-panel-content a:hover {
    border-color: var(--rk-faq-blue);
    color: #0369a1;
}

/* Responsywność mobilna */
@media (max-width: 768px) {
    .rk-faq-header, .rk-faq-content { padding: 30px 20px; }
    .rk-faq-title { font-size: 26px; }
    .rk-accordion-btn { padding: 20px; }
    .rk-accordion-btn h3 { font-size: 16px; }
    .rk-panel-content { padding: 0 20px 25px; font-size: 15px; }
    .rk-accordion-icon { width: 32px; height: 32px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/"
    },
    "headline": "Samodzielna podłogówka: FAQ Inwestora",
    "description": "Najczęstsze pytania inwestorów o koszty, temperatury i zdrowie przy korzystaniu z ogrzewania podłogowego jako jedynego ź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://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-16",
    "dateModified": "2026-06-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy ogrzewanie podłogowe wystarczy jako jedyne źródło ciepła w starym domu bez grzejników?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, ale wyłącznie po przeprowadzeniu głębokiej termomodernizacji ścian i dachu do wskaźnika strat ciepła poniżej 60 W/m². Bez docieplenia budynku, pokrycie strat ciepła samą podłogą wymagałoby przekroczenia bezpiecznej temperatury posadzki (29°C), co jest niezgodne z normą PN-EN 1264."
        }
      },
      {
        "@type": "Question",
        "name": "Jak temperatura zewnętrzna -20°C wpływa na rachunki przy samej podłogówce?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Przy tak niskiej temperaturze współczynnik COP powietrznej pompy ciepła spada do ok. 2,0, co chwilowo zwiększa pobór prądu. Ponieważ jednak podłogówka wymaga zasilania zaledwie 35°C, rachunki są i tak o 35-40% niższe niż w przypadku zasilania grzejników parametrem 60°C przy tym samym mrozie."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka posadzka jest najlepsza, jeśli podłogówka ma być jedynym ogrzewaniem w pokoju?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Najlepszym materiałem są gres, płytki ceramiczne lub kamień naturalny, ponieważ posiadają najniższy opór oporu cieplnego (R ≤ 0,02 m²/K/W) i doskonale przewodzą strumień cieplny. Pozwala to na maksymalne obniżenie temperatury wody w instalacji i zwiększenie sprawności źródła ciepła."
        }
      },
      {
        "@type": "Question",
        "name": "Czy w sypialniach można mieć tylko podłogówkę bez obaw o zdrowie?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, prawidłowo zaprojektowany system nie unosi kurzu (brak zjawiska konwekcji) i utrzymuje temperaturę podłogi na poziomie 22-24°C, co jest w pełni bezpieczne. Kluczem jest rezygnacja z grubych dywanów, które działają jak izolator termiczny."
        }
      },
      {
        "@type": "Question",
        "name": "Ile wynosi maksymalna temperatura zasilania podłogówki przy braku innych grzejników?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Maksymalna temperatura zasilania wodnego ogrzewania podłogowego w polskich warunkach wynosi 45°C przy skrajnych mrozach projektowych. Standardowo jednak w obliczeniach inżynierskich dąży się do tego, aby parametr ten nie przekraczał 35°C dla zoptymalizowania sprawności pompy ciepła."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#dataset-faq",
    "name": "Parametry Graniczne Samodzielnego Ogrzewania Podłogowego",
    "description": "Zestawienie maksymalnych i normatywnych parametrów eksploatacyjnych systemu płaszczyznowego bez wspomagania grzejnikami.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna temperatura podłogówki",
      "opór cieplny posadzki",
      "podłogówka w starym domu",
      "temperatura zasilania pompy ciepła",
      "wymagania normy PN-EN 1264"
    ],
    "measurementTechnique": "Określenie zależności pomiędzy stopniem termomodernizacji, rodzajem wykończenia podłogi a temperaturą czynnika grzewczego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Maksymalny opór cieplny okładziny: R ≤ 0,02 m²/K/W (dla płytek)",
        "Docelowa temperatura zasilania: 35°C",
        "Dopuszczalne straty ciepła budynku: < 60 W/m²"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#webapp-faq",
    "name": "Interaktywny Przewodnik Inwestora (Baza Wiedzy)",
    "description": "Moduł Q&#038;A ułatwiający nawigację po najczęstszych dylematach inżynieryjnych i obalający mity budowlane dotyczące rezygnacji z grzejników.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-container" id="rk-faq-module">
    <div class="rk-faq-header">
        <div class="rk-faq-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><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
        </div>
        <h2 class="rk-faq-title">Najczęściej Zadawane Pytania (FAQ)</h2>
        <p class="rk-faq-subtitle">
            Masz wątpliwości? Rozwiewamy mity techniczne o samodzielnym ogrzewaniu podłogowym na bazie wieloletniej praktyki inżynierskiej.
        </p>
    </div>

    <div class="rk-faq-content">
        
        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Czy ogrzewanie podłogowe wystarczy jako jedyne źródło ciepła w starym domu bez grzejników?</h3>
                <div class="rk-accordion-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-accordion-panel">
                <div class="rk-panel-content">
                    Tak, ale wyłącznie po przeprowadzeniu głębokiej termomodernizacji ścian i dachu do wskaźnika strat ciepła poniżej <strong>60 W/m²</strong> (warto wyliczyć to w <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">kalkulatorze strat ciepła</a>). Bez docieplenia budynku, pokrycie strat ciepła samą podłogą wymagałoby przekroczenia bezpiecznej temperatury posadzki (29°C), co jest niezgodne z normą PN-EN 1264. Więcej na ten temat piszę w artykule o <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-remontowanym-budynku-czy-warto/">podłogówce w remontowanych budynkach</a>.
                </div>
            </div>
        </div>

        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Jak temperatura zewnętrzna -20°C wpływa na rachunki przy samej podłogówce?</h3>
                <div class="rk-accordion-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-accordion-panel">
                <div class="rk-panel-content">
                    Przy tak niskiej temperaturze współczynnik COP powietrznej pompy ciepła spada do ok. 2,0, co chwilowo zwiększa pobór prądu. Ponieważ jednak podłogówka wymaga zasilania rzędu zaledwie 35°C, rachunki są i tak o <strong>35-40% niższe</strong> niż w przypadku konieczności zasilania tradycyjnych grzejników parametrem 60°C przy tym samym mrozie.
                </div>
            </div>
        </div>

        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Jaka posadzka jest najlepsza, jeśli podłogówka ma być jedynym ogrzewaniem w pokoju?</h3>
                <div class="rk-accordion-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-accordion-panel">
                <div class="rk-panel-content">
                    Najlepszym materiałem są gres, płytki ceramiczne lub kamień naturalny, ponieważ posiadają najniższy opór cieplny (<strong>R ≤ 0,02 m²/K/W</strong>) i doskonale przewodzą strumień ciepła. Pozwala to na maksymalne obniżenie temperatury wody w instalacji i <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">zwiększenie sprawności źródła ciepła</a>.
                </div>
            </div>
        </div>

        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Czy w sypialniach można mieć tylko podłogówkę bez obaw o zdrowie?</h3>
                <div class="rk-accordion-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-accordion-panel">
                <div class="rk-panel-content">
                    Tak, <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/">prawidłowo zaprojektowany system ogrzewania podłogowego jest w 100% zdrowy</a>. Nie unosi kurzu (ze względu na minimalne zjawisko konwekcji) i utrzymuje temperaturę posadzki na neutralnym poziomie 22-24°C. Kluczem jest jedynie rezygnacja z grubych dywanów, które działają jak izolator termiczny.
                </div>
            </div>
        </div>

        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Ile wynosi maksymalna temperatura zasilania podłogówki przy braku innych grzejników?</h3>
                <div class="rk-accordion-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-accordion-panel">
                <div class="rk-panel-content">
                    <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">Maksymalna temperatura zasilania</a> wodnego ogrzewania podłogowego w polskich warunkach klimatycznych wynosi <strong>45°C</strong> przy skrajnych mrozach projektowych. Standardowo jednak, w poprawnych obliczeniach inżynierskich dąży się do tego, aby parametr ten nie przekraczał 35°C w celu optymalizacji sprawności pracy pompy ciepła.
                </div>
            </div>
        </div>

    </div>
</div>

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

    accItems.forEach(item => {
        const btn = item.querySelector('.rk-accordion-btn');
        const panel = item.querySelector('.rk-accordion-panel');

        btn.addEventListener('click', function() {
            // Czy ten element jest już otwarty?
            const isActive = item.classList.contains('active');

            // Zamknij wszystkie panele
            accItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.rk-accordion-panel').style.maxHeight = null;
            });

            // Jeśli nie był otwarty, otwórz go
            if (!isActive) {
                item.classList.add('active');
                panel.style.maxHeight = panel.scrollHeight + "px";
            }
        });
    });

    // Opcjonalnie: automatyczne rozwinięcie pierwszego elementu po załadowaniu
    if(accItems.length > 0) {
        accItems[0].classList.add('active');
        const firstPanel = accItems[0].querySelector('.rk-accordion-panel');
        firstPanel.style.maxHeight = firstPanel.scrollHeight + "px";
    }
});
</script>



<style>
:root {
    --rk-sum-dark: #0f172a;
    --rk-sum-blue: #0284c7;
    --rk-sum-light-blue: #f0f9ff;
    --rk-sum-green: #10b981;
    --rk-sum-green-light: #dcfce7;
    --rk-sum-red: #ef4444;
    --rk-sum-gold: #eab308;
    --rk-sum-gray: #64748b;
    --rk-sum-border: #e2e8f0;
    --rk-sum-bg: #ffffff;
}

.rk-sum-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, 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 */
.rk-sum-header {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, var(--rk-sum-dark) 0%, #1e293b 100%);
    color: #ffffff;
    position: relative;
}

.rk-sum-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(2, 132, 199, 0.3);
    color: #38bdf8;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 25px;
    border: 1px solid rgba(56, 189, 248, 0.2);
}

.rk-sum-title {
    font-size: 32px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 20px 0;
    line-height: 1.2;
}

.rk-sum-intro-text {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

.rk-sum-intro-text a {
    color: #38bdf8;
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px solid rgba(56, 189, 248, 0.4);
    transition: all 0.2s;
}

.rk-sum-intro-text a:hover {
    color: #ffffff;
    border-color: #ffffff;
}

/* Interaktywny Symulator Decyzji */
.rk-sum-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-interactive-header {
    text-align: center;
    margin-bottom: 30px;
}

.rk-interactive-header h3 {
    font-size: 24px;
    font-weight: 800;
    color: var(--rk-sum-dark);
    margin: 0 0 10px 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 ease;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

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

.rk-decision-btn.active[data-choice="pro"] {
    background: var(--rk-sum-green-light);
    border-color: var(--rk-sum-green);
    box-shadow: 0 10px 20px -5px rgba(16, 185, 129, 0.2);
}

.rk-decision-btn.active[data-choice="amateur"] {
    background: #fef2f2;
    border-color: var(--rk-sum-red);
    box-shadow: 0 10px 20px -5px rgba(239, 68, 68, 0.2);
}

.rk-decision-icon {
    width: 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="pro"] .rk-decision-icon {
    background: var(--rk-sum-green);
    color: #ffffff;
}

.rk-decision-btn.active[data-choice="amateur"] .rk-decision-icon {
    background: var(--rk-sum-red);
    color: #ffffff;
}

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

.rk-decision-desc {
    font-size: 13px;
    color: var(--rk-sum-gray);
    margin: 0;
}

/* Wynik symulacji */
.rk-sim-result {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 30px;
    align-items: center;
    padding: 35px;
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid var(--rk-sum-border);
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}

.rk-anim-svg {
    width: 100%;
    height: auto;
    max-width: 150px;
    margin: 0 auto;
}

/* Animacje SVG */
.state-pro .thermo-ring { stroke: var(--rk-sum-green); animation: fillRing 1.5s ease-out forwards; }
.state-pro .thermo-glow { fill: var(--rk-sum-green); animation: pulseGlow 2s infinite; }
.state-pro .thermo-pointer { transform-origin: 50px 50px; animation: pointOptimal 1s ease-out forwards; }

.state-amateur .thermo-ring { stroke: var(--rk-sum-red); animation: fillRingWarning 1.5s ease-out forwards; }
.state-amateur .thermo-glow { fill: var(--rk-sum-red); animation: pulseGlowWarning 1s infinite; }
.state-amateur .thermo-pointer { transform-origin: 50px 50px; animation: pointWarning 0.5s ease-in-out infinite alternate; }

@keyframes fillRing { 0% { stroke-dasharray: 0 314; } 100% { stroke-dasharray: 220 314; } }
@keyframes fillRingWarning { 0% { stroke-dasharray: 0 314; } 100% { stroke-dasharray: 280 314; } }
@keyframes pulseGlow { 0% { opacity: 0.2; } 50% { opacity: 0.5; } 100% { opacity: 0.2; } }
@keyframes pulseGlowWarning { 0% { opacity: 0.3; } 50% { opacity: 0.8; } 100% { opacity: 0.3; } }
@keyframes pointOptimal { 0% { transform: rotate(-90deg); } 100% { transform: rotate(45deg); } }
@keyframes pointWarning { 0% { transform: rotate(110deg); } 100% { transform: rotate(130deg); } }

.rk-result-content h4 {
    margin: 0 0 15px 0;
    font-size: 22px;
    font-weight: 900;
}

.rk-data-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-bottom: 15px;
}

.rk-data-card {
    background: #f8fafc;
    padding: 15px;
    border-radius: 12px;
    border: 1px solid var(--rk-sum-border);
}

.rk-data-label {
    display: block;
    font-size: 12px;
    color: var(--rk-sum-gray);
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 5px;
}

.rk-data-value {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-sum-dark);
}

.rk-result-content p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

/* Mocne CTA */
.rk-sum-cta-box {
    padding: 45px 50px;
    background: #ffffff;
    text-align: center;
    border-top: 1px solid var(--rk-sum-border);
}

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

.rk-sum-cta-text {
    font-size: 16px;
    color: #64748b;
    margin: 0 auto 30px auto;
    max-width: 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 40px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
}

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

.rk-btn-massive svg { transition: transform 0.3s; }
.rk-btn-massive:hover svg { transform: translateX(5px); }

/* Responsywność */
@media (max-width: 768px) {
    .rk-sum-header { padding: 30px 20px; }
    .rk-sum-interactive, .rk-sum-cta-box { padding: 30px 20px; }
    .rk-sum-title { font-size: 24px; }
    .rk-interactive-header h3 { font-size: 20px; }
    
    /* Układ pionowy na mobilkach */
    .rk-decision-wrapper { 
        grid-template-columns: 1fr; 
        gap: 10px; 
    }
    
    .rk-sim-result { 
        grid-template-columns: 1fr; 
        text-align: center; 
        padding: 20px; 
    }
    
    .rk-data-grid {
        grid-template-columns: 1fr;
    }
    
    .rk-anim-svg { max-width: 120px; margin-bottom: 20px; }
    .rk-btn-massive { width: 100%; padding: 16px 20px; font-size: 16px; flex-direction: column; gap: 8px;}
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/"
    },
    "headline": "Podsumowanie techniczne: Czy warto postawić wyłącznie na ogrzewanie podłogowe?",
    "description": "Techniczne zestawienie wydajności samej podłogówki z układami hybrydowymi. Analiza stref klimatycznych i obalenie mitu grzejników na wszelki wypadek.",
    "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-16",
    "dateModified": "2026-06-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#dataset-podsumowanie",
    "name": "Efektywność samodzielnego ogrzewania podłogowego w strefach klimatycznych",
    "description": "Zestawienie parametrów technicznych i różnic projektowych (np. między Wrocławiem a Krakowem) dla wodnego ogrzewania podłogowego współpracującego z pompą ciepła w standardzie WT 2021.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podłogówka czy grzejniki",
      "wydajność pompy ciepła",
      "strefy klimatyczne polska",
      "standard WT 2021",
      "scop pompy ciepła"
    ],
    "measurementTechnique": "Porównanie efektywności instalacji płaszczyznowej (SCOP) w zależności od regionalnej temperatury zewnętrznej oraz typu układu (samodzielny vs hybrydowy).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wrocław (strefa II) - SCOP 4,4 przy samodzielnej podłogówce",
        "Kraków (strefa III) - SCOP 3,85 przy samodzielnej podłogówce"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#webapp-podsumowanie",
    "name": "Symulator Architektury Systemu Grzewczego",
    "description": "Narzędzie interaktywne ilustrujące wpływ decyzji o montażu dodatkowych grzejników (układ mieszany) na sprawność pompy ciepła i koszty eksploatacji w porównaniu do profesjonalnie zaprojektowanej samej podłogówki.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-sum-container" id="podlogowka-only-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="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
            Techniczne Podsumowanie
        </div>
        <h2 class="rk-sum-title">Czy warto postawić wyłącznie na ogrzewanie podłogowe?</h2>
        <p class="rk-sum-intro-text">
            Wodne ogrzewanie podłogowe jako samodzielny system w polskich warunkach to nie tylko opcja wystarczająca, ale i <strong>najbardziej efektywna ekonomicznie</strong> w standardzie WT 2021. Kluczem do taniej eksploatacji nie jest przewymiarowanie <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">pompy ciepła</a>, lecz precyzyjna analiza strefy klimatycznej. Różnice między łagodnym Wrocławiem (SCOP 4,4) a surowszym Krakowem (SCOP 3,85) udowadniają, że instalacja musi być projektowana indywidualnie na podstawie rzetelnego <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">OZC</a>.
        </p>
    </div>

    <div class="rk-sum-interactive">
        <div class="rk-interactive-header">
            <h3>Sprawdź wpływ architektury systemu na koszty</h3>
        </div>

        <div class="rk-decision-wrapper" id="heatSystemSim">
            <button class="rk-decision-btn active" data-choice="pro">
                <div class="rk-decision-icon">
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                </div>
                <h4 class="rk-decision-title">Fakt: Sama podłogówka</h4>
                <p class="rk-decision-desc">Z profesjonalnym projektem</p>
            </button>
            <button class="rk-decision-btn" data-choice="amateur">
                <div class="rk-decision-icon">
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
                </div>
                <h4 class="rk-decision-title">Mit: + Grzejniki</h4>
                <p class="rk-decision-desc">"Na wszelki wypadek"</p>
            </button>
        </div>

        <div class="rk-sim-result state-pro" id="heatResultBox">
            <svg class="rk-anim-svg" viewBox="0 0 100 100">
                <circle cx="50" cy="50" r="40" fill="none" stroke="#e2e8f0" stroke-width="8" />
                <circle class="thermo-ring" cx="50" cy="50" r="40" fill="none" stroke-width="8" stroke-linecap="round" transform="rotate(-90 50 50)" stroke-dasharray="0 314" />
                <circle class="thermo-glow" cx="50" cy="50" r="25" />
                <g class="thermo-pointer">
                    <circle cx="50" cy="50" r="6" fill="#0f172a" />
                    <line x1="50" y1="50" x2="50" y2="20" stroke="#0f172a" stroke-width="4" stroke-linecap="round" />
                </g>
            </svg>
            
            <div class="rk-result-content" id="heatResultContent">
                <h4 style="color: var(--rk-sum-green);">Maksymalna wydajność i komfort</h4>
                <div class="rk-data-grid">
                    <div class="rk-data-card">
                        <span class="rk-data-label">Temperatura Zasilania</span>
                        <span class="rk-data-value" style="color: var(--rk-sum-green);">Max 35°C</span>
                    </div>
                    <div class="rk-data-card">
                        <span class="rk-data-label">Średni SCOP</span>
                        <span class="rk-data-value" style="color: var(--rk-sum-green);">4.1 - 4.4</span>
                    </div>
                </div>
                <p>Inwestując w dom energooszczędny, eliminacja grzejników to technologiczny standard. Jeśli masz <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">profesjonalnie zaprojektowaną podłogówkę</a>, gwarantuje ona pełny komfort termiczny przez 365 dni w roku – bez wyjątków.</p>
            </div>
        </div>
    </div>

    <div class="rk-sum-cta-box">
        <h3 class="rk-sum-cta-title">Budujesz dom? Zrób to mądrze.</h3>
        <p class="rk-sum-cta-text">
            Nie daj się nabrać na przestarzałe mity budowlane. W naszym centrum wiedzy znajdziesz konkretne, inżynierskie rozwiązania, które uchronią Cię przed kosztownymi błędami.
        </p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-massive">
            PRZEJDŹ DO BAZY WIEDZY EKSKLUZYWNEJ
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Logika Symulatora Decyzji Grzewczej
    const btns = document.querySelectorAll('#heatSystemSim .rk-decision-btn');
    const resultBox = document.getElementById('heatResultBox');
    const resultContent = document.getElementById('heatResultContent');

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Zmiana aktywnych przycisków
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            const choice = this.getAttribute('data-choice');

            // Reset animacji SVG dla płynnego przejścia
            const svgElement = resultBox.querySelector('.rk-anim-svg');
            const svgClone = svgElement.cloneNode(true);
            svgElement.parentNode.replaceChild(svgClone, svgElement);

            if (choice === 'pro') {
                resultBox.className = 'rk-sim-result state-pro';
                resultContent.innerHTML = `
                    <h4 style="color: var(--rk-sum-green);">Maksymalna wydajność i komfort</h4>
                    <div class="rk-data-grid">
                        <div class="rk-data-card">
                            <span class="rk-data-label">Temperatura Zasilania</span>
                            <span class="rk-data-value" style="color: var(--rk-sum-green);">Max 35°C</span>
                        </div>
                        <div class="rk-data-card">
                            <span class="rk-data-label">Średni SCOP</span>
                            <span class="rk-data-value" style="color: var(--rk-sum-green);">4.1 - 4.4</span>
                        </div>
                    </div>
                    <p>Inwestując w dom energooszczędny, eliminacja grzejników to technologiczny standard. Jeśli masz <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">profesjonalnie zaprojektowaną podłogówkę</a>, gwarantuje ona pełny komfort termiczny przez 365 dni w roku – bez wyjątków.</p>
                `;
            } else {
                resultBox.className = 'rk-sim-result state-amateur';
                resultContent.innerHTML = `
                    <h4 style="color: var(--rk-sum-red);">Pułapka układu mieszanego</h4>
                    <div class="rk-data-grid">
                        <div class="rk-data-card">
                            <span class="rk-data-label">Temperatura Zasilania</span>
                            <span class="rk-data-value" style="color: var(--rk-sum-red);">Nawet 50°C</span>
                        </div>
                        <div class="rk-data-card">
                            <span class="rk-data-label">Średni SCOP</span>
                            <span class="rk-data-value" style="color: var(--rk-sum-red);">Spadek do 2.5</span>
                        </div>
                    </div>
                    <p>Montaż grzejników "na wszelki wypadek" to często <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/">efekt braku zaufania do wykonawcy</a> i zwiastun problemów hydraulicznych. Wymusza to pracę układu na wyższym parametrze (lub montaż sprzęgła z drogą grupą pompową), drastycznie podnosząc rachunki za prąd.</p>
                `;
            }
        });
    });
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-blue: #0284c7;
    --rk-dl-sky: #38bdf8;
    --rk-dl-green: #059669;
    --rk-dl-gray: #64748b;
    --rk-dl-border: #cbd5e1;
    --rk-dl-bg: #ffffff;
    --rk-dl-panel: #f8fafc;
}

.rk-dl-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-dl-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-dl-blue);
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.15);
    overflow: hidden;
}

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

.rk-dl-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(56, 189, 248, 0.15);
    color: var(--rk-dl-sky);
    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 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 12px 0;
    line-height: 1.3;
}

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

/* Ciało Kontenera */
.rk-dl-body {
    padding: 35px 40px;
}

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

/* Sekcja Opisu (Lewa) */
.rk-dl-content h3 {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-dl-dark);
    margin: 0 0 15px 0;
}

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

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

.rk-dl-content a:hover {
    border-color: var(--rk-dl-blue);
    color: #0369a1;
}

/* Sekcja Akcji (Prawa) */
.rk-dl-actions {
    background: var(--rk-dl-panel);
    border: 1px solid var(--rk-dl-border);
    border-radius: 12px;
    padding: 25px;
}

/* Miniatura Infografiki */
.rk-dl-thumbnail {
    margin-bottom: 20px;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--rk-dl-border);
    background: #ffffff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

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

.rk-btn-group {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 20px;
}

.rk-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 16px 20px;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none;
    border: none;
}

.rk-btn-primary {
    background: var(--rk-dl-green);
    color: #ffffff;
    box-shadow: 0 4px 6px rgba(5, 150, 105, 0.2);
}

.rk-btn-primary:hover {
    background: #047857;
}

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

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

.rk-dl-info {
    font-size: 12px;
    color: var(--rk-dl-gray);
    text-align: center;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

/* Widok Infografiki (Inline) */
.rk-infographic-view {
    display: none;
    margin-top: 30px;
    border-top: 2px dashed var(--rk-dl-border);
    padding-top: 30px;
}

.rk-infographic-view.active {
    display: block;
}

.rk-infographic-wrapper {
    background: var(--rk-dl-panel);
    padding: 10px;
    border-radius: 12px;
    border: 1px solid var(--rk-dl-border);
}

.rk-infographic-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 6px;
}

/* Prawa autorskie */
.rk-copyright-box {
    margin-top: 25px;
    padding: 15px 20px;
    background: #f1f5f9;
    border-left: 4px solid var(--rk-dl-gray);
    border-radius: 0 6px 6px 0;
    font-size: 12px;
    line-height: 1.5;
    color: var(--rk-dl-gray);
}

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

/* Responsywność */
@media (max-width: 768px) {
    .rk-dl-header { padding: 30px 20px; }
    .rk-dl-header h2 { font-size: 24px; }
    .rk-dl-body { padding: 30px 20px; }
    .rk-dl-grid { grid-template-columns: 1fr; gap: 30px; }
    .rk-dl-actions { order: -1; } /* Na mobile przyciski i miniatura idą na górę */
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/"
    },
    "headline": "Kompendium wiedzy: Infografika techniczna i schematy do pobrania",
    "description": "Zbiór kluczowych wytycznych projektowych w formie autorskiej infografiki PDF. Idealne zestawienie dla inwestorów planujących samodzielną podłogówkę.",
    "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-16",
    "dateModified": "2026-06-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#dataset-infografika",
    "name": "Infografika: Podłogówka jako jedyne źródło ciepła w Polsce",
    "description": "Dokument PDF wysokiej rozdzielczości zawierający parametry graniczne, analizę stref klimatycznych i wymagania izolacyjne dla instalacji płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "darmowy projekt ogrzewania podłogowego pdf",
      "schemat ogrzewania podłogowego z pompą ciepła",
      "infografika podłogówka parametry",
      "zapotrzebowanie na ciepło tabela pdf",
      "wady i zalety wodnego ogrzewania podłogowego"
    ],
    "measurementTechnique": "Wizualizacja graficzna złożonych zależności fizycznych (OZC, ΔT, przepływy) dla instalacji grzewczych w standardzie WT 2021.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Plik: Infografika-Czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu.pdf",
        "Prawa autorskie: Robert Kucharski (Projekt-Ogrzewania.pl)",
        "Format: PDF / WEBP"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/#webapp-infografika",
    "name": "Repozytorium Materiałów Inżynierskich",
    "description": "Moduł umożliwiający bezpośredni podgląd i pobranie autorskich infografik oraz schematów instalacyjnych w formacie PDF przygotowanych przez inżyniera HVAC.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-dl-container" id="rk-download-module">
    
    <!-- Nagłówek -->
    <div class="rk-dl-header">
        <div class="rk-dl-badge">Materiały do pobrania</div>
        <h2>Kompendium wiedzy: Infografika techniczna i zestawienie (PDF)</h2>
        <p>Zdobądź skondensowaną wiedzę inżynierską w formie czytelnej grafiki. Idealny materiał do zachowania na telefonie podczas rozmów z wykonawcą na budowie.</p>
    </div>

    <!-- Ciało -->
    <div class="rk-dl-body">
        
        <div class="rk-dl-grid">
            
            <!-- Lewa Strona: Tekst SEO (bez widocznych tagów) -->
            <div class="rk-dl-content">
                <h3>Opracowanie dla świadomego inwestora</h3>
                <p>
                    Wiedza techniczna nie musi być skomplikowana. Przygotowaliśmy precyzyjny schemat działania instalacji płaszczyznowej, uwzględniający realia polskiego klimatu. Infografika jasno tłumaczy, dlaczego rzetelnie obliczone zapotrzebowanie na ciepło (OZC) jest absolutnym fundamentem, oraz obala mity dotyczące konieczności wspomagania się tradycyjnymi kaloryferami.
                </p>
                <p>
                    Z tego materiału dowiesz się również, jakie są graniczne parametry zasilania dla pompy ciepła, oraz jak uniknąć najpoważniejszych <a href="https://projekt-ogrzewania.pl/wady-wodnego-ogrzewania-podlogowego-na-co-zwrocic-uwage-przed-instalacja/">wad wodnego ogrzewania podłogowego</a>, wynikających z oszczędności na grubości styropianu.
                </p>
                
                <!-- Prawa Autorskie -->
                <div class="rk-copyright-box">
                    <strong>© 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski.</strong><br>
                    Udostępnianie materiału PDF i przesyłanie go wykonawcom jest w pełni dozwolone, wyłącznie z zachowaniem widocznego logotypu portalu i bez modyfikacji struktury pliku.
                </div>
            </div>

            <!-- Prawa Strona: Akcje i Miniatura -->
            <div class="rk-dl-actions">
                
                <!-- Miniatura Infografiki -->
                <div class="rk-dl-thumbnail">
                    <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-Analiza-dla-polskich-warunkow.webp" alt="Podgląd Infografiki: Ogrzewanie podłogowe jako jedyne źródło ciepła" loading="lazy">
                </div>

                <!-- Przyciski -->
                <div class="rk-btn-group">
                    <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-Analiza-dla-polskich-warunkow.pdf" target="_blank" rel="noopener noreferrer" class="rk-btn rk-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>
                    
                    <button class="rk-btn rk-btn-secondary" id="rk-toggle-image">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                        Wyświetl Infografikę
                    </button>
                </div>
                
                <p class="rk-dl-info">
                    <svg width="14" height="14" 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>
                    Wysoka rozdzielczość (Bezpieczne łącze)
                </p>
            </div>

        </div>

        <!-- Ukryty domyślnie kontener na obrazek pełnowymiarowy (WebP) -->
        <div class="rk-infographic-view" id="rk-infographic-box">
            <div class="rk-infographic-wrapper">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-Analiza-dla-polskich-warunkow.webp" alt="Pełna Infografika: Czy ogrzewanie podłogowe może być jedynym źródłem ciepła" loading="lazy">
            </div>
        </div>

    </div>
</div>

<!-- ==========================================
     LOGIKA JS (Toggle bez animacji CSS)
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    const btnToggle = document.getElementById('rk-toggle-image');
    const imgBox = document.getElementById('rk-infographic-box');
    
    let isVisible = false;

    btnToggle.addEventListener('click', function() {
        isVisible = !isVisible;
        
        if(isVisible) {
            imgBox.classList.add('active');
            btnToggle.innerHTML = '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg> Ukryj Infografikę';
        } else {
            imgBox.classList.remove('active');
            btnToggle.innerHTML = '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg> Wyświetl Infografikę';
        }
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/">Czy ogrzewanie podłogowe może być jedynym źródłem ciepła w domu? Analiza dla polskich warunków</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Czy ogrzewanie podłogowe wysusza powietrze w pomieszczeniach?</title>
		<link>https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-wysusza-powietrze-w-pomieszczeniach/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 15 Mar 2025 13:32:33 +0000</pubDate>
				<category><![CDATA[Budownictwo ekologiczne]]></category>
		<category><![CDATA[Instalacje domowe]]></category>
		<category><![CDATA[Komfort w domu]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki domowe]]></category>
		<category><![CDATA[Systemy grzewcze]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[Wilgotność powietrza]]></category>
		<category><![CDATA[Zdrowie w domu]]></category>
		<category><![CDATA[grzejniki]]></category>
		<category><![CDATA[izolacja domu]]></category>
		<category><![CDATA[jakość powietrza]]></category>
		<category><![CDATA[komfort termiczny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[ogrzewanie podłogowe wodne]]></category>
		<category><![CDATA[projektowanie instalacji]]></category>
		<category><![CDATA[promieniowanie cieplne]]></category>
		<category><![CDATA[rury pex]]></category>
		<category><![CDATA[suchość powietrza]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<category><![CDATA[wilgotność powietrza]]></category>
		<category><![CDATA[zdrowe ogrzewanie]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2438</guid>

					<description><![CDATA[<p>Ogrzewanie podłogowe to hit w polskich domach, ale czy wpływa na jakość powietrza? Wyjaśniamy, jak działa i czy ogrzewanie podłogowe wysusza powietrze w pomieszczeniach. Porównujemy z grzejnikami, analizujemy wilgotność i radzimy, jak zaplanować instalację, by uniknąć suchego powietrza. Poznaj fakty, obal mity i dowiedz się, dlaczego podłogówka może być lepszym wyborem dla komfortu i zdrowia!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-wysusza-powietrze-w-pomieszczeniach/">Czy ogrzewanie podłogowe wysusza powietrze w pomieszczeniach?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Ogrzewanie podłogowe zyskuje coraz większą popularność w polskich domach, ale wokół tego systemu narosło wiele pytań i mitów. Jednym z najczęściej zadawanych jest: <em><strong>czy ogrzewanie podłogowe wysusza powietrze w pomieszczeniach?</strong></em> To istotne zagadnienie, zwłaszcza w sezonie grzewczym, gdy wilgotność powietrza w domu wpływa na komfort, samopoczucie i zdrowie domowników. W tym artykule wyjaśnimy, jak działa podłogówka, jaki ma wpływ na wilgotność i czym różni się od tradycyjnych grzejników. Rozwiewamy wątpliwości, opierając się na faktach, praktycznych przykładach i opiniach użytkowników.</p>



<h2 class="wp-block-heading">Jak działa ogrzewanie podłogowe i dlaczego to ważne dla wilgotności?</h2>



<p class="wp-block-paragraph">Ogrzewanie podłogowe, zwane również promiennikowym, dostarcza ciepło poprzez podgrzewanie podłogi. Może być realizowane w dwóch wariantach: elektrycznym (za pomocą mat lub kabli grzewczych) albo wodnym (hydronicznym), gdzie ciepło przenoszą rury z wodą. Niezależnie od typu, system opiera się na promieniowaniu cieplnym – ciepło unosi się od podłogi, ogrzewając najpierw powierzchnie i przedmioty w pomieszczeniu, a dopiero w drugiej kolejności powietrze. To zasadnicza różnica w porównaniu do klasycznych grzejników, które działają głównie na zasadzie konwekcji, czyli cyrkulacji ogrzanego powietrza.</p>



<h3 class="wp-block-heading">Różnice między promieniowaniem a konwekcją.</h3>



<p class="wp-block-paragraph">Dlaczego sposób dostarczania ciepła ma znaczenie dla wilgotności? W przypadku grzejników ciepłe powietrze unosi się do góry, a chłodniejsze opada, tworząc ciągły ruch. Ten proces przyspiesza parowanie wilgoci z powierzchni, takich jak meble czy skóra, co prowadzi do obniżenia wilgotności względnej w pomieszczeniu. Ogrzewanie podłogowe, dzięki minimalnej cyrkulacji powietrza, wydaje się mniej ingerować w naturalny poziom wilgoci. Szczegółowe wyjaśnienie mechanizmu znajdziesz w artykule <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/" target="_blank" rel="noreferrer noopener">jak działa ogrzewanie podłogowe</a>, który omawia techniczne aspekty systemu.</p>



<h3 class="wp-block-heading">Przykład: zima w domu</h3>



<p class="wp-block-paragraph">Wyobraźmy sobie zimowy wieczór w domu z grzejnikami. Po kilku godzinach ogrzewania skóra staje się sucha, oczy pieką, a w gardle pojawia się uczucie drapania – to typowe symptomy spadku wilgotności. W domu z ogrzewaniem podłogowym, gdzie ciepło rozchodzi się równomiernie od podłogi, takie dolegliwości są zwykle mniej odczuwalne. Może to wskazywać, że podłogówka jest łagodniejsza dla powietrza w pomieszczeniach, co potwierdzają relacje wielu użytkowników.</p>



<h2 class="wp-block-heading">Ogrzewanie podłogowe a wilgotność powietrza – co mówią fakty?</h2>



<p class="wp-block-paragraph">Aby rzetelnie odpowiedzieć na pytanie, <em>czy ogrzewanie podłogowe wysusza powietrze w pomieszczeniach</em>, przeanalizujmy jego działanie w kontekście wilgotności. System promiennikowy nie obniża wilgotności w sposób zauważalny, ponieważ nie powoduje intensywnego ruchu powietrza, który mógłby „wysysać” wilgoć z otoczenia. Eksperci podkreślają, że w porównaniu do innych metod grzewczych podłogówka działa łagodniej. Więcej o wpływie na zdrowie i komfort przeczytasz w artykule <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/" target="_blank" rel="noreferrer noopener">czy ogrzewanie podłogowe jest zdrowe</a>, który porusza także kwestie jakości powietrza.</p>



<h3 class="wp-block-heading">Porównanie z grzejnikami i piecami.</h3>



<p class="wp-block-paragraph">Grzejniki, ogrzewając powietrze przez konwekcję, mogą obniżać wilgotność nawet o kilka procent w ciągu godziny – w suchym, zimowym klimacie efekt ten jest szczególnie wyraźny. Systemy z wymuszonym obiegiem powietrza, jak piece z kanałami wentylacyjnymi, są jeszcze bardziej „suszące” – cyrkulacja suchego powietrza zimą może zredukować wilgotność poniżej komfortowego poziomu 30-50%. Ogrzewanie podłogowe, dzięki promieniowaniu, utrzymuje bardziej stabilny poziom wilgoci, co czyni je mniej inwazyjnym dla atmosfery w domu.</p>



<h4 class="wp-block-heading">Tabela: Podłogówka vs. grzejniki.</h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th><strong>Aspekt</strong></th><th><strong>Ogrzewanie podłogowe</strong></th><th><strong>Grzejniki</strong></th></tr></thead><tbody><tr><td>Metoda ogrzewania</td><td>Promieniowanie</td><td>Konwekcja</td></tr><tr><td>Wpływ na wilgotność</td><td>Minimalny, stabilizuje poziom</td><td>Obniża przez ruch powietrza</td></tr><tr><td>Cyrkulacja powietrza</td><td>Niska</td><td>Wysoka</td></tr><tr><td>Komfort</td><td>Równomierne ciepło</td><td>Gorące i zimne strefy</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">Opinie użytkowników i przykład praktyczny.</h3>



<p class="wp-block-paragraph">W domu o powierzchni 120 m² z ogrzewaniem podłogowym wodnym wilgotność zimą utrzymuje się na poziomie 40-45%, pod warunkiem odpowiedniej wentylacji. W podobnym budynku z grzejnikami ten poziom często spada do 25-30%, co skutkuje uczuciem suchości w powietrzu. Jeden z użytkowników podłogówki wspomina: „Od kiedy mamy ogrzewanie podłogowe, nie muszę już używać nawilżacza tak często jak przy grzejnikach – różnica jest odczuwalna”. To pokazuje, że w praktyce podłogówka może lepiej wspierać naturalną wilgotność, choć многое zależy od warunków w budynku.</p>



<h2 class="wp-block-heading">Czynniki wpływające na wilgotność przy podłogówce.</h2>



<p class="wp-block-paragraph">Wpływ ogrzewania podłogowego na powietrze w pomieszczeniach nie zależy wyłącznie od samego systemu. Istnieje kilka kluczowych czynników, które mogą modyfikować poziom wilgotności:</p>



<ol class="wp-block-list">
<li><strong>Szczelność budynku</strong> – W nowoczesnych, dobrze izolowanych domach wilgotność jest w dużej mierze determinowana przez wentylację. Jeśli zimą napływa dużo suchego powietrza z zewnątrz, nawet podłogówka nie zapobiegnie spadkowi wilgoci. W starszych, nieszczelnych budynkach efekt może być inny – wilgoć z otoczenia może się utrzymywać.</li>



<li><strong>Temperatura podłogi</strong> – Zbyt wysoka temperatura (np. powyżej 29°C) może lokalnie przyspieszać parowanie, szczególnie w pobliżu podłogi. Jednak w prawidłowo zaprojektowanym systemie, gdzie temperatura oscyluje w granicach 24-28°C, ten efekt jest minimalny i nie wpływa znacząco na ogólną wilgotność.</li>



<li><strong>Pokrycie podłogi</strong> – Rodzaj materiału na podłodze ma znaczenie. Drewno naturalne może wchłaniać i oddawać wilgoć w zależności od warunków, podczas gdy płytki ceramiczne są bardziej neutralne. Więcej na ten temat znajdziesz w artykule <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">jak rodzaj okładziny podłogowej wpływa na wydajność ogrzewania podłogowego</a>.</li>



<li><strong>Wentylacja i dodatkowe urządzenia</strong> – W domach z rekuperacją wilgotność jest łatwiejsza do kontrolowania, a nawilżacze mogą dodatkowo wspierać jej utrzymanie na optymalnym poziomie 40-50%.</li>
</ol>



<h3 class="wp-block-heading">Przykład: dom pasywny i tradycyjny.</h3>



<p class="wp-block-paragraph">W domu pasywnym o powierzchni 100 m², wyposażonym w podłogówkę i rekuperację, wilgotność zimą stabilizuje się na poziomie 45%, co jest idealne dla komfortu. W tradycyjnym domu z lat 80., bez nowoczesnej wentylacji, ten sam system może dawać różne wyniki – np. wilgotność spada do 35% przy dużym napływie suchego powietrza z zewnątrz. To dowodzi, że podłogówka sama w sobie nie wysusza powietrza – kluczowe jest otoczenie, w którym działa.</p>



<h2 class="wp-block-heading">Zalety ogrzewania podłogowego dla wilgotności i komfortu.</h2>



<p class="wp-block-paragraph">Ogrzewanie podłogowe oferuje kilka zalet, które mogą pozytywnie wpływać na jakość powietrza w domu, w tym na wilgotność:</p>



<ul class="wp-block-list">
<li><strong>Mniejszy ruch powietrza</strong> – Dzięki niskiej cyrkulacji kurz, roztocza i alergeny nie unoszą się tak intensywnie, co jest szczególnie korzystne dla alergików i osób z problemami oddechowymi. To także redukuje efekt „wysysania” wilgoci przez ruch powietrza.</li>



<li><strong>Równomierne rozprowadzanie ciepła</strong> – Brak gorących punktów, jak w przypadku grzejników, oznacza mniejsze lokalne przesuszenie powietrza w określonych strefach pomieszczenia. Ciepło rozchodzi się od podłogi w górę, tworząc przyjemny gradient temperatury.</li>



<li><strong>Niższa temperatura pracy</strong> – Podłogówka działa efektywnie przy niższej temperaturze (np. 24-26°C na podłodze) niż grzejniki (często 50-70°C), co pozwala obniżyć temperaturę w pomieszczeniu o 1-2°C bez utraty komfortu. Mniejsza intensywność ogrzewania przekłada się na mniejszy wpływ na wilgotność.</li>
</ul>



<h3 class="wp-block-heading">Nieoczekiwany bonus: jakość powietrza i zdrowie</h3>



<p class="wp-block-paragraph">Ciekawym aspektem jest poprawa jakości powietrza dzięki mniejszej cyrkulacji. W domach z grzejnikami ruch powietrza może wzniecać kurz, co dodatkowo potęguje uczucie suchości. Podłogówka minimalizuje ten problem, co może pośrednio wspierać stabilną wilgotność. Więcej o projektowaniu systemu pod kątem efektywności przeczytasz w <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/" target="_blank" rel="noreferrer noopener">jak zaplanować rozmieszczenie pętli grzewczych w ogrzewaniu podłogowym</a>.</p>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego a wilgotność – jak to zaplanować?</h2>



<p class="wp-block-paragraph">Planując instalację ogrzewania podłogowego i martwiąc się o wilgotność, kluczowe jest profesjonalne podejście. Dobry projekt, jak np. oferowany w <a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/" target="_blank" rel="noreferrer noopener">Projekt ogrzewania podłogowego do 150 m²</a>, uwzględnia rozkład pętli grzewczych, parametry budynku i zapotrzebowanie na ciepło. Optymalna temperatura podłogi (24-28°C) minimalizuje ryzyko lokalnego przesuszenia powietrza, a odpowiednie rozplanowanie pętli – np. maksymalnie 80 metrów na jedną pętlę w domu 150 m² – zapewnia równomierne ogrzewanie i efektywność. Warto też zadbać o izolację termiczną podłogi, by ciepło nie uciekało w dół, co mogłoby zwiększać zapotrzebowanie na energię i pośrednio wpływać na warunki w pomieszczeniu.</p>



<h2 class="wp-block-heading">Czy warto bać się suchego powietrza przy podłogówce?</h2>



<p class="wp-block-paragraph"><em>Czy ogrzewanie podłogowe wysusza powietrze w pomieszczeniach?</em> Raczej nie. W porównaniu do grzejników czy systemów z wymuszonym obiegiem podłogówka jest łagodniejsza dla wilgotności dzięki promieniowaniu i mniejszemu ruchowi powietrza. Efekt końcowy zależy jednak od wielu czynników: izolacji budynku, jakości wentylacji i sposobu użytkowania systemu.</p>



<h3 class="wp-block-heading">Co robić, gdy wilgotność spada?</h3>



<p class="wp-block-paragraph">Jeśli mimo wszystko zauważysz suche powietrze zimą, możesz:</p>



<ul class="wp-block-list">
<li>Używać nawilżacza, by podnieść wilgotność do 40-50%.</li>



<li>Wietrzyć pomieszczenia krótko i regularnie, unikając nadmiernego wychłodzenia.</li>



<li>Kontrolować temperaturę podłogi, utrzymując ją w granicach 24-26°C, co zapewnia komfort bez przegrzewania.</li>
</ul>



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



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1742044090247"><strong class="schema-faq-question">Czy ogrzewanie podłogowe bardziej wysusza powietrze niż grzejniki?</strong> <p class="schema-faq-answer">Nie, dzięki promieniowaniu generuje mniej ruchu powietrza, co stabilizuje wilgotność w porównaniu do konwekcyjnych grzejników.</p> </div> <div class="schema-faq-section" id="faq-question-1742044099178"><strong class="schema-faq-question">Jak utrzymać wilgotność przy podłogówce?</strong> <p class="schema-faq-answer">Wietrz regularnie, używaj nawilżacza (jeśli spada poniżej 40%) i zadbaj o dobrą wentylację w projekcie.</p> </div> <div class="schema-faq-section" id="faq-question-1742044111521"><strong class="schema-faq-question">Czy temperatura podłogi wpływa na wilgotność?</strong> <p class="schema-faq-answer">Tak, powyżej 29°C może przyspieszać parowanie, ale w standardowym zakresie (24-28°C) efekt jest minimalny.</p> </div> <div class="schema-faq-section" id="faq-question-1742044127914"><strong class="schema-faq-question">Czy rodzaj podłogi zmienia wilgotność przy podłogówce?</strong> <p class="schema-faq-answer">Tak, płytki lepiej przewodzą ciepło i mniej reagują na wilgotność niż drewno czy panele.</p> </div> <div class="schema-faq-section" id="faq-question-1742044136086"><strong class="schema-faq-question">Czy podłogówka jest zdrowsza dla powietrza?</strong> <p class="schema-faq-answer">Tak, mniejsza cyrkulacja redukuje kurz i alergeny, wspierając jakość powietrza i wilgotność.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie – ciepło i zdrowe powietrze.</h2>



<p class="wp-block-paragraph">Ogrzewanie podłogowe to nie tylko źródło ciepła, ale też sposób na utrzymanie stabilnej wilgotności i lepszej jakości powietrza w domu. Nie wysusza go tak jak grzejniki, a przy odpowiednim projekcie i eksploatacji staje się sprzymierzeńcem komfortu. Wybierz profesjonalną instalację, by cieszyć się ciepłą podłogą i przyjemną atmosferą bez obaw o suchość.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="ijdbzoFzmH"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=ueBPm0R8Or#?secret=ijdbzoFzmH" data-secret="ijdbzoFzmH" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-wysusza-powietrze-w-pomieszczeniach/">Czy ogrzewanie podłogowe wysusza powietrze w pomieszczeniach?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
