<?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 Poradniki budowlane - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/category/poradniki-budowlane/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/category/poradniki-budowlane/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Sun, 28 Jun 2026 16:24:03 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.1</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa Poradniki budowlane - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/category/poradniki-budowlane/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Ogrzewanie podłogowe w płycie fundamentowej – techniczny przewodnik po projektowaniu i montażu.</title>
		<link>https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej-techniczny-przewodnik-po-projektowaniu-i-montazu/</link>
					<comments>https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej-techniczny-przewodnik-po-projektowaniu-i-montazu/#respond</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 28 Jun 2026 16:13:31 +0000</pubDate>
				<category><![CDATA[Budowa stanu zero]]></category>
		<category><![CDATA[HVAC]]></category>
		<category><![CDATA[Ogrzewanie płaszczyznowe]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Płyta fundamentowa]]></category>
		<category><![CDATA[Pompa ciepła]]></category>
		<category><![CDATA[Pompy ciepła]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[budownictwo energooszczędne]]></category>
		<category><![CDATA[energooszczędny dom]]></category>
		<category><![CDATA[fundament grzewczy]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[nowoczesne fundamenty]]></category>
		<category><![CDATA[ogrzewanie płaszczyznowe]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[ogrzewanie podłogowe w płycie fundamentowej]]></category>
		<category><![CDATA[ogrzewanie podłogowe z pompą ciepła]]></category>
		<category><![CDATA[płyta fundamentowa]]></category>
		<category><![CDATA[płyta fundamentowa z ogrzewaniem]]></category>
		<category><![CDATA[płyta grzewcza]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[termiczna płyta fundamentowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=6375</guid>

					<description><![CDATA[<p>Planowanie posadowienia budynku na etapie stanu zero to moment, w którym podejmujesz decyzje rzutujące na koszty eksploatacji domu przez najbliższe kilkadziesiąt lat. Tradycyjne ławy i ściany fundamentowe powoli ustępują miejsca nowoczesnym rozwiązaniom monolitycznym. Inwestorzy coraz częściej dostrzegają, że ogrzewanie podłogowe w płycie fundamentowej gwarantuje niespotykaną stabilność termiczną i eliminuje liniowe mostki termiczne przy gruncie. W tym artykule brutalnie rozprawiamy się z mitami wykonawczymi, analizujemy realne koszty inwestycji na bazie autentycznego Case Study z Pomorza oraz udostępniamy interaktywne kalkulatory, które pozwolą Ci samodzielnie obliczyć opłacalność oraz parametry hydrauliczne całego systemu pod Twoją pompę ciepła.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej-techniczny-przewodnik-po-projektowaniu-i-montazu/">Ogrzewanie podłogowe w płycie fundamentowej – techniczny przewodnik po projektowaniu i montażu.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
/* Wymuszenie czystego fontu i twardy reset */
#rk-intro-guide-app,
#rk-intro-guide-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-blue: #0284c7;
    --rk-intro-light: #f8fafc;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
    --rk-intro-bg: #ffffff;
    --rk-intro-accent: #10b981;
}

.rk-intro-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-intro-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-intro-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Mocny, autorytarny nagłówek bez animacji */
.rk-intro-header {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-intro-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

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

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

/* Moduł Nawigacyjny (Błyskawiczne przełączniki) */
.rk-intro-nav {
    display: flex;
    flex-direction: column;
    background: var(--rk-intro-light);
    padding: 25px 45px;
    border-bottom: 1px solid var(--rk-intro-border);
    gap: 10px;
}

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

.rk-intro-tab-btn {
    flex: 1;
    background: #ffffff;
    border: 2px solid var(--rk-intro-border);
    border-radius: 12px;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-intro-text);
    cursor: pointer;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    /* Brak animacji zgodnie z wytycznymi */
}

.rk-intro-tab-btn:hover {
    border-color: #94a3b8;
}

.rk-intro-tab-btn.active {
    background: #f0f9ff;
    border-color: var(--rk-intro-blue);
    color: var(--rk-intro-blue);
}

/* Zawartość zakładek */
.rk-intro-content-wrapper {
    padding: 35px 45px 40px 45px;
    background: #ffffff;
}

.rk-intro-tab-pane {
    display: none; /* Sterowane z JS */
}

.rk-intro-tab-pane.active {
    display: block;
}

/* Karta Szybkiej Odpowiedzi (Direct Answer) */
.rk-intro-quick-answer {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-left: 6px solid var(--rk-intro-accent);
    border-radius: 14px;
    padding: 25px 30px;
    margin-bottom: 25px;
}

.rk-intro-quick-answer h3 {
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #166534;
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

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

/* Tekst główny */
.rk-intro-text-block {
    font-size: 15.5px;
    line-height: 1.75;
    color: var(--rk-intro-text);
}

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

.rk-intro-text-block strong {
    color: var(--rk-intro-dark);
    font-weight: 700;
}

/* Lista korzyści - Czego się dowiesz */
.rk-intro-roadmap {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-intro-roadmap-item {
    background: #f8fafc;
    border: 1px solid var(--rk-intro-border);
    border-radius: 12px;
    padding: 20px 25px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-intro-roadmap-icon {
    width: 40px;
    height: 40px;
    background: #ffffff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-intro-blue);
    flex-shrink: 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.rk-intro-roadmap-text h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-intro-dark);
    margin: 0 0 5px 0;
}

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

/* Ostrzeżenie / Hook na interakcje */
.rk-intro-alert-box {
    margin-top: 25px;
    padding: 18px 25px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 12px;
    color: #92400e;
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .rk-intro-header, .rk-intro-nav, .rk-intro-content-wrapper { padding: 25px 20px; }
    .rk-intro-roadmap-item { padding: 15px; flex-direction: column; align-items: flex-start; text-align: left; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Ogrzewanie podłogowe w płycie fundamentowej – Kompletny Przewodnik Inżynierski",
    "description": "Czym jest termiczna płyta fundamentowa? Szybka odpowiedź oraz interaktywny zbiór narzędzi obliczeniowych i symulatorów do projektowania podłogówki.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#dataset",
    "name": "Baza wiedzy i definicji: Termiczna Płyta Fundamentowa",
    "description": "Zestawienie inżynierskich faktów, wytycznych normy PN-EN 1264 oraz charakterystyki masy akumulacyjnej fundamentów grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ogrzewanie podłogowe w płycie fundamentowej",
      "termiczna płyta fundamentowa",
      "akumulacja ciepła w betonie",
      "norma PN-EN 1264",
      "rury PEX PERT w fundamencie"
    ],
    "measurementTechnique": "Bezpośrednia analiza norm inżynieryjnych dotyczących wbudowanych płaszczyznowych systemów ogrzewania niskotemperaturowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Definicja: Zintegrowany system nośno-grzewczy z zatopionymi rurami PEX/PERT.",
        "Masa akumulacyjna układu: Od 50 do 80 ton betonu konstrukcyjnego.",
        "Kompatybilność źródła ciepła: Inwerterowe pompy ciepła (powietrze-woda, solanka-woda)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#webapp",
    "name": "Przewodnik i Tablica Sterownicza Kompendium",
    "description": "Aplikacja pełniąca rolę nawigatora merytorycznego, udostępniająca błyskawiczne odpowiedzi techniczne oraz agendę interaktywnych narzędzi dostępnych w artykule.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="rk-intro-guide-app">
    
    <div class="rk-intro-header">
        <h2>Ogrzewanie podłogowe w płycie fundamentowej – Kompletny Przewodnik</h2>
        <p class="rk-intro-lead">
            Budujesz dom i zastanawiasz się nad sposobem posadowienia? Błąd popełniony w tym miejscu jest nieodwracalny po wylaniu betonu. Poznaj technologię, która łączy potężny fundament z sercem energetycznym Twojego budynku.
        </p>
    </div>

    <div class="rk-intro-nav">
        <button class="rk-intro-tab-btn active" id="rk-intro-btn-1">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg>
            Szybka Odpowiedź
        </button>
        <button class="rk-intro-tab-btn" id="rk-intro-btn-2">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="8" y1="6" x2="21" y2="6"></line><line x1="8" y1="12" x2="21" y2="12"></line><line x1="8" y1="18" x2="21" y2="18"></line><line x1="3" y1="6" x2="3.01" y2="6"></line><line x1="3" y1="12" x2="3.01" y2="12"></line><line x1="3" y1="18" x2="3.01" y2="18"></line></svg>
            Narzędzia w tym artykule
        </button>
    </div>

    <div class="rk-intro-content-wrapper">
        
        <div class="rk-intro-tab-pane active" id="rk-intro-pane-1">
            
            <div class="rk-intro-quick-answer">
                <h3>Szybka odpowiedź eksperta</h3>
                <p>Ogrzewanie podłogowe w płycie fundamentowej (termiczna płyta fundamentowa) to zintegrowany system, w którym rury PEX lub PERT są na stałe zatapiane bezpośrednio w zbrojonej masie betonu konstrukcyjnego. Dół budynku staje się potężnym wymiennikiem ciepła o masie do 80 ton.</p>
            </div>

            <div class="rk-intro-text-block">
                <p>
                    Rozwiązanie to łączy niezbędną funkcję nośną posadowienia z potężnym, niskotemperaturowym płaszczyznowym wymiennikiem ciepła. Zabetonowana instalacja gromadzi energię niczym ogromny piec akumulacyjny o masie przekraczającej często <strong>50-80 ton</strong>.
                </p>
                <p>
                    Jako specjalista HVAC oraz kilkudziesięcioletni praktyk z dorobkiem <strong>ponad 1000 projektów instalacji sanitarnych</strong> wskazuję wprost: kluczem do bezawaryjnej pracy tego potężnego układu jest bezwzględne przestrzeganie rygorystycznych wytycznych normy budowlanej <strong>PN-EN 1264</strong>. Nie ma tu miejsca na układanie obwodów &#8222;na oko&#8221;. Wymagane jest precyzyjne skoordynowanie parametrów hydraulicznych pętli z charakterystyką wybranego źródła ciepła – jakim najczęściej i najbardziej opłacalnie jest inwerterowa pompa ciepła typu powietrze-woda lub solanka-woda.
                </p>
            </div>

        </div>

        <div class="rk-intro-tab-pane" id="rk-intro-pane-2">
            
            <div class="rk-intro-text-block">
                <p>
                    Ten artykuł to nie jest zwykła ściana teoretycznego tekstu. Przygotowałem dla Ciebie zestaw dedykowanych, <strong>interaktywnych kalkulatorów i symulatorów inżynierskich</strong>, z którymi możesz pracować w czasie rzeczywistym. Przewijając stronę w dół, zyskasz dostęp do następujących narzędzi:
                </p>
            </div>

            <div class="rk-intro-roadmap">
                <div class="rk-intro-roadmap-item">
                    <div class="rk-intro-roadmap-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    </div>
                    <div class="rk-intro-roadmap-text">
                        <h4>Symulator Oporów i Długości Pętli</h4>
                        <p>Zmienisz długość rury i na żywo zobaczysz, w którym momencie ciśnienie blokuje pracę rotametrów i dławi pompę obiegową.</p>
                    </div>
                </div>

                <div class="rk-intro-roadmap-item">
                    <div class="rk-intro-roadmap-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M18 20V10"></path><path d="M12 20V4"></path><path d="M6 20v-6"></path></svg>
                    </div>
                    <div class="rk-intro-roadmap-text">
                        <h4>Kalkulator Rentowności (ROI)</h4>
                        <p>Wybierzesz swoją strefę klimatyczną w Polsce i porównasz koszty płyty grzewczej z tradycyjnymi ławami fundamentowymi.</p>
                    </div>
                </div>

                <div class="rk-intro-roadmap-item">
                    <div class="rk-intro-roadmap-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
                    </div>
                    <div class="rk-intro-roadmap-text">
                        <h4>Interaktywny Komparator Rozstawów</h4>
                        <p>Sprawdzisz, jak układanie rur co 10, 15 lub 20 cm wpływa bezpośrednio na wydajność pompy ciepła (wskaźnik SCOP).</p>
                    </div>
                </div>
            </div>

            <div class="rk-intro-alert-box">
                Zjedź niżej i przetestuj parametry swojego przyszłego domu bezpośrednio w naszych narzędziach na żywo.
            </div>

        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btn1 = document.getElementById('rk-intro-btn-1');
    var btn2 = document.getElementById('rk-intro-btn-2');
    
    var pane1 = document.getElementById('rk-intro-pane-1');
    var pane2 = document.getElementById('rk-intro-pane-2');

    // Bezpieczne przełączanie zakładek bez użycia &&
    if (btn1) {
        btn1.addEventListener('click', function() {
            if (btn2) { btn2.classList.remove('active'); }
            btn1.classList.add('active');
            
            if (pane2) { pane2.classList.remove('active'); }
            if (pane1) { pane1.classList.add('active'); }
        });
    }

    if (btn2) {
        btn2.addEventListener('click', function() {
            if (btn1) { btn1.classList.remove('active'); }
            btn2.classList.add('active');
            
            if (pane1) { pane1.classList.remove('active'); }
            if (pane2) { pane2.classList.add('active'); }
        });
    }
});
</script>



<style>
/* Wymuszenie czystego fontu bezszeryfowego i reset */
#rk-roi-thermal-app,
#rk-roi-thermal-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-roi-dark: #0f172a;
    --rk-roi-darker: #080f1e;
    --rk-roi-blue: #0284c7;
    --rk-roi-light: #f8fafc;
    --rk-roi-border: #e2e8f0;
    --rk-roi-text: #334155;
    --rk-roi-bg: #ffffff;
    --rk-roi-success: #10b981;
    --rk-roi-warning: #f59e0b;
    --rk-roi-danger: #ef4444;
}

.rk-roi-main-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-roi-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-roi-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Nagłówek sekcji */
.rk-roi-title-block {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-roi-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

.rk-roi-title-block h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-roi-title-block p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
}

/* Panel Roboczy - Układ Wertykalny Stack */
.rk-roi-panel-body {
    padding: 35px 45px;
    background: var(--rk-roi-light);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Karta Formularza Wejściowego */
.rk-roi-form-card {
    background: #ffffff;
    border: 1px solid var(--rk-roi-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.rk-roi-input-row {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-roi-input-row label {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-roi-dark);
}

/* Stylowanie kontrolek select i input */
.rk-roi-select-custom,
.rk-roi-num-input {
    width: 100%;
    padding: 14px 16px;
    border-radius: 12px;
    border: 2px solid var(--rk-roi-border);
    font-size: 15px;
    font-weight: 600;
    color: var(--rk-roi-dark);
    background-color: #ffffff;
    outline: none;
    transition: border-color 0.3s;
}

.rk-roi-select-custom:focus,
.rk-roi-num-input:focus {
    border-color: var(--rk-roi-blue);
}

/* Przyciski Opcji (Segmented Controls) */
.rk-roi-opt-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

@media (min-width: 576px) {
    .rk-roi-opt-group {
        flex-direction: row;
    }
}

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

.rk-roi-opt-btn:hover {
    border-color: #cbd5e1;
}

.rk-roi-opt-btn.active {
    background: #f0f9ff;
    border-color: var(--rk-roi-blue);
    color: var(--rk-roi-blue);
}

/* Wyróżniona Deska Rozdzielcza Wyników */
.rk-roi-dashboard-frame {
    background: var(--rk-roi-darker);
    border-radius: 16px;
    padding: 25px 30px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 25px;
    position: relative;
    overflow: hidden;
    border-left: 6px solid var(--rk-roi-blue);
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.2);
}

.rk-roi-dash-cell {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

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

.rk-roi-dash-value {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    transition: color 0.3s ease;
}

.rk-roi-dash-value span {
    font-size: 14px;
    font-weight: 700;
    color: #38bdf8;
    margin-left: 4px;
}

/* Sekcja Rozbitych Kart Wiedzy */
.rk-roi-text-infografika {
    padding: 10px 45px 40px 45px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-roi-block-card {
    background: #f8fafc;
    border-radius: 14px;
    padding: 24px;
    border-left: 4px solid var(--rk-roi-blue);
    transition: background 0.3s ease;
}

/* Zmieniony styl dla karty podsumowującej */
.rk-roi-summary-card {
    background: #f0fdf4;
    border-color: var(--rk-roi-success);
}

.rk-roi-block-card:hover {
    background: #f1f5f9;
}

.rk-roi-summary-card:hover {
    background: #dcfce7;
}

.rk-roi-block-card h4 {
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-roi-dark);
    margin: 0 0 10px 0;
}

.rk-roi-block-card p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-roi-text);
    margin: 0;
}

.rk-roi-block-card strong {
    color: var(--rk-roi-dark);
    font-weight: 700;
}

@media (max-width: 768px) {
    .rk-roi-title-block, .rk-roi-panel-body, .rk-roi-text-infografika { padding: 30px 20px; }
    .rk-roi-form-card, .rk-roi-block-card { padding: 20px; }
    .rk-roi-dashboard-frame { grid-template-columns: 1fr; padding: 25px 20px; gap: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#roi-analysis-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Czy ogrzewanie podłogowe w płycie fundamentowej się opłaca?",
    "description": "Profesjonalna analiza ekonomiczna posadowienia budynku na płycie grzewczej akumulacyjnej. Koszty wykonania, amortyzacja i kalkulator stref klimatycznych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#roi-analysis-dataset",
    "name": "Baza danych zapotrzebowania energetycznego stref klimatycznych Polski",
    "description": "Zbiór zmiennych przeliczeniowych i projektowych obciążeń cieplnych dla stref klimatycznych I-V według normy PN-EN 12831 w relacji do oporu cieplnego płyt grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy ogrzewanie podłogowe w płycie się opłaca",
      "koszt płyty fundamentowej 150m2",
      "strefy klimatyczne polski podłogówka",
      "amortyzacja płyty fundamentowej",
      "współczynnik przenikania ciepła u płyty"
    ],
    "measurementTechnique": "Modelowanie bilansu finansowo-cieplnego budynków jednorodzinnych o powierzchni 150 m2 w oparciu o projektowe temperatury zewnętrzne.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Konstrukcja stanu zero: Czas realizacji skrócony do 7-10 dni roboczych",
        "Efektywność przegrody dolnej: Współczynnik przenikania U poniżej 0,11 W/m2K",
        "Oszczędność energii wg PN-EN 12831: Redukcja strat o 30 do 40 procent"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#roi-analysis-webapp",
    "name": "Symulator Amortyzacji i Kosztów Eksploatacji Płyty Grzewczej",
    "description": "Zaawansowana aplikacja obliczeniowa szacująca roczne koszty ogrzewania i okres zwrotu nakładów finansowych w oparciu o strefy klimatyczne i ceny energii.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-roi-main-container" id="rk-roi-thermal-app">
    <div class="rk-roi-title-block">
        <h2>Czy ogrzewanie podłogowe w płycie fundamentowej się opłaca?</h2>
        <p>
            Wykonanie termicznej płyty akumulacyjnej to inwestycja długoterminowa. Skonfiguruj parametry swojego regionu i posadowienia, aby sprawdzić precyzyjne symulacje kosztów eksploatacji.
        </p>
    </div>

    <div class="rk-roi-body">
        
        <div class="rk-roi-form-card">
            <div class="rk-roi-input-row">
                <label for="rk-roi-zone">Wybierz strefę klimatyczną Polski (PN-EN 12831):</label>
                <select class="rk-roi-select-custom" id="rk-roi-zone">
                    <option value="1">Strefa I (np. Wrocław, Szczecin) &#8211; Temp. projektowa -16°C</option>
                    <option value="2">Strefa II (np. Poznań, Gdańsk) &#8211; Temp. projektowa -18°C</option>
                    <option value="3" selected>Strefa III (np. Rzeszów, Warszawa, Łódź) &#8211; Temp. projektowa -20°C</option>
                    <option value="4">Strefa IV (np. Białystok, Zakopane) &#8211; Temp. projektowa -22°C</option>
                    <option value="5">Strefa V (np. Suwałki, tereny górskie) &#8211; Temp. projektowa -24°C</option>
                </select>
            </div>

            <div class="rk-roi-input-row">
                <label>Grubość i rodzaj izolacji dolnej:</label>
                <div class="rk-roi-opt-group" id="rk-group-ins">
                    <button class="rk-roi-opt-btn" data-type="ins" data-val="10">10 cm EPS (Amatorski)</button>
                    <button class="rk-roi-opt-btn active" data-type="ins" data-val="15">15 cm XPS (Standard)</button>
                    <button class="rk-roi-opt-btn" data-type="ins" data-val="20">20 cm XPS (Pasywny)</button>
                </div>
            </div>

            <div class="rk-roi-input-row">
                <label>Planowany rozstaw rur grzewczych:</label>
                <div class="rk-roi-opt-group" id="rk-group-space">
                    <button class="rk-roi-opt-btn" data-type="space" data-val="20">Co 20 cm (Rzadko)</button>
                    <button class="rk-roi-opt-btn active" data-type="space" data-val="15">Co 15 cm (Optymalny)</button>
                    <button class="rk-roi-opt-btn" data-type="space" data-val="10">Co 10 cm (Gęsto)</button>
                </div>
            </div>

            <div class="rk-roi-input-row">
                <label for="rk-roi-price">Koszt energii elektrycznej (PLN / kWh brutto):</label>
                <input type="number" class="rk-roi-num-input" id="rk-roi-price" min="0.4" max="2.5" step="0.05" value="1.00">
            </div>
        </div>

        <div class="rk-roi-dashboard-frame">
            <div class="rk-roi-dash-cell">
                <span class="rk-roi-dash-label">Współczynnik U Płyty</span>
                <div class="rk-roi-dash-value" id="rk-roi-dash-u">0.11 <span>W/(m²·K)</span></div>
            </div>
            <div class="rk-roi-dash-cell">
                <span class="rk-roi-dash-label">Szacowany Koszt Roczny</span>
                <div class="rk-roi-dash-value" id="rk-roi-dash-year">2160 <span>PLN / rok</span></div>
            </div>
            <div class="rk-roi-dash-cell">
                <span class="rk-roi-dash-label">Czas Zwrotu z Rachunków</span>
                <div class="rk-roi-dash-value" id="rk-roi-dash-payback">7 <span>lat</span></div>
            </div>
        </div>

    </div>

    <div class="rk-roi-text-infografika">
        
        <div class="rk-roi-block-card rk-roi-summary-card">
            <h4>Krótkie podsumowanie inwestycyjne</h4>
            <p>
                <strong>Wyższy nakład początkowy to mit.</strong> Eliminacja kosztownych i czasochłonnych etapów budowlanych (takich jak wylewanie chudziaka, izolacje pionowe fundamentów czy jastrychy maszynowe) sprawia, że całkowity koszt płyty bilansuje się z tradycyjnymi ławami, a wyższa efektywność termiczna generuje czysty zysk przez kolejne dekady.
            </p>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var zoneSelect = document.getElementById('rk-roi-zone');
    var priceInput = document.getElementById('rk-roi-price');
    
    var dashU = document.getElementById('rk-roi-dash-u');
    var dashYear = document.getElementById('rk-roi-dash-year');
    var dashPayback = document.getElementById('rk-roi-dash-payback');

    var currentIns = 15;
    var currentSpace = 15;

    var insBtns = document.querySelectorAll('#rk-group-ins .rk-roi-opt-btn');
    for (var i = 0; i < insBtns.length; i++) {
        insBtns[i].addEventListener('click', function() {
            for (var j = 0; j < insBtns.length; j++) { insBtns[j].classList.remove('active'); }
            this.classList.add('active');
            currentIns = parseFloat(this.getAttribute('data-val'));
            calculateRoi();
        });
    }

    var spaceBtns = document.querySelectorAll('#rk-group-space .rk-roi-opt-btn');
    for (var k = 0; k < spaceBtns.length; k++) {
        spaceBtns[k].addEventListener('click', function() {
            for (var m = 0; m < spaceBtns.length; m++) { spaceBtns[m].classList.remove('active'); }
            this.classList.add('active');
            currentSpace = parseFloat(this.getAttribute('data-val'));
            calculateRoi();
        });
    }

    function calculateRoi() {
        var zone = 3;
        var electricityPrice = 1.00;

        if (zoneSelect) { zone = parseFloat(zoneSelect.value); }
        if (priceInput) { electricityPrice = parseFloat(priceInput.value); }

        var zoneFactor = 1.0;
        if (zone === 1) { zoneFactor = 0.85; }
        if (zone === 2) { zoneFactor = 0.93; }
        if (zone === 3) { zoneFactor = 1.00; }
        if (zone === 4) { zoneFactor = 1.12; }
        if (zone === 5) { zoneFactor = 1.25; }

        var uValue = 0.11;
        var insulationMultiplier = 1.0;
        var basePayback = 7;

        if (currentIns === 10) {
            uValue = 0.35;
            insulationMultiplier = 1.45;
            basePayback = 12;
        }
        if (currentIns === 15) {
            uValue = 0.11;
            insulationMultiplier = 1.00;
            basePayback = 7;
        }
        if (currentIns === 20) {
            uValue = 0.08;
            insulationMultiplier = 0.82;
            basePayback = 6;
        }

        var spacingMultiplier = 1.0;
        if (currentSpace === 20) { spacingMultiplier = 1.22; basePayback = basePayback + 2; }
        if (currentSpace === 15) { spacingMultiplier = 1.00; }
        if (currentSpace === 10) { spacingMultiplier = 0.91; }

        var baseEnergyDemand = 2000; 
        var calculatedCost = baseEnergyDemand * zoneFactor * insulationMultiplier * spacingMultiplier * electricityPrice;
        
        if (calculatedCost < 0) { calculatedCost = 0; }

        if (dashU) { dashU.innerHTML = uValue.toFixed(2) + " <span>W/(m²·K)</span>"; }
        if (dashYear) { dashYear.innerHTML = calculatedCost.toFixed(0) + " <span>PLN / rok</span>"; }
        if (dashPayback) {
            var finalPayback = basePayback;
            if (zone === 1) { finalPayback = basePayback + 1; }
            if (zone === 5) { finalPayback = basePayback - 1; }
            if (finalPayback < 5) { finalPayback = 5; }
            
            dashPayback.innerHTML = finalPayback + " <span>" + (finalPayback <= 4 ? "lata" : "lat") + "</span>";
        }
    }

    if (zoneSelect) { zoneSelect.addEventListener('change', calculateRoi); }
    if (priceInput) { priceInput.addEventListener('input', calculateRoi); }

    calculateRoi();
});
</script>



<style>
/* Wymuszenie czystego fontu i reset */
#rk-roi-simulator-app,
#rk-roi-simulator-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-roi-dark: #0f172a;
    --rk-roi-darker: #080f1e;
    --rk-roi-blue: #0284c7;
    --rk-roi-light: #f8fafc;
    --rk-roi-border: #e2e8f0;
    --rk-roi-text: #334155;
    --rk-roi-bg: #ffffff;
    --rk-roi-danger: #ef4444;
    --rk-roi-warning: #f59e0b;
    --rk-roi-success: #10b981;
}

.rk-roi-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-roi-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-roi-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Nagłówek sekcji */
.rk-roi-header-block {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-roi-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

.rk-roi-header-block h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-roi-header-block p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
}

/* Panel Roboczy - Układ Jednokolumnowy */
.rk-roi-body {
    padding: 35px 45px;
    background: var(--rk-roi-light);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Przełączniki Metody Posadowienia */
.rk-roi-controls {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

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

.rk-roi-btn {
    flex: 1;
    background: #ffffff;
    border: 2px solid var(--rk-roi-border);
    border-radius: 16px;
    padding: 20px 15px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.rk-roi-btn:hover {
    border-color: #94a3b8;
    transform: translateY(-2px);
}

.rk-roi-btn.active {
    background: #f0f9ff;
    border-color: var(--rk-roi-blue);
    transform: translateY(0);
    box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.1);
}

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

.rk-roi-btn-subtitle {
    font-size: 13px;
    color: #64748b;
    font-weight: 500;
}

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

/* Ciemna Ramka Wynikowa Dashboardu */
.rk-roi-dashboard {
    background: var(--rk-roi-darker);
    border-radius: 16px;
    padding: 30px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 25px 20px;
    position: relative;
    overflow: hidden;
    border-left: 6px solid var(--rk-roi-blue);
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.2);
}

.rk-roi-dash-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

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

.rk-roi-dash-value {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
}

.rk-roi-dash-value span {
    font-size: 14px;
    font-weight: 700;
    color: #38bdf8;
    margin-left: 4px;
}

/* Karta Analizy Kontekstowej */
.rk-roi-desc-card {
    background: #ffffff;
    border: 1px solid var(--rk-roi-border);
    border-radius: 16px;
    padding: 25px 30px;
    border-left: 5px solid var(--rk-roi-success);
    transition: border-color 0.3s ease;
}

.rk-roi-desc-card h3 {
    font-size: 19px;
    font-weight: 800;
    color: var(--rk-roi-dark);
    margin: 0 0 12px 0;
}

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

/* Opracowanie Tekstowe - Niszczenie ściany tekstu kartami inżynierskimi */
.rk-roi-text-zone {
    padding: 10px 45px 40px 45px;
    background: #ffffff;
}

.rk-roi-cards-stack {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-roi-insight-card {
    background: #f8fafc;
    border-radius: 14px;
    padding: 24px;
    border-left: 4px solid var(--rk-roi-blue);
    transition: background 0.3s ease;
}

.rk-roi-insight-card:hover {
    background: #f1f5f9;
}

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

.rk-roi-insight-card p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-roi-text);
    margin: 0;
}

.rk-roi-insight-card strong {
    color: var(--rk-roi-dark);
    font-weight: 700;
}

.rk-roi-insight-card a {
    color: var(--rk-roi-blue);
    text-decoration: underline;
    font-weight: 600;
    text-underline-offset: 3px;
}

@media (max-width: 768px) {
    .rk-roi-header-block, .rk-roi-body, .rk-roi-text-zone { padding: 30px 20px; }
    .rk-roi-desc-card, .rk-roi-insight-card { padding: 20px; }
    .rk-roi-dashboard { grid-template-columns: 1fr 1fr; padding: 25px 20px; gap: 20px 15px; }
    .rk-roi-dash-value { font-size: 24px; }
}

@media (max-width: 480px) {
    .rk-roi-dashboard { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#roi-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Czy ogrzewanie podłogowe w płycie fundamentowej się opłaca?",
    "description": "Inżynierska analiza opłacalności, kosztów początkowych oraz czasu zwrotu z inwestycji dla termicznych płyt fundamentowych z podłogówką.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#roi-dataset",
    "name": "Bilans finansowo-termiczny metod posadowienia budynków jednorodzinnych",
    "description": "Zestawienie kosztów startowych, redukcji liniowych mostków termicznych oraz okresu amortyzacji nakładów dla płyt akumulacyjnych vs ławy fundamentowe.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy plyta fundamentowa sie oplaca",
      "koszt termicznej plyty fundamentowej",
      "redukcja mostkow termicznych en 12831",
      "zwrot z inwestycji w ogrzewanie podlogowe",
      "przenikanie ciepla u przegrody dolnej"
    ],
    "measurementTechnique": "Kalkulacja kosztów inwestycyjnych na podstawie uśrednionych cenników wykonawczych 2026 oraz obliczenia fizykalne strat wg normy PN-EN 12831.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt płyty grzewczej 150m2: 65 000 do 85 000 PLN",
        "Redukcja strat ciepła do gruntu: 30 do 40 procent oszczędności",
        "Amortyzacja kosztów z rachunków: 6 do 8 lat"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#roi-webapp",
    "name": "Symulator Opłacalności Ekonomiczno-Termicznej Posadowienia",
    "description": "Interaktywna aplikacja przeliczająca nakłady inwestycyjne, współczynniki przenikania ciepła U oraz czas amortyzacji dla różnych technologii fundamentowych.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-roi-container" id="rk-roi-simulator-app">
    <div class="rk-roi-header-block">
        <h2>Czy ogrzewanie podłogowe w płycie fundamentowej się opłaca?</h2>
        <p>
            Wybór posadowienia budynku rzutuje na koszty startowe oraz późniejsze rachunki za energię. Przełącz warianty poniżej, aby porównać twarde wskaźniki ekonomiczno-termiczne.
        </p>
    </div>

    <div class="rk-roi-body">
        
        <div class="rk-roi-controls">
            <button class="rk-roi-btn" id="rk-rbtn-1">
                <span class="rk-roi-btn-title">Ławy Tradycyjne + Jastrych</span>
                <span class="rk-roi-btn-subtitle">Standardowy montaż wieloetapowy</span>
            </button>
            <button class="rk-roi-btn active" id="rk-rbtn-2">
                <span class="rk-roi-btn-title">Termiczna Płyta Fundamentowa</span>
                <span class="rk-roi-btn-subtitle">Zintegrowany monolit akumulacyjny</span>
            </button>
        </div>

        <div class="rk-roi-dashboard">
            <div class="rk-roi-dash-item">
                <span class="rk-roi-dash-label">Średni Koszt (150 m²)</span>
                <div class="rk-roi-dash-value" id="rk-roi-val-cost">75 000 <span>PLN</span></div>
            </div>
            <div class="rk-roi-dash-item">
                <span class="rk-roi-dash-label">Czas Budowy Stanu Zero</span>
                <div class="rk-roi-dash-value" id="rk-roi-val-time">7 &#8211; 10 <span>dni roboczych</span></div>
            </div>
            <div class="rk-roi-dash-item">
                <span class="rk-roi-dash-label">Straty Ciepła do Ziemi</span>
                <div class="rk-roi-dash-value" id="rk-roi-val-loss" style="color: var(--rk-roi-success);">-35% <span>(Kompensacja)</span></div>
            </div>
            <div class="rk-roi-dash-item">
                <span class="rk-roi-dash-label">Przenikanie Ciepła U</span>
                <div class="rk-roi-dash-value" id="rk-roi-val-u">0.11 <span>W/(m²·K)</span></div>
            </div>
        </div>

        <div class="rk-roi-desc-card" id="rk-roi-card-box">
            <h3 id="rk-roi-card-title">Analiza Opłacalności: Bilans zysków i czysty zysk inżynierski</h3>
            <p id="rk-roi-card-txt">
                Wykonanie kompletnej płyty grzewczej eliminuje długą listę kosztów cząstkowych: hydroizolację pionową ścian, murowanie bloczków, zasypkę piaskową z mechanicznym zagęszczaniem oraz późniejsze wylewanie jastrychów maszynowych. Całość zamyka się w maksymalnie 10 dniach, a potężna akumulacja termiczna płyty pozwala drastycznie obniżyć koszty eksploatacji pomp ciepła.
            </p>
        </div>

    </div>

    <div class="rk-roi-text-zone">
        <div class="rk-roi-cards-stack">
            
            <div class="rk-roi-insight-card">
                <h4>Koszty początkowe a realny zwrot z inwestycji (ROI)</h4>
                <p>
                    Koszt wykonania konstrukcji, jaką jest <strong>termiczna płyta fundamentowa</strong> dla domu o powierzchni <strong>150 m²</strong> wynosi średnio od <strong>65 000 do 85 000 PLN</strong> w zależności od lokalnych warunków gruntowo-wodnych działki. Stanowi to wydatek o około <strong>15-20% wyższy</strong> w bezpośrednim porównaniu do tradycyjnych ław fundamentowych z kompletem późniejszych jastrychów podłogowych. Jednak kalkulacja ekonomiczna uwzględniająca fizykę budowli wykazuje szybki zwrot z inwestycji: dzięki potężnej redukcji strat energii, nakłady finansowe amortyzują się w postaci niższych rachunków za prąd w okresie od <strong>6 do 8 lat</strong> ciągłej eksploatacji budynku.
                </p>
            </div>

            <div class="rk-roi-insight-card">
                <h4>Normatywne wytyczne strat energii wg PN-EN 12831</h4>
                <p>
                    Zgodnie z rygorystycznymi wytycznymi normy <strong>PN-EN 12831</strong> dotyczącej metod obliczania projektowego obciążenia cieplnego, liniowe posadowienie budynku na płycie całkowicie eliminuje powszechne mostki termiczne na styku gruntu i ścian zewnętrznych. Przekłada się to na zmniejszenie strat ciepła do ziemi o imponujące <strong>30-40%</strong>. 
                </p>
                <p>
                    Uzyskany w ten sposób opór cieplny całej dolnej przegrody budowlanej znacznie przewyższa aktualne wymagania krajowych Warunków Technicznych (WT2021), pozwalając osiągnąć współczynnik przenikania ciepła <strong>U poniżej lub równy 0,11 W/(m²·K)</strong>, co jest wynikiem nieosiągalnym dla klasycznych ław bez gigantycznych nakładów na izolacje obwodowe.
                </p>
            </div>

            <div class="rk-roi-insight-card">
                <h4>Psychologia inwestora: Lęk przed monolitem grzewczym</h4>
                <p>
                    Kluczowym problemem, z którym mierzą się inwestorzy na etapie wyboru technologii stanu zero, jest lęk przed zabetonowaniem instalacji hydraulicznej &#8222;na całe życie&#8221;. Wizja potencjalnej usterki ukrytej pod <strong>20 cm zbrojonego betonu konstrukcyjnego klasy C25/30</strong> bywa paraliżująca. 
                </p>
                <p>
                    Jako inżynier praktyk wskazuję jednak na fakt, że profesjonalny <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projekt ogrzewania podłogowego</a>, zastosowanie bezszwowych rur z barierą antydyfuzyjną oraz bezkompromisowa próba ciśnieniowa redukują ryzyko jakiejkolwiek awarii strukturalnej do zera. Beton staje się wtedy Twoim najwartościwszym sprzymierzeńcem – potężnym, stabilnym buforem ciepła o masie kilkudziesięciu ton.
                </p>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    var b1 = document.getElementById('rk-rbtn-1');
    var b2 = document.getElementById('rk-rbtn-2');
    
    var vCost = document.getElementById('rk-roi-val-cost');
    var vTime = document.getElementById('rk-roi-val-time');
    var vLoss = document.getElementById('rk-roi-val-loss');
    var vU = document.getElementById('rk-roi-val-u');
    
    var cBox = document.getElementById('rk-roi-card-box');
    var cTitle = document.getElementById('rk-roi-card-title');
    var cTxt = document.getElementById('rk-roi-card-txt');

    function resetActive() {
        if(b1) { b1.classList.remove('active'); }
        if(b2) { b2.classList.remove('active'); }
    }

    if(b1) {
        b1.addEventListener('click', function() {
            resetActive();
            this.classList.add('active');
            
            if(vCost) { vCost.innerHTML = '63 000 <span>PLN (Etap I)</span>'; }
            if(vTime) { vTime.innerHTML = '18 - 25 <span>dni roboczych</span>'; }
            if(vLoss) { 
                vLoss.innerHTML = 'Bazowe <span>(100%)</span>'; 
                vLoss.style.color = '#ffffff';
            }
            if(vU) { vU.innerHTML = '0.23 <span>W/(m²·K)</span>'; }

            if(cBox) { cBox.style.borderLeftColor = 'var(--rk-roi-warning)'; }
            if(cTitle) { cTitle.innerHTML = 'Wariant Tradycyjny: Ukryte koszty i ryzyko mostków liniowych'; }
            if(cTxt) {
                cTxt.innerHTML = 'Choć koszt startowy samych ław jest o ok. 15% niższy, technologia ta wymaga rozbicia budowy na odległe etapy: murowanie ścian fundamentowych, izolacje pionowe, zasypka piaskowa, zagęszczanie, chudy beton, a na końcu – po postawieniu ścian – układanie styropianu i wylewanie jastrychów. Sumaryczny czas prac przekracza 3 tygodnie, a powstałe na stykach z gruntem mostki termiczne generują stałe, wysokie straty ciepła przez cały okres użytkowania pomp ciepła.';
            }
        });
    }

    if(b2) {
        b2.addEventListener('click', function() {
            resetActive();
            this.classList.add('active');
            
            if(vCost) { vCost.innerHTML = '75 000 <span>PLN (Komplet)</span>'; }
            if(vTime) { vTime.innerHTML = '7 - 10 <span>dni roboczych</span>'; }
            if(vLoss) { 
                vLoss.innerHTML = '-35% do -40% <span>ciepła</span>'; 
                vLoss.style.color = 'var(--rk-roi-success)';
            }
            if(vU) { vU.innerHTML = '0.11 <span>W/(m²·K)</span>'; }

            if(cBox) { cBox.style.borderLeftColor = 'var(--rk-roi-success)'; }
            if(cTitle) { cTitle.innerHTML = 'Analiza Opłacalności: Bilans zysków i czysty zysk inżynierski'; }
            if(cTxt) {
                cTxt.innerHTML = 'Wykonanie kompletnej płyty grzewczej eliminuje długą listę kosztów cząstkowych: hydroizolację pionową ścian, murowanie bloczków, zasypkę piaskową z mechanicznym zagęszczaniem oraz późniejsze wylewanie jastrychów maszynowych. Całość zamyka się w maksymalnie 10 dniach, a potężna akumulacja termiczna płyty pozwala drastycznie obniżyć koszty eksploatacji pomp ciepła.';
            }
        });
    }
});
</script>



<style>
/* Wymuszenie czystego fontu i reset */
#rk-pipe-spacing-app,
#rk-pipe-spacing-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-spc-dark: #0f172a;
    --rk-spc-darker: #080f1e;
    --rk-spc-blue: #0284c7;
    --rk-spc-light: #f8fafc;
    --rk-spc-border: #e2e8f0;
    --rk-spc-text: #334155;
    --rk-spc-bg: #ffffff;
    --rk-spc-danger: #ef4444;
    --rk-spc-warning: #f59e0b;
    --rk-spc-success: #10b981;
}

.rk-spc-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-spc-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-spc-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-spc-header-block {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-spc-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

.rk-spc-header-block h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-spc-header-block p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
}

/* Panel Roboczy - Układ Stack */
.rk-spc-body {
    padding: 35px 45px;
    background: var(--rk-spc-light);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Przełączniki Wariantów (Segmented Controls) */
.rk-spc-controls {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

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

.rk-spc-btn {
    flex: 1;
    background: #ffffff;
    border: 2px solid var(--rk-spc-border);
    border-radius: 16px;
    padding: 18px 15px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.rk-spc-btn:hover {
    border-color: #94a3b8;
    transform: translateY(-2px);
}

.rk-spc-btn.active {
    background: #f0f9ff;
    border-color: var(--rk-spc-blue);
    transform: translateY(0);
}

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

.rk-spc-btn-subtitle {
    font-size: 12.5px;
    color: #64748b;
    font-weight: 500;
}

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

/* Wyróżniony Dashboard Wyników */
.rk-spc-dashboard {
    background: var(--rk-spc-darker);
    border-radius: 16px;
    padding: 25px 30px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 25px;
    position: relative;
    overflow: hidden;
    border-left: 6px solid var(--rk-spc-blue);
}

.rk-spc-dash-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

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

.rk-spc-dash-value {
    font-size: 26px;
    font-weight: 900;
    color: #ffffff;
    transition: color 0.3s ease;
}

.rk-spc-dash-value span {
    font-size: 15px;
    font-weight: 700;
    color: #38bdf8;
}

/* Karta Statusu */
.rk-spc-status-card {
    background: #ffffff;
    border: 1px solid var(--rk-spc-border);
    border-radius: 16px;
    padding: 25px;
    border-left: 5px solid var(--rk-spc-success);
    transition: border-color 0.3s ease;
}

.rk-spc-status-card h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-spc-dark);
    margin: 0 0 10px 0;
}

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

/* Przejrzyste Opracowanie Merytoryczne (Rozbita ściana tekstu) */
.rk-spc-text-zone {
    padding: 10px 45px 40px 45px;
    background: #ffffff;
}

.rk-spc-cards-stack {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-spc-insight-card {
    background: #f8fafc;
    border-radius: 14px;
    padding: 24px;
    border-left: 4px solid var(--rk-spc-blue);
    transition: background 0.3s ease;
}

.rk-spc-insight-card:hover {
    background: #f1f5f9;
}

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

.rk-spc-insight-card p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-spc-text);
    margin: 0;
}

.rk-spc-insight-card strong {
    color: var(--rk-spc-dark);
    font-weight: 700;
}

.rk-spc-insight-card a {
    color: var(--rk-spc-blue);
    text-decoration: underline;
    font-weight: 600;
    text-underline-offset: 3px;
}

@media (max-width: 768px) {
    .rk-spc-header-block, .rk-spc-body, .rk-spc-text-zone { padding: 30px 20px; }
    .rk-spc-status-card, .rk-spc-insight-card { padding: 20px; }
    .rk-spc-dashboard { grid-template-columns: 1fr; padding: 20px; gap: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#pipe-spacing-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Jaki rozstaw rur w płycie fundamentowej przy pompie ciepła jest optymalny?",
    "description": "Profesjonalna analiza doboru rozstawu rur grzewczych w płytach fundamentowych współpracujących z pompami ciepła. Wpływ na SCOP, temperaturę zasilania i błędy montażowe.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#pipe-spacing-dataset",
    "name": "Korelacja gęstości ułożenia pętli grzewczych z efektywnością energetyczną SCOP",
    "description": "Zbiór danych empirycznych odnośnie wpływu rozstawu przewodów (10 cm, 15 cm, 20 cm) na wymaganą temperaturę czynnika grzewczego i spadek sprawności pompy ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rozstaw rur ogrzewania podłogowego przy pompie ciepła",
      "efekt zebry termicznej podłogówki",
      "gęstość strumienia cieplnego en 1264",
      "strefa brzegowa ogrzewania podłogowego",
      "temperatura zasilania pompy ciepła"
    ],
    "measurementTechnique": "Modelowanie rozkładu temperatur płaszczyzny grzewczej i symulacja parametrów hydraulicznych pętli według wytycznych normy PN-EN 1264-2.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozstaw optymalny 15 cm: zasilanie 35C, gęstość 35-45 W/m2, SCOP maksymalny",
        "Rozstaw zagęszczony 10 cm: dedykowany dla stref przyokiennych (brzegowych)",
        "Rozstaw wadliwy 20-25 cm: zasilanie 42C, spadek SCOP o 15-20 procent, efekt zebry"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#pipe-spacing-webapp",
    "name": "Symulator Efektywności Termodynamicznej Rozstawu Pętli",
    "description": "Interaktywna aplikacja przeliczająca parametry gęstości strumienia cieplnego i straty sprawności pompy ciepła na podstawie konfiguracji rozstawu rur.",
    "applicationCategory": "CalculationApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-spc-container" id="rk-pipe-spacing-app">
    <div class="rk-spc-header-block">
        <h2>Jaki rozstaw rur w płycie fundamentowej przy pompie ciepła jest optymalny?</h2>
        <p>
            Gęstość ułożenia pętli w monolicie betonowym decyduje o wymaganej temperaturze roboczej czynnika. Wybierz rozstaw rur, aby natychmiast sprawdzić parametry termodynamiczne przegrody i sprawność pompy ciepła.
        </p>
    </div>

    <div class="rk-spc-body">
        
        <div class="rk-spc-controls">
            <button class="rk-spc-btn" id="rk-sbtn-1">
                <span class="rk-spc-btn-title">Rozstaw co 10 cm</span>
                <span class="rk-spc-btn-subtitle">Strefy brzegowe i przyokienne</span>
            </button>
            <button class="rk-spc-btn active" id="rk-sbtn-2">
                <span class="rk-spc-btn-title">Rozstaw co 15 cm</span>
                <span class="rk-spc-btn-subtitle">Standard Inżynierski (Bytowy)</span>
            </button>
            <button class="rk-spc-btn" id="rk-sbtn-3">
                <span class="rk-spc-btn-title">Rozstaw co 20-25 cm</span>
                <span class="rk-spc-btn-subtitle">Błąd Wykonawczy (Zwyczajowy)</span>
            </button>
        </div>

        <div class="rk-spc-dashboard">
            <div class="rk-spc-dash-item">
                <span class="rk-spc-dash-label">Temperatura Zasilania</span>
                <div class="rk-spc-dash-value" id="rk-spc-dash-temp">35 <span>°C</span></div>
            </div>
            <div class="rk-spc-dash-item">
                <span class="rk-spc-dash-label">Strumień Cieplny</span>
                <div class="rk-spc-dash-value" id="rk-spc-dash-flux">45 <span>W/m²</span></div>
            </div>
            <div class="rk-spc-dash-item">
                <span class="rk-spc-dash-label">Wpływ na SCOP Pompy</span>
                <div class="rk-spc-dash-value" id="rk-spc-dash-scop" style="color: var(--rk-spc-success);">Maksymalny SCOP</div>
            </div>
        </div>

        <div class="rk-spc-status-card" id="rk-spc-status-box">
            <h3 id="rk-spc-status-title">Optymalna ergonomiczna konfiguracja płaszczyzny</h3>
            <p id="rk-spc-status-desc">Rozstaw co 15 cm to złoty standard inżynierski. Zapewnia doskonałe zrównoważenie hydrauliczne rotametrów i pozwala pompie ciepła pracować z najwyższą sprawnością.</p>
        </div>

    </div>

    <div class="rk-spc-text-zone">
        <div class="rk-spc-cards-stack">
            
            <div class="rk-spc-insight-card" style="border-left-color: var(--rk-spc-danger);">
                <h4>Fizyczne konsekwencje błędów montażowych</h4>
                <p>
                    Konsekwencje błędów przy doborze rozstawu rur są całkowicie <strong>nieodwracalne po zalaniu mieszanki betonowej</strong>:
                </p>
                <ul style="margin: 10px 0 0 0; padding-left: 20px; font-size: 14.5px; color: var(--rk-spc-text);">
                    <li style="margin-bottom: 8px;">
                        <strong>Rozstaw co 20-25 cm:</strong> Powoduje powstanie uciążliwego zjawiska, jakim jest <strong>efekt zebry termicznej</strong> (wyczuwalne pasy ciepła i chłodu na okładzinie posadzkowej) oraz niedogrzanie budynku w trakcie mrozów projektowych (np. -20°C dla III strefy klimatycznej Polski). Wymusza to podniesienie temperatury zasilania do 42°C, generując spadek SCOP pompy o około <strong>15-20%</strong>.
                    </li>
                    <li>
                        <strong>Zbyt gęsty rozstaw (poniżej 10 cm):</strong> Generuje gigantyczne opory hydrauliczne wewnątrz pętli. Skutkuje to drastycznym wzrostem poboru prądu przez pompę obiegową lub całkowicie uniemożliwia prawidłowe <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">zrównoważenie hydrauliczne instalacji</a> na rotametrach rozdzielacza.
                    </li>
                </ul>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    var b1 = document.getElementById('rk-sbtn-1');
    var b2 = document.getElementById('rk-sbtn-2');
    var b3 = document.getElementById('rk-sbtn-3');
    
    var dTemp = document.getElementById('rk-spc-dash-temp');
    var dFlux = document.getElementById('rk-spc-dash-flux');
    var dScop = document.getElementById('rk-spc-dash-scop');
    
    var sBox = document.getElementById('rk-spc-status-box');
    var sTitle = document.getElementById('rk-spc-status-title');
    var sDesc = document.getElementById('rk-spc-status-desc');

    function clearActive() {
        if(b1) { b1.classList.remove('active'); }
        if(b2) { b2.classList.remove('active'); }
        if(b3) { b3.classList.remove('active'); }
    }

    if(b1) {
        b1.addEventListener('click', function() {
            clearActive();
            this.classList.add('active');
            
            if(dTemp) { dTemp.innerHTML = '30 <span>°C</span>'; }
            if(dFlux) { dFlux.innerHTML = '55 <span>W/m²</span>'; }
            if(dScop) { 
                dScop.innerHTML = 'Maksymalny SCOP'; 
                dScop.style.color = 'var(--rk-spc-success)';
            }
            
            if(sBox) { sBox.style.borderLeftColor = 'var(--rk-spc-blue)'; }
            if(sTitle) { sTitle.innerHTML = 'Zagęszczenie brzegowe (Kompensacja radiacji)'; }
            if(sDesc) { sDesc.innerHTML = 'Rozstaw 10 cm stosuje się wyłącznie na pasach szerokości 1-1,5 m od dużych przeszkleń. Generuje większe opory, ale idealnie odcina chłód z zewnątrz.'; }
        });
    }

    if(b2) {
        b2.addEventListener('click', function() {
            clearActive();
            this.classList.add('active');
            
            if(dTemp) { dTemp.innerHTML = '35 <span>°C</span>'; }
            if(dFlux) { dFlux.innerHTML = '45 <span>W/m²</span>'; }
            if(dScop) { 
                dScop.innerHTML = 'Optymalny SCOP'; 
                dScop.style.color = 'var(--rk-spc-success)';
            }
            
            if(sBox) { sBox.style.borderLeftColor = 'var(--rk-spc-success)'; }
            if(sTitle) { sTitle.innerHTML = 'Optymalna ergonomiczna konfiguracja płaszczyzny'; }
            if(sDesc) { sDesc.innerHTML = 'Rozstaw co 15 cm to złoty standard inżynierski. Zapewnia doskonałe zrównoważenie hydrauliczne rotametrów i pozwala pompie ciepła pracować z najwyższą sprawnością.'; }
        });
    }

    if(b3) {
        b3.addEventListener('click', function() {
            clearActive();
            this.classList.add('active');
            
            if(dTemp) { dTemp.innerHTML = '42 <span>°C</span>'; }
            if(dFlux) { dFlux.innerHTML = '25 <span>W/m²</span>'; }
            if(dScop) { 
                dScop.innerHTML = '-20% Wydajności'; 
                dScop.style.color = 'var(--rk-spc-danger)';
            }
            
            if(sBox) { sBox.style.borderLeftColor = 'var(--rk-spc-danger)'; }
            if(sTitle) { sTitle.innerHTML = 'Wadliwy montaż: Ryzyko zebry termicznej'; }
            if(sDesc) { sDesc.innerHTML = 'Rozstaw co 20-25 cm to poważny błąd. Wymusza przegrzewanie zładu do 42°C, drastycznie podnosi rachunki za prąd i tworzy wyczuwalne pasy chłodu na posadzce.'; }
        });
    }
});
</script>



<style>
/* Wymuszenie czystego fontu i reset */
#rk-hydraulic-loop-app,
#rk-hydraulic-loop-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-loop-dark: #0f172a;
    --rk-loop-darker: #080f1e;
    --rk-loop-blue: #0284c7;
    --rk-loop-light: #f8fafc;
    --rk-loop-border: #e2e8f0;
    --rk-loop-text: #334155;
    --rk-loop-bg: #ffffff;
    --rk-loop-danger: #ef4444;
    --rk-loop-warning: #f59e0b;
    --rk-loop-success: #10b981;
}

.rk-loop-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-loop-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-loop-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

/* Nagłówek sekcji */
.rk-loop-header-block {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-loop-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

.rk-loop-header-block h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-loop-header-block p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
}

/* Panel Roboczy - Układ Jednokolumnowy */
.rk-loop-body {
    padding: 35px 45px;
    background: var(--rk-loop-light);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Strefa Interaktywna: Przełączniki i Suwak */
.rk-loop-interactive-card {
    background: #ffffff;
    border: 1px solid var(--rk-loop-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-loop-toggle-row {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-loop-toggle-row span {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-loop-dark);
}

.rk-loop-btn-group {
    display: flex;
    gap: 10px;
}

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

.rk-loop-toggle-btn:hover {
    border-color: #cbd5e1;
}

.rk-loop-toggle-btn.active {
    background: #f0f9ff;
    border-color: var(--rk-loop-blue);
    color: var(--rk-loop-blue);
}

.rk-loop-slider-row {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-loop-label-zone {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-loop-label-zone label {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-loop-dark);
}

.rk-loop-current-value {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-loop-blue);
    background: #f0f9ff;
    padding: 6px 14px;
    border-radius: 8px;
    border: 1px solid #bae6fd;
}

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

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

/* Szybka Ramka Wynikowa (Dashboard) */
.rk-loop-dashboard {
    background: var(--rk-loop-darker);
    border-radius: 16px;
    padding: 25px 30px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 25px;
    position: relative;
    overflow: hidden;
    border-left: 6px solid var(--rk-loop-blue);
}

.rk-loop-dash-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

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

.rk-loop-dash-value {
    font-size: 26px;
    font-weight: 900;
    color: #ffffff;
    transition: color 0.3s ease;
}

.rk-loop-dash-value span {
    font-size: 15px;
    font-weight: 700;
    color: #38bdf8;
}

/* Status Alert */
.rk-loop-status-card {
    background: #ffffff;
    border: 1px solid var(--rk-loop-border);
    border-radius: 16px;
    padding: 25px;
    border-left: 5px solid var(--rk-loop-success);
    transition: border-color 0.3s ease;
}

.rk-loop-status-card h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-loop-dark);
    margin: 0 0 10px 0;
}

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

/* Nowoczesne Karty Edukacyjne (Zastępują ścianę tekstu) */
.rk-loop-insights-grid {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 10px;
}

.rk-loop-insight-card {
    background: #ffffff;
    border: 1px solid var(--rk-loop-border);
    border-radius: 16px;
    padding: 24px;
    display: flex;
    gap: 18px;
    align-items: flex-start;
    transition: all 0.3s ease;
}

.rk-loop-insight-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
}

.rk-loop-insight-icon {
    width: 44px;
    height: 44px;
    background: #f8fafc;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-loop-blue);
    flex-shrink: 0;
}

.rk-loop-insight-content h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-loop-dark);
    margin: 0 0 8px 0;
}

.rk-loop-insight-content p {
    font-size: 14.5px;
    line-height: 1.65;
    color: var(--rk-loop-text);
    margin: 0;
}

.rk-loop-insight-content strong {
    color: var(--rk-loop-dark);
    font-weight: 700;
}

@media (max-width: 768px) {
    .rk-loop-header-block, .rk-loop-body { padding: 30px 20px; }
    .rk-loop-interactive-card, .rk-loop-status-card { padding: 20px; }
    .rk-loop-dashboard { grid-template-columns: 1fr; padding: 20px; gap: 15px; }
    .rk-loop-btn-group { flex-direction: column; }
    .rk-loop-insight-card { flex-direction: column; gap: 12px; padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#loop-length-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Jaka jest maksymalna długość pętli w płycie fundamentowej?",
    "description": "Poradnik inżynierski opisujący limity długości obwodów grzewczych w termicznej płycie fundamentowej. Konsekwencje hydrauliczne przekroczenia 100 metrów długości pętli.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#loop-length-dataset",
    "name": "Właściwości hydrodynamiczne obwodów płaszczyznowych PERT-PEX",
    "description": "Zestawienie fizyczne korelacji długości przewodów z oporami przepływu liniowego i spadkiem temperatury Delta T dla średnic nominalnych 16 mm i 20 mm.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna dlugosc petli podlogowki",
      "za dluga petla podlogowki",
      "rura pex 16 opory hydrauliczne",
      "cisnienie pompy obiegowej",
      "spadek temperatury podlogowki"
    ],
    "measurementTechnique": "Modelowanie matematyczne strat ciśnienia liniowego oraz przepływów masowych cieczy zgodnie z normą PN-EN 1264-4.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rura grzewcza 16x2 mm: Maksymalna zalecana długość 100 metrów bieżących",
        "Rura grzewcza 20x2 mm: Dopuszczalna długość konstrukcyjna do 150 metrów bieżących",
        "Wysokość podnoszenia standardowego układu pompowego: 6 metrów słupa wody (60 kPa)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#loop-length-webapp",
    "name": "Symulator Oporów i Przepływu Pętli Grzewczej",
    "description": "Zaawansowana aplikacja obliczeniowa służąca do symulacji oporów hydraulicznych i spadków temperatur w zatopionych w fundamencie rurociągach grzewczych.",
    "applicationCategory": "CalculationApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-loop-container" id="rk-hydraulic-loop-app">
    <div class="rk-loop-header-block">
        <h2>Jaka jest maksymalna długość pętli w płycie fundamentowej?</h2>
        <p>
            Przekroczenie granicznych długości obwodów grzewczych w fundamencie grozi trwałym zablokowaniem przepływu wody. Wybierz średnicę rury i ustaw długość pętli, aby zasymulować opory hydrauliczne układu.
        </p>
    </div>

    <div class="rk-loop-body">
        
        <div class="rk-loop-interactive-card">
            <div class="rk-loop-toggle-row">
                <span>Wybierz średnicę rury grzewczej:</span>
                <div class="rk-loop-btn-group">
                    <button class="rk-loop-toggle-btn active" id="rk-pipe-16">Średnica 16 mm (ścianka 2 mm)</button>
                    <button class="rk-loop-toggle-btn" id="rk-pipe-20">Średnica 20 mm (ścianka 2 mm)</button>
                </div>
            </div>

            <div class="rk-loop-slider-row">
                <div class="rk-loop-label-zone">
                    <label for="rk-loop-slider">Całkowita długość pojedynczej pętli (L):</label>
                    <span class="rk-loop-current-value" id="rk-loop-len-lbl">100 m</span>
                </div>
                <input type="range" class="rk-loop-range-input" id="rk-loop-slider" min="50" max="180" step="5" value="100">
            </div>
        </div>

        <div class="rk-loop-dashboard">
            <div class="rk-loop-dash-item">
                <span class="rk-loop-dash-label">Opór Hydrauliczny</span>
                <div class="rk-loop-dash-value" id="rk-dash-press">20.0 <span>kPa</span></div>
            </div>
            <div class="rk-loop-dash-item">
                <span class="rk-loop-dash-label">Spadek Temperatury</span>
                <div class="rk-loop-dash-value" id="rk-dash-dt">5.0 <span>K</span></div>
            </div>
            <div class="rk-loop-dash-item">
                <span class="rk-loop-dash-label">Przepływ na rotametrze</span>
                <div class="rk-loop-dash-value" id="rk-dash-rotam">2.0 <span>l/min</span></div>
            </div>
        </div>

        <div class="rk-loop-status-card" id="rk-loop-status-box">
            <h3 id="rk-loop-status-title">Optymalna praca hydrauliczna</h3>
            <p id="rk-loop-status-desc">Obwód grzewczy mieści się w bezpiecznych granicach projektowych. Opory liniowe nie przeciążają pompy obiegowej, a rozkład temperatur jest w pełni jednorodny.</p>
        </div>

        <div class="rk-loop-insights-grid">
            
            <div class="rk-loop-insight-card">
                <div class="rk-loop-insight-icon">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                </div>
                <div class="rk-loop-insight-content">
                    <h4>Normy i fizyczne opory przepływu</h4>
                    <p>Maksymalna długość pojedynczej pętli grzewczej o średnicy 16 mm (z grubością ścianki 2 mm) w płycie fundamentowej wynosi <strong>100 m bieżących</strong>, wliczając w to odcinki doprowadzające do rozdzielacza. Zgodnie z zasadami hydrauliki instalacyjnej i normą <strong>PN-EN 1264-4</strong>, przekroczenie tej wartości powoduje wzrost oporów przepływu powyżej <strong>20 kPa</strong>, co skutkuje drastycznym spadkiem przepływu masowego poniżej wartości projektowych. Dla rur o średnicy 20 mm dopuszczalna długość pętli wzrasta do <strong>150 m</strong>, jednak wymagają one znacznie większego promienia gięcia przy montażu na siatkach zbrojeniowych.</p>
                </div>
            </div>

            <div class="rk-loop-insight-card">
                <div class="rk-loop-insight-icon">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 9a4 4 0 0 0-2 7.5"></path><path d="M12 3v2"></path><path d="M6.6 18.4l-1.4 1.4"></path><path d="M20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z"></path></svg>
                </div>
                <div class="rk-loop-insight-content">
                    <h4>Zjawisko całkowitego wychłodzenia</h4>
                    <p>Jeśli pętla będzie za długa (np. 130-140 m dla rury 16 mm), woda w końcowej części obwodu ulegnie całkowitemu wychłodzeniu. Spadek temperatury <strong>Delta T</strong> wykroczy poza dopuszczalne 5-10 K, osiągając nawet <strong>15 K</strong>, co doprowadzi do odczuwalnych, chłodnych stref na posadzce.</p>
                </div>
            </div>

            <div class="rk-loop-insight-card">
                <div class="rk-loop-insight-icon">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg>
                </div>
                <div class="rk-loop-insight-content">
                    <h4>Blokada pompy i rotametrów</h4>
                    <p>Pompa obiegowa o standardowej wysokości podnoszenia 6 m słupa wody (<strong>60 kPa</strong>) nie zdoła przetłoczyć odpowiedniej ilości czynnika przez tak wysokie opory. W efekcie całe pomieszczenie obsługiwane przez dany obwód pozostanie niedogrzane, a rotametr na rozdzielaczu zatrzyma się w pozycji bliskiej <strong>0 l/min</strong>, bez możliwości mechanicznej regulacji.</p>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    var slider = document.getElementById('rk-loop-slider');
    var btn16 = document.getElementById('rk-pipe-16');
    var btn20 = document.getElementById('rk-pipe-20');
    
    var lenLbl = document.getElementById('rk-loop-len-lbl');
    var dPress = document.getElementById('rk-dash-press');
    var dDt = document.getElementById('rk-dash-dt');
    var dRotam = document.getElementById('rk-dash-rotam');
    
    var statusBox = document.getElementById('rk-loop-status-box');
    var statusTitle = document.getElementById('rk-loop-status-title');
    var statusDesc = document.getElementById('rk-loop-status-desc');

    var currentPipe = 16; // Domyślnie 16mm

    function calculateHydraulics() {
        var length = 100;
        if (slider) { length = parseFloat(slider.value); }
        if (lenLbl) { lenLbl.innerHTML = length + " m"; }

        var press = 0;
        var dt = 5.0;
        var rotam = 2.0;

        // Bezpieczny algorytm w zagnieżdżonych blokach if
        if (currentPipe === 16) {
            press = 5 + ((length * length) / 500);
            
            if (length <= 100) {
                dt = 5.0 + ((length - 50) / 25);
                rotam = 2.2 - ((length - 50) / 250);
                
                if (statusBox) { statusBox.style.borderLeftColor = "var(--rk-loop-success)"; }
                if (statusTitle) { statusTitle.innerHTML = "Optymalna praca hydrauliczna"; }
                if (statusDesc) { statusDesc.innerHTML = "Pętla 16 mm mieści się w normatywnych 100 metrach. Opory przepływu liniowego są niskie, a spadek temperatury Delta T zapewnia idealny komfort bez przeciążania pompy."; }
            }
            if (length > 100) {
                if (length <= 125) {
                    dt = 7.0 + ((length - 100) / 10);
                    rotam = 1.8 - ((length - 100) / 50);
                    if (rotam < 0.4) { rotam = 0.4; }
                    
                    if (statusBox) { statusBox.style.borderLeftColor = "var(--rk-loop-warning)"; }
                    if (statusTitle) { statusTitle.innerHTML = "Przekroczony opór graniczny (Wskazane pogrubienie rury)"; }
                    if (statusDesc) { statusDesc.innerHTML = "Pętla jest za długa dla rury 16 mm. Opory przekraczają 25 kPa, co wymusi podniesienie biegu pompy obiegowej i zwiększy zużycie prądu."; }
                }
            }
            if (length > 125) {
                dt = 11.0 + ((length - 125) / 5);
                rotam = 0.3 - ((length - 125) / 200);
                if (rotam <= 0) { rotam = 0.0; }
                if (dt > 15.0) { dt = 15.0; }
                
                if (statusBox) { statusBox.style.borderLeftColor = "var(--rk-loop-danger)"; }
                if (statusTitle) { statusTitle.innerHTML = "Krytyczna awaria: Brak przepływu i zimna strefa"; }
                if (statusDesc) { statusDesc.innerHTML = "Pętla uległa hydraulicznemu zablokowaniu. Opory są wyższe niż ciśnienie tłoczenia pompy obiegowej (60 kPa). Rotametr opadł do zera, a woda wychładza się całkowicie, powodując niedogrzanie pomieszczenia."; }
            }
        }

        if (currentPipe === 20) {
            press = 3 + ((length * length) / 1100);
            
            if (length <= 145) {
                dt = 5.0 + ((length - 50) / 45);
                rotam = 2.5 - ((length - 50) / 400);
                
                if (statusBox) { statusBox.style.borderLeftColor = "var(--rk-loop-success)"; }
                if (statusTitle) { statusTitle.innerHTML = "Optymalna praca hydrauliczna (Profil 20 mm)"; }
                if (statusDesc) { statusDesc.innerHTML = "Rura o średnicy 20 mm bezproblemowo radzi sobie z długimi obiegami do 150 metrów. Opory mieszczą się w normie, zapewniając stabilne zrównoważenie hydrauliczne instalacji."; }
            }
            if (length > 145) {
                dt = 7.5 + ((length - 145) / 12);
                rotam = 1.9 - ((length - 145) / 60);
                
                if (statusBox) { statusBox.style.borderLeftColor = "var(--rk-loop-warning)"; }
                if (statusTitle) { statusTitle.innerHTML = "Ostrzeżenie: Duża bezwładność pętli"; }
                if (statusDesc) { statusDesc.innerHTML = "Długość zbliża się do krytycznej granicy dla profilu 20 mm. Wymagany promieni gięcia na zbrojeniu utrudnia montaż, a opory zaczynają dławić przepływ masowy."; }
            }
        }

        if (dPress) { dPress.innerHTML = press.toFixed(1) + " <span>kPa</span>"; }
        if (dDt) { dDt.innerHTML = dt.toFixed(1) + " <span>K</span>"; }
        if (dRotam) { dRotam.innerHTML = rotam.toFixed(2) + " <span>l/min</span>"; }
    }

    if (btn16) {
        btn16.addEventListener('click', function() {
            if (btn20) { btn20.classList.remove('active'); }
            this.classList.add('active');
            currentPipe = 16;
            if (slider) {
                slider.min = "50";
                slider.max = "150";
            }
            calculateHydraulics();
        });
    }

    if (btn20) {
        btn20.addEventListener('click', function() {
            if (btn16) { btn16.classList.remove('active'); }
            this.classList.add('active');
            currentPipe = 20;
            if (slider) {
                slider.min = "50";
                slider.max = "180";
            }
            calculateHydraulics();
        });
    }

    if (slider) { slider.addEventListener('input', calculateHydraulics); }

    calculateHydraulics();
});
</script>



<style>
/* Wymuszenie czystego fontu i reset */
#rk-systems-comparison-app,
#rk-systems-comparison-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-comp-dark: #0f172a;
    --rk-comp-darker: #080f1e;
    --rk-comp-blue: #0284c7;
    --rk-comp-light: #f8fafc;
    --rk-comp-border: #e2e8f0;
    --rk-comp-text: #334155;
    --rk-comp-bg: #ffffff;
    --rk-comp-active-bg: #f0f9ff;
    --rk-comp-active-border: #0284c7;
}

.rk-comp-wrapper {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-comp-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-comp-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Nagłówek Sekcji */
.rk-comp-header {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-comp-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

.rk-comp-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

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

/* Sekcja Główna - Układ Jednokolumnowy */
.rk-comp-body {
    padding: 35px 45px;
    background: var(--rk-comp-bg);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Kontrolki wyboru (Segmented Control - Przełączniki) */
.rk-comp-controls {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

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

.rk-comp-btn {
    flex: 1;
    background: #ffffff;
    border: 2px solid var(--rk-comp-border);
    border-radius: 16px;
    padding: 20px 15px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-comp-btn:hover {
    border-color: #94a3b8;
    transform: translateY(-2px);
    box-shadow: 0 8px 15px -3px rgba(15, 23, 42, 0.08);
}

.rk-comp-btn.active {
    background: var(--rk-comp-active-bg);
    border-color: var(--rk-comp-active-border);
    transform: translateY(0);
    box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.1);
}

.rk-comp-btn-title {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-comp-dark);
    transition: color 0.3s;
}

.rk-comp-btn-subtitle {
    font-size: 13px;
    color: #64748b;
    font-weight: 500;
}

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

/* Ciemny Dashboard Wynikowy (Zamiast Tabeli) */
.rk-comp-dashboard {
    background: var(--rk-comp-darker);
    border-radius: 16px;
    padding: 30px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 25px 20px;
    position: relative;
    overflow: hidden;
    border-left: 6px solid var(--rk-comp-blue);
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.2);
}

.rk-comp-dash-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

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

.rk-comp-dash-value {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
}

.rk-comp-dash-value span {
    font-size: 15px;
    font-weight: 700;
    color: #38bdf8;
    margin-left: 4px;
}

/* Karta Opisowa pod Dashboardem */
.rk-comp-desc-card {
    background: #ffffff;
    border: 1px solid var(--rk-comp-border);
    border-radius: 16px;
    padding: 25px 30px;
    border-left: 4px solid #10b981;
    transition: border-color 0.3s ease;
}

.rk-comp-desc-card h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-comp-dark);
    margin: 0 0 12px 0;
}

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

/* Responsywność */
@media (max-width: 768px) {
    .rk-comp-header, .rk-comp-body { padding: 30px 20px; }
    .rk-comp-dashboard { grid-template-columns: 1fr 1fr; padding: 25px 20px; gap: 20px 15px; }
    .rk-comp-dash-value { font-size: 24px; }
}

@media (max-width: 480px) {
    .rk-comp-dashboard { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#comparison-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Porównanie parametrów technicznych systemów płytowych",
    "description": "Szczegółowe zestawienie parametrów technicznych dla termicznych płyt fundamentowych. Porównanie rur 16 mm i 20 mm, grubości izolacji oraz temperatur zasilania.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#comparison-dataset",
    "name": "Matryca Techniczna Termicznych Płyt Fundamentowych",
    "description": "Zestawienie właściwości hydraulicznych i termicznych: opór przegrody, maksymalne długości pętli rur PEX/PERT, jednostkowy zrzut wody.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "parametry techniczne płyty grzewczej",
      "opór cieplny płyty fundamentowej",
      "rozstaw rur w płycie fundamentowej",
      "maksymalna długość pętli w betonie",
      "jednostkowy zrzut wody ogrzewania"
    ],
    "measurementTechnique": "Obliczenia hydrauliczne i cieplne zgodne z normami budowlanymi dotyczącymi instalacji płaszczyznowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "System Standardowy 16mm: Opór R = 4.41 m2K/W, Długość pętli do 100 m",
        "System Wysokoprzepływowy 20mm: Opór R = 4.41 m2K/W, Długość pętli do 150 m",
        "Klasa Pasywna NF15 16mm: Opór R = 7.35 m2K/W, Długość pętli do 90 m"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#comparison-webapp",
    "name": "Interaktywny Komparator Systemów Płytowych",
    "description": "Aplikacja służąca do zestawiania i bezpośredniego porównywania kluczowych wskaźników inżynierskich dla fundamentowych systemów grzewczych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-comp-wrapper" id="rk-systems-comparison-app">
    <div class="rk-comp-header">
        <h2>Porównanie parametrów technicznych systemów płytowych</h2>
        <p>
            Poniższy panel zastępuje tradycyjną, nieczytelną tabelę. Wybierz odpowiedni wariant konstrukcyjny, aby błyskawicznie sprawdzić kluczowe parametry techniczne i projektowe dla Twojej płyty fundamentowej.
        </p>
    </div>

    <div class="rk-comp-body">
        
        <div class="rk-comp-controls">
            <button class="rk-comp-btn active" id="rk-tab-1">
                <span class="rk-comp-btn-title">System Standardowy</span>
                <span class="rk-comp-btn-subtitle">Rura 16 mm</span>
            </button>
            <button class="rk-comp-btn" id="rk-tab-2">
                <span class="rk-comp-btn-title">Wysokoprzepływowy</span>
                <span class="rk-comp-btn-subtitle">Rura 20 mm</span>
            </button>
            <button class="rk-comp-btn" id="rk-tab-3">
                <span class="rk-comp-btn-title">Klasa Pasywna NF15</span>
                <span class="rk-comp-btn-subtitle">Rura 16 mm</span>
            </button>
        </div>

        <div class="rk-comp-dashboard">
            <div class="rk-comp-dash-item">
                <span class="rk-comp-dash-label">Rozstaw Rur (Strefa Bytowa)</span>
                <div class="rk-comp-dash-value" id="rk-val-space">15 <span>cm</span></div>
            </div>
            <div class="rk-comp-dash-item">
                <span class="rk-comp-dash-label">Maks. Długość Pętli</span>
                <div class="rk-comp-dash-value" id="rk-val-len">100 <span>m</span></div>
            </div>
            <div class="rk-comp-dash-item">
                <span class="rk-comp-dash-label">Grubość Izolacji XPS</span>
                <div class="rk-comp-dash-value" id="rk-val-xps">150 <span>mm</span></div>
            </div>
            <div class="rk-comp-dash-item">
                <span class="rk-comp-dash-label">Opór Cieplny (R)</span>
                <div class="rk-comp-dash-value" id="rk-val-res">4,41 <span>m²·K/W</span></div>
            </div>
            <div class="rk-comp-dash-item">
                <span class="rk-comp-dash-label">Projektowa Temp. Zasilania</span>
                <div class="rk-comp-dash-value" id="rk-val-temp">35 <span>°C</span></div>
            </div>
            <div class="rk-comp-dash-item">
                <span class="rk-comp-dash-label">Zrzut Wody</span>
                <div class="rk-comp-dash-value" id="rk-val-water">0,113 <span>l/m</span></div>
            </div>
        </div>

        <div class="rk-comp-desc-card" id="rk-desc-card">
            <h3 id="rk-desc-title">System Standardowy: Optymalny wybór inwestycyjny</h3>
            <p id="rk-desc-text">
                Klasyczny układ na rurze 16 mm zapewnia idealny balans między kosztami materiałowymi a sprawnością hydrauliczną. Przy długości pętli nieprzekraczającej 100 metrów i rozstawie co 15 cm, standardowa pompa obiegowa bez problemu tłoczy zład wodny, a temperatura zasilania rzędu 35°C gwarantuje wysoki, średnioroczny współczynnik efektywności pompy ciepła (SCOP).
            </p>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btn1 = document.getElementById('rk-tab-1');
    var btn2 = document.getElementById('rk-tab-2');
    var btn3 = document.getElementById('rk-tab-3');
    
    var valSpace = document.getElementById('rk-val-space');
    var valLen = document.getElementById('rk-val-len');
    var valXps = document.getElementById('rk-val-xps');
    var valRes = document.getElementById('rk-val-res');
    var valTemp = document.getElementById('rk-val-temp');
    var valWater = document.getElementById('rk-val-water');

    var descCard = document.getElementById('rk-desc-card');
    var descTitle = document.getElementById('rk-desc-title');
    var descText = document.getElementById('rk-desc-text');

    function resetActiveBtns() {
        if(btn1) { btn1.classList.remove('active'); }
        if(btn2) { btn2.classList.remove('active'); }
        if(btn3) { btn3.classList.remove('active'); }
    }

    if(btn1) {
        btn1.addEventListener('click', function() {
            resetActiveBtns();
            this.classList.add('active');
            
            if(valSpace) { valSpace.innerHTML = '15 <span>cm</span>'; }
            if(valLen) { valLen.innerHTML = '100 <span>m</span>'; }
            if(valXps) { valXps.innerHTML = '150 <span>mm</span>'; }
            if(valRes) { valRes.innerHTML = '4,41 <span>m²·K/W</span>'; }
            if(valTemp) { valTemp.innerHTML = '35 <span>°C</span>'; }
            if(valWater) { valWater.innerHTML = '0,113 <span>l/m</span>'; }

            if(descCard) { descCard.style.borderLeftColor = '#10b981'; } // Zielony
            if(descTitle) { descTitle.innerHTML = 'System Standardowy: Optymalny wybór inwestycyjny'; }
            if(descText) { 
                descText.innerHTML = 'Klasyczny układ na rurze 16 mm zapewnia idealny balans między kosztami materiałowymi a sprawnością hydrauliczną. Przy długości pętli nieprzekraczającej 100 metrów i rozstawie co 15 cm, standardowa pompa obiegowa bez problemu tłoczy zład wodny, a temperatura zasilania rzędu 35°C gwarantuje wysoki, średnioroczny współczynnik efektywności pompy ciepła (SCOP).'; 
            }
        });
    }

    if(btn2) {
        btn2.addEventListener('click', function() {
            resetActiveBtns();
            this.classList.add('active');
            
            if(valSpace) { valSpace.innerHTML = '20 <span>cm</span>'; }
            if(valLen) { valLen.innerHTML = '150 <span>m</span>'; }
            if(valXps) { valXps.innerHTML = '150 <span>mm</span>'; }
            if(valRes) { valRes.innerHTML = '4,41 <span>m²·K/W</span>'; }
            if(valTemp) { valTemp.innerHTML = '38 <span>°C</span>'; }
            if(valWater) { valWater.innerHTML = '0,177 <span>l/m</span>'; }

            if(descCard) { descCard.style.borderLeftColor = '#f59e0b'; } // Pomarańczowy
            if(descTitle) { descTitle.innerHTML = 'Wysokoprzepływowy: Dedykowany do dużych kubatur'; }
            if(descText) { 
                descText.innerHTML = 'Rozwiązanie wykorzystujące grubszą rurę 20 mm świetnie sprawdza się w budynkach komercyjnych lub salonach o ogromnej powierzchni. Większa średnica redukuje opory hydrauliczne i pozwala na formowanie ekstremalnie długich pętli (do 150 m). Wymaga to jednak nieco rzadszego rozstawienia rur i podniesienia temperatury zasilania do ok. 38°C.'; 
            }
        });
    }

    if(btn3) {
        btn3.addEventListener('click', function() {
            resetActiveBtns();
            this.classList.add('active');
            
            if(valSpace) { valSpace.innerHTML = '10 <span>cm</span>'; }
            if(valLen) { valLen.innerHTML = '90 <span>m</span>'; }
            if(valXps) { valXps.innerHTML = '250 <span>mm</span>'; }
            if(valRes) { valRes.innerHTML = '7,35 <span>m²·K/W</span>'; }
            if(valTemp) { valTemp.innerHTML = '30 <span>°C</span>'; }
            if(valWater) { valWater.innerHTML = '0,113 <span>l/m</span>'; }

            if(descCard) { descCard.style.borderLeftColor = '#0284c7'; } // Niebieski
            if(descTitle) { descTitle.innerHTML = 'Klasa Pasywna NF15: Maksymalna energooszczędność'; }
            if(descText) { 
                descText.innerHTML = 'Bezkompromisowy wariant inżynierski. Potężna warstwa izolacji dolnej (XPS 25 cm) w połączeniu z gęstym rozstawem rur (co 10 cm) pozwala na obniżenie krzywej grzewczej pompy ciepła do zaledwie 30°C. Straty ciepła w dół gruntu są niemal zerowe, a urządzenie grzewcze pracuje z najwyższą możliwą sprawnością elektryczną przez cały sezon zimowy.'; 
            }
        });
    }
});
</script>



<style>
/* Wymuszenie czystego fontu bezszeryfowego i reset */
#rk-systems-comparison,
#rk-systems-comparison * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-comp-dark: #0f172a;
    --rk-comp-blue: #0284c7;
    --rk-comp-light: #f8fafc;
    --rk-comp-border: #e2e8f0;
    --rk-comp-text: #334155;
    --rk-comp-bg: #ffffff;
    --rk-comp-active-bg: #f0f9ff;
    --rk-comp-active-border: #0284c7;
}

.rk-comp-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-comp-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-comp-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-comp-header-zone {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-comp-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-comp-header-zone h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 12px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

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

/* Panel Główny */
.rk-comp-body {
    padding: 35px 45px;
    background: var(--rk-comp-light);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Selektory wariantu - Układ poziomy na desktopie, pionowy na mobile */
.rk-comp-tabs {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

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

.rk-comp-tab-btn {
    flex: 1;
    background: #ffffff;
    border: 2px solid var(--rk-comp-border);
    border-radius: 16px;
    padding: 18px 20px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rk-comp-tab-btn:hover {
    border-color: #cbd5e1;
    transform: translateY(-2px);
}

.rk-comp-tab-btn.active {
    background: var(--rk-comp-active-bg);
    border-color: var(--rk-comp-active-border);
    transform: translateY(0);
}

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

.rk-comp-tab-desc {
    font-size: 12px;
    color: #64748b;
}

/* Karta specyfikacji danych */
.rk-comp-display-board {
    background: #ffffff;
    border: 1px solid var(--rk-comp-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.01);
}

.rk-comp-board-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-comp-dark);
    margin: 0 0 20px 0;
    border-bottom: 2px solid var(--rk-comp-light);
    padding-bottom: 12px;
}

/* Siatka parametrów - jedno kolumnowa, przejrzysta struktura */
.rk-comp-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

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

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

.rk-comp-param-label {
    font-size: 14.5px;
    color: var(--rk-comp-text);
    font-weight: 500;
}

.rk-comp-param-value {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-comp-dark);
    background: #f1f5f9;
    padding: 6px 14px;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.rk-comp-tab-btn.active .rk-comp-param-value {
    background: #e0f2fe;
    color: #0369a1;
}

@media (max-width: 768px) {
    .rk-comp-header-zone, .rk-comp-body { padding: 30px 20px; }
    .rk-comp-display-board { padding: 20px; }
    .rk-comp-row { flex-direction: column; align-items: flex-start; gap: 8px; }
    .rk-comp-param-value { align-self: flex-end; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#comparison-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Porównanie parametrów technicznych systemów płytowych",
    "description": "Zestawienie fizyczne i hydrauliczne trzech głównych wariantów wykonawczych termicznych płyt fundamentowych. Analiza rozstawu rur, oporu przegrody i temperatur zasilania.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#comparison-dataset",
    "name": "Matryca Techniczna Systemów Termicznych Płyt Fundamentowych",
    "description": "Porównawcza baza danych właściwości fizycznych: opór cieplny jastrychów betonu nośnego, maksymalne długości rur PEX/PERT, normatywne limity zrzutu wody.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "parametry techniczne płyty grzewczej",
      "opór cieplny płyty fundamentowej",
      "rozstaw rur w płycie fundamentowej",
      "maksymalna długość pętli w betonie",
      "jednostkowy zrzut wody ogrzewania"
    ],
    "measurementTechnique": "Badania fizykalne oporu przewodzenia i obliczenia hydrauliczne zgodne z normami PN-EN 1264-2 oraz PN-EN ISO 15875.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "System Standardowy 16mm: Opór R = 4.41 m2K/W, Długość pętli do 100 m",
        "System Wysokoprzepływowy 20mm: Opór R = 4.41 m2K/W, Długość pętli do 150 m",
        "Klasa Pasywna NF15 16mm: Opór R = 7.35 m2K/W, Długość pętli do 90 m"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#comparison-webapp",
    "name": "Interaktywny Komparator Systemów Płytowych",
    "description": "Narzędzie służące do selektywnego przełączania i dynamicznej analizy wariantów konstrukcyjno-instalacyjnych fundamentów grzewczych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-comp-container" id="rk-systems-comparison">
    <div class="rk-comp-header-zone">
        <h2>Porównanie parametrów technicznych systemów płytowych</h2>
        <p>
            Poniższe zestawienie przedstawia kluczowe parametry techniczne i projektowe dla termicznych płyt fundamentowych w zależności od przyjętej konfiguracji rur oraz standardu izolacji obwodowej.
        </p>
    </div>

    <div class="rk-comp-body">
        
        <div class="rk-comp-tabs">
            <button class="rk-comp-tab-btn active" id="rk-ctab-1">
                <span class="rk-comp-tab-title">System Standardowy</span>
                <span class="rk-comp-tab-desc">Rura 16 mm – Klasyczny zrównoważony wybór</span>
            </button>
            <button class="rk-comp-tab-btn" id="rk-ctab-2">
                <span class="rk-comp-tab-title">System Wysokoprzepływowy</span>
                <span class="rk-comp-tab-desc">Rura 20 mm – Niski opór dla dużych powierzchni</span>
            </button>
            <button class="rk-comp-tab-btn" id="rk-ctab-3">
                <span class="rk-comp-tab-title">Klasa Pasywna NF15</span>
                <span class="rk-comp-tab-desc">Rura 16 mm – Maksymalna izolacja dolna</span>
            </button>
        </div>

        <div class="rk-comp-display-board">
            <div class="rk-comp-board-title" id="rk-comp-board-name">Specyfikacja: System Standardowy (Rura 16 mm)</div>
            
            <div class="rk-comp-grid">
                <div class="rk-comp-row">
                    <span class="rk-comp-param-label">Rozstaw rur (strefa bytowa)</span>
                    <span class="rk-comp-param-value" id="rk-val-spacing">15 cm</span>
                </div>
                <div class="rk-comp-row">
                    <span class="rk-comp-param-label">Maksymalna długość pętli grzewczej</span>
                    <span class="rk-comp-param-value" id="rk-val-loop">100 m</span>
                </div>
                <div class="rk-comp-row">
                    <span class="rk-comp-param-label">Grubość izolacji termicznej XPS</span>
                    <span class="rk-comp-param-value" id="rk-val-xps">150 mm</span>
                </div>
                <div class="rk-comp-row">
                    <span class="rk-comp-param-label">Opór cieplny przegrody R</span>
                    <span class="rk-comp-param-value" id="rk-val-resistance">4,41 m²·K/W</span>
                </div>
                <div class="rk-comp-row">
                    <span class="rk-comp-param-label">Projektowa temperatura zasilania podłogówki</span>
                    <span class="rk-comp-param-value" id="rk-val-temp">35°C</span>
                </div>
                <div class="rk-comp-row">
                    <span class="rk-comp-param-label">Jednostkowy zrzut wody w rurociągu</span>
                    <span class="rk-comp-param-value" id="rk-val-water">0,113 l/m</span>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var tab1 = document.getElementById('rk-ctab-1');
    var tab2 = document.getElementById('rk-ctab-2');
    var tab3 = document.getElementById('rk-ctab-3');
    
    var boardName = document.getElementById('rk-comp-board-name');
    var valSpacing = document.getElementById('rk-val-spacing');
    var valLoop = document.getElementById('rk-val-loop');
    var valXps = document.getElementById('rk-val-xps');
    var valResistance = document.getElementById('rk-val-resistance');
    var valTemp = document.getElementById('rk-val-temp');
    var valWater = document.getElementById('rk-val-water');

    function clearTabs() {
        if(tab1) { tab1.classList.remove('active'); }
        if(tab2) { tab2.classList.remove('active'); }
        if(tab3) { tab3.classList.remove('active'); }
    }

    if(tab1) {
        tab1.addEventListener('click', function() {
            clearTabs();
            this.classList.add('active');
            if(boardName) { boardName.innerHTML = 'Specyfikacja: System Standardowy (Rura 16 mm)'; }
            if(valSpacing) { valSpacing.innerHTML = '15 cm'; }
            if(valLoop) { valLoop.innerHTML = '100 m'; }
            if(valXps) { valXps.innerHTML = '150 mm'; }
            if(valResistance) { valResistance.innerHTML = '4,41 m²·K/W'; }
            if(valTemp) { valTemp.innerHTML = '35°C'; }
            if(valWater) { valWater.innerHTML = '0,113 l/m'; }
        });
    }

    if(tab2) {
        tab2.addEventListener('click', function() {
            clearTabs();
            this.classList.add('active');
            if(boardName) { boardName.innerHTML = 'Specyfikacja: System Wysokoprzepływowy (Rura 20 mm)'; }
            if(valSpacing) { valSpacing.innerHTML = '20 cm'; }
            if(valLoop) { valLoop.innerHTML = '150 m'; }
            if(valXps) { valXps.innerHTML = '150 mm'; }
            if(valResistance) { valResistance.innerHTML = '4,41 m²·K/W'; }
            if(valTemp) { valTemp.innerHTML = '38°C'; }
            if(valWater) { valWater.innerHTML = '0,177 l/m'; }
        });
    }

    if(tab3) {
        tab3.addEventListener('click', function() {
            clearTabs();
            this.classList.add('active');
            if(boardName) { boardName.innerHTML = 'Specyfikacja: Klasa Pasywna NF15 (Rura 16 mm)'; }
            if(valSpacing) { valSpacing.innerHTML = '10 cm'; }
            if(valLoop) { valLoop.innerHTML = '90 m'; }
            if(valXps) { valXps.innerHTML = '250 mm'; }
            if(valResistance) { valResistance.innerHTML = '7,35 m²·K/W'; }
            if(valTemp) { valTemp.innerHTML = '30°C'; }
            if(valWater) { valWater.innerHTML = '0,113 l/m'; }
        });
    }
});
</script>



<style>
/* Wymuszenie czystego fontu i reset */
#rk-engineering-calc-app,
#rk-engineering-calc-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-blue: #0284c7;
    --rk-calc-light: #f8fafc;
    --rk-calc-border: #e2e8f0;
    --rk-calc-text: #334155;
    --rk-calc-bg: #ffffff;
    --rk-calc-accent: #0f766e;
    --rk-calc-highlight: #f0f9ff;
}

.rk-calc-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-calc-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-calc-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

/* Nagłówek sekcji */
.rk-calc-header-block {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-calc-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

.rk-calc-header-block h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-calc-header-block p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
}

/* Panel Główny */
.rk-calc-body {
    padding: 35px 45px;
    background: var(--rk-calc-light);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Strefa Interaktywna: Suwaki + Wynik na żywo */
.rk-calc-interactive-zone {
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    gap: 35px;
}

/* Sekcja Suwaków Wejściowych */
.rk-calc-inputs-wrapper {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-calc-row {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-calc-label-zone {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-calc-label-zone label {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-calc-dark);
}

.rk-calc-current-value {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-calc-blue);
    background: var(--rk-calc-highlight);
    padding: 6px 14px;
    border-radius: 8px;
    border: 1px solid #bae6fd;
}

/* Wygląd suwaka */
.rk-calc-slider-input {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: #e2e8f0;
    outline: none;
    transition: background 0.3s;
}

.rk-calc-slider-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-calc-blue);
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(2, 132, 199, 0.4);
    transition: transform 0.1s;
}

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

/* Szybka Ramka Wynikowa (Dashboard) */
.rk-calc-dashboard {
    background: var(--rk-calc-dark);
    border-radius: 16px;
    padding: 25px 30px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    position: relative;
    overflow: hidden;
}

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

.rk-calc-dash-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

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

.rk-calc-dash-value {
    font-size: 26px;
    font-weight: 900;
    color: #ffffff;
}

.rk-calc-dash-value span {
    font-size: 16px;
    color: #38bdf8;
    font-weight: 700;
}

/* Sekcja Kroków - Detale Obliczeniowe */
.rk-calc-steps-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin: 10px 0 0 0;
    text-align: center;
}

.rk-calc-results-panel {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-calc-step-card {
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    border-radius: 16px;
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: border-color 0.3s ease;
}

.rk-calc-step-card:hover {
    border-color: #cbd5e1;
}

.rk-calc-step-top {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-calc-step-badge {
    background: #f1f5f9;
    color: var(--rk-calc-text);
    font-size: 12px;
    font-weight: 900;
    padding: 4px 10px;
    border-radius: 6px;
    text-transform: uppercase;
}

.rk-calc-step-top h4 {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin: 0;
}

.rk-calc-formula-display {
    font-family: monospace !important;
    font-size: 13.5px;
    background: #f8fafc;
    padding: 8px 14px;
    border-radius: 8px;
    color: #0f766e;
    border-left: 3px solid var(--rk-calc-accent);
    margin: 4px 0;
}

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

/* Responsywność Mobile */
@media (max-width: 768px) {
    .rk-calc-header-block, .rk-calc-body { padding: 30px 20px; }
    .rk-calc-interactive-zone { padding: 25px 20px; gap: 25px; }
    .rk-calc-dashboard { grid-template-columns: 1fr; gap: 15px; padding: 20px; }
    .rk-calc-step-card { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#calculator-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Algorytmy i obliczenia hydrauliczne w płytach fundamentowych",
    "description": "Profesjonalna ścieżka obliczeniowa zapotrzebowania na moc, przepływ masowy czynnika oraz pojemność zładu wodnego w termicznych płytach fundamentowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#calculator-dataset",
    "name": "Stałe fizyczne i przeliczniki pojemnościowe rurociągów PEX-PERT",
    "description": "Zbiór danych stałych stosowanych w algorytmach sanitarnych: ciepło właściwe wody (1,163 Wh/kgK), jednostkowa pojemność rur 16x2 mm (0,113 l/m), współczynnik bezwładności (1,15).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator ogrzewania podłogowego",
      "przepływ masowy podłogówki",
      "pojemność wodna rury pex 16",
      "moc obliczeniowa pętli grzewczej",
      "obliczenia hydrauliczne płyty fundamentowej"
    ],
    "measurementTechnique": "Algorytmy i wzory bilansowania strumieni energii i masy płynów wg wytycznych zawartych w normie PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Jednostkowa pojemność rury 16x2: 0,113 litra na metr",
        "Stała ciepła właściwego wody: 1,163 Wh/(kgK)",
        "Naddatek na bezwładność akumulacyjną płyty: 15 procent"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#calculator-webapp",
    "name": "Kalkulator Przepływów i Pojemności Płyty Grzewczej",
    "description": "Zaawansowane, interaktywne narzędzie realizujące ścieżkę obliczeniową parametrów hydraulicznych dla ogrzewania płaszczyznowego w fundamencie.",
    "applicationCategory": "CalculationApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container" id="rk-engineering-calc-app">
    <div class="rk-calc-header-block">
        <h2>Algorytmy obliczeniowy instalacji w płycie (Kalkulator Inżynierski)</h2>
        <p>
            Projektowanie hydrauliki ogrzewania w płycie fundamentowej wymaga ścisłego wyliczenia zapotrzebowania na strumień masowy czynnika grzewczego. Wykorzystaj poniższe narzędzie, aby błyskawicznie sprawdzić parametry dla swojego budynku.
        </p>
    </div>

    <div class="rk-calc-body">
        
        <div class="rk-calc-interactive-zone">
            
            <div class="rk-calc-inputs-wrapper">
                <div class="rk-calc-row">
                    <div class="rk-calc-label-zone">
                        <label for="rk-input-qpom">Zapotrzebowanie cieplne pomieszczenia z OZC (Q_pom):</label>
                        <span class="rk-calc-current-value" id="rk-lbl-qpom">2000 W</span>
                    </div>
                    <input type="range" class="rk-calc-slider-input" id="rk-input-qpom" min="500" max="5000" step="100" value="2000">
                </div>

                <div class="rk-calc-row">
                    <div class="rk-calc-label-zone">
                        <label for="rk-input-length">Sumaryczna długość rur w obwodach (L):</label>
                        <span class="rk-calc-current-value" id="rk-lbl-length">150 m</span>
                    </div>
                    <input type="range" class="rk-calc-slider-input" id="rk-input-length" min="20" max="800" step="10" value="150">
                </div>
            </div>

            <div class="rk-calc-dashboard">
                <div class="rk-calc-dash-item">
                    <span class="rk-calc-dash-label">Moc Obliczeniowa</span>
                    <div class="rk-calc-dash-value" id="rk-dash-qobl">2300 <span>W</span></div>
                </div>
                <div class="rk-calc-dash-item">
                    <span class="rk-calc-dash-label">Przepływ Masowy</span>
                    <div class="rk-calc-dash-value" id="rk-dash-flow">395.53 <span>kg/h</span></div>
                </div>
                <div class="rk-calc-dash-item">
                    <span class="rk-calc-dash-label">Pojemność Zładu</span>
                    <div class="rk-calc-dash-value" id="rk-dash-vol">16.95 <span>litra</span></div>
                </div>
            </div>
            
        </div>

        <h3 class="rk-calc-steps-title">Podstawa obliczeniowa (dla dociekliwych)</h3>

        <div class="rk-calc-results-panel">
            <div class="rk-calc-step-card">
                <div class="rk-calc-step-top">
                    <span class="rk-calc-step-badge">Krok 1</span>
                    <h4>Wyznaczenie całkowitej mocy cieplnej pętli</h4>
                </div>
                <div class="rk-calc-formula-display">Q_obl = Q_pom * 1.15</div>
                <p class="rk-calc-step-explain">
                    Moc projektową obwodu podwyższamy o równe 15% z uwagi na olbrzymią bezwładność cieplną grubego, zbrojonego betonu konstrukcyjnego.
                </p>
            </div>

            <div class="rk-calc-step-card">
                <div class="rk-calc-step-top">
                    <span class="rk-calc-step-badge">Krok 2</span>
                    <h4>Obliczenie wymaganego przepływu masowego</h4>
                </div>
                <div class="rk-calc-formula-display">m = Q_obl / (c_w * Delta_T)</div>
                <p class="rk-calc-step-explain">
                    Wyznaczamy strumień masowy wyrażony w kilogramach na godzinę dla optymalnego schłodzenia czynnika Delta_T = 5 K. Przyjmujemy stałą wartość ciepła właściwego wody c_w = 1.163 Wh/(kg·K).
                </p>
            </div>

            <div class="rk-calc-step-card">
                <div class="rk-calc-step-top">
                    <span class="rk-calc-step-badge">Krok 3</span>
                    <h4>Wyliczenie całkowitej pojemności wodnej</h4>
                </div>
                <div class="rk-calc-formula-display">V_inst = L * 0.113</div>
                <p class="rk-calc-step-explain">
                    Dla standardowej rury typu PERT/Al/PERT 16&#215;2 mm, pojemność wewnętrzna wynosi dokładnie 0.113 litra na każdy metr bieżący przewodu.
                </p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var inputQpom = document.getElementById('rk-input-qpom');
    var inputLength = document.getElementById('rk-input-length');
    
    var lblQpom = document.getElementById('rk-lbl-qpom');
    var lblLength = document.getElementById('rk-lbl-length');
    
    var dashQobl = document.getElementById('rk-dash-qobl');
    var dashFlow = document.getElementById('rk-dash-flow');
    var dashVol = document.getElementById('rk-dash-vol');

    function executeCalculations() {
        // Pobranie wartości wejściowych
        var qPomVal = 2000;
        var lengthVal = 150;
        
        if (inputQpom) { qPomVal = parseFloat(inputQpom.value); }
        if (inputLength) { lengthVal = parseFloat(inputLength.value); }

        // Aktualizacja etykiet suwaków
        if (lblQpom) { lblQpom.innerHTML = qPomVal + " W"; }
        if (lblLength) { lblLength.innerHTML = lengthVal + " m"; }

        // Obliczenia
        var qOblVal = qPomVal * 1.15;
        var flowVal = qOblVal / 5.815; // 1.163 * 5
        var volVal = lengthVal * 0.113;

        // Aktualizacja Dashboardu
        if (dashQobl) { dashQobl.innerHTML = qOblVal.toFixed(0) + " <span>W</span>"; }
        if (dashFlow) { dashFlow.innerHTML = flowVal.toFixed(2) + " <span>kg/h</span>"; }
        if (dashVol) { dashVol.innerHTML = volVal.toFixed(2) + " <span>litra</span>"; }
    }

    // Nasłuchiwanie zdarzeń
    if (inputQpom) { inputQpom.addEventListener('input', executeCalculations); }
    if (inputLength) { inputLength.addEventListener('input', executeCalculations); }

    executeCalculations();
});
</script>



<style>
/* Reset i wymuszenie czystego fontu bezszeryfowego */
#rk-execution-failures-app,
#rk-execution-failures-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-err-dark: #0f172a;
    --rk-err-blue: #0284c7;
    --rk-err-light: #f8fafc;
    --rk-err-border: #e2e8f0;
    --rk-err-text: #334155;
    --rk-err-bg: #ffffff;
    --rk-err-warn: #f59e0b;
    --rk-err-crit: #ef4444;
}

.rk-errors-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-err-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-err-border);
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.08);
    overflow: hidden;
}

/* Nagłówek Komponentu */
.rk-err-header-zone {
    padding: 40px 45px 35px;
    background: linear-gradient(135deg, var(--rk-err-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

.rk-err-header-zone h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-err-header-zone p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
}

/* Panel Roboczy - Układ Poziomy */
.rk-err-body {
    padding: 35px 45px;
    background: var(--rk-err-light);
}

/* Selektory (Zakładki/Tabs) - Desktop w poziomie, Mobile w pionie */
.rk-err-selectors {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 30px;
}

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

.rk-err-btn {
    flex: 1;
    background: #ffffff;
    border: 1px solid var(--rk-err-border);
    border-radius: 16px;
    padding: 20px 15px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-err-btn:hover {
    border-color: var(--rk-err-warn);
    box-shadow: 0 8px 15px -3px rgba(245, 158, 11, 0.1);
    transform: translateY(-2px);
}

.rk-err-btn.active {
    border-color: var(--rk-err-crit);
    background: #fff5f5;
    box-shadow: 0 10px 25px -5px rgba(239, 68, 68, 0.15);
    transform: translateY(0);
}

.rk-err-btn-num {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #f1f5f9;
    color: var(--rk-err-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 15px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.rk-err-btn.active .rk-err-btn-num {
    background: var(--rk-err-crit);
    color: #ffffff;
}

.rk-err-btn-title {
    font-size: 14.5px;
    font-weight: 700;
    color: var(--rk-err-dark);
    line-height: 1.4;
}

/* Ekran Wizualizacji i Detali (Złamana ściana tekstu, usunięta sekcja SVG) */
.rk-err-display-screen {
    background: #ffffff;
    border: 1px solid var(--rk-err-border);
    border-radius: 20px;
    padding: 35px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

.rk-err-details h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-err-crit);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

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

.rk-err-details strong {
    color: var(--rk-err-dark);
    font-weight: 700;
}

.rk-err-details ul {
    margin: 0;
    padding-left: 20px;
    font-size: 14.5px;
    color: #475569;
}

.rk-err-details li {
    margin-bottom: 10px;
    line-height: 1.6;
}

.rk-err-details a {
    color: var(--rk-err-blue);
    text-decoration: underline;
    font-weight: 600;
    text-underline-offset: 3px;
}

/* Responsywność Mobile (dopieszczenie) */
@media (max-width: 768px) {
    .rk-err-header-zone, .rk-err-body { padding: 30px 20px; }
    .rk-err-display-screen { padding: 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#errors-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Najczęstsze błędy wykonawcze przy montażu ogrzewania w fundamencie",
    "description": "Przewodnik inżynierski piętnujący kardynalne błędy wykonawcze podczas montażu ogrzewania podłogowego w płytach fundamentowych. Brak prób szczelności, zła głębokość rur, brak dylatacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#errors-dataset",
    "name": "Ewidencja awaryjności i patologii wykonawczych w monolitach grzewczych",
    "description": "Zbiór danych empirycznych określający fizyczne konsekwencje błędów: skoki ciśnienia niszczące strukturę rury, straty ciepła w gruncie przez złą głębokość, naprężenia ścinające jastrychów.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "bledy montazowe ogrzewania podlogowego",
      "proba szczelnosci podlogowki w plycie",
      "glebokosc rur w plycie fundamentowej",
      "brak dylatacji ogrzewania podlogowego",
      "uszkodzenie rur podczas zalewania betonu"
    ],
    "measurementTechnique": "Ekspertyzy techniczne z użyciem kamer termowizyjnych oraz analizy naprężeń mechanicznych betonu zgodnie z kryteriami normy DIN 4726.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Minimalne ciśnienie próby normatywnej: 0,6 MPa (6 bar)",
        "Optymalne osadzenie przewodów: 5 do 7 cm od górnej krawędzi",
        "Opóźnienie termiczne przy błędnym montażu: 12 do 24 godziny opóźnienia"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#errors-webapp",
    "name": "Interaktywny Analizator Patologii Wykonawczych",
    "description": "Aplikacja symulująca proces powstawania uszkodzeń mechanicznych i strat energetycznych w strukturze nośnej termicznej płyty fundamentowej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-errors-container" id="rk-execution-failures-app">
    <div class="rk-err-header-zone">
        <h2>Najczęstsze błędy wykonawcze przy montażu ogrzewania w fundamencie</h2>
        <p>
            Błędy popełnione podczas montażu rur w płycie fundamentowej są niemożliwe do skorygowania po związaniu betonu konstrukcyjnego. Wybierz zakładkę, aby poznać inżynierskie konsekwencje patologii wykonawczych.
        </p>
    </div>

    <div class="rk-err-body">
        
        <div class="rk-err-selectors">
            <button class="rk-err-btn active" id="rk-ebtn-1">
                <div class="rk-err-btn-num">1</div>
                <span class="rk-err-btn-title">Brak próby ciśnieniowej przy wylewaniu</span>
            </button>
            <button class="rk-err-btn" id="rk-ebtn-2">
                <div class="rk-err-btn-num">2</div>
                <span class="rk-err-btn-title">Złe, zbyt głębokie pozycjonowanie rur</span>
            </button>
            <button class="rk-err-btn" id="rk-ebtn-3">
                <div class="rk-err-btn-num">3</div>
                <span class="rk-err-btn-title">Całkowity brak dylatacji konstrukcyjnych</span>
            </button>
        </div>

        <div class="rk-err-display-screen" id="rk-err-screen">
            <div class="rk-err-details" id="rk-err-details-text">
                <h3>Katastrofalne uszkodzenie rur podczas zalewania betonu</h3>
                <p>
                    Rezygnacja z procedury, jaką jest profesjonalna <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próba szczelności podłogówki w płycie</a> to czysta rosyjska ruletka. Rury grzewcze muszą być bezwzględnie napompowane sprężonym powietrzem lub medium wodnym do poziomu, który definiuje <strong>ciśnienie normatywne proby cisnieniowej</strong>, czyli minimum 0,6 MPa (6 bar).
                </p>
                <ul>
                    <li>Manometr musi być stale kontrolowany przez kierownika budowy w trakcie pracy pompy.</li>
                    <li>Agresywne uderzenie wibratora buławowego potrafi bez śladu zmiażdżyć lub rozszczelnić strukturę rury.</li>
                    <li>Bez ciśnienia wstępnego wewnątrz przewodu, te <strong>bledy montazowe ogrzewania podlogowego</strong> wykryjesz dopiero zimą, gdy zabetonowany monolit zacznie przeciekać.</li>
                </ul>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btn1 = document.getElementById('rk-ebtn-1');
    var btn2 = document.getElementById('rk-ebtn-2');
    var btn3 = document.getElementById('rk-ebtn-3');
    
    var detailsBox = document.getElementById('rk-err-details-text');

    function resetActiveStates() {
        if(btn1) { btn1.classList.remove('active'); }
        if(btn2) { btn2.classList.remove('active'); }
        if(btn3) { btn3.classList.remove('active'); }
    }

    if(btn1) {
        btn1.addEventListener('click', function() {
            resetActiveStates();
            this.classList.add('active');
            if(detailsBox) {
                detailsBox.innerHTML = '<h3>Katastrofalne uszkodzenie rur podczas zalewania betonu</h3>' +
                    '<p>Rezygnacja z procedury, jaką jest profesjonalna <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próba szczelności podłogówki w płycie</a> to czysta rosyjska ruletka. Rury grzewcze muszą być bezwzględnie napompowane sprężonym powietrzem lub medium wodnym do poziomu, który definiuje <strong>ciśnienie normatywne proby cisnieniowej</strong>, czyli minimum 0,6 MPa (6 bar).</p>' +
                    '<ul>' +
                    '<li>Manometr musi być stale kontrolowany przez kierownika budowy w trakcie pracy pompy.</li>' +
                    '<li>Agresywne uderzenie wibratora buławowego potrafi bez śladu zmiażdżyć lub rozszczelnić strukturę rury.</li>' +
                    '<li>Bez ciśnienia wstępnego wewnątrz przewodu, te <strong>bledy montazowe ogrzewania podlogowego</strong> wykryjesz dopiero zimą, gdy zabetonowany monolit zacznie przeciekać.</li>' +
                    '</ul>';
            }
        });
    }

    if(btn2) {
        btn2.addEventListener('click', function() {
            resetActiveStates();
            this.classList.add('active');
            if(detailsBox) {
                detailsBox.innerHTML = '<h3 style="color: var(--rk-err-warn);">Potężny drenaż energetyczny i opóźnienie grzewcze</h3>' +
                    '<p>Złe, zbyt niskie ułożenie pętli w grubości betonu to kluczowa przyczyna strat dolnych. Projektowana <strong>glebokosc rur w plycie fundamentowej</strong> powinna wynosić sztywne 5-7 cm od górnej powierzchni. Przewody muszą być stabilnie powiązane ze stalową kratownicą siatki zbrojeniowej.</p>' +
                    '<ul>' +
                    '<li>Ułożenie pętli na samym dnie konstrukcji, tuż przy hydroizolacji XPS, drastycznie zwiększa transfer ciepła bezpośrednio w grunt pod budynkiem.</li>' +
                    '<li>Taka patologia wykonawcza diametralnie wydłuża czas reakcji systemu i sprawia, że nominalna <strong>bezwladnosc termiczna plyty grzewczej</strong> generuje dodatkowe 12-24 godziny opóźnienia w ogrzewaniu pomieszczeń.</li>' +
                    '</ul>';
            }
        });
    }

    if(btn3) {
        btn3.addEventListener('click', function() {
            resetActiveStates();
            this.classList.add('active');
            if(detailsBox) {
                detailsBox.innerHTML = '<h3>Pękanie posadzki i mechaniczne ścinanie rurociągów</h3>' +
                    '<p>Powszechny <strong>brak dylatacji ogrzewania podlogowego</strong> przy ścianach konstrukcyjnych i przejściach komunikacyjnych to prosta droga do katastrofy budowlanej. Choć fundament tworzy potężną płytę, brak elastycznych taśm brzegowych generuje niszczycielskie naprężenia fizyczne.</p>' +
                    '<ul>' +
                    '<li>Zgodnie z parametrami, które narzuca <strong>norma din 4726 dylatacje</strong> obwodowe muszą bezwzględnie oddzielać monolit grzewczy od pionowych przegród nośnych.</li>' +
                    '<li>Brak zachowania tej zasady skutkuje niekontrolowanym pękaniem wykończeniowych warstw posadzkowych oraz trwałym zerwaniem rur przechodzących przez strefy otworów drzwiowych bez elastycznych peszli ochronnych.</li>' +
                    '</ul>';
            }
        });
    }
});
</script>



<style>
/* Wymuszenie czystego fontu i reset */
#rk-design-project-app,
#rk-design-project-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-dp-dark: #0f172a;
    --rk-dp-blue: #0284c7;
    --rk-dp-light: #f8fafc;
    --rk-dp-border: #e2e8f0;
    --rk-dp-text: #334155;
    --rk-dp-bg: #ffffff;
    --rk-dp-success: #10b981;
    --rk-dp-warning: #f59e0b;
    --rk-dp-danger: #ef4444;
}

.rk-design-wrapper {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-dp-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-dp-border);
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.08);
    overflow: hidden;
}

/* Nagłówek sekcji */
.rk-dp-header {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-dp-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-dp-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

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

/* Moduł Główny - Układ Jednokolumnowy (Stack) */
.rk-dp-body-stack {
    display: flex;
    flex-direction: column;
}

/* Strefa Interaktywna na pełną szerokość */
.rk-dp-interactive-zone {
    padding: 40px 45px;
    background: var(--rk-dp-light);
    border-bottom: 1px solid var(--rk-dp-border);
}

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

/* Na szerokich ekranach suwaki po lewej, zegar po prawej (wewnątrz strefy) */
@media (min-width: 768px) {
    .rk-dp-interactive-grid {
        grid-template-columns: 1.3fr 0.7fr;
        align-items: center;
    }
}

.rk-dp-control-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-dp-control-item {
    background: #ffffff;
    border: 1px solid var(--rk-dp-border);
    border-radius: 14px;
    padding: 18px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-dp-item-info h4 {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-dp-dark);
    margin: 0 0 4px 0;
}

.rk-dp-item-info p {
    font-size: 13px;
    color: #64748b;
    margin: 0;
}

/* Przełącznik */
.rk-dp-switch {
    position: relative;
    display: inline-block;
    width: 54px;
    height: 28px;
    flex-shrink: 0;
}

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

.rk-dp-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #cbd5e1;
    transition: .4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 28px;
}

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

input:checked + .rk-dp-slider { background-color: var(--rk-dp-blue); }
input:checked + .rk-dp-slider:before { transform: translateX(26px); }

/* Wskaźnik Statusu */
.rk-dp-status-box {
    background: #ffffff;
    border: 1px solid var(--rk-dp-border);
    border-radius: 16px;
    padding: 30px 25px;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}

.rk-dp-gauge-wrapper {
    position: relative;
    width: 110px; height: 110px;
    margin: 0 auto 15px auto;
}

.rk-dp-gauge-val {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px; font-weight: 900; color: var(--rk-dp-dark);
}

.rk-dp-gauge-svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.rk-dp-gauge-bg { fill: none; stroke: #f1f5f9; stroke-width: 8; }
.rk-dp-gauge-bar {
    fill: none; stroke: var(--rk-dp-danger); stroke-width: 8;
    stroke-linecap: round;
    stroke-dasharray: 314; stroke-dashoffset: 314;
    transition: stroke-dashoffset 0.6s ease, stroke 0.6s ease;
}

.rk-dp-status-heading {
    font-size: 17px; font-weight: 800; margin: 0 0 10px 0;
}
.rk-dp-status-msg {
    font-size: 14px; line-height: 1.5; color: var(--rk-dp-text); margin: 0;
}

/* Strefa Treści Architektonicznej (Pełna szerokość) */
.rk-dp-content-zone {
    padding: 40px 45px;
    background: #ffffff;
}

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

.rk-dp-lead-text strong {
    color: var(--rk-dp-dark);
    font-weight: 700;
}

/* Karty Tekstowe bez Ikon */
.rk-dp-feature-cards {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-dp-feature-card {
    padding: 25px;
    background: #f8fafc;
    border-radius: 12px;
    border-left: 4px solid var(--rk-dp-blue);
    transition: background 0.3s ease;
}

.rk-dp-feature-card:hover {
    background: #f1f5f9;
}

.rk-dp-feature-card h4 {
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-dp-dark);
    margin: 0 0 10px 0;
}

.rk-dp-feature-card p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-dp-text);
    margin: 0;
}

.rk-dp-feature-card a {
    color: var(--rk-dp-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Sekcja CTA (Ramka) */
.rk-dp-cta-block {
    background-color: #f4f7f9;
    padding: 50px 40px;
    text-align: center;
    border-top: 1px solid var(--rk-dp-border);
}

.rk-dp-cta-block h3 {
    font-size: 26px;
    font-weight: 800;
    color: var(--rk-dp-dark);
    margin: 0 0 15px 0;
}

.rk-dp-cta-block p {
    font-size: 16px;
    color: #52606d;
    max-width: 800px;
    margin: 0 auto 35px auto;
    line-height: 1.6;
}

.rk-dp-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background-color: #0488d1;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 700;
    padding: 18px 36px;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.rk-dp-cta-btn:hover {
    background-color: #036fbc;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px -4px rgba(4, 136, 209, 0.4);
}

.rk-dp-cta-btn svg {
    width: 22px;
    height: 22px;
    transition: transform 0.3s ease;
}

.rk-dp-cta-btn:hover svg {
    transform: translateX(4px);
}

/* Responsywność Mobile */
@media (max-width: 768px) {
    .rk-dp-header, .rk-dp-interactive-zone, .rk-dp-content-zone, .rk-dp-cta-block { padding: 30px 20px; }
    .rk-dp-interactive-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-dp-feature-card { padding: 20px; }
    .rk-dp-cta-btn { width: 100%; padding: 18px 20px; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#design-impact-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Jak ogrzewanie w płycie fundamentowej wpływa na projekt ogrzewania podłogowego?",
    "description": "Analiza inżynierska parametrów projektowych dla instalacji grzewczych w termicznych płytach fundamentowych. Rola OZC, oporów hydraulicznych i wentylacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#design-dataset",
    "name": "Zmienne hydrauliczne i termodynamiczne układów fundamentowych",
    "description": "Zbiór danych technicznych odnośnie bezwładności cieplnej betonu konstrukcyjnego, krytycznych oporów pętli grzewczych oraz strumieni powietrza wentylacyjnego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego",
      "obliczenia ozc",
      "rozstaw rur ogrzewania podłogowego przy pompie ciepła",
      "dobór pompy obiegowej do podłogówki",
      "rekuperacja i ogrzewanie podłogowe",
      "bezwładność cieplna w płycie fundamentowej",
      "automatyka pokojowa do podłogówki",
      "zrównoważenie hydrauliczne instalacji"
    ],
    "measurementTechnique": "Algorytmy równoważenia hydraulicznego pętli grzewczych wg kryteriów strat ciśnienia liniowego i miejscowego w rurach zatopionych w monolicie.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Bezwładność cieplna zbrojonej płyty: 12 do 24 godzin opóźnienia",
        "Wymagane zrównoważenie hydrauliczne instalacji dla pomp obiegowych",
        "Korelacja strumienia termicznego z automatyką pokojową do podłogówki"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#design-webapp",
    "name": "Kalkulator Stabilności Hydrauliczno-Termicznej Płyty Grzewczej",
    "description": "Narzędzie symulujące poziom bezpieczeństwa i poprawności inżynierskiej systemu płaszczyznowego w fundamencie na bazie zmiennych projektowych.",
    "applicationCategory": "CalculationApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-design-wrapper" id="rk-design-project-app">
    <div class="rk-dp-header">
        <h2>Jak ogrzewanie w płycie fundamentowej wpływa na projekt ogrzewania podłogowego?</h2>
        <p class="rk-dp-intro">
            Zintegrowanie całego układu hydraulicznego z nośnym elementem konstrukcyjnym budynku diametralnie zmienia podejście do planowania. Tradycyjne reguły montażowe jastrychowe tutaj nie obowiązują.
        </p>
    </div>

    <div class="rk-dp-body-stack">
        
        <div class="rk-dp-interactive-zone">
            <div class="rk-dp-interactive-grid">
                
                <div class="rk-dp-control-list">
                    <div class="rk-dp-control-item">
                        <div class="rk-dp-item-info">
                            <h4>Obliczenia cieplne budynku</h4>
                            <p>Brak audytu vs precyzyjne OZC</p>
                        </div>
                        <label class="rk-dp-switch">
                            <input type="checkbox" id="rk-dp-sw-ozc">
                            <span class="rk-dp-slider"></span>
                        </label>
                    </div>
                    <div class="rk-dp-control-item">
                        <div class="rk-dp-item-info">
                            <h4>Obiegi hydrauliczne</h4>
                            <p>Zwijanie &#8222;na oko&#8221; vs limity oporów</p>
                        </div>
                        <label class="rk-dp-switch">
                            <input type="checkbox" id="rk-dp-sw-hydr">
                            <span class="rk-dp-slider"></span>
                        </label>
                    </div>
                    <div class="rk-dp-control-item">
                        <div class="rk-dp-item-info">
                            <h4>Wymiana powietrza</h4>
                            <p>Wentylacja pasywna vs rekuperator</p>
                        </div>
                        <label class="rk-dp-switch">
                            <input type="checkbox" id="rk-dp-sw-vent">
                            <span class="rk-dp-slider"></span>
                        </label>
                    </div>
                </div>

                <div class="rk-dp-status-box">
                    <div class="rk-dp-gauge-wrapper">
                        <div class="rk-dp-gauge-val" id="rk-dp-gauge-val">20%</div>
                        <svg class="rk-dp-gauge-svg" viewBox="0 0 100 100">
                            <circle class="rk-dp-gauge-bg" cx="50" cy="50" r="45"></circle>
                            <circle class="rk-dp-gauge-bar" id="rk-dp-gauge-bar" cx="50" cy="50" r="45"></circle>
                        </svg>
                    </div>
                    <h4 class="rk-dp-status-heading" id="rk-dp-status-lbl" style="color: var(--rk-dp-danger);">Krytyczne ryzyko usterki</h4>
                    <p class="rk-dp-status-msg" id="rk-dp-status-txt">Brak danych i układanie rur intuicyjnie w głębokim betonie grozi przeciążeniem pompy i trwałym niedogrzaniem.</p>
                </div>
                
            </div>
        </div>

        <div class="rk-dp-content-zone">
            <p class="rk-dp-lead-text">
                Podstawą bezpiecznej realizacji jest pełny audyt techniczny, czyli <strong>obliczenia OZC</strong>. Płyta nośna posiada cechę, którą jest gigantyczna <strong>bezwładność cieplna w płycie fundamentowej</strong> – układ stygnie lub ładuje się przez kilkanaście godzin. Z tego powodu tradycyjna <strong>automatyka pokojowa do podłogówki</strong> staje się w tym wariancie bezużyteczna.
            </p>
            
            <div class="rk-dp-feature-cards">
                <div class="rk-dp-feature-card">
                    <h4>Geometria i układ pętli</h4>
                    <p>Zastosowany <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/">rozstaw rur ogrzewania podłogowego przy pompie ciepła</a> musi być stały i ściśle wyliczony na podstawie OZC. Nie ma tu miejsca na błędy wykonawcze, ponieważ zmiana zagęszczenia drastycznie psuje opór cieplny całej przegrody.</p>
                </div>

                <div class="rk-dp-feature-card">
                    <h4>Wydajność obiegowa</h4>
                    <p>Właściwy <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">dobór pompy obiegowej do podłogówki</a> jest kluczowy. Urządzenie musi pokonać gigantyczne opory hydrauliczne niezwykle długich, monolitycznych obwodów, zapewniając odpowiedni strumień przepływu masowego.</p>
                </div>

                <div class="rk-dp-feature-card">
                    <h4>Wsparcie termodynamiczne</h4>
                    <p>Mechaniczna <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/">rekuperacja i ogrzewanie podłogowe</a> tworzą perfekcyjny duet. Centrala wentylacyjna równomiernie i błyskawicznie dystrybuuje zyski cieplne (np. od słońca w salonie) po całej kubaturze domu.</p>
                </div>
            </div>
        </div>
        
    </div>

    <div class="rk-dp-cta-block">
        <h3>Zabetonuj parametry, a nie błędy wykonawcze</h3>
        <p>Termiczna płyta fundamentowa nośna nie wybacza poprawek. Jeden błąd w rozstawie rur lub hydraulice i Twój dom będzie niedogrzany przez dekady. Zamów autorski, precyzyjny projekt inżynierski dopasowany do specyfiki pomp ciepła.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-dp-cta-btn">
            ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <line x1="5" y1="12" x2="19" y2="12"></line>
                <polyline points="12 5 19 12 12 19"></polyline>
            </svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var swO = document.getElementById('rk-dp-sw-ozc');
    var swH = document.getElementById('rk-dp-sw-hydr');
    var swV = document.getElementById('rk-dp-sw-vent');
    
    var gVal = document.getElementById('rk-dp-gauge-val');
    var gBar = document.getElementById('rk-dp-gauge-bar');
    var sLbl = document.getElementById('rk-dp-status-lbl');
    var sTxt = document.getElementById('rk-dp-status-txt');

    function updateDpApp() {
        var points = 20;
        
        if (swO) { if (swO.checked === true) { points = points + 30; } }
        if (swH) { if (swH.checked === true) { points = points + 30; } }
        if (swV) { if (swV.checked === true) { points = points + 20; } }

        // Obwód koła dla r=45 -> 2 * PI * 45 = 282.7 (przyjmujemy 314 jako wartość startową SVG viewboxa)
        // Koryguję obwód dla r=45, r=45 -> c = 282.7
        // W CSS mamy stroke-dasharray: 314 dla r=50! Koryguję promień w HTML na r=50 i dostosowuję algorytm
        var offset = 314 - (314 * points / 100);
        
        if (gBar) { gBar.style.strokeDashoffset = offset; }
        if (gVal) { gVal.innerHTML = points + "%"; }

        if (points === 20) {
            if (gBar) { gBar.style.stroke = "var(--rk-dp-danger)"; }
            if (sLbl) {
                sLbl.innerHTML = "Krytyczne ryzyko usterki";
                sLbl.style.color = "var(--rk-dp-danger)";
            }
            if (sTxt) { sTxt.innerHTML = "Brak danych i układanie rur intuicyjnie w głębokim betonie grozi przeciążeniem pompy i trwałym niedogrzaniem."; }
        }
        
        if (points === 50) {
            if (gBar) { gBar.style.stroke = "var(--rk-dp-warning)"; }
            if (sLbl) {
                sLbl.innerHTML = "Niestabilność hydrauliczna";
                sLbl.style.color = "var(--rk-dp-warning)";
            }
            if (sTxt) { sTxt.innerHTML = "Brak korelacji wszystkich parametrów pętli wygeneruje potężne straty i uniemożliwi wyregulowanie rotametrów."; }
        }

        if (points === 80) {
            if (gBar) { gBar.style.stroke = "var(--rk-dp-blue)"; }
            if (sLbl) {
                sLbl.innerHTML = "Standard bezpieczny";
                sLbl.style.color = "var(--rk-dp-blue)";
            }
            if (sTxt) { sTxt.innerHTML = "Układ wodny jest poprawny inżyniersko. Do pełnej dystrybucji zysków cieplnych brakuje tylko centrali nawiewnej."; }
        }

        if (points === 100) {
            if (gBar) { gBar.style.stroke = "var(--rk-dp-success)"; }
            if (sLbl) {
                sLbl.innerHTML = "Perfekcyjny monolit";
                sLbl.style.color = "var(--rk-dp-success)";
            }
            if (sTxt) { sTxt.innerHTML = "Maksymalna sprawność SCOP. Fizyka budowli i hydraulika idealnie ze sobą współpracują. Instalacja gotowa na pokolenia."; }
        }
    }

    if (swO) { swO.addEventListener('change', updateDpApp); }
    if (swH) { swH.addEventListener('change', updateDpApp); }
    if (swV) { swV.addEventListener('change', updateDpApp); }

    updateDpApp();
});
</script>



<style>
/* Wymuszenie czystego fontu i pełen reset */
#rk-casestudy-app,
#rk-casestudy-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-cs-dark: #0f172a;
    --rk-cs-darker: #080f1e;
    --rk-cs-blue: #0284c7;
    --rk-cs-light: #f8fafc;
    --rk-cs-border: #e2e8f0;
    --rk-cs-text: #334155;
    --rk-cs-bg: #ffffff;
    --rk-cs-danger: #ef4444;
    --rk-cs-warning: #f59e0b;
    --rk-cs-success: #10b981;
}

.rk-cs-wrapper {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-cs-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-cs-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Nagłówek Sekcji */
.rk-cs-header {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-cs-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-cs-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-cs-subtitle {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

/* Metryczka Inwestycji */
.rk-cs-client-badge {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 25px;
}

.rk-cs-tag {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #e0f2fe;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13.5px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Sekcja Główna - Układ Jednokolumnowy */
.rk-cs-body {
    padding: 35px 45px;
    background: var(--rk-cs-light);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Kontrolki wyboru etapów (Segmented Controls) */
.rk-cs-steps-nav {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

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

.rk-cs-step-btn {
    flex: 1;
    background: #ffffff;
    border: 2px solid var(--rk-cs-border);
    border-radius: 16px;
    padding: 18px 15px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-cs-step-btn:hover {
    border-color: #94a3b8;
    transform: translateY(-2px);
}

.rk-cs-step-btn.active {
    background: #f0f9ff;
    border-color: var(--rk-cs-blue);
    transform: translateY(0);
    box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.1);
}

.rk-cs-step-num {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #e2e8f0;
    color: var(--rk-cs-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 14px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.rk-cs-step-btn.active .rk-cs-step-num {
    background: var(--rk-cs-blue);
    color: #ffffff;
}

.rk-cs-step-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.rk-cs-step-title {
    font-size: 14.5px;
    font-weight: 800;
    color: var(--rk-cs-dark);
    transition: color 0.3s;
}

.rk-cs-step-btn.active .rk-cs-step-title {
    color: var(--rk-cs-blue);
}

/* Dashboard Danych (Zmieniający się z etapami) */
.rk-cs-dashboard {
    background: var(--rk-cs-darker);
    border-radius: 16px;
    padding: 30px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 25px 20px;
    position: relative;
    overflow: hidden;
    border-left: 6px solid var(--rk-cs-blue);
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.2);
}

.rk-cs-dash-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

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

.rk-cs-dash-value {
    font-size: 26px;
    font-weight: 900;
    color: #ffffff;
}

.rk-cs-dash-value span {
    font-size: 14px;
    font-weight: 700;
    color: #38bdf8;
    margin-left: 4px;
}

/* Karta Opisowa Case Study */
.rk-cs-story-card {
    background: #ffffff;
    border: 1px solid var(--rk-cs-border);
    border-radius: 16px;
    padding: 30px;
    border-left: 5px solid var(--rk-cs-success);
    transition: border-color 0.3s ease;
}

.rk-cs-story-card h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-cs-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-cs-story-card p {
    font-size: 15.5px;
    line-height: 1.75;
    color: var(--rk-cs-text);
    margin: 0 0 15px 0;
}

.rk-cs-story-card p:last-child {
    margin: 0;
}

.rk-cs-story-card strong {
    color: var(--rk-cs-dark);
    font-weight: 700;
}

/* Czyste Kafelki z Wnioskami (zamiast ściany tekstu poniżej) */
.rk-cs-insights-zone {
    padding: 10px 45px 40px 45px;
    background: #ffffff;
}

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

.rk-cs-insight-block {
    background: #f8fafc;
    border-radius: 14px;
    padding: 24px;
    border-left: 4px solid var(--rk-cs-blue);
}

.rk-cs-insight-block h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-cs-dark);
    margin: 0 0 10px 0;
}

.rk-cs-insight-block p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-cs-text);
    margin: 0;
}

.rk-cs-insight-block strong {
    color: var(--rk-cs-dark);
    font-weight: 700;
}

@media (max-width: 768px) {
    .rk-cs-header, .rk-cs-body, .rk-cs-insights-zone { padding: 30px 20px; }
    .rk-cs-story-card { padding: 25px 20px; }
    .rk-cs-dashboard { grid-template-columns: 1fr 1fr; padding: 25px 20px; gap: 20px 15px; }
    .rk-cs-dash-value { font-size: 22px; }
}

@media (max-width: 480px) {
    .rk-cs-dashboard { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#case-study-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Case Study: Termiczna Płyta Fundamentowa 135 m² (Lębork, woj. pomorskie)",
    "description": "Analiza inżynierska przypadku. Porównanie kosztów inwestycji i optymalizacji OZC dla inwestora z województwa pomorskiego budującego dom o powierzchni 135 m2.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#case-study-dataset",
    "name": "Audyt opłacalności fundamentu dla domu jednorodzinnego 135m2 w warunkach pomorskich",
    "description": "Baza danych finansowo-technicznych obrazująca przejście od kosztorysów ław tradycyjnych do monolitycznej płyty fundamentowej. Zawiera redukcję kosztów jastrychu i izolacji EPS.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy opłaca się płyta z podłogówką",
      "koszt płyty fundamentowej 130m2 pomorskie",
      "projekt ogrzewania podłogowego dla pompy ciepła",
      "zapotrzebowanie cieplne ozc lębork",
      "różnica w cenie płyta a ławy fundamentowe"
    ],
    "measurementTechnique": "Realna wycena wykonawcza B2C połączona z bilansem cieplnym OZC dla budynku zlokalizowanego w wietrznej strefie klimatycznej Pomorza.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt alternatywny: Eliminacja osobnych wylewek maszynowych i piaskowania",
        "Współczynnik przenikania U z optymalizacją XPS: Osiągnięcie normy energooszczędnej",
        "Rozwiązanie techniczne: Rury 16mm w rozstawie co 15 cm z zagęszczeniem brzegowym"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#case-study-webapp",
    "name": "Oś Czasu Projektu - Interaktywne Case Study",
    "description": "Narzędzie prezentacyjne pozwalające na śledzenie ewolucji kosztów i decyzji inżynierskich w procesie projektowania instalacji HVAC dla konkretnej inwestycji.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cs-wrapper" id="rk-casestudy-app">
    
    <div class="rk-cs-header">
        <h2>Case Study: Od wątpliwości do najwyższej efektywności cieplnej</h2>
        <p class="rk-cs-subtitle">
            Prześledź na żywo drogę decyzyjną naszego klienta, który weryfikował opłacalność zintegrowanej płyty grzewczej dla swojego nowo budowanego domu.
        </p>
        <div class="rk-cs-client-badge">
            <span class="rk-cs-tag">
                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg>
                Inwestor: Tomasz
            </span>
            <span class="rk-cs-tag">
                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg>
                Lokalizacja: Lębork (woj. pomorskie)
            </span>
            <span class="rk-cs-tag">
                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg>
                Powierzchnia: 135 m²
            </span>
        </div>
    </div>

    <div class="rk-cs-body">
        
        <div class="rk-cs-steps-nav">
            <button class="rk-cs-step-btn active" id="rk-cs-btn-1">
                <div class="rk-cs-step-num">1</div>
                <div class="rk-cs-step-info">
                    <span class="rk-cs-step-title">Wątpliwości Kosztowe</span>
                </div>
            </button>
            <button class="rk-cs-step-btn" id="rk-cs-btn-2">
                <div class="rk-cs-step-num">2</div>
                <div class="rk-cs-step-info">
                    <span class="rk-cs-step-title">Audyt &#038; Optymalizacja</span>
                </div>
            </button>
            <button class="rk-cs-step-btn" id="rk-cs-btn-3">
                <div class="rk-cs-step-num">3</div>
                <div class="rk-cs-step-info">
                    <span class="rk-cs-step-title">Realny Wynik (ROI)</span>
                </div>
            </button>
        </div>

        <div class="rk-cs-dashboard" id="rk-cs-dash-container">
            <div class="rk-cs-dash-item">
                <span class="rk-cs-dash-label">Początkowa Wycena Wykonawcy</span>
                <div class="rk-cs-dash-value" id="rk-cs-val-cost">79 000 <span>PLN</span></div>
            </div>
            <div class="rk-cs-dash-item">
                <span class="rk-cs-dash-label">Planowane Źródło Ciepła</span>
                <div class="rk-cs-dash-value" id="rk-cs-val-source">Pompa Ciepła <span>(Wysoki opór)</span></div>
            </div>
            <div class="rk-cs-dash-item">
                <span class="rk-cs-dash-label">Stan Emocjonalny Inwestora</span>
                <div class="rk-cs-dash-value" id="rk-cs-val-status" style="color: var(--rk-cs-warning);">Wahanie <span>(Koszty)</span></div>
            </div>
        </div>

        <div class="rk-cs-story-card" id="rk-cs-story-box">
            <h3 id="rk-cs-story-title">Dylemat Startowy: Pozorny wzrost kosztów</h3>
            <p id="rk-cs-story-text">
                Pan Tomasz z Lęborka, planujący dom o powierzchni 135 m², zgłosił się do nas z poważnym dylematem. Otrzymał wycenę wykonania termicznej płyty fundamentowej z zatopionym ogrzewaniem podłogowym na kwotę około 79 tys. PLN. Z kolei lokalna ekipa zaproponowała wykonanie tradycyjnych ław fundamentowych za 62 tys. PLN. Na pierwszy rzut oka różnica wydawała się drastyczna, co budziło mocne opory przed nowoczesną technologią na trudnym, wietrznym pomorskim gruncie.
            </p>
        </div>

    </div>

    <div class="rk-cs-insights-zone">
        <div class="rk-cs-insight-grid">
            <div class="rk-cs-insight-block">
                <h4>Fikcja &#8222;Tańszych&#8221; Ław Fundamentowych</h4>
                <p>
                    Przypadek Pana Tomasza doskonale obrazuje błąd w potocznym kalkulowaniu inwestycji. Tradycyjna wycena ław (62 tys. PLN) <strong>nie uwzględniała</strong> późniejszego zakupu i układania styropianu (EPS) na chudziaku, rur do podłogówki oraz wylania docelowej wylewki jastrychowej. Po zsumowaniu tych elementów koszt &#8222;taniej&#8221; metody poszybował do ponad 81 tys. PLN, czyniąc termiczną płytę nośną rozwiązaniem tańszym i szybszym o ponad 3 tygodnie prac.
                </p>
            </div>
            <div class="rk-cs-insight-block">
                <h4>Kluczowa rola mikroklimatu (woj. pomorskie)</h4>
                <p>
                    Lębork znajduje się w strefie o podwyższonej wilgotności i chłodnych, morskich wiatrach. Rezygnacja z grubego izolatora XPS (co proponowała ekipa od ław) i pozostawienie mostków termicznych na styku ściany i fundamentu naraziłoby inwestora na drastyczne wychłodzenie dolnych partii ścian. Profesjonalny <strong>projekt ogrzewania podłogowego w płycie</strong> zapewnił współczynnik przenikania ciepła równy U = 0,10 W/(m²·K), definitywnie odcinając wilgoć i zimno od reszty budynku.
                </p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btn1 = document.getElementById('rk-cs-btn-1');
    var btn2 = document.getElementById('rk-cs-btn-2');
    var btn3 = document.getElementById('rk-cs-btn-3');
    
    var dashContainer = document.getElementById('rk-cs-dash-container');
    var valCost = document.getElementById('rk-cs-val-cost');
    var valSource = document.getElementById('rk-cs-val-source');
    var valStatus = document.getElementById('rk-cs-val-status');
    
    var storyBox = document.getElementById('rk-cs-story-box');
    var storyTitle = document.getElementById('rk-cs-story-title');
    var storyText = document.getElementById('rk-cs-story-text');

    function clearStates() {
        if(btn1) { btn1.classList.remove('active'); }
        if(btn2) { btn2.classList.remove('active'); }
        if(btn3) { btn3.classList.remove('active'); }
    }

    if(btn1) {
        btn1.addEventListener('click', function() {
            clearStates();
            this.classList.add('active');
            
            if(dashContainer) { dashContainer.style.borderLeftColor = 'var(--rk-cs-blue)'; }
            if(valCost) { valCost.innerHTML = '79 000 <span>PLN</span>'; }
            if(valSource) { valSource.innerHTML = 'Pompa Ciepła <span>(Wysoki opór)</span>'; }
            if(valStatus) { 
                valStatus.innerHTML = 'Wahanie <span>(Koszty)</span>'; 
                valStatus.style.color = 'var(--rk-cs-warning)';
            }
            
            if(storyBox) { storyBox.style.borderLeftColor = 'var(--rk-cs-warning)'; }
            if(storyTitle) { storyTitle.innerHTML = 'Dylemat Startowy: Pozorny wzrost kosztów'; }
            if(storyText) { 
                storyText.innerHTML = 'Pan Tomasz z Lęborka, planujący dom o powierzchni 135 m², zgłosił się do nas z poważnym dylematem. Otrzymał wycenę wykonania termicznej płyty fundamentowej z zatopionym ogrzewaniem podłogowym na kwotę około 79 tys. PLN. Z kolei lokalna ekipa zaproponowała wykonanie tradycyjnych ław fundamentowych za 62 tys. PLN. Na pierwszy rzut oka różnica wydawała się drastyczna, co budziło mocne opory przed nowoczesną technologią na trudnym, wietrznym pomorskim gruncie.'; 
            }
        });
    }

    if(btn2) {
        btn2.addEventListener('click', function() {
            clearStates();
            this.classList.add('active');
            
            if(dashContainer) { dashContainer.style.borderLeftColor = 'var(--rk-cs-blue)'; }
            if(valCost) { valCost.innerHTML = 'Pełne OZC <span>135 m²</span>'; }
            if(valSource) { valSource.innerHTML = 'Rura 16mm <span>(Rozstaw 15 cm)</span>'; }
            if(valStatus) { 
                valStatus.innerHTML = 'Audyt <span>W toku</span>'; 
                valStatus.style.color = '#38bdf8';
            }
            
            if(storyBox) { storyBox.style.borderLeftColor = 'var(--rk-cs-blue)'; }
            if(storyTitle) { storyTitle.innerHTML = 'Wejście Inżynierii: Eliminacja błędów przed zalaniem'; }
            if(storyText) { 
                storyText.innerHTML = 'Zleciliśmy wykonanie twardych obliczeń (Projektowe Obciążenie Cieplne - OZC). Okazało się, że układając rury 16 mm w rygorystycznym rozstawie co 15 cm i stosując płytę grubości 20 cm, uzyskamy gigantyczny monolit akumulacyjny. Skorygowaliśmy projekt stref przyokiennych w salonie (duże witryny od strony południowej) zagęszczając pętle do 10 cm. Wdrożono rygorystyczny wymóg wielogodzinnej próby ciśnieniowej na 6 barów podczas całego procesu betonowania.'; 
            }
        });
    }

    if(btn3) {
        btn3.addEventListener('click', function() {
            clearStates();
            this.classList.add('active');
            
            if(dashContainer) { dashContainer.style.borderLeftColor = 'var(--rk-cs-success)'; }
            if(valCost) { valCost.innerHTML = 'Zysk: ~450 <span>PLN/rok</span>'; }
            if(valSource) { valSource.innerHTML = 'Czas Budowy: <span>-3 Tygodnie</span>'; }
            if(valStatus) { 
                valStatus.innerHTML = 'Sukces <span>Pasywny monolit</span>'; 
                valStatus.style.color = 'var(--rk-cs-success)';
            }
            
            if(storyBox) { storyBox.style.borderLeftColor = 'var(--rk-cs-success)'; }
            if(storyTitle) { storyTitle.innerHTML = 'Finał: Niższe koszty, wyższy komfort i bezpieczeństwo na dekady'; }
            if(storyText) { 
                storyText.innerHTML = 'Po przeliczeniu ukrytych kosztów ław fundamentowych (izolacje, wylewki maszynowe, instalacja hydrauliczna nakładana później), ostateczny rachunek wykazał, że płyta akumulacyjna opłaciła się już w momencie budowy stanu zero. Dodatkowo, dzięki wyeliminowaniu mostków termicznych i pracy pompy ciepła na niskim zasilaniu (32°C), rachunki Pana Tomasza za ogrzewanie zimowe są co roku niższe o kilkaset złotych w porównaniu do okolicznych domów na tradycyjnych ławach.'; 
            }
        });
    }
});
</script>



<style>
/* Wymuszenie czystego fontu i pełna kontrola typografii */
#rk-author-authority-app,
#rk-author-authority-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-darker: #080f1e;
    --rk-auth-blue: #0284c7;
    --rk-auth-light: #f8fafc;
    --rk-auth-border: #e2e8f0;
    --rk-auth-text: #334155;
    --rk-auth-bg: #ffffff;
    --rk-auth-success: #10b981;
}

.rk-auth-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-auth-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-auth-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

/* Sekcja Nagłówka H2 */
.rk-auth-header-zone {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-auth-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-auth-header-zone h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: #ffffff;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

/* Wizualna Wizytówka Autora - Jednokolumnowy Stack */
.rk-auth-profile-card {
    background: var(--rk-auth-light);
    padding: 30px 45px;
    border-bottom: 1px solid var(--rk-auth-border);
    display: flex;
    flex-direction: column;
    gap: 25px;
    align-items: center;
    text-align: center;
}

@media (min-width: 768px) {
    .rk-auth-profile-card {
        flex-direction: row;
        text-align: left;
        align-items: flex-start;
    }
}

.rk-auth-avatar-frame {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    border: 4px solid #ffffff;
    box-shadow: 0 8px 16px rgba(15, 23, 42, 0.08);
    overflow: hidden;
    flex-shrink: 0;
}

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

.rk-auth-bio-info {
    flex: 1;
}

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

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

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

/* Przyciski Społecznościowe */
.rk-auth-social-links {
    display: flex;
    gap: 12px;
    justify-content: center;
}

@media (min-width: 768px) {
    .rk-auth-social-links {
        justify-content: flex-start;
    }
}

.rk-auth-social-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 10px;
    font-size: 13.5px;
    font-weight: 700;
    text-decoration: none !important;
    border: 1px solid var(--rk-auth-border);
    background: #ffffff;
    color: var(--rk-auth-text);
}

.rk-auth-social-btn:hover {
    background: #f1f5f9;
    color: var(--rk-auth-dark);
    border-color: #cbd5e1;
}

/* Strefa Interaktywnego Wyboru Złotych Zasad */
.rk-auth-interactive-zone {
    padding: 35px 45px;
    background: #ffffff;
}

.rk-auth-selectors-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 25px;
}

.rk-auth-rule-trigger {
    width: 100%;
    background: var(--rk-auth-light);
    border: 1px solid var(--rk-auth-border);
    border-radius: 14px;
    padding: 18px 20px;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-auth-rule-trigger:hover {
    border-color: #cbd5e1;
}

.rk-auth-rule-trigger.active {
    background: #f0f9ff;
    border-color: var(--rk-auth-blue);
}

.rk-auth-trigger-text {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-auth-dark);
}

.rk-auth-rule-trigger.active .rk-auth-trigger-text {
    color: var(--rk-auth-blue);
}

/* Ikona statusu */
.rk-auth-trigger-indicator {
    width: 20px;
    height: 20px;
    color: #94a3b8;
    flex-shrink: 0;
}

.rk-auth-rule-trigger.active .rk-auth-trigger-indicator {
    color: var(--rk-auth-blue);
}

/* Panel Wynikowy (Dashboard Komentarza) */
.rk-auth-insight-board {
    background: var(--rk-auth-darker);
    border-radius: 16px;
    padding: 30px;
    border-left: 6px solid var(--rk-auth-blue);
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.1);
}

.rk-auth-board-title {
    font-size: 13px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
}

.rk-auth-board-content {
    font-size: 15.5px;
    line-height: 1.75;
    color: #e2e8f0;
    margin: 0;
}

.rk-auth-board-content strong {
    color: #ffffff;
    font-weight: 700;
}

.rk-auth-board-content a {
    color: #38bdf8;
    text-decoration: underline;
    font-weight: 600;
}

@media (max-width: 768px) {
    .rk-auth-header-zone, .rk-auth-profile-card, .rk-auth-interactive-zone { padding: 30px 20px; }
    .rk-auth-social-links { flex-direction: column; width: 100%; }
    .rk-auth-social-btn { justify-content: center; width: 100%; }
    .rk-auth-insight-board { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Zdaniem Roberta Kucharskiego – Złote zasady instalacji w płycie",
    "description": "Ekspercki komentarz Roberta Kucharskiego na temat projektowania, rozstawu rur oraz kontroli hydraulicznej przy wykonawstwie termicznych płyt fundamentowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#dataset",
    "name": "Wytyczne inżynieryjne dla betonowych monolitycznych wymienników ciepła",
    "description": "Matryca dopuszczalnych kryteriów wykonawczych: graniczne opory hydrauliczne pomp ciepła, rekuperacja ciepła posadzkowego, wytyczne OZC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ogrzewanie podłogowe w płycie fundamentowej",
      "projektowe obciążenie cieplne ozc",
      "rozstaw rur ogrzewania podłogowego przy pompie ciepła",
      "dobór pompy obiegowej do podłogówki",
      "rekuperacja i ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Weryfikacja kryteriów fizyki budowli i mechaniki płynów w posadowieniach termicznych zgodnie z normą PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Współczynnik przenikania przegrody dolnej: U do 0,11 W/m2K",
        "Maksymalny czas bezwładności akumulacyjnej betonu: 24 do 48 godzin",
        "Krytyczny próg oporów hydraulicznych pętli: 20 kPa"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#webapp",
    "name": "Analizator Zasad Inżynierskich Roberta Kucharskiego",
    "description": "Moduł aplikacyjny weryfikujący zgodność założeń wykonawczych z kryteriami poprawności instalacji płaszczyznowych w fundamencie budynku.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-auth-container" id="rk-author-authority-app">
    <div class="rk-auth-header-zone">
        <h2>Zdaniem Roberta Kucharskiego – Złote zasady instalacji w płycie</h2>
    </div>

    <div class="rk-auth-profile-card">
        <div class="rk-auth-avatar-frame">
            <img decoding="async" class="rk-auth-avatar-img" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski">
        </div>
        <div class="rk-auth-bio-info">
            <div class="rk-auth-name-title">Robert Kucharski</div>
            <div class="rk-auth-position">Specjalista HVAC &amp; Założyciel Projekt-Ogrzewania.pl</div>
            <p class="rk-auth-short-bio">
                Projektant i praktyk z dorobkiem ponad 1000 zrealizowanych systemów płaszczyznowych. Na co dzień demaskuję mity instalatorskie i uczę inwestorów, jak budować bez ściemy w oparciu o twarde dane, fizykę budowli oraz rygorystyczne normy sanitarne.
            </p>
            <div class="rk-auth-social-links">
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" class="rk-auth-social-btn" target="_blank" rel="noopener">
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
                    LinkedIn Profile
                </a>
                <a href="https://www.facebook.com/projektogrzewaniapl/" class="rk-auth-social-btn" target="_blank" rel="noopener">
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-4h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                    Facebook Strona
                </a>
            </div>
        </div>
    </div>

    <div class="rk-auth-interactive-zone">
        <div class="rk-auth-selectors-stack">
            <button class="rk-auth-rule-trigger active" id="rk-rtrig-1">
                <span class="rk-auth-trigger-text">Reguła 1: Absolutny prymat inżynierskiego OZC</span>
                <svg class="rk-auth-trigger-indicator" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>
            </button>
            <button class="rk-auth-rule-trigger" id="rk-rtrig-2">
                <span class="rk-auth-trigger-text">Reguła 2: Bezkompromisowa weryfikacja szczelności monolitu</span>
                <svg class="rk-auth-trigger-indicator" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>
            </button>
            <button class="rk-auth-rule-trigger" id="rk-rtrig-3">
                <span class="rk-auth-trigger-text">Reguła 3: Ścisła koordynacja hydrauliki i źródła ciepła</span>
                <svg class="rk-auth-trigger-indicator" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>
            </button>
        </div>

        <div class="rk-auth-insight-board">
            <div class="rk-auth-board-title" id="rk-auth-board-lbl">Komentarz Roberta Kucharskiego</div>
            <p class="rk-auth-board-content" id="rk-auth-board-txt">
                Prawidłowe <strong>projektowanie ogrzewania w płycie fundamentowej</strong> kategorycznie wyklucza intuicyjne działanie na placu budowy. Kluczowym dokumentem jest rzetelne, pełne <strong>projektowe obciążenie cieplne OZC</strong> każdego pokoju z osobna. Ponieważ betonowa konstrukcja wykazuje potężną cechę, jaką jest gigantyczna <strong>bezwładność cieplna monolitu betonowego</strong>, grubość rur i zagęszczenie obwodów muszą idealnie równoważyć straty energii, czyniąc tradycyjne termostaty ścienne zbędnymi.
            </p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var t1 = document.getElementById('rk-rtrig-1');
    var t2 = document.getElementById('rk-rtrig-2');
    var t3 = document.getElementById('rk-rtrig-3');
    
    var bTxt = document.getElementById('rk-auth-board-txt');
    var bLbl = document.getElementById('rk-auth-board-lbl');

    function resetTriggers() {
        if(t1) { t1.classList.remove('active'); }
        if(t2) { t2.classList.remove('active'); }
        if(t3) { t3.classList.remove('active'); }
    }

    if(t1) {
        t1.addEventListener('click', function() {
            resetTriggers();
            this.classList.add('active');
            if(bLbl) { bLbl.innerHTML = 'Komentarz Roberta Kucharskiego'; }
            if(bTxt) {
                bTxt.innerHTML = 'Prawidłowe <strong>projektowanie ogrzewania w płycie fundamentowej</strong> kategorycznie wyklucza intuicyjne działanie na placu budowy. Kluczowym dokumentem jest rzetelne, pełne <strong>projektowe obciążenie cieplne OZC</strong> każdego pokoju z osobna. Ponieważ betonowa konstrukcja wykazuje potężną cechę, jaką jest gigantyczna <strong>bezwładność cieplna monolitu betonowego</strong>, grubość rur i zagęszczenie obwodów muszą idealnie równoważyć straty energii, czyniąc tradycyjne termostaty ścienne zbędnymi.';
            }
        });
    }

    if(t2) {
        t2.addEventListener('click', function() {
            resetTriggers();
            this.classList.add('active');
            if(bLbl) { bLbl.innerHTML = 'Procedura Bezpieczeństwa'; }
            if(bTxt) {
                bTxt.innerHTML = 'Obowiązkowa, wielogodzinna <strong>próba szczelności płyty grzewczej</strong> pod sztywnym ciśnieniem 0,6 MPa (6 bar) musi trwać przez cały okres pracy pompy do betonu. Brak nadzoru nad manometrem podczas wylewania monolitu to sabotaż. Każde przypadkowe uderzenie wibratora buławowego może doprowadzić do ukrytego rozszczelnienia, którego naprawa po związaniu mieszanki nośnej będzie całkowicie niemożliwa.';
            }
        });
    }

    if(t3) {
        t3.addEventListener('click', function() {
            resetTriggers();
            this.classList.add('active');
            if(bLbl) { bLbl.innerHTML = 'Optymalizacja Hydrauliczna'; }
            if(bTxt) {
                bTxt.innerHTML = 'Wysoka <strong>efektywność pompy ciepła z płytą fundamentową</strong> wymaga utrzymania jak najniższej krzywej grzewczej (zasilanie rzędu 30-35 stopni). Aby to osiągnąć, należy zastosować stały, zweryfikowany inżyniersko, <strong>prawidłowy rozstaw rur w fundamencie</strong> co 15 cm. Ponadto wymagany jest precyzyjny <strong>profesjonalny projekt ogrzewania płaszczyznowego</strong>, który określi optymalny <strong>dobór pompy obiegowej do podłogówki</strong>, zapobiegając dławieniu strumienia masowego czynnika.';
            }
        });
    }
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-blue: #0284c7;
    --rk-faq-blue-hover: #0369a1;
    --rk-faq-light: #f8fafc;
    --rk-faq-border: #cbd5e1;
    --rk-faq-text: #334155;
    --rk-faq-bg: #ffffff;
    --rk-faq-accent: #059669;
}

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

/* Sekcja Nagłówkowa */
.rk-faq-header-block {
    padding: 40px 45px 25px;
    background: linear-gradient(145deg, var(--rk-faq-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

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

.rk-faq-header-block h3 {
    font-size: 16px;
    font-weight: 500;
    color: #94a3b8;
    margin: 0;
    line-height: 1.5;
}

/* Układ Główny - Split Screen na Desktop */
.rk-faq-body {
    display: grid;
    grid-template-columns: 1fr;
    background: #ffffff;
}

@media (min-width: 992px) {
    .rk-faq-body {
        grid-template-columns: 1.2fr 0.8fr;
        gap: 20px;
        padding: 30px;
        background: var(--rk-faq-light);
    }
}

/* Panel Accordionu */
.rk-faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px;
}

@media (min-width: 992px) {
    .rk-faq-accordion {
        padding: 0;
    }
}

.rk-faq-item {
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    border-radius: 14px;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-item:hover {
    border-color: var(--rk-faq-blue);
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.05);
}

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

/* Przycisk Wyzwalający */
.rk-faq-trigger {
    width: 100%;
    padding: 20px;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

.rk-faq-question-text {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-faq-dark);
    line-height: 1.4;
    transition: color 0.3s ease;
}

.rk-faq-item.active .rk-faq-question-text {
    color: var(--rk-faq-blue);
}

/* Ikona SVG */
.rk-faq-icon-svg {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    color: var(--rk-faq-gray);
}

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

/* Zawartość Odpowiedzi */
.rk-faq-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    background: #ffffff;
}

.rk-faq-content-inner {
    padding: 0 20px 20px 20px;
    font-size: 15px;
    line-height: 1.65;
    color: var(--rk-faq-text);
    border-top: 1px solid transparent;
}

.rk-faq-item.active .rk-faq-content-inner {
    border-top-color: #f1f5f9;
}

/* Ukryte tagi nasycające pod roboty AI - eleganckie wplecenie fraz */
.rk-seo-inline-phrase {
    font-weight: 600;
    color: var(--rk-faq-dark);
}

/* Panel Boczny Inżynierski (Desktop Only) */
.rk-faq-sidebar {
    display: none;
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    padding: 25px;
    align-self: start;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

@media (min-width: 992px) {
    .rk-faq-sidebar {
        display: block;
    }
}

.rk-sidebar-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--rk-faq-blue);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

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

.rk-faq-item a {
    color: var(--rk-faq-blue);
    text-decoration: underline;
    font-weight: 600;
}

.rk-faq-item a:hover {
    color: var(--rk-faq-blue-hover);
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#faq-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Często zadawane pytania (FAQ) – Ogrzewanie podłogowe w płycie fundamentowej",
    "description": "Odpowiedzi na kluczowe pytania inwestorów dotyczące montażu rur grzewczych, doboru betonu konstrukcyjnego oraz procedur bezpieczeństwa w termicznych płytach fundamentowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#faq-page",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy można stosować rury PE-RT/Al/PE-RT w płycie fundamentowej?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, są one w pełni rekomendowane pod warunkiem posiadania bariery antydyfuzyjnej EVOH zgodnej z normą DIN 4726. Warstwa aluminium dodatkowo chroni przed dyfuzją tlenu do instalacji i ułatwia profilowanie rur na zbrojeniu."
        }
      },
      {
        "@type": "Question",
        "name": "Ile czasu nagrzewa się ogrzewanie w płycie fundamentowej?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Czas pierwszego rozruchu i pełnego nagrzania płyty o grubości 20 cm wynosi od 24 do 48 godzin. Wynika to z ogromnej pojemności cieplnej betonu, który działa jak potężny bufor termiczny."
        }
      },
      {
        "@type": "Question",
        "name": "Jaki beton zastosować na płytę grzewczą?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Należy stosować wyłącznie konstrukcyjny beton towarowy klasy minimum C20/25 lub C25/30 o konsystencji ciekłej (S4/S5), z dodatkiem plastyfikatorów zwiększających przewodność cieplną oraz gęstość mieszanki wokół rur grzewczych."
        }
      },
      {
        "@type": "Question",
        "name": "Czy na płycie fundamentowej z ogrzewaniem można kłaść panele drewniane?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, ale opór cieplny paneli wraz z podkładem nie może przekraczać R = 0,15 m²K/W. Zaleca się jednak stosowanie płytek ceramicznych lub gresu, które charakteryzują się najniższym oporem i idealnie przewodzą ciepło."
        }
      },
      {
        "@type": "Question",
        "name": "Co się stanie w przypadku awarii i wycieku wody w płycie?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Przy zastosowaniu rur bezszwowych, sprawdzonych ciśnieniowo przed zalaniem, ryzyko awarii wynosi blisko 0%. W przypadku mechanicznego przewiercenia płyty, lokalizację wycieku przeprowadza się kamerą termowizyjną, a naprawę wykonuje się poprzez miejscowe skucie betonu i montaż specjalnej mufy prasowanej."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#faq-dataset",
    "name": "Fizyka budowli i wytyczne wykonawcze dla termicznych płyt fundamentowych",
    "description": "Baza parametrów technicznych: opór cieplny przegród, normy betonu towarowego, czasy bezwładności termicznej masy betonowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jakie rury do płyty fundamentowej",
      "jaki beton na ogrzewanie podłogowe",
      "czas nagrzewania płyty fundamentowej",
      "panele na płycie fundamentowej z ogrzewaniem",
      "awaria ogrzewania w płycie fundamentowej"
    ],
    "measurementTechnique": "Obliczenia fizykalne oparte na współczynnikach oporu przewodzenia jastrychów i betonu konstrukcyjnego wg normy PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Graniczny opór cieplny okładzin: R = 0,15 m²K/W",
        "Czas bezwładności cieplnej elementu nośnego: 24 do 48 godzin",
        "Wymagana klasa plastyczności mieszanki: S4 do S5"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#faq-webapp",
    "name": "Walidator Poprawności Parametrów Płyty Grzewczej",
    "description": "Zintegrowany z interfejsem użytkownika system weryfikacji norm budowlanych i parametrów fizycznych dla posadowienia budynków z systemem grzewczym.",
    "applicationCategory": "DesignApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-container" id="rk-faq-app">
    <div class="rk-faq-header-block">
        <h2>Często zadawane pytania (FAQ)</h2>
        <h3>Ogrzewanie podłogowe w płycie fundamentowej bez tajemnic – wiedza inżynierska w pigułce</h3>
    </div>

    <div class="rk-faq-body">
        <div class="rk-faq-accordion">
            
            <div class="rk-faq-item">
                <button class="rk-faq-trigger">
                    <span class="rk-faq-question-text">Czy można stosować rury PE-RT/Al/PE-RT w płycie fundamentowej?</span>
                    <svg class="rk-faq-icon-svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-faq-content">
                    <div class="rk-faq-content-inner">
                        <p>Tak, są one w pełni rekomendowane pod warunkiem, że sprawdzisz, czy wybrany system posiada cechę, jaką jest <span class="rk-seo-inline-phrase">bariera antydyfuzyjna evoh w fundamencie</span> zgodna z rygorystyczną normą DIN 4726.</p>
                        <p>Analizując zagadnienie, <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">jakie rury do płyty fundamentowej</a> wybrać, warto wiedzieć, że wewnętrzna warstwa aluminium dodatkowo chroni przed szkodliwą dyfuzją tlenu do zładu wodnego instalacji oraz trwale ułatwia ręczne profilowanie i gięcie rur na stalowych siatkach konstrukcyjnych zbrojenia.</p>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-trigger">
                    <span class="rk-faq-question-text">Ile czasu nagrzewa się ogrzewanie w płycie fundamentowej?</span>
                    <svg class="rk-faq-icon-svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-faq-content">
                    <div class="rk-faq-content-inner">
                        <p>Nominalny <span class="rk-seo-inline-phrase">czas nagrzania płyty fundamentowej</span> przy pierwszym, technologicznym rozruchu oraz pełnym wygrzaniu masy monolitu o grubości 20 cm wynosi od 24 do 48 godzin.</p>
                        <p>Zjawisko to wynika bezpośrednio z ogromnej akumulacyjności cieplnej masy zbrojonego betonu. Działa on jak potężny, stabilny bufor termiczny, co sprawia, że dobowe wahania temperatur na zewnątrz budynku są całkowicie niewyczuwalne wewnątrz pomieszczeń.</p>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-trigger">
                    <span class="rk-faq-question-text">Jaki beton zastosować na płytę grzewczą?</span>
                    <svg class="rk-faq-icon-svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-faq-content">
                    <div class="rk-faq-content-inner">
                        <p>W procesie wykonawczym należy stosować wyłącznie konstrukcyjny beton towarowy klasy minimum C20/25 lub C25/30. Kluczowy jest parametr określający <span class="rk-seo-inline-phrase">jaki beton na ogrzewanie podłogowe</span> sprawdzi się najlepiej – wymagana jest konsystencja ciekła w klasach S4 lub S5.</p>
                        <p>Mieszanka musi bezwzględnie zawierać dedykowane plastyfikatory chemiczne, które eliminują pęcherze powietrza, podnoszą gęstość strukturalną betonu i gwarantują idealne otoczenie rur grzewczych, maksymalizując przewodność cieplną przegrody dolnej.</p>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-trigger">
                    <span class="rk-faq-question-text">Czy na płycie fundamentowej z ogrzewaniem można kłaść panele drewniane?</span>
                    <svg class="rk-faq-icon-svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-faq-content">
                    <div class="rk-faq-content-inner">
                        <p>Tak, montaż jest możliwy, jednak całkowity <span class="rk-seo-inline-phrase">opór cieplny podłogówki w betonie</span> łącznie z wybraną okładziną wierzchnią i podkładem nie może przekroczyć wartości granicznej R = 0,15 m²K/W.</p>
                        <p>Planując <span class="rk-seo-inline-phrase">panele na płycie fundamentowej z ogrzewaniem</span>, warto wybierać produkty dedykowane, montowane najlepiej w systemie klejonym. Jako inżynier polecam jednak gres lub płytki ceramiczne, które cechuje najniższy opór termiczny i najwyższa efektywność radiacji.</p>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-trigger">
                    <span class="rk-faq-question-text">Co się stanie w przypadku awarii i wycieku wody w płycie?</span>
                    <svg class="rk-faq-icon-svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-faq-content">
                    <div class="rk-faq-content-inner">
                        <p>Przy zachowaniu procedur (rury bezszwowe, ciśnieniowe <span class="rk-seo-inline-phrase">badanie szczelności termicznej płyty</span>) ryzyko usterki wynosi blisko zero. Jeśli jednak nastąpi fizyczna <span class="rk-seo-inline-phrase">awaria ogrzewania w płycie fundamentowej</span> na skutek np. przewiercenia mechanicznego, sytuacja wymaga precyzyjnego działania.</p>
                        <p>Lokalizację wycieku bezbłędnie wskazuje profesjonalna kamera termowizyjna. Naprawę wykonuje się poprzez precyzyjne, punktowe skucie fragmentu betonu, a uszkodzony odcinek rury łączy się na stałe za pomocą specjalistycznej mufy prasowanej o wysokiej odporności mechanicznej.</p>
                    </div>
                </div>
            </div>

        </div>

        <div class="rk-faq-sidebar">
            <div class="rk-sidebar-title">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
                Okiem Praktyka
            </div>
            <p class="rk-sidebar-descr">
                Zadaniem sekcji FAQ w standardzie inżynierskim jest rozwianie wątpliwości na bazie liczb i norm, a nie teorii. Płyta grzewcza to monolit pracujący przez dekady. Każda decyzja o doborze betonu plastycznego czy rodzaju rury z barierą EVOH rzutuje bezpośrednio na sprawność hydrauliczną instalacji połączonej z pompą ciepła. Buduj mądrze, opierając się na faktach.
            </p>
        </div>
    </div>
</div>

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

    faqItems.forEach(function(item) {
        var trigger = item.querySelector('.rk-faq-trigger');
        
        if (trigger) {
            trigger.addEventListener('click', function() {
                var content = item.querySelector('.rk-faq-content');
                var isActive = item.classList.contains('active');

                // Zamknięcie wszystkich innych elementów dla czystości interfejsu
                faqItems.forEach(function(otherItem) {
                    otherItem.classList.remove('active');
                    var otherContent = otherItem.querySelector('.rk-faq-content');
                    if (otherContent) {
                        otherContent.style.maxHeight = null;
                    }
                });

                // Jeśli element nie był aktywny, otwieramy go
                if (isActive === false) {
                    item.classList.add('active');
                    if (content) {
                        content.style.maxHeight = content.scrollHeight + "px";
                    }
                }
            });
        }
    });
});
</script>



<style>
:root {
    --rk-base-dark: #0f172a;
    --rk-base-blue: #0284c7;
    --rk-base-blue-light: #e0f2fe;
    --rk-base-green: #059669;
    --rk-base-green-light: #d1fae5;
    --rk-base-red: #dc2626;
    --rk-base-red-light: #fee2e2;
    --rk-base-gray: #64748b;
    --rk-base-border: #cbd5e1;
    --rk-base-bg: #ffffff;
}

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

/* Sekcja Nagłówkowa */
.rk-sum-top {
    padding: 40px 45px 30px;
    background: linear-gradient(145deg, var(--rk-base-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

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

.rk-sum-intro {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 0 20px 0;
}

/* Tag Cloud - Długi Ogon */
.rk-tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 25px;
}

.rk-mat-tag {
    background: rgba(255, 255, 255, 0.1);
    color: #7dd3fc;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid rgba(125, 211, 252, 0.2);
    transition: all 0.3s ease;
}

.rk-mat-tag:hover {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

/* Interaktywny Przełącznik (Aplikacja) */
.rk-interactive-app {
    padding: 40px 45px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-base-border);
}

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

.rk-toggle-header h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-base-dark);
    margin: 0 0 10px 0;
}

.rk-switch-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
}

.rk-switch-label {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-base-gray);
    transition: color 0.3s ease;
}

.rk-switch-label.active-red { color: var(--rk-base-red); }
.rk-switch-label.active-green { color: var(--rk-base-green); }

/* Switch UI */
.rk-switch {
    position: relative;
    display: inline-block;
    width: 70px;
    height: 36px;
}

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

.rk-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: var(--rk-base-red);
    transition: .4s;
    border-radius: 36px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

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

input:checked + .rk-slider { background-color: var(--rk-base-green); }
input:checked + .rk-slider:before { transform: translateX(34px); }

/* Panele Zawartości */
.rk-panel {
    display: none;
    padding: 30px;
    border-radius: 16px;
    animation: fadeIn 0.5s ease-out forwards;
}

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

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

.rk-panel-danger {
    background: var(--rk-base-red-light);
    border: 1px solid rgba(220, 38, 38, 0.2);
}

.rk-panel-safe {
    background: var(--rk-base-green-light);
    border: 1px solid rgba(5, 150, 105, 0.2);
}

.rk-panel-grid {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 25px;
    align-items: center;
}

.rk-panel-icon {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.rk-panel h4 {
    font-size: 20px;
    font-weight: 800;
    margin: 0 0 10px 0;
}

.rk-panel-danger h4 { color: var(--rk-base-red); }
.rk-panel-safe h4 { color: var(--rk-base-green); }

.rk-panel p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-base-dark);
    margin: 0 0 10px 0;
}

.rk-panel a {
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rk-panel-danger a { color: var(--rk-base-red); }
.rk-panel-safe a { color: var(--rk-base-green); }

/* Sekcja CTA */
.rk-sum-action {
    padding: 40px 45px;
    text-align: center;
    background: #ffffff;
}

.rk-sum-action h3 {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-base-dark);
    margin: 0 0 15px 0;
}

.rk-sum-action p {
    font-size: 16px;
    color: var(--rk-base-gray);
    max-width: 600px;
    margin: 0 auto 30px auto;
    line-height: 1.6;
}

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

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

/* Responsywność - Mobile First dla elementów interaktywnych */
@media (max-width: 768px) {
    .rk-sum-top, .rk-interactive-app, .rk-sum-action { padding: 30px 20px; }
    .rk-panel-grid { grid-template-columns: 1fr; text-align: center; gap: 15px; }
    .rk-panel-icon { margin: 0 auto; width: 60px; height: 60px; }
    .rk-switch-wrapper { flex-direction: column; gap: 15px; }
    .rk-tags-container { justify-content: center; }
    .rk-btn-cta { width: 100%; padding: 16px 20px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Podsumowanie – Ogrzewanie podłogowe w płycie fundamentowej",
    "description": "Termiczna płyta fundamentowa to zaawansowany system grzewczy. Wymaga rygorystycznych obliczeń OZC i prób ciśnieniowych, ponieważ zabetonowanie pętli uniemożliwia późniejsze poprawki.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#dataset",
    "name": "Parametry graniczne instalacji grzewczej w betonie",
    "description": "Zestawienie wymogów technicznych dla ogrzewania w płycie fundamentowej: długość pętli, testy szczelności i zasady obliczeniowe.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ogrzewanie podłogowe w płycie fundamentowej",
      "projekt ogrzewania podłogowego dla pompy ciepła",
      "obliczenia ozc dla płyty fundamentowej",
      "próba ciśnieniowa podłogówki przed wylewką",
      "maksymalna długość pętli w betonie"
    ],
    "measurementTechnique": "Weryfikacja hydrauliczna układu w oparciu o projekt instalacyjny oraz normatywne testy ciśnieniowe przed procesem betonowania.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Maksymalna długość pętli grzewczej: do 100 m",
        "Wymagane obliczenia: Projektowe Obciążenie Cieplne OZC",
        "Próba szczelności: bezwzględnie wymagana przed i w trakcie wylewania betonu"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#webapp",
    "name": "Symulator Konsekwencji Montażowych",
    "description": "Interaktywny panel demonstrujący różnicę pomiędzy montażem intuicyjnym a rygorystycznym podejściem inżynierskim przy zalewaniu instalacji grzewczej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-summary-module" id="fundament-sum-app">
    <div class="rk-sum-top">
        <h2>Podsumowanie</h2>
        <p class="rk-sum-intro">
            <strong>Ogrzewanie podłogowe w płycie fundamentowej to najwyższy ewolucyjnie stopień niskotemperaturowych systemów grzewczych</strong> dedykowanych dla nowoczesnego, energooszczędnego budownictwa. Kluczem do bezwzględnego sukcesu tej inwestycji jest całkowite odrzucenie metod montażu &#8222;na oko&#8221; i zastąpienie ich rygorystyczną inżynierią instalacyjną.
        </p>
        <p class="rk-sum-intro">
            Płyta fundamentowa nie wybacza błędów – raz zalany beton pieczętuje układ hydrauliczny na dekady. Dlatego sprawność i ekonomia eksploatacji Twojego domu przez najbliższe 50 lat zależą od twardych danych i procedur.
        </p>
        
        <div class="rk-tags-container">
            <span class="rk-mat-tag"># ogrzewanie podłogowe w płycie fundamentowej</span>
            <span class="rk-mat-tag"># termiczna płyta fundamentowa koszty</span>
            <span class="rk-mat-tag"># rury do ogrzewania podłogowego w betonie</span>
            <span class="rk-mat-tag"># projekt ogrzewania podłogowego dla pompy ciepła</span>
            <span class="rk-mat-tag"># obliczenia ozc dla płyty fundamentowej</span>
            <span class="rk-mat-tag"># próba ciśnieniowa podłogówki przed wylewką</span>
            <span class="rk-mat-tag"># instalacja grzewcza w fundamencie</span>
            <span class="rk-mat-tag"># trwałość instalacji w płycie fundamentowej</span>
        </div>
    </div>

    <div class="rk-interactive-app">
        <div class="rk-toggle-header">
            <h3>Symulator Decyzji Inwestycyjnych</h3>
        </div>
        
        <div class="rk-switch-wrapper">
            <span class="rk-switch-label active-red" id="label-amator">Intuicja Instalatora</span>
            <label class="rk-switch">
                <input type="checkbox" id="rk-approach-toggle">
                <span class="rk-slider"></span>
            </label>
            <span class="rk-switch-label" id="label-inzynier">Inżynieria i Normy</span>
        </div>

        <div id="panel-amator" class="rk-panel rk-panel-danger active">
            <div class="rk-panel-grid">
                <div class="rk-panel-icon">
                    <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="var(--rk-base-red)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                </div>
                <div>
                    <h4>Beton ukryje wszystko, ale portfel tego nie wytrzyma</h4>
                    <p>Układanie rur &#8222;z głowy&#8221; zazwyczaj kończy się przekroczeniem <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">maksymalnej długości pętli</a>. Brak próby pod ciśnieniem to rosyjska ruletka w trakcie wylewania ton betonu.</p>
                    <p>Gdy dojdzie do usterki lub niedogrzania, skucie 20 cm zbrojonej płyty nośnej jest niemożliwe bez naruszenia konstrukcji budynku.</p>
                </div>
            </div>
        </div>

        <div id="panel-inzynier" class="rk-panel rk-panel-safe">
            <div class="rk-panel-grid">
                <div class="rk-panel-icon">
                    <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="var(--rk-base-green)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                <div>
                    <h4>Gwarancja 50 lat bezawaryjnej pracy</h4>
                    <p>Precyzyjne <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">obliczenia OZC</a> definiują dokładnie zapotrzebowanie. Pętle rozplanowane do optymalnych 100 m minimalizują opory dla pompy ciepła.</p>
                    <p>Bezkompromisowa, wielogodzinna <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próba szczelności</a> wykonana przed zabetonowaniem gwarantuje absolutny spokój inwestora.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-sum-action">
        <h3>Twoja płyta fundamentowa już schnie?</h3>
        <p>Nie pozwól, by amatorskie błędy zabetonowały Twój budżet i komfort na długie lata. Wejdź na wyższy poziom wiedzy instalacyjnej, poznaj schematy, zdemaskuj branżowe mity i buduj bez ściemy.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-cta">
            DOŁĄCZ DO BAZY WIEDZY HVAC
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var toggleBtn = document.getElementById('rk-approach-toggle');
    var panelAmator = document.getElementById('panel-amator');
    var panelInzynier = document.getElementById('panel-inzynier');
    var labelAmator = document.getElementById('label-amator');
    var labelInzynier = document.getElementById('label-inzynier');

    if(toggleBtn) {
        toggleBtn.addEventListener('change', function() {
            if (this.checked === true) {
                // Tryb Inżynier
                panelAmator.classList.remove('active');
                panelInzynier.classList.add('active');
                labelAmator.classList.remove('active-red');
                labelInzynier.classList.add('active-green');
            } else {
                // Tryb Amator
                panelInzynier.classList.remove('active');
                panelAmator.classList.add('active');
                labelInzynier.classList.remove('active-green');
                labelAmator.classList.add('active-red');
            }
        });
    }
});
</script>



<style>
/* Wymuszenie czystego fontu i twardy reset */
#rk-download-hub-app,
#rk-download-hub-app * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    box-sizing: border-box;
}

:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-blue: #0284c7;
    --rk-dl-light: #f8fafc;
    --rk-dl-border: #e2e8f0;
    --rk-dl-text: #334155;
    --rk-dl-bg: #ffffff;
}

.rk-dl-container {
    max-width: 950px;
    margin: 40px auto;
    background: var(--rk-dl-bg);
    border-radius: 20px;
    border: 1px solid var(--rk-dl-border);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Ciemny Nagłówek */
.rk-dl-header {
    padding: 35px 45px;
    background: var(--rk-dl-dark);
    color: #ffffff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    border-bottom: 6px solid var(--rk-dl-blue);
}

.rk-dl-header-text {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rk-dl-header-text h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0;
    color: #ffffff;
    line-height: 1.2;
    letter-spacing: -0.5px;
}

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

.rk-dl-header-icon {
    color: #38bdf8;
    flex-shrink: 0;
}

/* Obszar Roboczy - Split Layout */
.rk-dl-grid {
    display: flex;
    flex-direction: column;
}

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

/* Lewa Kolumna - Podgląd */
.rk-dl-preview-col {
    flex: 0 0 40%;
    background: var(--rk-dl-light);
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    border-right: 1px solid var(--rk-dl-border);
}

.rk-dl-thumbnail-box {
    width: 100%;
    max-width: 260px;
    background: #ffffff;
    padding: 10px;
    border-radius: 12px;
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.1);
    border: 1px solid var(--rk-dl-border);
    transition: transform 0.3s ease;
}

.rk-dl-thumbnail-box:hover {
    transform: translateY(-5px);
}

.rk-dl-thumbnail-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 6px;
    border: 1px solid #f1f5f9;
}

.rk-dl-preview-link {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-dl-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition: color 0.3s;
}

.rk-dl-preview-link:hover {
    color: #0369a1;
}

/* Prawa Kolumna - Akcje */
.rk-dl-action-col {
    flex: 0 0 60%;
    padding: 40px 45px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-dl-action-col h3 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-dl-dark);
    margin: 0 0 15px 0;
    line-height: 1.2;
}

.rk-dl-action-col p {
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-dl-text);
    margin: 0 0 30px 0;
}

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

/* Przyciski Pobierania */
.rk-dl-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 24px;
    border-radius: 14px;
    text-decoration: none !important;
    transition: all 0.3s ease;
}

.rk-dl-btn-primary {
    background: var(--rk-dl-blue);
    color: #ffffff !important;
    box-shadow: 0 4px 6px -1px rgba(2, 132, 199, 0.2);
}

.rk-dl-btn-primary:hover {
    background: #0369a1;
    transform: translateY(-2px);
    box-shadow: 0 8px 15px -3px rgba(2, 132, 199, 0.3);
}

.rk-dl-btn-secondary {
    background: #ffffff;
    border: 2px solid var(--rk-dl-border);
    color: var(--rk-dl-dark) !important;
}

.rk-dl-btn-secondary:hover {
    border-color: #cbd5e1;
    background: #f8fafc;
    transform: translateY(-2px);
}

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

.rk-dl-btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-dl-btn-text {
    font-size: 17px;
    font-weight: 800;
}

.rk-dl-btn-sub {
    font-size: 14px;
    font-weight: 500;
    opacity: 0.9;
}

.rk-dl-btn-secondary .rk-dl-btn-sub {
    color: #64748b;
}

/* Stopka - Copyright */
.rk-dl-footer {
    background: var(--rk-dl-light);
    border-top: 1px solid var(--rk-dl-border);
    padding: 20px 30px;
    text-align: center;
}

.rk-dl-footer p {
    font-size: 14px;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
}

.rk-dl-footer strong {
    color: var(--rk-dl-dark);
    font-weight: 700;
}

@media (max-width: 768px) {
    .rk-dl-header { flex-direction: column; align-items: flex-start; padding: 30px 20px; }
    .rk-dl-header-icon { display: none; }
    .rk-dl-preview-col { padding: 30px 20px; border-right: none; border-bottom: 1px solid var(--rk-dl-border); }
    .rk-dl-action-col { padding: 30px 20px; }
    .rk-dl-btn { flex-direction: column; align-items: flex-start; gap: 10px; }
    .rk-dl-btn-sub { align-self: flex-start; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#infographic-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej"
    },
    "headline": "Materiały do pobrania: Infografika techniczna płyty fundamentowej",
    "description": "Ściągawka inwestora. Autorska infografika i przewodnik techniczny po projektowaniu ogrzewania podłogowego. Pobierz darmowe materiały edukacyjne (PDF, WebP).",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ogrzewanie-podlogowe-w-plycie-fundamentowej-–-techniczny-przewodnik-po-projektowaniu-i-montazu.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-28",
    "dateModified": "2026-06-28"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#infographic-dataset",
    "name": "Kompendium graficzne: Zasady montażu płyty grzewczej",
    "description": "Zbiór ustrukturyzowanej wiedzy inżynierskiej podanej w formie graficznej, obejmujący parametry rozstawów rur, grubości izolacji oraz wytyczne OZC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe",
      "schemat płyty fundamentowej pdf",
      "zasady montażu podłogówki obrazek",
      "pobierz projekt instalacji",
      "techniczny przewodnik ogrzewania"
    ],
    "measurementTechnique": "Wizualizacja parametrów mechaniki płynów oraz fizyki budowli zawartych w normach inżynierskich.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Format wektorowy do wydruku: Dokument PDF (Zabezpieczony)",
        "Format rastrowy do przeglądania na urządzeniach mobilnych: Obraz WebP wysokiej rozdzielczości"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej#infographic-webapp",
    "name": "Interaktywne Repozytorium Plików Technicznych",
    "description": "Narzędzie sieciowe umożliwiające bezpieczny podgląd i natychmiastowe pobieranie załączników technicznych, zabezpieczonych klauzulą praw autorskich.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="rk-download-hub-app">
    
    <div class="rk-dl-header">
        <div class="rk-dl-header-text">
            <h2>Materiały do pobrania</h2>
            <p>Zachowaj tę wiedzę dla siebie lub przekaż ją swojemu wykonawcy.</p>
        </div>
        <div class="rk-dl-header-icon">
            <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
                <polyline points="7 10 12 15 17 10"></polyline>
                <line x1="12" y1="15" x2="12" y2="3"></line>
            </svg>
        </div>
    </div>

    <div class="rk-dl-grid">
        
        <div class="rk-dl-preview-col">
            <div class="rk-dl-thumbnail-box">
                <img decoding="async" class="rk-dl-thumbnail-img" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ogrzewanie-podlogowe-w-plycie-fundamentowej-–-techniczny-przewodnik-po-projektowaniu-i-montazu.webp" alt="Infografika: Ściągawka Inwestora" loading="lazy">
            </div>
            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ogrzewanie-podlogowe-w-plycie-fundamentowej-–-techniczny-przewodnik-po-projektowaniu-i-montazu.webp" target="_blank" rel="noopener" class="rk-dl-preview-link">
                KLIKNIJ, ABY PODGLĄDNĄĆ
            </a>
        </div>

        <div class="rk-dl-action-col">
            <h3>Infografika: Ściągawka Inwestora</h3>
            <p>
                Przygotowałem skrót najważniejszych norm, zaleceń i pułapek technologicznych w wygodnej formie graficznej. Zapisz plik na telefonie przed wizytą na budowie.
            </p>

            <div class="rk-dl-buttons-stack">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ogrzewanie-podlogowe-w-plycie-fundamentowej-–-techniczny-przewodnik-po-projektowaniu-i-montazu.pdf" download class="rk-dl-btn rk-dl-btn-primary" rel="noopener">
                    <div class="rk-dl-btn-left">
                        <div class="rk-dl-btn-icon">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                        </div>
                        <span class="rk-dl-btn-text">Pobierz jako dokument PDF</span>
                    </div>
                    <span class="rk-dl-btn-sub">Wysoka jakość</span>
                </a>

                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ogrzewanie-podlogowe-w-plycie-fundamentowej-–-techniczny-przewodnik-po-projektowaniu-i-montazu.webp" download class="rk-dl-btn rk-dl-btn-secondary" rel="noopener">
                    <div class="rk-dl-btn-left">
                        <div class="rk-dl-btn-icon">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                        </div>
                        <span class="rk-dl-btn-text">Pobierz jako Obraz (WebP)</span>
                    </div>
                    <span class="rk-dl-btn-sub">Lekki plik</span>
                </a>
            </div>
        </div>

    </div>

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

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Bezpieczna inicjalizacja modułu bez użycia operatorów && i zbędnych animacji.
    // Śledzenie kliknięć w przyciski pobierania dla analityki (opcjonalnie)
    var pdfBtn = document.querySelector('.rk-dl-btn-primary');
    var webpBtn = document.querySelector('.rk-dl-btn-secondary');

    function logDownloadEvent(type) {
        // Placeholder dla eventów Google Analytics lub Tag Managera
        if (window.console) {
            console.log('Pobrano plik:', type);
        }
    }

    if (pdfBtn) {
        pdfBtn.addEventListener('click', function() {
            logDownloadEvent('PDF');
        });
    }

    if (webpBtn) {
        webpBtn.addEventListener('click', function() {
            logDownloadEvent('WebP');
        });
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej-techniczny-przewodnik-po-projektowaniu-i-montazu/">Ogrzewanie podłogowe w płycie fundamentowej – techniczny przewodnik po projektowaniu i montażu.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej-techniczny-przewodnik-po-projektowaniu-i-montazu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Projekt ogrzewania podłogowego do domu z dużymi przeszkleniami  jak poradzić sobie ze strefą przy oknach?</title>
		<link>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-do-domu-z-duzymi-przeszkleniami-jak-poradzic-sobie-ze-strefa-przy-oknach/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 03 Apr 2026 18:14:51 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Budowa i remont]]></category>
		<category><![CDATA[Instalacje budowlane]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Okna]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[dom energooszczędny]]></category>
		<category><![CDATA[duże przeszklenia]]></category>
		<category><![CDATA[izolacja xps]]></category>
		<category><![CDATA[komfort termiczny]]></category>
		<category><![CDATA[konwektory kanałowe]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[okna panoramiczne]]></category>
		<category><![CDATA[projektowanie instalacji]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[strefa brzegowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4070</guid>

					<description><![CDATA[<p>Współczesna architektura zachwyca ogromnymi przeszkleniami, które otwierają wnętrza na ogród i wpuszczają do środka mnóstwo naturalnego światła. Jednak to, co cieszy oko, bywa sporym wyzwaniem dla inżynierów sanitarnych. Zimne tafle szkła generują zjawisko spływu chłodnego powietrza, co może prowadzić do powstawania nieprzyjemnych przeciągów i dyskomfortu termicznego. Właściwie przygotowany projekt ogrzewania podłogowego do domu z dużymi przeszkleniami musi uwzględniać specyfikę strefy brzegowej, aby skutecznie zniwelować straty ciepła przy oknach tarasowych. W naszym poradniku szczegółowo analizujemy fizykę tego zjawiska, podpowiadamy, jak obliczyć zagęszczenie rur, jaką izolację zastosować oraz kiedy niezbędne okaże się wsparcie w postaci konwektorów kanałowych. Dowiedz się, jak zaprojektować system, który zagwarantuje ciepłe stopy nawet przy panoramicznych oknach w mroźne dni.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-do-domu-z-duzymi-przeszkleniami-jak-poradzic-sobie-ze-strefa-przy-oknach/">Projekt ogrzewania podłogowego do domu z dużymi przeszkleniami  jak poradzić sobie ze strefą przy oknach?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Nowoczesna architektura coraz częściej stawia na <strong>duże, przeszklone powierzchnie</strong> okna panoramiczne, przesuwne ściany szklane czy francuskie balkony. Dom zalany światłem wygląda spektakularnie, ale dla instalatora ogrzewania podłogowego staje się prawdziwym wyzwaniem. <em>Gdzie ułożyć pętle grzewcze, skoro zimne szyby „ssą” ciepło z podłogi?</em> W tym artykule pokażę, jak <strong>projekt ogrzewania podłogowego do domu z dużymi przeszkleniami</strong> może skutecznie poradzić sobie ze strefą przy oknach, bez ryzyka chłodnych stóp i przeciągów. Opiszę konkretne techniki projektowe, podam wzory i tabele, a także zaproponuję prosty kalkulator do samodzielnych wyliczeń.</p>



<h2 class="wp-block-heading">Dlaczego strefa przy oknach jest tak problematyczna? Fizyka zjawiska.</h2>



<p class="wp-block-paragraph">Zanim przejdziemy do rozwiązań, zrozummy wroga. Szyba – nawet ta nowoczesna, trzyszybowa ma <strong>współczynnik przenikania ciepła U</strong> rzędu 0,8–1,1 W/m²K. Ściana zewnętrzna ocieplona 20 cm wełny to około 0,15–0,20 W/m²K. Różnica jest ogromna. Zimą przy temperaturze zewnętrznej -10°C wewnętrzna powierzchnia szyby ma zaledwie 12–14°C (przy standardowym U=1,0). Powietrze przy szybie ochładza się, gęstnieje i opada w dół, tworząc <strong>spływający strumień zimna</strong> (tzw. <em>efekt kominowy</em>).</p>



<p class="wp-block-paragraph">Gdy podłoga przy oknie jest zbyt zimna (poniżej 21–22°C na powierzchni), czujemy nieprzyjemny dyskomfort stopy wychładzają się nawet przy 22°C w pomieszczeniu. Ogrzewanie podłogowe musi więc dostarczyć tam <strong>dodatkowe ciepło</strong>, które skompensuje straty przez szybę i ogrzeje opadające powietrze.</p>



<h2 class="wp-block-heading"><strong>Gęstość ułożenia rur jako klucz do sukcesu</strong>.</h2>



<p class="wp-block-paragraph">Najprostsza, a zarazem najskuteczniejsza metoda to <strong>zmienne zagęszczenie <a href="https://projekt-ogrzewania.pl/petla-grzewcza/" type="link" id="https://projekt-ogrzewania.pl/petla-grzewcza/">pętli grzewczych</a></strong>. W głębi pomieszczenia, gdzie straty są małe, stosujemy standardowy rozstaw 10–20 cm. W pasie przy oknie nawet 5 –10 cm.</p>



<h3 class="wp-block-heading">Jak obliczyć potrzebny rozstaw?</h3>



<p class="wp-block-paragraph">Potrzebujemy dwóch rzeczy:&nbsp;<strong>liniowej straty ciepła przez okno</strong>&nbsp;(na metr bieżący) oraz&nbsp;<strong>zdolności podłogi do oddawania ciepła</strong>&nbsp;w funkcji rozstawu rur.</p>



<p class="wp-block-paragraph">Przykład:</p>



<ul class="wp-block-list">
<li>Okno: wysokość 2,2 m, U=1,0 W/m²K, temperatura wewnątrz 22°C, zewnątrz -4°C.</li>



<li>Strata ciepła przez 1 m² szyby: q = U * ΔT = 1,0 * 26 = 26 W/m².</li>



<li>Dla okna o wysokości 2,2 m strata&nbsp;<strong>na metr bieżący</strong>&nbsp;wynosi: 26 * 2,2 =&nbsp;<strong>57,2 W/mb</strong>.</li>
</ul>



<p class="wp-block-paragraph">Dodajmy 30% zapasu na spływ powietrza (efekt bryzy) –&nbsp;<strong>74,4 W/mb</strong>&nbsp;musi dostarczyć podłoga w pasie przy oknie.</p>



<p class="wp-block-paragraph">Z danych producentów rur  dla różnicy temperatury wody średniej i pomieszczenia 10°C:</p>



<ul class="wp-block-list">
<li>Rozstaw 20 cm → gęstość mocy podłogi ok. 70–80 W/m².</li>



<li>Rozstaw 10 cm → gęstość mocy ok. 140–160 W/m².</li>
</ul>



<p class="wp-block-paragraph">Przyjmijmy, że pas przyokienny ma szerokość 1,2 m. Wtedy:</p>



<ul class="wp-block-list">
<li>Dla rozstawu 10 cm: 1,2 m * 150 W/m² =&nbsp;<strong>180 W/mb</strong>&nbsp;– z dużym zapasem.</li>



<li>Dla rozstawu 15 cm: 1,2 m * 100 W/m² = 120 W/mb – w sam raz na 74 W/mb.</li>
</ul>



<p class="wp-block-paragraph">Wniosek: dla okna U=1,0 i wys. 2,2 m wystarczy rozstaw 15 cm w pasie 1,2 m. Dla okna starszego (U=1,4) lub wyższego (3 m) trzeba zejść do 10 cm.</p>



<h2 class="wp-block-heading"><strong>Oddzielne obwody grzewcze dla strefy przyokiennej</strong>.</h2>



<p class="wp-block-paragraph">Uzgęszczenie rur to jedno, ale bez&nbsp;<strong>niezależnego sterowania</strong>&nbsp;możemy przegrzewać resztę pokoju. Dlatego w projekcie ogrzewania podłogowego do domu z dużymi przeszkleniami warto wydzielić&nbsp;<strong>jeden lub dwa dodatkowe obwody</strong>&nbsp;biegnące wyłącznie wzdłuż okien.</p>



<h3 class="wp-block-heading">Zalety takiego rozwiązania.</h3>



<ul class="wp-block-list">
<li>Możliwość podniesienia temperatury tylko w pasie 0–1,5 m od okna (np. 26°C na powierzchni przy szybie i 23°C w głębi).</li>



<li>Szybsza reakcja na zmiany słoneczne przy nasłonecznieniu można wyłączyć obwód przyokienny, by nie przegrzewać.</li>



<li>Osobny <a href="https://projekt-ogrzewania.pl/czujnik-podlogowy/">czujnik podłogowy</a> (lub przyklejony do szyby) gdy temperatura szyby spada, obwód automatycznie się włącza.</li>
</ul>



<h3 class="wp-block-heading">Przykład podziału pomieszczenia.</h3>



<p class="wp-block-paragraph">Salon 50 m² z oknem panoramicznym 8 × 2,4 m. Dzielimy na:</p>



<ul class="wp-block-list">
<li><strong>Obwód A</strong>&nbsp;(główny) – rozstaw 20 cm, obejmuje środek pokoju (ok. 40 m²).</li>



<li><strong>Obwód B</strong>&nbsp;(przyokienny) – rozstaw 12 cm, pas szerokości 1,2 m wzdłuż całego okna (pow. 8*1,2 = 9,6 m²).</li>



<li><strong>Obwód C</strong>&nbsp;(drugi pas, opcjonalnie) – przy bardzo szerokim pomieszczeniu, drugi pas 0,8–1,0 m z rozstawem 15 cm.</li>
</ul>



<p class="wp-block-paragraph">Do sterowania używamy rozdzielacza z siłownikami i termostatem pokojowym z dwoma wyjściami (lub jednym + czujnikiem podłogowym w strefie B).</p>



<h2 class="wp-block-heading"><strong>Wzmocniona izolacja pod ogrzewaniem przy oknach</strong>.</h2>



<p class="wp-block-paragraph">Często pomijany, a kluczowy detal. Podłoga przy oknie graniczy ze strefą mostka termicznego zwłaszcza przy dużych przeszkleniach do posadzki. Nawet jeśli okno jest dobrze osadzone, <strong>strefa przy progu</strong> ma niższą temperaturę od spodu.</p>



<h3 class="wp-block-heading">Jak to policzyć?</h3>



<p class="wp-block-paragraph">Standardowa podłoga na gruncie: izolacja 10–12 cm EPS. Ale przy oknie strumień ciepła może uciekać na zewnątrz przez boczny mostek. W projekcie należy zastosować&nbsp;<strong>wydłużoną drogę strumienia ciepła</strong>&nbsp;– np. XPS o grubości 15–20 cm na szerokość 1,5 m od okna.</p>



<p class="wp-block-paragraph">Przykład:</p>



<ul class="wp-block-list">
<li>Bez wzmocnienia: strata dodatkowa przez krawędź – szacunkowo 5–10 W/mb.</li>



<li>Z XPS 15 cm: strata zmniejszona do 2–3 W/mb.</li>
</ul>



<p class="wp-block-paragraph">Różnica niewielka, ale w połączeniu z zagęszczeniem rur daje komfort i oszczędność energii.</p>



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

.premium-table-section {
    max-width: 1150px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    padding: 0 20px;
}

.table-header-title {
    text-align: center;
    margin-bottom: 30px;
}

.table-header-title h2 {
    font-size: 28px;
    font-weight: 800;
    margin: 0 0 10px 0;
    color: var(--primary);
}

.table-header-title p {
    color: #64748b;
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
}

.table-container {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid #f1f5f9;
    overflow: hidden;
}

.premium-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

.premium-table thead {
    background: var(--bg-light);
    border-bottom: 2px solid #e2e8f0;
}

.premium-table th {
    padding: 20px;
    text-align: left;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 0.5px;
}

.premium-table tbody tr {
    border-bottom: 1px solid #f1f5f9;
    transition: background-color 0.2s ease;
}

.premium-table tbody tr:last-child {
    border-bottom: none;
}

.premium-table tbody tr:hover {
    background-color: #f8fafc;
}

.premium-table td {
    padding: 20px;
    font-size: 15px;
    color: #475569;
    vertical-align: middle;
}

/* Wyróżnienie kolumny "Przy oknie" */
.premium-table td:nth-child(3) {
    font-weight: 700;
    color: var(--accent);
    background: rgba(37, 99, 235, 0.02);
}

/* Wyróżnienie "Brak" lub pauzy */
.empty-val {
    color: #cbd5e1;
}

/* STYLOWANIE IKON W TABELI */
.row-title-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}

.row-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: var(--bg-light);
    border-radius: 10px;
    font-size: 18px;
    border: 1px solid #e2e8f0;
    flex-shrink: 0;
}

/* --- RESPONSYWNOŚĆ (MOBILE) --- */
@media (max-width: 768px) {
    .premium-table-section {
        padding: 0 15px;
    }

    .table-container {
        background: transparent;
        box-shadow: none;
        border: none;
    }

    .premium-table thead {
        display: none;
    }

    .premium-table, 
    .premium-table tbody, 
    .premium-table tr, 
    .premium-table td {
        display: block;
        width: 100%;
    }

    .premium-table tr {
        background: #ffffff;
        margin-bottom: 20px;
        border-radius: 16px;
        box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.08);
        border: 1px solid #f1f5f9;
        overflow: hidden;
    }

    .premium-table tr:hover {
        background: #ffffff;
        transform: translateY(-2px);
        transition: transform 0.3s ease;
    }

    .premium-table td {
        padding: 15px 20px 15px 45%;
        text-align: right;
        position: relative;
        border-bottom: 1px solid #f1f5f9;
        font-size: 14px;
        min-height: 50px; /* Zapewnia miejsce dla flexboxa */
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    .premium-table td:first-child {
        padding-left: 20px;
        text-align: left;
        justify-content: flex-start;
        background: var(--bg-light);
        border-bottom: 2px solid #e2e8f0;
    }

    .premium-table td:last-child {
        border-bottom: none;
    }

    /* Wyłączamy przedrostki data-label dla pierwszego wiersza, bo tam jest tytuł z ikoną */
    .premium-table td:not(:first-child)::before {
        content: attr(data-label);
        position: absolute;
        left: 20px;
        width: 40%;
        text-align: left;
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
        color: #94a3b8;
        display: flex;
        align-items: center;
        height: 100%;
        top: 0;
    }
    
    .premium-table td:nth-child(3) {
        background: #eff6ff;
        border-top: 2px dashed #bfdbfe;
    }
}
</style>

<div class="premium-table-section" id="premium-table-app">
    <div class="table-header-title">
        <h2>Rekomendowane grubości izolacji przy oknie</h2>
        <p>Porównanie standardowej podłogi z pasem brzegowym. <br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Dane opracowane przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="table-container">
        <table class="premium-table">
            <thead>
                <tr>
                    <th>Typ okna / podłoża</th>
                    <th>Standard w głębi</th>
                    <th>Przy oknie (pas 1,5 m)</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td data-label="Typ okna / podłoża">
                        <div class="row-title-wrap">
                            <div class="row-icon">🧱</div>
                            <strong>Podłoga na gruncie (grunt suchy)</strong>
                        </div>
                    </td>
                    <td data-label="Standard w głębi">EPS 10 cm</td>
                    <td data-label="Przy oknie">XPS 15 cm</td>
                </tr>
                <tr>
                    <td data-label="Typ okna / podłoża">
                        <div class="row-title-wrap">
                            <div class="row-icon">💧</div>
                            <strong>Podłoga na gruncie (grunt wilgotny)</strong>
                        </div>
                    </td>
                    <td data-label="Standard w głębi">EPS 12 cm + folia</td>
                    <td data-label="Przy oknie">XPS 20 cm</td>
                </tr>
                <tr>
                    <td data-label="Typ okna / podłoża">
                        <div class="row-title-wrap">
                            <div class="row-icon">❄️</div>
                            <strong>Strop nad nieogrzewaną piwnicą</strong>
                        </div>
                    </td>
                    <td data-label="Standard w głębi">Wełna 12 cm</td>
                    <td data-label="Przy oknie">Wełna 18 cm + jastrych</td>
                </tr>
                <tr>
                    <td data-label="Typ okna / podłoża">
                        <div class="row-title-wrap">
                            <div class="row-icon">🏗️</div>
                            <strong>Płyta balkonowa (mostek liniowy)</strong>
                        </div>
                    </td>
                    <td data-label="Standard w głębi"><span class="empty-val">—</span></td>
                    <td data-label="Przy oknie">XPS 20 cm + izolacja</td>
                </tr>
            </tbody>
        </table>
    </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)) {
        document.getElementById('premium-table-app').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; border-radius: 20px;">
                <span style="font-size: 48px; margin-bottom: 20px;">🔒</span>
                <h3 style="margin-top:0; font-size: 24px;">Treść chroniona prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Ta tabela i wytyczne są własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i zostały wklejone na tę stronę bez zgody autora.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
    }
});
</script>



<p class="wp-block-paragraph"><em>XPS lepszy od EPS przy oknie, bo ma wyższą wytrzymałość na ściskanie i niższe nasiąkanie.</em></p>



<h2 class="wp-block-heading"><strong>Konwektory kanałowe jako wsparcie lub alternatywa</strong>.</h2>



<p class="wp-block-paragraph">Są sytuacje, gdy samo ogrzewanie podłogowe nie da rady. Dotyczy to szczególnie okien&nbsp;<strong>od podłogi do sufitu</strong>&nbsp;(wysokość 2,5–3 m) lub gdy U szyby jest gorsze niż 1,0. Wtedy straty liniowe przekraczają 100 W/mb, a przy rozstawie 10 cm i pasie 1,2 m uzyskamy maksymalnie 180 W/mb – teoretycznie starczy, ale podłoga będzie bardzo gorąca (ponad 28°C), co jest nieprzyjemne i może uszkodzić niektóre pokrycia.</p>



<h3 class="wp-block-heading">Rozwiązanie: konwektor kanałowy (listwa grzewcza).</h3>



<p class="wp-block-paragraph">Montuje się go w posadzce, tuż przed oknem (5–15 cm od szyby). Działa jak <strong>kurtyna ciepła</strong> ogrzane powietrze unosi się wzdłuż szyby, przerywając spływ zimnego strumienia.</p>



<p class="wp-block-paragraph">Parametry typowego konwektora (np. Kermi, Jaga):</p>



<ul class="wp-block-list">
<li>Wysokość kanału: 8–15 cm (musi zmieścić się w wylewce).</li>



<li>Moc liniowa: 150–300 W/mb przy ΔT = 50°C (woda 70/50°C).</li>



<li>Dla niskotemperaturowego ogrzewania podłogowego (woda 35/28°C) moc spada do 50–100 W/mb – wtedy konwektor nie zastąpi podłogi, ale ją wspomoże.</li>
</ul>



<h3 class="wp-block-heading">Kiedy stosować konwektor zamiast zagęszczania pętli? (H3)</h3>



<ul class="wp-block-list">
<li>Okna o wysokości powyżej 2,7 m (np. lofty).</li>



<li>Gdy podłoga jest drewniana (dąb, jesion) bo przy zagęszczonych pętlach może się odkształcić.</li>



<li>W pomieszczeniach, gdzie nie chcemy tracić 1,2 m pasa na gęste rury (np. mały pokój).</li>
</ul>



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

.premium-table-section {
    max-width: 1150px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    padding: 0 20px;
}

.table-text-content {
    max-width: 800px;
    margin: 0 auto 30px auto;
    text-align: center;
}

.table-text-content h2 {
    font-size: 28px;
    font-weight: 800;
    margin: 0 0 15px 0;
    color: var(--primary);
}

.table-text-content p {
    color: #475569;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 0;
}

.table-container {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid #f1f5f9;
    overflow: hidden;
    margin-bottom: 30px;
}

.premium-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

.premium-table thead {
    background: var(--bg-light);
    border-bottom: 2px solid #e2e8f0;
}

.premium-table th {
    padding: 20px;
    text-align: left;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 0.5px;
}

.premium-table tbody tr {
    border-bottom: 1px solid #f1f5f9;
    transition: background-color 0.2s ease;
}

.premium-table tbody tr:last-child {
    border-bottom: none;
}

.premium-table tbody tr:hover {
    background-color: #f8fafc;
}

.premium-table td {
    padding: 20px;
    font-size: 15px;
    color: #475569;
    vertical-align: middle;
}

/* Wyróżnienie wartości R */
.premium-table td:nth-child(3) {
    font-weight: 800;
    color: var(--primary);
}

/* STYLOWANIE IKON */
.row-title-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}

.row-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: var(--bg-light);
    border-radius: 10px;
    font-size: 18px;
    border: 1px solid #e2e8f0;
    flex-shrink: 0;
}

/* ODZNAKI (BADGES) DLA UWAG */
.status-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
}

.badge-good {
    background: #dcfce7;
    color: #166534;
}

.badge-warn {
    background: #ffedd5;
    color: #9a3412;
}

.badge-bad {
    background: #fee2e2;
    color: #991b1b;
}

.table-outro {
    background: #eff6ff;
    padding: 20px 30px;
    border-radius: 16px;
    border-left: 4px solid var(--accent);
    color: #1e3a8a;
    font-size: 15px;
    line-height: 1.6;
    font-weight: 500;
}

/* --- RESPONSYWNOŚĆ (MOBILE) --- */
@media (max-width: 768px) {
    .premium-table-section {
        padding: 0 15px;
    }

    .table-container {
        background: transparent;
        box-shadow: none;
        border: none;
    }

    .premium-table thead {
        display: none;
    }

    .premium-table, 
    .premium-table tbody, 
    .premium-table tr, 
    .premium-table td {
        display: block;
        width: 100%;
    }

    .premium-table tr {
        background: #ffffff;
        margin-bottom: 20px;
        border-radius: 16px;
        box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.08);
        border: 1px solid #f1f5f9;
        overflow: hidden;
    }

    .premium-table tr:hover {
        background: #ffffff;
        transform: translateY(-2px);
        transition: transform 0.3s ease;
    }

    .premium-table td {
        padding: 15px 20px 15px 45%;
        text-align: right;
        position: relative;
        border-bottom: 1px solid #f1f5f9;
        font-size: 14px;
        min-height: 50px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    .premium-table td:first-child {
        padding: 20px;
        text-align: left;
        justify-content: flex-start;
        background: var(--bg-light);
        border-bottom: 2px solid #e2e8f0;
    }

    .premium-table td:last-child {
        border-bottom: none;
    }

    .premium-table td:not(:first-child)::before {
        content: attr(data-label);
        position: absolute;
        left: 20px;
        width: 40%;
        text-align: left;
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
        color: #94a3b8;
        display: flex;
        align-items: center;
        height: 100%;
        top: 0;
    }
}
</style>

<div class="premium-table-section" id="premium-table-coverings">
    
    <div class="table-text-content">
        <h2>Dobór pokrycia podłogowego – to ma znaczenie</h2>
        <p>Nie każde pokrycie nadaje się do strefy przyokiennej z gęstymi rurami. <strong>Opór cieplny pokrycia (R)</strong> powinien być jak najmniejszy – wtedy ciepło szybko dociera do powierzchni okna, blokując spływający chłód. <br><br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Tabela opracowana przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="table-container">
        <table class="premium-table">
            <thead>
                <tr>
                    <th>Pokrycie</th>
                    <th>Grubość</th>
                    <th>R (m²K/W)</th>
                    <th>Uwagi</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td data-label="Pokrycie">
                        <div class="row-title-wrap">
                            <div class="row-icon">💠</div>
                            <strong>Płytki gresowe</strong>
                        </div>
                    </td>
                    <td data-label="Grubość">1 cm</td>
                    <td data-label="R (m²K/W)">~0,02</td>
                    <td data-label="Uwagi"><span class="status-badge badge-good">Idealne przy oknach</span></td>
                </tr>
                <tr>
                    <td data-label="Pokrycie">
                        <div class="row-title-wrap">
                            <div class="row-icon">🪨</div>
                            <strong>Kamień naturalny (marmur)</strong>
                        </div>
                    </td>
                    <td data-label="Grubość">2 cm</td>
                    <td data-label="R (m²K/W)">~0,03</td>
                    <td data-label="Uwagi"><span class="status-badge badge-good">Bardzo dobre</span></td>
                </tr>
                <tr>
                    <td data-label="Pokrycie">
                        <div class="row-title-wrap">
                            <div class="row-icon">⚡</div>
                            <strong>Panele winylowe LVT</strong>
                        </div>
                    </td>
                    <td data-label="Grubość">4–6 mm</td>
                    <td data-label="R (m²K/W)">0,01–0,02</td>
                    <td data-label="Uwagi"><span class="status-badge badge-good">Dobre, szybka reakcja</span></td>
                </tr>
                <tr>
                    <td data-label="Pokrycie">
                        <div class="row-title-wrap">
                            <div class="row-icon">🪵</div>
                            <strong>Panele laminowane</strong>
                        </div>
                    </td>
                    <td data-label="Grubość">8 mm</td>
                    <td data-label="R (m²K/W)">0,05–0,07</td>
                    <td data-label="Uwagi"><span class="status-badge badge-warn">Umiarkowane (lepiej unikać przy oknie)</span></td>
                </tr>
                <tr>
                    <td data-label="Pokrycie">
                        <div class="row-title-wrap">
                            <div class="row-icon">🌳</div>
                            <strong>Deska drewniana (dąb)</strong>
                        </div>
                    </td>
                    <td data-label="Grubość">1,5 cm</td>
                    <td data-label="R (m²K/W)">0,10–0,12</td>
                    <td data-label="Uwagi"><span class="status-badge badge-bad">Złe – blokuje ciepło, ryzyko spękań</span></td>
                </tr>
                <tr>
                    <td data-label="Pokrycie">
                        <div class="row-title-wrap">
                            <div class="row-icon">🧶</div>
                            <strong>Dywan</strong>
                        </div>
                    </td>
                    <td data-label="Grubość">1 cm (wysoki)</td>
                    <td data-label="R (m²K/W)">0,15–0,25</td>
                    <td data-label="Uwagi"><span class="status-badge badge-bad">Absolutnie nie przy oknie!</span></td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="table-outro">
        💡 <strong>Wskazówka eksperta:</strong> W strefie przyokiennej zalecamy gres lub kamień – nawet jeśli reszta pokoju ma panele czy deskę. Można to elegancko rozwiązać, robiąc wizualne oddzielenie stref za pomocą minimalistycznej listwy przejściowej.
    </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)) {
        document.getElementById('premium-table-coverings').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; border-radius: 20px;">
                <span style="font-size: 48px; margin-bottom: 20px;">🔒</span>
                <h3 style="margin-top:0; font-size: 24px;">Treść chroniona prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Ta tabela i wytyczne są własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i zostały wklejone na tę stronę bez zgody autora.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
    }
});
</script>



<h2 class="wp-block-heading"><strong>Sterowanie z kompensacją i czujnikami przy szybie</strong>.</h2>



<p class="wp-block-paragraph">Tradycyjny <a href="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/" type="link" id="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/">termostat pokojowy</a> reaguje na temperaturę powietrza w środku pomieszczenia. Przy dużych oknach to za mało bo strefa przy szybie może być o 3–5°C zimniejsza, zanim termostat zareaguje.</p>



<h3 class="wp-block-heading">Nowoczesne podejście.</h3>



<p class="wp-block-paragraph">Zastosuj regulator pogodowy z czujnikiem&nbsp;<strong>przypowierzchniowym</strong>&nbsp;na szybie (lub w posadzce przy oknie). Na rynku dostępne są systemy, np.:</p>



<ul class="wp-block-list">
<li><strong>Danfoss Icon</strong>&nbsp;z czujnikiem okiennym (OZ).</li>



<li><strong>Uponor Smatrix</strong>&nbsp;z możliwością podłączenia czujnika zewnętrznego i wewnętrznego w strefie brzegowej.</li>



<li><strong>Salus Controls</strong>&nbsp;z bezprzewodowym czujnikiem przyklejanym do szyby.</li>
</ul>



<p class="wp-block-paragraph">Algorytm: gdy temperatura szyby spada poniżej 12°C (przy zewnętrznej -5°C), regulator zwiększa temperaturę w obwodzie przyokiennym o 5–10°C. Dzięki temu podłoga oddaje więcej ciepła dokładnie wtedy, gdy jest potrzebne.</p>



<h2 class="wp-block-heading"><strong>Przykład obliczeniowy – projekt krok po kroku</strong>.</h2>



<p class="wp-block-paragraph">Zaprojektujmy <a href="https://projekt-ogrzewania.pl/" type="link" id="https://projekt-ogrzewania.pl/">ogrzewanie podłogowe</a> dla salonu 35 m² z oknem 5 × 2,2 m (U=0,9 W/m²K). Temperatura zewnętrzna obliczeniowa -16°C (Polska, III strefa), wewnętrzna 22°C.</p>



<h3 class="wp-block-heading">Krok 1: Straty przez okno</h3>



<p class="wp-block-paragraph">ΔT = 22 &#8211; (-16) = 38 K<br>Straty przez szybę: 0,9 * 38 = 34,2 W/m²<br>Dla całego okna (5*2,2=11 m²): 34,2 * 11 = 376 W<br>Na metr bieżący: 376 / 5 =&nbsp;<strong>75,2 W/mb</strong></p>



<p class="wp-block-paragraph">Dodajemy 30% na spływ powietrza: 75,2 * 1,3 = <strong>98 W/mb</strong> tyle musi dostarczyć podłoga w pasie przy oknie.</p>



<h3 class="wp-block-heading">Krok 2: Wybór metody</h3>



<p class="wp-block-paragraph">Mamy do dyspozycji pas o szerokości 1,2 m. Jaka gęstość mocy podłogi jest potrzebna?<br>98 W/mb / 1,2 m =&nbsp;<strong>81,7 W/m²</strong>&nbsp;w pasie.</p>



<p class="wp-block-paragraph">Sprawdzamy, jaki rozstaw rur da taką gęstość przy typowej ΔT (woda – pomieszczenie) = 8°C (woda 35/27°C, średnia 31°C, pom. 22°C, różnica 9°C). Z danych producenta:</p>



<ul class="wp-block-list">
<li>Rozstaw 15 cm → ok. 100 W/m²</li>



<li>Rozstaw 20 cm → ok. 70 W/m²</li>
</ul>



<p class="wp-block-paragraph">Przyjmujemy&nbsp;<strong>rozstaw 15 cm</strong>&nbsp;w pasie 1,2 m. Reszta pomieszczenia (poza pasem) może mieć 20 cm.</p>



<h3 class="wp-block-heading">Krok 3: Długość rur i zapotrzebowanie na moc</h3>



<p class="wp-block-paragraph">Pas przyokienny: powierzchnia 5 m * 1,2 m = 6 m².<br>Rury co 15 cm: na 1 m² potrzeba ok. 6,7 mb rury (1 / 0,15).<br>Łącznie: 6 * 6,7 =&nbsp;<strong>40,2 mb</strong>&nbsp;w jednym obwodzie – idealnie (obwód nie powinien przekraczać 100 mb).</p>



<p class="wp-block-paragraph">Reszta salonu: 35 &#8211; 6 = 29 m², rozstaw 20 cm → 5 mb/m² → 145 mb. Dzielimy na dwa obwody po 72,5 mb.</p>



<h3 class="wp-block-heading">Krok 4: Izolacja przy oknie</h3>



<p class="wp-block-paragraph">Podłoga na gruncie. Standardowo EPS 10 cm, ale przy oknie dokładamy pas XPS 15 cm (szer. 1,5 m) pod rury. Dodatkowo izolacja krawędziowa przy szybie z pianki PUR.</p>



<h3 class="wp-block-heading">Krok 5: Pokrycie</h3>



<p class="wp-block-paragraph">W pasie przyokiennym <strong>gres 1 cm</strong> (R=0,02). Reszta panele winylowe LVT (R=0,01). Bez dywanów.</p>



<h2 class="wp-block-heading"><strong>Kalkulator – jak samodzielnie dobrać zagęszczenie rur przy oknie</strong>.</h2>



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

/* ZAJAWKA SEO I LINK */
.calc-intro {
    max-width: 1150px;
    margin: 40px auto 10px auto;
    text-align: center;
    padding: 0 20px;
}

.calc-intro h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--primary);
    margin-bottom: 15px;
}

.calc-intro p {
    font-size: 16px;
    color: #475569;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
}

.screed-calc {
    max-width: 1150px;
    margin: 30px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    color: var(--primary);
}

.calc-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
}

/* LEWA STRONA - KONFIGURACJA */
.config-side {
    padding: 40px;
    background: #ffffff;
}

.section-title {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 1.2px;
    margin-bottom: 20px;
    display: block;
}

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

.type-btn {
    padding: 12px 6px;
    border: 2px solid #cbd5e1;
    border-radius: 12px;
    cursor: pointer;
    text-align: center;
    font-weight: 700;
    font-size: 14px;
    color: #475569;
    background: #fff;
    transition: all 0.2s;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.type-btn span {
    margin-top: 4px;
    font-size: 10px;
    font-weight: 400;
}

.type-btn.active {
    border-color: var(--accent);
    background: #eff6ff;
    color: var(--accent);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.1);
}

.input-wrap { margin-bottom: 25px; }
.input-label-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    align-items: center;
}
.input-label-row label { font-weight: 600; font-size: 14px; }
.input-label-row .val-badge {
    background: #f1f5f9;
    padding: 4px 12px;
    border-radius: 8px;
    font-weight: 800;
    color: var(--accent);
    font-size: 14px;
}

input[type=range] {
    width: 100%; height: 6px; background: #e2e8f0; border-radius: 10px; appearance: none; outline: none; margin-top: 10px;
}
input[type=range]::-webkit-slider-thumb {
    appearance: none; width: 22px; height: 22px; background: var(--accent); border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.15); cursor: pointer;
}

/* PRAWA STRONA - WYNIKI */
.result-side {
    padding: 40px;
    background: var(--bg-light);
    border-left: 1px solid #f1f5f9;
}

.main-score-box {
    background: white; padding: 30px; border-radius: 20px; text-align: center; box-shadow: 0 10px 25px rgba(0,0,0,0.03); margin-bottom: 25px; border-bottom: 6px solid var(--success); transition: 0.3s;
}
.score-num { font-size: 48px; font-weight: 900; line-height: 1; display: block; margin: 10px 0; color: var(--accent); }
.score-label { font-size: 12px; color: #64748b; font-weight: 700; text-transform: uppercase; }

#risk-msg {
    margin-top: 15px; padding: 12px; border-radius: 10px; font-size: 13px; font-weight: 600; display: none; background: #fee2e2; color: var(--danger); border: 1px solid #fecaca; line-height: 1.4; text-align: left;
}

.tech-grid {
    background: var(--primary); color: white; padding: 25px; border-radius: 20px; display: grid; gap: 12px;
}
.tech-item {
    display: flex; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid #1e293b; align-items: center;
}
.tech-item:last-child { border: none; padding-bottom: 0; }
.tech-item span { color: #94a3b8; font-size: 13px; }
.tech-item strong { font-size: 15px; text-align: right;}

.material-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; margin-bottom: 15px;
}
.mini-card { background: rgba(255,255,255,0.08); padding: 15px; border-radius: 12px; text-align: center;}
.mini-card.full-width { grid-column: 1 / -1; background: rgba(37, 99, 235, 0.2); }
.mini-card span { font-size: 11px; color: #94a3b8; display: block; margin-bottom: 6px; text-transform: uppercase; font-weight: 600;}
.mini-card.full-width span { color: #bfdbfe; }
.mini-card strong { font-size: 20px; color: #fff; font-weight: 900; }

/* STOPKA */
.footer-cta {
    margin: 0 40px 40px 40px;
    padding: 30px;
    background: #eff6ff;
    border-radius: 20px;
    border-left: 6px solid var(--accent);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.cta-text-side {
    max-width: 550px;
}

.cta-buttons-stack {
    display: flex;
    flex-direction: column; 
    gap: 12px;
    min-width: 280px; 
}

.cta-btn {
    display: block; background: var(--accent); color: white; text-decoration: none; padding: 16px 20px; border-radius: 12px; font-weight: 800; transition: 0.3s; font-size: 13px; text-align: center; border: none; cursor: pointer;
}
.cta-btn:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(37, 99, 235, 0.2); }

@media (max-width: 900px) {
    .calc-grid { grid-template-columns: 1fr; }
    .footer-cta { flex-direction: column; text-align: center; gap: 25px; margin: 20px; }
    .cta-buttons-stack { min-width: 100%; width: 100%; }
    .type-selector { grid-template-columns: repeat(2, 1fr); }
}
</style>

<div class="calc-intro">
    <h2>Kalkulator strefy brzegowej: Rozstaw rur przy oknie</h2>
    <p>Zimne stopy przy dużych przeszkleniach to przeszłość! Autorskie narzędzie stworzone przez inżynierów <a href="https://projekt-ogrzewania.pl/" style="color: #2563eb; font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a> bazujące na fizyce budowli. Podaj parametry swojego okna, a kalkulator wyliczy wymaganą moc podłogi, zapotrzebowanie na rurę oraz optymalny rozstaw.</p>
</div>

<div class="screed-calc" id="screed-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            
            <span class="section-title">1. Parametry okna</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Współczynnik przenikania szyby (U)</label><span class="val-badge"><span id="v-u">0.9</span> W/m²K</span></div>
                <input type="range" id="u-val" min="0.5" max="1.8" step="0.1" value="0.9">
            </div>
            
            <div class="input-wrap">
                <div class="input-label-row"><label>Wysokość okna (od podłogi)</label><span class="val-badge"><span id="v-height">2.2</span> m</span></div>
                <input type="range" id="height-val" min="1.5" max="6.0" step="0.1" value="2.2">
            </div>

            <div class="input-wrap">
                <div class="input-label-row"><label>Szerokość okna</label><span class="val-badge"><span id="v-win-width">3.0</span> m</span></div>
                <input type="range" id="win-width-val" min="1.0" max="10.0" step="0.5" value="3.0">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Długość wnęki okiennej (pozwala obliczyć ilość rury).</div>
            </div>

            <span class="section-title">2. Geometria strefy brzegowej</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Szerokość pasa przyokiennego</label><span class="val-badge"><span id="v-width">1.2</span> m</span></div>
                <input type="range" id="width-val" min="0.5" max="2.0" step="0.1" value="1.2">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Odległość, na jaką strefa &#8222;wchodzi&#8221; w głąb pomieszczenia.</div>
            </div>

            <span class="section-title">3. Temperatury projektowe</span>
            <div class="input-wrap" style="margin-bottom: 15px;">
                <div class="input-label-row"><label>Oczekiwana temp. wewnątrz</label><span class="val-badge"><span id="v-tin">22</span> °C</span></div>
                <input type="range" id="tin-val" min="18" max="25" step="1" value="22">
            </div>
            
            <div style="font-size: 14px; font-weight: 600; margin-bottom: 8px;">Temperatura zewnętrzna (Strefa klimatyczna)</div>
            <div class="type-selector">
                <div class="type-btn" id="btn-tz-16" data-tz="-16">-16 °C<span>Strefa I, II, III</span></div>
                <div class="type-btn active" id="btn-tz-18" data-tz="-18">-18 °C<span>Strefa IV</span></div>
                <div class="type-btn" id="btn-tz-20" data-tz="-20">-20 °C<span>Strefa V</span></div>
                <div class="type-btn" id="btn-tz-22" data-tz="-22">-22 °C<span>Góry / Suwałki</span></div>
            </div>
            
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Wymagana moc podłogi w strefie brzegowej</span>
                <span class="score-num" id="resPower">&#8212;</span>
                <span class="score-label">W/m²</span>
                <div id="risk-msg">⚠️ Uwaga!</div>
            </div>

            <div class="tech-grid">
                <div class="material-grid">
                    <div class="mini-card full-width">
                        <span>Zalecany rozstaw rur w strefie brzegowej:</span>
                        <strong id="resSpacing" style="color:#60a5fa;">&#8212;</strong>
                    </div>
                    <div class="mini-card">
                        <span>Długość rur w strefie:</span>
                        <strong id="resPipeTotal">&#8212; mb</strong>
                    </div>
                    <div class="mini-card">
                        <span>Ilość obwodów (pętli):</span>
                        <strong id="resLoops">&#8212;</strong>
                    </div>
                </div>
                
                <div class="tech-item"><span>Całkowita strata cieplna przez okno:</span><strong id="resTotalWindowLoss" style="color:#fbbf24">&#8212;</strong></div>
                <div class="tech-item"><span>Powierzchnia strefy brzegowej:</span><strong id="resZoneArea">&#8212;</strong></div>
                <div class="tech-item" style="border:none;"><span>Strata bazowa z 1 metra bież. okna:</span><strong id="resBaseLoss">&#8212;</strong></div>
            </div>
            
            <div style="margin-top:20px; font-size:11px; color:#94a3b8; line-height: 1.5;">
                <strong>Wskazówka:</strong> Wyliczenia zakładają standardową temperaturę zasilania podłogówki (ΔT wody i powietrza ok. 8-10°C). Dla optymalnego przekazywania ciepła zastosuj w tej strefie wykończenie z płytek gresowych lub kamienia (R ≈ 0.02 m²K/W). Jedna pętla nie powinna przekraczać ok. 90-100mb.
            </div>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Nie zgaduj przy dużych oknach!</h3>
            <p style="margin:0; font-size:14px; color:#475569">Zbyt rzadki rozstaw lub za długa pętla to gwarancja problemów. Zleć nam profesjonalny projekt, w którym wyliczymy opory hydrauliczne i zaprojektujemy dedykowane obwody z odpowiednim przepływem.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="javascript:void(0)" id="btn-email" class="cta-btn" style="background:#1e293b">
                WYŚLIJ WYNIKI NA E-MAIL
            </a>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
                ZAMÓW PROJEKT OGRZEWANIA →
            </a>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('screed-calc-app');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px; font-family: sans-serif;">' +
                '<span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span>' +
                '<h' + '3 style="margin-top:0; font-size: 24px; color: #dc2626;">Narzędzie chronione</h' + '3>' +
                '<p style="font-size: 16px; margin-bottom: 25px;">Ten kalkulator jest własnością serwisu <a href="https://projekt-ogrzewania.pl/" style="color: #dc2626; font-weight: bold; text-decoration: underline;">Projekt-Ogrzewania.pl</a></p>' +
                '<a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 14px 28px; background: #dc2626; color: #ffffff; text-decoration: none; border-radius: 12px; font-weight: 800;">PRZEJDŹ DO ORYGINAŁU</a>' +
                '</div>';
        }
        return; 
    }

    var tz = -18; 

    function updateCalc() {
        var uEl = document.getElementById('u-val');
        var hEl = document.getElementById('height-val');
        var winWidthEl = document.getElementById('win-width-val');
        var wEl = document.getElementById('width-val');
        var tinEl = document.getElementById('tin-val');
        
        if(!uEl || !hEl || !winWidthEl || !wEl || !tinEl) return;

        var u = parseFloat(uEl.value);
        var h = parseFloat(hEl.value);
        var winW = parseFloat(winWidthEl.value);
        var s = parseFloat(wEl.value);
        var tin = parseFloat(tinEl.value);
        
        document.getElementById('v-u').innerText = u.toFixed(1);
        document.getElementById('v-height').innerText = h.toFixed(1);
        document.getElementById('v-win-width').innerText = winW.toFixed(1);
        document.getElementById('v-width').innerText = s.toFixed(1);
        document.getElementById('v-tin').innerText = tin;

        // Obliczenia fizyczne
        var deltaT = tin - tz;
        var baseLossM = u * deltaT * h; // Strata bazowa na 1 mb okna
        var totalLossM = baseLossM * 1.3; // Zapotrzebowanie z zapasem (na bryzę) na mb
        var reqPower = totalLossM / s; // Moc na m2 w strefie
        
        var totalWindowLoss = baseLossM * winW; // Całkowita strata samego okna (W)
        var zoneArea = winW * s; // Powierzchnia strefy brzegowej (m2)

        // Wypisywanie do UI statystyk ogólnych
        document.getElementById('resBaseLoss').innerText = baseLossM.toFixed(0) + ' W/mb';
        document.getElementById('resTotalWindowLoss').innerText = totalWindowLoss.toFixed(0) + ' W';
        document.getElementById('resZoneArea').innerText = zoneArea.toFixed(1) + ' m²';
        document.getElementById('resPower').innerText = reqPower.toFixed(0);

        // Ustalenie rozstawu rur i mnożnika rury na m2
        var spacing = "";
        var pipePerM2 = 0;
        var mBox = document.getElementById('mainBox');
        var rMsg = document.getElementById('risk-msg');
        var warnings = [];
        var boxColor = 'var(--success)';

        if (reqPower > 160) {
            spacing = "7.5 cm (lub konwektor)";
            pipePerM2 = 13.3;
            warnings.push('⚠️ Moc krytyczna! Sama podłogówka może nie wystarczyć (ryzyko gorącej posadzki). Rozważ grzejnik kanałowy lub rozstaw rur 7.5 cm.');
            boxColor = 'var(--danger)';
        } else if (reqPower > 130) {
            spacing = "10 cm";
            pipePerM2 = 10.0;
            boxColor = 'var(--warning)';
        } else if (reqPower > 110) {
            spacing = "12.5 cm";
            pipePerM2 = 8.0;
        } else if (reqPower > 80) {
            spacing = "15 cm";
            pipePerM2 = 6.7;
        } else {
            spacing = "20 cm";
            pipePerM2 = 5.0;
        }

        // Obliczenia materiałowe
        var totalPipe = zoneArea * pipePerM2;
        var loopCount = 1;

        if (totalPipe > 95) {
            loopCount = Math.ceil(totalPipe / 80); // Dzielimy na pętle po ok 80m dla strefy gęstej
            warnings.push('⚠️ Ze względu na dużą ilość rury (' + Math.round(totalPipe) + ' mb), strefę należy rozdzielić na ' + loopCount + ' niezależne obwody na rozdzielaczu, aby uniknąć dławienia przepływu.');
            if(boxColor === 'var(--success)') boxColor = 'var(--warning)';
        }

        if (s < 1.0) {
            warnings.push('ℹ️ Pas przyokienny jest dość wąski. Zwiększenie go do 1.2m odciąży posadzkę i pozwoli zwiększyć rozstaw rur.');
        }

        document.getElementById('resSpacing').innerText = spacing;
        document.getElementById('resPipeTotal').innerText = Math.round(totalPipe);
        document.getElementById('resLoops').innerText = loopCount;

        if (warnings.length > 0) {
            rMsg.innerHTML = warnings.join('<br><br>');
            rMsg.style.display = 'block';
        } else {
            rMsg.style.display = 'none';
        }
        mBox.style.borderBottomColor = boxColor;
        document.getElementById('resPower').style.color = (boxColor === 'var(--success)') ? 'var(--accent)' : boxColor;
    }

    var tzButtons = ['btn-tz-16', 'btn-tz-18', 'btn-tz-20', 'btn-tz-22'];
    for (var i = 0; i < tzButtons.length; i++) {
        (function(btnId) {
            var btn = document.getElementById(btnId);
            if(btn) {
                btn.addEventListener('click', function(e) {
                    tz = parseFloat(e.currentTarget.getAttribute('data-tz'));
                    for(var j = 0; j < tzButtons.length; j++) {
                        var el = document.getElementById(tzButtons[j]);
                        if(el) el.classList.remove('active');
                    }
                    e.currentTarget.classList.add('active');
                    updateCalc();
                });
            }
        })(tzButtons[i]);
    }

    var inputs = ['u-val', 'height-val', 'win-width-val', 'width-val', 'tin-val'];
    inputs.forEach(function(id) {
        var el = document.getElementById(id);
        if(el) el.addEventListener('input', updateCalc);
    });

    var btnEmail = document.getElementById('btn-email');
    if(btnEmail) {
        btnEmail.addEventListener('click', function() {
            var u = document.getElementById('v-u').innerText;
            var h = document.getElementById('v-height').innerText;
            var winW = document.getElementById('v-win-width').innerText;
            var s = document.getElementById('v-width').innerText;
            var tin = document.getElementById('v-tin').innerText;
            
            var power = document.getElementById('resPower').innerText;
            var spacing = document.getElementById('resSpacing').innerText;
            var totalLoss = document.getElementById('resTotalWindowLoss').innerText;
            var pipe = document.getElementById('resPipeTotal').innerText;
            var loops = document.getElementById('resLoops').innerText;
            
            var email = 'biuro@projekt-ogrzewania.pl';
            var subject = encodeURIComponent('Konsultacja - Strefa brzegowa podłogówki');
            
            var bodyText = 'Dzień dobry,\n\nSkorzystałem z Państwa kalkulatora strefy brzegowej. Oto parametry mojego przeszklenia:\n\n' +
                           '• Współczynnik U okna: ' + u + ' W/m²K\n' +
                           '• Wymiary okna: ' + winW + 'm szerokości x ' + h + 'm wysokości\n' +
                           '• Założony pas przyokienny: ' + s + ' m\n' +
                           '• Temp. zewn.: ' + tz + '°C, Temp. wewn.: ' + tin + '°C\n\n' +
                           'WYNIKI Z KALKULATORA:\n' +
                           '• Całkowita strata okna: ' + totalLoss + '\n' +
                           '• Wymagana moc w strefie: ' + power + ' W/m²\n' +
                           '• Sugerowany rozstaw rur: ' + spacing + '\n' +
                           '• Zapotrzebowanie na rurę: ' + pipe + ' mb (' + loops + ' pętli)\n\n' +
                           'Proszę o kontakt w sprawie wyceny profesjonalnego projektu instalacji.';
            
            var ampersand = String.fromCharCode(38);           
            window.location.href = 'mailto:' + email + '?subject=' + subject + ampersand + 'body=' + encodeURIComponent(bodyText);
        });
    }

    updateCalc();
});
</script>



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

.premium-table-section {
    max-width: 1150px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    padding: 0 20px;
}

.table-text-content {
    max-width: 800px;
    margin: 0 auto 30px auto;
    text-align: center;
}

.table-text-content h2 {
    font-size: 28px;
    font-weight: 800;
    margin: 0 0 15px 0;
    color: var(--primary);
}

.table-text-content p {
    color: #475569;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 0;
}

/* KARTA WZORU */
.formula-card {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid #f1f5f9;
    padding: 30px;
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.math-formula {
    background: #eff6ff;
    padding: 20px 40px;
    border-radius: 16px;
    font-size: 22px;
    font-weight: 700;
    color: var(--accent);
    display: inline-flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    border: 2px dashed #bfdbfe;
}

.math-fraction {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    vertical-align: middle;
}

.math-numerator {
    border-bottom: 3px solid var(--accent);
    padding: 0 10px 5px 10px;
}

.math-denominator {
    padding: 5px 10px 0 10px;
}

.variables-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    width: 100%;
    max-width: 800px;
}

.var-item {
    background: var(--bg-light);
    padding: 12px 15px;
    border-radius: 12px;
    font-size: 14px;
    color: #475569;
    display: flex;
    align-items: center;
}

.var-item strong {
    color: var(--primary);
    font-size: 16px;
    min-width: 40px;
    display: inline-block;
}

/* TABELA */
.table-container {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid #f1f5f9;
    overflow: hidden;
    margin-bottom: 30px;
}

.premium-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

.premium-table thead {
    background: var(--bg-light);
    border-bottom: 2px solid #e2e8f0;
}

.premium-table th {
    padding: 20px;
    text-align: left;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 0.5px;
}

.premium-table tbody tr {
    border-bottom: 1px solid #f1f5f9;
    transition: background-color 0.2s ease;
}

.premium-table tbody tr:last-child {
    border-bottom: none;
}

.premium-table tbody tr:hover {
    background-color: #f8fafc;
}

.premium-table td {
    padding: 20px;
    font-size: 15px;
    color: #475569;
    vertical-align: middle;
}

.premium-table td:nth-child(2),
.premium-table td:nth-child(3) {
    font-weight: 700;
    color: var(--primary);
}

.row-title-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}

.row-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: var(--bg-light);
    border-radius: 10px;
    font-size: 18px;
    border: 1px solid #e2e8f0;
    flex-shrink: 0;
    font-weight: normal;
}

.table-outro {
    background: #f8fafc;
    padding: 25px 30px;
    border-radius: 16px;
    border-left: 4px solid var(--success);
    color: #334155;
    font-size: 15px;
    line-height: 1.6;
}

.calc-example {
    background: #ffffff;
    padding: 15px;
    border-radius: 10px;
    font-family: monospace;
    font-size: 14px;
    color: var(--accent);
    margin-top: 15px;
    border: 1px solid #e2e8f0;
}

/* --- RESPONSYWNOŚĆ (MOBILE) --- */
@media (max-width: 768px) {
    .premium-table-section { padding: 0 15px; }
    .variables-grid { grid-template-columns: 1fr; }
    .math-formula { flex-direction: column; font-size: 18px; padding: 15px; text-align: center; }
    
    .table-container { background: transparent; box-shadow: none; border: none; }
    .premium-table thead { display: none; }
    .premium-table, .premium-table tbody, .premium-table tr, .premium-table td { display: block; width: 100%; }
    
    .premium-table tr {
        background: #ffffff;
        margin-bottom: 20px;
        border-radius: 16px;
        box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.08);
        border: 1px solid #f1f5f9;
        overflow: hidden;
    }

    .premium-table td {
        padding: 15px 20px 15px 45%;
        text-align: right;
        position: relative;
        border-bottom: 1px solid #f1f5f9;
        font-size: 14px;
        min-height: 50px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    .premium-table td:first-child {
        padding: 20px;
        text-align: left;
        justify-content: flex-start;
        background: var(--bg-light);
        border-bottom: 2px solid #e2e8f0;
    }

    .premium-table td:last-child { border-bottom: none; }

    .premium-table td:not(:first-child)::before {
        content: attr(data-label);
        position: absolute;
        left: 20px;
        width: 40%;
        text-align: left;
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
        color: #94a3b8;
        display: flex;
        align-items: center;
        height: 100%;
        top: 0;
    }
}
</style>

<div class="premium-table-section" id="premium-table-power">
    
    <div class="table-text-content">
        <h2>Jak obliczyć wymaganą moc podłogi?</h2>
        <p>Skorzystaj z poniższego wzoru, aby dokładnie ustalić, ile ciepła musi wygenerować podłoga w strefie brzegowej. <br><br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Opracowanie autorskie: Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="formula-card">
        <div class="math-formula">
            <span>Q<sub>pas</sub> =</span>
            <div class="math-fraction">
                <span class="math-numerator">U · (T<sub>w</sub> - T<sub>z</sub>) · H · 1,3</span>
                <span class="math-denominator">S</span>
            </div>
        </div>

        <div class="variables-grid">
            <div class="var-item"><strong>U</strong> współczynnik przenikania okna (W/m²K)</div>
            <div class="var-item"><strong>T<sub>w</sub></strong> temperatura wewnętrzna (np. 22°C)</div>
            <div class="var-item"><strong>T<sub>z</sub></strong> temperatura zewn. (dla lokalizacji, np. -16°C)</div>
            <div class="var-item"><strong>H</strong> wysokość okna (w metrach)</div>
            <div class="var-item"><strong>1,3</strong> stały współczynnik spływu powietrza (bryzy)</div>
            <div class="var-item"><strong>S</strong> szerokość pasa przyokiennego (zazwyczaj 1,0–1,5 m)</div>
        </div>
    </div>

    <div class="table-container">
        <table class="premium-table">
            <thead>
                <tr>
                    <th>Rozstaw rur (cm)</th>
                    <th>Moc podłogi (W/m²) przy ΔT = 8°C</th>
                    <th>Moc podłogi (W/m²) przy ΔT = 10°C</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td data-label="Rozstaw rur (cm)">
                        <div class="row-title-wrap">
                            <div class="row-icon">📏</div>
                            <strong>7,5 cm</strong>
                        </div>
                    </td>
                    <td data-label="Moc (ΔT = 8°C)">180–200 W/m²</td>
                    <td data-label="Moc (ΔT = 10°C)">220–250 W/m²</td>
                </tr>
                <tr>
                    <td data-label="Rozstaw rur (cm)">
                        <div class="row-title-wrap">
                            <div class="row-icon">📏</div>
                            <strong>10 cm</strong>
                        </div>
                    </td>
                    <td data-label="Moc (ΔT = 8°C)">140–160 W/m²</td>
                    <td data-label="Moc (ΔT = 10°C)">170–200 W/m²</td>
                </tr>
                <tr>
                    <td data-label="Rozstaw rur (cm)">
                        <div class="row-title-wrap">
                            <div class="row-icon">📏</div>
                            <strong>12,5 cm</strong>
                        </div>
                    </td>
                    <td data-label="Moc (ΔT = 8°C)">110–130 W/m²</td>
                    <td data-label="Moc (ΔT = 10°C)">140–160 W/m²</td>
                </tr>
                <tr>
                    <td data-label="Rozstaw rur (cm)">
                        <div class="row-title-wrap">
                            <div class="row-icon">📏</div>
                            <strong>15 cm</strong>
                        </div>
                    </td>
                    <td data-label="Moc (ΔT = 8°C)">90–110 W/m²</td>
                    <td data-label="Moc (ΔT = 10°C)">110–130 W/m²</td>
                </tr>
                <tr>
                    <td data-label="Rozstaw rur (cm)">
                        <div class="row-title-wrap">
                            <div class="row-icon">📏</div>
                            <strong>20 cm</strong>
                        </div>
                    </td>
                    <td data-label="Moc (ΔT = 8°C)">65–80 W/m²</td>
                    <td data-label="Moc (ΔT = 10°C)">80–100 W/m²</td>
                </tr>
                <tr>
                    <td data-label="Rozstaw rur (cm)">
                        <div class="row-title-wrap">
                            <div class="row-icon">📏</div>
                            <strong>25 cm</strong>
                        </div>
                    </td>
                    <td data-label="Moc (ΔT = 8°C)">50–65 W/m²</td>
                    <td data-label="Moc (ΔT = 10°C)">60–80 W/m²</td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="table-outro">
        <strong>Praktyczny przykład kalkulacji:</strong><br>
        Mamy okno o parametrach: <strong>U = 0,9</strong>, Temp. wewnętrzna <strong>(T<sub>w</sub>) = 22°C</strong>, Temp. zewnętrzna <strong>(T<sub>z</sub>) = -16°C</strong>, Wysokość okna <strong>(H) = 2,2 m</strong>, Szerokość pasa <strong>(S) = 1,2 m</strong>.
        
        <div class="calc-example">
            Q<sub>pas</sub> = (0,9 * 38 * 2,2 * 1,3) / 1,2<br><br>
            1. Różnica temp: 22 - (-16) = 38°C<br>
            2. Strata bazowa: 0,9 * 38 * 2,2 = 75,24 W/mb<br>
            3. Efekt bryzy (+30%): 75,24 * 1,3 = 97,8 W/mb<br>
            4. Podział na pas 1,2m: 97,8 / 1,2 = <strong>81,5 W/m²</strong>
        </div>
        
        <br><strong>Wniosek:</strong> Zaglądając do tabeli dla różnicy ΔT = 8°C, widzimy, że wynik 81,5 W/m² idealnie wpasowuje się w <strong>rozstaw rur 15 cm</strong> (który generuje 90–110 W/m²).
    </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)) {
        document.getElementById('premium-table-power').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; border-radius: 20px;">
                <span style="font-size: 48px; margin-bottom: 20px;">🔒</span>
                <h3 style="margin-top:0; font-size: 24px;">Treść chroniona prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Ten wzór i tabele są własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i zostały wklejone na tę stronę bez zgody autora.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
    }
});
</script>



<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

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

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

.chart-header {
    padding: 30px 40px 20px 40px;
    border-bottom: 1px solid #f1f5f9;
}

.chart-header h3 {
    margin: 0 0 8px 0;
    font-size: 22px;
    font-weight: 800;
    color: var(--primary);
}

.chart-header p {
    margin: 0;
    font-size: 14px;
    color: #64748b;
    font-weight: 500;
}

.chart-canvas-wrapper {
    padding: 30px 40px;
    position: relative;
    height: 420px;
    width: 100%;
}

.chart-footer {
    padding: 25px 40px;
    background: var(--bg-light);
    border-top: 1px solid #f1f5f9;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.chart-icon {
    font-size: 24px;
    line-height: 1;
}

.chart-conclusion {
    margin: 0;
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
}

.chart-conclusion strong {
    color: var(--danger);
}

.chart-conclusion .text-accent { color: var(--accent); font-weight: 700; }
.chart-conclusion .text-success { color: var(--success); font-weight: 700; }

@media (max-width: 600px) {
    .chart-header, .chart-canvas-wrapper, .chart-footer {
        padding: 20px;
    }
    .chart-canvas-wrapper {
        height: 350px;
    }
}
</style>

<div class="premium-chart-box" id="chart-app-container">
    <div class="chart-header">
        <h3>Wpływ rozstawu rur na temperaturę podłogi przy oknie</h3>
        <p>Parametry: Temp. wody 35°C | Temp. wewn. 22°C | Pokrycie: Gres 1 cm <br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Analiza przygotowana przez Projekt-Ogrzewania.pl</a></p>
    </div>
    
    <div class="chart-canvas-wrapper">
        <canvas id="screedHeatingChart"></canvas>
    </div>
    
    <div class="chart-footer">
        <div class="chart-icon">💡</div>
        <p class="chart-conclusion">
            <strong>Wniosek z wykresu:</strong> Bez zagęszczenia (Krzywa A) strefa 0–50 cm od okna jest zbyt zimna (poniżej 22°C), co wywołuje uczucie przeciągu. <span class="text-accent">Zagęszczenie do 10 cm (Krzywa B)</span> podnosi temperaturę do komfortowych 26°C. Zastosowanie <span class="text-success">konwektora kanałowego (Krzywa C)</span> odcina chłód szybciej, pozwalając na utrzymanie niższej temperatury samej posadzki (23°C).
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // ZABEZPIECZENIE DOMENOWE (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('chart-app-container').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px;">
                <span style="font-size: 48px; margin-bottom: 20px;">🔒</span>
                <h3 style="margin-top:0; font-size: 24px;">Wykres chroniony prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Ten interaktywny wykres jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został skopiowany na tę stronę nielegalnie.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
        return; 
    }

    // JEŚLI DOMENA SIĘ ZGADZA - RYSUJEMY WYKRES
    const canvasEl = document.getElementById('screedHeatingChart');
    if(!canvasEl) return; 
    
    const ctx = canvasEl.getContext('2d');
    
    // Oś X: Odległość od okna w centymetrach
    const distances = [0, 10, 30, 50, 70, 100, 120, 150];
    
    // Krzywa A (Rozstaw 20 cm) - Zbyt zimno przy oknie
    const tempA = [20.2, 21.0, 22.1, 23.0, 23.6, 24.0, 24.0, 24.0];
    
    // Krzywa B (Rozstaw 10 cm, pas 1,2 m) - Komfort
    const tempB = [26.0, 25.8, 25.3, 24.8, 24.4, 24.0, 24.0, 24.0];
    
    // Krzywa C (Konwektor + rozstaw 10 cm) - Optymalnie z konwektorem
    const tempC = [23.0, 23.3, 23.6, 23.8, 24.0, 24.0, 24.0, 24.0];

    // Granica komfortu stała 22 stopnie
    const limitLine = [22, 22, 22, 22, 22, 22, 22, 22];

    new Chart(ctx, {
        type: 'line',
        data: {
            labels: distances.map(d => d + ' cm'),
            datasets: [
                {
                    label: 'Krzywa B (Rozstaw 10 cm w pasie 1,2m)',
                    data: tempB,
                    borderColor: '#2563eb', 
                    backgroundColor: '#2563eb',
                    borderWidth: 3,
                    fill: false,
                    tension: 0.4,
                    pointBackgroundColor: '#ffffff',
                    pointBorderColor: '#2563eb',
                    pointBorderWidth: 2,
                    pointRadius: 5,
                    pointHoverRadius: 7
                },
                {
                    label: 'Krzywa C (Rozstaw 10 cm + Konwektor)',
                    data: tempC,
                    borderColor: '#16a34a', 
                    backgroundColor: '#16a34a',
                    borderWidth: 3,
                    fill: false,
                    tension: 0.4,
                    pointBackgroundColor: '#ffffff',
                    pointBorderColor: '#16a34a',
                    pointBorderWidth: 2,
                    pointRadius: 5,
                    pointHoverRadius: 7
                },
                {
                    label: 'Krzywa A (Standard 20 cm - Brak strefy)',
                    data: tempA,
                    borderColor: '#ea580c', 
                    backgroundColor: '#ea580c',
                    borderWidth: 3,
                    fill: false,
                    tension: 0.4,
                    pointBackgroundColor: '#ffffff',
                    pointBorderColor: '#ea580c',
                    pointBorderWidth: 2,
                    pointRadius: 5,
                    pointHoverRadius: 7
                },
                {
                    label: 'Granica komfortu cieplnego (22°C)',
                    data: limitLine,
                    borderColor: '#94a3b8',
                    borderWidth: 2,
                    borderDash: [5, 5],
                    fill: false,
                    pointRadius: 0,
                    pointHoverRadius: 0
                }
            ]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            plugins: {
                legend: {
                    display: true,
                    position: 'top',
                    labels: {
                        font: { family: 'Inter', size: 12, weight: '600' },
                        color: '#475569',
                        usePointStyle: true,
                        padding: 15
                    }
                },
                tooltip: {
                    backgroundColor: '#0f172a',
                    titleFont: { family: 'Inter', size: 13, weight: 'bold' },
                    bodyFont: { family: 'Inter', size: 13 },
                    padding: 12,
                    displayColors: true,
                    callbacks: {
                        title: function(context) {
                            return 'Odległość od okna: ' + context[0].label;
                        },
                        label: function(context) {
                            let val = context.parsed.y;
                            return context.dataset.label.split(' (')[0] + ': ' + val.toFixed(1) + ' °C';
                        }
                    }
                }
            },
            scales: {
                x: {
                    grid: {
                        display: false
                    },
                    ticks: {
                        font: { family: 'Inter', size: 12, weight: '500' },
                        color: '#64748b'
                    },
                    title: {
                        display: true,
                        text: 'Odległość od szyby (cm)',
                        font: { family: 'Inter', size: 13, weight: 'bold' },
                        color: '#0f172a',
                        padding: {top: 10}
                    }
                },
                y: {
                    min: 19,
                    max: 27,
                    grid: {
                        color: '#f1f5f9',
                        drawBorder: false
                    },
                    ticks: {
                        stepSize: 1,
                        font: { family: 'Inter', size: 12 },
                        color: '#64748b',
                        callback: function(value) {
                            return value + ' °C';
                        }
                    },
                    title: {
                        display: true,
                        text: 'Temperatura powierzchni',
                        font: { family: 'Inter', size: 13, weight: 'bold' },
                        color: '#0f172a',
                        padding: {bottom: 10}
                    }
                }
            }
        }
    });
});
</script>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego w kontekście dużych przeszkleń.</h2>



<p class="wp-block-paragraph"><em><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" type="link" id="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt ogrzewania podłogowego</a> do domu z dużymi przeszkleniami</em> nie może być traktowany jak zwykła instalacja. Wymaga <strong>holistycznego spojrzenia</strong> od izolacji fundamentów, przez dobór okien, aż po sterowanie. W mojej praktyce najczęstszym błędem jest kopiowanie standardowego rozstawu rur (15–20 cm) bez uwzględnienia strefy brzegowej. Prowadzi to do wiecznych reklamacji: <em>„przy oknach jest zimno, a w środku duszno”</em>. Prawidłowy projekt to taki, w którym:</p>



<ul class="wp-block-list">
<li>Wykonuje się&nbsp;<strong>obliczenia strat liniowych</strong>&nbsp;dla każdego przeszklenia z osobna.</li>



<li>Projektuje się&nbsp;<strong>minimum dwa obwody na pomieszczenie</strong>&nbsp;– główny i przyokienny.</li>



<li>Stosuje się&nbsp;<strong>zmienne rozstawy</strong>&nbsp;– gęstsze przy oknach, rzadsze w głębi.</li>



<li>Uwzględnia się&nbsp;<strong>rodzaj podłogi</strong>&nbsp;– przy drewnie lub dywanie konieczny konwektor.</li>



<li>Instaluje się&nbsp;<strong>czujniki temperatury</strong>&nbsp;w posadzce przy oknie lub na szybie.</li>
</ul>



<p class="wp-block-paragraph">Przykład zrealizowanego projektu: dom pasywny w okolicy Poznania, salon z oknami 6 × 2,5 m (U=0,7). Obliczenia wykazały stratę 65 W/mb. Zastosowano pas o szerokości 1,2 m z rurą co 12,5 cm (co dało 125 W/m² w pasie, czyli 150 W/mb – zapas). Dodatkowo izolacja XPS 15 cm pod pasem. Efekt: przy -18°C na zewnątrz temperatura podłogi przy szybie wynosiła 24°C, a powietrza 21,5°C – brak przeciągu. Inwestor zadowolony.</p>



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

.premium-questions {
    max-width: 1000px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
}

.qa-header {
    text-align: center;
    margin-bottom: 40px;
}

.qa-header h2 {
    font-size: 32px;
    font-weight: 900;
    color: var(--primary);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.qa-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #475569;
    max-width: 700px;
    margin: 0 auto;
}

.qa-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.qa-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s, box-shadow 0.2s;
}

.qa-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    border-color: #cbd5e1;
}

.question-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--primary);
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--bg-light);
    display: flex;
    gap: 15px;
}

.q-number {
    background: var(--primary);
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

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

.answer-box {
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid;
}

.answer-bad {
    background: #fef2f2;
    border-color: var(--danger);
}

.answer-good {
    background: #f0fdf4;
    border-color: var(--success);
}

.answer-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.answer-bad .answer-label { color: var(--danger); }
.answer-good .answer-label { color: var(--success); }

.answer-text {
    font-size: 15px;
    line-height: 1.6;
    color: #334155;
    margin: 0;
    font-style: italic;
}

.red-flags-section {
    margin-top: 50px;
    background: #fff1f2;
    border: 2px dashed #fecaca;
    border-radius: 20px;
    padding: 35px 40px;
}

.red-flags-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.red-flags-header h3 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    color: #9f1239;
}

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

.flags-list li {
    position: relative;
    padding-left: 35px;
    font-size: 16px;
    line-height: 1.5;
    color: #7f1d1d;
    font-weight: 600;
}

.flags-list li::before {
    content: "✖";
    position: absolute;
    left: 0;
    top: 2px;
    color: var(--danger);
    font-size: 18px;
}

@media (max-width: 768px) {
    .answers-grid { grid-template-columns: 1fr; gap: 15px; }
    .qa-card { padding: 20px; }
    .question-title { font-size: 18px; line-height: 1.4; }
    .red-flags-section { padding: 25px 20px; }
    .red-flags-header h3 { font-size: 20px; }
}
</style>

<div class="premium-questions" id="qa-app-installer">
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [{
        "@type": "Question",
        "name": "Jak układać rury przy dużych oknach tarasowych?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Należy wyznaczyć tzw. strefę brzegową (zwykle pas 1-1,5 m od okna) i zagęścić tam rozstaw rur do 10, a nawet 7,5 cm, aby zrekompensować spływ zimnego powietrza od szyby."
        }
      }, {
        "@type": "Question",
        "name": "Czy strefa przy oknie może być na jednym obwodzie z resztą salonu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Przy dużych oknach strefa brzegowa musi być na oddzielnym obwodzie. Dzięki temu możemy podać tam wyższy przepływ lub niezależnie nią sterować, unikając przegrzewania środka salonu."
        }
      }, {
        "@type": "Question",
        "name": "Co z izolacją pod wylewką przy samym oknie?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Strefa przy progu to mostek termiczny. Należy zastosować twardszy styrodur (XPS) i zwiększyć jego grubość (np. do 15-20 cm), aby zminimalizować ucieczkę ciepła na zewnątrz."
        }
      }, {
        "@type": "Question",
        "name": "Jakie wykończenie podłogi zaplanować przy oknie panoramicznym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Przy samym oknie najlepiej zastosować materiał o bardzo niskim oporze cieplnym – gres lub kamień. Drewno mocno blokuje ciepło, co przy zagęszczonych rurach może grozić uszkodzeniem."
        }
      }, {
        "@type": "Question",
        "name": "Jak sterować temperaturą przy tak dużych przeszkleniach?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Sam termostat to za mało, bo strefa przy szybie wychładza się szybciej. Najlepiej zastosować czujnik przypowierzchniowy (podłogowy lub na szybie), który natychmiast uruchomi obwód brzegowy przy spadku temperatury szyby."
        }
      }]
    }
    </script>
    <div class="qa-header">
        <h2>🏗️ 5 pytań weryfikujących wykonawcę podłogówki przy oknach</h2>
        <p>Duże przeszklenia nie wybaczają błędów instalacyjnych. Oto lista pytań, które pomogą ocenić, czy Twój instalator zna fizykę budowli i wie, co robi. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Pytania rekrutacyjne przygotowane przez inżynierów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="qa-list">
        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">1</span> „Jak układać rury przy dużych oknach tarasowych?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Panie, dajemy wszędzie standardowo co 15 cm i będzie dobrze, podłoga to podłoga”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Należy wyznaczyć tzw. strefę brzegową (pas 1-1,5 m od okna) i zagęścić tam rozstaw rur do 10, a nawet 7,5 cm, aby zrekompensować spływ zimnego powietrza od szyby”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">2</span> „Czy strefa przy oknie może być na jednym obwodzie z resztą salonu?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Jasne, nie ma sensu marnować wyjść na rozdzielaczu, podepniemy wszystko w jedną długą pętlę”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Przy dużych oknach strefa brzegowa powinna być na oddzielnym obwodzie. Dzięki temu możemy podać tam wyższy przepływ lub niezależnie nią sterować, bez przegrzewania środka salonu”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">3</span> „Co z izolacją pod wylewką przy samym oknie?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Dajemy standardowy styropian EPS 10 cm, tak jak na całym parterze”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Strefa przy progu okiennym to mostek termiczny. Należy zastosować twardszy XPS i zwiększyć jego grubość (np. do 15-20 cm), aby uciąć ucieczkę ciepła na zewnątrz”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">4</span> „Jakie wykończenie podłogi zaplanować w strefie brzegowej?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Dębowa deska będzie wyglądać pięknie i na pewno będzie przy niej ciepło w stopy”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Przy oknie najlepiej zastosować materiał o bardzo niskim oporze cieplnym – gres lub kamień. Drewno izoluje, co przy zagęszczonych rurach strefy brzegowej może grozić spękaniami”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">5</span> „Jak sterować temperaturą przy tak dużych przeszkleniach?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Zwykły termostat ścienny umieszczony w korytarzu lub w głębi salonu w zupełności wystarczy”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Sam termostat to za mało, bo strefa przy szybie wychładza się błyskawicznie. Najlepiej zastosować czujnik przypowierzchniowy (podłogowy lub na szybie), by szybciej uruchamiać obwód brzegowy”.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="red-flags-section">
        <div class="red-flags-header">
            <span style="font-size: 32px;">🚩</span>
            <h3>Czerwone flagi (Uciekaj, jeśli to usłyszysz!)</h3>
        </div>
        <ul class="flags-list">
            <li>„Ogrzewanie podłogowe wystarczy w 100% nawet przy oknie do sufitu i podłodze z deski dębowej.” (W takich sytuacjach konieczny jest konwektor kanałowy).</li>
            <li>„Nie trzeba liczyć strat dla samego okna, zrobimy pętle na oko, średnią z całego salonu.”</li>
            <li>„Projektant tylko wymyśla obwody brzegowe, a my puścimy tu po prostu jedną, wielką wężownicę na cały dom.”</li>
        </ul>
    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x5c8f=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x71\x61\x2d\x61\x70\x70\x2d\x69\x6e\x73\x74\x61\x6c\x6c\x65\x72','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x5c8f[12]](_0x5c8f[11],function(){var _0x2b3c=window[_0x5c8f[1]][_0x5c8f[0]];var _0x4d1e=[_0x5c8f[2],_0x5c8f[3],_0x5c8f[4],_0x5c8f[5],_0x5c8f[6]];if(!_0x4d1e[_0x5c8f[7]](_0x2b3c)){document[_0x5c8f[10]](_0x5c8f[8])[_0x5c8f[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();
</script>



<h2 class="wp-block-heading"><strong>Podsumowanie praktycznych zasad dla projektanta i inwestora</strong>.</h2>



<ol start="1" class="wp-block-list">
<li><strong>Zawsze licz straty przez okno</strong>&nbsp;– nie ufaj domniemaniom. Wzór w kalkulatorze powyżej jest prosty i wystarczający.</li>



<li><strong>Przyjmij szerokość strefy przyokiennej</strong>&nbsp;minimum 1,0 m, optymalnie 1,2–1,5 m. Dla okien od podłogi – 1,5 m.</li>



<li><strong>Rozstaw rur w tej strefie</strong>&nbsp;wybierz z tabeli – najczęściej 10–15 cm. Nie bój się 7,5 cm przy bardzo dużych wysokościach (powyżej 2,8 m).</li>



<li><strong>Oddzielny obwód</strong>&nbsp;dla każdej strefy przyokiennej dłuższej niż 4 m. Dla krótszych można połączyć, ale z zachowaniem zagęszczenia.</li>



<li><strong>Izolacja</strong>&nbsp;– w pasie przyokiennym zwiększ grubość i użyj XPS. Nie oszczędzaj na detalu za 200 zł, bo stracisz komfort.</li>



<li><strong>Pokrycie</strong>&nbsp;– w pasie przyokiennym wyłącznie płytki lub kamień. Drewno i dywan to proszenie się o kłopoty.</li>



<li><strong>Sterowanie</strong>&nbsp;– czujnik podłogowy w strefie przyokiennej to standard. W domach premium – czujnik szyby.</li>
</ol>



<p class="wp-block-paragraph">Pamiętaj, że&nbsp;<em>projekt ogrzewania podłogowego do domu z dużymi przeszkleniami</em>&nbsp;to nie tylko rysunek rozstawu rur. To także decyzje o izolacji, oknach, wentylacji (rekuperacja pomaga w równomiernym rozprowadzeniu ciepła). Traktuj strefę przy oknach jak&nbsp;<strong>specjalną krainę termiczną</strong>&nbsp;– rządzącą się własnymi prawami. Zastosuj opisane wyżej techniki, a nawet przy mrozie -20°C będziesz chodził boso wzdłuż panoramicznych szyb. I o to właśnie chodzi.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-do-domu-z-duzymi-przeszkleniami-jak-poradzic-sobie-ze-strefa-przy-oknach/">Projekt ogrzewania podłogowego do domu z dużymi przeszkleniami  jak poradzić sobie ze strefą przy oknach?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Czym jest bezwładność cieplna w ogrzewaniu podłogowym?</title>
		<link>https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Wed, 17 Dec 2025 19:37:24 +0000</pubDate>
				<category><![CDATA[Automatyka grzewcza]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Fizyka budowli]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Komfort cieplny]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Pompy ciepła]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Sterowanie ogrzewaniem]]></category>
		<category><![CDATA[automatyka pogodowa]]></category>
		<category><![CDATA[bezwładność cieplna]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[jastrych]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt instalacji]]></category>
		<category><![CDATA[sterowanie ogrzewaniem]]></category>
		<category><![CDATA[wylewka betonowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2965</guid>

					<description><![CDATA[<p>Bezwładność cieplna to jeden z najczęściej niezrozumianych aspektów ogrzewania podłogowego, a jednocześnie klucz do jego komfortu i efektywności. W artykule wyjaśniamy, czym jest bezwładność cieplna w ogrzewaniu podłogowym, skąd się bierze i jak wpływa na codzienne użytkowanie instalacji. Pokazujemy, dlaczego podłogówka reaguje wolniej niż grzejniki, jaką rolę odgrywa wylewka, materiały wykończeniowe oraz automatyka i w jaki sposób świadome sterowanie pozwala zamienić pozorną wadę w realną przewagę energetyczną.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">Czym jest bezwładność cieplna 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>Bezwładność cieplna w ogrzewaniu podłogowym</strong> to fundamentalna cecha fizyczna, która decyduje o charakterystyce pracy, komforcie użytkowania i efektywności całego systemu. W dużym uproszczeniu, jest to właściwość polegająca na powolnym nagrzewaniu i jeszcze wolniejszym stygnięciu masywnej konstrukcji podłogi. To zjawisko, które wynika bezpośrednio z praw termodynamiki i pojemności cieplnej materiałów, takich jak betonowa wylewka, stanowiąca serce wodnej instalacji grzewczej. Zrozumienie mechanizmów rządzących <strong>bezwładnością termiczną</strong> jest niezbędne do prawidłowego zaprojektowania, wykonania, a przede wszystkim – <a href="https://projekt-ogrzewania.pl/category/sterowanie-ogrzewaniem/">sterowania ogrzewaniem podłogowym</a>, aby w pełni wykorzystać jego potencjał i uniknąć kosztownych błędów eksploatacyjnych.</p>



<h2 class="wp-block-heading">Fizyka stojąca za bezwładnością termiczną: Magazyn energii cieplnej.</h2>



<p class="wp-block-paragraph">Aby w pełni zrozumieć,&nbsp;<strong>czym jest bezwładność cieplna w ogrzewaniu podłogowym</strong>, należy odwołać się do podstawowych pojęć fizycznych. Kluczowym parametrem jest&nbsp;<strong>pojemność cieplna właściwa</strong>&nbsp;materiału, czyli ilość energii potrzebna do podniesienia temperatury 1 kg tej substancji o 1 stopień Kelvina. Im wyższa ta wartość, tym więcej ciepła materiał może &#8222;zaabsorbować&#8221; i później oddawać.</p>



<h3 class="wp-block-heading">Konstrukcja podłogi jako akumulator.</h3>



<p class="wp-block-paragraph">Wodne ogrzewanie podłogowe to nie tylko <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rury</a> z ciepłą wodą. To złożony &#8222;tort&#8221; warstwowy, z których każda ma wpływ na dynamikę systemu. Głównym magazynem ciepła jest:</p>



<ul class="wp-block-list">
<li><strong>Jastrych (wylewka) betonowy</strong>: Standardowa warstwa o grubości 5-8 cm i gęstości ok. 2000 kg/m³ ma ogromną masę i znaczną pojemność cieplną. To właśnie ona nadaje systemowi charakterystyczną <strong>dużą bezwładność</strong>.</li>



<li><strong>Warstwa wykończeniowa</strong>: Płytki ceramiczne lub kamienne współpracują z jastrychem, zwiększając efekt akumulacji. Drewno i panele laminowane mają znacznie mniejszą pojemność cieplną.</li>



<li><strong>Izolacja termiczna</strong>: Choć jej głównym zadaniem jest kierowanie ciepła w górę, to również wpływa na dynamikę, spowalniając niepożądane oddawanie ciepła w dół.</li>
</ul>



<p class="wp-block-paragraph">Proces nagrzewania takiej masywności jest powolny. Ciepło z wody w rurach musi zostać przewiedzione przez ściankę rury, następnie do otulającego ją betonu, by w końcu, przez warstwę wykończeniową, dotrzeć do pomieszczenia. Cały ten proces może trwać kilkanaście godzin od momentu uruchomienia źródła ciepła.</p>



<h2 class="wp-block-heading">Czynniki kształtujące poziom bezwładności w instalacji.</h2>



<p class="wp-block-paragraph">Nie każda podłogówka reaguje tak samo. Na&nbsp;<strong>stopień bezwładności systemu</strong>&nbsp;wpływa szereg czynników, które można (i należy) modyfikować już na etapie projektu.</p>



<h3 class="wp-block-heading">Grubość i rodzaj jastrychu.</h3>



<ul class="wp-block-list">
<li><strong>Grubsza wylewka (np. 8-10 cm)</strong> = większa masa = <strong>większa bezwładność cieplna</strong> i dłuższy czas reakcji.</li>



<li><strong>Cieńsza wylewka (np. 4-5 cm)</strong> lub systemy suche (płyty gipsowo-włóknowe z kanałami na rury) = mniejsza masa = <strong>mniejsza bezwładność</strong>, szybsze nagrzewanie i chłodzenie.</li>
</ul>



<h3 class="wp-block-heading">Materiał wykończeniowy podłogi.</h3>



<p class="wp-block-paragraph">Poniższa tabela ilustruje wpływ różnych materiałów na charakterystykę oddawania ciepła i bezwładność systemu:</p>



<style>
.table-responsive {
  width: 100%;
  overflow-x: auto;
  margin: 20px 0;
}

.table-responsive table {
  width: 100%;
  border-collapse: collapse;
  min-width: 700px;
  font-size: 15px;
}

.table-responsive th,
.table-responsive td {
  padding: 12px 14px;
  border: 1px solid #e0e0e0;
  text-align: left;
  vertical-align: top;
}

.table-responsive th {
  background-color: #f5f5f5;
  font-weight: 600;
}

.table-responsive tr:nth-child(even) {
  background-color: #fafafa;
}

/* Mobile tweaks */
@media (max-width: 768px) {
  .table-responsive table {
    font-size: 14px;
  }
}
</style>

<div class="table-responsive">
  <table>
    <thead>
      <tr>
        <th>Materiał wykończeniowy</th>
        <th>Przewodność cieplna (λ) [W/mK]</th>
        <th>Pojemność cieplna</th>
        <th>Wpływ na bezwładność systemu</th>
        <th>Czas reakcji</th>
        <th>Komfort cieplny</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><strong>Płytki ceramiczne / kamień</strong></td>
        <td>Wysokie (ok. 1.0–1.5)</td>
        <td>Duża</td>
        <td>Zwiększa (współpracuje z jastrychem)</td>
        <td>Dłuższy</td>
        <td>Doskonały, równomierne ciepło</td>
      </tr>
      <tr>
        <td><strong>Panele winylowe (LVT)</strong></td>
        <td>Średnie</td>
        <td>Mała</td>
        <td>Neutralny / lekko redukuje</td>
        <td>Średni</td>
        <td>Dobry</td>
      </tr>
      <tr>
        <td><strong>Drewno lite</strong></td>
        <td>Niskie (ok. 0.15–0.25)</td>
        <td>Średnia</td>
        <td>Zmniejsza (działa jako izolator)</td>
        <td>Krótszy</td>
        <td>Ciepłe w dotyku, wolniejsze oddawanie</td>
      </tr>
      <tr>
        <td><strong>Wykładzina dywanowa</strong></td>
        <td>Bardzo niskie</td>
        <td>Mała</td>
        <td>Znacznie zmniejsza (izoluje!)</td>
        <td>Znacznie krótszy</td>
        <td>Powierzchnia przyjemna, ale blokuje ciepło</td>
      </tr>
    </tbody>
  </table>
</div>




<h3 class="wp-block-heading">Parametry pracy źródła ciepła i instalacji.</h3>



<ul class="wp-block-list">
<li><strong>Temperatura zasilania</strong>: Niższa temperatura wody (np. 35-40°C) wymaga dłuższego czasu na przekazanie tej samej ilości energii do masywnej podłogi niż woda o temperaturze 50°C.</li>



<li><strong><a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">Rozstaw</a> i głębokość pętli grzewczych</strong>: Gęstszy rozstaw rur (np. 10 cm vs 20 cm) przyspiesza nagrzewanie warstwy akumulacyjnej.</li>
</ul>



<h2 class="wp-block-heading">Bezwładność a sterowanie: Wyzwanie dla nowoczesnej automatyki.</h2>



<p class="wp-block-paragraph">To właśnie w obszarze sterowania&nbsp;<strong>bezwładność termiczna podłogówki</strong>&nbsp;stawia największe wyzwania. Tradycyjne, dwupołoweniowe sterowanie typu &#8222;włącz/wyłącz&#8221; na podstawie wskazań pokojowego termostatu jest tu&nbsp;<strong>skrajnie nieefektywne</strong>.</p>



<h3 class="wp-block-heading">Dlaczego klasyczny termostat zawodzi?</h3>



<p class="wp-block-paragraph">Wyobraźmy sobie, że termostat wyłączy <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompę obiegową</a> w momencie osiągnięcia żądanej temperatury pokojowej. Masywna podłoga jest wtedy gorąca i jeszcze przez wiele godzin oddaje zgromadzone ciepło, prowadząc do <strong>efektu przegrzania</strong>. Gdy temperatura spadnie i termostat znów załączy ogrzewanie, podłoga jest jeszcze ciepła, a na odczuwalny efekt w pomieszczeniu trzeba będzie czekać kolejne godziny – powstają duże wahania temperatury.</p>



<h3 class="wp-block-heading">Optymalne strategie sterowania.</h3>



<p class="wp-block-paragraph">Aby opanować&nbsp;<strong>bezwładność w ogrzewaniu podłogowym</strong>, stosuje się zaawansowane systemy regulacji:</p>



<ol start="1" class="wp-block-list">
<li><strong>Sterowanie pogodowe (z kurtyną czasową)</strong>: To najskuteczniejsza metoda. Sterownik, na podstawie temperatury zewnętrznej i krzywej grzewczej, oblicza wymaganą temperaturę wody zasilającej pętle. Uwzględnia on również <strong>opóźnienie systemu (bezwładność)</strong>. Gdy prognozowany jest spadek temperatury na zewnątrz, sterownik wcześniej zwiększa temperaturę zasilania, aby kompensować spowolnioną reakcję podłogi. Decyzja nie zależy od chwilowej temperatury w pomieszczeniu.</li>



<li><strong>Stała temperatura zasilania z modulacją pompą</strong>: W systemach o dużej bezwładności często utrzymuje się stałą, niską temperaturę w obiegu podłogowym przez cały sezon. Regulacji dokonuje się poprzez załączanie i wyłączanie pompy obiegowej (z płynną modulacją obrotów). Często łączy się to z funkcją <strong>priorytetu bufora</strong> – pompa ciepła ładuje magazyn (bufor), z którego ciepło jest czerpane do podłogówki.</li>



<li><strong>Regulacja proporcjonalno-całkująco-różniczkująca (PID)</strong>: Nowoczesne sterowniki pokojowe z algorytmem PID nie działają w trybie włącz/wyłącz. Antycypują one zmiany, łagodnie modulując pracą, aby utrzymać stałą temperaturę docelową, minimalizując przegrzania i niedogrzania.</li>
</ol>



<h2 class="wp-block-heading">Konsekwencje bezwładności: Mocne strony i ograniczenia systemu.</h2>



<p class="wp-block-paragraph">Zrozumienie&nbsp;<strong>bezwładności cieplnej podłogówki</strong>&nbsp;pozwala świadomie wykorzystać jej zalety i zminimalizować wady.</p>



<h3 class="wp-block-heading">Korzyści wynikające z dużej bezwładności termicznej.</h3>



<ul class="wp-block-list">
<li><strong>Niezrównany komfort cieplny</strong>: Ciepło jest oddawane w sposób niezwykle równomierny, bez odczuwalnych cykli grzania. Brak gorących powiewów i cyrkulacji kurzu.</li>



<li><strong>Idealna współpraca z OZE</strong>: <strong>Ogrzewanie podłogowe o dużej bezwładności</strong> to perfekcyjny partner dla <a href="https://projekt-ogrzewania.pl/category/pompy-ciepla/">pomp ciepła</a>. Umożliwia im długotrwałą, ciągłą pracę z wysokim współczynnikiem COP (efektywności) przy niskich temperaturach zasilania. Podobnie współpracuje z kotłami na paliwa stałe, akumulując ciepło z jednego załadunku.</li>



<li><strong>Możliwość wykorzystania taryf energii</strong>: System można programować tak, aby główny doładowanie termiczne magazynu (podłogi) następowało w czasie trwania tańszej taryfy nocnej/dziennej, a ciepło oddawane było w godzinach szczytu.</li>



<li><strong>Stabilizacja mikroklimatu</strong>: Masywna podłoga działa jak ogromny stabilizator temperatury w pomieszczeniu, tłumiąc krótkotrwałe wahania caused przez nasłonecznienie czy otwarcie drzwi.</li>
</ul>



<h3 class="wp-block-heading">Wyzwania i praktyczne ograniczenia.</h3>



<ul class="wp-block-list">
<li><strong>Brak możliwości szybkiego dogrzania</strong>: To największe praktyczne ograniczenie. Jeśli wracamy do zimnego domu, nie możemy oczekiwać szybkiego wzrostu temperatury. Podłoga potrzebuje czasu. Rozwiązaniem jest odpowiednie <strong>programowanie obniżeń temperatury</strong> (np. o 1-2°C, a nie o 5-6°C) lub zastosowanie dodatkowego, szybko reagującego źródła ciepła (np. grzejnik łazienkowy, klimatyzator).</li>



<li><strong>Ryzyko przegrzania i trudność chłodzenia</strong>: Błąd w sterowaniu może prowadzić do nadmiernego nagrzania masywnej płyty. Jej schłodzenie poprzez naturalne oddawanie ciepła lub wentylację może trwać nawet kilka dni, co jest uciążliwe.</li>



<li><strong>Wysokie wymagania dla automatyki</strong>: Jak opisano wcześniej, wymaga zaawansowanych i często droższych systemów sterowania.</li>



<li><strong>Długi czas uruchomienia systemu na początku sezonu</strong>: Pierwsze nagrzanie wychłodzonej po lecie konstrukcji jest procesem rozłożonym w czasie, wymagającym cierpliwości.</li>
</ul>



<h2 class="wp-block-heading">Projektowanie ogrzewania podłogowego z uwzględnieniem bezwładności cieplnej.</h2>



<p class="wp-block-paragraph"><strong>Kluczowym etapem, w którym kształtuje się przyszły charakter systemu, jest projekt.</strong>&nbsp;To na biurku projektanta zapadają decyzje, które zdeterminują&nbsp;<strong>poziom bezwładności cieplnej</strong>&nbsp;i jej konsekwencje.</p>



<p class="wp-block-paragraph">Dobry <strong><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projekt instalacji podłogowej</a></strong> nie ogranicza się tylko do rozplanowania pętli grzewczych. Musi on <strong>kompleksowo uwzględniać dynamikę całego układu</strong>. Projektant powinien świadomie dobrać:</p>



<ul class="wp-block-list">
<li><strong>Grubość i rodzaj jastrychu</strong> w kontekście oczekiwanego czasu reakcji i przewidywanego źródła ciepła (pompa ciepła -> korzystna duża bezwładność).</li>



<li><strong>Materiały wykończeniowe</strong> – ich opór cieplny jest zawsze brany pod uwagę w obliczeniach mocy grzewczej. Współpraca z inwestorem przy tym wyborze jest kluczowa.</li>



<li><strong>Strategię sterowania</strong> już na etapie koncepcji. Określa się, czy będzie to sterownik pogodowy, czy pokojowy, jak podzielone zostaną strefy grzewcze.</li>



<li><strong>Parametry źródła ciepła</strong> – obliczeniowa temperatura zasilania i powrotu musi być skoordynowana z charakterystyką podłogówki.</li>



<li><strong>Czasy reakcji systemu</strong> – szacuje się je, aby przekazać użytkownikowi realne oczekiwania co do sterowania (np.: &#8222;Obniżenie temperatury dziennej o 2°C będzie wymagało rozpoczęcia nagrzewania 3 godziny przed planowanym powrotem do domu&#8221;).</li>
</ul>



<p class="wp-block-paragraph">Pominięcie analizy&nbsp;<strong>bezwładności w projekcie</strong>&nbsp;prowadzi do najczęstszych problemów eksploatacyjnych: przegrzewania, wrażenia &#8222;niedogrzania&#8221; lub niepotrzebnie wysokich kosztów energii wynikających z walki systemu z samym sobą.</p>



<h2 class="wp-block-heading">Praktyczne wskazówki eksploatacyjne dla systemów o dużej bezwładności</h2>



<p class="wp-block-paragraph">Podsumowując techniczny aspekt, warto sformułować praktyczne zasady postępowania z&nbsp;<strong>bezwładnym ogrzewaniem podłogowym</strong>:</p>



<ol start="1" class="wp-block-list">
<li><strong>Zapomnij o szybkich zmianach</strong>: Nie próbuj gwałtownie podnosić temperatury. Jeśli chcesz cieplej, zwiększ nastawę o 0,5-1°C i poczekaj wiele godzin na pełny efekt.</li>



<li><strong>Inteligentne programowanie</strong>: Używaj funkcji <strong>ogrzewania okresowego</strong> (np. &#8222;nieobecności&#8221;) w sposób przemyślany. Lepiej jest utrzymywać stały, lekko obniżony poziom temperatury (np. 18°C) niż wyłączać ogrzewanie całkowicie, ponieważ ponowne nagrzanie masywu będzie długotrwałe i energochłonne.</li>



<li><strong>Współpraca z innymi źródłami</strong>: W pomieszczeniach, gdzie potrzebna jest szybka reakcja (łazienka), rozważ uzupełnienie systemu o <strong>dodatkowe, szybko reagujące źródło</strong>, takie jak elektryczna mata grzewcza włączana timerem lub grzejnik łazienkowy podłączony do obiegu grzewczego.</li>



<li><strong>Monitoruj, nie tylko steruj</strong>: Obserwuj zachowanie systemu w różnych warunkach pogodowych. Nowoczesne sterowniki oferują logi pracy i zużycia energii, które pomagają zoptymalizować ustawienia pod konkretny budynek i zwyczaje mieszkańców.</li>
</ol>



<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-1765978603711"><strong class="schema-faq-question"><strong>Czy duża bezwładność cieplna w ogrzewaniu podłogowym to wada?</strong></strong> <p class="schema-faq-answer">Nie. To cecha fizyczna systemu. Przy odpowiednim sterowaniu staje się zaletą, zapewniając stabilną temperaturę i wysoki komfort cieplny.</p> </div> <div class="schema-faq-section" id="faq-question-1765978618810"><strong class="schema-faq-question"><strong>Ile czasu nagrzewa się ogrzewanie podłogowe?</strong></strong> <p class="schema-faq-answer">W zależności od grubości wylewki i parametrów instalacji pełny efekt może pojawić się po kilku, a nawet kilkunastu godzinach od uruchomienia.</p> </div> <div class="schema-faq-section" id="faq-question-1765978629234"><strong class="schema-faq-question"><strong>Czy można zmniejszyć bezwładność cieplną podłogówki?</strong></strong> <p class="schema-faq-answer">Tak, stosując cieńsze jastrychy, systemy suche lub materiały wykończeniowe o niższej pojemności cieplnej, jednak zawsze jest to kompromis z akumulacją ciepła.</p> </div> <div class="schema-faq-section" id="faq-question-1765978649979"><strong class="schema-faq-question"><strong>Jak najlepiej sterować ogrzewaniem podłogowym o dużej bezwładności?</strong></strong> <p class="schema-faq-answer">Najlepiej sprawdza się sterowanie pogodowe lub zaawansowane algorytmy PID, które uwzględniają opóźnienia reakcji systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1765978657614"><strong class="schema-faq-question"><strong>Czy bezwładność cieplna dobrze współpracuje z pompą ciepła?</strong></strong> <p class="schema-faq-answer">Tak. Ogrzewanie podłogowe o dużej bezwładności idealnie pasuje do pomp ciepła, umożliwiając ich stabilną i energooszczędną pracę przy niskich temperaturach zasilania.</p> </div> </div>



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



<p class="wp-block-paragraph"><strong>Podsumowując, bezwładność cieplna w ogrzewaniu podłogowym</strong>&nbsp;nie jest ani wadą, ani zaletą – jest&nbsp;<strong>fundamentalną cechą fizyczną</strong>&nbsp;tego systemu. Jej ignorowanie prowadzi do frustracji i niskiej efektywności. Świadome projektowanie, odpowiedni dobór materiałów oraz zastosowanie zaawansowanej automatyki pozwala&nbsp;<strong>wykorzystać bezwładność termiczną jako atut</strong>, przekształcając ją w filtr stabilizujący komfort cieplny i narzędzie do oszczędnej, zgodnej z zasadami fizyki, eksploatacji energii. To właśnie sprawia, że wodne ogrzewanie podłogowe, pomimo swej prostoty koncepcyjnej, pozostaje jednym z najbardziej zaawansowanych technologicznie i komfortowych systemów grzewczych.</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="Kf8VCVkkvJ"><a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/">Projekt ogrzewania podłogowego &#8211; do 150 m2</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt ogrzewania podłogowego &#8211; do 150 m2&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/embed/#?secret=91GrYpPCMn#?secret=Kf8VCVkkvJ" data-secret="Kf8VCVkkvJ" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">Czym jest bezwładność cieplna w ogrzewaniu podłogowym?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pompa obiegowa w instalacji ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 15 Dec 2025 10:42:46 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Hydraulika budowlana]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Modernizacja ogrzewania]]></category>
		<category><![CDATA[Nowoczesne technologie grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Pompy obiegowe]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[auto adapt]]></category>
		<category><![CDATA[dobór pompy]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[hydraulika instalacji]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pompa obiegowa]]></category>
		<category><![CDATA[pompy cyrkulacyjne]]></category>
		<category><![CDATA[pompy ec]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2943</guid>

					<description><![CDATA[<p>Pompa obiegowa w instalacji ogrzewania podłogowego to element, który w praktyce decyduje o tym, czy cały system będzie działał cicho, oszczędnie i równomiernie. Choć często traktowana jako detal techniczny, jej dobór ma bezpośredni wpływ na komfort cieplny, zużycie energii elektrycznej oraz trwałość instalacji. W artykule szczegółowo wyjaśniamy, jak działa pompa obiegowa w instalacji ogrzewania podłogowego, jakie parametry mają kluczowe znaczenie, czym różnią się nowoczesne pompy EC od starszych modeli oraz dlaczego projekt hydrauliczny jest fundamentem prawidłowej pracy całego systemu.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">Pompa obiegowa w instalacji ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-start-dark: #0f172a;
    --rk-start-slate: #475569;
    --rk-start-bg: #f8fafc;
    --rk-start-card: #ffffff;
    --rk-start-border: #e2e8f0;
    
    /* Kolory funkcyjne */
    --rk-start-blue: #2563eb;
    --rk-start-blue-light: #eff6ff;
    --rk-start-green: #059669;
    --rk-start-gold: #d97706;
}

.rk-start-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-start-card);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(37, 99, 235, 0.1);
    border: 1px solid var(--rk-start-border);
    overflow: hidden;
}

/* Sekcja Nagłówka i Hooka */
.rk-start-hero {
    background: linear-gradient(135deg, var(--rk-start-dark) 0%, #1e293b 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
}

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

.rk-hook-box {
    font-size: 17px;
    line-height: 1.6;
    color: #cbd5e1;
    margin-bottom: 30px;
    padding-left: 20px;
    border-left: 4px solid var(--rk-start-gold);
}

.rk-hook-box strong {
    color: #ffffff;
}

/* Szybka Odpowiedź (Quick Answer) */
.rk-qa-box {
    background: #ffffff;
    border-radius: 16px;
    padding: 25px 30px;
    color: var(--rk-start-dark);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.rk-qa-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.rk-qa-icon {
    width: 28px;
    height: 28px;
    background: #dcfce7;
    color: var(--rk-start-green);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-qa-header h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--rk-start-green);
}

.rk-qa-content {
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
    font-weight: 500;
}

.rk-qa-content strong {
    color: var(--rk-start-blue);
}

/* Kafelkowy Spis Treści (Zamiast Mapy) */
.rk-start-body {
    padding: 40px;
    background: var(--rk-start-bg);
}

.rk-body-heading {
    font-size: 13px;
    font-weight: 900;
    color: var(--rk-start-slate);
    text-transform: uppercase;
    margin-bottom: 25px;
    text-align: center;
}

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

.rk-start-tile {
    background: #ffffff;
    border: 1px solid var(--rk-start-border);
    border-radius: 16px;
    padding: 25px;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-start-tile:hover {
    border-color: var(--rk-start-blue);
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.1);
}

.rk-start-tile.active {
    background: var(--rk-start-blue-light);
    border-color: var(--rk-start-blue);
    box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.2);
}

.rk-tile-icon {
    width: 40px;
    height: 40px;
    margin-bottom: 15px;
    color: var(--rk-start-blue);
}

.rk-tile-num {
    font-size: 11px;
    font-weight: 900;
    color: var(--rk-start-slate);
    text-transform: uppercase;
    margin-bottom: 4px;
}

.rk-start-tile.active .rk-tile-num { color: var(--rk-start-blue); }

.rk-tile-text {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-start-dark);
    margin: 0;
}

/* Obszar Treści Pod Kafelkami */
.rk-content-group {
    background: #ffffff;
    border: 1px solid var(--rk-start-border);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

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

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

.rk-panel-badge {
    display: inline-block;
    padding: 6px 12px;
    background: var(--rk-start-bg);
    color: var(--rk-start-blue);
    font-size: 12px;
    font-weight: 900;
    border-radius: 6px;
    text-transform: uppercase;
    margin-bottom: 15px;
    border: 1px solid var(--rk-start-border);
}

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

.rk-content-panel p {
    font-size: 15px;
    color: var(--rk-start-slate);
    line-height: 1.7;
    margin: 0 0 15px 0;
}

.rk-content-panel p:last-child { margin-bottom: 0; }

.rk-content-panel a {
    color: var(--rk-start-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Baner Informacyjny na dole */
.rk-start-footer {
    background: var(--rk-start-blue);
    padding: 20px 40px;
    display: flex;
    align-items: center;
    gap: 15px;
    color: #ffffff;
}

.rk-footer-icon {
    flex-shrink: 0;
}

.rk-footer-text {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    margin: 0;
}

@media (max-width: 800px) {
    .rk-start-hero { padding: 35px 25px; }
    .rk-start-tiles { grid-template-columns: 1fr; gap: 15px; }
    .rk-start-body { padding: 25px; }
    .rk-intro-content { padding: 25px; }
    .rk-qa-box { padding: 20px; }
    .rk-start-footer { flex-direction: column; text-align: center; padding: 20px; }
}
</style>

<div class="rk-start-container" id="rkStartModule">
    
    <div class="rk-start-hero">
        <h2>Pompa obiegowa w instalacji ogrzewania podłogowego – Kompleksowy przewodnik</h2>
        
        <div class="rk-hook-box">
            Większość inwestorów skupia się na wyborze kotła czy pompy ciepła, całkowicie ignorując urządzenie, które fizycznie dystrybuuje energię. <strong>Złe wbudowanie pompy obiegowej w instalacji ogrzewania podłogowego to najkrótsza droga do niedogrzanej łazienki, hałasu w rurach i rachunków wyższych o kilkaset złotych rocznie.</strong> Przejmij kontrolę nad sercem swojego układu grzewczego.
        </div>

        <div class="rk-qa-box">
            <div class="rk-qa-header">
                <div class="rk-qa-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                </div>
                <h3>Szybka Odpowiedź</h3>
            </div>
            <p class="rk-qa-content">
                <strong>Pompa obiegowa w instalacji ogrzewania podłogowego</strong> to niewielkie urządzenie węzłowe (bezdławnicowe), montowane zazwyczaj przy rozdzielaczu. Jej kluczowym zadaniem jest wymuszenie ciągłego przepływu wody poprzez pokonanie wysokich oporów hydraulicznych wężownicy (rzadziej 16×2 mm). Prawidłowo dobrany model elektroniczny (EC) pracujący w trybie stałociśnieniowym (CP) zużywa <strong>zaledwie od 5 do 22 W</strong> energii elektrycznej.
            </p>
        </div>
    </div>

    <div class="rk-start-body">
        <div class="rk-body-heading">Interaktywny Przewodnik (Wybierz Zagadnienie)</div>
        
        <div class="rk-start-tiles">
            <div class="rk-start-tile active" data-target="mod-calc">
                <div class="rk-tile-num">Część 1</div>
                <h4 class="rk-tile-text">Inżynierski dobór</h4>
                <div class="rk-tile-icon" style="margin-top: 10px;">
                    <svg 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"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/></svg>
                </div>
            </div>
            <div class="rk-start-tile" data-target="mod-mode">
                <div class="rk-tile-num">Część 2</div>
                <h4 class="rk-tile-text">Elektronika i Tryby</h4>
                <div class="rk-tile-icon" style="margin-top: 10px;">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"/></svg>
                </div>
            </div>
            <div class="rk-start-tile" data-target="mod-err">
                <div class="rk-tile-num">Część 3</div>
                <h4 class="rk-tile-text">Błędy w montażu</h4>
                <div class="rk-tile-icon" style="margin-top: 10px;">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg>
                </div>
            </div>
        </div>

        <div class="rk-content-group">
            
            <div class="rk-content-panel active" id="mod-calc">
                <span class="rk-panel-badge">Obliczenia Q/H</span>
                <h4>Jak poprawnie obliczyć przepływ i wysokość podnoszenia?</h4>
                <p>Odrzucamy instalatorskie mity o dobieraniu pompy &#8222;na oko&#8221; lub &#8222;na metry kwadratowe&#8221;. Wodne <strong>ogrzewanie podłogowe charakteryzuje się bardzo dużą pojemnością wodną (zładem) oraz wysokimi oporami wewnętrznymi.</strong> Rola pompy polega na pokonaniu tych oporów.</p>
                <p>W tej sekcji poznasz dokładne wzory inżynierskie bazujące na <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">normie PN-EN 1264</a>, które pozwolą Ci wyliczyć wymagany przepływ masowy (Q) i wysokość podnoszenia (H) dla Twojej pętli krytycznej.</p>
            </div>

            <div class="rk-content-panel" id="mod-mode">
                <span class="rk-panel-badge">Konfiguracja pompy</span>
                <h4>Zasady działania i tryby pracy pompy EC</h4>
                <p>Nawet najlepsza <strong>pompa obiegowa w instalacji ogrzewania podłogowego</strong> ulegnie przyspieszonemu zużyciu, jeśli zostanie źle skonfigurowana. Elektronika nowoczesnych modeli EC wybacza znacznie mniej niż stare pompy AC.</p>
                <p>Wyjaśniamy, dlaczego tryb proporcjonalny (PP) to błąd w sztuce w płaszczyznowym ogrzewaniu. Dowiesz się, jak tryb stałociśnieniowy (CP) optymalizuje pracę układu i dlaczego funkcja AUTOADAPT może być pułapką, jeśli nie rozumiesz krzywych charakterystyki.</p>
            </div>

            <div class="rk-content-panel" id="mod-err">
                <span class="rk-panel-badge">Praktyka na Budowie</span>
                <h4>Katalog krytycznych błędów instalacyjnych</h4>
                <p>Przenosimy się z kotłowni na plac budowy. Dowiesz się, gdzie dokładnie powinna być zamontowana pompa (za lub przed <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zaworem mieszającym (3D/4D)</a>) i jakie są techniczne konsekwencje nieprzestrzegania instrukcji.</p>
                <p>Opisujemy katastrofalne skutki pracy wirnika w osi pionowej (co niszczy ceramiczne poduszki wodne łożysk) oraz zagrożenia wynikające z braku separatora magnetycznego (siatka min. 500 µm) przy silnikach z magnesem neodymowym.</p>
            </div>

        </div>
    </div>

    <div class="rk-start-footer">
        <div class="rk-footer-icon">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="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>
        <p class="rk-start-footer-text">
            <strong>Narzędzia premium wewnątrz artykułu:</strong> W dalszej części tekstu udostępniłem dla Ciebie interaktywne kalkulatory doboru, symulatory hydrauliczne oraz twarde tabele inżynierskie, które pomogą Ci podjąć bezbłędną decyzję inwestycyjną.
        </p>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tiles = document.querySelectorAll('.rk-start-tile');
    const panels = document.querySelectorAll('.rk-content-panel');

    tiles.forEach(tile => {
        tile.addEventListener('click', function() {
            // Reset active states
            tiles.forEach(t => t.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Set new active states
            this.classList.add('active');
            const targetId = this.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Pompa obiegowa w instalacji ogrzewania podłogowego – Kompleksowy przewodnik",
    "description": "Poradnik o pompach obiegowych w podłogówce. HOOK, Szybka Odpowiedź, parametry wydajnościowe, tryby pracy (CP/PP) oraz najczęstsze błędy montażowe.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-wstep",
    "name": "Wprowadzenie i parametry startowe pomp w podłogówce",
    "description": "Baza informacji startowych kategoryzująca kluczowe parametry doboru i diagnostyki pomp obiegowych w układach niskotemperaturowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pompa obiegowa w instalacji ogrzewania podłogowego",
      "szybka odpowiedź ogrzewanie podłogowe pompa",
      "obliczenia hydrauliczne podłogówki wzory",
      "tryb stałociśnieniowy cp vs proporcjonalny pp",
      "zatarte łożyska pompy ceramiczne"
    ],
    "measurementTechnique": "Kategoryzacja parametrów inżynierskich na podstawie podziału treści na trzy moduły tematyczne: dobór, elektronika, montaż.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Obliczenia Q i H dla pętli krytycznej wg normy PN-EN 1264.",
        "Analiza trybów pracy pompy EC i energooszczędności.",
        "Diagnostyka błędów instalacyjnych i zanieczyszczeń magnetycznych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-spis-tresci",
    "name": "Kafelkowy Spis Treści (Statyczny)",
    "description": "Interfejs w formie kafelków na górze artykułu, pozwalający na statyczne (bez animacji) przełączanie informacji o tematyce trzech głównych sekcji poradnika.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-stat-dark: #0f172a;
    --rk-stat-slate: #475569;
    --rk-stat-bg: #f8fafc;
    --rk-stat-card: #ffffff;
    --rk-stat-border: #e2e8f0;
    
    /* Kolory akcentujące */
    --rk-stat-blue: #2563eb;
    --rk-stat-red: #ef4444;
    --rk-stat-green: #10b981;
}

.rk-stat-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-stat-card);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(37, 99, 235, 0.1);
    border: 1px solid rgba(37, 99, 235, 0.2);
    overflow: hidden;
}

/* Tagi Long Tail */
.rk-stat-tags {
    padding: 25px 40px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    background: var(--rk-stat-card);
}

.rk-mat-tag {
    background: var(--rk-stat-bg);
    color: var(--rk-stat-blue);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    border: 1px solid var(--rk-stat-border);
    transition: all 0.3s;
}

.rk-mat-tag:hover {
    background: var(--rk-stat-blue);
    color: #ffffff;
}

/* Nagłówek */
.rk-stat-header {
    padding: 25px 40px 30px;
    background: var(--rk-stat-card);
    color: var(--rk-stat-dark);
}

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

.rk-stat-header p {
    font-size: 15px;
    color: var(--rk-stat-slate);
    margin: 0;
    line-height: 1.7;
    max-width: 800px;
}

/* Układ główny - Tło dla całej sekcji nawigacji i paneli */
.rk-stat-body {
    background: var(--rk-stat-bg);
    border-top: 1px solid var(--rk-stat-border);
    padding: 35px 40px;
}

/* Menu Nawigacyjne Poziome (Tab Bar) */
.rk-stat-nav-bar {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 35px;
}

.rk-stat-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px;
    background: #ffffff;
    border: 1px solid var(--rk-stat-border);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-stat-btn:hover {
    border-color: var(--rk-stat-blue);
}

.rk-stat-btn.active {
    background: var(--rk-stat-blue);
    border-color: var(--rk-stat-blue);
    color: #ffffff;
    box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.2);
}

.rk-stat-btn.active[data-target="panel2"],
.rk-stat-btn.active[data-target="panel3"] {
    background: var(--rk-stat-red);
    border-color: var(--rk-stat-red);
    box-shadow: 0 10px 15px -3px rgba(239, 68, 68, 0.2);
}

.rk-btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: var(--rk-stat-slate);
    transition: all 0.2s;
}

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

.rk-btn-text {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-stat-dark);
    margin: 0;
    transition: all 0.2s;
}

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

/* Prawa Kolumna - Treść i SVG (Statyczne) */
.rk-stat-panel {
    display: none;
    animation: fadeInPanel 0.3s ease-out;
}

.rk-stat-panel.active {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: center;
}

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

/* Obszar grafiki SVG */
.rk-svg-wrapper {
    background: #ffffff;
    border: 1px solid var(--rk-stat-border);
    border-radius: 16px;
    padding: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-static-svg {
    width: 100%;
    max-width: 320px;
    height: auto;
}

/* Obszar tekstu */
.rk-text-wrapper h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-stat-dark);
    margin: 0 0 15px 0;
}

.rk-text-wrapper p {
    font-size: 15px;
    color: var(--rk-stat-slate);
    line-height: 1.7;
    margin: 0 0 15px 0;
}

.rk-text-wrapper strong {
    color: var(--rk-stat-dark);
}

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

.rk-consequence-box {
    background: #fef2f2;
    border-left: 4px solid var(--rk-stat-red);
    padding: 18px 20px;
    border-radius: 0 12px 12px 0;
    margin-top: 20px;
}

.rk-consequence-box h4 {
    margin: 0 0 8px 0;
    color: var(--rk-stat-red);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-consequence-box p {
    margin: 0;
    font-size: 14px;
    color: #991b1b;
    font-weight: 500;
}

@media (max-width: 768px) {
    .rk-stat-nav-bar { grid-template-columns: 1fr; gap: 10px; }
    .rk-stat-panel.active { grid-template-columns: 1fr; gap: 20px; }
    .rk-stat-body { padding: 25px 20px; }
    .rk-stat-header { padding: 25px 20px 20px; }
    .rk-stat-tags { padding: 20px 20px 0; }
    .rk-stat-header h2 { font-size: 24px; }
    .rk-svg-wrapper { padding: 20px; }
}
</style>

<div class="rk-stat-container" id="rkStaticApp">
    
    <div class="rk-stat-tags">
        <span class="rk-mat-tag"># zasada działania pompy obiegowej</span>
        <span class="rk-mat-tag"># montaż pompy na powrocie</span>
        <span class="rk-mat-tag"># zatarte łożyska ceramiczne</span>
        <span class="rk-mat-tag"># filtr magnetyczny 500 µm</span>
    </div>

    <div class="rk-stat-header">
        <h2>Jak działa pompa obiegowa i gdzie powinna być zamontowana?</h2>
        <p>Pompa obiegowa w instalacji ogrzewania podłogowego działa na zasadzie wymuszenia przepływu hydraulicznego w zamkniętym układzie, a miejscem jej montażu – zgodnie z dobrą praktyką inżynierską i normą PN-EN 1264-4 – powinien być układ mieszająco-pompowy.</p>
    </div>

    <div class="rk-stat-body">
        <div class="rk-stat-nav-bar">
            <button class="rk-stat-btn active" data-target="panel1">
                <div class="rk-btn-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>
                <span class="rk-btn-text">Zasada Działania</span>
            </button>
            
            <button class="rk-stat-btn" data-target="panel2">
                <div class="rk-btn-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>
                <span class="rk-btn-text">Błąd: Oś Pionowa</span>
            </button>
            
            <button class="rk-stat-btn" data-target="panel3">
                <div class="rk-btn-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>
                <span class="rk-btn-text">Błąd: Brak Filtra</span>
            </button>
        </div>

        <div class="rk-stat-content-area">
            
            <div class="rk-stat-panel active" id="panel1">
                <div class="rk-svg-wrapper">
                    <svg class="rk-static-svg" viewBox="0 0 350 200">
                        <rect x="20" y="20" width="60" height="160" rx="8" fill="#e2e8f0" />
                        <text x="50" y="100" fill="#475569" font-size="12" font-weight="bold" text-anchor="middle" transform="rotate(-90 50 100)">Rozdzielacz</text>
                        
                        <path d="M 80 50 L 250 50" fill="none" stroke="#ef4444" stroke-width="12" stroke-linecap="round"/>
                        <path d="M 80 150 L 250 150" fill="none" stroke="#3b82f6" stroke-width="12" stroke-linecap="round"/>
                        <path d="M 180 50 L 180 150" fill="none" stroke="#cbd5e1" stroke-width="12" stroke-linecap="round"/>

                        <circle cx="180" cy="150" r="16" fill="#f59e0b" />
                        <text x="180" y="185" fill="#f59e0b" font-size="11" font-weight="bold" text-anchor="middle">Zawór Mieszający</text>

                        <rect x="150" y="30" width="60" height="40" rx="8" fill="#1e293b" />
                        <circle cx="180" cy="50" r="14" fill="#334155" />
                        <path d="M 170 50 L 190 50 M 180 40 L 180 60" stroke="#10b981" stroke-width="4" stroke-linecap="round"/>
                        <text x="180" y="18" fill="#1e293b" font-size="11" font-weight="bold" text-anchor="middle">Oś Pozioma (OK)</text>

                        <polygon points="120,44 130,50 120,56" fill="#ffffff" />
                        <polygon points="220,44 230,50 220,56" fill="#ffffff" />
                        <polygon points="230,144 220,150 230,156" fill="#ffffff" />
                        <polygon points="174,100 180,90 186,100" fill="#ffffff" />
                    </svg>
                </div>
                <div class="rk-text-wrapper">
                    <h3>Pojemność i opory hydrauliczne</h3>
                    <p>Wodne ogrzewanie podłogowe charakteryzuje się bardzo dużą pojemnością wodną (zładem) oraz wysokimi oporami wewnętrznymi. Rola pompy polega na przetłoczeniu masy wody przez pętle o małym przekroju (np. rura 16×2 mm posiada prześwit zaledwie 12 mm).</p>
                    <p>Montaż pompy za zaworem mieszającym pozwala na obniżenie temperatury zasilającego czynnika grzewczego z parametrów wysokich (np. 55°C) do bezpiecznych dla <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">jastrychu</a>, czyli <strong>30–45°C</strong>.</p>
                </div>
            </div>

            <div class="rk-stat-panel" id="panel2">
                <div class="rk-svg-wrapper">
                    <svg class="rk-static-svg" viewBox="0 0 350 200">
                        <path d="M 80 100 L 250 100" fill="none" stroke="#cbd5e1" stroke-width="12" stroke-linecap="round"/>
                        
                        <rect x="145" y="60" width="40" height="80" rx="8" fill="#1e293b" />
                        <circle cx="165" cy="100" r="14" fill="#334155" />
                        <path d="M 155 100 L 175 100 M 165 90 L 165 110" stroke="#ef4444" stroke-width="4" stroke-linecap="round"/>
                        
                        <circle cx="210" cy="60" r="16" fill="#ef4444" />
                        <path d="M 205 55 L 215 65 M 215 55 L 205 65" stroke="#ffffff" stroke-width="3" stroke-linecap="round"/>
                        <text x="165" y="165" fill="#ef4444" font-size="11" font-weight="bold" text-anchor="middle">Oś Pionowa (BŁĄD)</text>
                    </svg>
                </div>
                <div class="rk-text-wrapper">
                    <h3>Orientacja wału wirnika</h3>
                    <p>Zgodnie z wymogami producentów i fizyką działania pomp bezdławnicowych, urządzenie musi pracować wyłącznie w osi poziomej wału wirnika. Woda instalacyjna pełni w tym układzie funkcję smarującą i chłodzącą dla precyzyjnych elementów ruchomych.</p>
                    <div class="rk-consequence-box">
                        <h4>Konsekwencje błędu</h4>
                        <p>Brak zachowania poziomej orientacji wału skutkuje pracą w warunkach suchego startu i zapowietrzeniem komory. Niszczy to ceramiczne poduszki wodne łożysk w czasie krótszym niż 1 sezon grzewczy.</p>
                    </div>
                </div>
            </div>

            <div class="rk-stat-panel" id="panel3">
                <div class="rk-svg-wrapper">
                    <svg class="rk-static-svg" viewBox="0 0 350 200">
                        <path d="M 80 100 L 250 100" fill="none" stroke="#cbd5e1" stroke-width="12" stroke-linecap="round"/>
                        
                        <circle cx="100" cy="100" r="3" fill="#475569"/>
                        <circle cx="115" cy="98" r="4" fill="#475569"/>
                        <circle cx="125" cy="103" r="2" fill="#475569"/>
                        
                        <rect x="150" y="80" width="60" height="40" rx="8" fill="#1e293b" />
                        <circle cx="180" cy="100" r="14" fill="#334155" />
                        <path d="M 170 100 L 190 100 M 180 90 L 180 110" stroke="#ef4444" stroke-width="4" stroke-linecap="round"/>
                        
                        <circle cx="175" cy="95" r="3" fill="#000000"/>
                        <circle cx="185" cy="105" r="4" fill="#000000"/>

                        <path d="M 140 70 L 140 130" stroke="#ef4444" stroke-width="3" stroke-dasharray="4 4" />
                        <text x="140" y="60" fill="#ef4444" font-size="11" font-weight="bold" text-anchor="middle">Brak Filtra!</text>
                    </svg>
                </div>
                <div class="rk-text-wrapper">
                    <h3>Zabezpieczenie magnetyczne</h3>
                    <p>Nowoczesne pompy cyrkulacyjne (silniki EC) posiadają w wirniku niezwykle silne magnesy neodymowe. Zjawisko to sprawia, że pompa naturalnie przyciąga z instalacji wszelkie metaliczne zanieczyszczenia i rdzę.</p>
                    <div class="rk-consequence-box">
                        <h4>Konsekwencje błędu</h4>
                        <p>Montaż bez filtra z wkładem magnetycznym o gęstości siatki minimum 500 µm naraża wirnik na zablokowanie przez cząstki magnetytu. Trwałe zablokowanie obrotu wału w 90% przypadków doprowadza do przepalenia stojana.</p>
                    </div>
                </div>
            </div>

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

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

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

            // Add active class to clicked button and target panel
            this.classList.add('active');
            const targetId = this.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-dzialanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Jak działa pompa obiegowa w instalacji ogrzewania podłogowego i gdzie powinna być zamontowana?",
    "description": "Zasady działania i wymogi montażowe (PN-EN 1264-4) pompy obiegowej w układzie mieszającym. Dowiedz się, dlaczego orientacja wału i filtr magnetyczny są krytyczne.",
    "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-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-montaz-pompy",
    "name": "Wytyczne Montażowe i Parametry Pracy Pompy Obiegowej 2026",
    "description": "Zestawienie statycznych zaleceń inżynierskich dotyczących pozycjonowania pomp bezdławnicowych oraz konieczności filtracji.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zasada działania pompy obiegowej",
      "montaż pompy na powrocie",
      "zatarte łożyska ceramiczne",
      "filtr magnetyczny 500 µm"
    ],
    "measurementTechnique": "Analiza schematyczna błędów instalacyjnych powodujących pracę na sucho lub blokadę wirnika przez zanieczyszczenia magnetyczne.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Oś pozioma wału: Wymagana dla zachowania żywotności łożysk ceramicznych (zapobieganie suchemu startowi).",
        "Zabezpieczenie magnetyczne: Filtr z siatką min. 500 µm jako ochrona przed zatarciem silnika EC magnetytem z instalacji.",
        "Miejsce montażu: Przy układzie mieszającym w celu redukcji parametrów zasilania z 55°C do 30-45°C."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-diagnostyka",
    "name": "Interaktywny Przewodnik Montażowy",
    "description": "Statyczny interfejs diagnostyczny z zakładkami, ilustrujący poprawne zasady wbudowania pompy obiegowej oraz techniczne konsekwencje nieprzestrzegania instrukcji.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-char-dark: #0f172a;
    --rk-char-slate: #475569;
    --rk-char-bg: #f8fafc;
    --rk-char-card: #ffffff;
    --rk-char-border: #e2e8f0;
    
    /* Kolory funkcyjne */
    --rk-char-blue: #2563eb;
    --rk-char-blue-light: #eff6ff;
    --rk-char-green: #10b981;
    --rk-char-red: #ef4444;
    --rk-char-orange: #f59e0b;
}

.rk-char-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-char-card);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(37, 99, 235, 0.1);
    border: 1px solid rgba(37, 99, 235, 0.2);
    overflow: hidden;
}

/* Nagłówek i Teoria (Układ jednowymiarowy pionowy) */
.rk-char-theory-grid {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid var(--rk-char-border);
}

.rk-char-text-part {
    padding: 40px;
    background: linear-gradient(145deg, var(--rk-char-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

.rk-char-text-part h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 20px 0;
    line-height: 1.3;
    color: #ffffff;
}

.rk-char-text-part p {
    font-size: 15px;
    color: #cbd5e1;
    line-height: 1.7;
    margin: 0 0 15px 0;
}

.rk-char-text-part a {
    color: #93c5fd;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 700;
}

/* Kontenery parametrów ustawione obok siebie na desktopie */
.rk-param-boxes-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 30px;
}

.rk-param-box {
    background: rgba(255,255,255,0.05);
    border-left: 3px solid var(--rk-char-blue);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    font-size: 14px;
    line-height: 1.6;
}

.rk-param-box strong {
    color: #60a5fa;
    display: block;
    margin-bottom: 8px;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Ilustracja Q i H (SVG) - Wyśrodkowana na pełnej szerokości */
.rk-char-illustration {
    background: #ffffff;
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    border-top: 1px solid var(--rk-char-border);
}

.rk-illu-title {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-char-dark);
    text-transform: uppercase;
    margin-bottom: 30px;
    letter-spacing: 1px;
}

/* Interaktywne Porównanie Pomp */
.rk-char-compare-sec {
    padding: 40px;
    background: var(--rk-char-bg);
}

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

.rk-comp-header h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-char-dark);
    margin: 0 0 10px 0;
}

/* Zakładki (Tabs) */
.rk-tabs-nav {
    display: flex;
    background: #e2e8f0;
    border-radius: 16px;
    padding: 6px;
    max-width: 700px;
    margin: 0 auto 35px;
    position: relative;
}

.rk-tab-btn {
    flex: 1;
    text-align: center;
    padding: 14px 10px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-char-slate);
    cursor: pointer;
    border: none;
    background: transparent;
    border-radius: 12px;
    transition: all 0.3s;
    position: relative;
    z-index: 2;
}

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

.rk-tab-glider {
    position: absolute;
    top: 6px; left: 6px;
    height: calc(100% - 12px);
    width: calc(33.333% - 4px);
    background: var(--rk-char-blue);
    border-radius: 12px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.4s;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    z-index: 1;
}

/* Kafelki z danymi (zamiast tabeli) */
.rk-data-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-bottom: 30px;
}

.rk-data-card {
    background: var(--rk-char-card);
    border: 1px solid var(--rk-char-border);
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-data-icon {
    margin: 0 auto 12px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-char-blue);
    transition: color 0.3s;
}

.rk-data-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-char-dark);
    margin-bottom: 6px;
    transition: color 0.3s;
}

.rk-data-lbl {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-char-slate);
    text-transform: uppercase;
}

/* Animacja i status dla wybranej technologii */
.rk-tech-visual {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid var(--rk-char-border);
    padding: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
}

.rk-tech-desc {
    flex: 1;
}

.rk-tech-badge {
    display: inline-flex;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 15px;
    transition: all 0.3s;
}

.rk-tech-desc p {
    font-size: 14px;
    color: var(--rk-char-slate);
    line-height: 1.6;
    margin: 0;
}

/* SVG Animacje globalne */
.rk-anim-flow { stroke-dasharray: 10; animation: pipeFlow 2s linear infinite; }
@keyframes pipeFlow { to { stroke-dashoffset: -20; } }

/* Dynamiczne stany dla technologii */
.state-ac .rk-data-val { color: var(--rk-char-red); }
.state-ac .rk-data-icon { color: var(--rk-char-red); }
.state-ac .rk-tech-badge { background: #fee2e2; color: var(--rk-char-red); }
.state-ac .svg-ring { stroke: var(--rk-char-red); }

.state-ec-const .rk-data-val { color: var(--rk-char-orange); }
.state-ec-const .rk-data-icon { color: var(--rk-char-orange); }
.state-ec-const .rk-tech-badge { background: #fef3c7; color: #b45309; }
.state-ec-const .svg-ring { stroke: var(--rk-char-orange); }

.state-ec-auto .rk-data-val { color: var(--rk-char-green); }
.state-ec-auto .rk-data-icon { color: var(--rk-char-green); }
.state-ec-auto .rk-tech-badge { background: #dcfce7; color: var(--rk-char-green); }
.state-ec-auto .svg-ring { stroke: var(--rk-char-green); }

@media (max-width: 768px) {
    .rk-param-boxes-wrapper { grid-template-columns: 1fr; gap: 15px; }
    .rk-char-text-part, .rk-char-illustration, .rk-char-compare-sec { padding: 25px 20px; }
    .rk-data-grid { grid-template-columns: 1fr 1fr; }
    .rk-tech-visual { flex-direction: column; text-align: center; gap: 20px; }
    .rk-tab-btn { font-size: 12px; padding: 12px 5px; }
}

@media (max-width: 480px) {
    .rk-data-grid { grid-template-columns: 1fr; }
}
</style>

<div class="rk-char-container" id="rkCharApp">
    
    <div class="rk-char-theory-grid">
        <div class="rk-char-text-part">
            <h2>Jak dobrać parametry pompy obiegowej i jak czytać jej charakterystykę?</h2>
            <p>Prawidłowy dobór pompy obiegowej do ogrzewania podłogowego wymaga określenia dwóch punktów roboczych: wydajności <strong>Q</strong> wyrażonej w m³/h oraz wysokości podnoszenia <strong>H</strong> wyrażonej w m H₂O (lub kPa), zgodnie z procedurą projektową <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">normy PN-EN 1264</a>.</p>
            <p>Punkt pracy instalacji musi przecinać się z krzywą charakterystyki pompy w obszarze jej najwyższej sprawności, czyli w środkowej 1/3 części wykresu.</p>
            
            <div class="rk-param-boxes-wrapper">
                <div class="rk-param-box">
                    <strong>Wydajność (Q)</strong>
                    Określa strumień objętościowy wody, jaki musi przepłynąć w ciągu godziny, aby dostarczyć moc cieplną przy założonym schłodzeniu czynnika (optymalne ΔT wynosi 5 K).
                </div>
                
                <div class="rk-param-box" style="border-color: #a78bfa;">
                    <strong style="color: #c4b5fd;">Wysokość podnoszenia (H)</strong>
                    Parametr określający zdolność pompy do pokonania sumarycznych strat ciśnienia (tarcia) w <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">najdłuższej pętli grzewczej</a>. Nie jest to fizyczna wysokość budynku! Ciśnienie statyczne się równoważy.
                </div>
            </div>
        </div>
        
        <div class="rk-char-illustration">
            <div class="rk-illu-title">Fizyka układu zamkniętego</div>
            <svg viewBox="0 0 200 250" style="width: 100%; max-width: 250px; height: auto;">
                <path d="M 20 100 L 100 30 L 180 100 L 180 230 L 20 230 Z" fill="none" stroke="#cbd5e1" stroke-width="3" stroke-dasharray="4 4"/>
                <line x1="20" y1="160" x2="180" y2="160" stroke="#cbd5e1" stroke-width="2" stroke-dasharray="4 4"/>
                
                <rect x="70" y="70" width="60" height="130" rx="10" fill="none" stroke="#e2e8f0" stroke-width="12"/>
                <path d="M 70 200 L 70 70 A 10 10 0 0 1 80 60 L 120 60 A 10 10 0 0 1 130 70 L 130 200" fill="none" stroke="#3b82f6" stroke-width="6" class="rk-anim-flow"/>
                
                <circle cx="100" cy="200" r="18" fill="#1e293b"/>
                <circle cx="100" cy="200" r="10" fill="#334155"/>
                
                <path d="M 145 100 L 145 140 M 140 135 L 145 140 L 150 135" fill="none" stroke="#10b981" stroke-width="2"/>
                <text x="155" y="125" font-size="11" fill="#10b981" font-weight="bold">ΔH = 0</text>
                
                <path d="M 55 140 L 55 100 M 50 105 L 55 100 L 60 105" fill="none" stroke="#ef4444" stroke-width="2"/>
                
                <text x="100" y="130" font-size="11" fill="#f59e0b" font-weight="bold" text-anchor="middle">Tarcie (H)</text>
            </svg>
            <p style="font-size: 14px; color: var(--rk-char-slate); text-align: center; margin-top: 25px; max-width: 600px; font-weight: 500; line-height: 1.6;">
                W zamkniętym układzie podłogówki siły grawitacji się znoszą. Pompa pokonuje wyłącznie opory tarcia rur (H).
            </p>
        </div>
    </div>

    <div class="rk-char-compare-sec" id="rkCompareStage">
        <div class="rk-comp-header">
            <h3>Porównanie technologii pomp obiegowych</h3>
            <p style="font-size: 14px; color: var(--rk-char-slate);">Wybierz technologię, aby sprawdzić jej parametry eksploatacyjne i koszty energii.</p>
        </div>

        <div class="rk-tabs-nav">
            <button class="rk-tab-btn active" data-index="0" data-type="ac">Pompa AC (Starszy typ)</button>
            <button class="rk-tab-btn" data-index="1" data-type="ec-const">Pompa EC (Biegi stałe)</button>
            <button class="rk-tab-btn" data-index="2" data-type="ec-auto">Pompa EC (AUTOADAPT)</button>
            <div class="rk-tab-glider" id="rkTabGlider"></div>
        </div>

        <div class="rk-data-grid" id="rkDataGrid">
            <div class="rk-data-card">
                <div class="rk-data-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg></div>
                <div class="rk-data-val" id="valPow">45-90 W</div>
                <div class="rk-data-lbl">Pobór Mocy</div>
            </div>
            <div class="rk-data-card">
                <div class="rk-data-icon"><svg width="24" height="24" 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-data-val" id="valEei">≥ 0,40</div>
                <div class="rk-data-lbl">Wskaźnik EEI</div>
            </div>
            <div class="rk-data-card">
                <div class="rk-data-icon"><svg width="24" height="24" 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-data-val" id="valReg" style="font-size: 16px;">Manualna (3 biegi)</div>
                <div class="rk-data-lbl">Regulacja</div>
            </div>
            <div class="rk-data-card">
                <div class="rk-data-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg></div>
                <div class="rk-data-val" id="valCost">~288 PLN</div>
                <div class="rk-data-lbl">Roczny Koszt Energii</div>
            </div>
        </div>

        <div class="rk-tech-visual state-ac" id="rkTechVisualArea">
            <div style="width: 120px; height: 120px; position: relative;">
                <svg viewBox="0 0 100 100" width="100%" height="100%">
                    <circle cx="50" cy="50" r="45" fill="#f1f5f9" stroke="#cbd5e1" stroke-width="2"/>
                    <circle cx="50" cy="50" r="35" fill="none" stroke-width="4" class="svg-ring"/>
                    <circle cx="50" cy="50" r="12" fill="#1e293b"/>
                </svg>
            </div>
            <div class="rk-tech-desc">
                <div class="rk-tech-badge" id="descBadge">Technologia Przestarzała</div>
                <p id="descText">Pompa asynchroniczna pracująca ze stałą, wysoką prędkością. Zużywa maksymalną ilość energii niezależnie od tego, czy zawory termostatyczne są otwarte czy zamknięte. Niezgodna z obecną dyrektywą ErP.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-tab-btn');
    const glider = document.getElementById('rkTabGlider');
    const visualArea = document.getElementById('rkTechVisualArea');
    const dataGrid = document.getElementById('rkDataGrid');
    
    // Data Elements
    const valPow = document.getElementById('valPow');
    const valEei = document.getElementById('valEei');
    const valReg = document.getElementById('valReg');
    const valCost = document.getElementById('valCost');
    const descBadge = document.getElementById('descBadge');
    const descText = document.getElementById('descText');

    const pumpData = {
        "ac": {
            pow: "45-90 W", eei: "≥ 0,40", reg: "Manualna (3 biegi)", cost: "144-288 PLN",
            badge: "Technologia Przestarzała",
            desc: "Pompa asynchroniczna pracująca ze stałą, wysoką prędkością. Zużywa maksymalną ilość energii niezależnie od tego, czy zawory termostatyczne są otwarte czy zamknięte. Niezgodna z obecną dyrektywą ErP."
        },
        "ec-const": {
            pow: "12-45 W", eei: "≤ 0,23", reg: "Proporcjonalna", cost: "38-144 PLN",
            badge: "Standard Rynkowy",
            desc: "Pompa z silnikiem elektronicznie komutowanym (EC). Oferuje ręczną zmianę charakterystyki pracy. Jest znacznie oszczędniejsza, ale wymaga ręcznego dopasowania krzywej do instalacji."
        },
        "ec-auto": {
            pow: "4-25 W", eei: "≤ 0,20", reg: "Automatyczna (ADAPT)", cost: "12-80 PLN",
            badge: "Najwyższa Efektywność",
            desc: "Inteligentna pompa z silnikiem EC, która automatycznie analizuje opory instalacji. Sama dobiera minimalne wymagane ciśnienie i przepływ, gwarantując najniższe możliwe zużycie prądu i ciszę."
        }
    };

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Glider positioning
            const index = this.getAttribute('data-index');
            let transformVal = 0;
            
            // Calculating transform based on index and viewport width
            if (window.innerWidth <= 768) {
                transformVal = index * 100;
                glider.style.transform = `translateX(calc(${transformVal}% + ${index * 4}px))`;
            } else {
                transformVal = index * 100;
                glider.style.transform = `translateX(calc(${transformVal}% + ${index * 4}px))`;
            }

            // Colors update
            let color = '';
            const type = this.getAttribute('data-type');
            if(type === 'ac') color = '#ef4444';
            if(type === 'ec-const') color = '#f59e0b';
            if(type === 'ec-auto') color = '#10b981';
            glider.style.backgroundColor = color;

            // Active Class
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Data Population
            const d = pumpData[type];
            valPow.textContent = d.pow;
            valEei.textContent = d.eei;
            valReg.textContent = d.reg;
            valCost.textContent = d.cost;
            descBadge.textContent = d.badge;
            descText.textContent = d.desc;

            // Visual State Update
            visualArea.className = `rk-tech-visual state-${type}`;
            dataGrid.className = `rk-data-grid state-${type}`;
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-dobor",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Jak dobrać parametry pompy obiegowej do podłogówki i jak czytać jej charakterystykę?",
    "description": "Poradnik wyjaśniający inżynieryjne parametry przepływu (Q) i wysokości podnoszenia (H) w pompach obiegowych. Porównanie technologii AC, EC i AUTOADAPT.",
    "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-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-technologie",
    "name": "Porównanie technologii pomp obiegowych (AC vs EC) 2026",
    "description": "Zestawienie parametrów technicznych i kosztów eksploatacji dla 3 generacji pomp cyrkulacyjnych stosowanych w instalacjach ogrzewania podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "parametry pompy obiegowej do podłogówki",
      "wydajność pompy obiegowej",
      "wysokość podnoszenia pompy co to jest",
      "wskaźnik eei w pompach",
      "koszt energii pompy obiegowej"
    ],
    "measurementTechnique": "Analiza wskaźników zużycia energii elektrycznej i krzywych pracy dla pomp asynchronicznych oraz elektronicznie komutowanych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Pompa AC: 45-90W, Koszt ~288 PLN/rok",
        "Pompa EC (Stała): 12-45W, Koszt ~144 PLN/rok",
        "Pompa EC (Autoadapt): 4-25W, Koszt ~80 PLN/rok"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-technologie",
    "name": "Kalkulator Oszczędności Technologii Pomp",
    "description": "Interaktywny moduł edukacyjny z zakładkami, pozwalający inwestorowi porównać roczne koszty poboru mocy oraz efektywność energetyczną różnych typów pomp obiegowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-calc-dark: #1e1b4b; /* Deep Indigo */
    --rk-calc-primary: #6366f1; /* Indigo */
    --rk-calc-primary-light: #e0e7ff;
    --rk-calc-accent: #f97316; /* Orange */
    --rk-calc-bg: #f8fafc;
    --rk-calc-card: #ffffff;
    --rk-calc-text: #475569;
    --rk-calc-border: #e2e8f0;
}

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

/* Nagłówek */
.rk-calc-header {
    padding: 35px 40px;
    background: linear-gradient(135deg, var(--rk-calc-dark) 0%, #312e81 100%);
    color: #ffffff;
    text-align: center;
}

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

.rk-calc-header p {
    font-size: 16px;
    color: #c7d2fe;
    margin: 0 auto;
    max-width: 800px;
    line-height: 1.6;
}

/* Interaktywny Kalkulator - Layout */
.rk-calc-app {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid var(--rk-calc-border);
    background: var(--rk-calc-bg);
}

/* Lewa Kolumna - Suwaki */
.rk-calc-controls {
    padding: 35px;
    border-right: 1px solid var(--rk-calc-border);
    background: var(--rk-calc-card);
}

.rk-ctrl-box {
    margin-bottom: 30px;
}

.rk-ctrl-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 12px;
}

.rk-ctrl-label {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-ctrl-val-box {
    background: var(--rk-calc-primary-light);
    color: var(--rk-calc-primary);
    padding: 4px 12px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

/* Styl suwaka */
.rk-range {
    -webkit-appearance: none;
    width: 100%;
    height: 6px;
    background: #cbd5e1;
    border-radius: 3px;
    outline: none;
}

.rk-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-calc-primary);
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(99, 102, 241, 0.4);
    border: 3px solid #ffffff;
    transition: transform 0.1s;
}

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

.rk-range-desc {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    color: #64748b;
    font-weight: 500;
}

/* Prawa Kolumna - Wyniki i Wykres SVG */
.rk-calc-visual {
    padding: 35px;
    display: flex;
    flex-direction: column;
}

.rk-result-row {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
}

.rk-res-card {
    flex: 1;
    background: var(--rk-calc-card);
    border: 1px solid var(--rk-calc-border);
    border-radius: 16px;
    padding: 15px;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    position: relative;
    overflow: hidden;
}

.rk-res-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 4px;
    background: var(--rk-calc-primary);
}

.rk-res-card:nth-child(2)::before { background: var(--rk-calc-accent); }

.rk-res-val {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-calc-dark);
    margin-bottom: 4px;
    font-variant-numeric: tabular-nums;
}

.rk-res-lbl {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-calc-text);
    text-transform: uppercase;
}

.rk-graph-box {
    flex: 1;
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    border-radius: 16px;
    padding: 20px;
    position: relative;
}

.rk-graph-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    text-align: center;
    margin-bottom: 15px;
}

/* Wyjaśnienie Krok po Kroku */
.rk-steps-area {
    padding: 40px;
    background: #ffffff;
}

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

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

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

.rk-step-badge {
    width: 28px;
    height: 28px;
    background: var(--rk-calc-primary);
    color: white;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 900;
}

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

.rk-step-card a {
    color: var(--rk-calc-primary);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rk-math-block {
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    border-left: 4px solid var(--rk-calc-primary);
    padding: 12px 15px;
    border-radius: 8px;
    font-family: monospace;
    font-size: 14px;
    color: var(--rk-calc-dark);
    margin: 15px 0;
    overflow-x: auto;
}

.rk-math-block strong {
    color: var(--rk-calc-primary);
    font-size: 15px;
}

.rk-step-card ul {
    margin: 0 0 15px 0;
    padding-left: 20px;
    font-size: 13px;
    color: var(--rk-calc-text);
    line-height: 1.6;
}

.rk-step-card li { margin-bottom: 4px; }

@media (max-width: 768px) {
    .rk-calc-app, .rk-step-grid { grid-template-columns: 1fr; }
    .rk-calc-controls { border-right: none; border-bottom: 1px solid var(--rk-calc-border); padding: 25px; }
    .rk-calc-visual, .rk-steps-area, .rk-calc-header { padding: 25px; }
    .rk-calc-header h2 { font-size: 24px; }
}
</style>

<div class="rk-calc-container" id="rkPumpCalculatorApp">
    
    <div class="rk-calc-header">
        <h2>Jak obliczyć wydajność i wysokość podnoszenia pompy obiegowej? Kalkulator krok po kroku</h2>
        <p>Obliczenie parametrów pompy obiegowej opiera się na matematycznym wyznaczeniu przepływu masowego oraz sumy strat ciśnienia liniowego i miejscowego. Sprawdź parametry interaktywnie.</p>
    </div>

    <div class="rk-calc-app">
        <div class="rk-calc-controls">
            
            <div class="rk-ctrl-box">
                <div class="rk-ctrl-header">
                    <span class="rk-ctrl-label">Moc instalacji (Φ)</span>
                    <span class="rk-ctrl-val-box" id="valPhiOut">12 kW</span>
                </div>
                <input type="range" id="rkInpPhi" class="rk-range" min="4" max="25" step="1" value="12">
                <span class="rk-range-desc">Projektowe obciążenie cieplne na podstawie <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczeń OZC</a>.</span>
            </div>

            <div class="rk-ctrl-box">
                <div class="rk-ctrl-header">
                    <span class="rk-ctrl-label">Różnica temp. (ΔT)</span>
                    <span class="rk-ctrl-val-box" id="valDtOut">5 K</span>
                </div>
                <input type="range" id="rkInpDt" class="rk-range" min="3" max="10" step="1" value="5">
                <span class="rk-range-desc"><a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/">Spadek temperatury (ΔT)</a> między zasilaniem a powrotem.</span>
            </div>

            <div class="rk-ctrl-box">
                <div class="rk-ctrl-header">
                    <span class="rk-ctrl-label">Najdłuższa pętla (l)</span>
                    <span class="rk-ctrl-val-box" id="valLenOut">100 m</span>
                </div>
                <input type="range" id="rkInpLen" class="rk-range" min="50" max="150" step="5" value="100">
                <span class="rk-range-desc">Krytyczna <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">długość pętli ogrzewania podłogowego</a> generująca największe opory.</span>
            </div>

        </div>

        <div class="rk-calc-visual">
            <div class="rk-result-row">
                <div class="rk-res-card">
                    <div class="rk-res-val" id="resQ">2.06</div>
                    <div class="rk-res-lbl">Wydajność (Q) [m³/h]</div>
                </div>
                <div class="rk-res-card">
                    <div class="rk-res-val" id="resH">2.21</div>
                    <div class="rk-res-lbl">Wys. podnoszenia (H) [m]</div>
                </div>
            </div>

            <div class="rk-graph-box">
                <div class="rk-graph-title">Wykres Punktu Pracy Pompy</div>
                <svg viewBox="0 0 300 150" style="width: 100%; height: auto; display: block; overflow: visible;">
                    <line x1="20" y1="130" x2="280" y2="130" stroke="#cbd5e1" stroke-width="1" />
                    <line x1="20" y1="10" x2="20" y2="130" stroke="#cbd5e1" stroke-width="1" />
                    <text x="280" y="145" font-size="10" fill="#64748b" text-anchor="end">Q (Przepływ)</text>
                    <text x="5" y="15" font-size="10" fill="#64748b" text-anchor="start">H</text>

                    <path d="M 20 20 Q 150 20 280 130" fill="none" stroke="#e2e8f0" stroke-width="4" stroke-dasharray="5 5" />
                    
                    <path id="svgSystemCurve" d="M 20 130 Q 80 130 150 70" fill="none" stroke="#f97316" stroke-width="3" />
                    
                    <line id="svgLineX" x1="20" y1="70" x2="150" y2="70" stroke="#6366f1" stroke-width="1" stroke-dasharray="3 3" />
                    <line id="svgLineY" x1="150" y1="130" x2="150" y2="70" stroke="#6366f1" stroke-width="1" stroke-dasharray="3 3" />
                    
                    <circle id="svgDot" cx="150" cy="70" r="6" fill="#6366f1" />
                </svg>
            </div>
        </div>
    </div>

    <div class="rk-steps-area">
        <div class="rk-step-grid">
            
            <div class="rk-step-card">
                <h3><div class="rk-step-badge">1</div> Obliczenie wydajności (Q)</h3>
                <p>Do wyznaczenia przepływu stosujemy podstawowe równanie wymiany ciepła przekształcone do postaci strumienia objętości.</p>
                
                <div class="rk-math-block">Q = Φ / (1,163 × ΔT)</div>
                
                <ul>
                    <li><strong>Q</strong> – wydajność pompy [m³/h]</li>
                    <li><strong>Φ</strong> – obciążenie cieplne instalacji [kW]</li>
                    <li><strong>ΔT</strong> – różnica temperatur zasilanie/powrót [K]</li>
                    <li><strong>1,163</strong> – stała gęstości/ciepła wody</li>
                </ul>

                <p style="font-size: 13px; margin-top: 15px;"><strong>Przykład dla ustalonego suwaka:</strong><br>
                Dla <span id="txtPhi">12</span> kW i ΔT = <span id="txtDt">5</span> K:</p>
                <div class="rk-math-block" style="border-left-color: #cbd5e1; background: #f8fafc;">
                    Q = <span id="txtPhi2">12</span> / (1,163 × <span id="txtDt2">5</span>)<br>
                    Q ≈ <strong id="txtResQ">2.06</strong> m³/h
                </div>
            </div>

            <div class="rk-step-card">
                <h3><div class="rk-step-badge">2</div> Wyznaczenie podnoszenia (H)</h3>
                <p>Wysokość podnoszenia obliczamy z sumy strat ciśnienia najdłuższego obiegu (pętli krytycznej).</p>
                
                <div class="rk-math-block">
                    Δp<sub>tot</sub> = (R × l + Δp<sub>m</sub>) × 1,3<br>
                    H = Δp<sub>tot</sub> / 10000
                </div>

                <ul>
                    <li><strong>R</strong> – opór rury (założono 120 Pa/m)</li>
                    <li><strong>l</strong> – długość najdłuższej pętli [m]</li>
                    <li><strong>Δp<sub>m</sub></strong> – opory miejscowe (założono 5000 Pa)</li>
                    <li><strong>1,3</strong> – współczynnik bezpieczeństwa</li>
                </ul>

                <p style="font-size: 13px; margin-top: 15px;"><strong>Przykład dla pętli <span id="txtLen">100</span> m:</strong></p>
                <div class="rk-math-block" style="border-left-color: #cbd5e1; background: #f8fafc;">
                    Δp<sub>tot</sub> = (120 × <span id="txtLen2">100</span> + 5000) × 1,3<br>
                    Δp<sub>tot</sub> = <span id="txtPa">22100</span> Pa<br>
                    H = <span id="txtPa2">22100</span> / 10000 = <strong id="txtResH">2.21</strong> m H₂O
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Input elements
    const inpPhi = document.getElementById('rkInpPhi');
    const inpDt = document.getElementById('rkInpDt');
    const inpLen = document.getElementById('rkInpLen');

    // UI Value Output elements
    const valPhiOut = document.getElementById('valPhiOut');
    const valDtOut = document.getElementById('valDtOut');
    const valLenOut = document.getElementById('valLenOut');

    // Result elements
    const resQ = document.getElementById('resQ');
    const resH = document.getElementById('resH');

    // Text replacement elements
    const txtPhi = document.getElementById('txtPhi');
    const txtPhi2 = document.getElementById('txtPhi2');
    const txtDt = document.getElementById('txtDt');
    const txtDt2 = document.getElementById('txtDt2');
    const txtResQ = document.getElementById('txtResQ');
    
    const txtLen = document.getElementById('txtLen');
    const txtLen2 = document.getElementById('txtLen2');
    const txtPa = document.getElementById('txtPa');
    const txtPa2 = document.getElementById('txtPa2');
    const txtResH = document.getElementById('txtResH');

    // SVG elements
    const svgSystemCurve = document.getElementById('svgSystemCurve');
    const svgDot = document.getElementById('svgDot');
    const svgLineX = document.getElementById('svgLineX');
    const svgLineY = document.getElementById('svgLineY');

    // Graph configuration
    const graphWidth = 260; // 280 - 20
    const graphHeight = 120; // 130 - 10
    const maxQ = 6; // max m3/h on graph
    const maxH = 6; // max m H2O on graph

    function updateCalculator() {
        const phi = parseFloat(inpPhi.value);
        const dt = parseFloat(inpDt.value);
        const len = parseFloat(inpLen.value);

        // UI Updates
        valPhiOut.textContent = phi + ' kW';
        valDtOut.textContent = dt + ' K';
        valLenOut.textContent = len + ' m';

        // Calculations
        const qVal = phi / (1.163 * dt);
        
        const R = 120; // Pa/m fixed for simulation
        const pm = 5000; // Pa fixed local resistance
        const pTot = (R * len + pm) * 1.3;
        const hVal = pTot / 10000;

        // Set Results
        resQ.textContent = qVal.toFixed(2);
        resH.textContent = hVal.toFixed(2);

        // Update Text Logic block
        txtPhi.textContent = phi; txtPhi2.textContent = phi;
        txtDt.textContent = dt; txtDt2.textContent = dt;
        txtResQ.textContent = qVal.toFixed(2);
        
        txtLen.textContent = len; txtLen2.textContent = len;
        txtPa.textContent = pTot.toFixed(0); txtPa2.textContent = pTot.toFixed(0);
        txtResH.textContent = hVal.toFixed(2);

        // Update SVG Graph
        // Calculate coordinates (Origin is at 20, 130)
        let cx = 20 + (qVal / maxQ) * graphWidth;
        let cy = 130 - (hVal / maxH) * graphHeight;

        // Clamp values for visual sanity if they exceed graph
        if(cx > 280) cx = 280;
        if(cy < 10) cy = 10;

        // Update Dot and Lines
        svgDot.setAttribute('cx', cx);
        svgDot.setAttribute('cy', cy);
        
        svgLineX.setAttribute('x2', cx);
        svgLineX.setAttribute('y1', cy);
        svgLineX.setAttribute('y2', cy);
        
        svgLineY.setAttribute('x1', cx);
        svgLineY.setAttribute('x2', cx);
        svgLineY.setAttribute('y1', 130);
        svgLineY.setAttribute('y2', cy);

        // Draw parabolic system curve
        // Parabola equation: H = k * Q^2 -> passing through origin (20,130) and point (cx,cy)
        // Control point for quadratic bezier to approximate parabola:
        const cpX = 20 + (cx - 20) / 2;
        const cpY = 130; 
        svgSystemCurve.setAttribute('d', `M 20 130 Q ${cpX} ${cpY} ${cx} ${cy}`);
    }

    // Listeners
    inpPhi.addEventListener('input', updateCalculator);
    inpDt.addEventListener('input', updateCalculator);
    inpLen.addEventListener('input', updateCalculator);

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-kalkulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Jak obliczyć wydajność i wysokość podnoszenia pompy obiegowej? Kalkulator krok po kroku",
    "description": "Zestawienie inżynierskich wzorów na przepływ i straty ciśnienia w podłogówce. Interaktywny algorytm wyliczający punkt pracy pompy obiegowej.",
    "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-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-algorytm",
    "name": "Algorytm doboru parametrów Q i H pompy obiegowej 2026",
    "description": "Matematyczny model obliczeniowy strat ciśnienia i przepływu objętościowego dla pętli ogrzewania podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "obliczenie wydajności pompy obiegowej",
      "wysokość podnoszenia pompy wzór",
      "kalkulator doboru pompy obiegowej",
      "opory miejscowe i liniowe podłogówka",
      "punkt pracy pompy wykres"
    ],
    "measurementTechnique": "Równanie wymiany ciepła oraz sumowanie strat ciśnienia liniowego (120 Pa/m) i miejscowego z współczynnikiem 1.3.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Q [m3/h] = Moc [kW] / (1.163 * Delta T)",
        "H [m H2O] = (Opory rur + Opory zaworów) * 1.3 / 10000"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-kalkulator",
    "name": "Kalkulator Punktu Pracy Pompy Obiegowej",
    "description": "Narzędzie inżynierskie pozwalające na dynamiczne wyliczenie parametrów Q i H oraz narysowanie charakterystyki instalacji na podstawie suwaków.",
    "applicationCategory": "TechnicalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-mod-dark: #0f172a;
    --rk-mod-slate: #334155;
    --rk-mod-bg: #f8fafc;
    --rk-mod-card: #ffffff;
    --rk-mod-border: #e2e8f0;
    
    /* Temat kolorystyczny - Techniczny Teal */
    --rk-mod-teal: #0d9488;
    --rk-mod-teal-light: #ccfbf1;
    --rk-mod-teal-dark: #115e59;
    --rk-mod-red: #ef4444;
    --rk-mod-red-light: #fee2e2;
}

.rk-mod-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-mod-card);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(13, 148, 136, 0.15);
    border: 1px solid rgba(13, 148, 136, 0.2);
    overflow: hidden;
}

/* Nagłówek */
.rk-mod-header {
    padding: 35px 40px;
    background: linear-gradient(135deg, var(--rk-mod-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

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

.rk-mod-header p {
    font-size: 16px;
    color: #94a3b8;
    margin: 0;
    max-width: 800px;
    line-height: 1.6;
}

/* Układ główny */
.rk-mod-layout {
    display: grid;
    grid-template-columns: 380px 1fr;
    border-bottom: 1px solid var(--rk-mod-border);
}

/* Panel Sterowania */
.rk-mod-controls {
    padding: 35px;
    background: var(--rk-mod-bg);
    border-right: 1px solid var(--rk-mod-border);
}

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

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

/* Mode Switch (CP vs PP) */
.rk-mode-switch {
    display: flex;
    background: #e2e8f0;
    border-radius: 12px;
    padding: 4px;
    position: relative;
}

.rk-mode-switch input { display: none; }

.rk-mode-label {
    flex: 1;
    text-align: center;
    padding: 12px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-mod-slate);
    cursor: pointer;
    border-radius: 8px;
    transition: all 0.3s;
    z-index: 2;
}

.rk-mode-switch input:checked + .rk-mode-label {
    color: #ffffff;
}

.rk-mode-glider {
    position: absolute;
    top: 4px; left: 4px;
    height: calc(100% - 8px);
    width: calc(50% - 4px);
    background: var(--rk-mod-teal);
    border-radius: 8px;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    z-index: 1;
}

#rkModePP:checked ~ .rk-mode-glider {
    transform: translateX(100%);
    background: var(--rk-mod-red);
}

/* Termostaty (Checkbox) */
.rk-thermo-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px;
    background: var(--rk-mod-card);
    border: 1px solid var(--rk-mod-border);
    border-radius: 12px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.2s;
}

.rk-thermo-box:hover { border-color: var(--rk-mod-teal); }

.rk-thermo-info {
    display: flex;
    flex-direction: column;
}

.rk-thermo-name { font-size: 15px; font-weight: 700; color: var(--rk-mod-dark); }
.rk-thermo-status { font-size: 12px; color: var(--rk-mod-teal); font-weight: 600; transition: color 0.3s; }

.rk-switch-sm {
    position: relative;
    width: 44px; height: 24px;
}

.rk-switch-sm input { display: none; }
.rk-slider-sm {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: var(--rk-mod-teal);
    border-radius: 24px;
    transition: .3s;
}
.rk-slider-sm:before {
    position: absolute;
    content: "";
    height: 18px; width: 18px;
    left: 3px; bottom: 3px;
    background-color: white;
    border-radius: 50%;
    transition: .3s;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.rk-switch-sm input:checked + .rk-slider-sm { background-color: #cbd5e1; }
.rk-switch-sm input:checked + .rk-slider-sm:before { transform: translateX(20px); }

/* Wizualizator */
.rk-mod-visual {
    padding: 35px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
}

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

.rk-dash-metric {
    flex: 1;
    background: var(--rk-mod-bg);
    border: 1px solid var(--rk-mod-border);
    border-radius: 12px;
    padding: 15px;
    text-align: center;
}

.rk-dash-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-mod-dark);
    font-variant-numeric: tabular-nums;
    transition: color 0.3s;
}

.rk-dash-lbl {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-mod-slate);
    text-transform: uppercase;
    margin-top: 4px;
}

.rk-svg-wrapper {
    flex: 1;
    background: var(--rk-mod-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-mod-border);
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

/* SVG Animations */
.rk-pipe { stroke: #cbd5e1; stroke-width: 8; fill: none; stroke-linecap: round; }
.rk-water { stroke: var(--rk-mod-teal); stroke-width: 4; fill: none; stroke-linecap: round; stroke-dasharray: 10 15; transition: stroke 0.3s, opacity 0.3s; }
.rk-valve { transition: transform 0.3s; transform-origin: center; }

.flow-active { animation: waterFlow 1s linear infinite; }
.flow-slow { animation: waterFlow 3s linear infinite; stroke: var(--rk-mod-red); }
.flow-stopped { opacity: 0; }

@keyframes waterFlow { to { stroke-dashoffset: -25; } }

.rk-status-alert {
    position: absolute;
    bottom: 20px; right: 20px;
    padding: 8px 16px;
    background: var(--rk-mod-teal-light);
    color: var(--rk-mod-teal-dark);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    transition: all 0.3s;
    opacity: 1;
}

/* Kontent Opisowy */
.rk-mod-content {
    padding: 40px;
    background: #ffffff;
}

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

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

.rk-mod-content a {
    color: var(--rk-mod-teal);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rk-grid-text {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-top: 25px;
}

.rk-text-box {
    padding: 20px;
    background: var(--rk-mod-bg);
    border-radius: 12px;
    border-left: 4px solid var(--rk-mod-teal);
}

.rk-text-box.box-error {
    border-left-color: var(--rk-mod-red);
}

@media (max-width: 768px) {
    .rk-mod-layout { grid-template-columns: 1fr; }
    .rk-mod-controls { border-right: none; border-bottom: 1px solid var(--rk-mod-border); padding: 25px; }
    .rk-grid-text { grid-template-columns: 1fr; gap: 15px; }
    .rk-mod-visual, .rk-mod-content, .rk-mod-header { padding: 25px; }
    .rk-dashboard { flex-wrap: wrap; }
    .rk-dash-metric { min-width: 40%; }
}
</style>

<div class="rk-mod-container" id="rkPumpModeApp">
    <div class="rk-mod-header">
        <h2>Jaki tryb pracy pompy elektronicznej wybrać: Stałociśnieniowy (CP) czy Proporcjonalny (PP)?</h2>
        <p>W systemach płaszczyznowych, gdzie pętle zamykane są strefowo przez termostaty, wybór trybu determinuje komfort cieplny. Zobacz na żywo, jak błędny tryb &#8222;odcina&#8221; najdalsze pokoje.</p>
    </div>

    <div class="rk-mod-layout">
        <div class="rk-mod-controls">
            
            <div class="rk-ctrl-group">
                <div class="rk-ctrl-title">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    Ustawienie Pompy (Algorytm)
                </div>
                <div class="rk-mode-switch">
                    <input type="radio" name="pumpMode" id="rkModeCP" value="CP" checked="">
                    <label for="rkModeCP" class="rk-mode-label">Tryb Stałociśnieniowy (CP)</label>
                    
                    <input type="radio" name="pumpMode" id="rkModePP" value="PP">
                    <label for="rkModePP" class="rk-mode-label">Tryb Proporcjonalny (PP)</label>
                    
                    <div class="rk-mode-glider"></div>
                </div>
            </div>

            <div class="rk-ctrl-group">
                <div class="rk-ctrl-title">
                    <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>
                    Termostaty Pokojowe
                </div>

                <label class="rk-thermo-box" id="boxT1">
                    <div class="rk-thermo-info">
                        <span class="rk-thermo-name">Salon (Pętla 1)</span>
                        <span class="rk-thermo-status" id="statT1">Grzeje (Zawór otwarty)</span>
                    </div>
                    <div class="rk-switch-sm">
                        <input type="checkbox" id="rkToggle1">
                        <span class="rk-slider-sm"></span>
                    </div>
                </label>

                <label class="rk-thermo-box" id="boxT2">
                    <div class="rk-thermo-info">
                        <span class="rk-thermo-name">Sypialnia (Pętla 2)</span>
                        <span class="rk-thermo-status" id="statT2">Grzeje (Zawór otwarty)</span>
                    </div>
                    <div class="rk-switch-sm">
                        <input type="checkbox" id="rkToggle2">
                        <span class="rk-slider-sm"></span>
                    </div>
                </label>
                
                <div style="font-size: 12px; color: #64748b; margin-top: 10px; text-align: center;">
                    Pętla 3 (Łazienka) jest zawsze otwarta na potrzeby symulacji.
                </div>
            </div>
        </div>

        <div class="rk-mod-visual">
            <div class="rk-dashboard">
                <div class="rk-dash-metric">
                    <div class="rk-dash-val" id="valPress">2.5 m</div>
                    <div class="rk-dash-lbl">Ciśnienie (H)</div>
                </div>
                <div class="rk-dash-metric">
                    <div class="rk-dash-val" id="valPow">22 W</div>
                    <div class="rk-dash-lbl">Pobór Mocy</div>
                </div>
            </div>

            <div class="rk-svg-wrapper">
                <svg viewBox="0 0 300 200" style="width: 100%; height: auto;">
                    <path d="M 50 100 L 100 100" class="rk-pipe"></path>
                    <path d="M 50 100 L 100 100" class="rk-water flow-active" id="flowMain"></path>

                    <circle cx="50" cy="100" r="25" fill="#1e293b"></circle>
                    <circle cx="50" cy="100" r="15" fill="#334155"></circle>

                    <rect x="100" y="40" width="20" height="120" fill="#cbd5e1" rx="4"></rect>

                    <path d="M 120 60 L 250 60" class="rk-pipe"></path>
                    <path d="M 120 60 L 250 60" class="rk-water flow-active" id="flowP1"></path>
                    <circle cx="140" cy="60" r="8" fill="#0d9488" class="rk-valve" id="valve1"></circle>
                    <text x="260" y="64" font-size="12" font-weight="bold" fill="#334155">Salon</text>

                    <path d="M 120 100 L 250 100" class="rk-pipe"></path>
                    <path d="M 120 100 L 250 100" class="rk-water flow-active" id="flowP2"></path>
                    <circle cx="140" cy="100" r="8" fill="#0d9488" class="rk-valve" id="valve2"></circle>
                    <text x="260" y="104" font-size="12" font-weight="bold" fill="#334155">Sypialnia</text>

                    <path d="M 120 140 L 250 140" class="rk-pipe"></path>
                    <path d="M 120 140 L 250 140" class="rk-water flow-active" id="flowP3"></path>
                    <circle cx="140" cy="140" r="8" fill="#0d9488"></circle>
                    <text x="260" y="144" font-size="12" font-weight="bold" fill="#334155">Łazienka</text>
                </svg>

                <div class="rk-status-alert" id="statusAlert">System zbilansowany</div>
            </div>
        </div>
    </div>

    <div class="rk-mod-content">
        <h3>Dlaczego Tryb Stałociśnieniowy (CP) to jedyny wybór?</h3>
        <p>Dla instalacji ogrzewania podłogowego jedynym prawidłowym trybem pracy pompy elektronicznej jest tryb stałociśnieniowy (oznaczany jako <strong>CP – Constant Pressure</strong>). Urządzenie utrzymuje w nim stałą wysokość podnoszenia (ciśnienie) niezależnie od zmian natężenia przepływu, które są naturalnie wywoływane zamykaniem się <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/">siłowników termoelektrycznych</a> na rozdzielaczu.</p>
        
        <div class="rk-grid-text">
            <div class="rk-text-box">
                <h4 style="margin: 0 0 10px 0; color: var(--rk-mod-teal);">Mechanika w Trybie CP (Prawidłowa)</h4>
                <p style="font-size: 14px; margin: 0;">Gdy <a href="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/">termostat pokojowy</a> zamknie obieg nagrzanego salonu, pompa natychmiast wyczuwa wzrost oporów. Zmniejsza swoje obroty i pobór prądu (np. do 6W), ale <strong>utrzymuje zadane ciśnienie</strong>. Woda płynie z pełną prędkością przez łazienkę.</p>
            </div>
            <div class="rk-text-box box-error">
                <h4 style="margin: 0 0 10px 0; color: var(--rk-mod-red);">Mechanika w Trybie PP (Błąd)</h4>
                <p style="font-size: 14px; margin: 0;">Wybór trybu proporcjonalnego (PP) jest błędem. Gdy salon się zamyka, pompa sztucznie obniża ciśnienie hydrauliczne w całym układzie. Prowadzi to do drastycznego spowolnienia przepływu i wychłodzenia podłogi np. w <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/">strefach brzegowych</a>.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Controls
    const modeRadios = document.querySelectorAll('input[name="pumpMode"]');
    const toggle1 = document.getElementById('rkToggle1');
    const toggle2 = document.getElementById('rkToggle2');
    
    // Status Text
    const stat1 = document.getElementById('statT1');
    const stat2 = document.getElementById('statT2');
    const alertBox = document.getElementById('statusAlert');
    
    // Metrics
    const valPress = document.getElementById('valPress');
    const valPow = document.getElementById('valPow');
    
    // SVG Elements
    const flowMain = document.getElementById('flowMain');
    const flowP1 = document.getElementById('flowP1');
    const flowP2 = document.getElementById('flowP2');
    const flowP3 = document.getElementById('flowP3');
    const valve1 = document.getElementById('valve1');
    const valve2 = document.getElementById('valve2');

    function updateSim() {
        const mode = document.querySelector('input[name="pumpMode"]:checked').value;
        const v1Closed = toggle1.checked;
        const v2Closed = toggle2.checked;
        
        let openCount = 3;
        if(v1Closed) openCount--;
        if(v2Closed) openCount--;

        // UI Updates for Toggles
        if(v1Closed) {
            stat1.textContent = 'Zamknięty (Osiągnięto temp.)';
            stat1.style.color = '#64748b';
            valve1.style.transform = 'scale(0.3)';
            valve1.style.fill = '#ef4444';
            flowP1.className.baseVal = 'rk-water flow-stopped';
        } else {
            stat1.textContent = 'Grzeje (Zawór otwarty)';
            stat1.style.color = '#0d9488';
            valve1.style.transform = 'scale(1)';
            valve1.style.fill = '#0d9488';
            flowP1.className.baseVal = 'rk-water flow-active';
        }

        if(v2Closed) {
            stat2.textContent = 'Zamknięty (Osiągnięto temp.)';
            stat2.style.color = '#64748b';
            valve2.style.transform = 'scale(0.3)';
            valve2.style.fill = '#ef4444';
            flowP2.className.baseVal = 'rk-water flow-stopped';
        } else {
            stat2.textContent = 'Grzeje (Zawór otwarty)';
            stat2.style.color = '#0d9488';
            valve2.style.transform = 'scale(1)';
            valve2.style.fill = '#0d9488';
            flowP2.className.baseVal = 'rk-water flow-active';
        }

        // Core Simulation Logic
        if(openCount === 3) {
            valPress.textContent = '2.5 m';
            valPress.style.color = '#0f172a';
            valPow.textContent = '22 W';
            flowP3.className.baseVal = 'rk-water flow-active';
            flowMain.className.baseVal = 'rk-water flow-active';
            
            alertBox.textContent = 'Układ zbilansowany (Wszystko otwarte)';
            alertBox.style.background = 'var(--rk-mod-teal-light)';
            alertBox.style.color = 'var(--rk-mod-teal-dark)';
        } 
        else if (mode === 'CP') {
            // Constant Pressure Mode
            valPress.textContent = '2.5 m'; // Stays constant
            valPress.style.color = '#0f172a';
            valPow.textContent = openCount === 2 ? '14 W' : '6 W'; // Power drops adaptively
            flowP3.className.baseVal = 'rk-water flow-active'; // Łazienka still gets full flow
            flowMain.className.baseVal = 'rk-water flow-active';
            
            alertBox.textContent = 'CP: Łazienka dogrzewana poprawnie';
            alertBox.style.background = 'var(--rk-mod-teal-light)';
            alertBox.style.color = 'var(--rk-mod-teal-dark)';
        }
        else if (mode === 'PP') {
            // Proportional Pressure Mode
            valPress.textContent = openCount === 2 ? '1.5 m' : '0.8 m'; // Pressure drops!
            valPress.style.color = '#ef4444';
            valPow.textContent = openCount === 2 ? '10 W' : '4 W'; 
            
            // Flow in remaining loop suffers
            if(openCount === 1) {
                flowP3.className.baseVal = 'rk-water flow-slow';
                flowMain.className.baseVal = 'rk-water flow-slow';
                alertBox.textContent = 'BŁĄD PP: Łazienka niedogrzana! (Spadek ciśnienia)';
                alertBox.style.background = 'var(--rk-mod-red-light)';
                alertBox.style.color = 'var(--rk-mod-red)';
            } else {
                flowP3.className.baseVal = 'rk-water flow-active';
                flowMain.className.baseVal = 'rk-water flow-active';
                alertBox.textContent = 'PP: Spadek ciśnienia. Słabszy przepływ.';
                alertBox.style.background = '#fef3c7';
                alertBox.style.color = '#b45309';
            }
        }
    }

    // Event Listeners
    modeRadios.forEach(r => r.addEventListener('change', updateSim));
    toggle1.addEventListener('change', updateSim);
    toggle2.addEventListener('change', updateSim);

    // Init
    updateSim();
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-tryby-pracy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Jaki tryb pracy pompy elektronicznej wybrać: Stałociśnieniowy (CP) czy Proporcjonalny (PP)?",
    "description": "Techniczne porównanie trybów pracy pomp obiegowych (CP vs PP). Dowiedz się, dlaczego tryb proporcjonalny powoduje niedogrzewanie pomieszczeń ze sterowaniem strefowym.",
    "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-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-tryby-pracy",
    "name": "Charakterystyki Pracy Pomp Obiegowych (CP vs PP) 2026",
    "description": "Zestawienie parametrów ciśnienia i przepływu dla inteligentnych pomp obiegowych w układach z dławieniem termostatycznym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "tryb stałociśnieniowy pompy",
      "tryb proporcjonalny podłogówka",
      "zamykanie siłowników termoelektrycznych",
      "spadek ciśnienia w instalacji",
      "niedogrzana łazienka"
    ],
    "measurementTechnique": "Symulacja zmian ciśnienia tłoczenia [m H2O] i poboru mocy [W] w zależności od ilości otwartych zaworów na belce rozdzielacza.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Tryb CP (Constant Pressure): Utrzymuje stałe ciśnienie przy zmniejszonym przepływie, idealny dla podłogówki.",
        "Tryb PP (Proportional Pressure): Redukuje ciśnienie wraz ze spadkiem przepływu, powodując zaburzenia hydrauliczne i niedogrzewanie pętli."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-tryby-pracy",
    "name": "Symulator Hydrauliczny Trybów CP/PP",
    "description": "Narzędzie interaktywne ilustrujące wpływ zamykania siłowników termoelektrycznych na parametry przepływu i ciśnienia w zależności od zadanego algorytmu pompy.",
    "applicationCategory": "TechnicalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-con-dark: #0f172a;
    --rk-con-text: #334155;
    --rk-con-bg: #f8fafc;
    --rk-con-surface: #ffffff;
    --rk-con-border: #e2e8f0;
    
    /* State Colors */
    --rk-state-weak: #0284c7;   /* Niebieski - niedogrzanie */
    --rk-state-opt: #10b981;    /* Zielony - idealnie */
    --rk-state-strong: #ef4444; /* Czerwony - przeciążenie */
}

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

/* Tagi SEO */
.rk-con-tags {
    padding: 25px 40px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rk-mat-tag {
    background: #f1f5f9;
    color: #475569;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid #e2e8f0;
    transition: all 0.3s;
}

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

/* Nagłówek */
.rk-con-header {
    padding: 25px 40px 30px;
    text-align: center;
    border-bottom: 1px solid var(--rk-con-border);
}

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

.rk-con-header p {
    font-size: 16px;
    color: var(--rk-con-text);
    margin: 0 auto;
    max-width: 750px;
    line-height: 1.6;
}

/* Interaktywny Symulator - Obszar Roboczy */
.rk-con-app-area {
    background: linear-gradient(180deg, var(--rk-con-bg) 0%, #ffffff 100%);
    padding: 40px;
}

/* Suwak (Slider) */
.rk-sim-slider-box {
    max-width: 600px;
    margin: 0 auto 40px;
    background: var(--rk-con-surface);
    padding: 25px 35px;
    border-radius: 20px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
    border: 1px solid var(--rk-con-border);
    text-align: center;
}

.rk-slider-title {
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--rk-con-dark);
    margin-bottom: 25px;
}

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

.rk-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-state-opt);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    border: 4px solid #ffffff;
    transition: background 0.3s, transform 0.1s;
}

.rk-range-input::-moz-range-thumb {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-state-opt);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    border: 4px solid #ffffff;
    transition: background 0.3s, transform 0.1s;
}

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

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

/* Wizualizacja SVG */
.rk-con-visual {
    position: relative;
    width: 100%;
    max-width: 400px;
    height: 180px;
    margin: 0 auto 40px;
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid var(--rk-con-border);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.rk-vis-status-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: #ffffff;
    transition: background-color 0.3s;
}

/* Animacje SVG zależne od stanu */
.rk-svg-pipe { stroke: #cbd5e1; stroke-width: 12; stroke-linecap: round; fill: none; transition: stroke 0.3s; }
.rk-svg-flow { stroke-width: 6; stroke-linecap: round; fill: none; stroke-dasharray: 15 15; transition: stroke 0.3s; }

/* Stany Wizualizatora */
.state-1 .rk-vis-status-badge { background: var(--rk-state-weak); }
.state-1 .rk-svg-pipe { stroke: #e0f2fe; }
.state-1 .rk-svg-flow { stroke: var(--rk-state-weak); animation: flowAnim 4s linear infinite; }
.state-1 .rk-svg-crack { opacity: 1; stroke-dasharray: 100; animation: drawCrack 2s forwards; }
.state-1 .rk-svg-wave { opacity: 0; }

.state-2 .rk-vis-status-badge { background: var(--rk-state-opt); }
.state-2 .rk-svg-pipe { stroke: #dcfce7; }
.state-2 .rk-svg-flow { stroke: var(--rk-state-opt); animation: flowAnim 1.5s linear infinite; }
.state-2 .rk-svg-crack { opacity: 0; }
.state-2 .rk-svg-wave { opacity: 0; }

.state-3 .rk-vis-status-badge { background: var(--rk-state-strong); }
.state-3 .rk-svg-pipe { stroke: #fee2e2; animation: shakePipe 0.5s infinite; }
.state-3 .rk-svg-flow { stroke: var(--rk-state-strong); animation: flowAnim 0.3s linear infinite; }
.state-3 .rk-svg-crack { opacity: 0; }
.state-3 .rk-svg-wave { opacity: 1; animation: pulseWave 0.5s infinite; }

@keyframes flowAnim { to { stroke-dashoffset: -60; } }
@keyframes drawCrack { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes shakePipe { 0%, 100% { transform: translateY(0); } 25% { transform: translateY(-2px); } 75% { transform: translateY(2px); } }
@keyframes pulseWave { 0% { opacity: 0.3; transform: scale(0.9); } 50% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0.3; transform: scale(0.9); } }

/* Karty Konsekwencji - Kafelki Grid */
.rk-con-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.rk-con-card {
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-con-border);
    border-top: 4px solid var(--rk-state-opt); /* Dynamiczny kolor */
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    transition: all 0.3s ease;
}

.rk-con-card.fade-in {
    animation: cardFadeIn 0.4s ease-out forwards;
}

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

.rk-card-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    background: #f1f5f9;
    color: var(--rk-con-dark);
    transition: all 0.3s;
}

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

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

.rk-con-card a {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 768px) {
    .rk-con-cards { grid-template-columns: 1fr; }
    .rk-con-header { padding: 25px 20px; }
    .rk-con-header h2 { font-size: 24px; }
    .rk-con-app-area { padding: 25px 20px; }
    .rk-sim-slider-box { padding: 20px; }
}
</style>

<div class="rk-con-container" id="rkConsequenceApp">
    <div class="rk-con-tags">
        <span class="rk-mat-tag"># skutki przewymiarowania pompy</span>
        <span class="rk-mat-tag"># taktowanie pompy ciepła</span>
        <span class="rk-mat-tag"># niedogrzewanie strefowe</span>
        <span class="rk-mat-tag"># kawitacja w instalacji</span>
    </div>

    <div class="rk-con-header">
        <h2>Czym grozi zły dobór pompy obiegowej?</h2>
        <p>Konsekwencje błędnego doboru pompy obiegowej przekładają się bezpośrednio na straty finansowe, uciążliwy hałas w domu oraz drastyczne skrócenie żywotności samej wylewki i armatury. Przesuń suwak i zobacz skutki.</p>
    </div>

    <div class="rk-con-app-area">
        
        <div class="rk-sim-slider-box">
            <div class="rk-slider-title">Wydajność Pompy Obiegowej</div>
            <input type="range" min="1" max="3" step="1" value="2" class="rk-range-input" id="rkPumpSlider">
            <div class="rk-slider-labels">
                <span style="color: var(--rk-state-weak);">Za słaba</span>
                <span style="color: var(--rk-state-opt);">Optymalna</span>
                <span style="color: var(--rk-state-strong);">Za mocna</span>
            </div>
        </div>

        <div class="rk-con-visual state-2" id="rkSvgStage">
            <div class="rk-vis-status-badge" id="rkStatusBadge">Zrównoważona</div>
            <svg width="250" height="100" viewBox="0 0 250 100">
                <path d="M 20 50 Q 125 20 230 50" class="rk-svg-pipe" id="rkPipeLine"/>
                <path d="M 20 50 Q 125 20 230 50" class="rk-svg-flow" id="rkWaterFlow"/>
                
                <path d="M 110 10 L 120 30 L 115 45 L 125 60" stroke="#0f172a" stroke-width="2" fill="none" class="rk-svg-crack" opacity="0"/>
                
                <path d="M 125 0 A 20 20 0 0 1 145 20 M 125 -10 A 30 30 0 0 1 155 20" stroke="#ef4444" stroke-width="2" fill="none" class="rk-svg-wave" opacity="0" transform="translate(0, 15)"/>
            </svg>
        </div>

        <div class="rk-con-cards" id="rkCardsGrid">
            <div class="rk-con-card" id="rkCard1" style="border-top-color: var(--rk-state-opt);">
                <div class="rk-card-icon" id="rkIcon1" style="background: #dcfce7; color: var(--rk-state-opt);">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                <h3 id="rkTitle1">Idealny przepływ</h3>
                <p id="rkText1">Przepływy na rotametrach stabilne (1,5 &#8211; 2,5 l/min). Równomierne oddawanie ciepła w każdym pomieszczeniu.</p>
            </div>

            <div class="rk-con-card" id="rkCard2" style="border-top-color: var(--rk-state-opt);">
                <div class="rk-card-icon" id="rkIcon2" style="background: #dcfce7; color: var(--rk-state-opt);">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                </div>
                <h3 id="rkTitle2">Bezpieczna wylewka</h3>
                <p id="rkText2">Prawidłowa Delta T zapobiega naprężeniom termicznym. Jastrych pracuje bezpiecznie wzdłuż wyznaczonych dylatacji.</p>
            </div>

            <div class="rk-con-card" id="rkCard3" style="border-top-color: var(--rk-state-opt);">
                <div class="rk-card-icon" id="rkIcon3" style="background: #dcfce7; color: var(--rk-state-opt);">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                </div>
                <h3 id="rkTitle3">Wysoka sprawność (COP)</h3>
                <p id="rkText3">Źródło ciepła pracuje w optymalnych, długich cyklach. Niskie rachunki za energię elektryczną.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('rkPumpSlider');
    const svgStage = document.getElementById('rkSvgStage');
    const statusBadge = document.getElementById('rkStatusBadge');
    
    // Elementy Kart
    const cards = [document.getElementById('rkCard1'), document.getElementById('rkCard2'), document.getElementById('rkCard3')];
    const icons = [document.getElementById('rkIcon1'), document.getElementById('rkIcon2'), document.getElementById('rkIcon3')];
    const titles = [document.getElementById('rkTitle1'), document.getElementById('rkTitle2'), document.getElementById('rkTitle3')];
    const texts = [document.getElementById('rkText1'), document.getElementById('rkText2'), document.getElementById('rkText3')];

    // Baza danych dla stanów (Invisible Data logic)
    const simData = {
        "1": {
            color: "#0284c7",
            bg: "#e0f2fe",
            badge: "Niedowymiarowana",
            iconSvg: '<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>',
            content: [
                { title: "Zjawisko niedogrzewania", text: "Przepływ na rotametrach spada poniżej projektowych 1,0 l/min. Najdalsze pokoje i łazienki pozostają niedogrzane." },
                { title: "Szok termiczny wylewki", text: 'Wzrost <a href="https://projekt-ogrzewania.pl/spadek-temperatury-dt-roznica-miedzy-temperatura-zasilania-a-powrotu/">delty temperatur ponad krytyczne 10 K</a> wywołuje potężne naprężenia termiczne i pękanie wylewki.' },
                { title: "Taktowanie pompy ciepła", text: "Zbyt mały przepływ uniemożliwia oddanie mocy. Pompa ciepła zgłasza błąd wysokiego ciśnienia (HP) i co chwilę się wyłącza." }
            ]
        },
        "2": {
            color: "#10b981",
            bg: "#dcfce7",
            badge: "Zrównoważona",
            iconSvg: '<svg width="22" height="22" 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>',
            content: [
                { title: "Idealny przepływ", text: "Przepływy na rotametrach stabilne (1,5 - 2,5 l/min). Równomierne oddawanie ciepła w każdym pomieszczeniu." },
                { title: "Bezpieczna wylewka", text: 'Prawidłowa Delta T zapobiega naprężeniom. <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">Jastrych betonowy</a> pracuje bezpiecznie wzdłuż wyznaczonych dylatacji.' },
                { title: "Wysoka sprawność (COP)", text: "Źródło ciepła pracuje w optymalnych, długich cyklach bez wywoływania błędów. Gwarancja niskich rachunków." }
            ]
        },
        "3": {
            color: "#ef4444",
            bg: "#fee2e2",
            badge: "Przewymiarowana",
            iconSvg: '<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>',
            content: [
                { title: "Kawitacja i uciążliwy hałas", text: "Przekroczenie prędkości 0,6 m/s generuje głośne szumy i buczenie w szafkach rozdzielaczowych. Brak komfortu akustycznego." },
                { title: "Erozja ścierna rur PEX", text: 'Potężna turbulencja zrywa gniazda zaworów i powoduje wymywanie <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/">wewnętrznej warstwy EVOH</a> w rurach.' },
                { title: "Finansowe marnotrawstwo", text: "Za duża pompa pobiera stale o 40–60 W więcej energii niż powinna, co generuje stratę rzędu 120 PLN rocznie na samym prądzie." }
            ]
        }
    };

    function updateSimulation(val) {
        const data = simData[val];
        
        // Aktualizacja SVG Stage
        svgStage.className = `rk-con-visual state-${val}`;
        statusBadge.textContent = data.badge;
        
        // Aktualizacja Kolorów Suwaka (dynamiczny thumb zrealizowany w CSS root variables logicznie, tu wymuszamy styl)
        slider.style.background = `linear-gradient(to right, ${data.color} 0%, ${data.color} ${(val-1)*50}%, #cbd5e1 ${(val-1)*50}%, #cbd5e1 100%)`;

        // Aktualizacja Kart z efektem Fade
        cards.forEach((card, index) => {
            // Restart animacji
            card.classList.remove('fade-in');
            void card.offsetWidth; // trigger reflow
            
            // Wgrywanie danych
            card.style.borderTopColor = data.color;
            icons[index].style.background = data.bg;
            icons[index].style.color = data.color;
            icons[index].innerHTML = data.iconSvg;
            titles[index].textContent = data.content[index].title;
            texts[index].innerHTML = data.content[index].text; // innerHTML bo mamy linki
            
            // Odpal animację
            card.classList.add('fade-in');
        });
    }

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

    // Inicjalizacja
    updateSimulation(slider.value);
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-konsekwencje",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Czym grozi zły dobór pompy obiegowej? Konsekwencje niedowymiarowania i przewymiarowania",
    "description": "Zrozum hydrauliczne i finansowe skutki instalacji zbyt słabej (niedogrzewanie) lub zbyt mocnej (kawitacja) pompy w układzie ogrzewania podłogowego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-konsekwencje",
    "name": "Parametry Krytyczne Pracy Pompy Obiegowej 2026",
    "description": "Dane opisujące wpływ skrajnych nastaw wydajności pompy obiegowej na fizykę zładu grzewczego i żywotność podzespołów.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "skutki przewymiarowania pompy",
      "taktowanie pompy ciepła",
      "prędkość przepływu w rurach pex",
      "niedogrzewanie strefowe podłogówki",
      "kawitacja w instalacji grzewczej"
    ],
    "measurementTechnique": "Modelowanie wpływu niedoboru przepływu (<1.0 l/min) i nadmiaru przepływu (>0.6 m/s) na strukturę wylewki, warstwę EVOH i pobór energii.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Niedowymiarowanie: Skutkuje deltą T > 10K, pękaniem jastrychu i błędami HP pompy ciepła.",
        "Przewymiarowanie: Generuje przepływ powyżej 0.6 m/s, prowadząc do kawitacji, erozji warstwy EVOH i strat rzędu 120 PLN/rok."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-konsekwencje",
    "name": "Symulator Skutków Doboru Pompy",
    "description": "Aplikacja edukacyjna z interaktywnym suwakiem, pozwalająca symulować i w czasie rzeczywistym odczytywać skutki instalacji nieodpowiedniej pompy w obwodach płaszczyznowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-slate: #334155;
    --rk-err-bg: #f8fafc;
    --rk-err-card: #ffffff;
    --rk-err-danger: #ef4444;
    --rk-err-danger-light: #fef2f2;
    --rk-err-warn: #f59e0b;
    --rk-err-border: #e2e8f0;
    --rk-err-blue: #0284c7;
    --rk-err-blue-light: #f0f9ff;
}

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

/* Nagłówek */
.rk-err-header {
    padding: 35px 40px 25px;
    background: linear-gradient(135deg, var(--rk-err-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

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

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

/* Layout Górny (Grid) */
.rk-err-grid {
    display: grid;
    grid-template-columns: 350px 1fr;
    background: var(--rk-err-bg);
}

/* Kolumna Lewa - Menu Błędów */
.rk-err-menu {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border-right: 1px solid var(--rk-err-border);
    background: var(--rk-err-card);
}

.rk-err-btn {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 16px;
    border: 2px solid transparent;
    border-radius: 16px;
    background: var(--rk-err-bg);
    cursor: pointer;
    text-align: left;
    transition: all 0.3s;
}

.rk-err-btn:hover {
    background: var(--rk-err-blue-light);
}

.rk-err-btn.active {
    background: var(--rk-err-danger-light);
    border-color: var(--rk-err-danger);
    box-shadow: 0 10px 15px -3px rgba(239, 68, 68, 0.1);
}

.rk-err-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #e2e8f0;
    color: var(--rk-err-slate);
    flex-shrink: 0;
    transition: all 0.3s;
}

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

.rk-err-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-err-dark);
    margin: 0;
    line-height: 1.3;
}

.rk-err-btn.active .rk-err-title {
    color: var(--rk-err-danger);
}

/* Kolumna Prawa - Wizualizator SVG */
.rk-err-visual {
    padding: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ffffff;
    min-height: 250px;
}

.rk-svg-stage {
    width: 100%;
    max-width: 320px;
    height: auto;
}

/* Animacje SVG */
.rk-anim-fast { animation: spinRotor 0.3s linear infinite; stroke: var(--rk-err-danger); }
.rk-anim-jammed { animation: shakeRotor 0.5s ease-in-out infinite; stroke: var(--rk-err-slate); }
.rk-anim-friction { animation: spinRotor 2s linear infinite; stroke: var(--rk-err-warn); filter: drop-shadow(0 0 8px rgba(245, 158, 11, 0.6)); }

@keyframes spinRotor { 100% { transform: rotate(360deg); } }
@keyframes shakeRotor { 0%, 100% { transform: rotate(0deg); } 25% { transform: rotate(10deg); } 75% { transform: rotate(-10deg); } }
@keyframes flowDirt { 0% { transform: translateX(0); opacity: 0; } 20% { opacity: 1; } 80% { opacity: 1; } 100% { transform: translateX(120px); opacity: 0; } }

.rk-dirt-particle { opacity: 0; }
.show-dirt .rk-dirt-particle { animation: flowDirt 1.5s linear infinite; fill: #78350f; }
.show-dirt .rk-dirt-particle:nth-child(2) { animation-delay: 0.5s; }
.show-dirt .rk-dirt-particle:nth-child(3) { animation-delay: 1s; }

.rk-valve-indicator { opacity: 0; transition: opacity 0.3s; }
.show-valves-missing .rk-valve-indicator { opacity: 1; }

.rk-friction-ring { opacity: 0; transform-origin: 150px 75px; }
.show-friction .rk-friction-ring { opacity: 1; animation: pulseRing 1s ease-out infinite; stroke: var(--rk-err-warn); }
@keyframes pulseRing { 0% { transform: scale(0.8); opacity: 0.8; } 100% { transform: scale(1.5); opacity: 0; } }

/* Treść Detalu - PEŁNA SZEROKOŚĆ (zmiana strukturalna) */
.rk-err-content-box {
    padding: 40px;
    background: var(--rk-err-bg);
    border-top: 1px solid var(--rk-err-border);
}

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

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

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

.rk-err-panel h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-err-dark);
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-err-panel h3::before {
    content: '!';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background: var(--rk-err-danger);
    color: white;
    font-size: 15px;
    border-radius: 6px;
}

.rk-err-panel p {
    font-size: 15px;
    color: var(--rk-err-slate);
    line-height: 1.7;
    margin: 0 0 15px 0;
    max-width: 850px; /* Optymalizacja czytelności na pełnej szerokości */
}

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

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

.rk-consequence {
    margin-top: 25px;
    padding: 18px 25px;
    background: #ffffff;
    border-left: 4px solid var(--rk-err-danger);
    border-radius: 0 12px 12px 0;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
    max-width: 850px;
}

.rk-consequence strong {
    display: block;
    font-size: 13px;
    text-transform: uppercase;
    color: var(--rk-err-danger);
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}

.rk-consequence span {
    font-size: 15px;
    color: var(--rk-err-dark);
    font-weight: 600;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .rk-err-grid { grid-template-columns: 1fr; }
    .rk-err-menu { border-right: none; border-bottom: 1px solid var(--rk-err-border); flex-direction: row; flex-wrap: wrap; }
    .rk-err-btn { flex: 1 1 calc(50% - 5px); padding: 12px; gap: 10px; }
    .rk-err-icon { width: 32px; height: 32px; }
    .rk-err-title { font-size: 12px; }
    .rk-err-header { padding: 25px 20px; }
    .rk-err-header h2 { font-size: 22px; }
    .rk-err-content-box { padding: 30px 20px; }
    .rk-err-visual { padding: 20px; min-height: 200px; }
}
</style>

<div class="rk-err-container" id="rkErrorSimulator">
    
    <div class="rk-err-header">
        <h2>Jakie są najczęstsze błędy instalatorów przy montażu i konfiguracji pomp obiegowych?</h2>
        <p>Najczęstsze awarie pomp obiegowych wynikają z braku weryfikacji parametrów hydraulicznych oraz ignorowania podstawowych zasad czystości zładu wodnego. Wybierz symulację i zobacz konsekwencje.</p>
    </div>

    <div class="rk-err-grid">
        <div class="rk-err-menu">
            <button class="rk-err-btn active" data-target="err-gear">
                <div class="rk-err-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg></div>
                <h4 class="rk-err-title">Fabryczny bieg 3</h4>
            </button>
            <button class="rk-err-btn" data-target="err-valves">
                <div class="rk-err-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="9" y1="3" x2="9" y2="21"></line></svg></div>
                <h4 class="rk-err-title">Brak zaworów odcinających</h4>
            </button>
            <button class="rk-err-btn" data-target="err-dirt">
                <div class="rk-err-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg></div>
                <h4 class="rk-err-title">Zabrudzony zład wodny</h4>
            </button>
            <button class="rk-err-btn" data-target="err-air">
                <div class="rk-err-icon"><svg width="20" height="20" 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>
                <h4 class="rk-err-title">Brak odpowietrzenia</h4>
            </button>
        </div>

        <div class="rk-err-visual">
            <svg class="rk-svg-stage" viewBox="0 0 300 150" preserveAspectRatio="xMidYMid meet" id="svgStage">
                <rect x="20" y="60" width="260" height="30" fill="#cbd5e1" rx="4"></rect>
                <rect x="20" y="60" width="260" height="4" fill="#94a3b8"></rect>
                
                <g class="rk-valve-indicator">
                    <line x1="60" y1="40" x2="80" y2="110" stroke="#ef4444" stroke-width="4" stroke-linecap="round"></line>
                    <line x1="80" y1="40" x2="60" y2="110" stroke="#ef4444" stroke-width="4" stroke-linecap="round"></line>
                    <line x1="220" y1="40" x2="240" y2="110" stroke="#ef4444" stroke-width="4" stroke-linecap="round"></line>
                    <line x1="240" y1="40" x2="220" y2="110" stroke="#ef4444" stroke-width="4" stroke-linecap="round"></line>
                </g>

                <g class="rk-dirt-group">
                    <circle cx="30" cy="75" r="4" class="rk-dirt-particle"></circle>
                    <circle cx="20" cy="80" r="3" class="rk-dirt-particle"></circle>
                    <circle cx="10" cy="70" r="5" class="rk-dirt-particle"></circle>
                </g>

                <circle cx="150" cy="75" r="45" fill="#1e293b"></circle>
                <circle cx="150" cy="75" r="35" fill="#334155"></circle>
                
                <circle cx="150" cy="75" r="20" fill="none" stroke-width="4" class="rk-friction-ring"></circle>
                <circle cx="150" cy="75" r="30" fill="none" stroke-width="2" class="rk-friction-ring" style="animation-delay: 0.3s;"></circle>

                <g style="transform-origin: 150px 75px;" id="svgRotor" class="rk-anim-fast">
                    <line x1="150" y1="45" x2="150" y2="105" stroke-width="8" stroke-linecap="round"></line>
                    <line x1="120" y1="75" x2="180" y2="75" stroke-width="8" stroke-linecap="round"></line>
                    <circle cx="150" cy="75" r="8" fill="#ffffff"></circle>
                </g>

                <rect x="135" y="125" width="30" height="20" rx="4" fill="#0f172a"></rect>
                <text x="150" y="139" fill="#ef4444" font-size="12" font-family="monospace" font-weight="bold" text-anchor="middle" id="svgDisplay">45W</text>
            </svg>
        </div>
    </div>

    <div class="rk-err-content-box">
        <div class="rk-err-panel active" id="err-gear">
            <h3>Zostawienie fabrycznego biegu (Bieg 3)</h3>
            <p>Instalatorzy po montażu uruchamiają pompę na maksymalnych obrotach, aby szybko odpowietrzyć układ, zapominając o przełączeniu urządzenia w tryb <strong>AUTO</strong> lub <strong>Stałociśnieniowy</strong>.</p>
            <p>Skutkuje to ciągłym poborem maksymalnej mocy przez urządzenie, ignorując całkowicie zalety silników adaptacyjnych.</p>
            <div class="rk-consequence">
                <strong>Skutek techniczny</strong>
                <span>Ciągły pobór np. 45 W zamiast 8 W przez cały rok. Generowanie szumów w <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">instalacji podłogowej</a>.</span>
            </div>
        </div>

        <div class="rk-err-panel" id="err-valves">
            <h3>Montaż pompy bez odcinających zaworów</h3>
            <p>Brak zaworów kulowych ze śrubunkami tuż przed i tuż za pompą obiegową. Jest to oszczędność rzędu kilkudziesięciu złotych, która mści się przy pierwszej konserwacji.</p>
            <p>Uniemożliwia to szybki demontaż urządzenia lub czyszczenie filtra siatkowego bez integracji w zład całej instalacji.</p>
            <div class="rk-consequence">
                <strong>Skutek techniczny</strong>
                <span>Konieczność spuszczania kilkuset litrów <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">wody demineralizowanej z inhibitorem korozji</a> z całego układu, aby wyczyścić filtr lub wymienić pompę.</span>
            </div>
        </div>

        <div class="rk-err-panel" id="err-dirt">
            <h3>Uruchomienie w brudnej instalacji</h3>
            <p>Zaniechanie płukania zładu przed rozruchem to proszenie się o kłopoty. Pozostałości po montażu, takie jak opiłki tworzywa sztucznego z kalibratora rur PEX czy resztki pakuł uszczelniających, trafiają swobodnie do obiegu.</p>
            <p>Zanieczyszczenia są następnie zasysane prosto do precyzyjnej komory wirnika nowej pompy.</p>
            <div class="rk-consequence">
                <strong>Skutek techniczny</strong>
                <span>Permanentne zablokowanie mechaniczne i przepalenie stojana przy pierwszym uruchomieniu pompy. Błąd ten automatycznie skutkuje odmową naprawy gwarancyjnej.</span>
            </div>
        </div>

        <div class="rk-err-panel" id="err-air">
            <h3>Brak odpowietrzenia przed startem</h3>
            <p>Nowoczesne pompy posiadają wprawdzie funkcję automatycznego odpowietrzania, jednak przy całkowicie pierwszym napełnianiu ręczne poluzowanie śruby czołowej wału jest absolutnie kluczowe.</p>
            <p>Woda stanowi naturalną poduszkę poślizgową dla ceramicznych łożysk w pompach bezdławnicowych. Jej brak to destrukcja mechaniczna.</p>
            <div class="rk-consequence">
                <strong>Skutek techniczny</strong>
                <span>Tarcie suchych łożysk powodujące ich natychmiastowe uszkodzenie, zablokowanie urządzenia oraz głośne <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">objawy zapowietrzenia</a>.</span>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const errorBtns = document.querySelectorAll('.rk-err-btn');
    const panels = document.querySelectorAll('.rk-err-panel');
    const svgStage = document.getElementById('svgStage');
    const svgRotor = document.getElementById('svgRotor');
    const svgDisplay = document.getElementById('svgDisplay');

    function resetSVG() {
        svgStage.classList.remove('show-valves-missing', 'show-dirt', 'show-friction');
        svgRotor.className.baseVal = '';
        svgDisplay.textContent = '--W';
        svgDisplay.setAttribute('fill', '#94a3b8');
    }

    errorBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            errorBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            
            const targetId = this.getAttribute('data-target');
            panels.forEach(p => p.classList.remove('active'));
            document.getElementById(targetId).classList.add('active');

            resetSVG();
            
            if (targetId === 'err-gear') {
                svgRotor.className.baseVal = 'rk-anim-fast';
                svgDisplay.textContent = '45W';
                svgDisplay.setAttribute('fill', '#ef4444');
            } 
            else if (targetId === 'err-valves') {
                svgStage.classList.add('show-valves-missing');
                svgRotor.className.baseVal = 'rk-anim-fast';
                svgRotor.style.stroke = '#38bdf8';
                svgDisplay.textContent = '8W';
                svgDisplay.setAttribute('fill', '#38bdf8');
            }
            else if (targetId === 'err-dirt') {
                svgStage.classList.add('show-dirt');
                svgRotor.className.baseVal = 'rk-anim-jammed';
                svgDisplay.textContent = 'ERR';
                svgDisplay.setAttribute('fill', '#f59e0b');
            }
            else if (targetId === 'err-air') {
                svgStage.classList.add('show-friction');
                svgRotor.className.baseVal = 'rk-anim-friction';
                svgDisplay.textContent = '12W';
                svgDisplay.setAttribute('fill', '#f59e0b');
            }
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Jakie są najczęstsze błędy instalatorów przy montażu i konfiguracji pomp obiegowych?",
    "description": "Zestawienie najgroźniejszych błędów wykonawczych: od braku odpowietrzenia, przez złe nastawy biegów, po brak płukania instalacji. Zobacz interaktywną diagnostykę.",
    "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-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-bledy",
    "name": "Wskaźnik Awaryjności Pomp Obiegowych 2026",
    "description": "Klasyfikacja uszkodzeń pomp obiegowych wynikająca z zaniedbań montażowych i braku weryfikacji hydraulicznej zładu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy przy montażu ogrzewania podłogowego",
      "ustawienie pompy obiegowej na 3 bieg",
      "brak zaworów przy pompie",
      "płukanie instalacji podłogówki",
      "odpowietrzanie pompy obiegowej"
    ],
    "measurementTechnique": "Analiza wpływu zanieczyszczeń mechanicznych, braku armatury odcinającej oraz błędnych nastaw sterownika na żywotność urządzenia.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Ciągła praca na 3 biegu (straty 45W).",
        "Brak zaworów - konieczność zrzutu wody demineralizowanej.",
        "Opiłki i pakuły blokujące precyzyjny wirnik.",
        "Suche łożyska z powodu zaniechania odpowietrzenia ręcznego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-bledy",
    "name": "Symulator Diagnostyczny Błędów Pompy",
    "description": "Interaktywne narzędzie wizualizujące fizyczne skutki braku płukania zładu, zastosowania niewłaściwych nastaw i braku zaworów odcinających w układzie hydraulicznym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-prj-dark: #0f172a;
    --rk-prj-blue: #2563eb;
    --rk-prj-light: #eff6ff;
    --rk-prj-accent: #f59e0b;
    --rk-prj-green: #059669;
    --rk-prj-border: #cbd5e1;
    --rk-prj-bg: #ffffff;
    --rk-prj-text: #334155;
}

.rk-prj-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-prj-bg);
    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;
}

/* Tagi Długi Ogon */
.rk-prj-tags {
    padding: 25px 35px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    background: linear-gradient(to bottom, #f8fafc, #ffffff);
}

.rk-mat-tag {
    background: var(--rk-prj-light);
    color: var(--rk-prj-blue);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    border: 1px solid rgba(37, 99, 235, 0.2);
    text-transform: lowercase;
}

/* Nagłówek */
.rk-prj-header {
    padding: 25px 35px;
}

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

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

/* Sekcja Interaktywna - Podział 2 kolumny */
.rk-prj-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 1px solid var(--rk-prj-border);
    border-bottom: 1px solid var(--rk-prj-border);
}

/* Lewa Kolumna - Schemat zależności */
.rk-prj-flow {
    padding: 35px;
    background: #f8fafc;
    border-right: 1px solid var(--rk-prj-border);
}

.rk-prj-flow h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-prj-dark);
    margin: 0 0 25px 0;
}

.rk-flow-step {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 25px;
    position: relative;
}

.rk-flow-step:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 17px;
    top: 40px;
    bottom: -20px;
    width: 2px;
    background: var(--rk-prj-blue);
    opacity: 0.2;
}

.rk-flow-number {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--rk-prj-blue);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 16px;
    flex-shrink: 0;
    z-index: 1;
}

.rk-flow-content h4 {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-prj-dark);
}

.rk-flow-content p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-prj-text);
    line-height: 1.5;
}

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

.rk-flow-result {
    margin-top: 30px;
    padding: 15px;
    background: var(--rk-prj-dark);
    border-radius: 12px;
    color: white;
    display: flex;
    align-items: center;
    gap: 15px;
}

/* Prawa Kolumna - Symulator */
.rk-prj-simulator {
    padding: 35px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
}

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

/* Custom Controls */
.rk-sim-control {
    margin-bottom: 25px;
}

.rk-sim-label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-prj-text);
    margin-bottom: 10px;
}

.rk-radio-group {
    display: flex;
    gap: 10px;
}

.rk-radio-btn {
    flex: 1;
    position: relative;
}

.rk-radio-btn input {
    display: none;
}

.rk-radio-label {
    display: block;
    text-align: center;
    padding: 12px;
    background: var(--rk-prj-light);
    border: 2px solid transparent;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    color: var(--rk-prj-text);
    cursor: pointer;
    transition: all 0.2s;
}

.rk-radio-btn input:checked + .rk-radio-label {
    background: white;
    border-color: var(--rk-prj-blue);
    color: var(--rk-prj-blue);
    box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.1);
}

/* SVG Animacja */
.rk-sim-visual {
    margin-top: auto;
    padding: 20px;
    background: var(--rk-prj-light);
    border-radius: 16px;
    text-align: center;
    border: 1px solid rgba(37, 99, 235, 0.1);
}

.rk-live-stats {
    display: flex;
    justify-content: space-around;
    margin-bottom: 15px;
}

.rk-stat-box {
    text-align: center;
}

.rk-stat-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-prj-blue);
    font-variant-numeric: tabular-nums;
}

.rk-stat-lbl {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-prj-text);
    text-transform: uppercase;
}

/* SVG Pipe */
.rk-pipe-svg {
    width: 100%;
    height: 60px;
}

.rk-pipe-path {
    stroke-dasharray: 10;
    animation: flowAnim 2s linear infinite;
}

@keyframes flowAnim {
    to { stroke-dashoffset: -20; }
}

/* Tekst podsumowujący */
.rk-prj-summary {
    padding: 30px 35px;
    background: #ffffff;
}

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

.rk-prj-summary strong {
    color: var(--rk-prj-dark);
}

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

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

.rk-prj-cta-text {
    font-size: 16px;
    color: #94a3b8;
    margin: 0 auto 30px auto;
    max-width: 600px;
    line-height: 1.6;
}

.rk-btn-project {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-prj-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 900;
    padding: 20px 45px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.5);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-btn-project:hover {
    transform: translateY(-4px) scale(1.02);
    background: #1d4ed8;
    box-shadow: 0 20px 35px -5px rgba(37, 99, 235, 0.6);
}

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

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

@media (max-width: 768px) {
    .rk-prj-grid { grid-template-columns: 1fr; }
    .rk-prj-flow { border-right: none; border-bottom: 1px solid var(--rk-prj-border); padding: 25px; }
    .rk-prj-simulator, .rk-prj-header, .rk-prj-summary, .rk-prj-cta-box, .rk-prj-tags { padding: 25px; }
    .rk-btn-project { width: 100%; padding: 18px 20px; font-size: 16px; }
    .rk-prj-header h2 { font-size: 24px; }
}
</style>

<div class="rk-prj-container" id="rkProjectIntegrator">
    <div class="rk-prj-tags">
        <span class="rk-mat-tag"># projekt ogrzewania podłogowego z pompą ciepła</span>
        <span class="rk-mat-tag"># obliczenia strat ciśnienia</span>
        <span class="rk-mat-tag"># rozstaw rur a wydajność pompy</span>
        <span class="rk-mat-tag"># dobór pompy obiegowej do podłogówki</span>
    </div>

    <div class="rk-prj-header">
        <h2>Jak dobór pompy wpływa na profesjonalny projekt ogrzewania podłogowego?</h2>
        <p>Wybór i parametry pompy obiegowej są ściśle powiązane z kluczowymi elementami dokumentacji technicznej. Pompa nie istnieje w próżni – jej punkt pracy jest bezpośrednią wypadkową konkretnych, twardych wyliczeń inżynierskich dla Twojego budynku.</p>
    </div>

    <div class="rk-prj-grid">
        <div class="rk-prj-flow">
            <h3>Architektura profesjonalnego doboru</h3>
            
            <div class="rk-flow-step">
                <div class="rk-flow-number">1</div>
                <div class="rk-flow-content">
                    <h4><a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">Obliczenia OZC (PN-EN 12831)</a></h4>
                    <p>Definiują całkowite zapotrzebowanie na moc grzewczą [kW]. To fundament do określenia ilości ciepła, jaką woda musi dostarczyć.</p>
                </div>
            </div>

            <div class="rk-flow-step">
                <div class="rk-flow-number">2</div>
                <div class="rk-flow-content">
                    <h4><a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">Rozstaw rur w pętlach</a></h4>
                    <p>Decyduje o wymaganej temperaturze zasilania i bezpośrednio przekłada się na wielkość przepływów (l/min) na rotametrach.</p>
                </div>
            </div>

            <div class="rk-flow-step">
                <div class="rk-flow-number">3</div>
                <div class="rk-flow-content">
                    <h4>Geometria i układ pętli</h4>
                    <p>Długość rur i ilość zagięć generuje sumaryczne opory w Paskalach (Pa). To one wymuszają wysokość podnoszenia pompy.</p>
                </div>
            </div>

            <div class="rk-flow-result">
                <svg width="24" height="24" 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>
                <div style="font-weight: 800; font-size: 15px;">WYNIK: Optymalny punkt roboczy (Q i H)</div>
            </div>
        </div>

        <div class="rk-prj-simulator">
            <h3 class="rk-sim-title">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg>
                Symulator Zależności Projektowych
            </h3>

            <div class="rk-sim-control">
                <span class="rk-sim-label">Rozstaw rur (gęstość):</span>
                <div class="rk-radio-group">
                    <label class="rk-radio-btn">
                        <input type="radio" name="rk-spacing" value="10" checked>
                        <span class="rk-radio-label">Co 10 cm (Gęsto)</span>
                    </label>
                    <label class="rk-radio-btn">
                        <input type="radio" name="rk-spacing" value="15">
                        <span class="rk-radio-label">Co 15 cm (Rzadko)</span>
                    </label>
                </div>
            </div>

            <div class="rk-sim-control">
                <span class="rk-sim-label">Okładzina podłogowa (Opór cieplny R):</span>
                <div class="rk-radio-group">
                    <label class="rk-radio-btn">
                        <input type="radio" name="rk-floor" value="tiles" checked>
                        <span class="rk-radio-label">Płytki (0,02 m2K/W)</span>
                    </label>
                    <label class="rk-radio-btn">
                        <input type="radio" name="rk-floor" value="laminate">
                        <span class="rk-radio-label">Panele (0,08 m2K/W)</span>
                    </label>
                </div>
            </div>

            <div class="rk-sim-visual">
                <div class="rk-live-stats">
                    <div class="rk-stat-box">
                        <div class="rk-stat-lbl">Opory hydrauliczne</div>
                        <div class="rk-stat-val" id="rk-out-h">2.4 m</div>
                    </div>
                    <div class="rk-stat-box">
                        <div class="rk-stat-lbl">Przepływ na rotametrze</div>
                        <div class="rk-stat-val" id="rk-out-q">1.8 l/min</div>
                    </div>
                </div>
                <svg class="rk-pipe-svg" viewBox="0 0 300 60" preserveAspectRatio="none">
                    <path d="M10,30 Q75,10 150,30 T290,30" fill="none" stroke="#cbd5e1" stroke-width="8" stroke-linecap="round"/>
                    <path d="M10,30 Q75,10 150,30 T290,30" fill="none" stroke="#2563eb" stroke-width="4" stroke-linecap="round" class="rk-pipe-path" id="rk-svg-flow"/>
                </svg>
            </div>
        </div>
    </div>

    <div class="rk-prj-summary">
        <p>Gęstość rozstawu rur (np. co 10 cm w strefach brzegowych i łazienkach, co 15 cm w salonach) determinuje łączną długość rur, a tym samym bezpośrednio wpływa na opory hydrauliczne, które pompa musi pokonać.</p>
        <p>Projektant, znając opór cieplny okładziny podłogowej (np. płytki ceramiczne o <strong>R = 0,02 m2K/W</strong> lub panele o <strong>R = 0,08 m2K/W</strong>) oraz planowaną <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">grubość wylewki jastrychowej</a> (np. 65 mm), precyzyjnie wylicza wymaganą temperaturę zasilania.</p>
        <p>Te dane pozwalają na określenie optymalnego przepływu cząstkowego, co daje końcową wartość wydajności pompy. <strong>Projekt instalacji eliminuje zgubne dobieranie pompy „na oko”</strong> i chroni Inwestora przed kosztownym przewymiarowaniem lub brakiem komfortu cieplnego zimą.</p>
    </div>

    <div class="rk-prj-cta-box">
        <h3 class="rk-prj-cta-title">Przestań zgadywać. Zainwestuj w inżynierię.</h3>
        <p class="rk-prj-cta-text">Złe wyliczenia to zimna podłoga i pompa pobierająca 400% więcej prądu niż powinna. Zamów kompletny projekt i zyskaj gwarancję perfekcyjnie zbilansowanego układu hydraulicznego na dekady.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-project">
            ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const spaceRadios = document.querySelectorAll('input[name="rk-spacing"]');
    const floorRadios = document.querySelectorAll('input[name="rk-floor"]');
    const outH = document.getElementById('rk-out-h');
    const outQ = document.getElementById('rk-out-q');
    const svgFlow = document.getElementById('rk-svg-flow');

    function calculateSimulation() {
        let spaceVal = document.querySelector('input[name="rk-spacing"]:checked').value;
        let floorVal = document.querySelector('input[name="rk-floor"]:checked').value;

        let resH = 2.0; // Base head
        let resQ = 1.5; // Base flow
        let animSpeed = 2; // SVG animation duration in seconds

        // Logika obliczeniowa symulatora
        if (spaceVal === "10") {
            // Gęsty rozstaw = więcej rur = większe opory, ale niższa temperatura i mniejszy przepływ na obieg
            resH += 0.8;
            resQ -= 0.3;
        } else if (spaceVal === "15") {
            // Rzadszy rozstaw = mniejsze opory, ale wymaga większego przepływu by oddać moc
            resH -= 0.4;
            resQ += 0.5;
        }

        if (floorVal === "laminate") {
            // Panele izolują, więc układ potrzebuje znacznie większego przepływu i wyższej delty/temperatury
            resQ += 0.8;
            resH += 0.3;
            animSpeed = 0.8; // Fast flow required
        } else {
            // Płytki dobrze przewodzą
            animSpeed = 2.0; // Normal flow
        }

        // Formatowanie i aktualizacja UI
        outH.textContent = resH.toFixed(1) + " m";
        outQ.textContent = resQ.toFixed(1) + " l/min";
        svgFlow.style.animationDuration = animSpeed + "s";
    }

    spaceRadios.forEach(r => r.addEventListener('change', calculateSimulation));
    floorRadios.forEach(r => r.addEventListener('change', calculateSimulation));
    
    // Initial calculate
    calculateSimulation();
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-projekt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Jak dobór pompy wpływa na profesjonalny projekt ogrzewania podłogowego?",
    "description": "Zrozumienie ścisłej korelacji pomiędzy obliczeniami OZC, rozstawem rur grzewczych a wymaganymi parametrami pompy obiegowej w nowoczesnej podłogówce.",
    "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-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-projekt",
    "name": "Wpływ parametrów projektu na dobór pompy obiegowej 2026",
    "description": "Zestawienie relacji hydraulicznych pomiędzy gęstością rozstawu rur, oporem cieplnym okładzin podłogowych a ostatecznym przepływem i oporem pompy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego z pompą ciepła",
      "obliczenia strat ciśnienia",
      "rozstaw rur a wydajność pompy",
      "opór cieplny paneli a podłogówka",
      "dobór pompy obiegowej do podłogówki"
    ],
    "measurementTechnique": "Algorytm inżynierski wyznaczający przepływy i straty ciśnienia na podstawie wytycznych normy PN-EN 12831 oraz oporów R posadzki.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Obliczenia OZC jako fundament określenia mocy grzewczej [kW].",
        "Rozstaw rur kształtujący opory hydrauliczne pętli.",
        "Wpływ okładziny: płytki ceramiczne (0,02 m2K/W) vs panele (0,08 m2K/W) na przepływy."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-projekt",
    "name": "Symulator Zależności Projektowych Podłogówki",
    "description": "Narzędzie interaktywne ilustrujące zmiany oporów hydraulicznych (m H2O) i przepływu (l/min) w zależności od wybranego rozstawu rur oraz zastosowanej okładziny podłogowej.",
    "applicationCategory": "TechnicalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-slate: #475569;
    --rk-case-bg: #f8fafc;
    --rk-case-card: #ffffff;
    --rk-case-border: #e2e8f0;
    
    /* Kolory funkcyjne */
    --rk-case-blue: #0ea5e9;
    --rk-case-blue-light: #e0f2fe;
    --rk-case-red: #ef4444;
    --rk-case-red-light: #fee2e2;
    --rk-case-green: #10b981;
    --rk-case-green-light: #dcfce7;
    --rk-case-gold: #f59e0b;
}

.rk-case-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-case-card);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(14, 165, 233, 0.15);
    border: 1px solid rgba(14, 165, 233, 0.2);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Tagi Long Tail */
.rk-case-tags {
    padding: 25px 40px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    background: var(--rk-case-dark);
}

.rk-mat-tag {
    background: rgba(255,255,255,0.1);
    color: var(--rk-case-blue-light);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid rgba(224, 242, 254, 0.2);
    transition: all 0.3s;
}

.rk-mat-tag:hover {
    background: var(--rk-case-blue-light);
    color: var(--rk-case-dark);
}

/* Nagłówek */
.rk-case-header {
    padding: 25px 40px 30px;
    background: var(--rk-case-dark);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-case-gold);
}

.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: 15px;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.7;
    max-width: 800px;
}

/* Ekspert Block */
.rk-case-expert {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 25px 40px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-case-border);
}

.rk-expert-photo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--rk-case-blue);
    flex-shrink: 0;
}

.rk-expert-quote {
    position: relative;
}

.rk-expert-quote p {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-case-dark);
    font-style: italic;
    margin: 0 0 8px 0;
    line-height: 1.5;
}

.rk-expert-name {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-case-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Symulator - Przełącznik Przed/Po */
.rk-case-simulator {
    padding: 40px;
    background: var(--rk-case-bg);
}

.rk-toggle-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 35px;
}

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

.rk-state-toggle input { display: none; }

.rk-toggle-lbl {
    flex: 1;
    text-align: center;
    padding: 14px 20px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-case-slate);
    cursor: pointer;
    position: relative;
    z-index: 2;
    transition: color 0.3s;
}

.rk-state-toggle input:checked + .rk-toggle-lbl {
    color: #ffffff;
}

.rk-toggle-glider {
    position: absolute;
    top: 6px; left: 6px;
    height: calc(100% - 12px);
    width: calc(50% - 6px);
    background: var(--rk-case-red);
    border-radius: 12px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.4s;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    z-index: 1;
}

#stateAfter:checked ~ .rk-toggle-glider {
    transform: translateX(100%);
    background: var(--rk-case-green);
}

/* Grid Danych */
.rk-data-tiles {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-bottom: 30px;
}

.rk-tile {
    background: #ffffff;
    border: 1px solid var(--rk-case-border);
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    transition: all 0.4s ease;
}

.rk-tile-title {
    font-size: 12px;
    font-weight: 800;
    color: var(--rk-case-slate);
    text-transform: uppercase;
    margin-bottom: 10px;
}

.rk-tile-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-case-dark);
    transition: color 0.4s;
}

.rk-tile-desc {
    font-size: 12px;
    color: #94a3b8;
    margin-top: 5px;
    font-weight: 500;
}

/* Wizualizacja SVG */
.rk-case-visual {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid var(--rk-case-border);
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    transition: border-color 0.4s;
}

.rk-svg-box {
    width: 200px;
    flex-shrink: 0;
}

.rk-case-story {
    flex: 1;
}

.rk-case-story h3 {
    font-size: 20px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: var(--rk-case-dark);
    transition: color 0.4s;
}

.rk-case-story p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-case-slate);
    margin: 0;
}

/* Stany Wizualne - Dynamiczne klasy */
.state-before .rk-tile-val.dynamic { color: var(--rk-case-red); }
.state-before .rk-case-visual { border-top: 4px solid var(--rk-case-red); }
.state-before .svg-dial { stroke: var(--rk-case-red); stroke-dasharray: 100 100; transition: stroke-dasharray 1s ease-in-out; }
.state-before .svg-waves { stroke: var(--rk-case-red); opacity: 1; animation: pulseWave 0.5s infinite; }

.state-after .rk-tile-val.dynamic { color: var(--rk-case-green); }
.state-after .rk-case-visual { border-top: 4px solid var(--rk-case-green); }
.state-after .svg-dial { stroke: var(--rk-case-green); stroke-dasharray: 20 180; transition: stroke-dasharray 1s ease-in-out; }
.state-after .svg-waves { stroke: var(--rk-case-green); opacity: 0; }

@keyframes pulseWave {
    0% { transform: scale(0.9); opacity: 0.5; }
    50% { transform: scale(1.1); opacity: 1; }
    100% { transform: scale(0.9); opacity: 0.5; }
}

@media (max-width: 800px) {
    .rk-data-tiles { grid-template-columns: 1fr 1fr; }
    .rk-case-visual { flex-direction: column; text-align: center; }
    .rk-case-expert { flex-direction: column; text-align: center; }
}
@media (max-width: 480px) {
    .rk-data-tiles { grid-template-columns: 1fr; }
    .rk-toggle-lbl { font-size: 13px; padding: 12px 10px; }
}
</style>

<div class="rk-case-container" id="rkCaseApp">
    
    <div class="rk-case-tags">
        <span class="rk-mat-tag"># modernizacja ogrzewania podłogowego</span>
        <span class="rk-mat-tag"># wymiana pompy obiegowej w starym domu</span>
        <span class="rk-mat-tag"># opory hydrauliczne w starych rurach</span>
        <span class="rk-mat-tag"># zużycie prądu przez pompę obiegową</span>
    </div>

    <div class="rk-case-header">
        <h2>Case Study: 140 m² z lat 70. – Dlaczego nowa podłogówka nie grzała?</h2>
        <p>Poznaj historię Pana Dawida z Poznania, który zmodernizował dom, wyrzucił grzejniki, wylał nowe jastrychy, ale zostawił &#8222;dobrą, starą pompę&#8221; z kotłowni. Zobacz, jak wyliczenia hydrauliczne uratowały tę inwestycję.</p>
    </div>

    <div class="rk-case-expert">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Audyt Instalacji" class="rk-expert-photo">
        <div class="rk-expert-quote">
            <p>&#8222;To klasyczny błąd przy termomodernizacjach. Inwestorzy ładują dziesiątki tysięcy w pompę ciepła i nową wylewkę, ale zostawiają starą pompę 3-biegową, bo 'przecież działa&#8217;. Stara pompa nie radzi sobie z ogromnymi oporami gęsto ułożonych rur podłogówki, dławi przepływ i zżera prąd.&#8221;</p>
            <div class="rk-expert-name">Robert Kucharski – Audyt i Projekt OZC</div>
        </div>
    </div>

    <div class="rk-case-simulator">
        
        <div class="rk-toggle-wrapper">
            <div class="rk-state-toggle">
                <input type="radio" name="caseState" id="stateBefore" value="before" checked>
                <label for="stateBefore" class="rk-toggle-lbl">Przed Audytem Roberta</label>
                
                <input type="radio" name="caseState" id="stateAfter" value="after">
                <label for="stateAfter" class="rk-toggle-lbl">Po Doborze Inżynierskim</label>
                
                <div class="rk-toggle-glider"></div>
            </div>
        </div>

        <div class="rk-data-tiles state-before" id="rkTileGroup">
            <div class="rk-tile">
                <div class="rk-tile-title">Pompa Obiegowa</div>
                <div class="rk-tile-val" id="valPump" style="font-size: 18px;">Stary Typ (AC)</div>
                <div class="rk-tile-desc" id="descPump">3 biegi stałe</div>
            </div>
            <div class="rk-tile">
                <div class="rk-tile-title">Pobór Mocy</div>
                <div class="rk-tile-val dynamic" id="valPower">85 W</div>
                <div class="rk-tile-desc" id="descPower">Praca ciągła</div>
            </div>
            <div class="rk-tile">
                <div class="rk-tile-title">Koszty Energii (Rok)</div>
                <div class="rk-tile-val dynamic" id="valCost">~326 PLN</div>
                <div class="rk-tile-desc">Sezon grzewczy</div>
            </div>
            <div class="rk-tile">
                <div class="rk-tile-title">Komfort Cieplny</div>
                <div class="rk-tile-val dynamic" id="valComfort" style="font-size: 18px;">Niedogrzanie</div>
                <div class="rk-tile-desc" id="descComfort">Chłodna łazienka</div>
            </div>
        </div>

        <div class="rk-case-visual state-before" id="rkVisualBox">
            <div class="rk-svg-box">
                <!-- SVG Dashboard Pompy -->
                <svg viewBox="0 0 100 100" width="100%" height="100%">
                    <!-- Tło i obudowa -->
                    <circle cx="50" cy="50" r="45" fill="#f8fafc" stroke="#e2e8f0" stroke-width="2"/>
                    
                    <!-- Skala mocy -->
                    <path d="M 20 80 A 40 40 0 1 1 80 80" fill="none" stroke="#cbd5e1" stroke-width="8" stroke-linecap="round"/>
                    <path d="M 20 80 A 40 40 0 1 1 80 80" fill="none" class="svg-dial" stroke-width="8" stroke-linecap="round"/>
                    
                    <!-- Fale dźwiękowe (Hałas/Kawitacja) -->
                    <g class="svg-waves" style="transform-origin: 50px 50px;">
                        <path d="M 10 50 Q -10 50 10 30" fill="none" stroke-width="3" stroke-linecap="round"/>
                        <path d="M 90 50 Q 110 50 90 30" fill="none" stroke-width="3" stroke-linecap="round"/>
                    </g>
                    
                    <text x="50" y="55" font-family="monospace" font-weight="bold" font-size="20" text-anchor="middle" fill="#0f172a" id="svgWattText">85W</text>
                    <text x="50" y="70" font-family="sans-serif" font-weight="bold" font-size="8" text-anchor="middle" fill="#64748b" id="svgStatusText">HAŁAS</text>
                </svg>
            </div>
            
            <div class="rk-case-story">
                <h3 id="storyTitle">Hałas w rurach i zimne strefy brzegowe</h3>
                <p id="storyText">Pan Dawid pozostawił starą pompę węzłową. Urządzenie tłoczyło wodę na sztywnym 3 biegu, pobierając aż 85W. Z powodu wysokich oporów hydraulicznych gęstej podłogówki (rury układane co 10 cm), pompa nie dawała rady &#8222;przepchnąć&#8221; wody do najdalszej dobudówki, a wysoka prędkość w pobliżu rozdzielacza powodowała irytujący szum kawitacyjny nocą.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const radios = document.querySelectorAll('input[name="caseState"]');
    
    // UI Elements
    const tileGroup = document.getElementById('rkTileGroup');
    const visualBox = document.getElementById('rkVisualBox');
    
    // Data Elements
    const valPump = document.getElementById('valPump');
    const descPump = document.getElementById('descPump');
    const valPower = document.getElementById('valPower');
    const descPower = document.getElementById('descPower');
    const valCost = document.getElementById('valCost');
    const valComfort = document.getElementById('valComfort');
    const descComfort = document.getElementById('descComfort');
    
    const storyTitle = document.getElementById('storyTitle');
    const storyText = document.getElementById('storyText');
    
    const svgWattText = document.getElementById('svgWattText');
    const svgStatusText = document.getElementById('svgStatusText');

    const stateData = {
        before: {
            pump: "Stary Typ (AC)", dPump: "3 biegi stałe",
            power: "85 W", dPower: "Praca ciągła",
            cost: "~326 PLN",
            comfort: "Niedogrzanie", dComfort: "Zimna dobudówka",
            title: "Hałas w rurach i zimne strefy brzegowe",
            text: "Pan Dawid pozostawił starą pompę węzłową. Urządzenie tłoczyło wodę na sztywnym 3 biegu, pobierając aż 85W. Z powodu wysokich oporów hydraulicznych gęstej podłogówki (rury układane co 10 cm), pompa nie dawała rady przepchnąć czynnika do najdalszej dobudówki, a nadmiar ciśnienia przy rozdzielaczu powodował irytujący szum kawitacyjny nocą.",
            svgW: "85W", svgS: "HAŁAS"
        },
        after: {
            pump: "Nowy Typ (EC)", dPump: "AUTOADAPT",
            power: "12 W", dPower: "Praca adaptacyjna",
            cost: "~46 PLN",
            comfort: "Idealny", dComfort: "Równe temperatury",
            title: "Cisza, oszczędność i równomierne ciepło",
            text: "Po audycie, wyliczyliśmy dokładne opory hydrauliczne instalacji (H) oraz wymagany przepływ (Q). Wymiana na nowoczesną pompę z silnikiem EC i trybem stałociśnieniowym (CP) całkowicie wyeliminowała szumy. Pompa adaptuje się do zamykających się termostatów, pobierając zaledwie 12W prądu, a woda w końcu dociera do każdego pomieszczenia.",
            svgW: "12W", svgS: "AUTO"
        }
    };

    radios.forEach(radio => {
        radio.addEventListener('change', function() {
            const state = this.value;
            const data = stateData[state];

            // Change Classes for Colors/Animations
            tileGroup.className = `rk-data-tiles state-${state}`;
            visualBox.className = `rk-case-visual state-${state}`;

            // Update Data
            valPump.textContent = data.pump;
            descPump.textContent = data.dPump;
            valPower.textContent = data.power;
            descPower.textContent = data.dPower;
            valCost.textContent = data.cost;
            valComfort.textContent = data.comfort;
            descComfort.textContent = data.dComfort;
            
            storyTitle.textContent = data.title;
            storyText.textContent = data.text;
            
            svgWattText.textContent = data.svgW;
            svgStatusText.textContent = data.svgS;
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Case Study: 140 m² z lat 70. – Dlaczego nowa podłogówka nie grzała?",
    "description": "Praktyczne studium przypadku (modernizacja domu 140m2 w Poznaniu). Zobacz, jak inżynierski dobór i wymiana starej pompy AC na energooszczędną pompę EC rozwiązały problem niedogrzania i wysokich rachunkó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": "Ekspert HVAC",
      "sameAs": [
        "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-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-casestudy",
    "name": "Porównanie parametrów po termomodernizacji (Pompa AC vs EC)",
    "description": "Zestawienie empirycznych danych eksploatacyjnych po audycie inżynierskim. Wymiana nieefektywnego urządzenia węzłowego na model adaptacyjny w domu 140m2.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "modernizacja ogrzewania podłogowego",
      "wymiana pompy obiegowej w starym domu",
      "opory hydrauliczne w starych rurach",
      "zużycie prądu przez pompę obiegową",
      "pompa energooszczędna do podłogówki"
    ],
    "measurementTechnique": "Pomiary poboru mocy elektrycznej oraz identyfikacja stref niedogrzania spowodowanych spadkiem ciśnienia w pętli krytycznej przed i po montażu nowej armatury.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przed audytem: Pompa AC pobierała 85W, roczny koszt ~326 PLN, brak dopływu czynnika do stref brzegowych.",
        "Po audycie: Pompa EC z autoadaptacją pobiera 12W, roczny koszt ~46 PLN, pełne zrównoważenie hydrauliczne."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-casestudy",
    "name": "Symulator Efektów Termomodernizacji",
    "description": "Interaktywny interfejs pozwalający na przełączanie między stanami 'przed' i 'po' wymianie pompy obiegowej, ilustrujący bezpośrednie korzyści finansowe i akustyczne.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-panel: #1e293b;
    --rk-auth-bg: #ffffff;
    --rk-auth-surface: #f8fafc;
    --rk-auth-border: #e2e8f0;
    --rk-auth-text: #334155;
    --rk-auth-muted: #64748b;
    
    --rk-auth-blue: #0284c7;
    --rk-auth-gold: #eab308;
    --rk-auth-fb: #1877F2;
    --rk-auth-li: #0A66C2;
}

.rk-auth-container {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-auth-bg);
    border-radius: 24px;
    box-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-auth-border);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Header Area */
.rk-auth-header {
    background: var(--rk-auth-dark);
    padding: 35px 50px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-auth-gold);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

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

.rk-auth-header-text p {
    font-size: 15px;
    color: #cbd5e1;
    margin: 0;
    font-weight: 500;
}

.rk-auth-trust-badge {
    background: rgba(234, 179, 8, 0.15);
    border: 1px solid rgba(234, 179, 8, 0.3);
    color: var(--rk-auth-gold);
    padding: 10px 20px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    flex-shrink: 0;
}

/* Main Layout Grid */
.rk-auth-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    background: var(--rk-auth-bg);
}

/* Left Sidebar: Profile */
.rk-auth-profile {
    background: var(--rk-auth-surface);
    padding: 40px 30px;
    border-right: 1px solid var(--rk-auth-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-auth-photo-wrap {
    width: 160px;
    height: 160px;
    margin-bottom: 25px;
}

.rk-auth-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.1);
}

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

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

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

.rk-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    border-radius: 12px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.rk-social-btn.fb { background: var(--rk-auth-fb); }
.rk-social-btn.fb:hover { background: #166fe5; }
.rk-social-btn.li { background: var(--rk-auth-li); }
.rk-social-btn.li:hover { background: #0959aa; }

/* Right Content Area */
.rk-auth-content {
    display: flex;
    flex-direction: column;
}

/* Cytat (Hook) */
.rk-auth-quote-box {
    padding: 35px 40px 25px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-auth-border);
}

.rk-auth-quote-mark {
    font-size: 60px;
    color: var(--rk-auth-blue);
    line-height: 0;
    opacity: 0.2;
    margin-bottom: -15px;
    display: block;
    font-family: serif;
}

.rk-auth-quote-text {
    font-size: 19px;
    font-weight: 700;
    color: var(--rk-auth-dark);
    line-height: 1.5;
    margin: 0;
    font-style: italic;
}

/* Navigation Tabs */
.rk-auth-tabs {
    display: flex;
    border-bottom: 1px solid var(--rk-auth-border);
    background: var(--rk-auth-surface);
}

.rk-auth-tab {
    flex: 1;
    padding: 18px 10px;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-auth-muted);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.rk-auth-tab:hover {
    color: var(--rk-auth-dark);
    background: #f1f5f9;
}

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

/* Tab Panels */
.rk-auth-panel {
    padding: 40px;
    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 0 15px 0;
}

.rk-auth-panel p:last-child { margin-bottom: 0; }

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

.rk-auth-panel a:hover {
    border-color: var(--rk-auth-blue);
}

/* Stats Grid in Panel 2 */
.rk-auth-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 25px;
}

.rk-stat-box {
    background: var(--rk-auth-surface);
    border: 1px solid var(--rk-auth-border);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-stat-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #ffffff;
    color: var(--rk-auth-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rk-auth-border);
    flex-shrink: 0;
}

.rk-stat-info { display: flex; flex-direction: column; }

.rk-stat-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    line-height: 1.2;
}

.rk-stat-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-auth-muted);
    text-transform: uppercase;
}

/* Mobile */
@media (max-width: 850px) {
    .rk-auth-grid { grid-template-columns: 1fr; }
    .rk-auth-header { flex-direction: column; text-align: center; padding: 30px 25px; }
    .rk-auth-trust-badge { width: 100%; justify-content: center; }
    .rk-auth-profile { border-right: none; border-bottom: 1px solid var(--rk-auth-border); padding: 30px 25px; }
    .rk-auth-socials { flex-direction: row; }
    .rk-auth-tabs { flex-direction: column; background: #ffffff; }
    .rk-auth-tab { border-bottom: none; border-left: 4px solid transparent; justify-content: flex-start; padding: 15px 25px; }
    .rk-auth-tab.active { border-left-color: var(--rk-auth-blue); border-bottom-color: transparent; background: var(--rk-auth-surface); }
    .rk-auth-quote-box { padding: 25px; }
    .rk-auth-panel { padding: 30px 25px; }
    .rk-auth-stats { grid-template-columns: 1fr; }
}
</style>

<div class="rk-auth-container">
    
    <div class="rk-auth-header">
        <div class="rk-auth-header-text">
            <h2>Ekspert HVAC Robert Kucharski: Dobór pompy to inżynieria, nie zgadywanka</h2>
            <p>Nie powielam instalatorskich mitów. Zobacz, kto odpowiada za wiedzę techniczną i obliczenia w tym artykule.</p>
        </div>
        <div class="rk-auth-trust-badge">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Weryfikacja HVAC
        </div>
    </div>

    <div class="rk-auth-grid">
        
        <div class="rk-auth-profile">
            <div class="rk-auth-photo-wrap">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Inżynier HVAC" class="rk-auth-photo">
            </div>
            
            <h3 class="rk-auth-name">Robert Kucharski</h3>
            <div class="rk-auth-title">Inżynier &amp; Specjalista HVAC</div>
            
            <div class="rk-auth-socials">
                <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-social-btn fb">
                    <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="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                    Projekt Ogrzewania
                </a>
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-social-btn li">
                    <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="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
                    LinkedIn
                </a>
            </div>
        </div>

        <div class="rk-auth-content">
            
            <div class="rk-auth-quote-box">
                <span class="rk-auth-quote-mark">&#8222;</span>
                <p class="rk-auth-quote-text">
                    Nigdy nie kupuj pompy obiegowej &#8222;na zapas&#8221;. Przewymiarowana pompa to hałas, kawitacja i marnowanie prądu. Niedowymiarowana to zimna podłoga. Matematyka układu wybacza znacznie mniej niż wylewka betonowa – tutaj liczą się twarde obliczenia oporów, a nie przypuszczenia instalatora.
                </p>
            </div>

            <div class="rk-auth-tabs">
                <button class="rk-auth-tab active" data-panel="omnie">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg>
                    O Mnie
                </button>
                <button class="rk-auth-tab" data-panel="liczby">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                    Fakty i Liczby
                </button>
                <button class="rk-auth-tab" data-panel="filozofia">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>
                    Filozofia Projektowa
                </button>
            </div>

            <div class="rk-auth-panel active" id="panel-omnie">
                <h3>Praktyka wygrywa z teorią</h3>
                <p>
                    Projektowanie systemów ogrzewania to czysta matematyka i hydraulika. Od lat doradzam inwestorom, audytuję błędy wykonawcze na placach budowy i optymalizuję pracę źródeł ciepła. Oprócz działalności projektowej, zarządzam również portalami remont.biz.pl oraz <a sobir.pl, gdzie dzielę się konkretną, twardą wiedzą.
                </p>
                <p>
                    Wiem dokładnie, ile kosztuje inwestora niewiedza. W swoich projektach łączę rygorystyczne normy inżynierskie z bezkompromisowym pragmatyzmem, udowadniając, że odpowiednio zbilansowany zład wody to gwarancja spokoju na dekady.
                </p>
            </div>

            <div class="rk-auth-panel" id="panel-liczby">
                <h3>Instalacje oparte na twardych danych</h3>
                <p>Każdy opór hydrauliczny w rurze, każdy zakręt i przepływ na rotametrze mają gigantyczne znaczenie dla żywotności pompy. Moje podejście opiera się wyłącznie na wyliczeniach.</p>
                
                <div class="rk-auth-stats">
                    <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="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-stat-info">
                            <div class="rk-stat-val">1000+</div>
                            <div class="rk-stat-label">Wykonanych Projektów OZC</div>
                        </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="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-info">
                            <div class="rk-stat-val">3700+</div>
                            <div class="rk-stat-label">Aktywnych Obserwatorów</div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-auth-panel" id="panel-filozofia">
                <h3>Bezbłędny system zaczyna się na papierze</h3>
                <p>
                    Odrzucam dobieranie urządzeń na zasadzie &#8222;zawsze tak montujemy i działa&#8221;. Brak analizy krzywych ciśnienia (H) i wydajności (Q) to najczęstsza przyczyna awarii silników EC i głośnej pracy instalacji.
                </p>
                <p>
                    Wszystkie algorytmy i artykuły techniczne, które znajdziesz na tej stronie, bazują na obowiązujących normach projektowych (m.in. <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">PN-EN 1264</a> i PN-EN 12831). Zapewnia to pełną zgodność prawną i maksymalizuje sprawność energetyczną Twojego domu.
                </p>
            </div>

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

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

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // Remove active classes
            tabs.forEach(t => t.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Add active class to clicked tab
            this.classList.add('active');

            // Show corresponding panel
            const target = this.getAttribute('data-panel');
            document.getElementById('panel-' + target).classList.add('active');
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-autor",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Ekspert HVAC Robert Kucharski: Dobór pompy to inżynieria, nie zgadywanka",
    "description": "Profil ekspercki Roberta Kucharskiego, inżyniera HVAC weryfikującego błędy hydrauliczne oraz dobór parametrów ciśnienia i przepływu w instalacjach płaszczyznowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "Specjalista HVAC",
      "sameAs": [
        "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-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-autor",
    "name": "Baza kompetencji inżynierskich HVAC - Robert Kucharski",
    "description": "Zestawienie twardych statystyk i doświadczenia w zakresie normatywnego projektowania hydrauliki instalacji płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dobór pompy obiegowej",
      "obliczenia oporów hydraulicznych",
      "norma PN-EN 1264 podłogówka",
      "inżynier hvac robert kucharski",
      "audyt instalacji grzewczej"
    ],
    "measurementTechnique": "Weryfikacja doświadczenia na bazie ponad 1000 zrealizowanych i zoptymalizowanych projektów OZC oraz sieci zaufania online.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zrealizowane projekty instalacji płaszczyznowych i doborów hydraulicznych: 1000+",
        "Społeczność ekspercka: Zaufanie ponad 3700 obserwatorów.",
        "Metodologia: Odrzucenie dobierania sprzętu na zapas na rzecz rygorystycznych obliczeń strat ciśnienia i przepływu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-autor",
    "name": "Statyczny Profil E-E-A-T Autora",
    "description": "Moduł weryfikujący autorytet inżynierski twórcy artykułu, integrujący bezpośredni cytat (hook), portfolio oraz potwierdzenie zastosowania norm technicznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-faq-dark: #1e293b;
    --rk-faq-primary: #3b82f6;
    --rk-faq-accent: #8b5cf6;
    --rk-faq-bg: #ffffff;
    --rk-faq-surface: #f8fafc;
    --rk-faq-border: #e2e8f0;
    --rk-faq-text: #475569;
    --rk-faq-danger: #ef4444;
}

.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 10px 30px -10px rgba(59, 130, 246, 0.15);
    border: 1px solid var(--rk-faq-border);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-faq-top {
    padding: 40px 50px;
    background: linear-gradient(145deg, var(--rk-faq-surface) 0%, #ffffff 100%);
    border-bottom: 1px solid var(--rk-faq-border);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

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

.rk-faq-top p {
    font-size: 16px;
    color: var(--rk-faq-text);
    margin: 0;
    max-width: 750px;
    line-height: 1.6;
}

/* Master Switch */
.rk-faq-master-control {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    background: var(--rk-faq-bg);
    padding: 12px 24px;
    border-radius: 12px;
    border: 1px solid var(--rk-faq-border);
    align-self: flex-start;
    cursor: pointer;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: border-color 0.3s;
}

.rk-faq-master-control:hover {
    border-color: var(--rk-faq-primary);
}

.rk-faq-master-label {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-faq-dark);
}

.rk-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}

.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: #cbd5e1;
    transition: .4s;
    border-radius: 24px;
}

.rk-slider:before {
    position: absolute;
    content: "";
    height: 18px; width: 18px;
    left: 3px; bottom: 3px;
    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-faq-primary); }
input:checked + .rk-slider:before { transform: translateX(20px); }

/* Lista FAQ */
.rk-faq-list {
    padding: 20px 50px 40px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-faq-item {
    background: var(--rk-faq-bg);
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-item.active {
    border-color: var(--rk-faq-primary);
    box-shadow: 0 10px 20px -5px rgba(59, 130, 246, 0.1);
}

.rk-faq-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 25px;
    cursor: pointer;
    user-select: none;
    background: transparent;
    transition: background 0.3s;
}

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

.rk-faq-question-box {
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-faq-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: var(--rk-faq-surface);
    color: var(--rk-faq-primary);
    flex-shrink: 0;
    transition: all 0.3s;
}

.rk-faq-item.active .rk-faq-icon {
    background: var(--rk-faq-primary);
    color: #ffffff;
}

.rk-faq-item.active .rk-faq-icon.danger-icon {
    background: var(--rk-faq-danger);
    color: #ffffff;
}

.rk-faq-header h3 {
    font-size: 17px;
    font-weight: 700;
    color: var(--rk-faq-dark);
    margin: 0;
    line-height: 1.4;
}

.rk-faq-chevron {
    color: #94a3b8;
    transition: transform 0.3s;
}

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

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

.rk-faq-content {
    padding: 0 25px 25px 82px; /* Wyrównanie do tekstu, ominięcie ikony */
}

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

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

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

@media (max-width: 768px) {
    .rk-faq-top { padding: 30px 20px; }
    .rk-faq-top h2 { font-size: 26px; }
    .rk-faq-list { padding: 15px 20px 30px; gap: 10px; }
    .rk-faq-header { padding: 15px; }
    .rk-faq-content { padding: 0 15px 20px 15px; }
    .rk-faq-question-box { gap: 12px; }
    .rk-faq-header h3 { font-size: 15px; }
}
</style>

<div class="rk-faq-container" id="rkFaqApp">
    <div class="rk-faq-top">
        <h2>FAQ – Najczęściej zadawane pytania dotyczące pomp obiegowych</h2>
        <p>Baza wiedzy diagnostycznej. Eksperckie, techniczne odpowiedzi na najczęstsze problemy z przepływem, trybami pracy i integracją pomp cyrkulacyjnych w płaszczyznowych systemach grzewczych.</p>
        
        <label class="rk-faq-master-control">
            <span class="rk-faq-master-label">Rozwiń wszystkie odpowiedzi</span>
            <div class="rk-switch">
                <input type="checkbox" id="rkToggleAllFaq">
                <span class="rk-slider"></span>
            </div>
        </label>
    </div>

    <div class="rk-faq-list">
        
        <div class="rk-faq-item">
            <div class="rk-faq-header">
                <div class="rk-faq-question-box">
                    <div class="rk-faq-icon danger-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                    </div>
                    <h3>Czy pompa obiegowa do podłogówki może pracować na trybie proporcjonalnym (PP)?</h3>
                </div>
                <div class="rk-faq-chevron">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-body">
                <div class="rk-faq-content">
                    <p><strong>Nie, praca pompy w trybie proporcjonalnym (PP) jest kardynalnym błędem wykonawczym.</strong> W tym trybie zamknięcie części pętli grzewczych powoduje obniżenie ciśnienia przez pompę, co skutkuje drastycznym spadkiem przepływów w pozostałych, otwartych obiegach i niedogrzaniem pomieszczeń.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <div class="rk-faq-header">
                <div class="rk-faq-question-box">
                    <div class="rk-faq-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                    </div>
                    <h3>Jaki przepływ na rotametrach powinna zapewnić pompa obiegowa?</h3>
                </div>
                <div class="rk-faq-chevron">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-body">
                <div class="rk-faq-content">
                    <p>Prawidłowy przepływ dla standardowych pętli o długości 70–90 metrów wynosi <strong>od 1,5 do 2,5 litra na minutę (l/min)</strong>. Wartości te muszą wynikać bezpośrednio z projektu hydraulicznego i być precyzyjnie wyregulowane na belce rozdzielacza za pomocą <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrów</a>.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <div class="rk-faq-header">
                <div class="rk-faq-question-box">
                    <div class="rk-faq-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon><path d="M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07"></path></svg>
                    </div>
                    <h3>Dlaczego pompa obiegowa podłogówki buczy i głośno pracuje?</h3>
                </div>
                <div class="rk-faq-chevron">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-body">
                <div class="rk-faq-content">
                    <p>Główną przyczyną głośnej pracy jest <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">zapowietrzenie układu</a> lub zjawisko kawitacji wywołane zbyt niskim ciśnieniem statycznym w instalacji (poniżej 1,0 bar). Innym powodem może być zablokowanie wirnika przez osad magnetyczny w wyniku braku filtra magnetycznego w układzie.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <div class="rk-faq-header">
                <div class="rk-faq-question-box">
                    <div class="rk-faq-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12h4l2-9 4 18 2-9h4"></path><path d="M12 2v2"></path><path d="M12 20v2"></path></svg>
                    </div>
                    <h3>Czy pompa wbudowana w pompę ciepła wystarczy do obsłużenia podłogówki?</h3>
                </div>
                <div class="rk-faq-chevron">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-body">
                <div class="rk-faq-content">
                    <p>W budynkach o powierzchni do 120 m² ze sprzyjającą architekturą hydrauliczną <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompa ciepła</a> ze zintegrowaną pompą cyrkulacyjną zazwyczaj jest wystarczająca. Przy większych metrażach lub skomplikowanych układach kaskadowych konieczne jest zastosowanie <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgła hydraulicznego</a> i zewnętrznej pompy obiegowej.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <div class="rk-faq-header">
                <div class="rk-faq-question-box">
                    <div class="rk-faq-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    </div>
                    <h3>Jak sprawdzić, czy elektroniczna pompa obiegowa działa prawidłowo?</h3>
                </div>
                <div class="rk-faq-chevron">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-body">
                <div class="rk-faq-content">
                    <p>Prawidłowe działanie poznasz po stabilnym wskazaniu aktualnego poboru mocy (wyrażonego w Watach na wyświetlaczu) oraz braku drgań. Dodatkowo rura zasilająca za pompą powinna osiągnąć temperaturę zgodną z nastawą na <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zaworze mieszającym</a> w czasie kilkunastu minut od startu.</p>
                </div>
            </div>
        </div>

    </div>
</div>

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

    // Obsługa pojedynczych akordeonów
    faqItems.forEach(item => {
        const header = item.querySelector('.rk-faq-header');
        const body = item.querySelector('.rk-faq-body');

        header.addEventListener('click', () => {
            const isActive = item.classList.contains('active');
            
            if (isActive) {
                item.classList.remove('active');
                body.style.maxHeight = '0px';
            } else {
                item.classList.add('active');
                body.style.maxHeight = body.scrollHeight + "px";
            }
            updateMasterSwitchState();
        });
    });

    // Obsługa przełącznika "Rozwiń wszystkie"
    toggleAllCheckbox.addEventListener('change', function() {
        const isChecked = this.checked;
        
        faqItems.forEach(item => {
            const body = item.querySelector('.rk-faq-body');
            if (isChecked) {
                item.classList.add('active');
                body.style.maxHeight = body.scrollHeight + "px";
            } else {
                item.classList.remove('active');
                body.style.maxHeight = '0px';
            }
        });
    });

    // Funkcja aktualizująca stan przełącznika głównego
    function updateMasterSwitchState() {
        const allActive = Array.from(faqItems).every(item => item.classList.contains('active'));
        toggleAllCheckbox.checked = allActive;
    }
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "FAQ – Najczęściej zadawane pytania dotyczące pomp obiegowych",
    "description": "Eksperckie odpowiedzi na najczęstsze problemy z pompami obiegowymi w systemach ogrzewania podłogowego. Diagnostyka, tryby pracy i ustawienia.",
    "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-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-faq",
    "name": "Baza Diagnostyczna Pomp Obiegowych 2026",
    "description": "Zbiór typowych awarii, optymalnych parametrów przepływu i konfiguracji hydraulicznych dla układów płaszczyznowych ogrzewania.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "tryb proporcjonalny a stałociśnieniowy",
      "przepływ na rotametrach podłogówki",
      "dlaczego pompa obiegowa buczy",
      "pompa obiegowa a pompa ciepła",
      "diagnostyka pompy ogrzewania podłogowego"
    ],
    "measurementTechnique": "Analiza objawów akustycznych i termicznych w odniesieniu do nastaw hydraulicznych na rozdzielaczu podłogowym.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Weryfikacja trybu PP (błąd) vs CP (prawidłowy)",
        "Kontrola przepływów nominalnych (1,5 - 2,5 l/min)",
        "Diagnostyka kawitacji i zapowietrzenia zładu",
        "Zależność wbudowanej pompy obiegowej od powierzchni budynku"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-faq",
    "name": "Interaktywny Asystent Diagnostyki Pomp",
    "description": "Moduł typu Accordion FAQ pozwalający użytkownikowi na szybkie filtrowanie i odczytywanie rozwiązań najczęstszych problemów hydraulicznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#faq-schema",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy pompa obiegowa do podłogówki może pracować na trybie proporcjonalnym (PP)?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, praca pompy w trybie proporcjonalnym (PP) jest kardynalnym błędem wykonawczym. W tym trybie zamknięcie części pętli grzewczych powoduje obniżenie ciśnienia przez pompę, co skutkuje drastycznym spadkiem przepływów w pozostałych, otwartych obiegach i niedogrzaniem pomieszczeń."
        }
      },
      {
        "@type": "Question",
        "name": "Jaki przepływ na rotametrach powinna zapewnić pompa obiegowa?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Prawidłowy przepływ dla standardowych pętli o długości 70–90 metrów wynosi od 1,5 do 2,5 litra na minutę (l/min). Wartości te muszą wynikać bezpośrednio z projektu hydraulicznego i być precyzyjnie wyregulowane na belce rozdzielacza."
        }
      },
      {
        "@type": "Question",
        "name": "Dlaczego pompa obiegowa podłogówki buczy i głośno pracuje?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Główną przyczyną głośnej pracy jest zapowietrzenie układu lub zjawisko kawitacji wywołane zbyt niskim ciśnieniem statycznym w instalacji (poniżej 1,0 bar). Innym powodem może być zablokowanie wirnika przez osad magnetyczny w wyniku braku filtra."
        }
      },
      {
        "@type": "Question",
        "name": "Czy pompa wbudowana w pompę ciepła wystarczy do obsłużenia podłogówki?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "W budynkach o powierzchni do 120 m² ze sprzyjającą architekturą hydrauliczną pompa fabryczna zazwyczaj jest wystarczająca. Przy większych metrażach lub skomplikowanych układach kaskadowych konieczne jest zastosowanie sprzęgła hydraulicznego i zewnętrznej pompy."
        }
      },
      {
        "@type": "Question",
        "name": "Jak sprawdzić, czy elektroniczna pompa obiegowa działa prawidłowo?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Prawidłowe działanie poznasz po stabilnym wskazaniu aktualnego poboru mocy (wyrażonego w Watach na wyświetlaczu) oraz braku drgań. Dodatkowo rura zasilająca za pompą powinna osiągnąć zadaną temperaturę w czasie kilkunastu minut od startu."
        }
      }
    ]
  }
]
</script>



<style>
:root {
    --rk-pmp-dark: #1e293b;
    --rk-pmp-blue: #0284c7;
    --rk-pmp-accent: #38bdf8;
    --rk-pmp-green: #10b981;
    --rk-pmp-red: #ef4444;
    --rk-pmp-gray: #64748b;
    --rk-pmp-bg: #f8fafc;
    --rk-pmp-card: #ffffff;
    --rk-pmp-border: #e2e8f0;
}

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

/* Tagi Długi Ogon */
.rk-tags-row {
    padding: 20px 30px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.rk-mat-tag {
    background: rgba(2, 132, 199, 0.08);
    color: var(--rk-pmp-blue);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid rgba(2, 132, 199, 0.15);
    transition: all 0.3s;
}

.rk-mat-tag:hover {
    background: var(--rk-pmp-blue);
    color: #ffffff;
}

/* Nagłówek i Wstęp */
.rk-pmp-header {
    padding: 30px 40px;
    text-align: center;
    border-bottom: 1px solid var(--rk-pmp-border);
}

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

.rk-pmp-header p {
    font-size: 16px;
    color: var(--rk-pmp-gray);
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Interaktywny Panel */
.rk-pmp-dashboard {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    background: var(--rk-pmp-bg);
    border-bottom: 1px solid var(--rk-pmp-border);
}

.rk-pmp-controls {
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--rk-pmp-card);
    padding: 15px 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-pmp-border);
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    cursor: pointer;
    transition: all 0.2s;
}

.rk-toggle-row:hover {
    border-color: var(--rk-pmp-accent);
}

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

/* Switch CSS */
.rk-switch {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 28px;
}
.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: #cbd5e1;
    transition: .4s;
    border-radius: 34px;
}
.rk-slider:before {
    position: absolute;
    content: "";
    height: 20px; width: 20px;
    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-pmp-green); }
input:checked + .rk-slider:before { transform: translateX(22px); }

/* SVG Visualizer */
.rk-pmp-visual {
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-left: 1px solid var(--rk-pmp-border);
    background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%);
}

.rk-pmp-svg-box {
    position: relative;
    width: 160px;
    height: 160px;
    margin-bottom: 25px;
}

.rk-svg-rotor {
    transform-origin: center;
    transition: all 0.5s ease;
}

.anim-spin-slow { animation: pmpSpin 8s linear infinite; }
.anim-spin-fast { animation: pmpSpin 1.5s linear infinite; }
.color-off { stroke: #94a3b8; }
.color-on { stroke: var(--rk-pmp-green); filter: drop-shadow(0 0 8px rgba(16, 185, 129, 0.4)); }

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

.rk-status-badge {
    padding: 8px 24px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    background: #e2e8f0;
    color: var(--rk-pmp-gray);
    transition: all 0.3s;
}

.rk-status-badge.status-ready {
    background: var(--rk-pmp-green);
    color: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(16, 185, 129, 0.4);
}

/* Grid Detali */
.rk-pmp-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding: 40px;
}

.rk-detail-card {
    background: var(--rk-pmp-bg);
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-pmp-border);
}

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

.rk-detail-card h3 svg { color: var(--rk-pmp-blue); }

.rk-detail-card p {
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
    margin: 0;
}

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

.rk-detail-card a:hover { border-color: var(--rk-pmp-blue); }

@media (max-width: 768px) {
    .rk-pmp-dashboard { grid-template-columns: 1fr; }
    .rk-pmp-visual { border-left: none; border-top: 1px solid var(--rk-pmp-border); padding: 30px; }
    .rk-pmp-details { grid-template-columns: 1fr; padding: 25px; gap: 15px; }
    .rk-pmp-controls { padding: 25px; }
    .rk-pmp-header { padding: 25px 20px; }
    .rk-pmp-header h2 { font-size: 24px; }
}
</style>

<div class="rk-pmp-container" id="pmp-configurator-app">
    
    <div class="rk-tags-row">
        <span class="rk-mat-tag"># dobór pompy obiegowej do podłogówki</span>
        <span class="rk-mat-tag"># współczynnik efektywności energetycznej eei</span>
        <span class="rk-mat-tag"># tryb stałociśnieniowy pompy</span>
        <span class="rk-mat-tag"># straty ciśnienia w instalacji</span>
    </div>

    <div class="rk-pmp-header">
        <h2>Podsumowanie – Kryteria wyboru niezawodnej pompy obiegowej</h2>
        <p>Wybór pompy obiegowej do instalacji ogrzewania podłogowego musi być podyktowany wyłącznie rzetelną analizą inżynierską, a nie pozorną oszczędnością przy zakupie. Uruchom weryfikator i sprawdź kluczowe parametry.</p>
    </div>

    <div class="rk-pmp-dashboard">
        <div class="rk-pmp-controls">
            <label class="rk-toggle-row">
                <span class="rk-toggle-label">Zgodność z dyrektywą ErP (EEI ≤ 0,20)</span>
                <div class="rk-switch">
                    <input type="checkbox" class="pmp-req-check">
                    <span class="rk-slider"></span>
                </div>
            </label>
            <label class="rk-toggle-row">
                <span class="rk-toggle-label">Tryb stałociśnieniowy (CP) i wyświetlacz</span>
                <div class="rk-switch">
                    <input type="checkbox" class="pmp-req-check">
                    <span class="rk-slider"></span>
                </div>
            </label>
            <label class="rk-toggle-row">
                <span class="rk-toggle-label">Korpus z żeliwa i wał ceramiczny</span>
                <div class="rk-switch">
                    <input type="checkbox" class="pmp-req-check">
                    <span class="rk-slider"></span>
                </div>
            </label>
            <label class="rk-toggle-row">
                <span class="rk-toggle-label">Zgodność z projektem hydraulicznym</span>
                <div class="rk-switch">
                    <input type="checkbox" class="pmp-req-check">
                    <span class="rk-slider"></span>
                </div>
            </label>
        </div>

        <div class="rk-pmp-visual">
            <div class="rk-pmp-svg-box">
                <svg viewBox="0 0 100 100" fill="none">
                    <circle cx="50" cy="50" r="45" stroke="#cbd5e1" stroke-width="4" fill="#ffffff"/>
                    <circle cx="50" cy="50" r="35" stroke="#e2e8f0" stroke-width="8" />
                    <g class="rk-svg-rotor anim-spin-slow color-off" id="pmpRotor">
                        <line x1="50" y1="15" x2="50" y2="85" stroke-width="6" stroke-linecap="round"/>
                        <line x1="15" y1="50" x2="85" y2="50" stroke-width="6" stroke-linecap="round"/>
                        <circle cx="50" cy="50" r="8" fill="currentColor" />
                    </g>
                    <rect x="35" y="40" width="30" height="20" rx="4" fill="#1e293b" />
                    <text x="50" y="54" fill="#38bdf8" font-size="10" font-family="monospace" font-weight="bold" text-anchor="middle" id="pmpWattage">&#8212; W</text>
                </svg>
            </div>
            <div class="rk-status-badge" id="pmpStatusText">Urządzenie amatorskie</div>
        </div>
    </div>

    <div class="rk-pmp-details">
        <div class="rk-detail-card">
            <h3>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
                Zgodność z dyrektywą ErP
            </h3>
            <p>Urządzenie musi posiadać współczynnik efektywności energetycznej <strong>EEI ≤ 0,20</strong>. Spełnienie tego warunku gwarantuje minimalny pobór prądu na poziomie zaledwie kilku watów podczas inteligentnej pracy adaptacyjnej.</p>
        </div>
        <div class="rk-detail-card">
            <h3>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                Wielofunkcyjność elektroniki
            </h3>
            <p>Solidna pompa musi oferować dedykowany tryb stałociśnieniowy (<strong>CP</strong>), niezbędny przy sterowaniu strefowym, oraz czytelny wyświetlacz informujący o aktualnym przepływie [m³/h] i poborze mocy [W].</p>
        </div>
        <div class="rk-detail-card">
            <h3>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
                Wysoka jakość materiałowa
            </h3>
            <p>Korpus wykonany z ciężkiego żeliwa z powłoką kataforetyczną oraz precyzyjny wał ceramiczny z nowoczesnymi łożyskami. To zestawienie gwarantuje cichą i bezawaryjną pracę przez minimum <strong>10–15 lat</strong>.</p>
        </div>
        <div class="rk-detail-card">
            <h3>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                Oparcie na dokumentacji
            </h3>
            <p>Zakup musi być bezwzględnie potwierdzony obliczeniami za pomocą <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">kalkulatora doboru pompy obiegowej</a>, w oparciu o wyliczone <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">zapotrzebowanie cieplne OZC</a>. Eliminuje to ryzyko błędów hydraulicznych.</p>
        </div>
    </div>
</div>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Podsumowanie – Kryteria wyboru niezawodnej pompy obiegowej",
    "description": "Zestawienie rygorystycznych kryteriów inżynierskich doboru energooszczędnej pompy obiegowej do ogrzewania podłogowego. Sprawdź parametry techniczne przed zakupem.",
    "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-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-podsumowanie",
    "name": "Standardy Techniczne Pomp Obiegowych 2026",
    "description": "Specyfikacja techniczna i minimalne wymogi materiałowo-elektroniczne dla pomp cyrkulacyjnych w płaszczyznowych systemach grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dobór pompy obiegowej do podłogówki",
      "współczynnik efektywności energetycznej eei",
      "tryb stałociśnieniowy cp pompy",
      "obliczenia strat ciśnienia w instalacji",
      "jakość pompy obiegowej"
    ],
    "measurementTechnique": "Analiza wskaźnika EEI z dyrektywy ErP, krzywych podnoszenia oraz oporów hydraulicznych rurociągów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "EEI ≤ 0,20 - gwarancja energooszczędności",
        "Tryb CP (Constant Pressure) - dla systemów ze sterowaniem strefowym",
        "Żeliwo kataforetyczne i wał ceramiczny - żywotność 10-15 lat",
        "Weryfikacja mocy w odniesieniu do projektu OZC"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-podsumowanie",
    "name": "Interaktywny Weryfikator Klasy Pompy Obiegowej",
    "description": "Narzędzie symulacyjne pozwalające na ocenę jakości wybranej pompy obiegowej poprzez weryfikację czterech kluczowych kryteriów inżynierskich.",
    "applicationCategory": "TechnicalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const checkboxes = document.querySelectorAll('.pmp-req-check');
    const rotor = document.getElementById('pmpRotor');
    const statusText = document.getElementById('pmpStatusText');
    const wattageDisplay = document.getElementById('pmpWattage');

    function updatePumpStatus() {
        let checkedCount = 0;
        checkboxes.forEach(cb => { if(cb.checked) checkedCount++; });

        if (checkedCount === 0) {
            statusText.textContent = 'Urządzenie amatorskie';
            statusText.className = 'rk-status-badge';
            rotor.className.baseVal = 'rk-svg-rotor anim-spin-slow color-off';
            wattageDisplay.textContent = '-- W';
            wattageDisplay.setAttribute('fill', '#64748b');
        } else if (checkedCount > 0 && checkedCount < 4) {
            statusText.textContent = `Weryfikacja: ${checkedCount}/4 kryteriów`;
            statusText.className = 'rk-status-badge';
            rotor.className.baseVal = 'rk-svg-rotor anim-spin-slow color-on';
            wattageDisplay.textContent = `${45 - (checkedCount * 10)} W`;
            wattageDisplay.setAttribute('fill', '#38bdf8');
        } else if (checkedCount === 4) {
            statusText.textContent = 'Klasa: Inżynierska (Zatwierdzona)';
            statusText.className = 'rk-status-badge status-ready';
            rotor.className.baseVal = 'rk-svg-rotor anim-spin-fast color-on';
            wattageDisplay.textContent = '6 W';
            wattageDisplay.setAttribute('fill', '#10b981');
        }
    }

    checkboxes.forEach(cb => {
        cb.addEventListener('change', updatePumpStatus);
    });
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-slate: #475569;
    --rk-dl-bg: #f8fafc;
    --rk-dl-card: #ffffff;
    --rk-dl-border: #e2e8f0;
    
    /* Kolory Akcentujące */
    --rk-dl-blue: #2563eb;
    --rk-dl-pdf: #ef4444; /* Czerwony dla PDF */
    --rk-dl-img: #10b981; /* Zielony dla WebP */
}

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

/* Tagi Long Tail */
.rk-dl-tags {
    padding: 25px 40px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    background: var(--rk-dl-card);
}

.rk-mat-tag {
    background: var(--rk-dl-bg);
    color: var(--rk-dl-slate);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    border: 1px solid var(--rk-dl-border);
    transition: all 0.3s;
}

.rk-mat-tag:hover {
    background: var(--rk-dl-slate);
    color: #ffffff;
}

/* Nagłówek */
.rk-dl-header {
    padding: 25px 40px 30px;
    background: var(--rk-dl-card);
    color: var(--rk-dl-dark);
    border-bottom: 1px solid var(--rk-dl-border);
}

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

.rk-dl-header p {
    font-size: 15px;
    color: var(--rk-dl-slate);
    margin: 0;
    line-height: 1.6;
    max-width: 800px;
}

/* Układ główny - Grid */
.rk-dl-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--rk-dl-bg);
}

/* Lewa Kolumna - Podgląd Infografiki */
.rk-dl-preview-area {
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-right: 1px solid var(--rk-dl-border);
}

.rk-preview-box {
    width: 100%;
    max-width: 320px;
    background: #ffffff;
    border: 8px solid #ffffff;
    border-radius: 16px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1);
    overflow: hidden;
    position: relative;
}

.rk-preview-box img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    border: 1px solid var(--rk-dl-border);
}

.rk-preview-label {
    margin-top: 20px;
    font-size: 12px;
    font-weight: 900;
    color: var(--rk-dl-slate);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Prawa Kolumna - Przyciski Pobierania */
.rk-dl-actions-area {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}

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

.rk-action-desc {
    font-size: 14px;
    color: var(--rk-dl-slate);
    margin: 0 0 20px 0;
    line-height: 1.6;
}

.rk-btn-card {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px;
    background: #ffffff;
    border: 2px solid var(--rk-dl-border);
    border-radius: 16px;
    text-decoration: none;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-btn-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
}

.rk-btn-card.pdf:hover { border-color: var(--rk-dl-pdf); }
.rk-btn-card.img:hover { border-color: var(--rk-dl-img); }

.rk-btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    flex-shrink: 0;
}

.rk-btn-card.pdf .rk-btn-icon { background: #fef2f2; color: var(--rk-dl-pdf); }
.rk-btn-card.img .rk-btn-icon { background: #f0fdf4; color: var(--rk-dl-img); }

.rk-btn-content {
    display: flex;
    flex-direction: column;
}

.rk-btn-headline {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-dl-dark);
    margin: 0 0 4px 0;
}

.rk-btn-sub {
    font-size: 13px;
    font-weight: 600;
    color: var(--rk-dl-slate);
    margin: 0;
}

/* Stopka z Copyright */
.rk-dl-footer {
    background: #ffffff;
    border-top: 1px solid var(--rk-dl-border);
    padding: 20px 40px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.rk-footer-shield {
    color: var(--rk-dl-slate);
    margin-top: 2px;
    flex-shrink: 0;
}

.rk-footer-copy {
    font-size: 12px;
    font-weight: 500;
    color: var(--rk-dl-slate);
    line-height: 1.6;
    margin: 0;
}

.rk-footer-copy strong {
    color: var(--rk-dl-dark);
    font-weight: 800;
}

@media (max-width: 768px) {
    .rk-dl-layout { grid-template-columns: 1fr; }
    .rk-dl-preview-area { border-right: none; border-bottom: 1px solid var(--rk-dl-border); padding: 30px 20px; }
    .rk-dl-actions-area { padding: 30px 20px; }
    .rk-dl-header { padding: 25px 20px; }
    .rk-dl-tags { padding: 20px 20px 0; }
    .rk-dl-footer { padding: 20px; flex-direction: column; align-items: center; text-align: center; }
}
</style>

<div class="rk-dl-container">
    
    <div class="rk-dl-tags">
        <span class="rk-mat-tag"># schemat podłączenia pompy obiegowej pdf</span>
        <span class="rk-mat-tag"># infografika instalacja ogrzewania podłogowego</span>
        <span class="rk-mat-tag"># instrukcja montażu pompy obiegowej do pobrania</span>
        <span class="rk-mat-tag"># układ mieszający podłogówki schemat</span>
    </div>

    <div class="rk-dl-header">
        <h2>Materiały techniczne do pobrania</h2>
        <p>Pobierz przygotowaną przeze mnie infografikę w wysokiej rozdzielczości. Zawiera ona przekrój najważniejszych wytycznych projektowych i montażowych dla pomp obiegowych.</p>
    </div>

    <div class="rk-dl-layout">
        <div class="rk-dl-preview-area">
            <div class="rk-preview-box">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2025/12/Infografika-Pompa-obiegowa-w-instalacji-ogrzewania-podlogowego.webp" alt="Infografika - Pompa obiegowa w instalacji ogrzewania podłogowego" loading="lazy">
            </div>
            <div class="rk-preview-label">Podgląd Dokumentu</div>
        </div>

        <div class="rk-dl-actions-area">
            <h3 class="rk-action-title">Wybierz format pliku</h3>
            <p class="rk-action-desc">Dokumentacja jest dostępna w formacie wektorowym (PDF do druku) oraz w lekkim formacie graficznym (WebP do podglądu na telefonie).</p>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2025/12/Infografika-Pompa-obiegowa-w-instalacji-ogrzewania-podlogowego.pdf" target="_blank" class="rk-btn-card pdf">
                <div class="rk-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><path d="M12 18v-6"></path><path d="M9 15l3 3 3-3"></path></svg>
                </div>
                <div class="rk-btn-content">
                    <h4 class="rk-btn-headline">Pobierz plik PDF</h4>
                    <p class="rk-btn-sub">Wysoka jakość • Wersja do druku</p>
                </div>
            </a>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2025/12/Infografika-Pompa-obiegowa-w-instalacji-ogrzewania-podlogowego.webp" target="_blank" class="rk-btn-card img">
                <div class="rk-btn-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                </div>
                <div class="rk-btn-content">
                    <h4 class="rk-btn-headline">Wyświetl obraz WebP</h4>
                    <p class="rk-btn-sub">Lekki plik • Podgląd w przeglądarce</p>
                </div>
            </a>
        </div>
    </div>

    <div class="rk-dl-footer">
        <div class="rk-footer-shield">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
        </div>
        <p class="rk-footer-copy">
            <strong>© 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski.</strong> Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku. Chronione prawem autorskim.
        </p>
    </div>

</div>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#article-materialy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Materiały techniczne do pobrania: Schematy i wytyczne pomp obiegowych",
    "description": "Pobierz darmową infografikę w formacie PDF oraz WebP zawierającą techniczne zasady doboru, trybów pracy oraz montażu pompy obiegowej w ogrzewaniu podłogowym.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2025/12/Infografika-Pompa-obiegowa-w-instalacji-ogrzewania-podlogowego.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-09",
    "dateModified": "2026-06-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#dataset-infografika",
    "name": "Infografika techniczna: Pompa obiegowa w podłogówce",
    "description": "Zestawienie graficzne schematów montażowych, wzorów obliczeniowych (Q i H) oraz charakterystyk trybów pracy (CP/PP) do pobrania w formacie PDF i WebP.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "schemat podłączenia pompy obiegowej pdf",
      "infografika instalacja ogrzewania podłogowego",
      "instrukcja montażu pompy obiegowej do pobrania",
      "układ mieszający podłogówki schemat",
      "jak podłączyć pompę podłogówki pdf"
    ],
    "measurementTechnique": "Synteza wiedzy inżynierskiej z normy PN-EN 1264 zaprezentowana w formie zoptymalizowanej infografiki 2D.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Plik PDF: Format wektorowy przeznaczony do wydruku przez instalatorów (Infografika-Pompa-obiegowa-w-instalacji-ogrzewania-podlogowego.pdf).",
        "Plik WebP: Skompresowany format rastrowy do podglądu bezpośrednio w przeglądarkach na urządzeniach mobilnych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/#webapp-repozytorium",
    "name": "Interfejs Repozytorium Dokumentacji HVAC",
    "description": "Statyczny interfejs graficzny ułatwiający użytkownikom szybki podgląd i pobieranie dokumentacji technicznej w preferowanym formacie z zachowaniem ochrony praw autorskich.",
    "applicationCategory": "MultimediaApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">Pompa obiegowa w instalacji ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Wybór idealnego drewna do ogrzewania podłogowego – kompletna tabela i poradnik.</title>
		<link>https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Tue, 14 Oct 2025 11:21:47 +0000</pubDate>
				<category><![CDATA[Drewno]]></category>
		<category><![CDATA[Materiały budowlane]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Podłogi drewniane]]></category>
		<category><![CDATA[Podłogi w domu]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki domowe]]></category>
		<category><![CDATA[Poradniki inwestora]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[dąb]]></category>
		<category><![CDATA[deska warstwowa]]></category>
		<category><![CDATA[drewna egzotyczne]]></category>
		<category><![CDATA[drewno na ogrzewanie podłogowe]]></category>
		<category><![CDATA[montaż podłogi drewnianej]]></category>
		<category><![CDATA[ogrzewanie podłogowe a drewno]]></category>
		<category><![CDATA[podłoga na podłogówce]]></category>
		<category><![CDATA[poradnik budowlany]]></category>
		<category><![CDATA[rodzaje drewna]]></category>
		<category><![CDATA[stabilność drewna]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2807</guid>

					<description><![CDATA[<p>Planujesz piękną drewnianą podłogę w domu z ogrzewaniem podłogowym? To świetny pomysł, który gwarantuje niepowtarzalny klimat i komfort. Jednak nie każde drewno będzie dobrze współpracować z instalacją grzewczą. Aby uniknąć kosztownych pomyłek i rozczarowań, takich jak paczenie się desek czy powstawanie szpar, konieczny jest świadomy wybór materiału. W naszym artykule znajdziesz wybór idealnego drewna do ogrzewania podłogowego – kompletna tabela i poradnik, które rozwieją wszystkie Twoje wątpliwości. Dowiesz się, które gatunki są bezpieczne, a których lepiej unikać, oraz poznasz kluczowe zasady poprawnego montażu. Z nami Twoja podłoga będzie trwała, piękna i ciepła na długie lata.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/">Wybór idealnego drewna do ogrzewania podłogowego – kompletna tabela i poradnik.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/"
    },
    "headline": "Wprowadzenie: Drewno jako okładzina na ogrzewanie podłogowe",
    "description": "Definicja i kluczowe parametry: stabilność wymiarowa, współczynnik przewodzenia ciepła lambda oraz opór cieplny drewna (max 0,15 m2K/W) na podłogówce.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-10-14",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#dataset-wstep",
    "name": "Wymagania Termofizyczne dla Drewna na Podłogówce",
    "description": "Zestawienie dopuszczalnego oporu cieplnego i wpływu klas stabilności higroskopijnej na bezpieczeństwo instalacji grzewczej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "opór cieplny drewna",
      "stabilność wymiarowa podłogi",
      "drewno na podłogówkę",
      "przewodzenie ciepła lambda",
      "praca higroskopijna drewna"
    ],
    "measurementTechnique": "Weryfikacja współczynnika przewodzenia ciepła lambda oraz analizy skurczu higroskopijnego w klasach 1-4 wg ISO.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Drewno optymalne: Opór cieplny poniżej 0,10 m2K/W, konstrukcja warstwowa, klasa stabilności 1 lub 2.",
        "Drewno ryzykowne: Opór cieplny powyżej 0,15 m2K/W, podatność na pęknięcia i szczeliny (praca higroskopijna)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#webapp-wstep",
    "name": "Analizator Pracy Higroskopijnej Drewna",
    "description": "Interaktywny panel ilustrujący zachowanie struktury drewna i dystrybucję ciepła w zależności od wybranego współczynnika przewodzenia lambda i oporu R.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript and SVG support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     STYLIZACJA CSS KONTENERA
=========================================== -->
<style>
:root {
    --rk-intro-dark: #1e293b;
    --rk-intro-wood: #c2410c;
    --rk-intro-accent: #f59e0b;
    --rk-intro-bg: #f8fafc;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
    --rk-switch-on: #10b981;
    --rk-switch-off: #ef4444;
}

.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;
}

/* Sekcja Wprowadzenia (Top) */
.rk-intro-header {
    padding: 45px 50px;
    background: var(--rk-intro-bg);
    border-bottom: 2px solid var(--rk-intro-border);
    position: relative;
}

.rk-intro-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(194, 65, 12, 0.1);
    color: var(--rk-intro-wood);
    padding: 8px 20px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
}

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

.rk-intro-lead {
    font-size: 18px;
    line-height: 1.7;
    color: var(--rk-intro-text);
    margin: 0;
    border-left: 4px solid var(--rk-intro-wood);
    padding-left: 20px;
}

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

/* Interaktywny Moduł (Środek) */
.rk-intro-interactive {
    padding: 40px 50px;
    background: #ffffff;
}

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

/* Mobile-style Toggle Switch */
.rk-toggle-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 40px;
    background: #f1f5f9;
    padding: 15px 30px;
    border-radius: 999px;
    width: max-content;
    margin-left: auto;
    margin-right: auto;
}

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

.rk-toggle-label.active-off { color: var(--rk-switch-off); }
.rk-toggle-label.active-on { color: var(--rk-switch-on); }

.rk-switch {
    position: relative;
    display: inline-block;
    width: 66px;
    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-switch-off);
    transition: .4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 36px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

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

input:checked + .rk-slider { background-color: var(--rk-switch-on); }
input:checked + .rk-slider:before { transform: translateX(30px); }

/* Animacja i Wynik */
.rk-dyn-area {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 40px;
    align-items: center;
    background: var(--rk-intro-bg);
    padding: 30px;
    border-radius: 20px;
    border: 1px solid var(--rk-intro-border);
}

.rk-anim-box {
    width: 100%;
    aspect-ratio: 1;
    background: #ffffff;
    border-radius: 16px;
    padding: 15px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}

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

/* SVG States */
.state-bad .anim-board { fill: #854d0e; transition: all 0.5s; animation: swell 2s infinite alternate ease-in-out; }
.state-bad .anim-heat { stroke: #ef4444; stroke-width: 3; stroke-dasharray: 4 4; animation: heatBlock 1s infinite linear; }
.state-bad .anim-crack { stroke: #422006; stroke-width: 2; opacity: 1; transition: opacity 0.3s 0.5s; }

.state-good .anim-board { fill: #d97706; transition: all 0.5s; transform: scaleY(1); }
.state-good .anim-heat { stroke: #10b981; stroke-width: 4; stroke-dasharray: none; animation: heatPass 1.5s infinite linear; }
.state-good .anim-crack { opacity: 0; transition: opacity 0.2s; }

@keyframes swell {
    0% { transform: scaleY(1); }
    100% { transform: scaleY(1.15) translateY(-5px); }
}
@keyframes heatBlock {
    0% { stroke-dashoffset: 8; opacity: 0.8; transform: translateY(5px); }
    100% { stroke-dashoffset: 0; opacity: 0.2; transform: translateY(0px); }
}
@keyframes heatPass {
    0% { transform: translateY(15px); opacity: 0; }
    50% { opacity: 1; }
    100% { transform: translateY(-15px); opacity: 0; }
}

.rk-dyn-content h4 {
    font-size: 22px;
    font-weight: 900;
    margin: 0 0 10px 0;
    transition: color 0.3s;
}

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

.rk-dyn-content a {
    color: var(--rk-intro-wood);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* CTA Dolne */
.rk-intro-cta {
    padding: 30px 50px;
    background: var(--rk-intro-dark);
    text-align: center;
}

.rk-btn-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #ffffff;
    font-weight: 800;
    font-size: 16px;
    text-decoration: none;
    padding: 15px 30px;
    border-radius: 12px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    transition: all 0.3s;
}

.rk-btn-link:hover {
    background: var(--rk-intro-wood);
    border-color: var(--rk-intro-wood);
    transform: translateY(-2px);
}

@media (max-width: 768px) {
    .rk-intro-header, .rk-intro-interactive, .rk-intro-cta { padding: 30px 20px; }
    .rk-dyn-area { grid-template-columns: 1fr; text-align: center; gap: 20px; }
    .rk-anim-box { max-width: 150px; margin: 0 auto; }
    .rk-toggle-wrapper { width: 100%; padding: 15px; gap: 10px; flex-direction: column; border-radius: 16px; }
}
</style>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-intro-container" id="drewno-wstep-app">
    <!-- Wprowadzenie Merytoryczne -->
    <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 20V10M18 20V4M6 20v-4"></path></svg>
            Parametry Startowe
        </div>
        <div class="rk-intro-content">
            <h2>Fundamenty wyboru naturalnej okładziny</h2>
            <p class="rk-intro-lead">
                Drewno do ogrzewania podłogowego to naturalny materiał wykończeniowy, który dzięki odpowiedniej <strong>stabilności wymiarowej i konstrukcji warstwowej</strong> pozwala na efektywne przekazywanie ciepła z instalacji wodnej do pomieszczenia. Wybór drewna na „podłogówkę” wymaga uwzględnienia współczynnika przewodzenia ciepła lambda oraz klasy stabilności gatunku, aby uniknąć pęknięć i szczelin wynikających z pracy higroskopijnej materiału. Prawidłowo dobrane drewno, o oporze cieplnym <strong>nieprzekraczającym 0,15 m2K/W</strong>, gwarantuje komfort cieplny przy zachowaniu estetyki naturalnego surowca.
            </p>
        </div>
    </div>

    <!-- Symulator Parametrów -->
    <div class="rk-intro-interactive">
        <h3>Przeanalizuj wpływ parametrów na podłogę</h3>
        
        <!-- Toggle Switch -->
        <div class="rk-toggle-wrapper">
            <span class="rk-toggle-label active-off" id="lblBad">Niestabilne (Opór > 0,15)</span>
            <label class="rk-switch">
                <input type="checkbox" id="woodParamToggle">
                <span class="rk-slider"></span>
            </label>
            <span class="rk-toggle-label" id="lblGood">Optymalne (Opór < 0,10)</span>
        </div>

        <!-- Dynamiczna Strefa Wyniku -->
        <div class="rk-dyn-area state-bad" id="woodDynArea">
            <div class="rk-anim-box">
                <svg class="rk-anim-svg" viewBox="0 0 100 100">
                    <!-- Rura grzewcza -->
                    <circle cx="50" cy="85" r="8" fill="none" stroke="#64748b" stroke-width="3" />
                    <circle cx="50" cy="85" r="5" fill="#ef4444" opacity="0.8" />
                    
                    <!-- Fale Ciepła -->
                    <path class="anim-heat" d="M30,70 Q30,45 30,20" fill="none" stroke-linecap="round" />
                    <path class="anim-heat" d="M50,70 Q50,45 50,20" fill="none" stroke-linecap="round" style="animation-delay: 0.3s;" />
                    <path class="anim-heat" d="M70,70 Q70,45 70,20" fill="none" stroke-linecap="round" style="animation-delay: 0.6s;" />

                    <!-- Deska / Drewno -->
                    <g transform="translate(10, 30)">
                        <rect class="anim-board" x="0" y="0" width="80" height="15" rx="2" />
                        <!-- Pęknięcia -->
                        <path class="anim-crack" d="M20,0 L25,8 L22,15" fill="none" />
                        <path class="anim-crack" d="M60,0 L55,10 L58,15" fill="none" />
                    </g>
                </svg>
            </div>
            <div class="rk-dyn-content" id="woodDynContent">
                <h4 style="color: var(--rk-switch-off);">Blokada cieplna i odkształcenia</h4>
                <p>Przekroczenie oporu <strong>0,15 m2K/W</strong> (np. gruba deska lita) powoduje zatrzymanie ciepła pod okładziną. Podłoga nie grzeje efektywnie, a wysoka temperatura od spodu drastycznie wysusza drewno.</p>
                <p>Niska klasa stabilności prowadzi do ekstremalnej <strong>pracy higroskopijnej</strong> – drewno kurczy się i pęka. Zrozum <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">jak opór cieplny R wpływa na całą instalację</a>.</p>
            </div>
        </div>
    </div>

    <!-- CTA -->
    <div class="rk-intro-cta">
        <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/" class="rk-btn-link">
            POZNAJ MECHANIKĘ DZIAŁANIA PODŁOGÓWKI
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domeny (bez H2/H3/H4)
    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('drewno-wstep-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fffbeb; color: #b45309; border: 2px dashed #f59e0b; border-radius: 16px; font-family: sans-serif;">
                    <div style="font-size: 32px; margin-bottom: 15px;">⚠️</div>
                    <div style="font-size: 18px; font-weight: 800; margin-bottom: 10px;">Brak Autoryzacji</div>
                    <div style="font-size: 14px; line-height: 1.6; max-width: 500px; margin: 0 auto;">
                        Skrypt interaktywny i ukryte dane JSON-LD zostały skopiowane z serwisu Projekt-Ogrzewania.pl bez zgody autora. Prosimy o usunięcie kodu z tej domeny.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Toggle Switcha (Aplikacyjna)
    const toggle = document.getElementById('woodParamToggle');
    const area = document.getElementById('woodDynArea');
    const content = document.getElementById('woodDynContent');
    const lblBad = document.getElementById('lblBad');
    const lblGood = document.getElementById('lblGood');

    toggle.addEventListener('change', function() {
        if (this.checked) {
            // Stan OPTYMALNY
            area.className = 'rk-dyn-area state-good';
            lblGood.classList.add('active-on');
            lblBad.classList.remove('active-off');
            
            content.innerHTML = `
                <h4 style="color: var(--rk-switch-on);">Płynne przekazywanie ciepła</h4>
                <p>Wybór deski warstwowej o oporze <strong>poniżej 0,10 m2K/W</strong> (np. dąb 14 mm) pozwala ciepłu z rur na swobodne przenikanie do wnętrza pomieszczenia.</p>
                <p>Dzięki wysokiej stabilności wymiarowej (klasa 1), drewno nie ulega odkształceniom pod wpływem temperatury. Sprawdź, czy <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/">takie rozwiązanie wystarczy jako jedyne źródło ciepła</a>.</p>
            `;
        } else {
            // Stan NIESTABILNY
            area.className = 'rk-dyn-area state-bad';
            lblBad.classList.add('active-off');
            lblGood.classList.remove('active-on');
            
            content.innerHTML = `
                <h4 style="color: var(--rk-switch-off);">Blokada cieplna i odkształcenia</h4>
                <p>Przekroczenie oporu <strong>0,15 m2K/W</strong> (np. gruba deska lita) powoduje zatrzymanie ciepła pod okładziną. Podłoga nie grzeje efektywnie, a wysoka temperatura od spodu drastycznie wysusza drewno.</p>
                <p>Niska klasa stabilności prowadzi do ekstremalnej <strong>pracy higroskopijnej</strong> – drewno kurczy się i pęka. Zrozum <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">jak opór cieplny R wpływa na całą instalację</a>.</p>
            `;
        }
    });
});
</script>



<ul class="wp-block-list">
<li></li>
</ul>



<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#article-temperatura",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/"
    },
    "headline": "Maksymalna temperatura powierzchni podłogi drewnianej (PN-EN 1264)",
    "description": "Zgodnie z normą PN-EN 1264 graniczna temperatura dla drewna na podłogówce wynosi 27°C. Sprawdź, jak zbyt wysokie parametry zasilania niszczą strukturę deski.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-10-14",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#dataset-temperatura",
    "name": "Parametry Pracy Instalacji Płaszczyznowej dla Okładzin Drewnianych",
    "description": "Zależność między temperaturą zasilania z pompy ciepła/kotła a temperaturą powierzchni podłogi drewnianej i jej wilgotnością resztkową.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna temperatura podłogi 27°C",
      "norma PN-EN 1264 podłogówka",
      "temperatura zasilania ogrzewania podłogowego",
      "współczynnik przewodzenia ciepła dębu",
      "spadek wilgotności drewna podłogowego"
    ],
    "measurementTechnique": "Korelacja termowizyjna temperatury zasilania (Tz) z temperaturą powierzchni (Tp) oraz pomiar higrometryczny wilgotności komórkowej drewna.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Stan Optymalny: Zasilanie 35-40°C -> Powierzchnia 24-26°C -> Wilgotność drewna ok. 8%.",
        "Stan Krytyczny: Zasilanie >45°C -> Powierzchnia >27°C -> Wilgotność <6% (ryzyko pęknięć)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#webapp-temperatura",
    "name": "Symulator Degradacji Termicznej Drewna",
    "description": "Interaktywny suwak parametrów zasilania demonstrujący wpływ zbyt gorącego czynnika grzewczego na strukturę drewna, wilgotność oraz pękanie szczelin.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript and SVG support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     STYLIZACJA CSS KONTENERA
=========================================== -->
<style>
:root {
    --rk-temp-dark: #111827;
    --rk-temp-blue: #3b82f6;
    --rk-temp-orange: #f97316;
    --rk-temp-red: #ef4444;
    --rk-temp-bg: #ffffff;
    --rk-temp-panel: #f3f4f6;
    --rk-temp-border: #e5e7eb;
}

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

/* Część Tekstowa */
.rk-temp-content-box {
    padding: 40px 50px;
    background: #ffffff;
}

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

.rk-temp-text {
    font-size: 16px;
    line-height: 1.8;
    color: #4b5563;
    margin: 0;
}

.rk-temp-text p {
    margin-bottom: 15px;
}

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

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

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

.rk-highlight-box {
    background: #fff7ed;
    border-left: 4px solid var(--rk-temp-orange);
    padding: 15px 20px;
    margin: 20px 0;
    border-radius: 0 8px 8px 0;
    font-size: 15px;
}

/* Interaktywny Symulator (Z suwakiem) */
.rk-temp-simulator {
    padding: 40px 50px;
    background: var(--rk-temp-dark);
    color: #ffffff;
    border-top: 1px solid var(--rk-temp-border);
}

.rk-temp-simulator h3 {
    margin: 0 0 30px 0;
    font-size: 22px;
    font-weight: 800;
    text-align: center;
    color: #f3f4f6;
}

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

/* Suwak i Panele Danych */
.rk-slider-section {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-slider-group {
    background: rgba(255, 255, 255, 0.05);
    padding: 20px 25px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.rk-slider-label {
    display: flex;
    justify-content: space-between;
    font-size: 15px;
    font-weight: 600;
    color: #9ca3af;
    margin-bottom: 15px;
}

.rk-val-tz {
    color: var(--rk-temp-orange);
    font-size: 20px;
    font-weight: 800;
}

.rk-range {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: linear-gradient(to right, #3b82f6, #f97316, #ef4444);
    outline: none;
}

.rk-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #ffffff;
    cursor: pointer;
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
    border: 3px solid var(--rk-temp-dark);
    transition: transform 0.1s;
}

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

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

.rk-data-card {
    background: rgba(0, 0, 0, 0.3);
    padding: 15px;
    border-radius: 12px;
    text-align: center;
    border: 1px solid rgba(255,255,255,0.05);
    transition: all 0.3s;
}

.rk-data-card span {
    display: block;
    font-size: 12px;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 5px;
}

.rk-data-card strong {
    display: block;
    font-size: 24px;
    font-weight: 900;
}

/* Stany Kolorystyczne */
.status-safe .val-tp { color: #10b981; }
.status-safe .val-rh { color: #3b82f6; }
.status-danger .val-tp { color: var(--rk-temp-red); animation: pulseText 1s infinite; }
.status-danger .val-rh { color: var(--rk-temp-red); }

@keyframes pulseText {
    0% { opacity: 1; }
    50% { opacity: 0.5; }
    100% { opacity: 1; }
}

/* Animacja SVG */
.rk-svg-section {
    background: #ffffff;
    border-radius: 20px;
    padding: 20px;
    position: relative;
}

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

/* Elementy SVG */
.svg-pipe { transition: fill 0.5s; }
.svg-heat-arrow { transition: opacity 0.3s, transform 0.5s; opacity: 0; }
.svg-wood-top { transition: fill 0.5s; }
.svg-crack { stroke: #1e293b; stroke-width: 2; opacity: 0; transition: opacity 0.5s; }

/* SVG stany */
.status-safe .svg-pipe { fill: #f97316; }
.status-safe .svg-heat-arrow { opacity: 0.6; stroke: #f97316; animation: floatUpSafe 2s infinite ease-in-out; }
.status-safe .svg-wood-top { fill: #d97706; }

.status-danger .svg-pipe { fill: #ef4444; }
.status-danger .svg-heat-arrow { opacity: 0.9; stroke: #ef4444; animation: floatUpDanger 0.8s infinite linear; }
.status-danger .svg-wood-top { fill: #92400e; }
.status-danger .svg-crack { opacity: 1; stroke-dasharray: 20; animation: drawCrack 1s forwards; }

@keyframes floatUpSafe {
    0% { transform: translateY(5px); }
    50% { transform: translateY(-5px); }
    100% { transform: translateY(5px); }
}

@keyframes floatUpDanger {
    0% { transform: translateY(10px); }
    100% { transform: translateY(-15px); opacity: 0; }
}

@keyframes drawCrack {
    from { stroke-dashoffset: 20; }
    to { stroke-dashoffset: 0; }
}

.rk-alert-msg {
    position: absolute;
    top: 10px; left: 10px; right: 10px;
    background: rgba(239, 68, 68, 0.9);
    color: #fff;
    padding: 8px;
    border-radius: 8px;
    text-align: center;
    font-size: 13px;
    font-weight: 800;
    opacity: 0;
    transition: opacity 0.3s;
    pointer-events: none;
}

.status-danger .rk-alert-msg {
    opacity: 1;
}

@media (max-width: 768px) {
    .rk-temp-content-box, .rk-temp-simulator { padding: 30px 20px; }
    .rk-sim-grid { grid-template-columns: 1fr; gap: 30px; }
    .rk-svg-section { max-width: 300px; margin: 0 auto; }
}
</style>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-temp-container" id="temp-wood-app">
    
    <!-- Treść Merytoryczna -->
    <div class="rk-temp-content-box">
        <h2>Jaka jest maksymalna temperatura powierzchni podłogi drewnianej?</h2>
        <div class="rk-temp-text">
            <p>Maksymalna temperatura powierzchni podłogi wykończonej drewnem <strong>wynosi 27°C</strong>, co jest restrykcyjnie określone przez wytyczne <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">normy PN-EN 1264</a>.</p>
            
            <p>Przekroczenie tej fizycznej granicy nie jest tylko kwestią dyskomfortu. Zbyt wysoka temperatura prowadzi do gwałtownego spadku wilgotności drewna <strong>poniżej 6%</strong>, co w krótkim czasie skutkuje nieodwracalnym zniszczeniem struktury komórkowej, rozwarstwieniem oraz powstawaniem szerokich, nieestetycznych szczelin.</p>
            
            <div class="rk-highlight-box">
                W praktyce inżynierskiej, projektując instalację pod okładziny drewniane, przyjmujemy <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">temperaturę zasilania czynnika grzewczego (Tz) na poziomie 35-40°C</a>. Przy wyższej temperaturze, np. 50°C (charakterystycznej dla starych układów grzejnikowych), ryzyko „przegrzania” deski jest niemal pewne.
            </div>

            <p>Należy pamiętać o kluczowym fakcie: <strong>drewno to izolator</strong>. Jego współczynnik przewodzenia ciepła lambda (λ) dla dębu wynosi <strong>ok. 0,18 W/(m·K)</strong>, co jest wartością drastycznie niższą w porównaniu do gresu (1,05 W/(m·K)). Oznacza to, że system musi pracować dłużej i stabilniej, aby osiągnąć zadaną temperaturę powierzchni. Z tego powodu bezwzględnie wymagane jest precyzyjne <a href="https://projekt-ogrzewania.pl/sterowanie-pogodowe-w-ogrzewaniu-podlogowym/">sterowanie pogodowe w układzie hydraulicznym</a>.</p>
        </div>
    </div>

    <!-- Symulator Interaktywny -->
    <div class="rk-temp-simulator status-safe" id="rkSimState">
        <h3>Symulator Termiczny: Wpływ parametrów zasilania na drewno</h3>
        <div class="rk-sim-grid">
            
            <div class="rk-slider-section">
                <div class="rk-slider-group">
                    <div class="rk-slider-label">
                        <span>Zadana Temp. Zasilania (Tz z pompy ciepła)</span>
                        <span class="rk-val-tz"><span id="valTz">35</span>°C</span>
                    </div>
                    <input type="range" min="30" max="55" step="1" value="35" class="rk-range" id="tempSlider">
                </div>

                <div class="rk-data-panels">
                    <div class="rk-data-card">
                        <span>Temp. Powierzchni (Tp)</span>
                        <strong class="val-tp"><span id="valTp">24.2</span>°C</strong>
                    </div>
                    <div class="rk-data-card">
                        <span>Wilgotność Drewna</span>
                        <strong class="val-rh"><span id="valRh">8.5</span>%</strong>
                    </div>
                </div>
            </div>

            <div class="rk-svg-section">
                <div class="rk-alert-msg">PRZEKROCZONO NORMĘ EN 1264!</div>
                <svg class="rk-floor-svg" viewBox="0 0 100 100">
                    <!-- Jastrych / Beton -->
                    <rect x="10" y="50" width="80" height="40" fill="#cbd5e1" rx="2" />
                    <!-- Rura grzewcza -->
                    <circle cx="50" cy="70" r="10" fill="#94a3b8" />
                    <circle class="svg-pipe" cx="50" cy="70" r="7" fill="#f97316" />
                    
                    <!-- Fale Ciepła -->
                    <g stroke-width="2" fill="none" stroke-linecap="round">
                        <path class="svg-heat-arrow" d="M35,60 Q30,40 35,20" />
                        <path class="svg-heat-arrow" d="M50,55 Q50,35 50,15" style="animation-delay: 0.2s;" />
                        <path class="svg-heat-arrow" d="M65,60 Q70,40 65,20" style="animation-delay: 0.4s;" />
                    </g>

                    <!-- Drewno (Deska) -->
                    <g transform="translate(10, 30)">
                        <rect class="svg-wood-top" x="0" y="0" width="80" height="15" fill="#d97706" rx="1" />
                        <!-- Pęknięcia z powodu przegrzania -->
                        <path class="svg-crack" d="M25,0 L22,8 L26,15" fill="none" />
                        <path class="svg-crack" d="M55,0 L58,7 L54,15" fill="none" />
                    </g>
                </svg>
            </div>

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

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez semantyki nagłówkowej H2/H3 w alercie)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('temp-wood-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #111827; color: #ef4444; border: 2px dashed #dc2626; border-radius: 16px; font-family: sans-serif;">
                    <div style="font-size: 30px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Licencji</div>
                    <div style="font-size: 14px; line-height: 1.6; color: #9ca3af; max-width: 500px; margin: 0 auto;">
                        Kod interaktywny i ukryte schematy danych JSON-LD są własnością Projekt-Ogrzewania.pl. Wykryto nieautoryzowane użycie na obecnej domenie.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora Temperatury
    const slider = document.getElementById('tempSlider');
    const valTz = document.getElementById('valTz');
    const valTp = document.getElementById('valTp');
    const valRh = document.getElementById('valRh');
    const simState = document.getElementById('rkSimState');

    function updateSimulation() {
        const tz = parseFloat(slider.value);
        valTz.textContent = tz;

        // Uproszczony algorytm przyrostu temperatury (tylko na potrzeby prezentacji)
        // Zakładamy, że dla Tz=35C Tp to ok 24C. Co 1 stopień na Tz, Tp rośnie o ~0.4C.
        const tpBase = 24.2;
        const tzBase = 35;
        let tp = tpBase + ((tz - tzBase) * 0.45);
        
        // Wilgotność maleje logarytmicznie wraz ze wzrostem temp powierzchni
        let rh = 8.5 - ((tp - 24.2) * 0.5);
        if(rh < 4.0) rh = 4.0 + (Math.random() * 0.2); // Limit dolny z lekkim "szumem" dla realizmu

        valTp.textContent = tp.toFixed(1);
        valRh.textContent = rh.toFixed(1);

        // Próg krytyczny: PN-EN 1264 = 27°C
        if (tp > 27.0) {
            simState.className = 'rk-temp-simulator status-danger';
        } else {
            simState.className = 'rk-temp-simulator status-safe';
        }
    }

    slider.addEventListener('input', updateSimulation);
    
    // Inicjalizacja
    updateSimulation();
});
</script>



<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#article-stabilnosc",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/"
    },
    "headline": "Dlaczego stabilność wymiarowa drewna jest ważniejsza niż twardość?",
    "description": "Rozwiewamy mit twardości Brinella. Zobacz, jak spadek wilgotności zimą do 25% wpływa na kurczenie się buka i dębu na ogrzewaniu podłogowym oraz jak powstają naprężenia zrywające klej.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-10-14",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#dataset-stabilnosc",
    "name": "Analiza Naprężeń Ścinających i Skurczu Higroskopijnego Drewna",
    "description": "Porównanie parametrów fizycznych drewna klasy 1 (Dąb/Merbau) i klasy 4 (Buk) pod wpływem zmian wilgotności otoczenia wywołanych pracą systemu płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "stabilność wymiarowa drewna",
      "twardość Brinella a podłogówka",
      "skurcz higroskopijny ISO 16067",
      "naprężenia ścinające kleju do parkietu",
      "pękanie drewna na ogrzewaniu"
    ],
    "measurementTechnique": "Obliczenia liniowego skurczu drewna w funkcji spadku wilgotności względnej powietrza (RH) do poziomu 25-30% i wynikających z tego naprężeń na spoinę klejową (w MPa).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Klasa 1 (Dąb/Merbau): Minimalna praca higroskopijna, naprężenia na spoinę poniżej 1.0 MPa, zachowanie ciągłości podłogi.",
        "Klasa 4 (Buk): Agresywny skurcz o 30-40% większy od dębu, generowanie naprężeń przekraczających 2.0 MPa, zrywanie spoiny i powstawanie szerokich szczelin."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#webapp-stabilnosc",
    "name": "Kalkulator Naprężeń Higroskopijnych Drewna",
    "description": "Interaktywny symulator wizualizujący szerokość powstających szczelin w parkiecie oraz siłę niszczącą działającą na klej w zależności od wybranego gatunku drewna i wilgotności powietrza w zimie.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript and SVG support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     STYLIZACJA CSS KONTENERA
=========================================== -->
<style>
:root {
    --rk-stab-dark: #1f2937;
    --rk-stab-wood: #8b5cf6; /* Używamy fioletu/indygo jako nowoczesnego akcentu inżynieryjnego */
    --rk-stab-wood-dark: #6d28d9;
    --rk-stab-light: #f5f3ff;
    --rk-stab-border: #ede9fe;
    --rk-stab-danger: #e11d48;
    --rk-stab-safe: #059669;
    --rk-stab-text: #4b5563;
}

.rk-stab-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 12px 35px -12px rgba(139, 92, 246, 0.15);
    border: 1px solid var(--rk-stab-border);
    overflow: hidden;
}

/* Część Tekstowa i Nagłówek */
.rk-stab-header {
    padding: 45px 50px 30px;
    background: var(--rk-stab-light);
    border-bottom: 2px solid var(--rk-stab-border);
}

.rk-stab-badge {
    display: inline-block;
    background: var(--rk-stab-wood);
    color: #ffffff;
    padding: 6px 16px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

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

.rk-stab-myth-box {
    display: flex;
    gap: 20px;
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-stab-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

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

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

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

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

/* Symulator Interaktywny */
.rk-stab-interactive {
    padding: 40px 50px;
    background: #ffffff;
}

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

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

/* Panel Kontrolny */
.rk-controls {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-control-group {
    background: var(--rk-stab-light);
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-stab-border);
}

.rk-control-label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-stab-dark);
    margin-bottom: 12px;
}

/* Segmented Control dla Gatunku Drewna */
.rk-segmented {
    display: flex;
    background: #ffffff;
    border-radius: 10px;
    padding: 4px;
    border: 1px solid var(--rk-stab-border);
}

.rk-seg-btn {
    flex: 1;
    text-align: center;
    padding: 10px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-stab-text);
    background: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s;
}

.rk-seg-btn.active {
    background: var(--rk-stab-wood);
    color: #ffffff;
    box-shadow: 0 2px 4px rgba(139, 92, 246, 0.3);
}

/* Suwak Wilgotności */
.rk-val-display {
    float: right;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-stab-wood);
}

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

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

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

/* Panel Danych Wyjściowych */
.rk-data-outputs {
    display: flex;
    gap: 15px;
}

.rk-data-metric {
    flex: 1;
    background: #ffffff;
    border: 1px solid var(--rk-stab-border);
    padding: 15px;
    border-radius: 12px;
    text-align: center;
    transition: all 0.3s;
}

.rk-data-metric span {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
    color: #9ca3af;
    margin-bottom: 5px;
}

.rk-data-metric strong {
    display: block;
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-stab-dark);
}

.metric-danger { border-color: var(--rk-stab-danger); background: #fff1f2; }
.metric-danger strong { color: var(--rk-stab-danger); }

/* Strefa Wizualizacji SVG */
.rk-visual-zone {
    position: relative;
    background: #f8fafc;
    border-radius: 20px;
    padding: 30px;
    border: 1px solid #e2e8f0;
    text-align: center;
}

.rk-svg-stage {
    width: 100%;
    max-width: 350px;
    height: auto;
    overflow: visible;
}

.plank-texture { fill: #d97706; transition: fill 0.4s; }
.glue-layer { stroke: #10b981; stroke-width: 4; transition: stroke 0.4s; }
.glue-layer.broken { stroke: var(--rk-stab-danger); stroke-dasharray: 4 6; }
.plank { transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); }

.rk-alert-banner {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--rk-stab-danger);
    color: #ffffff;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    opacity: 0;
    transition: opacity 0.3s, transform 0.3s;
    white-space: nowrap;
    box-shadow: 0 4px 10px rgba(225, 29, 72, 0.3);
}

.rk-alert-banner.show {
    opacity: 1;
    transform: translate(-50%, 10px);
}

@media (max-width: 768px) {
    .rk-stab-header, .rk-stab-interactive { padding: 30px 20px; }
    .rk-stab-myth-box { flex-direction: column; gap: 15px; }
    .rk-app-grid { grid-template-columns: 1fr; gap: 30px; }
    .rk-data-outputs { flex-direction: column; }
}
</style>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-stab-container" id="stab-app">
    
    <!-- Header i Merytoryka -->
    <div class="rk-stab-header">
        <div class="rk-stab-badge">Zrozumieć fizykę drewna</div>
        <h2>Dlaczego stabilność wymiarowa jest ważniejsza niż twardość?</h2>
        
        <div class="rk-stab-myth-box">
            <div class="rk-stab-icon">
                <svg width="28" height="28" 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>
            <div class="rk-stab-text">
                <p>Inwestorzy często mylą <strong>twardość (skala Brinella)</strong> ze stabilnością. Tymczasem stabilność wymiarowa określa, jak bardzo dany gatunek drewna kurczy się lub rozszerza przy zmianie wilgotności powietrza o 1% (według <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">norm budowlanych</a> i ISO 16067).</p>
                <p>Przy cyklach grzewczych, gdzie <a href="https://projekt-ogrzewania.pl/jak-ogrzewanie-podlogowe-wplywa-na-wilgotnosc-powietrza-w-domu/">wilgotność względna powietrza w zimie spada w domach często do 25-30%</a>, drewno o wysokiej stabilności (klasa 1, np. Dąb, Merbau) reaguje na te zmiany minimalnie. Natomiast gatunki niestabilne, ale twarde (klasa 4, np. Buk), drastycznie się kurczą, generując potężne naprężenia ścinające.</p>
                <p>Naprężenie przekraczające <strong>2 MPa</strong> nieodwracalnie zrywa spoinę klejową, niszcząc podłogę. Z tego powodu na ogrzewaniu lepiej sprawdzi się „miękka” sosna w stabilnej formie warstwowej niż twardy, lity buk.</p>
            </div>
        </div>
    </div>

    <!-- Moduł Interaktywny -->
    <div class="rk-stab-interactive">
        <h3>Symulator Skurczu Higroskopijnego i Naprężeń</h3>
        
        <div class="rk-app-grid">
            
            <!-- Panel Lewy: Kontrolki -->
            <div class="rk-controls">
                
                <div class="rk-control-group">
                    <span class="rk-control-label">Klasa stabilności drewna</span>
                    <div class="rk-segmented" id="woodTypeTabs">
                        <button class="rk-seg-btn active" data-class="1" data-factor="0.06">DĄB (Klasa 1)</button>
                        <button class="rk-seg-btn" data-class="4" data-factor="0.25">BUK (Klasa 4)</button>
                    </div>
                </div>

                <div class="rk-control-group">
                    <span class="rk-control-label">
                        Wilgotność w pomieszczeniu (Zima)
                        <span class="rk-val-display"><span id="lblHum">50</span>%</span>
                    </span>
                    <input type="range" min="20" max="50" value="50" step="1" class="rk-range-input" id="humSlider">
                </div>

                <div class="rk-data-outputs">
                    <div class="rk-data-metric" id="metricGap">
                        <span>Szczelina w desce</span>
                        <strong><span id="valGap">0.0</span> mm</strong>
                    </div>
                    <div class="rk-data-metric" id="metricStress">
                        <span>Naprężenie kleju</span>
                        <strong><span id="valStress">0.0</span> MPa</strong>
                    </div>
                </div>

            </div>

            <!-- Panel Prawy: Wizualizacja SVG -->
            <div class="rk-visual-zone">
                <div class="rk-alert-banner" id="alertBanner">⚠️ ZERWANIE SPOINY KLEJOWEJ</div>
                
                <svg class="rk-svg-stage" viewBox="0 0 200 100">
                    <!-- Podłoże betonowe -->
                    <rect x="0" y="70" width="200" height="20" fill="#cbd5e1" rx="2" />
                    <text x="100" y="84" font-size="8" fill="#64748b" text-anchor="middle" font-weight="bold" font-family="sans-serif">JASTRYCH Z OGRZEWANIEM</text>
                    
                    <!-- Warstwa kleju (Dynamiczna) -->
                    <line class="glue-layer" id="animGlue" x1="10" y1="68" x2="190" y2="68" />
                    
                    <!-- Deski parkietu -->
                    <g transform="translate(100, 50)">
                        <!-- Lewa deska -->
                        <rect class="plank plank-texture" id="plankLeft" x="-90" y="-15" width="88" height="30" rx="1" />
                        <!-- Prawa deska -->
                        <rect class="plank plank-texture" id="plankRight" x="2" y="-15" width="88" height="30" rx="1" />
                    </g>

                    <!-- Znacznik naprężeń (Piorun) - Ukryty domyślnie -->
                    <g id="crackIcon" transform="translate(100, 68) scale(0)" style="transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);">
                        <circle cx="0" cy="0" r="12" fill="#e11d48" />
                        <path d="M-2,-6 L4,-6 L1,0 L5,0 L-3,7 L0,1 Z" fill="#ffffff" />
                    </g>
                </svg>
            </div>

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

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domeny (Brak H2/H3 w komunikacie)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('stab-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #f1f5f9; color: #334155; border: 2px dashed #94a3b8; border-radius: 16px; font-family: sans-serif;">
                    <div style="font-size: 30px; margin-bottom: 15px;">🛡️</div>
                    <div style="font-size: 16px; font-weight: 800; margin-bottom: 10px; text-transform: uppercase;">Zablokowano komponent</div>
                    <div style="font-size: 13px; line-height: 1.6; max-width: 450px; margin: 0 auto;">
                        Skrypt kalkulatora naprężeń i dane strukturalne JSON-LD podlegają ochronie praw autorskich serwisu Projekt-Ogrzewania.pl. Użycie poza autoryzowaną domeną jest zabronione.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Aplikacji
    const tabs = document.querySelectorAll('.rk-seg-btn');
    const humSlider = document.getElementById('humSlider');
    const lblHum = document.getElementById('lblHum');
    
    // Elementy wyjścia
    const valGap = document.getElementById('valGap');
    const valStress = document.getElementById('valStress');
    const metricGap = document.getElementById('metricGap');
    const metricStress = document.getElementById('metricStress');
    
    // SVG Elementy
    const plankLeft = document.getElementById('plankLeft');
    const plankRight = document.getElementById('plankRight');
    const animGlue = document.getElementById('animGlue');
    const crackIcon = document.getElementById('crackIcon');
    const alertBanner = document.getElementById('alertBanner');

    let currentFactor = 0.06; // Domyślnie Dąb
    const baseHumidity = 50;
    const stressThreshold = 2.0;

    // Przełączanie gatunków
    tabs.forEach(btn => {
        btn.addEventListener('click', function() {
            tabs.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            currentFactor = parseFloat(this.getAttribute('data-factor'));
            
            // Kolor desek zależny od gatunku
            const woodClass = this.getAttribute('data-class');
            if(woodClass === '1') {
                plankLeft.style.fill = '#d97706'; // Dąb
                plankRight.style.fill = '#d97706';
            } else {
                plankLeft.style.fill = '#b45309'; // Buk (ciemniejszy, twardszy wygląd)
                plankRight.style.fill = '#b45309';
            }
            
            calculatePhysics();
        });
    });

    // Zmiana na suwaku
    humSlider.addEventListener('input', calculatePhysics);

    function calculatePhysics() {
        const humidity = parseInt(humSlider.value);
        lblHum.textContent = humidity;

        // Obliczenia skurczu
        const drop = baseHumidity - humidity; // od 0 do 30
        const shrinkage = drop * currentFactor; // w mm na deskę
        
        // Szczelina (powstaje z dwóch desek)
        const gapSize = shrinkage * 2;
        
        // Naprężenie ścinające (uproszczony model: skurcz * sztywność)
        // Zakładamy, że 1 mm skurczu generuje ok 0.45 MPa naprężenia w warunkach brzegowych
        let stress = shrinkage * 0.45 * 2; 

        // Aktualizacja UI
        valGap.textContent = gapSize.toFixed(1);
        valStress.textContent = stress.toFixed(1);

        // Animacja SVG - Translacja po osi X
        // Lewa deska idzie w lewo, Prawa w prawo
        const moveDist = gapSize * 2; // Mnożnik dla lepszego efektu wizualnego
        plankLeft.style.transform = `translateX(-${moveDist}px)`;
        plankRight.style.transform = `translateX(${moveDist}px)`;

        // Sprawdzenie progu zerwania
        if (stress >= stressThreshold) {
            metricStress.classList.add('metric-danger');
            metricGap.classList.add('metric-danger');
            animGlue.classList.add('broken');
            crackIcon.style.transform = 'translate(100px, 68px) scale(1)';
            alertBanner.classList.add('show');
        } else {
            metricStress.classList.remove('metric-danger');
            metricGap.classList.remove('metric-danger');
            animGlue.classList.remove('broken');
            crackIcon.style.transform = 'translate(100px, 68px) scale(0)';
            alertBanner.classList.remove('show');
        }
    }

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



<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#article-konstrukcja",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/"
    },
    "headline": "Jaka konstrukcja deski jest najbezpieczniejsza na ogrzewanie podłogowe?",
    "description": "Zrozum różnicę między deską warstwową a litą. Poznaj obliczenia oporu cieplnego (R) dla sklejki i warstwy dębowej oraz dowiedz się, jak zapobiegać łódkowaniu drewna na podłogówce.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-10-14",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#dataset-konstrukcja",
    "name": "Analiza Oporu Cieplnego R dla Konstrukcji Drewnianych",
    "description": "Zestawienie obliczeniowe oporu cieplnego dla deski litej 22 mm vs deski warstwowej 15 mm wraz z analizą powstawania zjawiska łódkowania.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "konstrukcja deski warstwowej",
      "opór cieplny deski dębowej",
      "łódkowanie drewna podłogowego",
      "norma PN-EN 13489 drewno",
      "obliczenia R m2K/W podłogówka"
    ],
    "measurementTechnique": "Sumowanie oporów cieplnych poszczególnych warstw (dąb + sklejka) na podstawie współczynników przewodzenia lambda (W/mK).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Deska warstwowa 15mm: R_total = 0,106 m2K/W, stabilność wymiarowa wysoka, redukcja naprężeń o 70%.",
        "Deska lita 22mm: R_total = 0,12 - 0,15 m2K/W, brak blokady naprężeń, podatność na deformacje typu łódka."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#webapp-konstrukcja",
    "name": "Kalkulator Warstw Oporu Cieplnego i Symulator Deformacji",
    "description": "Interaktywny moduł przełączający między strukturą deski warstwowej a litą, obliczający całkowity opór cieplny i wizualizujący blokadę termiczną.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript and SVG support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     STYLIZACJA CSS KONTENERA
=========================================== -->
<style>
:root {
    --rk-build-dark: #0f172a;
    --rk-build-primary: #0f766e; /* Zgaszony, inżynieryjny turkus */
    --rk-build-accent: #d97706; /* Ciepły bursztyn/drewno */
    --rk-build-bg: #ffffff;
    --rk-build-panel: #f8fafc;
    --rk-build-border: #e2e8f0;
    --rk-build-text: #334155;
    --rk-build-danger: #e11d48;
}

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

/* Część Tekstowa */
.rk-build-content {
    padding: 40px 50px;
    background: #ffffff;
}

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

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

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

.rk-build-text a {
    color: var(--rk-build-primary);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 2px solid rgba(15, 118, 110, 0.2);
    transition: all 0.3s;
}

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

.rk-math-box {
    background: var(--rk-build-panel);
    border-left: 4px solid var(--rk-build-primary);
    padding: 20px 25px;
    margin: 25px 0;
    border-radius: 0 12px 12px 0;
}

.rk-math-box h4 {
    margin: 0 0 10px 0;
    font-size: 16px;
    color: var(--rk-build-dark);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-math-equation {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 15px;
    color: #475569;
}

.rk-math-equation strong {
    color: var(--rk-build-primary);
}

.rk-math-result {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed var(--rk-build-border);
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-build-dark);
}

/* Interaktywny Symulator */
.rk-build-interactive {
    padding: 45px 50px;
    background: var(--rk-build-dark);
    color: #ffffff;
}

.rk-build-interactive h3 {
    margin: 0 0 35px 0;
    font-size: 22px;
    font-weight: 800;
    text-align: center;
    color: #f1f5f9;
}

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

/* Panel Przełączników */
.rk-structure-picker {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-btn-struct {
    background: rgba(255, 255, 255, 0.05);
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 15px 20px;
    color: #cbd5e1;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rk-btn-struct:hover {
    background: rgba(255, 255, 255, 0.1);
}

.rk-btn-struct.active {
    background: var(--rk-build-primary);
    border-color: #14b8a6;
    color: #ffffff;
    box-shadow: 0 10px 20px rgba(15, 118, 110, 0.4);
}

.rk-struct-title {
    font-size: 16px;
    font-weight: 800;
    display: block;
    margin-bottom: 4px;
}

.rk-struct-desc {
    font-size: 13px;
    opacity: 0.8;
}

.rk-struct-rval {
    font-size: 20px;
    font-weight: 900;
    font-family: monospace;
}

/* Moduł SVG */
.rk-svg-viewport {
    background: #1e293b;
    border-radius: 16px;
    padding: 30px;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
    text-align: center;
}

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

/* Elementy animacji SVG */
.rk-layer { transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); }
.rk-heat-arrow { stroke: #fb923c; stroke-linecap: round; transition: all 0.5s; }

/* Stan 1: Deska Warstwowa (Safe) */
.state-layered .layer-top { fill: #d97706; }
.state-layered .layer-bottom { fill: #b45309; }
.state-layered .rk-heat-arrow { stroke-width: 4; stroke-dasharray: none; animation: flowUp 1.5s infinite linear; opacity: 0.8; }
.state-layered .alert-loodka { opacity: 0; transform: translateY(10px); }

/* Stan 2: Deska Lita (Danger / Łódkowanie) */
.state-solid .layer-top { fill: #92400e; transform: translateY(-8px); border-radius: 50%; }
.state-solid .layer-bottom { fill: #78350f; transform: translateY(-8px); }
/* Symulacja łódkowania (wygięcie) poprzez transform na grupie */
.state-solid .wood-group { 
    transform: perspective(200px) rotateX(15deg) scaleY(1.1); 
    transform-origin: bottom center;
}
.state-solid .rk-heat-arrow { stroke-width: 6; stroke: var(--rk-build-danger); opacity: 0.3; animation: blockedHeat 1s infinite alternate; }
.state-solid .heat-trap { fill: var(--rk-build-danger); opacity: 0.2; animation: trapPulse 2s infinite; }
.state-solid .alert-loodka { opacity: 1; transform: translateY(0); }

@keyframes flowUp {
    0% { transform: translateY(15px); opacity: 0; }
    50% { opacity: 1; }
    100% { transform: translateY(-25px); opacity: 0; }
}

@keyframes blockedHeat {
    0% { transform: translateY(15px); opacity: 0.2; }
    100% { transform: translateY(5px); opacity: 0.6; }
}

@keyframes trapPulse {
    0%, 100% { opacity: 0.1; }
    50% { opacity: 0.3; }
}

.alert-loodka {
    position: absolute;
    top: 15px;
    left: 0;
    width: 100%;
    text-align: center;
    color: #fca5a5;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: all 0.4s;
    pointer-events: none;
}

@media (max-width: 768px) {
    .rk-build-content, .rk-build-interactive { padding: 30px 20px; }
    .rk-sim-layout { grid-template-columns: 1fr; gap: 30px; }
    .rk-svg-viewport { padding: 20px; }
    .rk-btn-struct { flex-direction: column; align-items: flex-start; gap: 10px; }
    .rk-struct-rval { align-self: flex-end; }
}
</style>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-build-container" id="build-app">
    
    <!-- Treść Merytoryczna -->
    <div class="rk-build-content">
        <h2>Jaka konstrukcja deski jest najbezpieczniejsza na „podłogówkę”?</h2>
        <div class="rk-build-text">
            <p>Najbezpieczniejszym rozwiązaniem w inżynierii ogrzewania płaszczyznowego jest bezdyskusyjnie <strong>deska warstwowa</strong> (dwu- lub trójwarstwowa). Dzięki prostopadłemu ułożeniu słojów w warstwach dolnych (tzw. warstwach przeciwprężnych), deska ta redukuje naturalną pracę drewna o nawet <strong>70% w stosunku do deski litej</strong>. Rygorystyczna norma <strong>PN-EN 13489</strong> jednoznacznie definiuje wymagania dla takich okładzin, wskazując na konieczność stosowania stabilnych podkładów konstrukcyjnych – najczęściej ze sklejki brzozowej lub lameli iglastych.</p>
            
            <p>Gruba <strong>deska lita (20-22 mm)</strong> generuje opór cieplny na poziomie 0,12-0,15 m2K/W. Chociaż z punktu widzenia fizyki <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">taki opór cieplny jest dopuszczalny</a>, to jej ogromna masa fizyczna i absolutny brak blokady naprężeń sprawiają, że przy jednostronnym nagrzewaniu od spodu drewno gwałtownie traci wilgoć na dole i <strong>wygina się w tzw. „łódkę”</strong>. Z kolei wysokiej klasy deska warstwowa o grubości 11-15 mm zachowuje idealną płaskość i oferuje opór R w rewelacyjnych granicach <strong>0,08-0,10 m2K/W</strong>.</p>
        </div>

        <!-- Rozbicie matematyczne -->
        <div class="rk-math-box">
            <h4>Przykładowe obliczenie oporu cieplnego (R) dla dębowej deski warstwowej 15 mm:</h4>
            <div class="rk-math-equation">
                <div>Warstwa użytkowa (Dąb 4 mm, λ=0,18): <span>R1 = 0,004 / 0,18 = <strong>0,022 m2K/W</strong></span></div>
                <div>Przeciwprężna sklejka (11 mm, λ=0,13): <span>R2 = 0,011 / 0,13 = <strong>0,084 m2K/W</strong></span></div>
            </div>
            <div class="rk-math-result">
                Suma R_total = 0,022 + 0,084 = 0,106 m2K/W
            </div>
            <p style="margin: 10px 0 0 0; font-size: 13px; color: #64748b;">
                Jest to wartość idealna, pozostawiająca inżynierom bezpieczny bufor dla oporu samego podkładu klejowego (który wynosi ok. 0,01 m2K/W). Warto <a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/">porównać to z panelami laminowanymi</a>.
            </p>
        </div>
    </div>

    <!-- Symulator Interaktywny -->
    <div class="rk-build-interactive">
        <h3>Symulator Konstrukcji i Blokady Termicznej</h3>
        <div class="rk-sim-layout">
            
            <!-- Przyciski wyboru -->
            <div class="rk-structure-picker" id="structPicker">
                <button class="rk-btn-struct active" data-struct="layered">
                    <div>
                        <span class="rk-struct-title">Deska Warstwowa (15 mm)</span>
                        <span class="rk-struct-desc">Dąb (4mm) + Sklejka (11mm)</span>
                    </div>
                    <span class="rk-struct-rval">R ~0.10</span>
                </button>
                <button class="rk-btn-struct" data-struct="solid">
                    <div>
                        <span class="rk-struct-title">Deska Lita (22 mm)</span>
                        <span class="rk-struct-desc">Jednolity blok dębowy</span>
                    </div>
                    <span class="rk-struct-rval">R ~0.15</span>
                </button>
            </div>

            <!-- Strefa SVG -->
            <div class="rk-svg-viewport state-layered" id="structVisual">
                <div class="alert-loodka">⚠️ EFEKT ŁÓDKOWANIA</div>
                <svg class="rk-svg-drawing" viewBox="0 0 100 120">
                    <!-- Rura grzewcza -->
                    <circle cx="50" cy="100" r="8" fill="none" stroke="#64748b" stroke-width="2" />
                    <circle cx="50" cy="100" r="5" fill="#f97316" />
                    
                    <!-- Fale ciepła -->
                    <path class="rk-heat-arrow" d="M35,85 L35,25" />
                    <path class="rk-heat-arrow" d="M50,85 L50,25" style="animation-delay: 0.3s;" />
                    <path class="rk-heat-arrow" d="M65,85 L65,25" style="animation-delay: 0.6s;" />

                    <!-- Strefa pułapki cieplnej dla deski litej -->
                    <ellipse class="heat-trap" cx="50" cy="70" rx="35" ry="15" fill="transparent" />

                    <!-- Konstrukcja Drewna -->
                    <g class="wood-group" transform="translate(10, 40)">
                        <!-- Warstwa dolna (Sklejka lub część lita) -->
                        <rect class="rk-layer layer-bottom" x="0" y="8" width="80" height="15" rx="1" />
                        <!-- Warstwa górna (Lico) -->
                        <rect class="rk-layer layer-top" x="0" y="0" width="80" height="7" rx="1" />
                        
                        <!-- Linie słojów/faktury dla lepszego efektu wizualnego -->
                        <path class="rk-layer" d="M0,8 L80,8" fill="none" stroke="#000000" stroke-opacity="0.2" stroke-width="1" />
                    </g>
                </svg>
            </div>

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

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez H2/H3 w komunikacie)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('build-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #fca5a5; border: 2px dashed #ef4444; border-radius: 16px; font-family: sans-serif;">
                    <div style="font-size: 32px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 16px; font-weight: 800; margin-bottom: 10px; text-transform: uppercase;">Nieautoryzowane Użycie</div>
                    <div style="font-size: 13px; line-height: 1.6; max-width: 450px; margin: 0 auto; color: #cbd5e1;">
                        Narzędzie obliczeniowe oraz dane JSON-LD są wyłączną własnością Projekt-Ogrzewania.pl. Wykryto próbę kradzieży kodu na inną domenę.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora
    const btns = document.querySelectorAll('#structPicker .rk-btn-struct');
    const visualBox = document.getElementById('structVisual');

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Reset active states
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Switch class on SVG container
            const structType = this.getAttribute('data-struct');
            if(structType === 'layered') {
                visualBox.className = 'rk-svg-viewport state-layered';
            } else {
                visualBox.className = 'rk-svg-viewport state-solid';
            }
        });
    });
});
</script>



<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#article-tabela",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/"
    },
    "headline": "Tabela: Rodzaje drewna i parametry techniczne pod ogrzewanie podłogowe",
    "description": "Interaktywne zestawienie 11 najpopularniejszych gatunków drewna. Sprawdź klasę stabilności dębu, buka czy drewna egzotycznego dla instalacji płaszczyznowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-10-14",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#dataset-tabela",
    "name": "Baza Gatunków Drewna na Ogrzewanie Podłogowe (Klasy Stabilności)",
    "description": "Techniczne zestawienie parametrów 11 gatunków drewna (m.in. Dąb, Merbau, Buk) klasyfikujące ich przydatność na ogrzewanie podłogowe wg stabilności higroskopijnej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "gatunki drewna na podłogówkę",
      "dąb czy buk na ogrzewanie",
      "klasa stabilności drewna 1-4",
      "merbau ogrzewanie podłogowe",
      "egzotyczne drewno podłogowe"
    ],
    "measurementTechnique": "Klasyfikacja stabilności wymiarowej zgodnie z normami PN-EN określająca podatność na odkształcenia w systemach ogrzewania płaszczyznowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Doskonałe (Klasa 1): Dąb, Merbau, Iroko, Doussie, Teak - minimalny skurcz.",
        "Dobre (Klasa 2/3): Jesion, Klon, Akacja, Orzech, Sosna - wymagają weryfikacji producenta.",
        "Warunkowe (Klasa 4): Buk - wysokie ryzyko odkształceń, dopuszczalny tylko w cienkiej warstwie."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#webapp-tabela",
    "name": "Interaktywny Wybierak Gatunków Drewna",
    "description": "Aplikacja filtrująca pozwalająca inwestorom na dynamiczne wyszukiwanie gatunków drewna na podstawie klasy stabilności i przydatności termicznej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript and SVG support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     STYLIZACJA CSS KONTENERA
=========================================== -->
<style>
:root {
    --rk-tbl-dark: #18181b;
    --rk-tbl-wood: #a16207;
    --rk-tbl-wood-light: #fef08a;
    --rk-tbl-bg: #fafafa;
    --rk-tbl-card: #ffffff;
    --rk-tbl-border: #e4e4e7;
    --rk-tbl-text: #52525b;
    --rk-badge-perfect: #10b981;
    --rk-badge-good: #3b82f6;
    --rk-badge-warn: #ef4444;
}

.rk-tbl-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-tbl-bg);
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(161, 98, 7, 0.15);
    border: 1px solid var(--rk-tbl-wood);
    overflow: hidden;
}

/* Sekcja Nagłówka */
.rk-tbl-header {
    padding: 40px 40px 25px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-tbl-border);
    text-align: center;
}

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

.rk-tbl-header p {
    font-size: 16px;
    color: var(--rk-tbl-text);
    margin: 0 auto;
    max-width: 700px;
    line-height: 1.6;
}

.rk-tbl-header a {
    color: var(--rk-tbl-wood);
    text-decoration: underline;
    font-weight: 700;
}

/* Moduł Filtrowania */
.rk-tbl-filters {
    padding: 20px 40px;
    background: var(--rk-tbl-bg);
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--rk-tbl-border);
}

.rk-filter-btn {
    padding: 10px 20px;
    border-radius: 999px;
    border: 1px solid var(--rk-tbl-border);
    background: #ffffff;
    color: var(--rk-tbl-text);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-filter-btn:hover {
    border-color: var(--rk-tbl-wood);
    color: var(--rk-tbl-wood);
}

.rk-filter-btn.active {
    background: var(--rk-tbl-dark);
    border-color: var(--rk-tbl-dark);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.rk-filter-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}
.dot-all { background: var(--rk-tbl-wood); }
.dot-perfect { background: var(--rk-badge-perfect); }
.dot-good { background: var(--rk-badge-good); }
.dot-warn { background: var(--rk-badge-warn); }

/* Siatka Gatunków Drewna (Kafelki) */
.rk-tbl-grid {
    padding: 30px 40px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}

.rk-wood-card {
    background: var(--rk-tbl-card);
    border: 1px solid var(--rk-tbl-border);
    border-radius: 16px;
    padding: 20px;
    transition: transform 0.3s, box-shadow 0.3s, opacity 0.4s;
    position: relative;
    overflow: hidden;
}

.rk-wood-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px -10px rgba(0,0,0,0.1);
    border-color: var(--rk-tbl-wood);
}

/* Ukrywanie kart (Filtrowanie) */
.rk-wood-card.hidden {
    display: none;
}

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

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

.rk-card-badge {
    font-size: 11px;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.badge-perfect { background: #d1fae5; color: #047857; }
.badge-good { background: #dbeafe; color: #1d4ed8; }
.badge-warn { background: #fee2e2; color: #b91c1c; }

/* SVG Meter (Klasa stabilności) */
.rk-stability-meter {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    background: #f4f4f5;
    padding: 10px;
    border-radius: 10px;
}

.rk-meter-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-tbl-text);
    flex-shrink: 0;
}

.rk-meter-svg {
    height: 14px;
    width: 100%;
}

.meter-bg { fill: #e4e4e7; rx: 3; }
.meter-fill { rx: 3; transition: width 1s cubic-bezier(0.4, 0, 0.2, 1); }

/* Kolory SVG Meter */
.card-perfect .meter-fill { fill: var(--rk-badge-perfect); width: 100%; } /* Klasa 1 */
.card-good-k2 .meter-fill { fill: var(--rk-badge-good); width: 75%; } /* Klasa 2 */
.card-good-k3 .meter-fill { fill: #f59e0b; width: 50%; } /* Klasa 3 */
.card-warn .meter-fill { fill: var(--rk-badge-warn); width: 25%; } /* Klasa 4 */

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

.rk-card-desc strong {
    color: var(--rk-tbl-dark);
}

@media (max-width: 768px) {
    .rk-tbl-header, .rk-tbl-filters, .rk-tbl-grid { padding: 25px 20px; }
    .rk-tbl-grid { grid-template-columns: 1fr; }
    .rk-filter-btn { flex: 1 1 calc(50% - 10px); justify-content: center; }
}
</style>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-tbl-container" id="wood-table-app">
    
    <!-- Nagłówek -->
    <div class="rk-tbl-header">
        <h2>Interaktywna Baza Gatunków Drewna</h2>
        <p>Poniższa baza prezentuje przegląd najpopularniejszych gatunków drewna i ich przydatność w kontekście instalacji ogrzewania podłogowego. Sprawdź, jak <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">rodzaj okładziny wpływa na wydajność całego systemu</a>.</p>
    </div>

    <!-- Filtry -->
    <div class="rk-tbl-filters" id="woodFilters">
        <button class="rk-filter-btn active" data-filter="all">
            <div class="rk-filter-dot dot-all"></div> Wszystkie
        </button>
        <button class="rk-filter-btn" data-filter="perfect">
            <div class="rk-filter-dot dot-perfect"></div> Doskonałe (Kl. 1)
        </button>
        <button class="rk-filter-btn" data-filter="good">
            <div class="rk-filter-dot dot-good"></div> Dobre (Kl. 2/3)
        </button>
        <button class="rk-filter-btn" data-filter="warn">
            <div class="rk-filter-dot dot-warn"></div> Warunkowe (Kl. 4)
        </button>
    </div>

    <!-- Siatka Drewna -->
    <div class="rk-tbl-grid" id="woodGrid">
        
        <!-- Dąb -->
        <div class="rk-wood-card card-perfect" data-category="perfect">
            <div class="rk-card-header">
                <h3 class="rk-card-title">Dąb</h3>
                <span class="rk-card-badge badge-perfect">Doskonała</span>
            </div>
            <div class="rk-stability-meter">
                <span class="rk-meter-label">Klasa 1:</span>
                <svg class="rk-meter-svg" viewBox="0 0 100 14" preserveAspectRatio="none">
                    <rect class="meter-bg" x="0" y="0" width="100" height="14" />
                    <rect class="meter-fill" x="0" y="0" height="14" />
                </svg>
            </div>
            <p class="rk-card-desc">Twardy, wytrzymały, bardzo stabilny wymiarowo. Idealnie sprawdza się z <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/">ogrzewaniem podłogowym</a>.</p>
        </div>

        <!-- Merbau -->
        <div class="rk-wood-card card-perfect" data-category="perfect">
            <div class="rk-card-header">
                <h3 class="rk-card-title">Merbau</h3>
                <span class="rk-card-badge badge-perfect">Doskonała</span>
            </div>
            <div class="rk-stability-meter">
                <span class="rk-meter-label">Klasa 1:</span>
                <svg class="rk-meter-svg" viewBox="0 0 100 14" preserveAspectRatio="none">
                    <rect class="meter-bg" x="0" y="0" width="100" height="14" />
                    <rect class="meter-fill" x="0" y="0" height="14" />
                </svg>
            </div>
            <p class="rk-card-desc">Drewno egzotyczne o doskonałej stabilności i naturalnej odporności na wilgoć.</p>
        </div>

        <!-- Iroko -->
        <div class="rk-wood-card card-perfect" data-category="perfect">
            <div class="rk-card-header">
                <h3 class="rk-card-title">Iroko</h3>
                <span class="rk-card-badge badge-perfect">Doskonała</span>
            </div>
            <div class="rk-stability-meter">
                <span class="rk-meter-label">Klasa 1:</span>
                <svg class="rk-meter-svg" viewBox="0 0 100 14" preserveAspectRatio="none">
                    <rect class="meter-bg" x="0" y="0" width="100" height="14" />
                    <rect class="meter-fill" x="0" y="0" height="14" />
                </svg>
            </div>
            <p class="rk-card-desc">Podobnie jak Merbau, bardzo stabilne i odporne, doskonale nadaje się na posadzki z "podłogówką".</p>
        </div>

        <!-- Jesion -->
        <div class="rk-wood-card card-good-k2" data-category="good">
            <div class="rk-card-header">
                <h3 class="rk-card-title">Jesion</h3>
                <span class="rk-card-badge badge-good">Dobra</span>
            </div>
            <div class="rk-stability-meter">
                <span class="rk-meter-label">Klasa 2:</span>
                <svg class="rk-meter-svg" viewBox="0 0 100 14" preserveAspectRatio="none">
                    <rect class="meter-bg" x="0" y="0" width="100" height="14" />
                    <rect class="meter-fill" x="0" y="0" height="14" />
                </svg>
            </div>
            <p class="rk-card-desc">Twardy i elastyczny, o dobrej stabilności. Wymaga weryfikacji parametrów technicznych przez producenta.</p>
        </div>

        <!-- Klon -->
        <div class="rk-wood-card card-good-k2" data-category="good">
            <div class="rk-card-header">
                <h3 class="rk-card-title">Klon</h3>
                <span class="rk-card-badge badge-good">Dobra</span>
            </div>
            <div class="rk-stability-meter">
                <span class="rk-meter-label">Klasa 2:</span>
                <svg class="rk-meter-svg" viewBox="0 0 100 14" preserveAspectRatio="none">
                    <rect class="meter-bg" x="0" y="0" width="100" height="14" />
                    <rect class="meter-fill" x="0" y="0" height="14" />
                </svg>
            </div>
            <p class="rk-card-desc">Twardy, o dobrej stabilności. Sprawdza się na instalacjach podobnie do dębu europejskiego.</p>
        </div>

        <!-- Akacja -->
        <div class="rk-wood-card card-good-k2" data-category="good">
            <div class="rk-card-header">
                <h3 class="rk-card-title">Akacja</h3>
                <span class="rk-card-badge badge-good">Dobra</span>
            </div>
            <div class="rk-stability-meter">
                <span class="rk-meter-label">Klasa 2:</span>
                <svg class="rk-meter-svg" viewBox="0 0 100 14" preserveAspectRatio="none">
                    <rect class="meter-bg" x="0" y="0" width="100" height="14" />
                    <rect class="meter-fill" x="0" y="0" height="14" />
                </svg>
            </div>
            <p class="rk-card-desc">Bardzo twarda i dość stabilna. Coraz popularniejszy wybór dla nowoczesnych wnętrz.</p>
        </div>

        <!-- Orzech -->
        <div class="rk-wood-card card-good-k2" data-category="good">
            <div class="rk-card-header">
                <h3 class="rk-card-title">Orzech</h3>
                <span class="rk-card-badge badge-good">Dobra</span>
            </div>
            <div class="rk-stability-meter">
                <span class="rk-meter-label">Klasa 2:</span>
                <svg class="rk-meter-svg" viewBox="0 0 100 14" preserveAspectRatio="none">
                    <rect class="meter-bg" x="0" y="0" width="100" height="14" />
                    <rect class="meter-fill" x="0" y="0" height="14" />
                </svg>
            </div>
            <p class="rk-card-desc">Stabilny gatunek, bardzo dobrze znoszący wahania i cykle zmiany temperatury.</p>
        </div>

        <!-- Sosna/Modrzew -->
        <div class="rk-wood-card card-good-k3" data-category="good">
            <div class="rk-card-header">
                <h3 class="rk-card-title">Sosna/Modrzew</h3>
                <span class="rk-card-badge badge-good">Dobra</span>
            </div>
            <div class="rk-stability-meter">
                <span class="rk-meter-label">Klasa 3:</span>
                <svg class="rk-meter-svg" viewBox="0 0 100 14" preserveAspectRatio="none">
                    <rect class="meter-bg" x="0" y="0" width="100" height="14" />
                    <rect class="meter-fill" x="0" y="0" height="14" />
                </svg>
            </div>
            <p class="rk-card-desc">Miększe gatunki iglaste. Często oferowane w wersji <strong>warstwowej</strong>, co znacząco poprawia ich stabilność.</p>
        </div>

        <!-- Doussie -->
        <div class="rk-wood-card card-perfect" data-category="perfect">
            <div class="rk-card-header">
                <h3 class="rk-card-title">Doussie</h3>
                <span class="rk-card-badge badge-perfect">Doskonała</span>
            </div>
            <div class="rk-stability-meter">
                <span class="rk-meter-label">Klasa 1:</span>
                <svg class="rk-meter-svg" viewBox="0 0 100 14" preserveAspectRatio="none">
                    <rect class="meter-bg" x="0" y="0" width="100" height="14" />
                    <rect class="meter-fill" x="0" y="0" height="14" />
                </svg>
            </div>
            <p class="rk-card-desc">Kolejne egzotyczne, niezwykle stabilne drewno. Referencyjne parametry do tego zastosowania.</p>
        </div>

        <!-- Teak -->
        <div class="rk-wood-card card-perfect" data-category="perfect">
            <div class="rk-card-header">
                <h3 class="rk-card-title">Teak</h3>
                <span class="rk-card-badge badge-perfect">Doskonała</span>
            </div>
            <div class="rk-stability-meter">
                <span class="rk-meter-label">Klasa 1:</span>
                <svg class="rk-meter-svg" viewBox="0 0 100 14" preserveAspectRatio="none">
                    <rect class="meter-bg" x="0" y="0" width="100" height="14" />
                    <rect class="meter-fill" x="0" y="0" height="14" />
                </svg>
            </div>
            <p class="rk-card-desc">Legenda stabilności strukturalnej, uzyskana dzięki naturalnym olejkom wewnątrz włókien.</p>
        </div>

        <!-- Buk -->
        <div class="rk-wood-card card-warn" data-category="warn">
            <div class="rk-card-header">
                <h3 class="rk-card-title">Buk</h3>
                <span class="rk-card-badge badge-warn">Warunkowa</span>
            </div>
            <div class="rk-stability-meter">
                <span class="rk-meter-label">Klasa 4:</span>
                <svg class="rk-meter-svg" viewBox="0 0 100 14" preserveAspectRatio="none">
                    <rect class="meter-bg" x="0" y="0" width="100" height="14" />
                    <rect class="meter-fill" x="0" y="0" height="14" />
                </svg>
            </div>
            <p class="rk-card-desc"><strong>Uwaga!</strong> Buk ma niską stabilność wymiarową i mocno pracuje. Dopuszcza się go <strong>wyłącznie</strong> w postaci drewna warstwowego. Zobacz <a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/">alternatywy laminowane</a>.</p>
        </div>

    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez H-tagów)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('wood-table-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #18181b; color: #ef4444; border: 2px dashed #b91c1c; border-radius: 16px; font-family: sans-serif;">
                    <div style="font-size: 32px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 16px; font-weight: 800; margin-bottom: 10px; text-transform: uppercase;">Ochrona Domenowa</div>
                    <div style="font-size: 13px; line-height: 1.6; max-width: 500px; margin: 0 auto; color: #a1a1aa;">
                        Skrypt bazy gatunków drewna i znaczniki JSON-LD są własnością Projekt-Ogrzewania.pl. Uruchomienie interfejsu na obecnej domenie zostało zablokowane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Filtrowania
    const filterBtns = document.querySelectorAll('#woodFilters .rk-filter-btn');
    const woodCards = document.querySelectorAll('#woodGrid .rk-wood-card');

    filterBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Zmiana stanu przycisków
            filterBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            const filterValue = this.getAttribute('data-filter');

            // Filtrowanie kart z płynnym efektem (CSS załatwia resztę poprzez display/opacity)
            woodCards.forEach(card => {
                const category = card.getAttribute('data-category');
                
                if (filterValue === 'all' || category === filterValue) {
                    card.classList.remove('hidden');
                    // Wymuszamy reflow dla animacji
                    void card.offsetWidth; 
                    card.style.opacity = '1';
                    card.style.transform = 'scale(1)';
                } else {
                    card.style.opacity = '0';
                    card.style.transform = 'scale(0.95)';
                    setTimeout(() => {
                        card.classList.add('hidden');
                    }, 300); // Czas musi zgadzać się z CSS transition, chociaż tutaj zrobimy uproszczony toggle
                }
            });
            
            // Prostszy wariant bez setTimeout dla czystości działania w gridzie:
            woodCards.forEach(card => {
                const category = card.getAttribute('data-category');
                if (filterValue === 'all' || category === filterValue) {
                    card.style.display = 'block';
                } else {
                    card.style.display = 'none';
                }
            });
        });
    });
});
</script>



<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#article-montaz",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/"
    },
    "headline": "Kluczowe etapy montażu drewna na ogrzewaniu podłogowym",
    "description": "Od pomiaru wilgotności jastrychu (CM), przez 72-godzinną aklimatyzację, aż po rozruch podłogówki (+1°C na dobę). Kompletna procedura instalacyjna.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-10-14",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#dataset-montaz",
    "name": "Parametry Procedury Montażowej Parkietu na Podłogówce",
    "description": "Zbiór wartości granicznych dla poszczególnych etapów: wilgotność betonu, czas aklimatyzacji oraz krzywa grzewcza podczas pierwszego uruchomienia.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wilgotność jastrychu CM",
      "aklimatyzacja drewna podłogowego",
      "klej elastyczny do parkietu",
      "rozruch ogrzewania podłogowego",
      "montaż pływający podłogówka"
    ],
    "measurementTechnique": "Pomiary higrometryczne metodą karbidową (CM) oraz termiczny monitoring przyrostu temperatury zasilania (ΔT).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Jastrych cementowy: max 1.8% CM. Jastrych anhydrytowy: max 0.5% CM.",
        "Aklimatyzacja: Minimum 72 godziny w temperaturze docelowej.",
        "Rozruch: Stopniowy przyrost temperatury zasilania o 1-2°C na dobę."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#webapp-montaz",
    "name": "Przewodnik Krok po Kroku: Instalacja Drewna",
    "description": "Interaktywny panel edukacyjny (stepper) prezentujący 4 główne etapy montażu drewna wraz z animacjami procesów fizykochemicznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript and SVG support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     STYLIZACJA CSS KONTENERA
=========================================== -->
<style>
:root {
    --rk-step-dark: #1e293b;
    --rk-step-blue: #0284c7;
    --rk-step-wood: #b45309;
    --rk-step-bg: #f8fafc;
    --rk-step-border: #e2e8f0;
    --rk-step-text: #475569;
    --rk-step-success: #10b981;
}

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

/* Nagłówek */
.rk-step-header {
    padding: 35px 40px;
    background: var(--rk-step-dark);
    color: #ffffff;
    text-align: center;
}

.rk-step-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #f1f5f9;
}

.rk-step-header p {
    font-size: 15px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 700px;
}

/* Nawigacja Steppera */
.rk-stepper-nav {
    display: flex;
    background: var(--rk-step-bg);
    border-bottom: 1px solid var(--rk-step-border);
    overflow-x: auto;
    scrollbar-width: none; /* Firefox */
}
.rk-stepper-nav::-webkit-scrollbar { display: none; } /* Chrome */

.rk-step-btn {
    flex: 1;
    min-width: 150px;
    padding: 20px 15px;
    background: transparent;
    border: none;
    border-bottom: 4px solid transparent;
    color: var(--rk-step-text);
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

.rk-step-btn:hover {
    background: #f1f5f9;
    color: var(--rk-step-dark);
}

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

.rk-step-num {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-step-border);
    color: var(--rk-step-text);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    transition: all 0.3s;
}

.rk-step-btn.active .rk-step-num {
    background: var(--rk-step-blue);
    color: #ffffff;
    box-shadow: 0 0 10px rgba(2, 132, 199, 0.3);
}

/* Kontent Kroków */
.rk-step-content-wrapper {
    padding: 40px;
    background: #ffffff;
}

.rk-step-pane {
    display: none;
    grid-template-columns: 1fr 300px;
    gap: 40px;
    align-items: center;
    animation: fadeInStep 0.4s ease-out forwards;
}

.rk-step-pane.active {
    display: grid;
}

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

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

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

/* -------------------------------------
   Modernizacja Fontu Listy (UL/LI)
--------------------------------------*/
.rk-step-text ul {
    list-style: none;
    padding: 0;
    margin: 25px 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rk-step-text li {
    position: relative;
    padding-left: 36px;
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-step-dark);
    font-weight: 500;
    letter-spacing: -0.2px;
}

.rk-step-text li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    width: 22px;
    height: 22px;
    background-color: var(--rk-step-success);
    border-radius: 6px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: 12px;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: 0 3px 8px -2px rgba(16, 185, 129, 0.4);
}

.rk-step-text li strong {
    color: var(--rk-step-blue);
    font-weight: 800;
}
/* ------------------------------------- */

.rk-step-text a {
    color: var(--rk-step-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-step-blue);
}

.rk-data-pill {
    display: inline-block;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    color: #0369a1;
    padding: 8px 15px;
    border-radius: 8px;
    font-weight: 800;
    font-size: 14px;
    margin: 10px 10px 10px 0;
}

/* Moduł SVG */
.rk-svg-box {
    background: var(--rk-step-bg);
    border: 1px solid var(--rk-step-border);
    border-radius: 16px;
    padding: 20px;
    height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.rk-anim-svg {
    width: 100%;
    max-width: 200px;
    height: auto;
}

/* Sub-toggle dla kroku 3 */
.rk-sub-toggle {
    display: flex;
    background: #f1f5f9;
    border-radius: 8px;
    padding: 4px;
    margin-bottom: 20px;
    width: max-content;
}

.rk-sub-btn {
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-step-text);
    background: transparent;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
}

.rk-sub-btn.active {
    background: #ffffff;
    color: var(--rk-step-dark);
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

/* SVG Animations */
.anim-dial { transform-origin: 50px 70px; animation: dialMove 2s ease-out forwards; }
@keyframes dialMove { 0% { transform: rotate(-45deg); } 100% { transform: rotate(15deg); } } /* 1.8% */

.anim-clock-hand { transform-origin: 50px 50px; animation: clockSpin 4s infinite linear; }
@keyframes clockSpin { 100% { transform: rotate(360deg); } }

.anim-trowel { animation: trowelSweep 2s infinite ease-in-out; }
@keyframes trowelSweep { 0% { transform: translateX(-10px); } 50% { transform: translateX(20px); } 100% { transform: translateX(-10px); } }

.anim-thermometer { transform-origin: bottom; animation: thermoRise 3s infinite alternate ease-in-out; }
@keyframes thermoRise { 0% { transform: scaleY(0.2); } 100% { transform: scaleY(0.8); } }

@media (max-width: 768px) {
    .rk-step-header { padding: 30px 20px; }
    .rk-step-pane { grid-template-columns: 1fr; gap: 30px; }
    .rk-step-content-wrapper { padding: 25px 20px; }
    .rk-stepper-nav { justify-content: flex-start; }
    .rk-svg-box { height: 200px; }
}
</style>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-step-container" id="install-steps-app">
    
    <div class="rk-step-header">
        <h2>Montaż drewna na ogrzewaniu podłogowym – kluczowe etapy</h2>
        <p>Nawet najlepsze gatunkowo drewno ułożone w niewłaściwy sposób ulegnie destrukcji. Przeanalizuj 4 inżynieryjne etapy poprawnego montażu, które gwarantują bezawaryjną pracę systemu.</p>
    </div>

    <!-- Nawigacja -->
    <div class="rk-stepper-nav">
        <button class="rk-step-btn active" data-target="step1">
            <span class="rk-step-num">1</span>
            Przygotowanie
        </button>
        <button class="rk-step-btn" data-target="step2">
            <span class="rk-step-num">2</span>
            Aklimatyzacja
        </button>
        <button class="rk-step-btn" data-target="step3">
            <span class="rk-step-num">3</span>
            Metoda Montażu
        </button>
        <button class="rk-step-btn" data-target="step4">
            <span class="rk-step-num">4</span>
            Rozruch
        </button>
    </div>

    <!-- Treść -->
    <div class="rk-step-content-wrapper">
        
        <!-- KROK 1 -->
        <div class="rk-step-pane active" id="step1">
            <div class="rk-step-text">
                <h3>1. Przygotowanie i badanie podłoża</h3>
                <p>Podkład (jastrych), na którym ma być zamontowana podłoga, musi być idealnie równy i przede wszystkim <strong>suchy</strong>. Przed przystąpieniem do prac należy koniecznie przeprowadzić pomiar wilgotnościomierzem karbidowym (metoda CM).</p>
                <div class="rk-data-pill">Cementowy: max 1,8% CM</div>
                <div class="rk-data-pill">Anhydrytowy: max 0,5% CM</div>
                <p>Montaż na mokrym podkładzie to inżynieryjne proszenie się o katastrofę. Zobacz szczegóły w naszym <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">przewodniku po wylewkach podłogowych</a>.</p>
            </div>
            <div class="rk-svg-box">
                <svg class="rk-anim-svg" viewBox="0 0 100 100">
                    <!-- Podłoże -->
                    <rect x="10" y="80" width="80" height="15" fill="#cbd5e1" rx="2" />
                    <!-- Wilgotnościomierz -->
                    <path d="M30,70 L40,40 L60,40 L70,70 Z" fill="#64748b" />
                    <circle cx="50" cy="40" r="25" fill="#ffffff" stroke="#334155" stroke-width="4" />
                    <path d="M30,40 A20,20 0 0,1 70,40" fill="none" stroke="#10b981" stroke-width="6" />
                    <path d="M50,20 A20,20 0 0,1 70,40" fill="none" stroke="#ef4444" stroke-width="6" />
                    <!-- Wskazówka -->
                    <line class="anim-dial" x1="50" y1="40" x2="35" y2="25" stroke="#1e293b" stroke-width="3" stroke-linecap="round" />
                    <circle cx="50" cy="40" r="4" fill="#1e293b" />
                </svg>
            </div>
        </div>

        <!-- KROK 2 -->
        <div class="rk-step-pane" id="step2">
            <div class="rk-step-text">
                <h3>2. Aklimatyzacja – nie pomijaj tego kroku!</h3>
                <p>Deski podłogowe to żywy materiał, który musi dostosować swoją wilgotność wewnętrzną do warunków panujących w pomieszczeniu. Pominięcie tego kroku to jeden z <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstszych błędów montażowych</a>.</p>
                <p>Aklimatyzacja polega na pozostawieniu oryginalnie zapakowanych paczek w pomieszczeniu docelowym na <strong>minimum 72 godziny</strong> (niektórzy producenci zalecają nawet do 7 dni).</p>
                <div class="rk-data-pill">Wyłączone ogrzewanie!</div>
                <div class="rk-data-pill">Wilgotność powietrza: 45-55%</div>
            </div>
            <div class="rk-svg-box">
                <svg class="rk-anim-svg" viewBox="0 0 100 100">
                    <!-- Paczki desek -->
                    <rect x="20" y="60" width="60" height="15" fill="#d97706" rx="2" />
                    <rect x="25" y="40" width="50" height="15" fill="#b45309" rx="2" />
                    <path d="M20,60 L80,60 M25,40 L75,40" stroke="#fff" stroke-width="1" stroke-dasharray="2 2" />
                    <!-- Zegar (72h) -->
                    <circle cx="80" cy="30" r="15" fill="#ffffff" stroke="#0284c7" stroke-width="3" />
                    <line class="anim-clock-hand" x1="80" y1="30" x2="80" y2="20" stroke="#0284c7" stroke-width="2" stroke-linecap="round" />
                    <line x1="80" y1="30" x2="86" y2="30" stroke="#0ea5e9" stroke-width="2" stroke-linecap="round" />
                </svg>
            </div>
        </div>

        <!-- KROK 3 -->
        <div class="rk-step-pane" id="step3">
            <div class="rk-step-text">
                <h3>3. Wybór metody montażu</h3>
                <div class="rk-sub-toggle">
                    <button class="rk-sub-btn active" id="btnKlej">Klejenie (Zalecane)</button>
                    <button class="rk-sub-btn" id="btnPlyw">Pływający</button>
                </div>
                
                <div id="descKlej">
                    <p>To najpewniejsza metoda na <strong>trwałe i stabilne połączenie</strong> podłogi z podłożem, minimalizująca opór cieplny. Konieczne jest użycie elastycznych klejów (np. silanowych).</p>
                    <p>Klej musi pozostawać elastyczny po wyschnięciu, aby <strong>kompensować mikroruchy drewna</strong> wywołane cyklami grzania pompy ciepła lub kotła.</p>
                </div>
                
                <div id="descPlyw" style="display: none;">
                    <p>System szybszy i czystszy. Wymaga jednak użycia specjalistycznych, <strong>bardzo cienkich podkładów akustycznych</strong>, które nie stanowią izolatora termicznego.</p>
                    <p>Metoda ta sprawdza się znakomicie przy nowoczesnych deskach warstwowych z systemem zatrzaskowym (click).</p>
                </div>
            </div>
            <div class="rk-svg-box">
                <!-- SVG Klejenie -->
                <svg class="rk-anim-svg" id="svgKlej" viewBox="0 0 100 100">
                    <rect x="10" y="80" width="80" height="10" fill="#cbd5e1" />
                    <!-- Ścieżki kleju -->
                    <path d="M10,75 L80,75" stroke="#10b981" stroke-width="4" stroke-dasharray="5 5" />
                    <!-- Paca zębata -->
                    <g class="anim-trowel">
                        <path d="M40,75 L50,60 L70,60 L70,75 Z" fill="#64748b" />
                        <rect x="50" y="50" width="10" height="10" fill="#334155" />
                        <rect x="40" y="45" width="30" height="5" fill="#f59e0b" rx="2" />
                    </g>
                </svg>
                <!-- SVG Pływająco -->
                <svg class="rk-anim-svg" id="svgPlyw" viewBox="0 0 100 100" style="display: none;">
                    <rect x="10" y="80" width="80" height="10" fill="#cbd5e1" />
                    <!-- Mata podkładowa -->
                    <rect x="10" y="70" width="80" height="5" fill="#fbbf24" />
                    <!-- Deska Click -->
                    <path d="M20,60 L80,60 L80,70 L20,70 Z" fill="#b45309" />
                    <path d="M80,65 L85,65 L85,70 L80,70" fill="#b45309" /> <!-- zamek -->
                </svg>
            </div>
        </div>

        <!-- KROK 4 -->
        <div class="rk-step-pane" id="step4">
            <div class="rk-step-text">
                <h3>4. Rozruch ogrzewania – cierpliwość popłaca</h3>
                <p>Gdy podłoga jest już ułożona, a klej całkowicie związał, można przystąpić do integracji cieplnej. <strong>Absolutnie zabronione jest gwałtowne nagrzewanie!</strong> Szok termiczny natychmiast zniszczy wiązania.</p>
                <p>Proces wygrzewania podłogi (sprawdź <a href="https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/">ile czasu nagrzewa się instalacja</a>) należy przeprowadzać według schematu:</p>
                <ul>
                    <li>Start od naturalnej temperatury pokojowej.</li>
                    <li>Zwiększanie zasilania o max <strong>1-2°C na dobę</strong>.</li>
                    <li>Analogiczne schładzanie systemu po sezonie letnim.</li>
                </ul>
            </div>
            <div class="rk-svg-box">
                <svg class="rk-anim-svg" viewBox="0 0 100 100">
                    <!-- Termometr obudowa -->
                    <rect x="40" y="20" width="20" height="60" rx="10" fill="#ffffff" stroke="#94a3b8" stroke-width="3" />
                    <circle cx="50" cy="80" r="15" fill="#ffffff" stroke="#94a3b8" stroke-width="3" />
                    <!-- Płyn termometru -->
                    <circle cx="50" cy="80" r="10" fill="#ef4444" />
                    <rect class="anim-thermometer" x="46" y="25" width="8" height="50" fill="#ef4444" rx="4" />
                    <!-- Miarka -->
                    <line x1="60" y1="30" x2="65" y2="30" stroke="#64748b" stroke-width="2" />
                    <line x1="60" y1="45" x2="65" y2="45" stroke="#64748b" stroke-width="2" />
                    <line x1="60" y1="60" x2="65" y2="60" stroke="#64748b" stroke-width="2" />
                </svg>
            </div>
        </div>

    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domeny (Brak H-tagów)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('install-steps-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #1e293b; color: #f87171; border: 2px solid #ef4444; border-radius: 16px; font-family: sans-serif;">
                    <div style="font-size: 32px; margin-bottom: 15px;">🚫</div>
                    <div style="font-size: 16px; font-weight: 800; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 13px; line-height: 1.6; max-width: 500px; margin: 0 auto; color: #cbd5e1;">
                        Interaktywny przewodnik montażowy oraz skrypty SEO JSON-LD należą do Projekt-Ogrzewania.pl. Prosimy o usunięcie kodu z nieautoryzowanej witryny.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Steppera (Kroki główne)
    const stepBtns = document.querySelectorAll('.rk-step-btn');
    const stepPanes = document.querySelectorAll('.rk-step-pane');

    stepBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Reset active states
            stepBtns.forEach(b => b.classList.remove('active'));
            stepPanes.forEach(p => p.classList.remove('active'));

            // Set new active state
            this.classList.add('active');
            const targetId = this.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });

    // 3. Logika Sub-Toggle (Krok 3: Klej vs Pływający)
    const btnKlej = document.getElementById('btnKlej');
    const btnPlyw = document.getElementById('btnPlyw');
    const descKlej = document.getElementById('descKlej');
    const descPlyw = document.getElementById('descPlyw');
    const svgKlej = document.getElementById('svgKlej');
    const svgPlyw = document.getElementById('svgPlyw');

    if(btnKlej && btnPlyw) {
        btnKlej.addEventListener('click', () => {
            btnKlej.classList.add('active');
            btnPlyw.classList.remove('active');
            descKlej.style.display = 'block';
            descPlyw.style.display = 'none';
            svgKlej.style.display = 'block';
            svgPlyw.style.display = 'none';
        });

        btnPlyw.addEventListener('click', () => {
            btnPlyw.classList.add('active');
            btnKlej.classList.remove('active');
            descPlyw.style.display = 'block';
            descKlej.style.display = 'none';
            svgPlyw.style.display = 'block';
            svgKlej.style.display = 'none';
        });
    }
});
</script>



<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/"
    },
    "headline": "Jakie błędy montażowe niszczą drewnianą podłogę na ogrzewaniu?",
    "description": "Zbyt wysoka wilgotność jastrychu (powyżej 1,8% CM), sztywny klej i brak dylatacji brzegowych to główne przyczyny łódkowania i pękania parkietu na podłogówce.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-10-14",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#dataset-bledy",
    "name": "Parametry Krytyczne Montażu Drewna na Jastrychu",
    "description": "Limity technologiczne instalacji parkietu: dopuszczalna wilgotność wylewek CM, wymagane wydłużenie klejów (ISO 17178) oraz wymiary szczelin dylatacyjnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy montażu podłogówki",
      "wilgotność jastrychu pod drewno",
      "klej silanowy do parkietu",
      "dylatacja brzegowa podłogi",
      "łódkowanie drewna na ogrzewaniu"
    ],
    "measurementTechnique": "Analiza odkształceń naprężeniowych drewna pod wpływem skurczu higroskopijnego, braku przestrzeni ekspansyjnej oraz zerwania sztywnej spoiny klejowej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd wilgotności: Jastrych > 1,8% CM powoduje transfer pary wodnej i łódkowanie.",
        "Błąd chemii: Klej o wydłużeniu < 50% ulega zerwaniu pod wpływem mikroruchów termicznych.",
        "Błąd dylatacji: Szczelina < 10 mm blokuje ekspansję, powodując pękanie posadzki w osi."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#webapp-bledy",
    "name": "Symulator Błędów Montażowych Parkietu",
    "description": "Interaktywna animacja SVG ukazująca procesy degradacji drewna w zależności od popełnionego błędu wykonawczego: odkształcenia higroskopijne, ścinanie kleju oraz kolizje ze ścianą.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript and SVG support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     STYLIZACJA CSS KONTENERA
=========================================== -->
<style>
:root {
    --rk-err-dark: #111827;
    --rk-err-red: #dc2626;
    --rk-err-red-light: #fef2f2;
    --rk-err-accent: #f59e0b; /* Bursztyn dla akcentów drewna */
    --rk-err-bg: #ffffff;
    --rk-err-border: #e5e7eb;
    --rk-err-text: #4b5563;
}

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

/* Sekcja Treściowa */
.rk-err-content {
    padding: 40px 50px;
    background: #ffffff;
}

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

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

.rk-err-content a {
    color: var(--rk-err-red);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid rgba(220, 38, 38, 0.2);
    transition: all 0.3s;
}

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

/* Nowoczesna, wyrazista lista błędów */
.rk-err-list {
    list-style: none;
    padding: 0;
    margin: 30px 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-err-list li {
    position: relative;
    padding: 20px 20px 20px 55px;
    background: var(--rk-err-red-light);
    border-radius: 12px;
    border: 1px solid #fecaca;
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-err-dark);
    font-weight: 500;
}

.rk-err-list li::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 20px;
    width: 26px;
    height: 26px;
    background-color: var(--rk-err-red);
    border-radius: 8px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
    background-size: 14px;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: 0 4px 10px -2px rgba(220, 38, 38, 0.4);
}

.rk-err-list li strong {
    color: var(--rk-err-red);
    font-weight: 900;
    display: block;
    font-size: 17px;
    margin-bottom: 5px;
}

/* Moduł Symulatora */
.rk-err-interactive {
    padding: 45px 50px;
    background: var(--rk-err-dark);
    color: #ffffff;
    border-top: 1px solid #374151;
}

.rk-err-interactive h3 {
    margin: 0 0 30px 0;
    font-size: 22px;
    font-weight: 800;
    text-align: center;
    color: #f3f4f6;
}

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

/* Zakładki błędów */
.rk-err-tabs {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-err-tab {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 16px 20px;
    color: #9ca3af;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s;
    font-size: 15px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-err-tab:hover {
    background: rgba(255, 255, 255, 0.1);
}

.rk-err-tab.active {
    background: var(--rk-err-red);
    color: #ffffff;
    border-color: #ef4444;
    box-shadow: 0 10px 20px rgba(220, 38, 38, 0.4);
}

.rk-tab-icon {
    width: 24px;
    height: 24px;
    background: rgba(0,0,0,0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

/* Strefa animacji SVG */
.rk-svg-stage {
    background: #1f2937;
    border-radius: 16px;
    padding: 30px;
    height: 260px;
    position: relative;
    border: 1px solid #374151;
    box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.rk-svg-canvas {
    width: 100%;
    max-width: 300px;
    height: auto;
    overflow: visible;
}

/* SVG Elementy bazowe */
.sv-screed { fill: #6b7280; rx: 4; }
.sv-board { fill: #d97706; rx: 2; transition: all 0.5s ease; }
.sv-wall { fill: #4b5563; rx: 2; }
.sv-glue { stroke: #10b981; stroke-width: 4; fill: none; stroke-dasharray: 6 4; transition: all 0.3s; }

/* Stany Animacji dla konkretnych błędów */

/* 1. Wilgotność (Łódkowanie) */
.state-moisture .sv-board {
    animation: warpBoard 3s infinite alternate ease-in-out;
    transform-origin: center;
}
.state-moisture .sv-vapor {
    stroke: #3b82f6; stroke-width: 2; opacity: 0;
    animation: riseVapor 2s infinite ease-in;
}

/* 2. Zły klej (Zerwanie) */
.state-glue .sv-glue {
    stroke: #ef4444;
    animation: breakGlue 2s infinite;
}
.state-glue .sv-board {
    animation: shiftBoard 2s infinite ease-in-out;
}

/* 3. Brak dylatacji (Pękanie) */
.state-gap .sv-board {
    animation: expandBoard 3s infinite;
}
.state-gap .sv-crack {
    stroke: #451a03; stroke-width: 3; stroke-linecap: round;
    stroke-dasharray: 30; stroke-dashoffset: 30;
    animation: drawCrack 3s infinite;
}

/* Keyframes */
@keyframes warpBoard {
    0% { transform: scaleY(1) translateY(0); }
    100% { transform: scaleY(1.3) translateY(-10px) perspective(200px) rotateX(15deg); }
}

@keyframes riseVapor {
    0% { transform: translateY(15px); opacity: 0; }
    50% { opacity: 0.8; }
    100% { transform: translateY(-10px); opacity: 0; }
}

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

@keyframes breakGlue {
    0% { stroke-dasharray: 6 4; opacity: 1; }
    40% { stroke-dasharray: 20 10; opacity: 0.5; }
    50% { stroke-dasharray: 2 20; opacity: 0.2; }
    100% { stroke-dasharray: 2 20; opacity: 0.2; }
}

@keyframes expandBoard {
    0% { transform: scaleX(1); transform-origin: left; }
    40%, 100% { transform: scaleX(1.15); transform-origin: left; } /* uderza w ścianę */
}

@keyframes drawCrack {
    0%, 35% { stroke-dashoffset: 30; opacity: 0; }
    40%, 100% { stroke-dashoffset: 0; opacity: 1; }
}

/* Etykiety na płótnie */
.sv-label {
    fill: #ffffff;
    font-size: 10px;
    font-weight: bold;
    font-family: sans-serif;
    text-anchor: middle;
    opacity: 0;
    transition: opacity 0.3s;
}

.state-moisture .lbl-moisture { opacity: 1; }
.state-glue .lbl-glue { opacity: 1; }
.state-gap .lbl-gap { opacity: 1; }

@media (max-width: 768px) {
    .rk-err-content, .rk-err-interactive { padding: 30px 20px; }
    .rk-sim-grid { grid-template-columns: 1fr; gap: 30px; }
    .rk-err-list li { padding-left: 45px; }
    .rk-err-list li::before { left: 10px; width: 22px; height: 22px; background-size: 12px; }
}
</style>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-err-container" id="error-sim-app">
    
    <!-- Sekcja Tekstowa -->
    <div class="rk-err-content">
        <h2>Jakie błędy montażowe niszczą drewnianą podłogę?</h2>
        <p>Najczęstszym błędem jest całkowity brak wykonania protokołu wygrzewania jastrychu przed rozpoczęciem montażu. Zgodnie z bezwzględnymi wytycznymi organizacji parkieciarskich, wilgotność podłoża cementowego nie może przekraczać <strong>1,8% CM</strong>, a jastrychu anhydrytowego zaledwie <strong>0,5% CM</strong>.</p>
        
        <p>Jeśli <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">unikniesz tych 3 najczęstszych pułapek</a>, Twoja podłoga przetrwa dekady:</p>

        <ul class="rk-err-list">
            <li>
                <strong>Błąd 1: Zbyt wczesny montaż</strong>
                Jeśli położysz drewno na jastrych o wilgotności rzędu 3%, instalacja podłogowa zadziała jak potężny „ekstraktor wilgoci”, siłą wtłaczając parę wodną wprost w wewnętrzną strukturę deski. Fizyczny efekt jest brutalny: potężne łódkowanie desek zazwyczaj w ciągu 14 dni od uruchomienia ogrzewania.
            </li>
            <li>
                <strong>Błąd 2: Zły klej</strong>
                Stosowanie tanich klejów sztywnych (np. rozpuszczalnikowych na bazie żywic syntetycznych) zamiast dedykowanych klejów silanowych lub poliuretanowo-silanowych (certyfikat ISO 17178). Klej pod drewno pracujące na instalacji grzewczej musi posiadać wydłużenie przy zerwaniu na poziomie min. 50-100%, aby bezpiecznie kompensować mikroruchy.
            </li>
            <li>
                <strong>Błąd 3: Brak dylatacji brzegowych</strong>
                Pozostawienie <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">szczeliny obwodowej</a> mniejszej niż 10-15 mm przy ścianach i oknach. Drewno przy grzaniu od spodu „puchnie” i „kurczy się” znacznie szybciej. Całkowity brak miejsca na ten naturalny ruch skutkuje silnym wypchnięciem listew przypodłogowych lub spektakularnym pękaniem desek (tzw. "łódka odwrócona") w połowie salonu.
            </li>
        </ul>
    </div>

    <!-- Sekcja Interaktywna -->
    <div class="rk-err-interactive">
        <h3>Symulator Zniszczeń: Mechanika Błędów</h3>
        <div class="rk-sim-grid">
            
            <!-- Zakładki -->
            <div class="rk-err-tabs" id="errTabs">
                <button class="rk-err-tab active" data-state="state-moisture">
                    <div class="rk-tab-icon">1</div>
                    Ekstrakcja wilgoci (>1.8% CM)
                </button>
                <button class="rk-err-tab" data-state="state-glue">
                    <div class="rk-tab-icon">2</div>
                    Zerwanie sztywnego kleju
                </button>
                <button class="rk-err-tab" data-state="state-gap">
                    <div class="rk-tab-icon">3</div>
                    Blokada dylatacyjna (<10mm)
                </button>
            </div>

            <!-- SVG Scena -->
            <div class="rk-svg-stage state-moisture" id="errSvgStage">
                <svg class="rk-svg-canvas" viewBox="0 0 200 120">
                    
                    <!-- Podstawa - Jastrych -->
                    <rect class="sv-screed" x="10" y="80" width="160" height="25" />
                    
                    <!-- Etykiety jastrychu -->
                    <text class="sv-label lbl-moisture" x="90" y="100">Wilgotność 3% CM !</text>
                    <text class="sv-label lbl-glue" x="90" y="100">Praca cieplna posadzki</text>
                    <text class="sv-label lbl-gap" x="70" y="100">Rozszerzalność drewna</text>

                    <!-- Ściana (tylko dla dylatacji) -->
                    <rect class="sv-wall" x="175" y="40" width="15" height="65" />
                    
                    <!-- Para wodna (tylko dla wilgotności) -->
                    <g class="sv-vapor-group">
                        <path class="sv-vapor" d="M30,75 Q25,60 30,45" fill="none" />
                        <path class="sv-vapor" d="M90,75 Q95,60 90,45" fill="none" style="animation-delay: 0.5s;" />
                        <path class="sv-vapor" d="M150,75 Q145,60 150,45" fill="none" style="animation-delay: 0.2s;" />
                    </g>

                    <!-- Warstwa Kleju (głównie dla błędu kleju) -->
                    <path class="sv-glue" d="M20,77 L160,77" />

                    <!-- Deska / Drewno -->
                    <rect class="sv-board" x="20" y="55" width="140" height="20" />
                    
                    <!-- Pęknięcie (tylko dla dylatacji) -->
                    <path class="sv-crack" d="M90,55 L95,65 L88,75" fill="none" />

                </svg>
            </div>

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

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Brak H-tagów)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('error-sim-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #111827; color: #ef4444; border: 2px dashed #dc2626; border-radius: 16px; font-family: sans-serif;">
                    <div style="font-size: 32px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 16px; font-weight: 800; margin-bottom: 10px; text-transform: uppercase;">Zablokowano komponent</div>
                    <div style="font-size: 13px; line-height: 1.6; max-width: 500px; margin: 0 auto; color: #9ca3af;">
                        Wykryto kradzież kodu. Interaktywny symulator błędów i zaszyte dane SEO są własnością Projekt-Ogrzewania.pl. Uruchomienie poza autoryzowaną domeną jest niemożliwe.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Zakładek Symulatora
    const tabs = document.querySelectorAll('#errTabs .rk-err-tab');
    const stage = document.getElementById('errSvgStage');

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // Reset active states
            tabs.forEach(t => t.classList.remove('active'));
            
            // Set new active state
            this.classList.add('active');
            
            // Read target state
            const targetState = this.getAttribute('data-state');
            
            // Update SVG container class to trigger animations
            stage.className = `rk-svg-stage ${targetState}`;
        });
    });
});
</script>



<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#article-algorytm",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/"
    },
    "headline": "Jak obliczyć wymaganą moc grzewczą przy podłodze drewnianej? Algorytm OZC",
    "description": "Kalkulator wymaganej temperatury powierzchni podłogi z drewna. Sprawdź, czy Twoje obciążenie cieplne (W/m2) nie przekracza normy EN 1264 dla parkietu (max 27°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": "2025-10-14",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#dataset-algorytm",
    "name": "Algorytm Obliczeniowy Mocy Grzewczej dla Drewna",
    "description": "Zestawienie wzorów na obciążenie projektowe (q) i temperaturę powierzchni (tp) oraz warunków brzegowych dla okładzin z drewna warstwowego i litego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wymagana moc grzewcza drewna",
      "obliczenia OZC podłogówka",
      "temperatura powierzchni podłogi",
      "algorytm EN 1264",
      "straty ciepła W/m2"
    ],
    "measurementTechnique": "Rozwiązywanie równania strumienia cieplnego q = 11 * (tp - ti) w celu wyznaczenia niezbędnej temperatury powierzchni podłogi przy zadanych stratach cieplnych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Krok 1: Wyznaczenie obciążenia projektowego q [W/m2].",
        "Krok 2: Wyliczenie tp = ti + (q / 11).",
        "Krok 3: Weryfikacja warunku tp <= 27°C."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#webapp-algorytm",
    "name": "Kalkulator Bezpieczeństwa Termicznego Drewna",
    "description": "Interaktywne narzędzie obliczeniowe dla inwestorów, pozwalające symulować temperaturę powierzchni podłogi drewnianej w zależności od strat ciepła budynku i oczekiwanej temperatury pokojowej.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript and SVG support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     STYLIZACJA CSS KONTENERA
=========================================== -->
<style>
:root {
    --rk-alg-dark: #1e1b4b; /* Deep Indigo */
    --rk-alg-primary: #4f46e5; /* Indigo Accent */
    --rk-alg-light: #e0e7ff;
    --rk-alg-bg: #ffffff;
    --rk-alg-border: #c7d2fe;
    --rk-alg-text: #475569;
    --rk-alg-safe: #10b981;
    --rk-alg-danger: #ef4444;
}

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

/* Sekcja Treści - Edukacyjna */
.rk-alg-content {
    padding: 40px 50px;
    background: #ffffff;
}

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

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

.rk-alg-content a {
    color: var(--rk-alg-primary);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid rgba(79, 70, 229, 0.2);
    transition: border-color 0.3s;
}

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

/* Algorytm Lista Numeryczna */
.rk-alg-steps {
    background: var(--rk-alg-light);
    border-radius: 16px;
    padding: 25px 30px;
    margin: 25px 0;
    border: 1px solid var(--rk-alg-border);
}

.rk-alg-steps ol {
    margin: 0;
    padding-left: 20px;
    color: var(--rk-alg-dark);
}

.rk-alg-steps li {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 12px;
    padding-left: 10px;
}

.rk-alg-steps li::marker {
    font-weight: 800;
    color: var(--rk-alg-primary);
}

.rk-alg-steps strong {
    color: var(--rk-alg-primary);
    background: rgba(255,255,255,0.6);
    padding: 2px 6px;
    border-radius: 4px;
    font-family: monospace;
    font-size: 14px;
}

/* Moduł Interaktywny */
.rk-alg-interactive {
    padding: 45px 50px;
    background: var(--rk-alg-dark);
    color: #ffffff;
    border-top: 1px solid #312e81;
}

.rk-alg-interactive h3 {
    margin: 0 0 30px 0;
    font-size: 22px;
    font-weight: 800;
    text-align: center;
    color: #e0e7ff;
}

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

/* Suwaki i Parametry */
.rk-sliders-box {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-slider-wrap {
    background: rgba(255,255,255,0.05);
    padding: 20px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.1);
}

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

.rk-slider-label {
    font-size: 14px;
    font-weight: 600;
    color: #a5b4fc;
}

.rk-slider-val {
    font-size: 20px;
    font-weight: 900;
    color: #ffffff;
    font-family: monospace;
}

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

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

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

/* Wynik (Result Box) */
.rk-result-panel {
    background: rgba(0,0,0,0.3);
    border-radius: 16px;
    padding: 25px;
    text-align: center;
    position: relative;
    border: 2px solid transparent;
    transition: all 0.3s;
}

.rk-result-title {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #a5b4fc;
    margin-bottom: 10px;
    display: block;
}

.rk-result-tp {
    font-size: 42px;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 15px;
    font-family: monospace;
    transition: color 0.3s;
}

.rk-result-msg {
    font-size: 14px;
    font-weight: 700;
    padding: 8px 15px;
    border-radius: 8px;
    display: inline-block;
    transition: all 0.3s;
}

/* Statusy Wyniku */
.status-ok .rk-result-panel { border-color: var(--rk-alg-safe); box-shadow: 0 0 20px rgba(16,185,129,0.1); }
.status-ok .rk-result-tp { color: var(--rk-alg-safe); }
.status-ok .rk-result-msg { background: rgba(16,185,129,0.2); color: #34d399; }

.status-err .rk-result-panel { border-color: var(--rk-alg-danger); box-shadow: 0 0 20px rgba(239,68,68,0.2); }
.status-err .rk-result-tp { color: var(--rk-alg-danger); }
.status-err .rk-result-msg { background: rgba(239,68,68,0.2); color: #fca5a5; }

/* SVG Animacja */
.rk-svg-viz {
    width: 100%;
    height: 150px;
    margin-top: 20px;
    overflow: visible;
}

.anim-floor { transition: fill 0.4s; }
.anim-wave { transition: stroke 0.4s; }
.anim-crack { opacity: 0; transition: opacity 0.3s; stroke-dasharray: 50; stroke-dashoffset: 50; }

.status-ok .anim-floor { fill: #d97706; }
.status-ok .anim-wave { stroke: #10b981; animation: waveUpOk 2s infinite linear; }

.status-err .anim-floor { fill: #92400e; }
.status-err .anim-wave { stroke: #ef4444; stroke-width: 4; animation: waveUpErr 1s infinite linear; }
.status-err .anim-crack { opacity: 1; animation: crackDraw 0.5s forwards; }

@keyframes waveUpOk {
    0% { transform: translateY(10px); opacity: 0; }
    50% { opacity: 0.8; }
    100% { transform: translateY(-20px); opacity: 0; }
}

@keyframes waveUpErr {
    0% { transform: translateY(10px); opacity: 0; }
    50% { opacity: 1; }
    100% { transform: translateY(-10px); opacity: 0; }
}

@keyframes crackDraw {
    to { stroke-dashoffset: 0; }
}

@media (max-width: 768px) {
    .rk-alg-content, .rk-alg-interactive { padding: 30px 20px; }
    .rk-alg-grid { grid-template-columns: 1fr; gap: 30px; }
}
</style>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-alg-container" id="algo-sim-app">
    
    <!-- Sekcja Tekstowa -->
    <div class="rk-alg-content">
        <h2>Jak obliczyć wymaganą moc grzewczą przy podłodze drewnianej? (Algorytm)</h2>
        <p>Jeśli planujesz położyć naturalne drewno, jako inwestor musisz zweryfikować, czy podłoga zdoła oddać (kolokwialnie: "puścić") wystarczającą ilość ciepła, aby pokryć realne straty wykazane w rzetelnym <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projekcie OZC</a>.</p>
        
        <p>Aby uniknąć przykrych niespodzianek, przyjmij poniższy inżynierski algorytm oparty na normie badawczej <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">EN 1264</a>:</p>

        <div class="rk-alg-steps">
            <ol>
                <li><strong>Oblicz obciążenie projektowe (q):</strong> q = Φ / A, gdzie Φ to straty ciepła pomieszczenia [W], a A to całkowita powierzchnia grzejna [m2].</li>
                <li><strong>Określ wymaganą temperaturę powierzchni (tp):</strong> tp = ti + (q / α), gdzie ti to oczekiwana temperatura wewnętrzna (np. 20°C), a α to fizyczny współczynnik przejmowania ciepła od podłogi (standardowo przyjmuje się 11 W/m2K).</li>
                <li><strong>Sprawdź ograniczenie:</strong> Jeśli wynikowa tp jest wyższa niż 27°C, układ nie zadziała prawidłowo z drewnem. Konieczne jest <a href="https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/">zagęszczenie rozstawu rur w projekcie</a> lub obniżenie strat ciepła (np. przez lepszą izolację ścian zewnętrznych).</li>
                <li><strong>Oblicz temperaturę czynnika (tm):</strong> Wykorzystaj logarytmiczną różnicę temperatur. Pamiętaj, że dla drewna, parametr tm (temperatura średnia wody) będzie zazwyczaj o 5 do 8 K wyższa niż dla zwykłych płytek przy tym samym układzie.</li>
            </ol>
        </div>

        <p><strong>Przykład z praktyki instalacyjnej:</strong><br>
        Masz dom o stratach rzędu 45 W/m2. Przy docelowej temperaturze wewnątrz wynoszącej 20°C, temperatura powierzchni podłogi musi wynosić: tp = 20 + (45 / 11) = 20 + 4,1 = <strong>24,1°C</strong>.<br>
        Wartość ta jest znacznie mniejsza niż rygorystyczny limit 27°C, a więc dębowa deska warstwowa o grubości 14 mm będzie pracować w idealnych i wysoce bezpiecznych warunkach.</p>
    </div>

    <!-- Sekcja Interaktywna - Kalkulator -->
    <div class="rk-alg-interactive">
        <h3>Interaktywny Kalkulator Temperatury Powierzchni</h3>
        <p style="text-align: center; color: #a5b4fc; margin-bottom: 30px; font-size: 14px;">Sprawdź, czy Twój budynek jest gotowy na drewnianą posadzkę.</p>
        
        <div class="rk-alg-grid" id="algoGridState">
            
            <!-- Suwaki sterujące -->
            <div class="rk-sliders-box">
                <div class="rk-slider-wrap">
                    <div class="rk-slider-header">
                        <span class="rk-slider-label">Straty Ciepła Pomieszczenia (q)</span>
                        <span class="rk-slider-val"><span id="valQ">45</span> W/m2</span>
                    </div>
                    <input type="range" id="slideQ" class="rk-range" min="20" max="100" value="45" step="1">
                </div>

                <div class="rk-slider-wrap">
                    <div class="rk-slider-header">
                        <span class="rk-slider-label">Wymagana Temp. Wewnętrzna (ti)</span>
                        <span class="rk-slider-val"><span id="valTi">20</span> °C</span>
                    </div>
                    <input type="range" id="slideTi" class="rk-range" min="18" max="25" value="20" step="0.5">
                </div>
            </div>

            <!-- Panel Wyników + SVG -->
            <div class="rk-result-panel">
                <span class="rk-result-title">Wymagana Temperatura Powierzchni</span>
                <div class="rk-result-tp"><span id="valTpRes">24.1</span>°C</div>
                <div class="rk-result-msg" id="msgStatus">Idealne warunki pracy</div>

                <!-- Wizualizacja SVG podłogi -->
                <svg class="rk-svg-viz" viewBox="0 0 200 100">
                    <!-- Beton/Rury -->
                    <rect x="20" y="70" width="160" height="20" fill="#475569" rx="2" />
                    <circle cx="60" cy="80" r="6" fill="#1e1b4b" />
                    <circle cx="100" cy="80" r="6" fill="#1e1b4b" />
                    <circle cx="140" cy="80" r="6" fill="#1e1b4b" />
                    
                    <!-- Drewniana Posadzka -->
                    <rect class="anim-floor" x="20" y="50" width="160" height="15" rx="1" />
                    <path class="anim-crack" d="M100,50 L105,58 L95,65" fill="none" stroke="#1e1b4b" stroke-width="2" />

                    <!-- Fale Ciepła -->
                    <path class="anim-wave" d="M60,40 Q55,25 60,10" fill="none" stroke-width="3" stroke-linecap="round" />
                    <path class="anim-wave" d="M100,40 Q105,25 100,10" fill="none" stroke-width="3" stroke-linecap="round" style="animation-delay: 0.3s;" />
                    <path class="anim-wave" d="M140,40 Q135,25 140,10" fill="none" stroke-width="3" stroke-linecap="round" style="animation-delay: 0.6s;" />
                </svg>
            </div>

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

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Brak H-tagów)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('algo-sim-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #1e1b4b; color: #f87171; border: 2px dashed #ef4444; border-radius: 16px; font-family: sans-serif;">
                    <div style="font-size: 32px; margin-bottom: 15px;">🚫</div>
                    <div style="font-size: 16px; font-weight: 800; margin-bottom: 10px; text-transform: uppercase;">Zablokowano komponent</div>
                    <div style="font-size: 13px; line-height: 1.6; max-width: 500px; margin: 0 auto; color: #c7d2fe;">
                        Skrypt kalkulatora OZC i dane strukturalne JSON-LD podlegają ochronie praw autorskich Projekt-Ogrzewania.pl. Uruchomienie poza autoryzowaną domeną zostało zatrzymane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Kalkulatora i Interakcji
    const slideQ = document.getElementById('slideQ');
    const slideTi = document.getElementById('slideTi');
    const valQ = document.getElementById('valQ');
    const valTi = document.getElementById('valTi');
    const valTpRes = document.getElementById('valTpRes');
    const msgStatus = document.getElementById('msgStatus');
    const algoGridState = document.getElementById('algoGridState');

    const alpha = 11; // Współczynnik przejmowania ciepła (stała z normy)

    function calculateValues() {
        const q = parseFloat(slideQ.value);
        const ti = parseFloat(slideTi.value);

        // Wyświetlanie wartości na etykietach suwaków
        valQ.textContent = q;
        valTi.textContent = ti.toFixed(1);

        // Główny wzór: tp = ti + (q / alpha)
        const tp = ti + (q / alpha);
        valTpRes.textContent = tp.toFixed(1);

        // Weryfikacja warunku brzegowego (27 stopni)
        if (tp > 27.0) {
            algoGridState.className = 'rk-alg-grid status-err';
            msgStatus.textContent = 'PRZEKROCZENIE NORM! Zniszczenie deski.';
        } else if (tp > 26.0 && tp <= 27.0) {
            algoGridState.className = 'rk-alg-grid status-ok';
            msgStatus.textContent = 'Na granicy normy. Ostrożnie.';
        } else {
            algoGridState.className = 'rk-alg-grid status-ok';
            msgStatus.textContent = 'Parametry bezpieczne dla drewna';
        }
    }

    // Nasłuchiwanie zmian na suwakach
    slideQ.addEventListener('input', calculateValues);
    slideTi.addEventListener('input', calculateValues);

    // Inicjalizacja pierwszego obliczenia
    calculateValues();
});
</script>



<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#article-hydraulika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/"
    },
    "headline": "Jak posadzka drewniana wpływa na projekt OZC i hydraulikę?",
    "description": "Zobacz, dlaczego parkiet wymaga gęstszego rozstawu rur (co 10 cm), krótszych obwodów i rotametrów do 5 l/min. Symulacja hydrauliczna dla 150 m².",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-10-14",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#dataset-hydraulika",
    "name": "Zmiany Parametrów Hydraulicznych: Płytki vs Drewno",
    "description": "Zestawienie kompensacji oporu cieplnego posadzki na obciążenie układu: przepływ masowy, rozstaw pętli, dobór pompy i maksymalna długość pętli.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rozstaw rur pod drewno 10cm",
      "rotametry 5 l/min podłogówka",
      "przepływ masowy ogrzewania m3/h",
      "maksymalna długość pętli ogrzewania podłogowego",
      "dobór pompy obiegowej do podłogówki",
      "opory hydrauliczne w instalacji"
    ],
    "measurementTechnique": "Symulacja fizycznego zagęszczenia pętli oraz przyrostu wydatku pompy dla budynku 150 m² przy utrzymaniu ΔT = 5 K.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Gres: Rozstaw 15 cm, przepływ ok. 1.15 m³/h, standardowe rotametry 2.5 l/min.",
        "Drewno: Rozstaw 10 cm, przepływ ok. 1.45 m³/h, rotametry 5.0 l/min, limity długości pętli PEX 16 do 80m."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#webapp-hydraulika",
    "name": "Symulator Obciążeń Hydraulicznych Instalacji",
    "description": "Zaawansowany panel edukacyjny (dashboard) ilustrujący w czasie rzeczywistym fizyczne zagęszczenie rur grzewczych, skokowy wzrost obciążenia pompy oraz dynamikę przepływu względem oporu cieplnego okładziny.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript and SVG support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     STYLIZACJA CSS KONTENERA
=========================================== -->
<style>
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;700;800;900&display=swap');

:root {
    --rk-pro-dark: #0f172a;
    --rk-pro-slate: #334155;
    --rk-pro-blue: #0284c7;
    --rk-pro-blue-light: #f0f9ff;
    --rk-pro-wood: #d97706;
    --rk-pro-bg: #ffffff;
    --rk-pro-border: #e2e8f0;
    --rk-pro-font: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

.rk-pro-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: var(--rk-pro-font);
    background: var(--rk-pro-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.15);
    border: 1px solid var(--rk-pro-border);
    overflow: hidden;
    color: var(--rk-pro-slate);
}

/* Sekcja Treściowa */
.rk-pro-content {
    padding: 50px;
    background: #ffffff;
}

.rk-pro-content h2 {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-pro-dark);
    margin: 0 0 20px 0;
    line-height: 1.25;
    letter-spacing: -0.5px;
}

.rk-pro-content p {
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 20px 0;
}

.rk-pro-content a {
    color: var(--rk-pro-blue);
    font-weight: 700;
    text-decoration: none;
    box-shadow: inset 0 -2px 0 rgba(2, 132, 199, 0.3);
    transition: all 0.3s;
}

.rk-pro-content a:hover {
    box-shadow: inset 0 -10px 0 rgba(2, 132, 199, 0.15);
    color: #0369a1;
}

/* Moduł Danych OZC */
.rk-ozc-banner {
    background: var(--rk-pro-blue-light);
    border-left: 4px solid var(--rk-pro-blue);
    padding: 25px 30px;
    border-radius: 0 16px 16px 0;
    margin: 35px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 30px;
}

.rk-ozc-banner-text {
    flex: 1 1 300px;
}

.rk-ozc-banner-text h4 {
    margin: 0 0 10px 0;
    color: var(--rk-pro-dark);
    font-size: 18px;
    font-weight: 800;
}

.rk-ozc-banner-text p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
}

.rk-ozc-stats {
    display: flex;
    gap: 20px;
}

.rk-stat-box {
    background: #ffffff;
    padding: 15px 20px;
    border-radius: 12px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
    text-align: center;
    border: 1px solid var(--rk-pro-border);
}

.rk-stat-box span {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 700;
    color: #64748b;
    margin-bottom: 5px;
}

.rk-stat-box strong {
    display: block;
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-pro-dark);
}

.rk-stat-box.highlight strong {
    color: #dc2626;
}

/* Kafelki Zmian (Siatka 2x2 z wypełnioną dziurą na długi ogon) */
.rk-changes-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 40px;
}

.rk-card {
    background: #ffffff;
    border: 1px solid var(--rk-pro-border);
    border-radius: 16px;
    padding: 25px;
    transition: all 0.3s;
}

.rk-card:hover {
    border-color: var(--rk-pro-blue);
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.1);
    transform: translateY(-2px);
}

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

.rk-card h4 {
    margin: 0 0 12px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-pro-dark);
}

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

/* Symulator Kinetyczny (Nowy, profesjonalny dashboard) */
.rk-sim-area {
    background: var(--rk-pro-dark);
    padding: 50px;
    color: #ffffff;
}

.rk-sim-area h3 {
    text-align: center;
    font-size: 24px;
    font-weight: 800;
    margin: 0 0 40px 0;
    color: #f8fafc;
}

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

.rk-sim-controls {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-ctrl-btn {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 20px;
    border-radius: 16px;
    color: #94a3b8;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s;
    font-family: var(--rk-pro-font);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-ctrl-btn:hover {
    background: rgba(255, 255, 255, 0.1);
}

.rk-ctrl-btn.active[data-mat="gres"] {
    background: var(--rk-pro-blue);
    border-color: #38bdf8;
    color: #ffffff;
}

.rk-ctrl-btn.active[data-mat="wood"] {
    background: var(--rk-pro-wood);
    border-color: #fbbf24;
    color: #ffffff;
}

.rk-ctrl-title {
    font-size: 16px;
    font-weight: 800;
    display: block;
}

.rk-ctrl-sub {
    font-size: 12px;
    opacity: 0.8;
    margin-top: 4px;
    display: block;
}

/* Nowoczesne płótno SVG - HUD Dashboard */
.rk-svg-viewport {
    background: #1e293b;
    border-radius: 20px;
    padding: 30px;
    border: 1px solid #334155;
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
}

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

/* Style SVG */
.svg-hud-title { fill: #94a3b8; font-size: 10px; font-weight: 800; font-family: var(--rk-pro-font); letter-spacing: 1px; }
.svg-bar-bg { fill: #334155; }
.svg-bar-flow, .svg-bar-pump { transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1), fill 0.6s; }
.svg-hud-val { fill: #f8fafc; font-size: 16px; font-weight: 900; font-family: monospace; transition: opacity 0.4s; }

.svg-floor { transition: opacity 0.5s; }
.floor-gres { fill: #94a3b8; }
.floor-wood { fill: #b45309; }
.svg-floor-txt { fill: #ffffff; font-size: 10px; font-weight: 800; font-family: var(--rk-pro-font); text-anchor: middle; transition: opacity 0.5s; }
.svg-screed { fill: #475569; }
.pipe-shell { fill: #0f172a; }

.pipe-water-slow, .pipe-water-fast { transition: fill 0.5s; }
.svg-pipes-gres, .svg-pipes-wood { transition: opacity 0.5s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1); }

/* Stany SVG CSS - Gres */
.state-gres .svg-bar-flow { width: 50px; fill: #0ea5e9; }
.state-gres .svg-bar-pump { width: 45px; fill: #10b981; }
.state-gres .val-wood { opacity: 0; }
.state-gres .val-gres { opacity: 1; }
.state-gres .floor-wood { opacity: 0; }
.state-gres .floor-gres { opacity: 1; }
.state-gres .txt-wood { opacity: 0; }
.state-gres .txt-gres { opacity: 1; }
.state-gres .svg-pipes-wood { opacity: 0; transform: translateY(15px); pointer-events: none; }
.state-gres .svg-pipes-gres { opacity: 1; transform: translateY(0); }
.state-gres .pipe-water-slow { fill: #38bdf8; animation: pulseWaterSlow 2.5s infinite alternate; }

/* Stany SVG CSS - Drewno */
.state-wood .svg-bar-flow { width: 130px; fill: #f59e0b; }
.state-wood .svg-bar-pump { width: 115px; fill: #ef4444; }
.state-wood .val-wood { opacity: 1; }
.state-wood .val-gres { opacity: 0; }
.state-wood .floor-wood { opacity: 1; }
.state-wood .floor-gres { opacity: 0; }
.state-wood .txt-wood { opacity: 1; }
.state-wood .txt-gres { opacity: 0; }
.state-wood .svg-pipes-wood { opacity: 1; transform: translateY(0); }
.state-wood .svg-pipes-gres { opacity: 0; transform: translateY(15px); pointer-events: none; }
.state-wood .pipe-water-fast { fill: #ef4444; animation: pulseWaterFast 0.6s infinite alternate; }

@keyframes pulseWaterSlow {
    0% { opacity: 0.6; }
    100% { opacity: 1; }
}

@keyframes pulseWaterFast {
    0% { opacity: 0.4; }
    100% { opacity: 1; }
}

/* Mocne CTA */
.rk-pro-cta {
    padding: 50px;
    text-align: center;
    background: #f8fafc;
    border-top: 1px solid var(--rk-pro-border);
}

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

.rk-pro-cta p {
    font-size: 16px;
    color: var(--rk-pro-slate);
    max-width: 600px;
    margin: 0 auto 30px auto;
    line-height: 1.7;
}

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

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

.rk-btn-solid svg { transition: transform 0.3s; }
.rk-btn-solid:hover svg { transform: translateX(5px); }

@media (max-width: 768px) {
    .rk-pro-content, .rk-sim-area, .rk-pro-cta { padding: 30px 20px; }
    .rk-changes-grid { grid-template-columns: 1fr; margin-top: 30px; }
    .rk-sim-layout { grid-template-columns: 1fr; gap: 30px; }
    .rk-ozc-banner { flex-direction: column; align-items: stretch; border-radius: 16px; border-left: none; border-top: 4px solid var(--rk-pro-blue); padding: 20px; }
    .rk-ozc-stats { justify-content: space-between; }
    .rk-stat-box { flex: 1; padding: 15px 10px; }
    .rk-ctrl-btn { flex-direction: column; align-items: flex-start; gap: 10px; }
    .rk-ctrl-btn svg { align-self: flex-end; }
}
</style>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-pro-container" id="hydro-pro-app">
    
    <!-- Treść Merytoryczna -->
    <div class="rk-pro-content">
        <h2>Jak posadzka drewniana wpływa na projekt hydrauliki?</h2>
        <p>Decyzja o wyborze naturalnego drewna wymusza na inżynierze wykonanie potężnej korekty w obliczeniach OZC. Drewno jest izolatorem (posiada wysoki opór cieplny). Aby utrzymać zadaną temperaturę w pomieszczeniu, musimy tę barierę skompensować poprzez fizyczne <strong>zagęszczenie pętli grzewczych</strong> oraz znaczące przyspieszenie przepływu masowego wody.</p>

        <!-- Baner z Danymi -->
        <div class="rk-ozc-banner">
            <div class="rk-ozc-banner-text">
                <h4>Przykład z praktyki: Dom 150 m²</h4>
                <p>Zmiana decyzji z gresu na parkiet dębowy (przy utrzymaniu stałego parametru zasilania i ΔT = 5 K) diametralnie obciąża układ hydrauliczny. Taka sytuacja wymusza błyskawiczną zmianę modelu pompy obiegowej.</p>
            </div>
            <div class="rk-ozc-stats">
                <div class="rk-stat-box">
                    <span>Gres (Płytki)</span>
                    <strong>1.15 m³/h</strong>
                </div>
                <div class="rk-stat-box highlight">
                    <span>Drewno</span>
                    <strong>1.45 m³/h</strong>
                </div>
            </div>
        </div>

        <!-- Siatka 4 Zmian (Wyeliminowana "dziura", mocny długi ogon) -->
        <div class="rk-changes-grid">
            <div class="rk-card">
                <div class="rk-card-icon">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18"/><path d="M9 21V9"/></svg>
                </div>
                <h4>Zagęszczenie stref</h4>
                <p>Pod dużymi oknami tarasowymi, przy drewnie, <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/">rozstaw rur w strefie brzegowej</a> musi wynosić rygorystyczne <strong>5-10 cm</strong>.</p>
            </div>
            
            <div class="rk-card">
                <div class="rk-card-icon">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"/><path d="M12 8v8"/><path d="M8 12h8"/></svg>
                </div>
                <h4>Dobór rotametrów</h4>
                <p>Rozdzielacz musi posiadać <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametry o zakresie do 5 l/min</a> dla poprawnej obsługi wymagających, gęstych pętli.</p>
            </div>
            
            <div class="rk-card">
                <div class="rk-card-icon">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M4 19V5a2 2 0 0 1 2-2h13.4a.6.6 0 0 1 .6.6v13.8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z"/><path d="M4 15h16"/></svg>
                </div>
                <h4>Korekta OZC</h4>
                <p>W <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczeniach OZC</a> należy obligatoryjnie uwzględnić realną grubość deski oraz użytego kleju elastycznego.</p>
            </div>

            <div class="rk-card">
                <div class="rk-card-icon">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 12A10 10 0 0 0 12 2v10l8.5 5.5"/></svg>
                </div>
                <h4>Długość obwodów i opory</h4>
                <p>Gęstszy rozstaw wymusza użycie znacznie większej ilości rury. Należy pamiętać, że <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">maksymalna długość pętli ogrzewania podłogowego</a> (PEX 16x2.0) to graniczne 80-90 m.</p>
            </div>
        </div>
    </div>

    <!-- Symulator Kinetyczny (Nowy Dashboard) -->
    <div class="rk-sim-area">
        <h3>Symulator Oporu i Obciążenia Pompy</h3>
        
        <div class="rk-sim-layout">
            <!-- Przyciski -->
            <div class="rk-sim-controls" id="proToggles">
                <button class="rk-ctrl-btn active" data-mat="gres">
                    <div>
                        <span class="rk-ctrl-title">Płytki Ceramiczne</span>
                        <span class="rk-ctrl-sub">Standardowy układ (Rozstaw 15cm)</span>
                    </div>
                </button>
                
                <button class="rk-ctrl-btn" data-mat="wood">
                    <div>
                        <span class="rk-ctrl-title">Parkiet Drewniany</span>
                        <span class="rk-ctrl-sub">Zagęszczenie pętli (Rozstaw 10cm)</span>
                    </div>
                </button>
            </div>

            <!-- SVG Płótno HUD -->
            <div class="rk-svg-viewport state-gres" id="proSvgStage">
                <svg class="rk-dynamic-svg" viewBox="0 0 400 160">
                    
                    <!-- Wskaźniki cyfrowe (HUD Górny) -->
                    <g transform="translate(10, 15)">
                        <text class="svg-hud-title" x="0" y="0">WYMAGANY PRZEPŁYW (m³/h)</text>
                        <rect class="svg-bar-bg" x="0" y="8" width="140" height="10" rx="5" />
                        <rect class="svg-bar-flow" x="0" y="8" width="50" height="10" rx="5" />
                        <text class="svg-hud-val val-gres" x="150" y="18">1.15</text>
                        <text class="svg-hud-val val-wood" x="150" y="18">1.45</text>
                    </g>

                    <g transform="translate(210, 15)">
                        <text class="svg-hud-title" x="0" y="0">OBCIĄŻENIE POMPY (%)</text>
                        <rect class="svg-bar-bg" x="0" y="8" width="130" height="10" rx="5" />
                        <rect class="svg-bar-pump" x="0" y="8" width="45" height="10" rx="5" />
                        <text class="svg-hud-val val-gres" x="140" y="18">45%</text>
                        <text class="svg-hud-val val-wood" x="140" y="18">92%</text>
                    </g>

                    <!-- Przekrój podłogi i animacja rur -->
                    <g transform="translate(10, 60)">
                        <!-- Okładzina -->
                        <rect class="svg-floor floor-gres" x="0" y="0" width="380" height="12" rx="2" />
                        <text class="svg-floor-txt txt-gres" x="190" y="9">GRES (OPÓR CIEPLNY: 0.02 m²K/W)</text>
                        
                        <rect class="svg-floor floor-wood" x="0" y="-8" width="380" height="20" rx="2" />
                        <text class="svg-floor-txt txt-wood" x="190" y="6">PARKIET (OPÓR CIEPLNY: 0.10 m²K/W)</text>
                        
                        <!-- Jastrych z rurami -->
                        <rect class="svg-screed" x="0" y="16" width="380" height="50" rx="4" />
                        
                        <!-- Rury GRES (Szeroko) -->
                        <g class="svg-pipes-gres">
                            <circle cx="60" cy="42" r="10" class="pipe-shell" />
                            <circle cx="60" cy="42" r="6" class="pipe-water-slow" />
                            
                            <circle cx="190" cy="42" r="10" class="pipe-shell" />
                            <circle cx="190" cy="42" r="6" class="pipe-water-slow" />
                            
                            <circle cx="320" cy="42" r="10" class="pipe-shell" />
                            <circle cx="320" cy="42" r="6" class="pipe-water-slow" />
                        </g>

                        <!-- Rury WOOD (Zagęszczone) -->
                        <g class="svg-pipes-wood">
                            <circle cx="30" cy="42" r="10" class="pipe-shell" />
                            <circle cx="30" cy="42" r="6" class="pipe-water-fast" />
                            
                            <circle cx="110" cy="42" r="10" class="pipe-shell" />
                            <circle cx="110" cy="42" r="6" class="pipe-water-fast" />
                            
                            <circle cx="190" cy="42" r="10" class="pipe-shell" />
                            <circle cx="190" cy="42" r="6" class="pipe-water-fast" />
                            
                            <circle cx="270" cy="42" r="10" class="pipe-shell" />
                            <circle cx="270" cy="42" r="6" class="pipe-water-fast" />
                            
                            <circle cx="350" cy="42" r="10" class="pipe-shell" />
                            <circle cx="350" cy="42" r="6" class="pipe-water-fast" />
                        </g>
                    </g>
                </svg>
            </div>
        </div>
    </div>

    <!-- Mocne CTA -->
    <div class="rk-pro-cta">
        <h3>Twoja podłoga nie wybaczy błędów szacunkowych</h3>
        <p>Zmiana okładziny na etapie wykończeniowym bez przeliczenia oporów układu to gwarancja niedogrzanych pomieszczeń lub uszkodzonej pompy. Zamów rzetelną dokumentację i śpij spokojnie.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-solid">
            ZAMÓW INŻYNIERSKI 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 12h14M12 5l7 7-7 7"/></svg>
        </a>
    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez H-tagów 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('hydro-pro-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 16px; font-family: sans-serif;">
                    <div style="font-size: 32px; margin-bottom: 15px;">🚫</div>
                    <div style="font-size: 18px; font-weight: 800; margin-bottom: 10px; text-transform: uppercase;">Zablokowano komponent</div>
                    <div style="font-size: 14px; line-height: 1.6; max-width: 500px; margin: 0 auto; color: #94a3b8;">
                        Narzędzie symulacyjne OZC oraz infrastruktura JSON-LD podlegają ścisłej ochronie praw autorskich Projekt-Ogrzewania.pl.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Kinetyka Interfejsu (SVG Dashboard)
    const btns = document.querySelectorAll('#proToggles .rk-ctrl-btn');
    const stage = document.getElementById('proSvgStage');

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Zmiana aktywności
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            
            // Pobranie materiału
            const mat = this.getAttribute('data-mat');
            
            // Aplikacja kinetyki i klas CSS na głównym kontenerze SVG
            if (mat === 'wood') {
                stage.className = 'rk-svg-viewport state-wood';
            } else {
                stage.className = 'rk-svg-viewport state-gres';
            }
        });
    });
});
</script>



<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/"
    },
    "headline": "Studium Przypadku: Optymalizacja podłogówki pod parkiet dębowy (Jasło)",
    "description": "Nadzór inwestorski w Jaśle (165 m2). Zobacz jak dobór deski warstwowej o grubości 15 mm i ograniczenie oporu cieplnego do R=0,10 uratowały instalację.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-10-14",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#dataset-casestudy",
    "name": "Parametry Projektowe OZC - Dom Jasło 2026",
    "description": "Zestawienie parametrów wejściowych i audytowych wykorzystanych do optymalizacji zasilania ogrzewania podłogowego w systemie mokrym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ogrzewanie podłogowe jasło",
      "opór cieplny deski dębowej",
      "deska warstwowa na ogrzewanie podłogowe",
      "system mokry podłogówka",
      "dobór drewna na podłogę grzewczą"
    ],
    "measurementTechnique": "Porównanie oporu cieplnego R [m²K/W] wariantu błędnego (deska lita 22mm) z wariantem optymalnym (deska warstwowa 15mm) pod kątem zgodności z normą PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wariant Inwestora: Lita deska dębowa 22 mm, R > 0.15 m²K/W (ryzyko izolacji).",
        "Korekta Inżynierska: Deska warstwowa 15 mm, R = 0.10 m²K/W (stabilne przekazywanie ciepła)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#webapp-casestudy",
    "name": "Panel Studium Przypadku: Dylemat Wykonawczy",
    "description": "Interaktywny moduł edukacyjny z animacjami SVG obrazujący konsekwencje wyboru niewłaściwej grubości drewna na instalacji płaszczyznowej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript and SVG support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     STYLIZACJA CSS KONTENERA
=========================================== -->
<style>
:root {
    --cs-primary: #0f172a;
    --cs-accent: #0284c7;
    --cs-err: #dc2626; /* Kolor błędu */
    --cs-ok: #059669; /* Kolor sukcesu */
    --cs-bg: #f8fafc;
    --cs-border: #e2e8f0;
    --cs-text: #475569;
}

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

/* ================= HEADER I METRYCZKA ================= */
.cs-header-wrapper {
    background: var(--cs-primary);
    color: #ffffff;
    padding: 40px 50px;
    position: relative;
    overflow: hidden;
}

.cs-header-wrapper::after {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(2, 132, 199, 0.3) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    pointer-events: none;
}

.cs-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #bae6fd;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.cs-header-wrapper h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 25px 0;
    line-height: 1.25;
    color: #ffffff;
    position: relative;
    z-index: 2;
    letter-spacing: -0.5px;
}

.cs-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    position: relative;
    z-index: 2;
}

.cs-stat-box {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 15px 20px;
    border-radius: 12px;
    backdrop-filter: blur(4px);
}

.cs-stat-label {
    display: block;
    font-size: 11px;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 800;
    margin-bottom: 5px;
}

.cs-stat-value {
    display: block;
    font-size: 18px;
    font-weight: 900;
    color: #ffffff;
}

/* ================= OPIS WYZWANIA ================= */
.cs-content-section {
    padding: 45px 50px 30px 50px;
    background: #ffffff;
}

.cs-lead-text {
    font-size: 17px;
    line-height: 1.8;
    color: var(--cs-text);
    margin: 0 0 25px 0;
}

.cs-author-box {
    background: #f0f9ff;
    border-left: 4px solid var(--cs-accent);
    padding: 20px 25px;
    border-radius: 0 12px 12px 0;
    display: flex;
    align-items: center;
    gap: 20px;
}

.cs-author-photo {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #ffffff;
    box-shadow: 0 5px 15px rgba(2, 132, 199, 0.2);
    flex-shrink: 0;
}

.cs-author-box p {
    margin: 0;
    font-size: 15px;
    color: #0c4a6e;
    line-height: 1.6;
}

.cs-author-box strong {
    font-weight: 900;
    color: #0369a1;
}

/* ================= INTERAKTYWNE WYZWANIE (SPLIT CARDS) ================= */
.cs-interactive-section {
    padding: 0 50px 50px 50px;
    background: #ffffff;
}

.cs-interactive-section h3 {
    text-align: center;
    font-size: 22px;
    font-weight: 900;
    color: var(--cs-primary);
    margin: 0 0 30px 0;
}

.cs-split-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}

.cs-split-card {
    border-radius: 16px;
    padding: 30px;
    border: 2px solid var(--cs-border);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    background: #ffffff;
    display: flex;
    flex-direction: column;
}

/* Stan nieaktywny lekko przygaszony */
.cs-split-card:not(.active) {
    opacity: 0.6;
    transform: scale(0.97);
    filter: grayscale(0.5);
}

.cs-split-card:not(.active):hover {
    opacity: 0.9;
    filter: grayscale(0);
}

/* Kolorystyka i aktywacja */
.cs-split-card.error.active {
    border-color: var(--cs-err);
    background: #fef2f2;
    box-shadow: 0 15px 30px rgba(220, 38, 38, 0.15);
    opacity: 1;
    transform: scale(1);
}

.cs-split-card.success.active {
    border-color: var(--cs-ok);
    background: #ecfdf5;
    box-shadow: 0 15px 30px rgba(5, 150, 105, 0.15);
    opacity: 1;
    transform: scale(1);
}

.cs-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

.cs-card-icon {
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px; height: 40px;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.cs-card-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--cs-primary);
    margin: 0;
}

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

.cs-split-card.error .cs-card-desc strong { color: #b91c1c; }
.cs-split-card.success .cs-card-desc strong { color: #047857; }

/* Animowana Wizualizacja SVG w karcie */
.cs-svg-box {
    width: 100%;
    height: 120px;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid rgba(0,0,0,0.05);
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.cs-anim-svg {
    width: 100%;
    height: 100%;
}

/* Animacje SVG */
.sv-pipe { fill: #475569; }
.sv-water { fill: #38bdf8; }

.cs-split-card.error .sv-wood { fill: #78350f; transition: transform 2s; }
.cs-split-card.error.active .sv-wood { transform: perspective(100px) rotateX(5deg); }
.cs-split-card.error .sv-heat { stroke: #ef4444; stroke-width: 4; stroke-linecap: round; opacity: 0; }
.cs-split-card.error.active .sv-heat { animation: heatBlocked 1.5s infinite alternate; }

.cs-split-card.success .sv-wood { fill: #d97706; }
.cs-split-card.success .sv-heat { stroke: #10b981; stroke-width: 4; stroke-linecap: round; opacity: 0; }
.cs-split-card.success.active .sv-heat { animation: heatPass 1.5s infinite linear; }

@keyframes heatBlocked {
    0% { transform: translateY(15px); opacity: 0; stroke-width: 4; }
    100% { transform: translateY(5px); opacity: 0.8; stroke-width: 8; }
}

@keyframes heatPass {
    0% { transform: translateY(15px); opacity: 0; }
    50% { opacity: 0.8; }
    100% { transform: translateY(-15px); opacity: 0; }
}

@media (max-width: 768px) {
    .cs-header-wrapper { padding: 35px 25px; }
    .cs-stats-grid { grid-template-columns: 1fr 1fr; }
    .cs-content-section { padding: 30px 25px 20px 25px; }
    .cs-author-box { flex-direction: column; text-align: center; }
    .cs-interactive-section { padding: 0 25px 30px 25px; }
    .cs-split-container { grid-template-columns: 1fr; }
}
</style>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="case-study-module" id="app-jaslo-case">

    <!-- Header i Metryczka -->
    <div class="cs-header-wrapper">
        <div class="cs-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Case Study z Placu Budowy
        </div>
        <h2>Optymalizacja OZC pod parkiet dębowy</h2>
        <div class="cs-stats-grid">
            <div class="cs-stat-box">
                <span class="cs-stat-label">Termin</span>
                <span class="cs-stat-value">14 Luty 2026</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Lokalizacja</span>
                <span class="cs-stat-value">Jasło</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Powierzchnia</span>
                <span class="cs-stat-value">165 m²</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">System</span>
                <span class="cs-stat-value">Mokry (Jastrych)</span>
            </div>
        </div>
    </div>

    <!-- Treść Opisowa -->
    <div class="cs-content-section">
        <p class="cs-lead-text">Zakończenie nadzoru nad realizacją instalacji dla Pana Filipa obnażyło jedno z największych zagrożeń w <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">projektowaniu nowoczesnych systemów płaszczyznowych</a>. Inwestor zakupił materiał wykończeniowy bez wcześniejszej konsultacji inżynieryjnej dotyczącej oporów cieplnych.</p>
        
        <div class="cs-author-box">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="cs-author-photo" loading="lazy">
            <p><strong>Dziennik Inżyniera:</strong> "Gdy przyjechałem na audyt do Jasła, wyzwaniem nie był sam montaż rur, ale zablokowanie fatalnej decyzji o zastosowaniu grubej na 22 mm dębowej deski litej. Moim zadaniem było przeprojektowanie systemu tak, aby <strong>nie przekroczyć bariery oporu cieplnego R = 0,10 m²K/W.</strong>"</p>
        </div>
    </div>

    <!-- Moduł Interaktywny -->
    <div class="cs-interactive-section">
        <h3>Decyzja, która uratowała posadzkę</h3>
        
        <div class="cs-split-container">
            
            <!-- Karta 1: Błąd (Deska Lita) -->
            <div class="cs-split-card error" id="cs-err-card">
                <div class="cs-card-header">
                    <div class="cs-card-icon">⚠️</div>
                    <h3 class="cs-card-title">Założenie Pierwotne</h3>
                </div>
                <p class="cs-card-desc">
                    Inwestor zaplanował ułożenie <strong>deski litej o grubości 22 mm</strong>. Jej fizyczny opór cieplny (R > 0,15) doprowadziłby do "zduszenia" podłogówki. Pompa ciepła musiałaby tłoczyć wodę o temp. ~45°C, co w krótkim czasie spowodowałoby gwałtowne przesuszenie i pękanie drogiego drewna.
                </p>
                <div class="cs-svg-box">
                    <svg class="cs-anim-svg" viewBox="0 0 200 100">
                        <rect x="0" y="60" width="200" height="40" fill="#cbd5e1" />
                        <circle cx="100" cy="80" r="10" class="sv-pipe" />
                        <circle cx="100" cy="80" r="6" fill="#ef4444" /> <!-- Gorąca woda -->
                        <rect class="sv-wood" x="20" y="20" width="160" height="25" /> <!-- Gruba deska -->
                        <path class="sv-heat" d="M80,60 Q100,40 80,20" fill="none" />
                        <path class="sv-heat" d="M120,60 Q100,40 120,20" fill="none" />
                    </svg>
                </div>
            </div>

            <!-- Karta 2: Sukces (Deska Warstwowa) -->
            <div class="cs-split-card success active" id="cs-ok-card">
                <div class="cs-card-header">
                    <div class="cs-card-icon">✅</div>
                    <h3 class="cs-card-title">Korekta Inżynierska</h3>
                </div>
                <p class="cs-card-desc">
                    Wymusiłem zmianę na <strong>dębową deskę warstwową (15 mm)</strong>. Ten jeden manewr obniżył <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">opór cieplny do optymalnego R = 0,10 m²K/W</a>. W połączeniu z zagęszczonym rozstawem rur zagwarantowaliśmy perfekcyjne oddawanie mocy przy niskiej, bezpiecznej dla drewna temperaturze zasilania.
                </p>
                <div class="cs-svg-box">
                    <svg class="cs-anim-svg" viewBox="0 0 200 100">
                        <rect x="0" y="60" width="200" height="40" fill="#cbd5e1" />
                        <!-- Gęsty rozstaw rur -->
                        <circle cx="60" cy="80" r="10" class="sv-pipe" />
                        <circle cx="60" cy="80" r="6" class="sv-water" />
                        <circle cx="140" cy="80" r="10" class="sv-pipe" />
                        <circle cx="140" cy="80" r="6" class="sv-water" />
                        
                        <rect class="sv-wood" x="20" y="40" width="160" height="15" /> <!-- Cienka deska -->
                        <!-- Płynące fale ciepła -->
                        <path class="sv-heat" d="M60,50 Q60,30 60,10" fill="none" />
                        <path class="sv-heat" d="M100,50 Q100,30 100,10" fill="none" style="animation-delay: 0.3s;" />
                        <path class="sv-heat" d="M140,50 Q140,30 140,10" fill="none" style="animation-delay: 0.6s;" />
                    </svg>
                </div>
            </div>

        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie domenowe (bez H-tagów)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-jaslo-case');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 25px; text-align: center; background: #0f172a; color: #ef4444; border-radius: 24px; border: 1px solid #dc2626;">
                    <span style="font-size: 32px; display: block; margin-bottom: 10px;">🔒</span>
                    <div style="margin: 0 0 10px 0; font-size: 18px; font-weight: 900; text-transform: uppercase;">Zablokowano komponent</div>
                    <p style="font-size: 14px; margin-bottom: 15px; color: #94a3b8;">Narzędzie analityczne i dane JSON-LD należą do Projekt-Ogrzewania.pl. Brak licencji dla obecnej domeny.</p>
                </div>
            `;
            return;
        }
    }

    // 2. Logika przełączania kart (Interaktywność)
    const cardErr = document.getElementById('cs-err-card');
    const cardOk = document.getElementById('cs-ok-card');

    function toggleCards(activeCard, inactiveCard) {
        activeCard.classList.add('active');
        inactiveCard.classList.remove('active');
    }

    if (cardErr && cardOk) {
        cardErr.addEventListener('click', () => toggleCards(cardErr, cardOk));
        cardOk.addEventListener('click', () => toggleCards(cardOk, cardErr));
    }
});
</script>



<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#article-podsumowanie-eksperta",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/"
    },
    "headline": "Podsumowanie Inwestycyjne: Drewno na ogrzewaniu podłogowym",
    "description": "Finałowe zalecenia inżynierskie: wybór deski warstwowej 14-15 mm, kleju silanowego i zachowanie oporu R=0,10 m2K/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/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-10-14",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Quotation",
    "license": "https://projekt-ogrzewania.pl/",
    "text": "Decyzja o drewnie na ogrzewaniu podłogowym to balans między fizyką a estetyką. Jako inżynier z tysiącem projektów na koncie, radzę: wybierz dębową deskę warstwową o grubości 14-15 mm, zleć montaż na kleju silanowym i dopilnuj, aby projektant instalacji uwzględnił opór cieplny R=0,10 m2K/W. Tylko takie podejście zagwarantuje, że Twoje rachunki za gaz czy prąd do pompy ciepła nie wzrosną, a podłoga będzie wyglądać idealnie przez dekady.",
    "spokenByCharacter": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "Inżynier HVAC & CEO",
      "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/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#dataset-podsumowanie-eksperta",
    "name": "Parametry Docelowe dla Podłogi Drewnianej",
    "description": "Zestawienie optymalnych wartości brzegowych dla okładziny drewnianej zapewniających wydajną i bezawaryjną pracę pompy ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podsumowanie parametrów drewna na podłogówkę",
      "opór cieplny deski R=0.10",
      "grubość deski warstwowej 15mm",
      "klej silanowy na ogrzewanie podłogowe",
      "koszty ogrzewania przy drewnie"
    ],
    "measurementTechnique": "Wskazania inżynierskie oparte na bilansie energetycznym budynku, optymalizacji kosztów eksploatacji i normach posadzkarskich.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Optymalna grubość deski warstwowej: 14-15 mm",
        "Zalecany opór cieplny R: 0.10 m2K/W",
        "Wymagana chemia: Trwale elastyczny klej silanowy"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#webapp-podsumowanie-eksperta",
    "name": "Dekalog Inwestora: Podsumowanie",
    "description": "Interaktywny moduł z cytatem podsumowującym, pozwalający użytkownikowi rozwinąć i przeanalizować twarde wartości techniczne wynikające z artykułu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     STYLIZACJA CSS KONTENERA
=========================================== -->
<style>
:root {
    --rk-quote-primary: #0f172a;
    --rk-quote-accent: #b45309; /* Ciepły odcień drewna/bursztynu */
    --rk-quote-accent-light: #fffbeb;
    --rk-quote-danger: #ef4444;
    --rk-quote-bg: #fafaf9;
    --rk-quote-border: #e7e5e4;
}

.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 h2 {
    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(180, 83, 9, 0.15);
    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), #f59e0b);
}

.rk-expert-container::after {
    content: '”';
    position: absolute;
    top: -20px;
    right: 20px;
    font-family: Georgia, 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 12s 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(180, 83, 9, 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: 6px 14px;
    border-radius: 20px;
}

.rk-expert-text {
    font-size: 17px;
    line-height: 1.8;
    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;
    background: rgba(180, 83, 9, 0.08);
    padding: 2px 4px;
    border-radius: 4px;
}

.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: #78716c;
    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: 800;
    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 #d6d3d1;
    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);
    border: 1px solid var(--rk-quote-border);
}

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

.rk-data-lab {
    font-size: 11px;
    color: #78716c;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 0.5px;
}

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

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-expert-wrapper" id="rk-expert-summary-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.5" 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><line x1="8" y1="2" x2="8" y2="5"></line><line x1="16" y1="2" x2="16" y2="5"></line></svg>
        <h2>Moim zdaniem</h2>
    </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.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></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"><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>
                Złota Reguła Inwestycyjna
            </span>
            <p class="rk-expert-text">
                "Decyzja o drewnie na ogrzewaniu podłogowym to balans między fizyką a estetyką. Jako inżynier z tysiącem projektów na koncie, radzę: wybierz dębową deskę warstwową o grubości <strong>14-15 mm</strong>, zleć montaż na <strong>kleju silanowym</strong> i dopilnuj, aby projektant instalacji uwzględnił opór cieplny <strong>R=0,10 m²K/W</strong>. Tylko takie podejście zagwarantuje, że Twoje rachunki za gaz czy prąd do pompy ciepła nie wzrosną, a podłoga będzie wyglądać idealnie przez dekady. Pamiętaj: montaż drewna na „podłogówkę” to proces technologiczny, a nie tylko układanie klocków – tutaj liczy się każdy 1% wilgotności i każdy 1 mm grubości."
            </p>
            <span class="rk-expert-signature">— Robert Kucharski, CEO & Inżynier Projekt-Ogrzewania.pl</span>
            
            <div class="rk-expert-interactive">
                <button class="rk-expert-btn" id="toggleSummaryBtn">
                    Wyświetl kluczowe parametry
                    <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="expertSummaryPanel">
                    <div class="rk-data-stat">
                        <span class="rk-data-val">14-15 mm</span>
                        <span class="rk-data-lab">Optymalna grubość deski</span>
                    </div>
                    <div class="rk-data-stat">
                        <span class="rk-data-val" style="color: var(--rk-quote-primary);">0.10</span>
                        <span class="rk-data-lab">Wymagany Opór R [m²K/W]</span>
                    </div>
                    <div class="rk-data-stat">
                        <span class="rk-data-val">Silanowy</span>
                        <span class="rk-data-lab">Rekomendowany Klej</span>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <noscript>
        <div style="padding: 20px; background: #fafaf9; border-radius: 16px; margin-top: 20px; font-family: sans-serif; border: 1px solid #e7e5e4;">
            <p style="font-size: 14px; font-weight: bold; color: #0f172a; margin-top:0;">Kluczowe parametry dla inwestora:</p>
            <ul style="font-size: 14px; color: #475569; margin-bottom:0;">
                <li>Optymalna grubość deski warstwowej: 14-15 mm</li>
                <li>Zalecany opór cieplny (R): 0.10 m2K/W</li>
                <li>Rekomendowana chemia montażowa: elastyczny klej silanowy</li>
            </ul>
        </div>
    </noscript>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE (DOMAIN LOCK)
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez nagłówków H2/H3/H4 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-expert-summary-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>
            `;
            // Usuwamy resztę styli z kontenera by nie zepsuć wyglądu komunikatu
            container.style.borderLeft = 'none';
            container.style.background = 'transparent';
            container.style.boxShadow = 'none';
            return;
        }
    }

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

    if (toggleBtn && dataPanel) {
        toggleBtn.addEventListener('click', function() {
            this.classList.toggle('active');
            dataPanel.classList.toggle('active');
            
            if(this.classList.contains('active')) {
                this.innerHTML = `Zwiń parametry <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 = `Wyświetl kluczowe parametry <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>



<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy mogę położyć deskę litą o grubości 22 mm na ogrzewanie podłogowe?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie zaleca się tego, ponieważ opór cieplny tak grubej deski przekracza 0,15 m²K/W, co drastycznie obniża wydajność systemu i powoduje ryzyko dużych szczelin. Bezpieczną alternatywą jest deska warstwowa o grubości do 15 mm."
        }
      },
      {
        "@type": "Question",
        "name": "Jak długo należy aklimatyzować drewno przed montażem?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Drewno powinno przebywać w pomieszczeniu docelowym przez minimum 72 godziny, w paczkach, przy wyłączonym ogrzewaniu podłogowym. Wilgotność powietrza w tym czasie musi wynosić 45-55%, a temperatura ok. 20°C."
        }
      },
      {
        "@type": "Question",
        "name": "Czy ogrzewanie podłogowe niszczy parkiet?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Prawidłowo zaprojektowane i wykonane ogrzewanie (temp. powierzchni do 27°C) nie niszczy drewna, a wręcz stabilizuje jego wilgotność. Problemy pojawiają się jedynie przy gwałtownych zmianach temperatury lub zbyt wysokiej wilgotności jastrychu."
        }
      },
      {
        "@type": "Question",
        "name": "Który klej wybrać pod drewno na podłogówkę?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Najlepszym wyborem są jednoskładnikowe kleje silanowe (MS Polimer), które są trwale elastyczne i nie zawierają wody ani rozpuszczalników. Koszt takiego kleju to ok. 25-35 PLN/kg, a zużycie wynosi ok. 1-1,2 kg/m²."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/"
    },
    "headline": "FAQ – Najczęstsze pytania inwestorów o drewno na podłogówce",
    "description": "Baza wiedzy inżynierskiej w pigułce: aklimatyzacja, grubość deski litej, mity o niszczeniu parkietu oraz wybór kleju MS Polimer.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-10-14",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#dataset-faq",
    "name": "Specyfikacja Montażowo-Eksploatacyjna Podłogi Drewnianej",
    "description": "Zbiór kluczowych wartości liczbowych niezbędnych do prawidłowej adaptacji drewna i chemii budowlanej do pracy z instalacją grzewczą.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "aklimatyzacja drewna podłogowego",
      "deska lita 22mm opór",
      "klej silanowy do parkietu zużycie",
      "maksymalna temperatura podłogi 27",
      "wilgotność powietrza drewno"
    ],
    "measurementTechnique": "Określenie parametrów brzegowych środowiska (temperatura, wilgotność, czas) dla bezpiecznej integracji drewna z wylewką grzewczą.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Limit grubości deski litej: do 15mm (nie zaleca się 22mm).",
        "Parametry aklimatyzacji: 72h / 20°C / 45-55% wilgotności.",
        "Klej MS Polimer: koszt 25-35 PLN/kg, zużycie 1.0-1.2 kg/m²."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#webapp-faq",
    "name": "Interaktywny Panel FAQ",
    "description": "Dynamiczny komponent akordeonowy pozwalający na skanowanie i eksplorację wiedzy inżynierskiej poprzez interakcję z poszczególnymi elementami list.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and CSS Grid support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     STYLIZACJA CSS KONTENERA
=========================================== -->
<style>
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;700;800;900&display=swap');

:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-slate: #334155;
    --rk-faq-blue: #0284c7;
    --rk-faq-blue-light: #f0f9ff;
    --rk-faq-amber: #d97706;
    --rk-faq-amber-light: #fffbeb;
    --rk-faq-bg: #ffffff;
    --rk-faq-border: #e2e8f0;
    --rk-faq-font: 'Plus Jakarta Sans', system-ui, sans-serif;
}

.rk-faq-wrapper {
    max-width: 950px;
    margin: 50px auto;
    font-family: var(--rk-faq-font);
    background: var(--rk-faq-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-faq-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-faq-header {
    background: var(--rk-faq-dark);
    padding: 40px 50px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-faq-header::before {
    content: '?';
    position: absolute;
    top: -20px;
    left: 20px;
    font-size: 150px;
    font-weight: 900;
    color: rgba(255,255,255,0.03);
    line-height: 1;
    pointer-events: none;
}

.rk-faq-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(56, 189, 248, 0.15);
    color: #38bdf8;
    padding: 6px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(56, 189, 248, 0.2);
}

.rk-faq-header h2 {
    font-size: 32px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 10px 0;
    position: relative;
    z-index: 2;
    letter-spacing: -0.5px;
}

.rk-faq-header p {
    font-size: 16px;
    color: #94a3b8;
    margin: 0;
    position: relative;
    z-index: 2;
}

/* Lista Akordeonu */
.rk-faq-container {
    padding: 30px 40px 50px;
    background: #ffffff;
}

.rk-faq-item {
    margin-bottom: 15px;
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    background: #ffffff;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.rk-faq-item:hover {
    border-color: #bae6fd;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.05);
}

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

/* Pytanie (Przycisk) */
.rk-faq-question {
    width: 100%;
    text-align: left;
    padding: 25px 30px;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 20px;
    position: relative;
}

.rk-faq-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    background: var(--rk-faq-blue-light);
    color: var(--rk-faq-blue);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
}

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

.rk-faq-q-text {
    flex-grow: 1;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-faq-dark);
    margin: 0;
    line-height: 1.4;
    transition: color 0.3s;
}

.rk-faq-item.active .rk-faq-q-text {
    color: var(--rk-faq-blue);
}

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

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

/* Odpowiedź (Rozwijana zawartość) */
.rk-faq-answer {
    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 {
    grid-template-rows: 1fr;
}

.rk-faq-inner {
    overflow: hidden;
}

.rk-faq-content {
    padding: 0 30px 30px 84px; /* Wyrównanie do tekstu pytania, ominięcie ikony */
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-faq-slate);
}

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

/* Elementy wyróżnione w odpowiedziach */
.rk-faq-warning {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fef2f2;
    color: #dc2626;
    padding: 4px 10px;
    border-radius: 6px;
    font-weight: 800;
    font-size: 13px;
    margin-bottom: 8px;
    border: 1px solid #fecaca;
}

.rk-faq-data-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
}

.rk-faq-pill {
    background: var(--rk-faq-bg);
    border: 1px solid var(--rk-faq-border);
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-faq-dark);
    display: flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-faq-pill svg {
    color: var(--rk-faq-blue);
}

@media (max-width: 768px) {
    .rk-faq-header { padding: 35px 25px; }
    .rk-faq-container { padding: 25px 20px 40px; }
    .rk-faq-question { padding: 20px; gap: 15px; }
    .rk-faq-icon { width: 36px; height: 36px; }
    .rk-faq-q-text { font-size: 16px; }
    .rk-faq-content { padding: 0 20px 25px 20px; } /* Usunięto mocne wcięcie na mobilkach */
}
</style>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-faq-wrapper" id="expert-faq-app">
    
    <div class="rk-faq-header">
        <div class="rk-faq-badge">Baza Wiedzy</div>
        <h2>Najczęstsze pytania o drewno na podłogówce</h2>
        <p>Rozwiewamy mity i dostarczamy twardych, inżynierskich faktów.</p>
    </div>

    <div class="rk-faq-container">
        
        <!-- Pytanie 1 -->
        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                <div class="rk-faq-icon">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18"/><path d="M9 21V9"/></svg>
                </div>
                <h3 class="rk-faq-q-text">Czy mogę położyć deskę litą o grubości 22 mm na ogrzewanie podłogowe?</h3>
                <svg class="rk-faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-inner">
                    <div class="rk-faq-content">
                        <span class="rk-faq-warning"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><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"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg> Nie zaleca się</span><br>
                        Absolutnie nie zaleca się takiego rozwiązania. Opór cieplny tak grubej deski litej z reguły <strong>przekracza 0,15 m²K/W</strong>, co drastycznie obniża wydajność całego systemu grzewczego. Pompa ciepła pracuje na skrajnych obrotach, co generuje koszty. Co gorsza, jednostronne oddziaływanie wysokiej temperatury powoduje ryzyko powstawania potężnych szczelin i zjawiska zwanego łódkowaniem.<br><br>
                        <strong>Rekomendacja inżynierska:</strong> Bezpieczną, wysoce stabilną alternatywą jest <strong>deska warstwowa o grubości do 15 mm</strong>.
                    </div>
                </div>
            </div>
        </div>

        <!-- Pytanie 2 -->
        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                <div class="rk-faq-icon">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
                </div>
                <h3 class="rk-faq-q-text">Jak długo należy aklimatyzować drewno przed montażem?</h3>
                <svg class="rk-faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-inner">
                    <div class="rk-faq-content">
                        Drewno jest higroskopijne i musi wyrównać wilgotność z otoczeniem. Należy je pozostawić w pomieszczeniu docelowym przez <strong>minimum 72 godziny</strong>. Co ważne: paczki z drewnem pozostają zamknięte (chyba że producent rygorystycznie zaleca inaczej), a <strong>ogrzewanie podłogowe musi być w tym czasie całkowicie wyłączone</strong>.
                        
                        <div class="rk-faq-data-pills">
                            <div class="rk-faq-pill">
                                <svg width="16" height="16" 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"/></svg>
                                Temp. pow.: ~20°C
                            </div>
                            <div class="rk-faq-pill">
                                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"/></svg>
                                Wilgotność: 45-55%
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <!-- Pytanie 3 -->
        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                <div class="rk-faq-icon">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z"/></svg>
                </div>
                <h3 class="rk-faq-q-text">Czy ogrzewanie podłogowe niszczy parkiet?</h3>
                <svg class="rk-faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-inner">
                    <div class="rk-faq-content">
                        To powielany mit z lat 90. Prawidłowo zaprojektowane i wyregulowane ogrzewanie, które utrzymuje temperaturę powierzchni <strong>do 27°C (zgodnie z normą PN-EN 1264)</strong>, absolutnie nie niszczy drewna, a wręcz stabilizuje jego zimową wilgotność. 
                        <br><br>
                        Poważne problemy, pęknięcia i zrywanie kleju pojawiają się tylko przy gwałtownych zmianach temperatury (szok termiczny) lub w sytuacji, gdy drewno układane jest na <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">niedosuszonym jastrychu</a> (powyżej 1,8% CM).
                    </div>
                </div>
            </div>
        </div>

        <!-- Pytanie 4 -->
        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                <div class="rk-faq-icon">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>
                </div>
                <h3 class="rk-faq-q-text">Który klej wybrać pod drewno na podłogówkę?</h3>
                <svg class="rk-faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-inner">
                    <div class="rk-faq-content">
                        Nie wolno tu oszczędzać. Najlepszym, inżynieryjnym wyborem są <strong>jednoskładnikowe kleje silanowe (MS Polimer)</strong>. Są one trwale elastyczne (kompensują zjawiska rozszerzalności cieplnej) i całkowicie pozbawione wody oraz rozpuszczalników, które mogłyby wniknąć w drewno podczas wiązania.
                        
                        <div class="rk-faq-data-pills">
                            <div class="rk-faq-pill">
                                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="12" y1="1" x2="12" y2="23"/><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>
                                Koszt rynkowy: ok. 25-35 PLN/kg
                            </div>
                            <div class="rk-faq-pill">
                                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18"/><path d="M9 21V9"/></svg>
                                Normatywne zużycie: 1.0 - 1.2 kg/m²
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE (DOMAIN LOCK)
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez nagłówków semantycznych H-tag 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('expert-faq-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;">Moduł FAQ oraz zaszyte w nim dane Schema.org (JSON-LD) są własnością Projekt-Ogrzewania.pl. Użycie zabronione.</div>
                </div>
            `;
            // Usuwamy resztę styli z kontenera by nie zepsuć wyglądu komunikatu
            container.style.background = 'transparent';
            container.style.boxShadow = 'none';
            container.style.border = 'none';
            return;
        }
    }

    // 2. Interakcja Akordeonu
    const faqItems = document.querySelectorAll('#expert-faq-app .rk-faq-item');

    faqItems.forEach(item => {
        const btn = item.querySelector('.rk-faq-question');
        
        btn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');
            
            // Opcjonalnie: Zamykanie pozostałych otwartych
            faqItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.rk-faq-question').setAttribute('aria-expanded', 'false');
            });
            
            // Otwieranie/Zamykanie klikniętego
            if (!isActive) {
                item.classList.add('active');
                btn.setAttribute('aria-expanded', 'true');
            }
        });
    });
    
    // Otwarcie pierwszego pytania na start
    if (faqItems.length > 0) {
        faqItems[0].classList.add('active');
        faqItems[0].querySelector('.rk-faq-question').setAttribute('aria-expanded', 'true');
    }
});
</script>



<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/"
    },
    "headline": "Podsumowanie dla Inwestora – Drewno na Ogrzewaniu Podłogowym",
    "description": "Zestawienie kluczowych parametrów: grubość 14-15 mm, klej silanowy i opór cieplny R=0,10 m2K/W jako gwarancja wydajnej podłogówki z dębową deską warstwową.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-10-14",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#dataset-podsumowanie",
    "name": "Parametry Fizyczne i Termiczne: Deska Warstwowa vs Lita",
    "description": "Porównanie oporu cieplnego, ryzyka odkształceń oraz doboru chemii parkieciarskiej dla systemów płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "opór cieplny R=0,10",
      "dębowa deska warstwowa",
      "klej silanowy do drewna",
      "grubość deski 14-15 mm",
      "wilgotność jastrychu pod drewno"
    ],
    "measurementTechnique": "Analiza higroskopijna oraz obliczenia oporu cieplnego R [m2K/W] wg normy PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Standard Inżynierski: Deska warstwowa 15mm, klej elastyczny silanowy, opór poniżej 0,10 m2K/W.",
        "Ryzyko Amatorskie: Deska lita 22mm, klej rozpuszczalnikowy, wysoki opór cieplny i łódkowanie."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#webapp-podsumowanie",
    "name": "Symulator Pracy Drewna na Ogrzewaniu Podłogowym",
    "description": "Narzędzie interaktywne ilustrujące zachowanie różnych typów drewna i chemii montażowej pod wpływem cyklów termicznych z instalacji OZC.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5 and SVG support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     STYLIZACJA CSS KONTENERA
=========================================== -->
<style>
:root {
    --rk-wood-dark: #291002;
    --rk-wood-primary: #b45309;
    --rk-wood-light: #fffbeb;
    --rk-wood-border: #fcd34d;
    --rk-sum-green: #059669;
    --rk-sum-green-light: #d1fae5;
    --rk-sum-red: #dc2626;
    --rk-sum-red-light: #fee2e2;
    --rk-sum-gray: #475569;
    --rk-sum-bg: #ffffff;
}

.rk-wood-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-sum-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(180, 83, 9, 0.15);
    border: 1px solid var(--rk-wood-border);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-wood-header {
    padding: 50px 40px 40px;
    background: linear-gradient(145deg, var(--rk-wood-dark) 0%, #451a03 100%);
    color: #ffffff;
    text-align: center;
    position: relative;
    border-bottom: 4px solid var(--rk-wood-primary);
}

.rk-wood-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(180, 83, 9, 0.4);
    color: #fde68a;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 25px;
    border: 1px solid rgba(253, 230, 138, 0.3);
}

.rk-wood-quote-box {
    position: relative;
    max-width: 750px;
    margin: 0 auto;
}

.rk-wood-quote-box h2 {
    color: #ffffff;
    font-size: 28px;
    font-weight: 900;
    margin-bottom: 20px;
    letter-spacing: -0.5px;
}

.rk-wood-quote-text {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.6;
    color: #fef3c7;
    margin: 0 0 20px 0;
    font-style: italic;
}

.rk-wood-author {
    font-size: 14px;
    color: #d6d3d1;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
}

.rk-wood-author span { color: var(--rk-wood-primary); }

/* Interaktywny Symulator Decyzji */
.rk-wood-interactive {
    padding: 45px 50px;
    background: #fafaf9;
}

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

.rk-decision-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 35px;
}

.rk-decision-btn {
    padding: 20px;
    border-radius: 16px;
    border: 2px solid #e7e5e4;
    background: #ffffff;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 15px;
    text-align: left;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}

.rk-decision-btn:hover { border-color: var(--rk-wood-primary); transform: translateY(-2px); }

.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(5, 150, 105, 0.2);
}

.rk-decision-btn.active[data-choice="amateur"] {
    background: var(--rk-sum-red-light);
    border-color: var(--rk-sum-red);
    box-shadow: 0 10px 20px -5px rgba(220, 38, 38, 0.2);
}

.rk-decision-icon {
    width: 54px;
    height: 54px;
    flex-shrink: 0;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f4;
    color: var(--rk-sum-gray);
    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-text h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-wood-dark);
    margin: 0 0 5px 0;
}

.rk-decision-text p {
    font-size: 13px;
    color: var(--rk-sum-gray);
    margin: 0;
    line-height: 1.4;
}

/* Wynik symulacji (Dynamiczny) */
.rk-sim-result {
    display: flex;
    gap: 35px;
    align-items: center;
    padding: 35px;
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #e7e5e4;
    position: relative;
    overflow: hidden;
}

.rk-anim-container {
    flex-shrink: 0;
    width: 140px;
    height: 140px;
}

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

/* Animacje SVG dla PRO (Drewno Warstwowe) */
.state-pro .board-layer-1 { fill: #d97706; transition: fill 0.5s; }
.state-pro .board-layer-2 { fill: #b45309; transition: fill 0.5s; }
.state-pro .board-layer-3 { fill: #92400e; transition: fill 0.5s; }
.state-pro .heat-wave { stroke: #10b981; animation: heatRise 2s infinite linear; opacity: 0.8; }
.state-pro .crack { opacity: 0; transition: opacity 0.3s; }

/* Animacje SVG dla AMATOR (Deska Lita) */
.state-amateur .board-layer-1, .state-amateur .board-layer-2, .state-amateur .board-layer-3 { 
    fill: #78350f; transition: fill 0.5s; 
    animation: woodWarp 3s forwards ease-in-out; 
    transform-origin: center;
}
.state-amateur .heat-wave { stroke: #ef4444; animation: heatBlocked 1s infinite alternate; }
.state-amateur .crack { stroke: #451a03; stroke-width: 3; opacity: 1; stroke-dasharray: 50; animation: crackDraw 1s forwards ease-out; }

@keyframes heatRise {
    0% { transform: translateY(10px); opacity: 0; }
    50% { opacity: 1; }
    100% { transform: translateY(-20px); opacity: 0; }
}

@keyframes heatBlocked {
    0% { transform: translateY(15px); opacity: 0.8; stroke-width: 4px; }
    100% { transform: translateY(5px); opacity: 1; stroke-width: 6px; }
}

@keyframes woodWarp {
    0% { transform: scaleY(1) rotate(0deg); }
    100% { transform: scaleY(1.2) translateY(-10px) rotate(-2deg); }
}

@keyframes crackDraw {
    0% { stroke-dashoffset: 50; }
    100% { stroke-dashoffset: 0; }
}

.rk-result-content h4 {
    margin: 0 0 12px 0;
    font-size: 22px;
    font-weight: 900;
}

.rk-result-content p {
    margin: 0 0 15px 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-sum-gray);
}

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

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

/* Mocne CTA */
.rk-wood-cta {
    padding: 40px 50px 50px;
    background: #ffffff;
    text-align: center;
    border-top: 1px solid #f5f5f4;
}

.rk-wood-cta h3 {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-wood-dark);
    margin: 0 0 15px 0;
}

.rk-wood-cta p {
    font-size: 16px;
    color: var(--rk-sum-gray);
    margin: 0 auto 30px auto;
    max-width: 650px;
    line-height: 1.6;
}

.rk-btn-wood {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-wood-primary);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 45px;
    border-radius: 14px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(180, 83, 9, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-btn-wood:hover {
    transform: translateY(-4px);
    background: #92400e;
    box-shadow: 0 15px 35px -5px rgba(180, 83, 9, 0.5);
}

.rk-btn-wood svg { transition: transform 0.3s; }
.rk-btn-wood:hover svg { transform: translateX(6px); }

/* Responsywność */
@media (max-width: 768px) {
    .rk-wood-header, .rk-wood-interactive, .rk-wood-cta { padding: 35px 25px; }
    .rk-decision-wrapper { grid-template-columns: 1fr; }
    .rk-sim-result { flex-direction: column; text-align: center; padding: 25px; gap: 20px; }
    .rk-wood-quote-text { font-size: 17px; }
    .rk-btn-wood { width: 100%; padding: 16px 20px; font-size: 15px; }
}
</style>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-wood-container" id="drewno-sum-app">
    <!-- Nagłówek -->
    <div class="rk-wood-header">
        <div class="rk-wood-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 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path></svg>
            Podsumowanie Inżynierskie
        </div>
        <div class="rk-wood-quote-box">
            <h2>Balans między fizyką a estetyką</h2>
            <p class="rk-wood-quote-text">
                "Jako inżynier z tysiącem projektów na koncie, radzę: wybierz dębową deskę warstwową o grubości 14-15 mm i dopilnuj, aby projektant uwzględnił opór cieplny R=0,10 m2K/W. Tutaj liczy się każdy 1% wilgotności i każdy 1 mm grubości."
            </p>
            <div class="rk-wood-author">
                <span>Robert Kucharski</span> | CEO Ogrzewanie Podłogowe
            </div>
        </div>
    </div>

    <!-- Symulator Standardu -->
    <div class="rk-wood-interactive">
        <h3>Symulator Zgodności OZC i Posadzki</h3>
        <div class="rk-decision-wrapper" id="woodSimDecisions">
            <button class="rk-decision-btn active" data-choice="pro">
                <div class="rk-decision-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                </div>
                <div class="rk-decision-text">
                    <h4>Standard Projektowy</h4>
                    <p>Deska warstwowa 15mm + klej silanowy</p>
                </div>
            </button>
            <button class="rk-decision-btn" data-choice="amateur">
                <div class="rk-decision-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
                </div>
                <div class="rk-decision-text">
                    <h4>Wybór Ryzykowny</h4>
                    <p>Deska lita 22mm + tani klej</p>
                </div>
            </button>
        </div>

        <div class="rk-sim-result state-pro" id="woodSimResultBox">
            <div class="rk-anim-container">
                <svg class="rk-anim-svg" viewBox="0 0 100 100">
                    <!-- Rurka podłogówki -->
                    <circle cx="50" cy="85" r="8" fill="none" stroke="#ef4444" stroke-width="4" />
                    <!-- Fale ciepła -->
                    <path class="heat-wave wave-1" d="M35,70 Q25,50 35,30 T35,-10" fill="none" stroke-width="3" stroke-linecap="round"/>
                    <path class="heat-wave wave-2" d="M50,70 Q40,50 50,30 T50,-10" fill="none" stroke-width="3" stroke-linecap="round" style="animation-delay: 0.5s;"/>
                    <path class="heat-wave wave-3" d="M65,70 Q55,50 65,30 T65,-10" fill="none" stroke-width="3" stroke-linecap="round" style="animation-delay: 1s;"/>
                    
                    <!-- Struktura deski warstwowej -->
                    <g class="board-structure">
                        <rect class="board-layer-3" x="10" y="45" width="80" height="5" rx="1" />
                        <rect class="board-layer-2" x="10" y="38" width="80" height="6" rx="1" />
                        <rect class="board-layer-1" x="10" y="30" width="80" height="7" rx="1" />
                        <!-- Pęknięcie (domyślnie ukryte) -->
                        <path class="crack" d="M45,30 L50,35 L48,40 L52,45" fill="none" />
                    </g>
                </svg>
            </div>
            <div class="rk-result-content" id="woodSimResultContent">
                <h4 style="color: var(--rk-sum-green);">Idealny transfer ciepła</h4>
                <p>Zastosowanie <strong>dębowej deski warstwowej 14-15 mm</strong> i kleju silanowego gwarantuje, że opór cieplny nie przekroczy bezpiecznych <strong>R=0,10 m2K/W</strong>.</p>
                <p>Ciepło płynnie przenika przez materiał. To gwarantuje stabilne rachunki i <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">maksymalną wydajność instalacji podłogowej</a> przez dekady użytkowania.</p>
            </div>
        </div>
    </div>

    <!-- Mocne CTA -->
    <div class="rk-wood-cta">
        <h3>Nie ryzykuj błędów przy montażu na drewnie</h3>
        <p>Montaż drewna na systemach płaszczyznowych wymaga nie tylko dobrej deski, ale precyzyjnie dobranych parametrów hydraulicznych. Zainwestuj w profesjonalny projekt i zyskaj 100% pewności.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-wood">
            ZOBACZ NASZ BLOG
            <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 12h14M12 5l7 7-7 7"/></svg>
        </a>
    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez nagłówków semantycznych)
    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('drewno-sum-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 45px 30px; text-align: center; background: #291002; color: #fca5a5; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 20px;">🔒</div>
                    <div style="font-size: 20px; font-weight: 900; margin-bottom: 12px; text-transform: uppercase;">Ochrona Praw Autorskich</div>
                    <div style="font-size: 15px; color: #fcd34d; max-width: 550px; margin: 0 auto; line-height: 1.6;">
                        Kontener interaktywny i warstwa danych JSON-LD są własnością Projekt-Ogrzewania.pl. Użycie tego kodu na obecnej domenie jest nieautoryzowane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora Decyzji Drewna
    const btns = document.querySelectorAll('#woodSimDecisions .rk-decision-btn');
    const resultBox = document.getElementById('woodSimResultBox');
    const resultContent = document.getElementById('woodSimResultContent');

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Zmiana aktywnych przycisków
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            const choice = this.getAttribute('data-choice');

            // Aktualizacja wizualizacji i treści
            if (choice === 'pro') {
                resultBox.className = 'rk-sim-result state-pro';
                resultContent.innerHTML = `
                    <h4 style="color: var(--rk-sum-green);">Idealny transfer ciepła</h4>
                    <p>Zastosowanie <strong>dębowej deski warstwowej 14-15 mm</strong> i kleju silanowego gwarantuje, że opór cieplny nie przekroczy bezpiecznych <strong>R=0,10 m2K/W</strong>.</p>
                    <p>Ciepło płynnie przenika przez materiał. To gwarantuje stabilne rachunki i <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">maksymalną wydajność instalacji podłogowej</a> przez dekady użytkowania.</p>
                `;
            } else {
                resultBox.className = 'rk-sim-result state-amateur';
                resultContent.innerHTML = `
                    <h4 style="color: var(--rk-sum-red);">Blokada cieplna i zniszczenia</h4>
                    <p>Gruba <strong>deska lita 22 mm</strong> działa jak izolator. Opór cieplny rośnie, a pompa ciepła zmuszona jest do pracy na skrajnych parametrach.</p>
                    <p>Skutkiem ubocznym użycia nieelastycznego kleju i wysokiej temperatury jest <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" style="color: var(--rk-sum-red);">zjawisko łódkowania i pękania struktury drewna</a> już w pierwszym sezonie grzewczym.</p>
                `;
            }
        });
    });
});
</script>



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#infografika-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/"
    },
    "headline": "Infografika: Idealne drewno na ogrzewanie podłogowe (PDF)",
    "description": "Pobierz inżynierskie zestawienie stabilności drewna i parametrów montażowych dla ogrzewania podłogowego. Kompletny poradnik w formacie PDF i WEBP.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Wybor-idealnego-drewna-do-ogrzewania-podlogowego-–-kompletna-tabela-i-poradnik.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-13",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#dataset-infografika",
    "name": "Tabela inżynierska: Klasa stabilności drewna vs Przewodzenie ciepła",
    "description": "Wizualne zestawienie parametrów fizycznych dla gatunków takich jak dąb, merbau, teak i buk, niezbędne do poprawnego projektowania podłogówki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika drewno podłogówka",
      "tabela drewna ogrzewanie podłogowe PDF",
      "stabilność wymiarowa dębu ogrzewanie",
      "jakie drewno na podłogówkę ściągawka",
      "parametry drewna na ogrzewanie ściągawka"
    ],
    "measurementTechnique": "Analiza porównawcza skurczu higroskopijnego (ISO 16067) i przewodności cieplnej (lambda) okładzin naturalnych w postaci graficznej tabeli i wykresów.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Zestawienie graficzne parametrów montażowych drewna"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/#download-app",
    "name": "Centrum Pobierania Wiedzy: Infografika Drewno",
    "description": "Interaktywny moduł umożliwiający wizualizację i pobranie dokumentacji graficznej dotyczącej właściwości drewna w systemach grzewczych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5"
  }
]
</script>

<style>
:root {
    --dl-wood-primary: #1e293b;
    --dl-wood-accent: #d97706; /* Bursztyn/Drewno */
    --dl-wood-accent-dark: #b45309;
    --dl-wood-bg: #fffbeb;
    --dl-wood-border: #e2e8f0;
    --dl-wood-text: #334155;
    --dl-wood-white: #ffffff;
}

.dl-wood-container {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--dl-wood-white);
    border-radius: 24px;
    border: 1px solid var(--dl-wood-border);
    box-shadow: 0 20px 40px -10px rgba(217, 119, 6, 0.1);
    overflow: hidden;
}

/* NAGŁÓWEK SEKCI */
.dl-wood-header {
    background: linear-gradient(135deg, var(--dl-wood-primary) 0%, #0f172a 100%);
    padding: 40px 50px;
    color: var(--dl-wood-white);
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    overflow: hidden;
}

/* Dekoracyjne tło nagłówka */
.dl-wood-header::after {
    content: '';
    position: absolute;
    top: -50px; right: -50px;
    width: 250px; height: 250px;
    background: radial-gradient(circle, rgba(217, 119, 6, 0.2) 0%, transparent 70%);
    border-radius: 50%;
}

.dl-wood-header-content { position: relative; z-index: 2; max-width: 65%; }

.dl-wood-badge {
    display: inline-block;
    background: rgba(217, 119, 6, 0.2);
    border: 1px solid rgba(217, 119, 6, 0.4);
    color: #fcd34d;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 15px;
}

.dl-wood-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 12px 0;
    letter-spacing: -0.5px;
}

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

/* WIZUALIZACJA PDF / IKONA */
.dl-wood-header-visual {
    position: relative;
    z-index: 2;
}

.dl-wood-pdf-icon-svg {
    width: 85px;
    height: auto;
    filter: drop-shadow(0 10px 15px rgba(0,0,0,0.4));
    animation: floatIconWood 3.5s infinite ease-in-out alternate;
}

@keyframes floatIconWood {
    from { transform: translateY(0) rotate(-2deg); }
    to { transform: translateY(-12px) rotate(2deg); }
}

/* GŁÓWNY WORKSPACE */
.dl-wood-workspace {
    display: flex;
    padding: 40px 50px;
    gap: 40px;
    background: var(--dl-wood-white);
}

.dl-wood-preview-box {
    flex: 1;
    background: #f8fafc;
    border: 1px solid var(--dl-wood-border);
    border-radius: 16px;
    padding: 15px;
    position: relative;
    cursor: zoom-in;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.dl-wood-preview-box::before {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    width: 80%; height: 80%;
    background: var(--dl-wood-accent);
    filter: blur(40px);
    opacity: 0.15;
    transform: translate(-50%, -50%);
    z-index: 0;
    transition: opacity 0.4s;
}

.dl-wood-preview-box:hover {
    transform: scale(1.03) translateY(-5px);
    box-shadow: 0 15px 30px -10px rgba(217, 119, 6, 0.2);
    border-color: var(--dl-wood-accent);
}

.dl-wood-preview-box:hover::before { opacity: 0.3; }

.dl-wood-preview-img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
    position: relative;
    z-index: 1;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.dl-wood-zoom-hint {
    position: absolute;
    bottom: 25px;
    right: 25px;
    background: rgba(15, 23, 42, 0.85);
    backdrop-filter: blur(4px);
    color: white;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 6px;
    pointer-events: none;
    border: 1px solid rgba(255,255,255,0.1);
}

.dl-wood-info-side {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dl-wood-feature-list {
    list-style: none;
    padding: 0;
    margin: 0 0 35px 0;
}

.dl-wood-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 20px;
    font-size: 15px;
    font-weight: 600;
    color: var(--dl-wood-text);
    line-height: 1.5;
}

.dl-wood-feature-item strong {
    color: var(--dl-wood-primary);
    font-weight: 800;
}

.dl-wood-check-svg {
    width: 22px;
    height: 22px;
    color: var(--dl-wood-accent);
    flex-shrink: 0;
    background: var(--dl-wood-bg);
    border-radius: 6px;
    padding: 2px;
}

/* PRZYCISK POBIERANIA */
.dl-wood-main-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--dl-wood-accent);
    color: var(--dl-wood-white);
    text-decoration: none !important;
    padding: 20px 35px;
    border-radius: 14px;
    font-weight: 800;
    font-size: 16px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 25px -5px rgba(217, 119, 6, 0.4);
    border: 2px solid transparent;
}

.dl-wood-main-btn:hover {
    background: var(--dl-wood-accent-dark);
    transform: translateY(-4px);
    box-shadow: 0 15px 35px -5px rgba(217, 119, 6, 0.5);
    border-color: #fcd34d;
}

.dl-wood-main-btn svg {
    transition: transform 0.3s;
}

.dl-wood-main-btn:hover svg {
    transform: translateY(3px);
}

/* STOPKA MODUŁU */
.dl-wood-footer {
    padding: 20px 50px;
    background: #f8fafc;
    border-top: 1px solid var(--dl-wood-border);
    font-size: 13px;
    color: #64748b;
    text-align: center;
}

.dl-wood-footer a {
    color: var(--dl-wood-accent-dark);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--dl-wood-accent-dark);
}

@media (max-width: 800px) {
    .dl-wood-header { flex-direction: column; text-align: center; padding: 35px 25px; }
    .dl-wood-header-content { max-width: 100%; margin-bottom: 30px; }
    .dl-wood-workspace { flex-direction: column; padding: 35px 25px; }
    .dl-wood-preview-box { margin-bottom: 20px; }
    .dl-wood-main-btn { width: 100%; padding: 18px 20px; font-size: 15px; }
}
</style>

<div class="dl-wood-container" id="app-wood-dl">
    
    <div class="dl-wood-header">
        <div class="dl-wood-header-content">
            <div class="dl-wood-badge">Materiały Inżynierskie</div>
            <h2>Pobierz Kompletne Zestawienie (PDF)</h2>
            <p>Miej najważniejsze parametry zawsze pod ręką na budowie. Przejrzysta grafika z tabelą gatunków, krytycznymi wymiarami i ostrzeżeniami przed błędami montażowymi.</p>
        </div>
        <div class="dl-wood-header-visual">
            <svg class="dl-wood-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="#ea580c" stroke="#ffffff" stroke-width="1.5" stroke-linejoin="round"/>
                <path d="M14 2V8H20" fill="#c2410c" stroke="#ffffff" stroke-width="1.5" stroke-linejoin="round"/>
                <path d="M8 14H16M8 18H13" stroke="#ffffff" stroke-width="2" stroke-linecap="round"/>
                <text x="7" y="11" fill="white" font-size="5" font-weight="900" font-family="sans-serif">PDF</text>
            </svg>
        </div>
    </div>

    <div class="dl-wood-workspace">
        
        <div class="dl-wood-preview-box" onclick="window.open('https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Wybor-idealnego-drewna-do-ogrzewania-podlogowego-–-kompletna-tabela-i-poradnik.webp', '_blank')">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Wybor-idealnego-drewna-do-ogrzewania-podlogowego-–-kompletna-tabela-i-poradnik.webp" alt="Infografika - Wybór idealnego drewna do ogrzewania podłogowego z tabelą gatunków" class="dl-wood-preview-img" loading="lazy">
            <div class="dl-wood-zoom-hint">
                <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="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>
                Powiększ grafikę
            </div>
        </div>

        <div class="dl-wood-info-side">
            <ul class="dl-wood-feature-list">
                <li class="dl-wood-feature-item">
                    <svg class="dl-wood-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>
                    <span><strong>Tabela 11 gatunków</strong> – zestawienie klas stabilności dla dębu, merbau, buku i drewna egzotycznego.</span>
                </li>
                <li class="dl-wood-feature-item">
                    <svg class="dl-wood-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>
                    <span><strong>Wykres wydajności</strong> – wizualne zestawienie pracy drewna w stosunku do przewodzenia ciepła.</span>
                </li>
                <li class="dl-wood-feature-item">
                    <svg class="dl-wood-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>
                    <span><strong>Parametry krytyczne</strong> – maksymalne temperatury i wymagana wilgotność zebrane w jednym miejscu.</span>
                </li>
                <li class="dl-wood-feature-item">
                    <svg class="dl-wood-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>
                    <span><strong>Format optymalny</strong> – plik wysokiej rozdzielczości, czytelny zarówno na telefonie instalatora, jak i w druku.</span>
                </li>
            </ul>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Wybor-idealnego-drewna-do-ogrzewania-podlogowego-–-kompletna-tabela-i-poradnik.pdf" class="dl-wood-main-btn" target="_blank">
                <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 INFOGRAFIKĘ (PDF)
            </a>
            
            <p style="margin-top: 25px; font-size: 13px; color: #64748b; line-height: 1.5; padding: 15px; background: #f8fafc; border-radius: 12px; border: 1px dashed #cbd5e1;">
                Szukasz pewności, że Twoja instalacja zadziała z parkietem? Zobacz <a href="https://projekt-ogrzewania.pl/kompleksowa-wycena-ogrzewania-podlogowego-wodnego-na-co-przygotowac-budzet/">kompleksową wycenę ogrzewania podłogowego</a> uwzględniającą zwiększone opory hydrauliczne.
            </p>
        </div>

    </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OCHRONA DOMENOWA BEZ ZNACZNIKÓW H ---
    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-wood-dl');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fef2f2; border: 2px dashed #ef4444; 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; text-transform: uppercase;">Zasoby Chronione</div>
                    <p style="color: #b91c1c; font-size: 14px; line-height: 1.6; max-width: 500px; margin: 10px auto 0;">Ta infografika, narzędzie pobierania oraz wbudowane dane JSON-LD są własnością serwisu Projekt-Ogrzewania.pl. Osadzanie na zewnętrznych domenach bez zgody jest zabronione.</p>
                </div>
            `;
            container.style.boxShadow = 'none';
        }
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/">Wybór idealnego drewna do ogrzewania podłogowego – kompletna tabela i poradnik.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Czy ogrzewanie podłogowe nadaje się do drewnianego stropu?</title>
		<link>https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-nadaje-sie-do-drewnianego-stropu/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 08 Jun 2025 09:29:23 +0000</pubDate>
				<category><![CDATA[Drewniane podłogi]]></category>
		<category><![CDATA[Drewniane stropy]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Modernizacja domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Porady budowlane]]></category>
		<category><![CDATA[Remont domu]]></category>
		<category><![CDATA[Systemy grzewcze]]></category>
		<category><![CDATA[budownictwo ekologiczne]]></category>
		<category><![CDATA[drewniana podłoga]]></category>
		<category><![CDATA[drewniany strop]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[izolacja termiczna]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[system suchy]]></category>
		<category><![CDATA[wodne ogrzewanie]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2632</guid>

					<description><![CDATA[<p>Planujesz montaż ogrzewania podłogowego w domu z drewnianym stropem? Dowiedz się, jak połączyć komfort cieplny z estetyką drewna. Czy ogrzewanie podłogowe nadaje się do drewnianego stropu? Tak, ale wymaga precyzyjnego projektu i odpowiednich materiałów, takich jak system suchy. Poznaj zalety, wyzwania i praktyczne porady, które pomogą Ci stworzyć ciepłe i piękne wnętrze, zachowując trwałość drewnianej konstrukcji przez wiele lat.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-nadaje-sie-do-drewnianego-stropu/">Czy ogrzewanie podłogowe nadaje się do drewnianego stropu?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Czy ogrzewanie podłogowe nadaje się do drewnianego stropu?</strong> To pytanie często zadają właściciele domów z drewnianą konstrukcją, którzy chcą połączyć komfort nowoczesnego ogrzewania z naturalnym urokiem drewna. Wodne ogrzewanie podłogowe, znane z równomiernego rozprowadzania ciepła i energooszczędności, jest popularnym wyborem, ale jego zastosowanie na drewnianym stropie wymaga starannego planowania. </p>



<p class="wp-block-paragraph">Drewno, jako materiał wrażliwy na zmiany temperatury i wilgotności, może stwarzać wyzwania, jeśli instalacja nie zostanie prawidłowo wykonana. W tym artykule wyjaśnimy, czy <strong><a href="https://projekt-ogrzewania.pl/category/ogrzewanie-podlogowe/">ogrzewanie podłogowe</a> na drewnianym stropie</strong> jest możliwe, jakie są jego zalety, potencjalne trudności i jak zaprojektować system, aby cieszyć się ciepłem i estetyką przez wiele lat.</p>



<h2 class="wp-block-heading">Dlaczego drewniane stropy wymagają szczególnego podejścia?</h2>



<p class="wp-block-paragraph">Drewniane stropy mają unikalne właściwości, które sprawiają, że instalacja <strong>wodnego ogrzewania podłogowego</strong> wymaga precyzji. Drewno jest higroskopijne, co oznacza, że reaguje na wilgoć i temperaturę, rozszerzając się lub kurcząc. Niewłaściwie zaprojektowany system może prowadzić do odkształceń podłogi lub obniżenia efektywności grzewczej.</p>



<h3 class="wp-block-heading">Wpływ drewna na system grzewczy.</h3>



<p class="wp-block-paragraph">Drewno ma niższą przewodność cieplną niż materiały takie jak płytki ceramiczne, co może spowolnić transfer ciepła. Jednak przy odpowiedniej izolacji i projekcie <strong>ogrzewanie podłogowe na drewnianym stropie</strong> działa skutecznie. Kluczowe jest zastosowanie warstw izolacyjnych, takich jak płyty styropianowe, które kierują ciepło w górę, oraz rur o wysokiej jakości, jak <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rury wielowarstwowe</a>.</p>



<h3 class="wp-block-heading">Wyzwania związane z drewnianymi stropami.</h3>



<p class="wp-block-paragraph">Montaż systemu na drewnianym stropie wiąże się z kilkoma wyzwaniami:</p>



<ul class="wp-block-list">
<li><strong>Nośność konstrukcji</strong>: Drewniany strop musi wytrzymać ciężar wylewki i systemu grzewczego.</li>



<li><strong>Izolacja termiczna</strong>: Bez niej ciepło może uciekać w dół, co obniża wydajność.</li>



<li><strong>Kontrola wilgotności</strong>: Nadmierna wilgoć lub jej brak może powodować deformacje drewna, dlatego warunki w pomieszczeniu muszą być stabilne.</li>
</ul>



<p class="wp-block-paragraph">Szczegółowe informacje o planowaniu instalacji znajdziesz w artykule Jak zaplanować rozmieszczenie pętli grzewczych w ogrzewaniu podłogowym.</p>



<h2 class="wp-block-heading">System suchy w wodnym ogrzewaniu podłogowym – idealny dla drewnianych stropów.</h2>



<p class="wp-block-paragraph">Jednym z najlepszych rozwiązań dla <strong>ogrzewania podłogowego na drewnianym stropie</strong> jest <strong><a href="https://projekt-ogrzewania.pl/czym-jest-system-suchy-w-wodnym-ogrzewaniu-podlogowym/">system suchy w wodnym ogrzewaniu podłogowym</a></strong>. W odróżnieniu od tradycyjnego systemu mokrego, który wymaga grubej wylewki betonowej, system suchy wykorzystuje lekkie płyty systemowe, w których umieszcza się rury grzewcze. Dzięki temu obciążenie stropu jest znacznie mniejsze, co czyni go idealnym dla drewnianych konstrukcji. Dodatkowo, system suchy jest szybszy w montażu i pozwala na wcześniejsze uruchomienie ogrzewania, co jest kluczowe w przypadku drewnianych podłóg wrażliwych na zmiany temperatury.</p>



<p class="wp-block-paragraph">Dowiedz się więcej o zaletach tego rozwiązania w artykule Czym jest system suchy w wodnym ogrzewaniu podłogowym, który szczegółowo omawia jego zastosowanie i korzyści.</p>



<h2 class="wp-block-heading">Jak działa wodne ogrzewanie podłogowe?</h2>



<p class="wp-block-paragraph"><strong>Wodne ogrzewanie podłogowe</strong> polega na rozprowadzaniu ciepła za pomocą rur, przez które przepływa ciepła woda, podgrzewana przez źródło ciepła, takie jak pompa ciepła lub kocioł. System ten jest szczególnie efektywny w domach z drewnianymi stropami, jeśli zastosuje się odpowiednią izolację i lekki system montażowy, jak wspomniany system suchy.</p>



<h3 class="wp-block-heading">Kluczowe elementy systemu.</h3>



<ul class="wp-block-list">
<li><strong>Rury grzewcze</strong>: Wysokiej jakości <a href="https://projekt-ogrzewania.pl/kategoria-produktu/rury-do-ogrzewania-podlogowego/">rury do ogrzewania podłogowego</a>, zapewniają trwałość i efektywność.</li>



<li><strong>Rozdzielacz</strong>: Element sterujący przepływem wody, np. <a href="https://projekt-ogrzewania.pl/produkt/rozdzielacz-ze-stali-nierdzewnej-inox-do-ogrzewania-podlogowego-z-rotametrami/">rozdzielacz ze stali nierdzewnej</a>.</li>



<li><strong>Izolacja</strong>: <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/">Płyty styropianowe</a> lub inne materiały izolacyjne minimalizują straty ciepła.</li>
</ul>



<h3 class="wp-block-heading">Zalety systemu wodnego.</h3>



<ul class="wp-block-list">
<li><strong>Energooszczędność</strong>: W połączeniu z pompą ciepła system jest ekonomiczny.</li>



<li><strong>Równomierne ogrzewanie</strong>: Ciepło rozprowadza się równomiernie, zapewniając komfort.</li>



<li><strong>Kompatybilność z drewnem</strong>: Przy odpowiednim projekcie system nie uszkadza drewnianej podłogi.</li>
</ul>



<h2 class="wp-block-heading">Profesjonalny projekt – podstawa sukcesu.</h2>



<p class="wp-block-paragraph">Profesjonalny <strong><a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">projekt ogrzewania podłogowego</a></strong> to kluczowy element, szczególnie w przypadku drewnianych stropów. Taki projekt uwzględnia nośność konstrukcji, rozmieszczenie pętli grzewczych, rodzaj izolacji oraz specyfikę drewnianej podłogi. Nasi specjaliści wykonują szczegółowe obliczenia strat cieplnych i optymalizują układ systemu, co zapobiega problemom, takim jak nierównomierne ogrzewanie czy przeciążenie stropu. System suchy, jest często rekomendowany w takich projektach ze względu na swoją lekkość i łatwość montażu.</p>



<h2 class="wp-block-heading">Jak zainstalować wodne ogrzewanie podłogowe na drewnianym stropie?</h2>



<p class="wp-block-paragraph">Montaż <strong>ogrzewania podłogowego na drewnianym stropie</strong> wymaga precyzji i przestrzegania określonych zasad. Oto kluczowe kroki:</p>



<ol class="wp-block-list">
<li><strong>Ocena nośności stropu</strong>: Skonsultuj się z inżynierem, aby upewnić się, że konstrukcja выдержuje system grzewczy.</li>



<li><strong>Izolacja termiczna</strong>: Zastosuj lekkie płyty izolacyjne, takie jak płyty styropianowe EPS 100, aby zminimalizować straty ciepła.</li>



<li><strong>Montaż systemu</strong>: Ułóż rury grzewcze w układzie ślimakowym lub meandrowym, najlepiej w systemie suchym, aby zmniejszyć obciążenie.</li>



<li><strong>Pokrycie podłogi</strong>: Po ułożeniu rur zamontuj podłogę drewnianą, najlepiej klejoną, dla większej stabilności.</li>



<li><strong>Testowanie systemu</strong>: Stopniowo podgrzewaj podłogę (5°C dziennie) do maksymalnie 26°C, aby drewno mogło się dostosować.</li>
</ol>



<p class="wp-block-paragraph">Więcej o wpływie materiałów na efektywność systemu znajdziesz w artykule Jak rodzaj okładziny podłogowej wpływa na wydajność.</p>



<h2 class="wp-block-heading">Zalety wodnego ogrzewania podłogowego na drewnianym stropie.</h2>



<p class="wp-block-paragraph">Zastosowanie <strong>wodnego ogrzewania podłogowego na drewnianym stropie</strong> oferuje wiele korzyści, które sprawiają, że jest to rozwiązanie warte rozważenia:</p>



<ul class="wp-block-list">
<li><strong>Komfort cieplny</strong>: Równomierne rozprowadzanie ciepła zapewnia przyjemne uczucie pod stopami.</li>



<li><strong>Estetyka</strong>: Brak grzejników pozwala wyeksponować piękno drewnianej podłogi.</li>



<li><strong>Zdrowie</strong>: Mniejsza cyrkulacja kurzu jest korzystna dla alergików.</li>



<li><strong>Ekonomia</strong>: W połączeniu z nowoczesnymi źródłami ciepła, takimi jak pompy ciepła, system jest bardzo efektywny.</li>
</ul>



<h2 class="wp-block-heading">Wyzwania i jak je przezwyciężyć.</h2>



<p class="wp-block-paragraph">Mimo licznych zalet, <strong>ogrzewanie podłogowe na drewnianym stropie</strong> wiąże się z pewnymi wyzwaniami:</p>



<ul class="wp-block-list">
<li><strong>Koszty początkowe</strong>: Wysokiej jakości materiały, takie jak rury czy rozdzielacze, oraz profesjonalny montaż są kosztowne. Rozwiązaniem jest dokładne zaplanowanie budżetu.</li>



<li><strong>Ryzyko uszkodzeń</strong>: Niewłaściwy montaż może prowadzić do nierównomiernego ogrzewania. Profesjonalny projekt i system suchy minimalizują to ryzyko.</li>



<li><strong>Kontrola temperatury</strong>: Temperatura powierzchni nie powinna przekraczać 27°C, aby chronić drewno. Nowoczesne termostaty ułatwiają utrzymanie odpowiednich parametrów.</li>
</ul>



<h2 class="wp-block-heading">Przykłady zastosowań w praktyce.</h2>



<h3 class="wp-block-heading">Dom w Beskidach.</h3>



<p class="wp-block-paragraph">W nowoczesnym domu z drewnianym stropem w Wiśle właściciele wybrali <strong>wodne ogrzewanie podłogowe</strong> w systemie suchym. Dzięki lekkiej konstrukcji systemu i profesjonalnemu projektowi podłoga drewniana zachowuje swoją estetykę, a dom jest ciepły nawet w mroźne zimy. System suchy okazał się idealny dla drewnianej konstrukcji, minimalizując obciążenie.</p>



<h3 class="wp-block-heading">Remont starego domu w Krakowie.</h3>



<p class="wp-block-paragraph">W remontowanym domu z drewnianym stropem w Krakowie zastosowano wodne ogrzewanie podłogowe z systemem suchym. Lekkie płyty systemowe i starannie zaprojektowany układ pętli pozwoliły na szybką instalację bez przeciążania konstrukcji. Mieszkańcy cieszą się komfortem cieplnym i pięknem drewnianej podłogi.</p>



<h2 class="wp-block-heading">Jak dbać o drewnianą podłogę z ogrzewaniem podłogowym?</h2>



<p class="wp-block-paragraph">Aby <strong>ogrzewanie podłogowe na drewnianym stropie</strong> działało efektywnie, a podłoga zachowała swoje właściwości, należy przestrzegać kilku zasad:</p>



<ul class="wp-block-list">
<li><strong>Utrzymuj wilgotność</strong>: Wilgotność powietrza powinna wynosić 45-60%. W sezonie grzewczym używaj nawilżaczy, aby zapobiec wysychaniu drewna.</li>



<li><strong>Kontroluj temperaturę</strong>: Nie przekraczaj 27°C na powierzchni podłogi, aby chronić materiał.</li>



<li><strong>Pielęgnacja</strong>: Stosuj oleje lub lakiery do podłóg drewnianych, aby zachować ich trwałość.</li>



<li><strong>Czyszczenie</strong>: Używaj wilgotnej, dobrze wyciśniętej szmatki, unikając nadmiaru wody.</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-1749373214083"><strong class="schema-faq-question">Czy wodne ogrzewanie podłogowe jest bezpieczne dla drewnianego stropu?</strong> <p class="schema-faq-answer">Tak, wodne ogrzewanie podłogowe jest bezpieczne, jeśli zostanie prawidłowo zaprojektowane i zainstalowane. Kluczowe jest uwzględnienie nośności stropu i zastosowanie lekkiego systemu suchego, który minimalizuje obciążenie. Profesjonalny projekt, jak ten oferowany przez <a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-200-m2/" target="_blank" rel="noreferrer noopener">Projekt Ogrzewania</a>, zapobiega problemom, takim jak przeciążenie konstrukcji.</p> </div> <div class="schema-faq-section" id="faq-question-1749373244962"><strong class="schema-faq-question">Jakie są zalety systemu suchego w ogrzewaniu podłogowym na drewnianym stropie?</strong> <p class="schema-faq-answer">System suchy jest lżejszy niż tradycyjny system mokry, co czyni go idealnym dla drewnianych stropów. Umożliwia szybszy montaż i wcześniejsze uruchomienie ogrzewania, a także redukuje ryzyko uszkodzenia drewna. Więcej szczegółów znajdziesz w artykule <a href="https://projekt-ogrzewania.pl/czym-jest-system-suchy-w-wodnym-ogrzewaniu-podlogowym/" target="_blank" rel="noreferrer noopener">Czym jest system suchy w wodnym ogrzewaniu podłogowym</a>.</p> </div> <div class="schema-faq-section" id="faq-question-1749373256678"><strong class="schema-faq-question">Czy drewniana podłoga może się odkształcić pod wpływem ogrzewania podłogowego?</strong> <p class="schema-faq-answer">Drewno jest wrażliwe na zmiany temperatury i wilgotności, ale odpowiedni projekt i konserwacja minimalizują ryzyko odkształceń. Utrzymuj wilgotność na poziomie 45-60% i nie przekraczaj temperatury 27°C na powierzchni podłogi, aby chronić drewno.</p> </div> <div class="schema-faq-section" id="faq-question-1749373282656"><strong class="schema-faq-question">Jakie materiały są potrzebne do instalacji ogrzewania podłogowego na drewnianym stropie?</strong> <p class="schema-faq-answer">Potrzebne są wysokiej jakości rury, np. <a href="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowe-tweetop-pert-ii-al-pert-ii-16x2/" target="_blank" rel="noreferrer noopener">rury wielowarstwowe PERT</a>, rozdzielacz, izolacja termiczna, taka jak <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/" target="_blank" rel="noreferrer noopener">płyty styropianowe EPS 100</a>, oraz system suchy dla lekkości. Profesjonalny projekt zapewnia dobór odpowiednich komponentów.</p> </div> <div class="schema-faq-section" id="faq-question-1749373296034"><strong class="schema-faq-question">Czy potrzebuję profesjonalnego projektu do ogrzewania podłogowego na drewnianym stropie?</strong> <p class="schema-faq-answer">Tak, profesjonalny projekt jest niezbędny, aby uwzględnić nośność stropu, rozmieszczenie pętli grzewczych i specyfikę drewna. Bez projektu istnieje ryzyko nierównomiernego ogrzewania lub uszkodzenia konstrukcji. Sprawdź, jak wygląda projektowanie 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</a>.</p> </div> </div>



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



<p class="wp-block-paragraph"><strong>Czy ogrzewanie podłogowe nadaje się do drewnianego stropu?</strong> Tak, wodne ogrzewanie podłogowe, szczególnie w systemie suchym, jest doskonałym rozwiązaniem dla drewnianych konstrukcji, pod warunkiem odpowiedniego projektu i instalacji. System suchy, opisany w Czym jest system suchy w wodnym ogrzewaniu podłogowym, minimalizuje obciążenie stropu i przyspiesza montaż, co jest kluczowe dla drewnianych stropów. Profesjonalny projekt, wysokiej jakości materiały i dbałość o konserwację podłogi zapewniają komfort cieplny i estetykę na lata. To rozwiązanie idealnie łączy funkcjonalność z pięknem drewnianych wnętrz.</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="Vej17UtJNt"><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=TfvAegfXQi#?secret=Vej17UtJNt" data-secret="Vej17UtJNt" 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-nadaje-sie-do-drewnianego-stropu/">Czy ogrzewanie podłogowe nadaje się do drewnianego stropu?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jak układać rury w ogrzewaniu ślimak, meander czy podwójny meander?</title>
		<link>https://projekt-ogrzewania.pl/jak-ukladac-rury-w-ogrzewaniu-slimak-meander-czy-podwojny-meander/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 16 May 2025 12:48:26 +0000</pubDate>
				<category><![CDATA[Budownictwo]]></category>
		<category><![CDATA[Energooszczędność]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Technologia budowlana]]></category>
		<category><![CDATA[Układanie rur grzewczych]]></category>
		<category><![CDATA[budownictwo]]></category>
		<category><![CDATA[energooszczędność]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[meandrowy]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[podwójny meander]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[remont]]></category>
		<category><![CDATA[ślimakowy]]></category>
		<category><![CDATA[układ rur]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2603</guid>

					<description><![CDATA[<p>Planujesz instalację ogrzewania podłogowego i zastanawiasz się, który układ rur będzie najlepszy? Nasz artykuł szczegółowo porównuje układy ślimakowy, meandrowy pojedynczy i podwójny meander, podając ich zalety, wady oraz praktyczne przykłady zastosowań. Dowiedz się, jak układać rury w ogrzewaniu ślimak, meander czy podwójny meander, aby zapewnić komfort cieplny i efektywność energetyczną. Poznaj wskazówki ekspertów i skorzystaj z profesjonalnego projektu, by uniknąć kosztownych błędów!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jak-ukladac-rury-w-ogrzewaniu-slimak-meander-czy-podwojny-meander/">Jak układać rury w ogrzewaniu ślimak, meander czy podwójny meander?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Decyzja o tym, <strong>jak układać rury w ogrzewaniu ślimak, meander czy podwójny meander</strong>, jest kluczowa dla efektywności i komfortu cieplnego w Twoim domu. Wybór odpowiedniego układu rur w systemie ogrzewania podłogowego wpływa na rozkład temperatury, koszty eksploatacji i trwałość instalacji. </p>



<p class="wp-block-paragraph">W tym artykule szczegółowo porównamy układy ślimakowy, meandrowy pojedynczy i podwójny meander, podając ich zalety, wady, praktyczne przykłady oraz wskazówki, jak wybrać najlepsze rozwiązanie. Dodatkowo omówimy znaczenie profesjonalnego projektu ogrzewania podłogowego i pokażemy, jak narzędzia, takie jak kalkulatory długości rur, mogą ułatwić planowanie. Czytaj dalej, aby dowiedzieć się, który układ sprawdzi się w Twoim domu!</p>



<h2 class="wp-block-heading">Dlaczego układ rur w ogrzewaniu podłogowym ma znaczenie?</h2>



<p class="wp-block-paragraph">Ogrzewanie podłogowe to jedno z najwygodniejszych i energooszczędnych rozwiązań grzewczych, ale jego skuteczność zależy od prawidłowego rozmieszczenia rur. <strong>Układ rur</strong> determinuje, jak równomiernie ciepło rozchodzi się po pomieszczeniu, jak szybko podłoga osiąga pożądaną temperaturę i jak efektywnie działa cały system. Oto kluczowe czynniki, które należy wziąć pod uwagę przy wyborze układu:</p>



<ul class="wp-block-list">
<li><strong>Rozmiar i kształt pomieszczenia</strong> – małe pokoje wymagają prostszych układów, a duże przestrzenie bardziej zaawansowanych rozwiązań.</li>



<li><strong>Izolacja termiczna</strong> – dobrze ocieplone budynki sprzyjają układom ślimakowym, podczas gdy starsze domy mogą wymagać meandra.</li>



<li><strong>Straty ciepła</strong> – pomieszczenia z dużymi oknami czy ścianami zewnętrznymi potrzebują zagęszczenia rur w strefach brzegowych.</li>



<li><strong>Budżet i czas montażu</strong> – prostsze układy, jak meander pojedynczy, są tańsze i szybsze w instalacji.</li>
</ul>



<p class="wp-block-paragraph">Zanim przejdziemy do szczegółów, warto podkreślić, że profesjonalny projekt ogrzewania podłogowego może znacząco ułatwić podjęcie decyzji i zapewnić optymalne działanie systemu. Więcej na ten temat znajdziesz w sekcji o projektowaniu instalacji.</p>



<h2 class="wp-block-heading">Układ ślimakowy – idealny dla równomiernego ciepła.</h2>



<h3 class="wp-block-heading">Jak działa układ ślimakowy?</h3>



<p class="wp-block-paragraph">W układzie ślimakowym, zwanym także spiralnym, rury są układane w sposób przypominający muszlę ślimaka. Zaczynają się od zewnętrznej krawędzi pomieszczenia i biegną spiralnie w stronę środka, a następnie wracają w podobny sposób. Dzięki temu rury zasilające (cieplejsze) i powrotne (chłodniejsze) biegną obok siebie, co zapewnia <strong>równomierny rozkład temperatury</strong> na całej powierzchni podłogi.</p>



<p class="wp-block-paragraph"><em>Schemat układu ślimakowego</em>: Wyobraź sobie spiralę, która zaczyna się przy ścianie zewnętrznej i zwija się do środka pomieszczenia. Rury są rozmieszczone w równych odstępach (np. 15 cm), a ich układ przypomina koncentryczne okręgi.</p>



<h3 class="wp-block-heading">Zalety układu ślimakowego</h3>



<ul class="wp-block-list">
<li><strong>Jednolita temperatura</strong> – brak wyraźnych różnic ciepła pod stopami, co jest idealne dla sypialni czy pokojów dziecięcych.</li>



<li><strong>Efektywność energetyczna</strong> – dobrze sprawdza się w budynkach z wysoką izolacją termiczną, minimalizując straty ciepła.</li>



<li><strong>Komfort użytkowania</strong> – równomierne ciepło poprawia odczucia termiczne w całym pomieszczeniu.</li>
</ul>



<h3 class="wp-block-heading">Wady układu ślimakowego.</h3>



<ul class="wp-block-list">
<li><strong>Złożoność montażu</strong> – wymaga precyzji i doświadczenia, co może wydłużyć czas instalacji.</li>



<li><strong>Wyższe koszty</strong> – bardziej skomplikowany układ oznacza więcej materiału i pracy.</li>
</ul>



<h3 class="wp-block-heading">Kiedy wybrać układ ślimakowy?</h3>



<p class="wp-block-paragraph">Układ ślimakowy jest polecany dla pomieszczeń o regularnym kształcie, takich jak łazienki, korytarze czy kuchnie bez dużych okien zewnętrznych. Przykładowo, w nowoczesnym domu pasywnym o powierzchni 15 m², gdzie izolacja ścian wynosi U=0,15 W/m²K, układ ślimakowy zapewni optymalne rozprowadzenie ciepła. Standardowy rozstaw rur to 15–20 cm, ale w strefach brzegowych (np. przy oknach) można go zmniejszyć do 10 cm, zwiększając moc grzewczą o około 10–15 W/m².</p>



<p class="wp-block-paragraph"><em>Przykład</em>: W łazience 8 m² układ ślimakowy pozwolił na utrzymanie temperatury podłogi na poziomie 26°C w całym pomieszczeniu, co zapewniło komfort nawet w zimowe dni.</p>



<p class="wp-block-paragraph">Dowiedz się więcej o tym układzie w artykule <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-slimakowym/">Instalacja ogrzewania podłogowego w układzie ślimakowym</a>.</p>



<h2 class="wp-block-heading">Układ meandrowy pojedynczy – prostota i oszczędność</h2>



<h3 class="wp-block-heading">Czym jest układ meandrowy pojedynczy?</h3>



<p class="wp-block-paragraph">W układzie meandrowym pojedynczym rury układane są w pętle przypominające kształt węża. Zasilanie zaczyna się w jednym rogu pomieszczenia, a rura biegnie wzdłuż jednej ściany, zawraca i wraca wzdłuż sąsiedniej. Taki układ powoduje, że temperatura jest wyższa na początku pętli (np. 35°C) i maleje w miarę oddalania się od źródła ciepła (np. do 25°C).</p>



<p class="wp-block-paragraph"><em>Schemat układu meandrowego</em>: Rury tworzą równoległe linie, które zawracają na końcach pomieszczenia, tworząc wzór wężowy.</p>



<h3 class="wp-block-heading">Plusy układu meandrowego.</h3>



<ul class="wp-block-list">
<li><strong>Łatwy montaż</strong> – prostota układu skraca czas instalacji i obniża koszty robocizny.</li>



<li><strong>Niższy koszt materiałów</strong> – wymaga mniej rur w porównaniu do układu ślimakowego.</li>



<li><strong>Skuteczność w strefach zimnych</strong> – początek pętli można umieścić przy oknach czy drzwiach, kompensując straty ciepła.</li>
</ul>



<h3 class="wp-block-heading">Minusy układu meandrowego.</h3>



<ul class="wp-block-list">
<li><strong>Nierównomierny rozkład temperatury</strong> – różnice między początkiem a końcem pętli mogą być odczuwalne w większych pomieszczeniach.</li>



<li><strong>Mniejsza efektywność w dużych przestrzeniach</strong> – w salonach powyżej 20 m² może nie zapewnić pełnego komfortu.</li>
</ul>



<h3 class="wp-block-heading">Gdzie stosować meander pojedynczy?</h3>



<p class="wp-block-paragraph">Ten układ jest idealny dla mniejszych pomieszczeń, takich jak łazienki (4–10 m²) czy przedpokoje, gdzie prostota i niższy koszt są priorytetem. Przykładem może być łazienka o powierzchni 6 m², gdzie początek pętli umieszczono blisko drzwi zewnętrznych, zapewniając temperaturę 28°C w strefie wejścia i 24°C w głębi pomieszczenia.</p>



<p class="wp-block-paragraph"><em>Case study</em>: W domu szkieletowym z 2024 roku układ meandrowy pojedynczy zastosowano w przedpokoju 5 m². Dzięki rozstawowi rur 10 cm przy drzwiach zewnętrznych udało się zrekompensować straty ciepła wynoszące 100 W/m².</p>



<p class="wp-block-paragraph">Więcej o planowaniu pętli znajdziesz w artykule <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">Jak zaplanować rozmieszczenie pętli grzewczych w ogrzewaniu podłogowym</a>.</p>



<h2 class="wp-block-heading">Podwójny meander – komfort w dużych pomieszczeniach</h2>



<h3 class="wp-block-heading">Jak działa podwójny meander?</h3>



<p class="wp-block-paragraph">Podwójny meander to zaawansowana wersja układu meandrowego. Rury zasilające i powrotne biegną parami obok siebie przez całą długość pętli, co minimalizuje różnice temperatury między początkiem a końcem. Dzięki temu ciepło jest rozprowadzane bardziej równomiernie niż w pojedynczym meandrze.</p>



<p class="wp-block-paragraph"><em>Schemat podwójnego meandra</em>: Rury biegną w parach, tworząc naprzemienne linie zasilania i powrotu, co przypomina podwójny wąż.</p>



<h3 class="wp-block-heading">Zalety podwójnego meandra.</h3>



<ul class="wp-block-list">
<li><strong>Równomierny rozkład ciepła</strong> – lepszy niż w pojedynczym meandrze, idealny dla dużych pomieszczeń.</li>



<li><strong>Skuteczność przy dużych stratach ciepła</strong> – polecany dla salonów z panoramicznymi oknami.</li>



<li><strong>Elastyczność projektowa</strong> – można dostosować do nieregularnych kształtów pomieszczeń.</li>
</ul>



<h3 class="wp-block-heading">Wady podwójnego meandra.</h3>



<ul class="wp-block-list">
<li><strong>Wyższy koszt instalacji</strong> – więcej rur i bardziej skomplikowany montaż.</li>



<li><strong>Potrzeba precyzyjnego projektu</strong> – wymaga dokładnego zaplanowania, najlepiej przez specjalistę.</li>
</ul>



<h3 class="wp-block-heading">Kiedy wybrać podwójny meander?</h3>



<p class="wp-block-paragraph">Podwójny meander jest rekomendowany dla dużych pomieszczeń (powyżej 20 m²), takich jak salony, jadalnie czy otwarte przestrzenie biurowe. Przykładem jest salon 30 m² z oknami tarasowymi o współczynniku przenikania ciepła U=1,1 W/m²K. Układ podwójny meander z rozstawem rur 10 cm w strefie okien zapewnił temperaturę podłogi 27°C w całym pomieszczeniu.</p>



<p class="wp-block-paragraph"><em>Przykład</em>: W domu jednorodzinnym z 2023 roku podwójny meander zastosowano w salonie 35 m². Dzięki zagęszczeniu rur przy oknach straty ciepła (120 W/m²) zostały zredukowane, a komfort cieplny poprawił się o 15% w porównaniu do pojedynczego meandra.</p>



<p class="wp-block-paragraph">Szczegóły o tym układzie znajdziesz w artykule <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-meandrowym/">Instalacja ogrzewania podłogowego w układzie meandrowym</a>.</p>



<h2 class="wp-block-heading">Porównanie układów rur – który jest najlepszy?</h2>



<p class="wp-block-paragraph">Aby ułatwić wybór, poniżej przedstawiamy tabelę porównującą układy ślimakowy, meandrowy pojedynczy i podwójny meander:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th><strong>Układ</strong></th><th><strong>Rozkład temperatury</strong></th><th><strong>Złożoność montażu</strong></th><th><strong>Najlepsze zastosowanie</strong></th></tr></thead><tbody><tr><td>Ślimakowy</td><td>Bardzo równomierny</td><td>Wysoka</td><td>Małe i średnie pomieszczenia, dobrze ocieplone domy</td></tr><tr><td>Meandrowy pojedynczy</td><td>Nierównomierny, cieplej na początku pętli</td><td>Niska</td><td>Małe pomieszczenia, strefy z większymi stratami ciepła</td></tr><tr><td>Podwójny meander</td><td>Równomierny, lepszy niż pojedynczy meander</td><td>Średnia</td><td>Duże pomieszczenia, salony z oknami, otwarte przestrzenie</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">Praktyczne przykłady zastosowań.</h3>



<ol class="wp-block-list">
<li><strong>Łazienka 8 m²</strong>: Meandrowy pojedynczy z rozstawem 10 cm przy oknie zewnętrznym. Koszt instalacji: ~900 zł. Temperatura podłogi: 26–28°C.</li>



<li><strong>Sypialnia 15 m²</strong>: Ślimakowy z rozstawem 15 cm. Koszt: ~1800 zł. Równomierna temperatura 25°C w całym pomieszczeniu.</li>



<li><strong>Salon 30 m²</strong>: Podwójny meander z zagęszczeniem rur przy oknach tarasowych. Koszt: ~4500 zł. Temperatura podłogi: 27°C, straty ciepła zredukowane o 20%.</li>
</ol>



<h2 class="wp-block-heading">Profesjonalny projekt ogrzewania podłogowego – klucz do sukcesu.</h2>



<p class="wp-block-paragraph">Niezależnie od wybranego układu, <strong>profesjonalny projekt ogrzewania podłogowego</strong> jest niezbędny, aby zapewnić efektywność i trwałość systemu. Taki projekt uwzględnia:</p>



<ul class="wp-block-list">
<li><strong>Straty ciepła</strong> – obliczenia dla każdej strefy pomieszczenia.</li>



<li><strong>Rozmieszczenie mebli</strong> – unikanie rur pod stałymi elementami, jak szafy.</li>



<li><strong>Rodzaj podłogi</strong> – np. płytki ceramiczne mają niższy opór termiczny niż panele.</li>



<li><strong>Źródło ciepła</strong> – np. pompa ciepła wymaga gęstszego rozstawu rur.</li>
</ul>



<p class="wp-block-paragraph"><em>Przykład korzyści</em>: W domu 120 m² profesjonalny projekt pozwolił zaoszczędzić 10% na kosztach instalacji dzięki optymalnemu rozmieszczeniu rur i uniknięciu zbyt długich pętli.</p>



<h2 class="wp-block-heading">Kalkulator długości rur – praktyczne narzędzie.</h2>



<p class="wp-block-paragraph">Planowanie ogrzewania podłogowego wymaga obliczenia ilości potrzebnych rur. Oto prosty sposób, jak to zrobić:</p>



<ol class="wp-block-list">
<li><strong>Zmierz powierzchnię pomieszczenia</strong> (np. 20 m²).</li>



<li><strong>Określ rozstaw rur</strong> (np. 15 cm = 0,15 m).</li>



<li><strong>Oblicz długość rur</strong>: Długość (m) = Powierzchnia (m²) ÷ Rozstaw (m). Dla 20 m² i rozstawu 15 cm: 20 ÷ 0,15 = ~133 m rur.</li>



<li><strong>Dodaj zapas</strong> – zwykle 5–10% na łuki i połączenia (~140 m).</li>
</ol>



<p class="wp-block-paragraph"><em>Przykład</em>: W salonie 30 m² z układem podwójnego meandra i rozstawem 10 cm potrzeba około 300 m rur PERT o średnicy 16 mm, co kosztuje około 1200 zł w sklepie <a href="https://projekt-ogrzewania.pl/sklep/">projekt-ogrzewania.pl</a>.</p>



<p class="wp-block-paragraph">Więcej o obliczaniu długości rur znajdziesz w artykule <a href="https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/">Kalkulator do obliczania ilości metrów rury potrzebnych do ogrzewania podłogowego</a>.</p>



<h2 class="wp-block-heading">Praktyczne wskazówki dla instalatorów i użytkowników.</h2>



<h3 class="wp-block-heading">Optymalny rozstaw rur.</h3>



<ul class="wp-block-list">
<li><strong>Standardowy rozstaw</strong>: 15–25 cm w zależności od zapotrzebowania na ciepło.</li>



<li><strong>Strefy brzegowe</strong>: 10 cm przy ścianach zewnętrznych i oknach, co zwiększa moc grzewczą o 10–20 W/m².</li>



<li><strong>Pompy ciepła</strong>: Wymagają gęstszego rozstawu (10–15 cm) ze względu na niższą temperaturę wody w obiegu.</li>
</ul>



<p class="wp-block-paragraph">Sprawdź szczegóły w artykule <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">Rozstaw rur w ogrzewaniu podłogowym – co 10 czy 15 cm?</a>.</p>



<h3 class="wp-block-heading">Dobór materiałów.</h3>



<p class="wp-block-paragraph">Wybór odpowiednich rur, takich jak <a href="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowe-tweetop-pert-ii-al-pert-ii-16x2/">rura wielowarstwowa PERT</a>, jest kluczowy dla trwałości instalacji. Rury PERT są odporne na korozję i łatwe w montażu, a ich cena wynosi około 4–6 zł/m.</p>



<h3 class="wp-block-heading">Unikanie błędów.</h3>



<p class="wp-block-paragraph">Najczęstsze błędy przy układaniu rur to:</p>



<ul class="wp-block-list">
<li><strong>Zbyt długie pętle</strong> – maksymalna długość to 100–120 m dla rur 16 mm.</li>



<li><strong>Brak taśmy dylatacyjnej</strong> – prowadzi do pęknięć wylewki.</li>



<li><strong>Rury pod meblami</strong> – zmniejszają efektywność i mogą uszkodzić podłogę.</li>
</ul>



<p class="wp-block-paragraph">Dowiedz się, jak ich unikać, w artykule <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">Najczęstsze błędy przy montażu ogrzewania podłogowego i jak ich uniknąć</a>.</p>



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



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1747398667178"><strong class="schema-faq-question">Jaki układ rur w ogrzewaniu podłogowym jest najbardziej równomierny?</strong> <p class="schema-faq-answer">Układ ślimakowy zapewnia najbardziej równomierny rozkład temperatury, ponieważ rury zasilające i powrotne biegną obok siebie, minimalizując różnice ciepła w pomieszczeniu.</p> </div> <div class="schema-faq-section" id="faq-question-1747398680445"><strong class="schema-faq-question">Czy układ meandrowy pojedynczy nadaje się do dużych pomieszczeń?</strong> <p class="schema-faq-answer">Nie jest zalecany do dużych pomieszczeń (powyżej 20 m²), ponieważ powoduje nierównomierny rozkład temperatury – cieplej na początku pętli, chłodniej na końcu.</p> </div> <div class="schema-faq-section" id="faq-question-1747398705295"><strong class="schema-faq-question">Kiedy warto wybrać układ podwójny meander?</strong> <p class="schema-faq-answer">Podwójny meander jest idealny dla dużych pomieszczeń, np. salonów z oknami tarasowymi, gdzie zapewnia bardziej równomierne ciepło niż pojedynczy meander.</p> </div> <div class="schema-faq-section" id="faq-question-1747398716925"><strong class="schema-faq-question">Jak obliczyć potrzebną ilość rur do ogrzewania podłogowego?</strong> <p class="schema-faq-answer">Podziel powierzchnię pomieszczenia (m²) przez rozstaw rur (m), np. 20 m² ÷ 0,15 m = 133 m rur. Dodaj 5–10% zapasu na łuki i połączenia.</p> </div> <div class="schema-faq-section" id="faq-question-1747398740912"><strong class="schema-faq-question">Czy potrzebny jest profesjonalny projekt ogrzewania podłogowego?</strong> <p class="schema-faq-answer">Tak, profesjonalny projekt uwzględnia straty ciepła, rozmieszczenie mebli i rodzaj podłogi, co zapewnia efektywność i trwałość instalacji.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie – jaki układ rur wybrać?</h2>



<p class="wp-block-paragraph">Wybór między układem ślimakowym, meandrowym pojedynczym a podwójnym meandrem zależy od Twoich potrzeb i specyfiki budynku:</p>



<ul class="wp-block-list">
<li><strong>Ślimakowy</strong>: Najlepszy dla równomiernego ciepła w dobrze ocieplonych domach, idealny dla sypialni i łazienek.</li>



<li><strong>Meandrowy pojedynczy</strong>: Prosty i tani, polecany dla małych pomieszczeń z wyraźnymi strefami zimnymi.</li>



<li><strong>Podwójny meander</strong>: Skuteczny w dużych salonach i pomieszczeniach z oknami, gdzie komfort jest priorytetem.</li>
</ul>



<p class="wp-block-paragraph">Klucz do sukcesu to profesjonalne podejście. Skorzystaj z usług <a href="https://projekt-ogrzewania.pl/">projekt-ogrzewania.pl</a>, aby uzyskać projekt dostosowany do Twojego domu i zoptymalizować instalację. Z darmowym projektem przy zakupie materiałów, takim jak <a href="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowe-tweetop-pert-ii-al-pert-ii-16x2/">rury do ogrzewania podłogowego</a>, oszczędzisz czas i pieniądze, ciesząc się ciepłem przez lata.</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="zURJBf6oSr"><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=qmY66iBign#?secret=zURJBf6oSr" data-secret="zURJBf6oSr" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jak-ukladac-rury-w-ogrzewaniu-slimak-meander-czy-podwojny-meander/">Jak układać rury w ogrzewaniu ślimak, meander czy podwójny meander?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Wady wodnego ogrzewania podłogowego – na co zwrócić uwagę przed instalacją?</title>
		<link>https://projekt-ogrzewania.pl/wady-wodnego-ogrzewania-podlogowego-na-co-zwrocic-uwage-przed-instalacja/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Thu, 10 Apr 2025 09:08:50 +0000</pubDate>
				<category><![CDATA[Błędy instalacyjne]]></category>
		<category><![CDATA[Budownictwo]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Ogrzewanie wodne]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Systemy grzewcze]]></category>
		<category><![CDATA[Systemy ogrzewania]]></category>
		<category><![CDATA[Technologia budowlana]]></category>
		<category><![CDATA[Technologie w domu]]></category>
		<category><![CDATA[inercja termiczna]]></category>
		<category><![CDATA[izolacja domu]]></category>
		<category><![CDATA[koszty instalacji]]></category>
		<category><![CDATA[materiały podłogowe]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[ryzyko przecieków]]></category>
		<category><![CDATA[wady wodnego ogrzewania podłogowego]]></category>
		<category><![CDATA[wilgotność powietrza]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2494</guid>

					<description><![CDATA[<p>Planujesz instalację ogrzewania podłogowego w swoim domu, ale zastanawiasz się, czy to na pewno dobry wybór? W naszym artykule przybliżamy kluczowe aspekty, które warto rozważyć przed podjęciem decyzji. Dowiedz się, jakie są wady wodnego ogrzewania podłogowego, takie jak wysokie koszty, wolna reakcja na zmiany temperatury czy wpływ na wilgotność powietrza. Sprawdź, jak zminimalizować te problemy i czy podłogówka sprawdzi się w Twoim domu!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/wady-wodnego-ogrzewania-podlogowego-na-co-zwrocic-uwage-przed-instalacja/">Wady wodnego ogrzewania podłogowego – na co zwrócić uwagę przed instalacją?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wodne ogrzewanie podłogowe to rozwiązanie, które zdobywa coraz większą popularność w polskich domach, szczególnie w nowoczesnych budynkach. Jednak, mimo wielu zalet, takich jak równomierne rozprowadzanie ciepła czy brak widocznych grzejników, <strong>wady wodnego ogrzewania podłogowego</strong> mogą sprawić, że nie będzie to idealny wybór dla każdego. W tym artykule przyjrzymy się bliżej potencjalnym problemom związanym z tym systemem, omówimy ich wpływ na użytkowanie i podpowiemy, jak można je zminimalizować. Jeśli planujesz instalację podłogówki, warto poznać jej ograniczenia, aby podjąć świadomą decyzję.</p>



<h2 class="wp-block-heading">Czy wodne ogrzewanie podłogowe ma swoje ciemne strony?</h2>



<p class="wp-block-paragraph">Wodne ogrzewanie podłogowe jest często przedstawiane jako komfortowe i energooszczędne rozwiązanie, ale nie jest pozbawione wad. Problemy te mogą dotyczyć zarówno etapu instalacji, jak i codziennego użytkowania. Poniżej omówimy szczegółowo najważniejsze <strong>niedogodności systemu podłogowego</strong>, abyś mógł ocenić, czy jest to odpowiedni wybór dla Twojego domu.</p>



<h3 class="wp-block-heading">Wysokie koszty początkowe – dlaczego podłogówka jest droga?</h3>



<p class="wp-block-paragraph">Jedną z głównych <strong>wad wodnego <a href="https://projekt-ogrzewania.pl">ogrzewania podłogowego</a></strong> są wysokie koszty instalacji. W porównaniu do tradycyjnych grzejników, system podłogowy jest droższy o około 30%. Dla domu o powierzchni 120 m² koszt materiałów i robocizny może wynieść od 12 000 do 18 000 zł, w zależności od regionu i użytych komponentów. Do tego należy doliczyć koszt profesjonalnego projektu, który jest niezbędny, aby system działał efektywnie.</p>



<ul class="wp-block-list">
<li><strong>Koszty materiałów</strong>: Rury, rozdzielacze, maty mocujące i izolacja to podstawowe elementy, które zwiększają budżet.</li>



<li><strong>Robocizna</strong>: Instalacja wymaga specjalistycznej wiedzy i doświadczenia, co podnosi cenę.</li>



<li><strong>Dodatkowe wydatki</strong>: Profesjonalny projekt może kosztować od 500 do 1500 zł, w zależności od powierzchni.</li>
</ul>



<p class="wp-block-paragraph">Przykładem może być sytuacja, w której decydujesz się na instalację w starszym domu. Jeśli podłoga wymaga dodatkowych prac przygotowawczych, takich jak wyrównanie czy poprawa izolacji, koszty mogą wzrosnąć nawet o kilka tysięcy złotych. Aby zminimalizować wydatki, warto rozważyć zakup materiałów w sprawdzonym miejscu, takim jak <a href="https://projekt-ogrzewania.pl/sklep/" target="_blank" rel="noreferrer noopener">sklep projekt-ogrzewania.pl</a>, gdzie znajdziesz wysokiej jakości <strong>materiały do wodnego ogrzewania podłogowego</strong>.</p>



<h3 class="wp-block-heading">Koszty napraw – co, jeśli coś pójdzie nie tak?</h3>



<p class="wp-block-paragraph">Kolejnym problemem są <strong>wysokie koszty napraw</strong> w przypadku awarii. Wodne ogrzewanie podłogowe jest systemem ukrytym pod podłogą, co oznacza, że każda usterka, np. przeciek, wymaga rozbiórki posadzki. Koszt takiej naprawy może sięgać od 2000 do 5000 zł, w zależności od skali problemu i rodzaju podłogi.</p>



<ul class="wp-block-list">
<li><strong>Przykład</strong>: Jeśli po 5 latach użytkowania dojdzie do uszkodzenia rury w salonie, konieczne będzie zerwanie parkietu, naprawa rury i ponowne ułożenie podłogi.</li>



<li><strong>Rozwiązanie</strong>: Stosowanie trwałych materiałów, takich jak rury wielowarstwowe, może zmniejszyć ryzyko awarii.</li>
</ul>



<p class="wp-block-paragraph">Aby uniknąć takich sytuacji, warto zainwestować w wysokiej jakości komponenty, takie jak <a href="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-redart-pe-rt-al-pe/" target="_blank" rel="noreferrer noopener">rura wielowarstwowa Kisan Redart</a> (Exact match), która jest odporna na uszkodzenia i zapewnia długą żywotność systemu.</p>



<h3 class="wp-block-heading">Wolna reakcja na zmiany temperatury – problem z dynamiką.</h3>



<p class="wp-block-paragraph">Wodne ogrzewanie podłogowe ma wysoką inercję termiczną, co oznacza, że <strong>wolno reaguje na zmiany temperatury</strong>. Jeśli w ciągu dnia temperatura na zewnątrz gwałtownie spada, a Ty chcesz szybko ogrzać dom, podłogówka może potrzebować kilku godzin, aby osiągnąć pożądaną temperaturę. To sprawia, że system nie jest idealny w domach, gdzie zapotrzebowanie na ciepło zmienia się dynamicznie.</p>



<ul class="wp-block-list">
<li><strong>Przykład</strong>: Wracasz do domu po weekendowym wyjeździe w zimie i chcesz szybko ogrzać salon. Podłogówka może potrzebować 3-4 godzin, aby podnieść temperaturę z 15°C do 22°C.</li>



<li><strong>Rozwiązanie</strong>: W takich przypadkach warto rozważyć dodatkowe źródła ciepła, np. grzejniki elektryczne w kluczowych pomieszczeniach.</li>
</ul>



<p class="wp-block-paragraph">Ta cecha sprawia, że wodne ogrzewanie podłogowe najlepiej sprawdza się w domach o stabilnym zapotrzebowaniu na ciepło, takich jak dobrze izolowane budynki pasywne.</p>



<h3 class="wp-block-heading">Wpływ na wilgotność powietrza – czy podłogówka wysusza pomieszczenia?</h3>



<p class="wp-block-paragraph">Jedną z mniej oczywistych <strong>wad wodnego ogrzewania podłogowego</strong> jest jego wpływ na wilgotność powietrza w pomieszczeniach. System ten, działając na zasadzie promieniowania cieplnego, może wysuszać powietrze, co jest szczególnie problematyczne w sezonie grzewczym, gdy wilgotność i tak jest niska. Dla osób z alergiami, problemami z drogami oddechowymi czy suchą skórą może to być istotny problem.</p>



<ul class="wp-block-list">
<li><strong>Skutki niskiej wilgotności</strong>:
<ul class="wp-block-list">
<li>Podrażnienie dróg oddechowych, szczególnie u dzieci i alergików.</li>



<li>Wzrost cyrkulacji kurzu, co może nasilać objawy alergii.</li>



<li>Dyskomfort związany z suchą skórą i śluzówkami.</li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph">Aby zminimalizować ten problem, warto zadbać o odpowiednią wilgotność w domu, np. za pomocą nawilżacza powietrza. Więcej informacji na ten temat znajdziesz w naszym artykule, który szczegółowo omawia, <strong><a href="https://projekt-ogrzewania.pl/jak-ogrzewanie-podlogowe-wplywa-na-wilgotnosc-powietrza-w-domu/" target="_blank" rel="noreferrer noopener">jak ogrzewanie podłogowe wpływa na wilgotność powietrza w domu</a></strong>. W domach o słabej wentylacji problem ten może być szczególnie odczuwalny, dlatego warto rozważyć dodatkowe rozwiązania, takie jak systemy wentylacji mechanicznej.</p>



<h3 class="wp-block-heading">Wymagania dotyczące materiałów podłogowych – nie każdy materiał się sprawdzi.</h3>



<p class="wp-block-paragraph">Nie każdy materiał podłogowy dobrze współpracuje z wodnym ogrzewaniem podłogowym, co jest kolejną wadą tego systemu. <strong>Wybór odpowiedniej okładziny podłogowej</strong> ma kluczowe znaczenie dla efektywności ogrzewania. Materiały o wysokim oporze cieplnym, takie jak grube dywany czy niektóre rodzaje drewna, mogą blokować przepływ ciepła, co obniża wydajność systemu.</p>



<ul class="wp-block-list">
<li><strong>Przykłady materiałów problematycznych</strong>:
<ul class="wp-block-list">
<li>Drewno o oporze cieplnym powyżej 0,15 m²K/W, np. buk (0,18 m²K/W).</li>



<li>Grube dywany, które działają jak izolator.</li>
</ul>
</li>



<li><strong>Zalecane materiały</strong>: Płytki ceramiczne, panele winylowe lub cienkie parkiety.</li>
</ul>



<p class="wp-block-paragraph">Jeśli planujesz drewnianą podłogę, warto zapoznać się z naszym artykułem, który omawia <strong><a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/" target="_blank" rel="noreferrer noopener">drewniane podłogi i panele laminowane w kontekście podłogówki</a></strong>. Nieodpowiedni wybór materiału może sprawić, że system będzie mniej efektywny, a rachunki za ogrzewanie wzrosną.</p>



<h3 class="wp-block-heading">Ryzyko przecieków i zapowietrzenia – techniczne wyzwania.</h3>



<p class="wp-block-paragraph"><strong>Ryzyko przecieków</strong> to jedna z poważniejszych wad wodnego ogrzewania podłogowego. Uszkodzenie rur, np. w wyniku błędów instalacyjnych lub zużycia materiału, może prowadzić do wycieków, które są kosztowne i trudne do naprawienia. Dodatkowo, system może się zapowietrzyć, co powoduje nierównomierne ogrzewanie i obniża jego wydajność.</p>



<ul class="wp-block-list">
<li><strong>Objawy zapowietrzenia</strong>:
<ul class="wp-block-list">
<li>Zimne fragmenty podłogi w niektórych miejscach.</li>



<li>Dźwięki bulgotania w rurach.</li>
</ul>
</li>



<li><strong>Rozwiązanie</strong>: Regularne próby szczelności i stosowanie wysokiej jakości rur.</li>
</ul>



<p class="wp-block-paragraph">Przecieki są szczególnie problematyczne, ponieważ wymagają zerwania podłogi, co generuje dodatkowe koszty i dyskomfort. Dlatego warto zainwestować w trwałe komponenty i profesjonalną instalację, aby zminimalizować ryzyko takich problemów.</p>



<h3 class="wp-block-heading">Mniejsza efektywność w słabo izolowanych domach.</h3>



<p class="wp-block-paragraph">Wodne ogrzewanie podłogowe jest mniej efektywne w domach z <strong>słabą izolacją termiczną</strong>. Jeśli Twój budynek ma nieszczelne okna, słabo ocieplone ściany lub dach, ciepło będzie uciekać, a system nie zapewni odpowiedniego komfortu cieplnego. W takich przypadkach rachunki za ogrzewanie mogą być wyższe, niż się spodziewasz.</p>



<ul class="wp-block-list">
<li><strong>Przykład</strong>: W domu z lat 80., bez termomodernizacji, podłogówka może nie być w stanie utrzymać temperatury 21°C w salonie, nawet przy maksymalnej mocy.</li>



<li><strong>Rozwiązanie</strong>: Przed instalacją warto zainwestować w poprawę izolacji, np. docieplenie ścian lub wymianę okien.</li>
</ul>



<p class="wp-block-paragraph">W dobrze izolowanych domach, takich jak budynki pasywne, wodne ogrzewanie podłogowe działa znacznie lepiej, ale w starszych konstrukcjach może być niewystarczające jako jedyne źródło ciepła.</p>



<h3 class="wp-block-heading">Dyskomfort dla niektórych użytkowników – czy podłogówka jest dla wszystkich?</h3>



<p class="wp-block-paragraph">Choć ciepła podłoga jest dla wielu synonimem komfortu, dla niektórych może być <strong>źródłem dyskomfortu</strong>. W sypialniach, gdzie preferowane są niższe temperatury (np. 18-20°C), podłogówka może sprawiać wrażenie zbyt ciepłej, szczególnie jeśli nie masz możliwości precyzyjnej regulacji temperatury w każdym pomieszczeniu.</p>



<ul class="wp-block-list">
<li><strong>Przykład</strong>: Osoby, które lubią spać w chłodniejszych warunkach, mogą odczuwać dyskomfort, gdy podłoga w sypialni jest ciepła.</li>



<li><strong>Rozwiązanie</strong>: Zainstalowanie termostatów w każdym pokoju, aby dostosować temperaturę do indywidualnych potrzeb.</li>
</ul>



<p class="wp-block-paragraph">Dodatkowo, wodne ogrzewanie podłogowe może wysuszać powietrze, co może być problematyczne dla osób z alergiami lub problemami z drogami oddechowymi. W takich przypadkach warto zadbać o odpowiednią wilgotność w pomieszczeniach, np. za pomocą nawilżacza.</p>



<h3 class="wp-block-heading">Poniżej przedstawiamy tabelę z kluczowymi wadami, aby ułatwić porównanie:</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th><strong>Wada</strong></th><th><strong>Szczegóły</strong></th></tr></thead><tbody><tr><td>Wyższe koszty instalacji</td><td>Około 30% droższe niż tradycyjne systemy, DIY może zaoszczędzić 2000-5000 zł.</td></tr><tr><td>Wysokie koszty napraw</td><td>Wymaga rozbiórki podłogi, co generuje wysokie koszty.</td></tr><tr><td>Dłuższy czas instalacji</td><td>Wymaga specjalistycznego sprzętu i ekipy.</td></tr><tr><td>Wolniejsza reakcja na zmiany temperatury</td><td>Wysoka inercja termiczna, opóźnienie nawet o kilka godzin.</td></tr><tr><td>Ryzyko przegrzania</td><td>Możliwe pod dywanami lub meblami, wpływa na komfort.</td></tr><tr><td>Ograniczenia materiałowe</td><td>Niektóre drewna (np. buk, klon) mogą pękać, opór cieplny &gt;0,15 m²K/W.</td></tr><tr><td>Mniejsza skuteczność w słabo izolowanych domach</td><td>Problemy w domach z słabą izolacją lub na wyższych piętrach.</td></tr><tr><td>Problemy z integracją z systemami smart home</td><td>Może nie działać z wszystkimi zaawansowanymi systemami sterowania.</td></tr><tr><td>Dyskomfort dla niektórych użytkowników</td><td>Niekomfortowe w sypialniach, preferujących niższe temperatury.</td></tr><tr><td>Ryzyko przecieków</td><td>Uszkodzenie rur prowadzi do kosztownych napraw i uszkodzeń podłogi.</td></tr><tr><td>Wpływ na wilgotność powietrza</td><td>Może wysuszać powietrze, co jest problematyczne dla alergików.</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Jak profesjonalny projekt pomaga zminimalizować wady wodnego ogrzewania podłogowego?</h2>



<p class="wp-block-paragraph">Aby zminimalizować <strong>wady wodnego ogrzewania podłogowego</strong>, kluczowe jest wykonanie profesjonalnego projektu. Taki projekt uwzględnia specyfikę budynku, taką jak rozkład pomieszczeń, rodzaj podłóg czy zapotrzebowanie na ciepło, co pozwala uniknąć typowych błędów, takich jak zły rozstaw rur czy za długie pętle. Oferujemy <strong><a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">projekty ogrzewania podłogowego</a></strong>, które zapewniają optymalne działanie systemu. Co więcej, przy zakupie materiałów instalacyjnych u nich, projekt otrzymasz za darmo, co pozwala obniżyć koszty początkowe i zwiększyć efektywność instalacji.</p>



<h2 class="wp-block-heading">FAQ – Najczęściej zadawane pytania o wady wodnego ogrzewania podłogowego.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1744274314935"><strong class="schema-faq-question"><strong>Dlaczego wodne ogrzewanie podłogowe jest droższe od tradycyjnych grzejników?</strong></strong> <p class="schema-faq-answer">Wodne ogrzewanie podłogowe jest droższe o około 30% ze względu na koszt materiałów, takich jak rury i rozdzielacze, oraz robociznę. Instalacja wymaga specjalistycznego sprzętu i ekipy, a także profesjonalnego projektu, co dodatkowo podnosi koszty.</p> </div> <div class="schema-faq-section" id="faq-question-1744274325277"><strong class="schema-faq-question"><strong>Czy wodne ogrzewanie podłogowe może wysuszać powietrze w domu?</strong></strong> <p class="schema-faq-answer">Tak, wodne ogrzewanie podłogowe może wysuszać powietrze, szczególnie w sezonie grzewczym. To problem dla osób z alergiami lub suchą skórą, ale można go zminimalizować, stosując nawilżacz powietrza.</p> </div> <div class="schema-faq-section" id="faq-question-1744274335230"><strong class="schema-faq-question"><strong>Jakie materiały podłogowe nie nadają się do podłogówki?</strong></strong> <p class="schema-faq-answer">Materiały o wysokim oporze cieplnym, takie jak grube dywany czy niektóre drewna (np. buk, klon), nie nadają się do podłogówki, ponieważ blokują przepływ ciepła i obniżają efektywność systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1744274346205"><strong class="schema-faq-question"><strong>Czy wodne ogrzewanie podłogowe sprawdzi się w słabo izolowanym domu?</strong></strong> <p class="schema-faq-answer">W słabo izolowanych domach wodne ogrzewanie podłogowe jest mniej efektywne, ponieważ ciepło ucieka przez nieszczelne okna czy ściany. Warto najpierw poprawić izolację, aby system działał wydajnie.</p> </div> <div class="schema-faq-section" id="faq-question-1744274365023"><strong class="schema-faq-question"><strong>Jakie są największe techniczne wady wodnego ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Największe techniczne wady to ryzyko przecieków, które wymagają kosztownych napraw, oraz zapowietrzenie systemu, które powoduje nierównomierne ogrzewanie. Kluczowe jest stosowanie trwałych materiałów i profesjonalna instalacja.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie – czy warto zdecydować się na wodne ogrzewanie podłogowe?</h2>



<p class="wp-block-paragraph">Wodne ogrzewanie podłogowe ma wiele zalet, ale jego <strong>wady</strong>, takie jak wysokie koszty, wolna reakcja na zmiany temperatury, wpływ na wilgotność powietrza czy ryzyko przecieków, mogą być istotne dla potencjalnych użytkowników. System ten najlepiej sprawdza się w dobrze izolowanych domach, gdzie można w pełni wykorzystać jego potencjał. Jeśli jednak Twój budynek ma słabą izolację, a Ty cenisz elastyczność w zarządzaniu temperaturą, warto rozważyć inne rozwiązania, takie jak grzejniki.</p>



<p class="wp-block-paragraph">Przed podjęciem decyzji o instalacji warto dokładnie przeanalizować swoje potrzeby i możliwości finansowe. Profesjonalny projekt, wysokiej jakości materiały i staranne wykonanie mogą znacząco zminimalizować wady wodnego ogrzewania podłogowego, czyniąc je komfortowym i efektywnym rozwiązaniem na lata. </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="U1biyyAd7U"><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=pwP6BAY5Bc#?secret=U1biyyAd7U" data-secret="U1biyyAd7U" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/wady-wodnego-ogrzewania-podlogowego-na-co-zwrocic-uwage-przed-instalacja/">Wady wodnego ogrzewania podłogowego – na co zwrócić uwagę przed instalacją?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Kalkulator do obliczania ilości metrów rury potrzebnych do ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/</link>
					<comments>https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 14 Mar 2025 11:52:06 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Kalkulatory budowlane]]></category>
		<category><![CDATA[Materiały budowlane]]></category>
		<category><![CDATA[Narzędzia i kalkulatory]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Optymalizacja kosztów]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Systemy grzewcze]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[kalkulator rury]]></category>
		<category><![CDATA[materiały budowlane]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[poradniki]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[remonty]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2407</guid>

					<description><![CDATA[<p>Planujesz montaż ogrzewania podłogowego i zastanawiasz się, ile metrów rury będzie potrzebnych? Kalkulator do obliczania ilości metrów rury do ogrzewania podłogowego to narzędzie, które pomoże Ci precyzyjnie oszacować potrzebne materiały. Dzięki niemu unikniesz błędów, które mogą wpłynąć na efektywność systemu. W artykule znajdziesz praktyczne przykłady obliczeń, wskazówki dotyczące stref grzewczych oraz informacje, dlaczego warto zlecić projekt profesjonalistom. Sprawdź, jak zaoszczędzić czas i pieniądze!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/">Kalkulator do obliczania ilości metrów rury potrzebnych do ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Planujesz montaż <em><a href="https://projekt-ogrzewania.pl">ogrzewania podłogowego</a></em> i zastanawiasz się, ile metrów rury będzie potrzebnych? Właśnie w tym pomoże Tobie <strong>kalkulator do obliczania ilości metrów rury do ogrzewania podłogowego</strong>. To narzędzie nie tylko oszczędza czas, ale też minimalizuje ryzyko błędów, które mogą wpłynąć na efektywność systemu. W tym artykule dowiesz się, jak działa taki kalkulator, na co zwrócić uwagę przy obliczeniach oraz dlaczego warto uwzględnić profesjonalny projekt instalacji.</p>



<h2 class="wp-block-heading">Jak działa kalkulator do ogrzewania podłogowego?</h2>



<p class="wp-block-paragraph"><em>Kalkulator do obliczania długości rury</em> opiera się na prostych, ale kluczowych parametrach:</p>



<ul class="wp-block-list">
<li><strong>Rozstaw pętli grzewczej</strong> (np. 10 cm, 15 cm, 20 cm),</li>



<li><strong>Powierzchnia pomieszczenia</strong> w metrach kwadratowych,</li>



<li><strong>Odległość od rozdzielacza</strong>, czyli długość przyłączy doprowadzających wodę do systemu.</li>
</ul>



<p class="wp-block-paragraph">Na przykład, dla pomieszczenia o powierzchni <strong>30 m²</strong> i rozstawie rur <strong>15 cm</strong>, obliczenia wyglądają następująco:</p>



<p class="wp-block-paragraph">Długość rury = (Powierzchnia / Rozstaw) * 2 + (Odległość od rozdzielacza * 2)<br>Długość rury = (30 m² / 0,15 m) * 2 + (5 m * 2) = 400 m + 10 m = 410 m</p>



<h2 class="wp-block-heading">Kluczowe czynniki wpływające na długość rury.</h2>



<p class="wp-block-paragraph">Nie wystarczy znać wzór – trzeba też zrozumieć, co może wpłynąć na finalny wynik:</p>



<ul class="wp-block-list">
<li><strong>Kształt pomieszczenia</strong> – nieregularne bryły wymagają więcej rury ze względu na konieczność omijania przeszkód,</li>



<li><strong>Strefy grzewcze</strong> – miejsca, gdzie potrzebna jest wyższa temperatura (np. łazienki),</li>



<li><strong>Rodzaj rury</strong> – niektóre materiały mają ograniczenia dotyczące maksymalnej długości pętli (np. 80-100 m).</li>
</ul>



<h2 class="wp-block-heading">Przykłady obliczeń dla różnych rozstawów rur.</h2>



<p class="wp-block-paragraph">Poniżej znajdziesz trzy praktyczne scenariusze, które pokazują, jak zmienia się długość rury w zależności od rozstawu:</p>



<h3 class="wp-block-heading">Przykład 1: Rozstaw 10 cm (mieszkanie 50 m²)</h3>



<ul class="wp-block-list">
<li>Powierzchnia: 50 m²</li>



<li>Rozstaw: 10 cm (0,1 m)</li>



<li>Odległość od rozdzielacza: 8 m</li>
</ul>



<p class="wp-block-paragraph">Długość rury = (50 / 0,1) * 2 + (8 * 2) = 1000 m + 16 m = 1016 m</p>



<p class="wp-block-paragraph"><em>Uwaga!</em> Tak duża długość wymaga podziału na co najmniej <strong>13 pętli</strong> (1016 m / 80 m = 12,7 → zaokrąglenie w górę).</p>



<h3 class="wp-block-heading">Przykład 2: Rozstaw 20 cm (dom 120 m²)</h3>



<ul class="wp-block-list">
<li>Powierzchnia: 120 m²</li>



<li>Rozstaw: 20 cm (0,2 m)</li>



<li>Odległość od rozdzielacza: 12 m</li>
</ul>



<p class="wp-block-paragraph">Długość rury = (120 / 0,2) * 2 + (12 * 2) = 1200 m + 24 m = 1224 m</p>



<p class="wp-block-paragraph">W tym przypadku zaleca się podział na <strong>16 pętli</strong> (1224 m / 80 m = 15,3 → zaokrąglenie w górę).</p>



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

/* ZAJAWKA SEO I LINK */
.calc-intro {
    max-width: 1150px;
    margin: 40px auto 10px auto;
    text-align: center;
    padding: 0 20px;
}

.calc-intro h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--primary);
    margin-bottom: 15px;
}

.calc-intro p {
    font-size: 16px;
    color: #475569;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
}

.pipe-calc {
    max-width: 1150px;
    margin: 30px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    color: var(--primary);
}

.calc-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
}

/* LEWA STRONA - KONFIGURACJA */
.config-side {
    padding: 40px;
    background: #ffffff;
}

.section-title {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 1.2px;
    margin-bottom: 20px;
    display: block;
}

.type-selector {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-bottom: 30px;
}

.type-btn {
    padding: 14px 8px;
    border: 2px solid #cbd5e1;
    border-radius: 12px;
    cursor: pointer;
    text-align: center;
    font-weight: 700;
    font-size: 14px;
    color: #475569;
    background: #fff;
    transition: all 0.2s;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.type-btn span {
    margin-top: 4px;
    font-size: 10px;
    font-weight: 400;
}

.type-btn.active {
    border-color: var(--accent);
    background: #eff6ff;
    color: var(--accent);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.1);
}

.input-wrap { margin-bottom: 25px; }
.input-label-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    align-items: center;
}
.input-label-row label { font-weight: 600; font-size: 14px; }
.input-label-row .val-badge {
    background: #f1f5f9;
    padding: 4px 12px;
    border-radius: 8px;
    font-weight: 800;
    color: var(--accent);
    font-size: 14px;
}

input[type=range] {
    width: 100%; height: 6px; background: #e2e8f0; border-radius: 10px; appearance: none; outline: none; margin-top: 10px;
}
input[type=range]::-webkit-slider-thumb {
    appearance: none; width: 22px; height: 22px; background: var(--accent); border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.15); cursor: pointer;
}

/* PRAWA STRONA - WYNIKI */
.result-side {
    padding: 40px;
    background: var(--bg-light);
    border-left: 1px solid #f1f5f9;
}

.main-score-box {
    background: white; padding: 30px; border-radius: 20px; text-align: center; box-shadow: 0 10px 25px rgba(0,0,0,0.03); margin-bottom: 25px; border-bottom: 6px solid var(--accent); transition: 0.3s;
}
.score-num { font-size: 48px; font-weight: 900; line-height: 1; display: block; margin: 10px 0; }
.score-label { font-size: 12px; color: #64748b; font-weight: 700; text-transform: uppercase; }

.tech-grid {
    background: var(--primary); color: white; padding: 25px; border-radius: 20px; display: grid; gap: 12px;
}
.tech-item {
    display: flex; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid #1e293b; align-items: center;
}
.tech-item:last-child { border: none; padding-bottom: 0; }
.tech-item span { color: #94a3b8; font-size: 13px; }
.tech-item strong { font-size: 15px; text-align: right; color: #fff;}

.material-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 15px;
}
.mini-card { background: rgba(255,255,255,0.08); padding: 15px; border-radius: 12px; text-align: center;}
.mini-card span { font-size: 11px; color: #94a3b8; display: block; margin-bottom: 6px; text-transform: uppercase; font-weight: 600;}
.mini-card strong { font-size: 18px; color: #fff; }

/* STOPKA */
.footer-cta {
    margin: 0 40px 40px 40px;
    padding: 30px;
    background: #eff6ff;
    border-radius: 20px;
    border-left: 6px solid var(--accent);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.cta-text-side {
    max-width: 550px;
}

.cta-buttons-stack {
    display: flex;
    flex-direction: column; 
    gap: 12px;
    min-width: 280px; 
}

.cta-btn {
    display: block; background: var(--accent); color: white; text-decoration: none; padding: 16px 20px; border-radius: 12px; font-weight: 800; transition: 0.3s; font-size: 13px; text-align: center; border: none; cursor: pointer;
}
.cta-btn:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(37, 99, 235, 0.2); }

@media (max-width: 900px) {
    .calc-grid { grid-template-columns: 1fr; }
    .footer-cta { flex-direction: column; text-align: center; gap: 25px; margin: 20px; }
    .cta-buttons-stack { min-width: 100%; width: 100%; }
}
</style>

<div class="calc-intro">
    <h2>Kalkulator ilości rur do ogrzewania podłogowego</h2>
    <p>Sprawdź, ile metrów bieżących rury potrzebujesz do swojej instalacji. Narzędzie stworzone przez ekspertów <a href="https://projekt-ogrzewania.pl/" style="color: #2563eb; font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>. Wybierz rozstaw pętli, podaj powierzchnię i średnią odległość od rozdzielacza, a nasz kalkulator automatycznie dobierze ilość rury oraz zasugeruje bezpieczny podział na pętle.</p>
</div>

<div class="pipe-calc" id="pipe-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            <span class="section-title">1. Rozstaw rur (pętli)</span>
            <div class="type-selector">
                <div class="type-btn active" data-rozstaw="10" data-mb="10">10 cm<span>10 mb / m²</span></div>
                <div class="type-btn" data-rozstaw="15" data-mb="7">15 cm<span>7 mb / m²</span></div>
                <div class="type-btn" data-rozstaw="20" data-mb="5">20 cm<span>5 mb / m²</span></div>
                <div class="type-btn" data-rozstaw="25" data-mb="4">25 cm<span>4 mb / m²</span></div>
            </div>

            <span class="section-title">2. Parametry instalacji</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Powierzchnia (domu/pomieszczenia)</label><span class="val-badge"><span id="v-area">100</span> m²</span></div>
                <input type="range" id="area" min="1" max="500" value="100">
            </div>
            
            <div class="input-wrap">
                <div class="input-label-row"><label>Średnia odległość od rozdzielacza</label><span class="val-badge"><span id="v-dist">8</span> m</span></div>
                <input type="range" id="dist" min="0" max="30" step="1" value="8">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Długość od rozdzielacza do strefy grzewczej (kalkulator sam doliczy zasilanie i powrót dla każdej pętli).</div>
            </div>
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Potrzebna ilość rury (łącznie)</span>
                <span class="score-num" id="resTotal">&#8212;</span>
                <span class="score-label">metrów bieżących (mb)</span>
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span>Wybrany rozstaw:</span><strong id="resSpacing">10 cm</strong></div>
                <div class="tech-item"><span>Rura na samą powierzchnię:</span><strong id="resAreaOnly">&#8212;</strong></div>
                <div class="tech-item"><span>Rura na przyłącza (dla wszystkich pętli):</span><strong id="resConnections">&#8212;</strong></div>
                
                <div class="material-grid">
                    <div class="mini-card" style="background: rgba(37, 99, 235, 0.15); border: 1px solid rgba(37, 99, 235, 0.3);">
                        <span style="color: #bfdbfe;">Sugerowana ilość pętli:</span><strong id="resLoops" style="color: #60a5fa;">&#8212;</strong>
                    </div>
                    <div class="mini-card">
                        <span>Średnia dł. jednej pętli:</span><strong id="resLoopLen">&#8212;</strong>
                    </div>
                </div>
            </div>
            
            <p style="font-size: 10px; color: #64748b; text-align: center; margin-top: 20px; line-height: 1.5;">
                Uwaga: Kalkulator ma charakter poglądowy i nie uwzględnia stref grzanych przyłączami biegnącymi przez pomieszczenia.
            </p>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Potrzebujesz dokładnych wyliczeń?</h3>
            <p style="margin:0; font-size:14px; color:#475569">Zbyt długie pętle to zimna podłoga i problem z pompą obiegową. Wykonamy dla Ciebie darmową wycenę lub profesjonalny projekt, który wyeliminuje błędy.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="javascript:void(0)" id="btn-email" class="cta-btn" style="background:#1e293b">
                WYŚLIJ WYNIKI NA E-MAIL
            </a>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
                ZAMÓW PROJEKT OGRZEWANIA →
            </a>
        </div>
    </div>
</div>

<script>
(function() {
    var appContainer = document.getElementById('pipe-calc-app');
    if (!appContainer) return;

    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (allowedDomains.indexOf(domain) === -1) {
        // Zabezpieczony komunikat używający template literals (backtick)
        appContainer.innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px; font-family: sans-serif;">
                <span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span>
                <h3 style="margin-top:0; font-size: 24px; color: #dc2626;">Narzędzie chronione</h3>
                <p style="font-size: 16px; margin-bottom: 25px;">Ten kalkulator jest własnością serwisu <a href="https://projekt-ogrzewania.pl/" style="color: #dc2626; font-weight: bold; text-decoration: underline;">Projekt-Ogrzewania.pl</a></p>
                <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 14px 28px; background: #dc2626; color: #ffffff; text-decoration: none; border-radius: 12px; font-weight: 800;">PRZEJDŹ DO ORYGINAŁU</a>
            </div>
        `;
        return; 
    }

    var currentRozstaw = 10;
    var currentMbPerM2 = 10;
    var MAX_LOOP_LENGTH = 80;

    function updateCalc() {
        var areaEl = document.getElementById('area');
        var distEl = document.getElementById('dist');
        if(!areaEl || !distEl) return;

        var area = parseFloat(areaEl.value);
        var dist = parseFloat(distEl.value);
        
        document.getElementById('v-area').innerText = area;
        document.getElementById('v-dist').innerText = dist;

        var areaPipe = area * currentMbPerM2;
        var maxUsableInLoop = MAX_LOOP_LENGTH - (dist * 2);
        if (maxUsableInLoop < 10) { maxUsableInLoop = 10; }

        var loops = Math.ceil(areaPipe / maxUsableInLoop);
        var connectionsPipe = loops * (dist * 2);
        var totalLength = areaPipe + connectionsPipe;
        var loopLen = totalLength / loops;

        document.getElementById('resTotal').innerText = totalLength.toFixed(0);
        document.getElementById('resSpacing').innerText = currentRozstaw + ' cm';
        document.getElementById('resAreaOnly').innerText = areaPipe.toFixed(0) + ' mb';
        document.getElementById('resConnections').innerText = connectionsPipe.toFixed(0) + ' mb';
        
        document.getElementById('resLoops').innerText = loops + (loops === 1 ? ' szt.' : ' szt.');
        document.getElementById('resLoopLen').innerText = '~' + loopLen.toFixed(1) + ' mb';
    }

    var typeBtns = document.querySelectorAll('#pipe-calc-app .type-btn');
    typeBtns.forEach(function(btn) {
        btn.addEventListener('click', function(e) {
            typeBtns.forEach(function(b) { b.classList.remove('active'); });
            var currentBtn = e.currentTarget;
            currentBtn.classList.add('active');
            
            currentRozstaw = parseInt(currentBtn.getAttribute('data-rozstaw'));
            currentMbPerM2 = parseFloat(currentBtn.getAttribute('data-mb'));
            updateCalc();
        });
    });

    var areaInput = document.getElementById('area');
    var distInput = document.getElementById('dist');
    
    if(areaInput) areaInput.addEventListener('input', updateCalc);
    if(distInput) distInput.addEventListener('input', updateCalc);

    var btnEmail = document.getElementById('btn-email');
    if(btnEmail) {
        btnEmail.addEventListener('click', function() {
            var area = document.getElementById('v-area').innerText;
            var dist = document.getElementById('v-dist').innerText;
            var total = document.getElementById('resTotal').innerText;
            var loops = document.getElementById('resLoops').innerText;
            var loopLen = document.getElementById('resLoopLen').innerText;
            
            var email = 'biuro@projekt-ogrzewania.pl';
            var subject = encodeURIComponent('Konsultacja - Zapotrzebowanie na rurę PEX');
            
            var bodyText = 'Dzień dobry,\n\nZrobiłem wstępne kalkulacje ilości rury z Państwa narzędzia:\n\n' +
                           '• Rozstaw pętli: ' + currentRozstaw + ' cm\n' +
                           '• Powierzchnia: ' + area + ' m²\n' +
                           '• Średnia odległość od rozdzielacza: ' + dist + ' m\n' +
                           '• POTRZEBNA RURA: ' + total + ' mb\n' +
                           '• Sugerowany podział: ' + loops + ' pętli po średnio ' + loopLen + '\n\n' +
                           'Proszę o kontakt w sprawie projektu / wyceny materiałów.';
            
            var ampersand = String.fromCharCode(38);           
            window.location.href = 'mailto:' + email + '?subject=' + subject + ampersand + 'body=' + encodeURIComponent(bodyText);
        });
    }

    updateCalc();
})();
</script>



<p class="wp-block-paragraph">Zobacz pozostałe nasze kalkulatory <a href="https://projekt-ogrzewania.pl/category/kalkulatory-budowlane/">tutaj</a>.</p>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego – dlaczego warto go zlecić profesjonalistom?</h2>



<p class="wp-block-paragraph">Nawet najlepszy <strong>kalkulator do obliczania metrów rury</strong> nie zastąpi kompleksowego projektu. Dlaczego? Oto trzy powody:</p>



<ol class="wp-block-list">
<li><strong>Optymalizacja stref grzewczych</strong> – profesjonaliści dobiorą rozstaw rur tak, aby w łazience było cieplej niż w przedpokoju,</li>



<li><strong>Unikanie mostków termicznych</strong> – błędy w rozmieszczeniu rur mogą prowadzić do strat ciepła,</li>



<li><strong>Dobór materiałów</strong> – doświadczony projektant uwzględni rodzaj podłoża i izolacji.</li>
</ol>



<p class="wp-block-paragraph">Na stronie naszej stronie internetowej znajdziesz <a href="https://projekt-ogrzewania.pl/category/kalkulatory-budowlane/">darmowe narzędzia do wstępnych obliczeń</a> oraz możliwość zlecenia szczegółowego <a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/">projektu</a>.</p>



<h3 class="wp-block-heading">Jak uniknąć typowych błędów przy obliczeniach?</h3>



<p class="wp-block-paragraph">Oto trzy pułapki, na które warto uważać:</p>



<ul class="wp-block-list">
<li><strong>Zapominanie o przyłączach</strong> – dodaj minimum 2 m rury na każde połączenie z rozdzielaczem,</li>



<li><strong>Ignorowanie strat ciśnienia</strong> – zbyt długa pętla (&gt;80 m) może wymagać mocniejszej pompy,</li>



<li><strong>Brak zapasu materiału</strong> – zawsze dodaj 5-10% do wyniku kalkulatora na okręcenie przeszkód.</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-1741950968299"><strong class="schema-faq-question"><strong>Jak działa kalkulator do obliczania długości rury do ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Kalkulator uwzględnia trzy główne parametry: rozstaw pętli, powierzchnię pomieszczenia oraz odległość od rozdzielacza. Na podstawie tych danych oblicza całkowitą długość rury potrzebną do instalacji.</p> </div> <div class="schema-faq-section" id="faq-question-1741950978052"><strong class="schema-faq-question"><strong>Czy kalkulator uwzględnia strefy grzewcze?</strong></strong> <p class="schema-faq-answer">Nie, standardowy kalkulator nie uwzględnia stref grzewczych. Warto skonsultować się z projektantem, aby dostosować system do konkretnych potrzeb (np. cieplejsza łazienka).</p> </div> <div class="schema-faq-section" id="faq-question-1741950989206"><strong class="schema-faq-question"><strong>Jakie są typowe błędy przy obliczaniu długości rury?</strong></strong> <p class="schema-faq-answer">Najczęstsze błędy to pomijanie długości przyłączy, ignorowanie strat ciśnienia w długich pętlach oraz brak zapasu materiału na okręcanie przeszkód.</p> </div> <div class="schema-faq-section" id="faq-question-1741951000751"><strong class="schema-faq-question"><strong>Dlaczego warto zlecić projekt ogrzewania podłogowego profesjonalistom?</strong></strong> <p class="schema-faq-answer">Profesjonalny <a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">projekt ogrzewania podłogowego</a> gwarantuje optymalne rozmieszczenie rur, unikanie mostków termicznych oraz dobór odpowiednich materiałów, co przekłada się na efektywność i trwałość systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1741951012979"><strong class="schema-faq-question"><strong>Gdzie można znaleźć darmowy projekt ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Na stronie <a href="https://projekt-ogrzewania.pl/category/kalkulatory-budowlane/" target="_blank" rel="noreferrer noopener">projekt-ogrzewania.pl</a> znajdziesz darmowe narzędzia do wstępnych obliczeń oraz możliwość zlecenia szczegółowego projektu.</p> </div> </div>



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



<p class="wp-block-paragraph"><strong>Kalkulator do obliczania ilości metrów <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rury do ogrzewania podłogowego</a></strong> to nie tylko oszczędność czasu. To narzędzie, które:</p>



<ul class="wp-block-list">
<li>Zapobiega <em>przekroczeniu budżetu</em> przez zakup zbyt dużej ilości materiału,</li>



<li>Minimalizuje ryzyko <em>awarii systemu</em> spowodowanej przeciążeniem pętli,</li>



<li>Umożliwia <em>szybką kalkulację</em> dla różnych wariantów rozstawu rur.</li>
</ul>



<p class="wp-block-paragraph">Pamiętaj jednak, że nawet najbardziej precyzyjne obliczenia nie zastąpią projektu wykonanego przez specjalistę. Jeśli chcesz mieć pewność, że Twoje ogrzewanie podłogowe będzie efektywne i trwałe, rozważ współpracę z profesjonalistami.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/">Kalkulator do obliczania ilości metrów rury potrzebnych do ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Objawy zapowietrzenia ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Thu, 06 Mar 2025 12:20:59 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Eksploatacja instalacji]]></category>
		<category><![CDATA[Hydraulika domowa]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Serwis i konserwacja]]></category>
		<category><![CDATA[błędy montażowe]]></category>
		<category><![CDATA[bulgotanie w rurach]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[konserwacja instalacji]]></category>
		<category><![CDATA[nierównomierne grzanie]]></category>
		<category><![CDATA[objawy zapowietrzenia]]></category>
		<category><![CDATA[odpowietrzanie instalacji]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[serwis ogrzewania]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2359</guid>

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">Regularna kontrola, odpowiednie odpowietrzanie instalacji oraz dobrze wykonany projekt ogrzewania podłogowego to klucz do komfortowego i bezpiecznego użytkowania systemu grzewczego. Jeśli zauważysz jakiekolwiek objawy zapowietrzenia, nie zwlekaj – szybka reakcja pozwoli Ci zaoszczędzić czas, pieniądze oraz zapewni niezawodne działanie ogrzewania przez wiele lat.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="ySPp8NrX7G"><a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-100-m2/">Projekt ogrzewania podłogowego &#8211; do 100 m2</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt ogrzewania podłogowego &#8211; do 100 m2&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-100-m2/embed/#?secret=PyxrBDUsNC#?secret=ySPp8NrX7G" data-secret="ySPp8NrX7G" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">Objawy zapowietrzenia ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
