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

<channel>
	<title>Archiwa Ogrzewanie płaszczyznowe - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/category/ogrzewanie-plaszczyznowe/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/category/ogrzewanie-plaszczyznowe/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Mon, 03 Aug 2026 12:35:53 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.4</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa Ogrzewanie płaszczyznowe - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/category/ogrzewanie-plaszczyznowe/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Projekt ogrzewania podłogowego online.</title>
		<link>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/</link>
					<comments>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#respond</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 02 Aug 2026 16:05:21 +0000</pubDate>
				<category><![CDATA[Cennik]]></category>
		<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Koszty ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie płaszczyznowe]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki inwestora]]></category>
		<category><![CDATA[Projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[bilans hydrauliczny]]></category>
		<category><![CDATA[dylatacje jastrychu]]></category>
		<category><![CDATA[grubość wylewki betonowej]]></category>
		<category><![CDATA[kaucja za projekt]]></category>
		<category><![CDATA[nastawy rotametrów]]></category>
		<category><![CDATA[obliczenia ozc]]></category>
		<category><![CDATA[pn-en 1264]]></category>
		<category><![CDATA[pn-en 12831]]></category>
		<category><![CDATA[pompa ciepła podłogówka]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego online]]></category>
		<category><![CDATA[projektowanie hvac online]]></category>
		<category><![CDATA[rozdzielacz do podłogówki]]></category>
		<category><![CDATA[rozstaw rur podłogówki]]></category>
		<category><![CDATA[rura pex pert]]></category>
		<category><![CDATA[strefa brzegowa podłogówki]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=6999</guid>

					<description><![CDATA[<p>Planujesz budowę domu i zastanawiasz się, jak uniknąć błędów wykonawczych przy układaniu instalacji płaszczyznowej? Profesjonalny projekt ogrzewania podłogowego online to fundament nowoczesnego, energooszczędnego budownictwa, który zabezpiecza pompę ciepła lub kocioł przed awariami i redukuje rachunki za prąd. Zamiast ryzykować układanie rur „z metra” przez ekipy monterskie, postaw na precyzyjne obliczenia obciążenia cieplnego (OZC) oraz bilans hydrauliczny na zaworach rozdzielacza. Z naszego inżynieryjnego przewodnika dowiesz się, jak przebiega cyfrowe projektowanie, ile wynoszą rzeczywiste koszty dokumentacji i jak odzyskać 100% wydanej kwoty dzięki unikalnemu systemowi kaucji zwrotnej.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/">Projekt ogrzewania podłogowego online.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-blue: #0284c7;
    --rk-intro-blue-light: #f0f9ff;
    --rk-intro-green: #10b981;
    --rk-intro-gray: #64748b;
    --rk-intro-bg: #ffffff;
    --rk-intro-border: #e2e8f0;
    --rk-intro-accent: #f59e0b; /* Pomarańczowy dla bonusu */
}

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

/* Sekcja Hook / Otwarcie */
.rk-intro-hero {
    padding: 40px 50px;
    background: #ffffff;
    position: relative;
    border-bottom: 1px solid var(--rk-intro-border);
}

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

/* Szybka Odpowiedź */
.rk-intro-quick-answer {
    background: var(--rk-intro-blue-light);
    border-left: 4px solid var(--rk-intro-blue);
    padding: 20px 25px;
    border-radius: 0 12px 12px 0;
    margin-bottom: 25px;
}

.rk-intro-quick-answer p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: #0c4a6e;
    font-weight: 500;
}

.rk-intro-quick-answer strong {
    color: var(--rk-intro-blue);
    font-weight: 800;
}

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

/* Sekcja Co się dowiesz */
.rk-intro-content {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-intro-border);
}

.rk-intro-agenda {
    padding: 40px 50px;
    border-right: 1px solid var(--rk-intro-border);
}

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

.rk-intro-agenda-icon {
    color: var(--rk-intro-blue);
}

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

.rk-intro-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 15px;
    color: var(--rk-intro-dark);
    line-height: 1.5;
    font-weight: 600;
}

.rk-intro-list-check {
    color: var(--rk-intro-green);
    flex-shrink: 0;
    margin-top: 2px;
}

/* Moduł Narzędzia Interaktywne Info */
.rk-intro-tools-info {
    padding: 40px 40px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-intro-tools-box {
    background: #f1f5f9;
    border: 1px solid var(--rk-intro-border);
    border-radius: 16px;
    padding: 25px;
}

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

.rk-intro-tools-icon {
    width: 36px;
    height: 36px;
    background: var(--rk-intro-blue);
    color: #ffffff;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

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

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

/* Baner Bonus na dole artykułu */
.rk-intro-bonus-banner {
    background: var(--rk-intro-dark);
    padding: 30px 50px;
    display: flex;
    align-items: center;
    gap: 25px;
}

.rk-intro-bonus-icon-wrapper {
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-intro-accent);
    flex-shrink: 0;
}

.rk-intro-bonus-content h4 {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 900;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-intro-bonus-content p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #94a3b8;
}

.rk-intro-bonus-content strong {
    color: #ffffff;
    font-weight: 700;
}

@media (max-width: 768px) {
    .rk-intro-hero, .rk-intro-agenda, .rk-intro-tools-info, .rk-intro-bonus-banner {
        padding: 25px 20px;
    }
    .rk-intro-hero h2 {
        font-size: 24px;
    }
    .rk-intro-content {
        grid-template-columns: 1fr;
    }
    .rk-intro-agenda {
        border-right: none;
        border-bottom: 1px solid var(--rk-intro-border);
    }
    .rk-intro-bonus-banner {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/"
    },
    "headline": "Projekt ogrzewania podłogowego online: Normy, koszty i hydraulika",
    "description": "Profesjonalna dokumentacja inżynieryjna ogrzewania płaszczyznowego. Sprawdź, jak algorytmy obliczeniowe i normy hydrauliczne zapobiegają błędom na budowie.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "Specjalista HVAC / Założyciel",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-03",
    "dateModified": "2026-08-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#dataset-wstep",
    "name": "Wytyczne do projektowania instalacji płaszczyznowych",
    "description": "Definicje i normy regulujące zdalnie wykonywaną dokumentację techniczną HVAC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego online",
      "obliczenia OZC według normy PN-EN 12831",
      "bilans hydrauliczny PN-EN 1264",
      "dokumentacja techniczna ogrzewania CAD/PDF",
      "zestawienie materiałowe rur PEX"
    ],
    "measurementTechnique": "Przetworzenie rzutów architektonicznych i parametrów przegród budowlanych w cyfrowy projekt wykonawczy.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "OZC: Obliczenia obciążenia cieplnego wg PN-EN 12831.",
        "Hydraulika: Bilans przepływów i oporów wg PN-EN 1264.",
        "Cel: Optymalizacja kosztów zakupu materiałów i precyzyjne parametry pracy dla pomp ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#webapp-nawigacja",
    "name": "Moduł Nawigacji i Modeli Analitycznych",
    "description": "Zestawienie interaktywnych kalkulatorów i symulatorów inżynieryjnych dostępnych w dalszej części poradnika technicznego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container">
    
    <!-- Hero / Szybka Odpowiedź -->
    <div class="rk-intro-hero">
        <h2>Projekt ogrzewania podłogowego online to fundament oszczędnej budowy</h2>
        
        <div class="rk-intro-quick-answer">
            <p><strong>Czym jest ten projekt?</strong> To zdalnie wykonywana dokumentacja techniczno-inżynieryjna, obejmująca <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczenia obciążenia cieplnego (OZC)</a> według normy PN-EN 12831, bilans hydrauliczny na zaworach rozdzielacza (PN-EN 1264) oraz precyzyjne rysunki wykonawcze pętli grzewczych w formacie CAD/PDF.</p>
        </div>

        <p class="rk-intro-hero-text">
            Nazywam się Robert Kucharski. Jako specjalista HVAC, założyciel portalu Projekt-Ogrzewania.pl i autor ponad 1000 zrealizowanych projektów instalacji płaszczyznowych, w mojej codziennej praktyce widzę, jak drastycznie wzrasta przewaga precyzyjnego projektowania nad przestarzałym układaniem rur „z metra” czy &#8222;na oko&#8221; przez wykonawców na placu budowy.
        </p>
    </div>

    <!-- Agenda i Informacja o Kalkulatorach -->
    <div class="rk-intro-content">
        
        <div class="rk-intro-agenda">
            <h3>
                <svg class="rk-intro-agenda-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="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>
                Z tego poradnika dowiesz się:
            </h3>
            <ul class="rk-intro-list">
                <li>
                    <svg class="rk-intro-list-check" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                    Ile w rzeczywistości kosztuje projekt inżynieryjny i jak odzyskać 100% jego ceny.
                </li>
                <li>
                    <svg class="rk-intro-list-check" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                    Jakie dokumenty (rzuty, grubości styropianu) musisz zebrać przed zleceniem.
                </li>
                <li>
                    <svg class="rk-intro-list-check" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                    Dlaczego rozstaw rur 20 cm zabija wydajność Twojej pompy ciepła.
                </li>
                <li>
                    <svg class="rk-intro-list-check" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                    Jak samodzielnie zweryfikować pracę instalatora na rozdzielaczu podłogowym.
                </li>
            </ul>
        </div>

        <div class="rk-intro-tools-info">
            <div class="rk-intro-tools-box">
                <div class="rk-intro-tools-header">
                    <div class="rk-intro-tools-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect><line x1="8" y1="21" x2="16" y2="21"></line><line x1="12" y1="17" x2="12" y2="21"></line></svg>
                    </div>
                    <h4>Wzbogacona Treść Inżynieryjna</h4>
                </div>
                <p class="rk-intro-tools-text">
                    Aby ułatwić zrozumienie skomplikowanej fizyki budowli, w dalszej części tekstu osadziliśmy <strong>interaktywne symulatory i kalkulatory</strong>. Przesuwając suwaki, samodzielnie sprawdzisz, jak zmiana izolacji czy rozstawu rur wpływa na zapotrzebowanie.
                </p>
            </div>
        </div>

    </div>

    <!-- Baner Bonusowy (Hook na zatrzymanie do końca) -->
    <div class="rk-intro-bonus-banner">
        <div class="rk-intro-bonus-icon-wrapper">
            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg>
        </div>
        <div class="rk-intro-bonus-content">
            <h4>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--rk-intro-accent)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20"></path><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                Bonus na samym dole artykułu
            </h4>
            <p>
                Przygotowaliśmy dla Ciebie unikalny <strong>Darmowy Generator Szacunkowy Projektu</strong>. Przewiń ten inżynieryjny poradnik do samego końca, wprowadź metraż i natychmiast sprawdź niezbędną ilość metrów rur oraz wielkość rozdzielacza dla Twojego układu!
            </p>
        </div>
    </div>

</div>



<style>
:root {
    --rk-ozc-dark: #0f172a;
    --rk-ozc-blue: #0284c7;
    --rk-ozc-blue-light: #f0f9ff;
    --rk-ozc-red: #ef4444;
    --rk-ozc-red-light: #fef2f2;
    --rk-ozc-green: #10b981;
    --rk-ozc-green-light: #dcfce7;
    --rk-ozc-gray: #64748b;
    --rk-ozc-bg: #ffffff;
    --rk-ozc-border: #e2e8f0;
    --rk-ozc-accent: #f59e0b;
}

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

/* Nagłówek */
.rk-ozc-header {
    padding: 40px 50px 30px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-ozc-border);
}

.rk-ozc-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-ozc-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

/* Zmieniona ikona główna - techniczna, bez dolara */
.rk-ozc-icon-main {
    width: 48px;
    height: 48px;
    background: var(--rk-ozc-blue-light);
    color: var(--rk-ozc-blue);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

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

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

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

/* Wyjaśnienie normy */
.rk-ozc-norm-box {
    background: #f8fafc;
    border: 1px solid var(--rk-ozc-border);
    border-radius: 16px;
    padding: 20px 25px;
    display: flex;
    gap: 15px;
    align-items: flex-start;
}

.rk-ozc-norm-icon {
    color: var(--rk-ozc-blue);
    margin-top: 2px;
}

.rk-ozc-norm-text {
    margin: 0;
    font-size: 15px;
    color: #475569;
    line-height: 1.6;
}

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

/* Interaktywny Symulator OZC */
.rk-ozc-simulator {
    padding: 40px 50px;
    background: #f1f5f9;
}

.rk-ozc-sim-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-ozc-dark);
    margin: 0 0 25px 0;
    text-align: center;
}

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

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

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

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

.rk-ozc-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-ozc-dark);
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-ozc-val-badge {
    background: var(--rk-ozc-blue-light);
    color: var(--rk-ozc-blue);
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 14px;
}

/* Stylizacja suwaków */
input[type="range"].rk-ozc-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: var(--rk-ozc-border);
    border-radius: 4px;
    outline: none;
}

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

input[type="range"].rk-ozc-slider::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}

/* Przyciski przełączające wentylację */
.rk-ozc-toggle-group {
    display: flex;
    gap: 10px;
    background: var(--rk-ozc-border);
    padding: 4px;
    border-radius: 12px;
}

.rk-ozc-toggle-btn {
    flex: 1;
    padding: 10px 15px;
    background: transparent;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-ozc-gray);
    cursor: pointer;
    transition: all 0.3s;
}

.rk-ozc-toggle-btn.active {
    background: #ffffff;
    color: var(--rk-ozc-dark);
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

/* Panel Wynikowy */
.rk-ozc-result-panel {
    background: var(--rk-ozc-dark);
    border-radius: 20px;
    padding: 35px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

/* Dekoracyjne koła w tle */
.rk-ozc-result-panel::before {
    content: '';
    position: absolute;
    top: -50px; right: -50px;
    width: 150px; height: 150px;
    border-radius: 50%;
    background: rgba(255,255,255,0.05);
}

.rk-ozc-result-item {
    margin-bottom: 25px;
    position: relative;
    z-index: 1;
}

.rk-ozc-result-item:last-child {
    margin-bottom: 0;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.rk-ozc-res-label {
    font-size: 13px;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    margin-bottom: 5px;
}

.rk-ozc-res-val {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.rk-ozc-res-val span {
    font-size: 16px;
    font-weight: 600;
    color: #cbd5e1;
}

.rk-ozc-res-val.total {
    color: var(--rk-ozc-accent);
    font-size: 42px;
}

/* Podsumowanie błędów */
.rk-ozc-alert {
    padding: 30px 50px;
    background: #ffffff;
}

.rk-ozc-alert-box {
    background: var(--rk-ozc-red-light);
    border-left: 4px solid var(--rk-ozc-red);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    display: flex;
    gap: 15px;
    align-items: flex-start;
}

.rk-ozc-alert-icon {
    color: var(--rk-ozc-red);
    margin-top: 2px;
    flex-shrink: 0;
}

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

.rk-ozc-alert-text strong {
    color: #7f1d1d;
    font-weight: 800;
}

@media (max-width: 768px) {
    .rk-ozc-header, .rk-ozc-simulator, .rk-ozc-alert {
        padding: 25px 20px;
    }
    .rk-ozc-header h2 {
        font-size: 24px;
    }
    .rk-ozc-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .rk-ozc-controls, .rk-ozc-result-panel {
        padding: 25px;
    }
    .rk-ozc-norm-box {
        flex-direction: column;
        gap: 10px;
    }
    .rk-ozc-toggle-group {
        flex-direction: column;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#article-ozc",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/"
    },
    "headline": "Jak obliczyć OZC i stratę ciepła pomieszczeń pod ogrzewanie podłogowe?",
    "description": "Zasady sporządzania bilansu obciążenia cieplnego OZC budynku na podstawie normy PN-EN 12831. Podstawa doboru układu płaszczyznowego i mocy pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-02",
    "dateModified": "2026-08-02"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#dataset-ozc",
    "name": "Składowe Projektowego Obciążenia Cieplnego (OZC)",
    "description": "Zestawienie zmiennych decydujących o mocy grzewczej dla instalacji ogrzewania płaszczyznowego dla warunków polskich (WT2021).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak obliczyć stratę ciepła OZC",
      "projektowe obciążenie cieplne budynku",
      "norma PN-EN 12831 OZC",
      "straty na wentylację a rekuperacja",
      "zapotrzebowanie W/m2 podłogówka"
    ],
    "measurementTechnique": "Sumowanie wartości przenikania przez przegrody oraz strat wentylacyjnych z uwzględnieniem docelowej temperatury wnętrza.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Straty przez przenikanie: Zależą od izolacyjności ścian, dachu i okien (standard WT2021).",
        "Straty na wentylację: Znacznie redukowane dzięki zastosowaniu centrali z odzyskiem ciepła (rekuperator).",
        "Skutek błędnego OZC: Niedogrzanie budynku w mroźne dni lub chroniczne taktowanie pompy ciepła przez przewymiarowanie układu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#webapp-ozc",
    "name": "Interaktywny Model Zapotrzebowania OZC",
    "description": "Narzędzie pozwalające symulować jak zmiana temperatury wewnętrznej, metrażu i wentylacji przekłada się na ostateczny pobór mocy cieplnej z instalacji.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-ozc-container">
    <div class="rk-ozc-header">
        <h2>
            <div class="rk-ozc-icon-main">
                <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="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>
            Jak obliczyć OZC i stratę ciepła pomieszczeń?
        </h2>
        <p class="rk-ozc-desc">
            Obliczenie <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">Projektowego Obciążenia Cieplnego (OZC)</a> wykonuje się ściśle według wymagań fizyki budowli. To fundament dla każdego inżyniera, pozwalający wyznaczyć dokładną moc (wyrażoną w Watach), z jaką podłoga musi grzać, by w domu było ciepło nawet przy siarczystych mrozach. 
        </p>
        
        <div class="rk-ozc-norm-box">
            <svg class="rk-ozc-norm-icon" 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="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg>
            <p class="rk-ozc-norm-text">
                OZC opiera się na normie <strong>PN-EN 12831</strong> i sumuje dwa główne zjawiska: <strong>Straty przez przenikanie</strong> (ciepło uciekające przez ściany i okna na zewnątrz) oraz <strong>Straty na wentylację</strong> (ciepło tracone na podgrzanie świeżego, mroźnego powietrza z zewnątrz). Dla nowoczesnego domu w <a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/">standardzie izolacyjnym WT2021</a> obciążenie wynosi średnio od 25 do 45 W/m².
            </p>
        </div>
    </div>

    <div class="rk-ozc-simulator">
        <h3 class="rk-ozc-sim-title">Interaktywny Symulator Strat Ciepła</h3>
        
        <div class="rk-ozc-grid">
            <div class="rk-ozc-controls">
                
                <!-- NOWY SUWAK: POWIERZCHNIA POKOJU -->
                <div class="rk-ozc-control-group">
                    <div class="rk-ozc-label">
                        Powierzchnia pokoju
                        <span class="rk-ozc-val-badge" id="valArea">20 m²</span>
                    </div>
                    <input type="range" class="rk-ozc-slider" id="sliderArea" min="5" max="50" step="1" value="20">
                </div>

                <div class="rk-ozc-control-group">
                    <div class="rk-ozc-label">
                        Oczekiwana temperatura
                        <span class="rk-ozc-val-badge" id="valTemp">20°C (Salon)</span>
                    </div>
                    <input type="range" class="rk-ozc-slider" id="sliderTemp" min="16" max="24" step="1" value="20">
                </div>

                <div class="rk-ozc-control-group">
                    <div class="rk-ozc-label">
                        Zewn. Strefa Klimatyczna
                        <span class="rk-ozc-val-badge" id="valZone">-18°C (III strefa)</span>
                    </div>
                    <input type="range" class="rk-ozc-slider" id="sliderZone" min="-24" max="-16" step="2" value="-18">
                </div>

                <div class="rk-ozc-control-group">
                    <div class="rk-ozc-label">Rodzaj wentylacji w budynku</div>
                    <div class="rk-ozc-toggle-group">
                        <button class="rk-ozc-toggle-btn active" id="btnGraw" data-vent="graw">Tradycyjna (Grawitacyjna)</button>
                        <button class="rk-ozc-toggle-btn" id="btnReku" data-vent="rekup">Z rekuperacją (Odzysk ciepła)</button>
                    </div>
                </div>

            </div>

            <div class="rk-ozc-result-panel">
                <div class="rk-ozc-result-item">
                    <div class="rk-ozc-res-label">Straty przez ściany i okna (Przenikanie)</div>
                    <div class="rk-ozc-res-val" id="resPrzenik">420 <span>W</span></div>
                </div>
                
                <div class="rk-ozc-result-item">
                    <div class="rk-ozc-res-label">Straty na podgrzanie powietrza (Wentylacja)</div>
                    <div class="rk-ozc-res-val" id="resWent">280 <span>W</span></div>
                </div>

                <div class="rk-ozc-result-item">
                    <div class="rk-ozc-res-label">Całkowite OZC dla pomieszczenia</div>
                    <div class="rk-ozc-res-val total" id="resTotal">700 <span>W</span></div>
                    <div style="font-size: 14px; color: #94a3b8; margin-top: 5px;" id="resM2">czyli 35 W/m² z podłogi</div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-ozc-alert">
        <div class="rk-ozc-alert-box">
            <svg class="rk-ozc-alert-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>
            <p class="rk-ozc-alert-text">
                <strong>Poważne Konsekwencje:</strong> Wykonanie instalacji podłogowej i dobór źródła ciepła bez znajomości dokładnego wskaźnika OZC prowadzi do dwóch niebezpiecznych skrajności: fizycznego niedogrzania domu w mroźne dni lub drastycznego przewymiarowania instalacji, co w przypadku pomp ciepła skutkuje niszczycielskim zjawiskiem ciągłego <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/" style="color: #b91c1c;">taktowania sprężarki</a> i jej rychłą awarią.
            </p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var sliderArea = document.getElementById('sliderArea'); // Nowy suwak powierzchni
    var sliderTemp = document.getElementById('sliderTemp');
    var sliderZone = document.getElementById('sliderZone');
    
    var btnGraw = document.getElementById('btnGraw');
    var btnReku = document.getElementById('btnReku');
    
    var valArea = document.getElementById('valArea'); // Nowa etykieta
    var valTemp = document.getElementById('valTemp');
    var valZone = document.getElementById('valZone');
    
    var resPrzenik = document.getElementById('resPrzenik');
    var resWent = document.getElementById('resWent');
    var resTotal = document.getElementById('resTotal');
    var resM2 = document.getElementById('resM2');

    var currentVentMode = 'graw'; // graw lub rekup
    
    // Prosta symulacja inżynieryjna uwzględniająca metraż
    function calcOZC() {
        var area = parseInt(sliderArea.value);
        var tempWew = parseInt(sliderTemp.value);
        var tempZew = parseInt(sliderZone.value);
        
        // Aktualizacja etykiet
        valArea.textContent = area + " m²";

        var tempLabel = tempWew + "°C";
        if (tempWew === 24) tempLabel += " (Łazienka)";
        if (tempWew === 20) tempLabel += " (Salon)";
        if (tempWew <= 18) tempLabel += " (Sypialnia)";
        valTemp.textContent = tempLabel;
        
        valZone.textContent = tempZew + "°C";

        // Różnica temperatur dT
        var dT = tempWew - tempZew; // Np 20 - (-18) = 38
        
        // Współczynnik odniesienia (baza z Twojego przykładu: 20m2, dT 38K, Przenikanie 420W, Wentylacja 280W)
        // Oznacza to, że przenikanie dla 1m2 przy 1 stopniu różnicy to ok. 0.552 W/(m2*K)
        // Wentylacja dla 1m2 przy 1 stopniu różnicy to ok. 0.368 W/(m2*K)
        
        var basePrzenikPerM2PerK = 0.5526;
        var baseWentPerM2PerK = 0.3684;

        // Obliczenia z uwzględnieniem powierzchni
        var Q_przenikanie = Math.round(area * dT * basePrzenikPerM2PerK); 
        var Q_wentylacja = Math.round(area * dT * baseWentPerM2PerK);
        
        // Zastosowanie rekuperacji ucina straty wentylacyjne o 60%
        if (currentVentMode !== 'graw') {
            Q_wentylacja = Math.round(Q_wentylacja * 0.4);
        }

        var Q_total = Q_przenikanie + Q_wentylacja;
        var Q_m2 = Math.round(Q_total / area); // Podzielone przez wybraną powierzchnię

        // Aktualizacja UI
        resPrzenik.innerHTML = Q_przenikanie + " <span>W</span>";
        resWent.innerHTML = Q_wentylacja + " <span>W</span>";
        resTotal.innerHTML = Q_total + " <span>W</span>";
        resM2.textContent = "czyli " + Q_m2 + " W/m² z podłogi";
    }

    // Event listenery dla suwaków
    sliderArea.addEventListener('input', calcOZC);
    sliderTemp.addEventListener('input', calcOZC);
    sliderZone.addEventListener('input', calcOZC);

    // Event listenery dla przycisków wentylacji
    var ventBtns = [btnGraw, btnReku];
    ventBtns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            ventBtns.forEach(function(b) { b.classList.remove('active'); });
            this.classList.add('active');
            
            var target = this.getAttribute('data-vent');
            if (target === 'graw') {
                currentVentMode = 'graw';
            } else {
                currentVentMode = 'rekup';
            }
            calcOZC();
        });
    });

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



<style>
:root {
    --rk-space-dark: #0f172a;
    --rk-space-blue: #0284c7;
    --rk-space-blue-light: #f0f9ff;
    --rk-space-green: #10b981;
    --rk-space-green-light: #dcfce7;
    --rk-space-red: #ef4444;
    --rk-space-red-light: #fef2f2;
    --rk-space-gray: #64748b;
    --rk-space-bg: #ffffff;
    --rk-space-border: #e2e8f0;
    --rk-space-orange: #f59e0b;
}

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

/* Nagłówek */
.rk-space-header {
    padding: 40px 50px 30px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-space-border);
}

.rk-space-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-space-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-space-icon-main {
    width: 48px;
    height: 48px;
    background: var(--rk-space-blue-light);
    color: var(--rk-space-blue);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

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

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

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

/* Normy temperatur - 3 karty */
.rk-space-temps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-top: 20px;
}

.rk-space-temp-card {
    background: #f8fafc;
    border: 1px solid var(--rk-space-border);
    border-radius: 16px;
    padding: 15px;
    text-align: center;
}

.rk-space-temp-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-space-dark);
    margin-bottom: 5px;
}

.rk-space-temp-label {
    font-size: 13px;
    color: var(--rk-space-gray);
    font-weight: 600;
    line-height: 1.4;
}

/* Symulator interaktywny */
.rk-space-simulator {
    background: #f8fafc;
    padding: 40px 50px;
}

.rk-space-sim-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-space-dark);
    margin: 0 0 20px 0;
    text-align: center;
}

/* Przyciski wyboru źródła */
.rk-space-selector {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-space-btn {
    flex: 1;
    padding: 20px;
    background: #ffffff;
    border: 2px solid var(--rk-space-border);
    border-radius: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.rk-space-btn-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #f1f5f9;
    color: var(--rk-space-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
}

.rk-space-btn-text {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-space-gray);
    transition: color 0.3s;
}

/* Stany przycisków */
.rk-space-btn:hover {
    border-color: var(--rk-space-blue);
}

.rk-space-btn.active[data-type="hp"] {
    border-color: var(--rk-space-blue);
    background: var(--rk-space-blue-light);
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.2);
}
.rk-space-btn.active[data-type="hp"] .rk-space-btn-icon {
    background: var(--rk-space-blue);
    color: #ffffff;
}
.rk-space-btn.active[data-type="hp"] .rk-space-btn-text {
    color: var(--rk-space-blue);
}

.rk-space-btn.active[data-type="boiler"] {
    border-color: var(--rk-space-orange);
    background: #fffbeb;
    box-shadow: 0 10px 20px -5px rgba(245, 158, 11, 0.2);
}
.rk-space-btn.active[data-type="boiler"] .rk-space-btn-icon {
    background: var(--rk-space-orange);
    color: #ffffff;
}
.rk-space-btn.active[data-type="boiler"] .rk-space-btn-text {
    color: #b45309;
}

/* Widoki symulatora - Zmienione na 1 kolumnę (bez grafiki) */
.rk-space-view {
    display: none;
    animation: spaceFadeIn 0.4s ease forwards;
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid var(--rk-space-border);
    padding: 40px;
}

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

/* Dane techniczne */
.rk-space-data h3 {
    margin: 0 0 15px 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-space-dark);
}

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

/* Ostrzeżenie */
.rk-space-alert {
    background: var(--rk-space-red-light);
    border-left: 4px solid var(--rk-space-red);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin-top: 25px;
}

.rk-space-alert strong {
    color: #b91c1c;
    font-weight: 800;
    display: block;
    margin-bottom: 8px;
    font-size: 16px;
}

.rk-space-alert span {
    color: #991b1b;
    font-size: 15px;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .rk-space-header, .rk-space-simulator {
        padding: 25px 20px;
    }
    .rk-space-header h2 {
        font-size: 24px;
    }
    .rk-space-temps {
        grid-template-columns: 1fr;
    }
    .rk-space-selector {
        flex-direction: column; /* PIONOWY UKŁAD PRZYCISKÓW NA MOBILE */
        gap: 12px;
    }
    .rk-space-btn {
        flex-direction: row;
        padding: 15px 20px;
        text-align: left;
    }
    .rk-space-view {
        padding: 25px 20px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#article-rozstaw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/"
    },
    "headline": "Jaki rozstaw rur ogrzewania podłogowego wybrać?",
    "description": "Zasady doboru rozstawu rur instalacji podłogowej w zależności od źródła ciepła. Normy dla pomp ciepła i kotłów stałotemperaturowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-02",
    "dateModified": "2026-08-02"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#dataset-rozstaw",
    "name": "Zależność rozstawu rur od źródła ciepła (PN-EN 1264-2)",
    "description": "Zestawienie optymalnych gęstości układania pętli w zależności od temperatury zasilania oraz maksymalne dopuszczalne temperatury posadzki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rozstaw rur ogrzewania podłogowego",
      "zagęszczenie rur pod pompę ciepła",
      "maksymalna temperatura podłogi",
      "spadek SCOP pompy ciepła",
      "odległość rur B10 B15 B20"
    ],
    "measurementTechnique": "Analiza gęstości strumienia cieplnego przy zasilaniu na poziomie 35 stopni Celsjusza w odniesieniu do normy budowlanej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Pompa Ciepła: Rozstaw 10 do 15 cm (B10/B15). Łazienki zawsze 10 cm.",
        "Kocioł Stałopalny / Gazowy: Rozstaw 15 do 20 cm ze względu na wyższe parametry zasilania.",
        "Garaż (pomieszczenie techniczne): Przy temperaturze projektowej +16°C rozstaw może wynosić 25-30 cm.",
        "Błąd wykonawczy: Rozstaw 20 cm przy pompie obniża współczynnik SCOP i podnosi rachunki o 30%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#webapp-rozstaw",
    "name": "Symulator Rozstawu Rur PEX/PERT",
    "description": "Moduł wizualizujący prawidłowe zagęszczenie instalacji płaszczyznowej w korelacji z wybranym generatorem ciepła.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-space-container">
    <div class="rk-space-header">
        <h2>
            <div class="rk-space-icon-main">
                <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="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>
            Jaki rozstaw rur ogrzewania podłogowego wybrać?
        </h2>
        <p class="rk-space-desc">
            Wybór rozstawu ma bezpośredni wpływ na opór cieplny płyty grzejnej oraz średnią temperaturę posadzki. Zagęszczenie pozwala obniżyć temperaturę zasilania, przy zachowaniu wymaganego strumienia cieplnego. Sprawdź, jak <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">rozstaw rur</a> zależy od Twojego źródła ciepła.
        </p>
        
        <div class="rk-space-temps">
            <div class="rk-space-temp-card">
                <div class="rk-space-temp-val">29°C</div>
                <div class="rk-space-temp-label">Max. dla stref stałego przebywania (salon)</div>
            </div>
            <div class="rk-space-temp-card">
                <div class="rk-space-temp-val">33°C</div>
                <div class="rk-space-temp-label">Max. dla łazienek i stref kąpielowych</div>
            </div>
            <div class="rk-space-temp-card">
                <div class="rk-space-temp-val">35°C</div>
                <div class="rk-space-temp-label">Max. dla stref brzegowych (przeszklenia)</div>
            </div>
        </div>
    </div>

    <div class="rk-space-simulator">
        <h3 class="rk-space-sim-title">Wybierz swoje źródło ciepła</h3>
        
        <div class="rk-space-selector">
            <button class="rk-space-btn active" data-target="hp" data-type="hp">
                <div class="rk-space-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="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                </div>
                <div class="rk-space-btn-text">Pompa Ciepła (Niskotemperaturowa)</div>
            </button>
            <button class="rk-space-btn" data-target="boiler" data-type="boiler">
                <div class="rk-space-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="M12 2v20"></path><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                </div>
                <div class="rk-space-btn-text">Kocioł Stałopalny / Gazowy</div>
            </button>
        </div>

        <!-- Widok: Pompa Ciepła -->
        <div class="rk-space-view" id="view-hp" style="display: block;">
            <div class="rk-space-data">
                <h3>Zasilanie do 35 stopni Celsjusza</h3>
                <p>Dla instalacji współpracujących z <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompą ciepła</a> zaleca się stosowanie rozstawu rur równego <strong>10 cm lub 15 cm</strong> (w dokumentacji projektowej oznaczane to jest odpowiednio jako B 10 / B 15) w standardowych strefach mieszkalnych. Natomiast w łazienkach i strefach brzegowych stosuje się bezwzględnie <strong>10 cm</strong>.</p>
                
                <div class="rk-space-alert">
                    <strong>Krytyczny Błąd Wykonawczy!</strong>
                    <span>Stosowanie rozstawu 20 cm przy pompie ciepła zmusza urządzenie do pracy z nieefektywną temperaturą zasilania na poziomie 42–45°C. Obniża to drastycznie sezonowy współczynnik efektywności SCOP z wartości 4,2 do zaledwie 3,1. W ujęciu finansowym oznacza to <strong>wzrost rocznych rachunków za prąd o ponad 25–30%</strong>. Dowiedz się więcej o prawidłowym <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/">rozstawie przy pompie ciepła</a>.</span>
                </div>
            </div>
        </div>

        <!-- Widok: Kocioł Stałopalny / Gazowy -->
        <div class="rk-space-view" id="view-boiler">
            <div class="rk-space-data">
                <h3>Zasilanie wysokotemperaturowe</h3>
                <p>Przy tradycyjnych układach takich jak <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">kotły gazowe</a> oraz <a href="https://projekt-ogrzewania.pl/kotly-na-paliwa-stale-w-ogrzewaniu-podlogowym/">kotły stałopalne</a> (na węgiel, drewno lub pelet), parametry zasilania są znacznie wyższe. Standardowy rozstaw rur dla takich instalacji w strefach mieszkalnych powinien wynosić <strong>od 15 cm do nawet 20 cm</strong>.</p>
                <p><strong>Wyjątek garaż i pomieszczenia techniczne:</strong> Ze względu na to, że temperatura projektowa w garażu wynosi zaledwie <strong>+16°C</strong>, rozstaw rur układa się tam dużo rzadziej. Zgodnie z normami, przy wysokotemperaturowym zasilaniu, bezpieczny rozstaw pętli dla garażu to <strong>25 cm, a nawet 30 cm</strong>.</p>
                
                <div class="rk-space-alert" style="background: #fffbeb; border-color: #f59e0b;">
                    <strong style="color: #b45309;">Optymalizacja układu wysokotemperaturowego</strong>
                    <span style="color: #92400e;">Zastosowanie bardzo gęstego rozstawu rur (np. 10 cm – B 10) przy jednoczesnej pracy kotła stałopalnego doprowadzi do natychmiastowego przegrzewania pomieszczeń oraz znacznego przekroczenia dozwolonych normą maksymalnych temperatur na posadzce.</span>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btns = document.querySelectorAll('.rk-space-btn');
    var viewHP = document.getElementById('view-hp');
    var viewBoiler = document.getElementById('view-boiler');

    if (btns.length > 0) {
        btns.forEach(function(btn) {
            btn.addEventListener('click', function() {
                var target = this.getAttribute('data-target');

                // Usunięcie aktywacji
                btns.forEach(function(b) {
                    b.classList.remove('active');
                });
                
                // Aktywacja klikniętego
                this.classList.add('active');

                // Przełączanie widoków BEZ operatora AND (&&)
                if (target === 'hp') {
                    viewBoiler.style.display = 'none';
                    viewHP.style.display = 'block';
                }
                
                if (target !== 'hp') {
                    viewHP.style.display = 'none';
                    viewBoiler.style.display = 'block';
                }
            });
        });
    }
});
</script>



<style>
:root {
    --rk-hydro-dark: #0f172a;
    --rk-hydro-blue: #0284c7;
    --rk-hydro-blue-light: #f0f9ff;
    --rk-hydro-green: #10b981;
    --rk-hydro-green-light: #dcfce7;
    --rk-hydro-red: #ef4444;
    --rk-hydro-red-light: #fef2f2;
    --rk-hydro-gray: #64748b;
    --rk-hydro-bg: #ffffff;
    --rk-hydro-border: #e2e8f0;
}

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

/* Nagłówek */
.rk-hydro-header {
    padding: 40px 50px 30px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-hydro-border);
}

.rk-hydro-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-hydro-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-hydro-icon-main {
    width: 48px;
    height: 48px;
    background: var(--rk-hydro-blue-light);
    color: var(--rk-hydro-blue);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

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

/* Układ główny pulpitu */
.rk-hydro-dashboard {
    display: grid;
    grid-template-columns: 320px 1fr;
    background: #f8fafc;
}

/* Lewa kolumna: Lista parametrów */
.rk-hydro-menu {
    padding: 30px;
    border-right: 1px solid var(--rk-hydro-border);
    background: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-hydro-btn {
    width: 100%;
    text-align: left;
    padding: 16px 20px;
    background: #f1f5f9;
    border: 2px solid transparent;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-hydro-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rk-hydro-btn:hover {
    background: var(--rk-hydro-blue-light);
    color: var(--rk-hydro-blue);
}

.rk-hydro-btn.active {
    background: var(--rk-hydro-blue);
    color: #ffffff;
    border-color: #0369a1;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.3);
}

.rk-hydro-btn svg {
    width: 20px;
    height: 20px;
    opacity: 0.5;
    transition: opacity 0.3s;
}

.rk-hydro-btn.active svg {
    opacity: 1;
}

/* Prawa kolumna: Obszar danych */
.rk-hydro-display {
    padding: 40px;
    position: relative;
}

.rk-hydro-panel {
    display: none;
    animation: hydroFadeIn 0.4s ease forwards;
}

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

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

.rk-hydro-panel-title {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-hydro-dark);
    margin: 0 0 25px 0;
    padding-bottom: 15px;
    border-bottom: 2px dashed var(--rk-hydro-border);
}

/* Karty wartości */
.rk-hydro-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 25px;
}

.rk-hydro-metric-card {
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-hydro-border);
    background: #ffffff;
}

.rk-hydro-metric-card.optimal {
    border-color: var(--rk-hydro-green);
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.1);
}

.rk-hydro-metric-card.critical {
    border-color: var(--rk-hydro-red);
    box-shadow: 0 4px 15px rgba(239, 68, 68, 0.1);
}

.rk-hydro-metric-label {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.optimal .rk-hydro-metric-label { color: var(--rk-hydro-green); }
.critical .rk-hydro-metric-label { color: var(--rk-hydro-red); }

.rk-hydro-metric-value {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-hydro-dark);
    margin: 0;
}

/* Skutki przekroczenia */
.rk-hydro-alert {
    background: var(--rk-hydro-red-light);
    border-left: 4px solid var(--rk-hydro-red);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    display: flex;
    gap: 15px;
    align-items: flex-start;
}

.rk-hydro-alert-icon {
    color: var(--rk-hydro-red);
    flex-shrink: 0;
    margin-top: 2px;
}

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

.rk-hydro-alert-text strong {
    font-weight: 800;
    color: #7f1d1d;
}

.rk-hydro-alert-text a {
    color: #b91c1c;
    text-decoration: underline;
    font-weight: 700;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-hydro-header, .rk-hydro-menu, .rk-hydro-display {
        padding: 25px 20px;
    }
    .rk-hydro-header h2 {
        font-size: 22px;
    }
    .rk-hydro-dashboard {
        grid-template-columns: 1fr;
    }
    .rk-hydro-menu {
        border-right: none;
        border-bottom: 1px solid var(--rk-hydro-border);
    }
    .rk-hydro-btn {
        padding: 18px 20px; /* Grubsze przyciski dla palca */
    }
    .rk-hydro-metrics {
        grid-template-columns: 1fr; /* Karty jedna pod drugą */
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#article-hydrodynamika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/"
    },
    "headline": "Parametry techniczne i hydrodynamika pętli ogrzewania podłogowego",
    "description": "Szczegółowe zestawienie optymalnych i granicznych parametrów pracy instalacji podłogowej chroniące przed awariami i niedogrzaniem.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-02",
    "dateModified": "2026-08-02"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#dataset-hydrodynamika",
    "name": "Tabela Opłacalności i Bezpieczeństwa Hydraulicznego",
    "description": "Zestawienie optymalnych i maksymalnych dopuszczalnych parametrów hydrodynamiki (prędkość, opór, spadek temperatury) dla rur PEX/PERT.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "hydrodynamika ogrzewania podłogowego",
      "prędkość przepływu czynnika",
      "opór hydrauliczny pętli",
      "szumy w instalacji podłogowej",
      "spadek temperatury podłogówka"
    ],
    "measurementTechnique": "Określenie granic fizycznych układu zamkniętego na podstawie praw przepływu i oporów liniowych rur 16x2.0 mm.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Długość pętli: Optymalna 70-90m, Krytyczna 100-120m.",
        "Prędkość przepływu: Optymalna 0.20-0.35 m/s, Krytyczna 0.50 m/s.",
        "Spadek temperatury: Optymalny 5K dla pomp ciepła.",
        "Opór hydrauliczny: Optymalny 10-15 kPa."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#webapp-hydro",
    "name": "Pulpit Diagnostyczny Parametrów Instalacji",
    "description": "Interfejs przeglądarkowy pozwalający sprawdzić bezpieczne zakresy pracy dla poszczególnych parametrów instalacji oraz skutki ich przekroczenia.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-hydro-container">
    <div class="rk-hydro-header">
        <h2>
            <div class="rk-hydro-icon-main">
                <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12h4l3-9 5 18 3-9h5"/></svg>
            </div>
            Parametry techniczne i hydrodynamika pętli
        </h2>
        <p class="rk-hydro-desc">
            Precyzyjne zaprojektowanie warunków pracy pętli grzewczych zapobiega zjawisku szumów w instalacji, przeciążeniom pomp cyrkulacyjnych oraz brakom przepływu w najdłuższych obiegach. Wybierz parametr, aby poznać jego optymalne wartości i zagrożenia.
        </p>
    </div>

    <div class="rk-hydro-dashboard">
        <!-- Menu (Pionowa lista na Desktop i Mobile) -->
        <div class="rk-hydro-menu" id="hydroMenu">
            <button class="rk-hydro-btn active" data-target="param-dlugosc">
                Długość jednej pętli
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>
            </button>
            <button class="rk-hydro-btn" data-target="param-predkosc">
                Prędkość przepływu wody
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>
            </button>
            <button class="rk-hydro-btn" data-target="param-temperatura">
                Różnica temperatur
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>
            </button>
            <button class="rk-hydro-btn" data-target="param-opor">
                Opór hydrauliczny
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>
            </button>
            <button class="rk-hydro-btn" data-target="param-przeplyw">
                Przepływ masowy w pętli
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>
            </button>
        </div>

        <!-- Obszar roboczy -->
        <div class="rk-hydro-display">
            
            <!-- Panel 1: Długość -->
            <div class="rk-hydro-panel active" id="param-dlugosc">
                <h3 class="rk-hydro-panel-title">Długość jednej pętli (rura 16&#215;2.0 mm)</h3>
                
                <div class="rk-hydro-metrics">
                    <div class="rk-hydro-metric-card optimal">
                        <div class="rk-hydro-metric-label">
                            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Wartość optymalna
                        </div>
                        <p class="rk-hydro-metric-value">70 – 90 m</p>
                    </div>
                    <div class="rk-hydro-metric-card critical">
                        <div class="rk-hydro-metric-label">
                            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                            Max dopuszczalna
                        </div>
                        <p class="rk-hydro-metric-value">100 – 120 m</p>
                    </div>
                </div>

                <div class="rk-hydro-alert">
                    <svg class="rk-hydro-alert-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="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>
                    <p class="rk-hydro-alert-text">
                        <strong>Skutek przekroczenia:</strong> Drastyczny wzrost oporów liniowych, całkowity brak przepływu i permanentne niedogrzanie pomieszczenia. Wymusza analizę parametrów <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">maksymalnej długości pętli</a>.
                    </p>
                </div>
            </div>

            <!-- Panel 2: Prędkość -->
            <div class="rk-hydro-panel" id="param-predkosc">
                <h3 class="rk-hydro-panel-title">Prędkość przepływu czynnika grzewczego</h3>
                
                <div class="rk-hydro-metrics">
                    <div class="rk-hydro-metric-card optimal">
                        <div class="rk-hydro-metric-label">
                            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Wartość optymalna
                        </div>
                        <p class="rk-hydro-metric-value">0,20 – 0,35 m/s</p>
                    </div>
                    <div class="rk-hydro-metric-card critical">
                        <div class="rk-hydro-metric-label">
                            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                            Max dopuszczalna
                        </div>
                        <p class="rk-hydro-metric-value">0,50 m/s</p>
                    </div>
                </div>

                <div class="rk-hydro-alert">
                    <svg class="rk-hydro-alert-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="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>
                    <p class="rk-hydro-alert-text">
                        <strong>Skutek przekroczenia:</strong> Prędkość powyżej 0,5 m/s powoduje uciążliwe szumy w zaworach i rurach. Z kolei prędkość poniżej 0,1 m/s drastycznie zwiększa ryzyko trwałego <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">zapowietrzania się instalacji</a>.
                    </p>
                </div>
            </div>

            <!-- Panel 3: Temperatura -->
            <div class="rk-hydro-panel" id="param-temperatura">
                <h3 class="rk-hydro-panel-title">Spadek temperatury (Zasilanie &#8211; Powrót)</h3>
                
                <div class="rk-hydro-metrics">
                    <div class="rk-hydro-metric-card optimal">
                        <div class="rk-hydro-metric-label">
                            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Optymalna (Pompa Ciepła)
                        </div>
                        <p class="rk-hydro-metric-value">5 K</p>
                    </div>
                    <div class="rk-hydro-metric-card critical">
                        <div class="rk-hydro-metric-label">
                            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                            Max (Kocioł Gazowy)
                        </div>
                        <p class="rk-hydro-metric-value">10 K</p>
                    </div>
                </div>

                <div class="rk-hydro-alert">
                    <svg class="rk-hydro-alert-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="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>
                    <p class="rk-hydro-alert-text">
                        <strong>Skutek przekroczenia:</strong> Zbyt wysoki <a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/">spadek temperatury</a> pomiędzy początkiem a końcem pętli powoduje wyczuwalny gołą stopą, nieprzyjemny efekt „paskowania” temperatury na posadzce (naprzemienne zimne i ciepłe strefy).
                    </p>
                </div>
            </div>

            <!-- Panel 4: Opór -->
            <div class="rk-hydro-panel" id="param-opor">
                <h3 class="rk-hydro-panel-title">Całkowity opór hydrauliczny pętli</h3>
                
                <div class="rk-hydro-metrics">
                    <div class="rk-hydro-metric-card optimal">
                        <div class="rk-hydro-metric-label">
                            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Wartość optymalna
                        </div>
                        <p class="rk-hydro-metric-value">10 – 15 kPa</p>
                    </div>
                    <div class="rk-hydro-metric-card critical">
                        <div class="rk-hydro-metric-label">
                            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                            Max dopuszczalna
                        </div>
                        <p class="rk-hydro-metric-value">20 kPa</p>
                    </div>
                </div>

                <div class="rk-hydro-alert">
                    <svg class="rk-hydro-alert-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="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>
                    <p class="rk-hydro-alert-text">
                        <strong>Skutek przekroczenia:</strong> Wymagany natychmiastowy montaż dodatkowej, zewnętrznej grupy pompowej. Opór wykraczający poza normę powoduje przekroczenie granicy podnoszenia wbudowanej, fabrycznej <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowej</a>.
                    </p>
                </div>
            </div>

            <!-- Panel 5: Przepływ -->
            <div class="rk-hydro-panel" id="param-przeplyw">
                <h3 class="rk-hydro-panel-title">Przepływ objętościowy wody w pętli</h3>
                
                <div class="rk-hydro-metrics">
                    <div class="rk-hydro-metric-card optimal">
                        <div class="rk-hydro-metric-label">
                            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Wartość optymalna
                        </div>
                        <p class="rk-hydro-metric-value">1,5 – 2,5 l/min</p>
                    </div>
                    <div class="rk-hydro-metric-card critical">
                        <div class="rk-hydro-metric-label">
                            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                            Max dopuszczalna
                        </div>
                        <p class="rk-hydro-metric-value">3,5 l/min</p>
                    </div>
                </div>

                <div class="rk-hydro-alert">
                    <svg class="rk-hydro-alert-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="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>
                    <p class="rk-hydro-alert-text">
                        <strong>Skutek przekroczenia:</strong> Przekroczenie skali rotametrów na rozdzielaczu. Całkowita niemożność wykonania zrównoważenia układu, co przekreśla <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">prawidłowy dobór nastaw instalacji</a>.
                    </p>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    var menuContainer = document.getElementById('hydroMenu');
    if (!menuContainer) return;
    
    var buttons = menuContainer.querySelectorAll('.rk-hydro-btn');
    var panels = document.querySelectorAll('.rk-hydro-panel');

    buttons.forEach(function(btn) {
        btn.addEventListener('click', function() {
            var targetId = this.getAttribute('data-target');

            // Reset stylów przycisków
            buttons.forEach(function(b) {
                b.classList.remove('active');
            });
            // Aktywacja klikniętego
            this.classList.add('active');

            // Ukrycie wszystkich paneli
            panels.forEach(function(panel) {
                panel.classList.remove('active');
            });
            
            // Pokaż wybrany
            var targetPanel = document.getElementById(targetId);
            if(targetPanel) {
                targetPanel.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-rot-dark: #0f172a;
    --rk-rot-blue: #0284c7;
    --rk-rot-blue-light: #e0f2fe;
    --rk-rot-orange: #f97316;
    --rk-rot-gray: #64748b;
    --rk-rot-gray-light: #f8fafc;
    --rk-rot-border: #e2e8f0;
    --rk-rot-bg: #ffffff;
    --rk-rot-red: #ef4444;
}

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

/* Header */
.rk-rot-header {
    padding: 40px 50px 30px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-rot-border);
}

.rk-rot-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-rot-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-rot-header-icon {
    width: 48px;
    height: 48px;
    background: var(--rk-rot-blue-light);
    color: var(--rk-rot-blue);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

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

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

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

/* Kalkulator interaktywny */
.rk-rot-calc-area {
    padding: 40px 50px;
    background: var(--rk-rot-gray-light);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

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

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

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

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

.rk-rot-val {
    background: var(--rk-rot-blue-light);
    color: var(--rk-rot-blue);
    padding: 4px 12px;
    border-radius: 8px;
    font-weight: 800;
}

input[type="range"].rk-rot-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: var(--rk-rot-border);
    border-radius: 4px;
    outline: none;
}

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

input[type="range"].rk-rot-slider::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}

/* Wynik rotametru */
.rk-rot-result-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.rk-rot-glass {
    width: 60px;
    height: 200px;
    background: #ffffff;
    border: 3px solid var(--rk-rot-border);
    border-radius: 30px;
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
    box-shadow: inset 0 0 15px rgba(0,0,0,0.05);
}

.rk-rot-fluid {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(0deg, rgba(2,132,199,0.8) 0%, rgba(56,189,248,0.8) 100%);
    transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 0 0 27px 27px;
}

/* Znaczniki na szkiełku */
.rk-rot-glass::before {
    content: '';
    position: absolute;
    top: 20px; bottom: 20px;
    left: 10px; width: 10px;
    border-right: 2px solid rgba(0,0,0,0.1);
    z-index: 2;
}

.rk-rot-indicator {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 6px;
    background: var(--rk-rot-red);
    border-radius: 3px;
    z-index: 3;
    transition: bottom 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

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

.rk-rot-final-unit {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-rot-gray);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Informacja pod spodem */
.rk-rot-info {
    padding: 30px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-rot-border);
}

.rk-rot-info-box {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    background: #fffbeb;
    border-left: 4px solid #f59e0b;
    padding: 20px;
    border-radius: 0 12px 12px 0;
}

.rk-rot-info-box p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #92400e;
}

.rk-rot-info-box p strong {
    color: #b45309;
}

@media (max-width: 768px) {
    .rk-rot-header, .rk-rot-calc-area, .rk-rot-info {
        padding: 25px 20px;
    }
    .rk-rot-header h2 {
        font-size: 24px;
    }
    .rk-rot-calc-area {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .rk-rot-glass {
        height: 150px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#article-rotametry",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/"
    },
    "headline": "Jak przebiega zrównoważenie hydrauliczne i jak ustawić rotametry?",
    "description": "Techniczne wyjaśnienie procesu regulacji oporów dławienia na rozdzielaczu z interaktywnym kalkulatorem przeliczającym moc pętli na przepływ.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-02",
    "dateModified": "2026-08-02"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#dataset-rotametry",
    "name": "Parametry Zrównoważenia Hydraulicznego (PN-EN 1264-4)",
    "description": "Dane dotyczące zależności pomiędzy mocą cieplną pomieszczenia a wymaganym przepływem objętościowym na zaworach regulacyjnych rozdzielacza.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zrównoważenie hydrauliczne",
      "jak ustawić rotametry w ogrzewaniu podłogowym",
      "przepływ l/min podłogówka",
      "spadek temperatury dT",
      "nastawy wstępne rozdzielacza"
    ],
    "measurementTechnique": "Przeliczenie strumienia objętości cieczy z uwzględnieniem ciepła właściwego i gęstości wody oraz zakładanego schłodzenia czynnika.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zależność: Wyższa moc pętli (Wat) wymusza wyższy przepływ (l/min).",
        "Rola dławienia: Wymuszenie obiegu wody przez długie pętle kosztem krótkich (o mniejszym oporze).",
        "Dokumentacja: Precyzyjne nastawy l/min zawsze ujęte w tabelarycznej części projektu inżynieryjnego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#webapp-rotametry",
    "name": "Kalkulator Przepływu Rotametru (l/min)",
    "description": "Interaktywny symulator przeliczający na żywo zapotrzebowanie cieplne obwodu grzewczego na wartość wskaźnika przepływu na belce rozdzielacza.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-rot-container">
    <div class="rk-rot-header">
        <h2>
            <div class="rk-rot-header-icon">
                <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20"/><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>
            </div>
            Jak przebiega zrównoważenie hydrauliczne i jak ustawić rotametry?
        </h2>
        <p class="rk-rot-desc">
            Zrównoważenie hydrauliczne polega na wyznaczeniu i nastawieniu skrytych oporów dławienia na zaworach regulacyjnych (<a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrach</a>) rozdzielacza, aby zapewnić strumień objętości wody wymagany dla każdego obiegu zgodnie z normą PN-EN 1264-4. W niezzrównoważonej instalacji woda krąży niemal w całości przez najkrótsze pętle (o najniższym oporze), doprowadzając do całkowitego wychłodzenia długich obiegów w odległych pomieszczeniach.
        </p>
    </div>

    <div class="rk-rot-calc-area">
        <div class="rk-rot-controls">
            <div class="rk-rot-input-group">
                <div class="rk-rot-label">
                    Moc cieplna pętli (Q)
                    <span class="rk-rot-val" id="valQ">600 W</span>
                </div>
                <input type="range" class="rk-rot-slider" id="sliderQ" min="200" max="1500" step="50" value="600">
            </div>

            <div class="rk-rot-input-group">
                <div class="rk-rot-label">
                    Schłodzenie czynnika (ΔT)
                    <span class="rk-rot-val" id="valDT">5 K (Pompa Ciepła)</span>
                </div>
                <input type="range" class="rk-rot-slider" id="sliderDT" min="4" max="10" step="1" value="5">
            </div>
        </div>

        <div class="rk-rot-result-box">
            <div class="rk-rot-glass">
                <div class="rk-rot-fluid" id="rotFluid" style="height: 49%;"></div>
                <div class="rk-rot-indicator" id="rotIndicator" style="bottom: 49%;"></div>
            </div>
            <div class="rk-rot-final-val" id="resFlow">1.72</div>
            <div class="rk-rot-final-unit">l/min na rotametrze</div>
        </div>
    </div>

    <div class="rk-rot-info">
        <div class="rk-rot-info-box">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#f59e0b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink:0;"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg>
            <p>
                Projektant w części tabelarycznej dokumentacji podaje <strong>gotowe wartości nastaw wstępnych</strong>. Wykonawca lub inwestor ustawia czerwone pierścienie na <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/" style="color:#b45309;">rozdzielaczu</a> dokładnie na wskazane wartości (np. 1,7 l/min na pętli nr 3). Bez przeprowadzenia tej operacji instalacja płaszczyznowa nie będzie funkcjonować poprawnie, niezależnie od mocy samej pompy ciepła.
            </p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var sliderQ = document.getElementById('sliderQ');
    var sliderDT = document.getElementById('sliderDT');
    
    var valQ = document.getElementById('valQ');
    var valDT = document.getElementById('valDT');
    var resFlow = document.getElementById('resFlow');
    
    var rotFluid = document.getElementById('rotFluid');
    var rotIndicator = document.getElementById('rotIndicator');

    // Stałe fizyczne z usuniętego wzoru
    var c_p = 4190; // J/(kg*K)
    var rho = 997; // kg/m3

    function calculateFlow() {
        var Q = parseInt(sliderQ.value);
        var dT = parseInt(sliderDT.value);

        // Wyświetlanie etykiet
        valQ.textContent = Q + " W";
        
        if(dT === 5) {
            valDT.textContent = dT + " K (Pompa Ciepła)";
        } else if (dT >= 8) {
            valDT.textContent = dT + " K (Kocioł gazowy)";
        } else {
            valDT.textContent = dT + " K";
        }

        // Obliczenia: V = Q / (cp * rho * dT) [m3/s]
        // Mnożymy przez 60000 aby uzyskać litry na minutę
        var flowLmin = (Q / (c_p * rho * dT)) * 60000;
        
        // Zabezpieczenie przed wartościami wykraczającymi poza skalę domowego rotametru
        if(flowLmin > 3.5) flowLmin = 3.5; 
        
        resFlow.textContent = flowLmin.toFixed(2);

        // Animacja rotametru (max przepływ zakładamy na 3.5 l/min)
        var percentage = (flowLmin / 3.5) * 100;
        if(percentage > 100) percentage = 100;
        if(percentage < 5) percentage = 5;

        rotFluid.style.height = percentage + '%';
        rotIndicator.style.bottom = percentage + '%';
    }

    sliderQ.addEventListener('input', calculateFlow);
    sliderDT.addEventListener('input', calculateFlow);
    
    // Inicjalizacja
    calculateFlow();
});
</script>



<style>
:root {
    --rk-algo-dark: #0f172a;
    --rk-algo-blue: #0284c7;
    --rk-algo-blue-light: #f0f9ff;
    --rk-algo-green: #10b981;
    --rk-algo-green-light: #dcfce7;
    --rk-algo-red: #ef4444;
    --rk-algo-red-light: #fef2f2;
    --rk-algo-gray: #64748b;
    --rk-algo-bg: #ffffff;
    --rk-algo-border: #e2e8f0;
    --rk-algo-accent: #8b5cf6;
}

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

/* Nagłówek */
.rk-algo-header {
    padding: 40px 50px 30px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-algo-border);
}

.rk-algo-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-algo-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-algo-icon-main {
    width: 48px;
    height: 48px;
    background: #f3e8ff;
    color: var(--rk-algo-accent);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-algo-desc {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-algo-gray);
    margin: 0 0 25px 0;
}

/* Wizualizacja Metodologii */
.rk-algo-steps-wrapper {
    background: #f8fafc;
    border: 1px solid var(--rk-algo-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-algo-step-item {
    display: flex;
    align-items: center;
    gap: 15px;
    background: #ffffff;
    padding: 15px 20px;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
}

.rk-algo-step-num {
    background: var(--rk-algo-accent);
    color: #ffffff;
    font-weight: 900;
    width: 32px; height: 32px;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}

.rk-algo-step-text {
    font-size: 15px;
    color: var(--rk-algo-dark);
    font-weight: 600;
}

.rk-algo-step-arrow {
    margin: 0 auto;
    color: var(--rk-algo-gray);
    opacity: 0.5;
}

/* Kalkulator Szacunkowy */
.rk-algo-calc-area {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-algo-calc-title {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-algo-dark);
    margin: 0 0 10px 0;
    text-align: center;
}

.rk-algo-calc-subtitle {
    text-align: center;
    color: var(--rk-algo-gray);
    font-size: 15px;
    margin: 0 0 30px 0;
}

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

/* Sekcja suwaków */
.rk-algo-controls {
    background: #f8fafc;
    padding: 30px;
    border-radius: 20px;
    border: 1px solid var(--rk-algo-border);
}

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

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

.rk-algo-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-algo-dark);
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-algo-val-badge {
    background: var(--rk-algo-blue-light);
    color: var(--rk-algo-blue);
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 14px;
}

input[type="range"].rk-algo-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: var(--rk-algo-border);
    border-radius: 4px;
    outline: none;
}

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

input[type="range"].rk-algo-slider::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}

/* Wyniki szacunkowe */
.rk-algo-results {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-algo-res-card {
    background: var(--rk-algo-dark);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.rk-algo-res-card::before {
    content: '';
    position: absolute;
    top: -20px; right: -20px;
    width: 80px; height: 80px;
    border-radius: 50%;
    background: rgba(255,255,255,0.05);
}

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

.rk-algo-res-val {
    font-size: 24px;
    font-weight: 900;
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.rk-algo-res-val span {
    font-size: 14px;
    color: #cbd5e1;
    font-weight: 600;
}

.rk-algo-res-card.highlight {
    background: var(--rk-algo-blue);
}

.rk-algo-res-card.highlight::before {
    background: rgba(255,255,255,0.15);
}

/* CTA i Ostrzeżenie */
.rk-algo-alert {
    margin-top: 30px;
    background: #fffbeb;
    border: 1px solid #fcd34d;
    border-radius: 16px;
    padding: 25px;
    text-align: center;
}

.rk-algo-alert p {
    color: #92400e;
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 15px 0;
}

.rk-algo-cta-btn {
    display: inline-block;
    background: #b45309;
    color: #ffffff;
    font-size: 15px;
    font-weight: 800;
    padding: 14px 28px;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s;
}

.rk-algo-cta-btn:hover {
    background: #92400e;
    transform: translateY(-2px);
}

@media (max-width: 768px) {
    .rk-algo-header, .rk-algo-calc-area {
        padding: 25px 20px;
    }
    .rk-algo-header h2 {
        font-size: 24px;
    }
    .rk-algo-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    .rk-algo-controls {
        padding: 20px;
    }
    .rk-algo-step-item {
        padding: 12px 15px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#article-algorytm",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/"
    },
    "headline": "Algorytm projektowania i obliczeń hydraulicznych ogrzewania podłogowego",
    "description": "4-etapowa inżynieryjna metodologia doboru instalacji płaszczyznowej oraz interaktywny symulator szacujący zapotrzebowanie na materiały.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-02",
    "dateModified": "2026-08-02"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#dataset-algorytm",
    "name": "Szacunkowe zestawienie hydrauliczne dla rury PEX 16x2.0",
    "description": "Algorytmiczny dobór ilości pętli, wielkości rozdzielacza i długości całkowitej rur bazujący na zapotrzebowaniu OZC i metrażu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "obliczenia hydrauliczne podłogówki",
      "algorytm projektowania ogrzewania podłogowego",
      "kalkulator rury PEX na m2",
      "ile pętli na rozdzielaczu kalkulator",
      "jak dobrać rozdzielacz do podłogówki"
    ],
    "measurementTechnique": "Szacowanie oparte na założeniu maksymalnej długości pętli 80m dla rury 16mm oraz uśrednionych oporach cieplnych wykończenia.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Metodologia: 1. Analiza budynku, 2. OZC, 3. Projekt Hydrauliczny, 4. Dokumentacja CAD.",
        "Obliczenia rur: Wynikają z powierzchni pomnożonej przez gęstość strumienia pomniejszonej o zabudowę stałą.",
        "Rozdzielacz: Liczba sekcji wynika z podzielenia całkowitej długości rur przez rekomendowane 80 metrów na pętlę."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#webapp-algorytm",
    "name": "Inżynieryjny Kalkulator Szacunkowy Materiałów",
    "description": "Narzędzie przybliżające ilość rur, obiegów i wielkość rozdzielacza, pokazujące stopień skomplikowania instalacji bez profesjonalnego projektu.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-algo-container">
    <div class="rk-algo-header">
        <h2>
            <div class="rk-algo-icon-main">
                <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="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>
            Algorytm projektowania i obliczeń hydraulicznych
        </h2>
        <p class="rk-algo-desc">
            Nasz inżynieryjny proces projektowy w serwisie <a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a> nie opiera się na zgadywaniu. Skomplikowane wzory termodynamiki, oporów cieplnych i hydrodynamicznych sprowadziliśmy do rygorystycznej, 4-etapowej metodologii:
        </p>

        <div class="rk-algo-steps-wrapper">
            <div class="rk-algo-step-item">
                <div class="rk-algo-step-num">1</div>
                <div class="rk-algo-step-text"><strong>Analiza budynku:</strong> Dogłębna weryfikacja dokumentacji i izolacji.</div>
            </div>
            <svg class="rk-algo-step-arrow" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><polyline points="19 12 12 19 5 12"></polyline></svg>
            <div class="rk-algo-step-item">
                <div class="rk-algo-step-num">2</div>
                <div class="rk-algo-step-text"><strong>Obliczenia OZC:</strong> Precyzyjne wyznaczenie zapotrzebowania cieplnego (Norma PN-EN 12831).</div>
            </div>
            <svg class="rk-algo-step-arrow" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><polyline points="19 12 12 19 5 12"></polyline></svg>
            <div class="rk-algo-step-item">
                <div class="rk-algo-step-num">3</div>
                <div class="rk-algo-step-text"><strong>Projekt hydrauliczny:</strong> Wyliczenie długości pętli, rozstawów oraz sparametryzowanie zrównoważenia na zaworach.</div>
            </div>
            <svg class="rk-algo-step-arrow" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><polyline points="19 12 12 19 5 12"></polyline></svg>
            <div class="rk-algo-step-item">
                <div class="rk-algo-step-num">4</div>
                <div class="rk-algo-step-text"><strong>Dokumentacja końcowa:</strong> Kompletny projekt wykonawczy (CAD/PDF) z tabelami nastaw.</div>
            </div>
        </div>
    </div>

    <!-- Kalkulator -->
    <div class="rk-algo-calc-area">
        <h3 class="rk-algo-calc-title">Inżynieryjny Kalkulator Szacunkowy Instalacji</h3>
        <p class="rk-algo-calc-subtitle">Sprawdź szacunkowe zapotrzebowanie materiałowe (zakładając standardową rurę PEX 16 mm i max. długość pętli 80 m).</p>

        <div class="rk-algo-grid">
            
            <div class="rk-algo-controls">
                <div class="rk-algo-control-group">
                    <div class="rk-algo-label">
                        Powierzchnia grzewcza
                        <span class="rk-algo-val-badge" id="vPow">120 m²</span>
                    </div>
                    <input type="range" class="rk-algo-slider" id="sPow" min="40" max="300" step="5" value="120">
                </div>

                <div class="rk-algo-control-group">
                    <div class="rk-algo-label">
                        Jednostkowe zapotrzebowanie (OZC)
                        <span class="rk-algo-val-badge" id="vOzc">40 W/m²</span>
                    </div>
                    <input type="range" class="rk-algo-slider" id="sOzc" min="20" max="80" step="5" value="40">
                </div>

                <div class="rk-algo-control-group">
                    <div class="rk-algo-label">
                        Średnia odległość do rozdzielacza
                        <span class="rk-algo-val-badge" id="vDobieg">5 m</span>
                    </div>
                    <input type="range" class="rk-algo-slider" id="sDobieg" min="2" max="15" step="1" value="5">
                </div>
            </div>

            <div class="rk-algo-results">
                <div class="rk-algo-res-card highlight">
                    <div class="rk-algo-res-info">
                        <div class="rk-algo-res-label">Ilość potrzebnej rury (z dobiegami)</div>
                        <div class="rk-algo-res-val" id="rRura">840 <span>m.b.</span></div>
                    </div>
                </div>

                <div class="rk-algo-res-card">
                    <div class="rk-algo-res-info">
                        <div class="rk-algo-res-label">Rozdzielacz podłogowy</div>
                        <div class="rk-algo-res-val" id="rRozdzielacz">11 <span>sekcji</span></div>
                    </div>
                </div>

                <div class="rk-algo-res-card">
                    <div class="rk-algo-res-info">
                        <div class="rk-algo-res-label">Szacowany przepływ (całość)</div>
                        <div class="rk-algo-res-val" id="rPrzeplyw">13.8 <span>l/min</span></div>
                    </div>
                </div>
                
                <div class="rk-algo-res-card">
                    <div class="rk-algo-res-info">
                        <div class="rk-algo-res-label">Średnia nastawa na 1 rotametr</div>
                        <div class="rk-algo-res-val" id="rNastawa">1.2 <span>l/min</span></div>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-algo-alert">
            <p><strong>Uwaga:</strong> Powyższe wartości mają charakter wyłącznie szacunkowy. Dokładne zbilansowanie oporów miejscowych, strat na wykończeniu (panele vs płytki) oraz wyznaczenie stref brzegowych wymaga pełnej weryfikacji inżynierskiej.</p>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-algo-cta-btn">Zamów pełną dokumentację projektową</a>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var sPow = document.getElementById('sPow');
    var sOzc = document.getElementById('sOzc');
    var sDobieg = document.getElementById('sDobieg');

    var vPow = document.getElementById('vPow');
    var vOzc = document.getElementById('vOzc');
    var vDobieg = document.getElementById('vDobieg');

    var rRura = document.getElementById('rRura');
    var rRozdzielacz = document.getElementById('rRozdzielacz');
    var rPrzeplyw = document.getElementById('rPrzeplyw');
    var rNastawa = document.getElementById('rNastawa');

    function calculateHydraulics() {
        var pow = parseInt(sPow.value);
        var ozc = parseInt(sOzc.value);
        var dobieg = parseInt(sDobieg.value);

        // Update labels
        vPow.textContent = pow + " m²";
        vOzc.textContent = ozc + " W/m²";
        vDobieg.textContent = dobieg + " m";

        // Szacowanie ilości rur
        // Średnio na 1m2 przy pompie ciepła (rozstaw ok 10cm-15cm) wchodzi od 6.5 do 10 mb rury.
        // Przyjmijmy średni mnożnik z normy:
        var multiplier = 7.5; 
        if (ozc > 50) multiplier = 9.0; // Większe zapotrzebowanie = gęściej
        if (ozc < 30) multiplier = 6.0;

        var ruraBazowa = pow * multiplier;
        
        // Całkowita moc
        var mocCalkowita = pow * ozc; // w Watach
        
        // Przepływ całkowity dla dT=5K (pompa ciepła)
        // Wzór uproszczony: Q / (4190 * 997 * 5) * 60000 = ok. Q * 0.00286
        var przeplywCalkowity = mocCalkowita * 0.00286;

        // Ilość sekcji (pętli)
        // Zakładamy max 80m pętli bazowej dla rury 16mm
        var iloscSekcji = Math.ceil(ruraBazowa / 80);

        // Dobiegi (zasilanie + powrót dla każdej sekcji)
        var dlugoscDobiegow = iloscSekcji * dobieg * 2;
        var ruraCalkowita = Math.round(ruraBazowa + dlugoscDobiegow);

        // Nastawa średnia
        var nastawa = przeplywCalkowity / iloscSekcji;

        // Aktualizacja UI
        rRura.innerHTML = ruraCalkowita + " <span>m.b.</span>";
        rRozdzielacz.innerHTML = iloscSekcji + " <span>sekcji</span>";
        rPrzeplyw.innerHTML = przeplywCalkowity.toFixed(1) + " <span>l/min</span>";
        rNastawa.innerHTML = nastawa.toFixed(1) + " <span>l/min</span>";
    }

    sPow.addEventListener('input', calculateHydraulics);
    sOzc.addEventListener('input', calculateHydraulics);
    sDobieg.addEventListener('input', calculateHydraulics);

    // Initial calc
    calculateHydraulics();
});
</script>



<style>
:root {
    --rk-check-dark: #0f172a;
    --rk-check-blue: #0284c7;
    --rk-check-blue-light: #f0f9ff;
    --rk-check-green: #10b981;
    --rk-check-green-light: #dcfce7;
    --rk-check-gray: #64748b;
    --rk-check-bg: #ffffff;
    --rk-check-border: #e2e8f0;
    --rk-check-wa: #25D366; /* WhatsApp color */
}

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

/* Nagłówek */
.rk-check-header {
    padding: 40px 50px 30px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-check-border);
}

.rk-check-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-check-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-check-icon-main {
    width: 48px;
    height: 48px;
    background: var(--rk-check-blue-light);
    color: var(--rk-check-blue);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-check-desc {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-check-gray);
    margin: 0; /* Usunięto margines dolny, bo zaraz po tym jest border */
}

/* Interaktywna lista elementów */
.rk-check-list-area {
    padding: 40px 50px;
    background: #f8fafc;
}

/* Pasek postępu - przeniesiony do obszaru listy */
.rk-check-progress-wrapper {
    background: #ffffff;
    padding: 20px 25px;
    border: 1px solid var(--rk-check-border);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 25px; /* Odstęp od kafelków */
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}

.rk-check-progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-check-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-check-progress-bar {
    width: 100%;
    height: 8px;
    background: var(--rk-check-border);
    border-radius: 4px;
    overflow: hidden;
}

.rk-check-progress-fill {
    height: 100%;
    background: var(--rk-check-green);
    width: 0%;
    border-radius: 4px;
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-check-grid {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-check-item {
    background: #ffffff;
    border: 2px solid var(--rk-check-border);
    border-radius: 16px;
    padding: 20px 25px;
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    align-items: start;
}

.rk-check-item:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 12px rgba(0,0,0,0.02);
}

.rk-check-item.done {
    border-color: var(--rk-check-green);
    background: var(--rk-check-green-light);
}

/* Custom Checkbox */
.rk-check-box {
    width: 32px;
    height: 32px;
    border: 2px solid var(--rk-check-border);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    transition: all 0.3s;
    margin-top: 2px;
}

.rk-check-item.done .rk-check-box {
    background: var(--rk-check-green);
    border-color: var(--rk-check-green);
}

.rk-check-icon {
    color: #ffffff;
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-check-item.done .rk-check-icon {
    opacity: 1;
    transform: scale(1);
}

/* Zawartość check-listy */
.rk-check-content h3 {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-check-dark);
    transition: color 0.3s;
}

.rk-check-content p {
    margin: 0;
    font-size: 15px;
    color: #475569;
    line-height: 1.6;
}

.rk-check-item.done .rk-check-content h3 {
    color: #065f46;
}

.rk-check-item.done .rk-check-content p {
    color: #064e3b;
}

/* Sekcja formularza online / Kontakt */
.rk-check-action-box {
    background: var(--rk-check-dark);
    padding: 35px 50px;
    display: flex;
    align-items: center;
    gap: 30px;
    position: relative;
    overflow: hidden;
    transition: background 0.5s ease;
}

.rk-check-action-box.completed {
    background: #064e3b; /* Zmiana tła na zielone gdy 100% */
}

.rk-check-action-box::before {
    content: '';
    position: absolute;
    top: -50px; right: -20px;
    width: 150px; height: 150px;
    border-radius: 50%;
    background: rgba(255,255,255,0.05);
}

.rk-check-action-content {
    flex: 1;
    position: relative;
    z-index: 1;
}

.rk-check-action-content h3 {
    color: #ffffff;
    font-size: 22px;
    font-weight: 900;
    margin: 0 0 10px 0;
}

.rk-check-action-content p {
    color: #cbd5e1;
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}

.rk-check-cta-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
    z-index: 1;
}

/* Przyciski */
.rk-check-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 800;
    padding: 14px 24px;
    border-radius: 12px;
    text-decoration: none;
    text-align: center;
    white-space: nowrap;
    transition: all 0.3s;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

/* Stan 1: Zamów projekt */
.rk-btn-primary {
    background: var(--rk-check-blue);
    color: #ffffff;
}

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

/* Stan 2: WhatsApp & Mail (Ukryte domyślnie) */
.rk-btn-wa, .rk-btn-mail {
    display: none; /* Pokażą się w JS */
}

.rk-btn-wa {
    background: var(--rk-check-wa);
    color: #ffffff;
}

.rk-btn-wa:hover {
    background: #1da851;
    transform: translateY(-2px);
}

.rk-btn-mail {
    background: #ffffff;
    color: var(--rk-check-dark);
}

.rk-btn-mail:hover {
    background: #f1f5f9;
    transform: translateY(-2px);
}

@media (max-width: 768px) {
    .rk-check-header, .rk-check-list-area, .rk-check-action-box {
        padding: 25px 20px;
    }
    .rk-check-header h2 {
        font-size: 24px;
        align-items: flex-start;
    }
    .rk-check-item {
        grid-template-columns: 28px 1fr;
        gap: 15px;
        padding: 15px;
    }
    .rk-check-box {
        width: 28px;
        height: 28px;
    }
    .rk-check-content h3 {
        font-size: 16px;
    }
    .rk-check-action-box {
        flex-direction: column;
        text-align: center;
        gap: 20px;
    }
    .rk-check-cta-container {
        width: 100%;
    }
    .rk-check-btn {
        width: 100%;
        box-sizing: border-box;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#article-dokumenty",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/"
    },
    "headline": "Jakie dokumenty i dane są niezbędne, aby zlecić projekt podłogówki online?",
    "description": "Lista niezbędnych dokumentów budowlanych oraz danych dotyczących izolacji wymaganych do rzetelnego obliczenia bilansu OZC i układu rur.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-02",
    "dateModified": "2026-08-02"
  },
  {
    "@context": "https://schema.org",
    "@type": "HowTo",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#howto-dokumenty",
    "name": "Jak przygotować się do zamówienia projektu podłogówki online",
    "description": "Lista kroków kompletowania dokumentacji budowlanej niezbędnej do poprawnego wyliczenia zapotrzebowania cieplnego w standardzie WT2021.",
    "step": [
      {
        "@type": "HowToStep",
        "name": "Zdobądź rzuty architektoniczne",
        "text": "Potrzebne będą cyfrowe pliki rzutów kondygnacji w formacie JPG, PNG, DWG lub PDF z naniesionymi wymiarami ścian w świetle murów."
      },
      {
        "@type": "HowToStep",
        "name": "Sprawdź izolację przegród",
        "text": "Odczytaj z projektu budowlanego współczynniki przewodzenia ciepła dla styropianu podłogowego, ścian zewnętrznych i dachu."
      },
      {
        "@type": "HowToStep",
        "name": "Określ typ wykończenia posadzek",
        "text": "Wypisz rodzaj planowanej okładziny: płytki ceramiczne, gres, panele podłogowe lub deska, co pozwoli obliczyć opór przewodzenia ciepła."
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#webapp-checklista",
    "name": "Inżynieryjna Check-lista Wymagań Projektowych",
    "description": "Interaktywna lista kontrolna pozwalająca na weryfikację zebranych przez inwestora dokumentów potrzebnych do uruchomienia procedury projektowania OZC.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-check-container">
    <div class="rk-check-header">
        <h2>
            <div class="rk-check-icon-main">
                <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
            Jakie dokumenty i dane są niezbędne do wykonania projektu?
        </h2>
        <p class="rk-check-desc">
            Bez kompletu inżynieryjnych danych materiałowych fizycznie niemożliwe jest wyznaczenie rzeczywistych, indywidualnych strat ciepła dla poszczególnych pomieszczeń. Projektant opiera bilans na normie <strong>Warunków Technicznych 2021 (WT2021)</strong>, definiując opór cieplny (R) i współczynnik przenikania (U).
        </p>
    </div>

    <div class="rk-check-list-area">
        
        <!-- Pasek postępu przeniesiony tutaj -->
        <div class="rk-check-progress-wrapper">
            <div class="rk-check-progress-header">
                <span>Skompletuj dokumenty i przejdź do darmowego projektu</span>
                <span id="progressText">0 / 5</span>
            </div>
            <div class="rk-check-progress-bar">
                <div class="rk-check-progress-fill" id="progressBar"></div>
            </div>
        </div>

        <div class="rk-check-grid" id="checklist">
            
            <div class="rk-check-item">
                <div class="rk-check-box">
                    <svg class="rk-check-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                </div>
                <div class="rk-check-content">
                    <h3>Rzuty architektoniczne (PDF/DWG/JPG)</h3>
                    <p>Poziomy parteru oraz piętra lub poddasza z czytelnie naniesionymi wymiarami ścian w świetle murów oraz dokładną lokalizacją stolarki otworowej (okna, okna tarasowe, drzwi).</p>
                </div>
            </div>

            <div class="rk-check-item">
                <div class="rk-check-box">
                    <svg class="rk-check-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                </div>
                <div class="rk-check-content">
                    <h3>Specyfikacja izolacji i przegród</h3>
                    <p>Grubości i parametry styropianu w podłodze (np. EPS 100 15 cm), konstrukcja ścian zewnętrznych (np. pustak 25 cm + grafit 20 cm) oraz przenikalność cieplna okien ze standardu WT2021.</p>
                </div>
            </div>

            <div class="rk-check-item">
                <div class="rk-check-box">
                    <svg class="rk-check-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                </div>
                <div class="rk-check-content">
                    <h3>Planowane wykończenie posadzek</h3>
                    <p>Decyzja o tym, co finalnie znajdzie się na podłodze, definiuje opór cieplny. Projektant musi wiedzieć, gdzie znajdzie się gres, gdzie panele laminowane, a gdzie deska drewniana.</p>
                </div>
            </div>

            <div class="rk-check-item">
                <div class="rk-check-box">
                    <svg class="rk-check-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                </div>
                <div class="rk-check-content">
                    <h3>Temperatura źródła ciepła</h3>
                    <p>Wskazanie generatora: Niskotemperaturowa pompa ciepła zasilająca układ wodą o temperaturze 30-35°C czy kocioł kondensacyjny gazowy (zasilanie na poziomie 40-45°C).</p>
                </div>
            </div>

            <div class="rk-check-item">
                <div class="rk-check-box">
                    <svg class="rk-check-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                </div>
                <div class="rk-check-content">
                    <h3>Lokalizacja szafek z rozdzielaczami</h3>
                    <p>Sugerowane miejsca ukrycia rozdzielaczy wodnych. Jeśli nie wiesz, gdzie powinny się znajdować, specjalista ds. HVAC zaproponuje optymalne rozwiązanie.</p>
                </div>
            </div>

        </div>
    </div>

    <!-- Płynne przejście do zamówienia / Kontaktu -->
    <div class="rk-check-action-box" id="actionBox">
        <div class="rk-check-action-content">
            <h3 id="actionTitle">Masz pytania lub brakuje Ci dokumentów?</h3>
            <p id="actionDesc">Wszystkie powyższe punkty uzupełnisz w <strong>intuicyjnej ankiecie projektowej</strong>, którą system wyśle na Twój e-mail po złożeniu zamówienia.</p>
        </div>
        <div class="rk-check-cta-container">
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-check-btn rk-btn-primary" id="btnOrder">
                Zleć Projekt Ogrzewania
            </a>
            
            <a href="https://wa.me/48794358367" target="_blank" class="rk-check-btn rk-btn-wa" id="btnWa">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg>
                Wyślij na WhatsApp
            </a>
            
            <a href="mailto:biuro@projekt-ogrzewania.pl" class="rk-check-btn rk-btn-mail" id="btnMail">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline></svg>
                biuro@projekt-ogrzewania.pl
            </a>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var checkItems = document.querySelectorAll('.rk-check-item');
    var progressBar = document.getElementById('progressBar');
    var progressText = document.getElementById('progressText');
    
    var actionBox = document.getElementById('actionBox');
    var actionTitle = document.getElementById('actionTitle');
    var actionDesc = document.getElementById('actionDesc');
    
    var btnOrder = document.getElementById('btnOrder');
    var btnWa = document.getElementById('btnWa');
    var btnMail = document.getElementById('btnMail');
    
    var totalItems = checkItems.length;

    function updateProgress() {
        var doneItems = document.querySelectorAll('.rk-check-item.done').length;
        var percentage = (doneItems / totalItems) * 100;
        
        // Zabezpieczenie przed błędem logicznym bez &&
        if(percentage < 0) { percentage = 0; }
        if(percentage > 100) { percentage = 100; }
        
        progressBar.style.width = percentage + '%';
        progressText.textContent = doneItems + ' / ' + totalItems;

        // Logika zmiany CTA gdy użytkownik zaznaczy 5/5
        if (doneItems === totalItems) {
            actionBox.classList.add('completed');
            actionTitle.textContent = "Świetnie! Masz gotowy komplet dokumentów.";
            actionDesc.innerHTML = "W takim układzie wyślij je do nas na wskazane poniżej kanały, a my od ręki, na szybko – <strong style=\"color:#ffffff; font-size:16px;\">za darmo*</strong> wykonamy propozycję systemu układu ogrzewania oraz wycenę, niezobowiązująco do niczego!";
            
            btnOrder.style.display = 'none';
            btnWa.style.display = 'inline-flex';
            btnMail.style.display = 'inline-flex';
        } else {
            actionBox.classList.remove('completed');
            actionTitle.textContent = "Masz pytania lub brakuje Ci dokumentów?";
            actionDesc.innerHTML = "Wszystkie powyższe punkty uzupełnisz w <strong>intuicyjnej ankiecie projektowej</strong>, którą system wyśle na Twój e-mail po złożeniu zamówienia.";
            
            btnOrder.style.display = 'inline-flex';
            btnWa.style.display = 'none';
            btnMail.style.display = 'none';
        }
    }

    checkItems.forEach(function(item) {
        item.addEventListener('click', function() {
            // Przełączanie klasy "done" bez skomplikowanej logiki
            if (this.classList.contains('done')) {
                this.classList.remove('done');
            } else {
                this.classList.add('done');
            }
            updateProgress();
        });
    });
});
</script>



<style>
:root {
    --rk-price-dark: #0f172a;
    --rk-price-blue: #0284c7;
    --rk-price-blue-light: #f0f9ff;
    --rk-price-green: #10b981;
    --rk-price-green-light: #dcfce7;
    --rk-price-gray: #64748b;
    --rk-price-bg: #ffffff;
    --rk-price-border: #e2e8f0;
    --rk-price-gold: #f59e0b;
    --rk-price-gold-light: #fffbeb;
}

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

/* Nagłówek */
.rk-price-header {
    padding: 40px 50px 30px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-price-border);
}

.rk-price-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-price-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-price-icon-main {
    width: 48px;
    height: 48px;
    background: var(--rk-price-gold-light);
    color: var(--rk-price-gold);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

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

/* Wizualizacja Reprezentatywna (zamiast kalkulatora) */
.rk-price-showcase {
    padding: 40px 50px;
    background: #f8fafc;
    display: grid;
    grid-template-columns: 1.2fr 1.5fr;
    gap: 40px;
    align-items: stretch;
}

/* Karta z założeniami */
.rk-price-assumptions {
    background: #ffffff;
    padding: 30px;
    border-radius: 20px;
    border: 1px solid var(--rk-price-border);
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-price-assump-item {
    margin-bottom: 25px;
}

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

.rk-price-assump-label {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-price-gray);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 5px;
}

.rk-price-assump-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-price-dark);
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-price-assump-val svg {
    color: var(--rk-price-blue);
}

/* Panel Wyników (Karta ROI) */
.rk-price-result-panel {
    background: var(--rk-price-dark);
    border-radius: 20px;
    padding: 35px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.rk-price-result-panel::before {
    content: '';
    position: absolute;
    top: -50px; right: -50px;
    width: 150px; height: 150px;
    border-radius: 50%;
    background: rgba(245, 158, 11, 0.1);
}

.rk-price-res-item {
    margin-bottom: 25px;
    position: relative;
    z-index: 1;
}

.rk-price-res-label {
    font-size: 13px;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    margin-bottom: 5px;
}

.rk-price-res-val {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.rk-price-res-val span {
    font-size: 16px;
    font-weight: 600;
    color: #cbd5e1;
}

.rk-price-res-val.cost {
    text-decoration: line-through;
    color: #64748b;
    font-size: 20px;
    margin-bottom: 5px;
}

.rk-price-res-val.free {
    color: var(--rk-price-green);
    font-size: 36px;
}

.rk-price-res-val.savings {
    color: var(--rk-price-gold);
    font-size: 32px;
}

/* Informacja o korzyściach */
.rk-price-benefits {
    background: #ffffff;
    padding: 30px 50px;
    border-bottom: 1px solid var(--rk-price-border);
}

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

.rk-price-ben-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.rk-price-ben-icon {
    color: var(--rk-price-green);
    background: var(--rk-price-green-light);
    padding: 6px;
    border-radius: 8px;
    flex-shrink: 0;
}

.rk-price-ben-text {
    font-size: 14px;
    color: var(--rk-price-dark);
    font-weight: 600;
    line-height: 1.5;
}

/* Call to Action */
.rk-price-cta-box {
    padding: 40px 50px;
    background: var(--rk-price-blue-light);
    text-align: center;
}

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

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

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

.rk-price-legenda {
    font-size: 13px;
    color: var(--rk-price-gray);
    margin-top: 15px;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .rk-price-header, .rk-price-showcase, .rk-price-benefits, .rk-price-cta-box {
        padding: 25px 20px;
    }
    .rk-price-header h2 {
        font-size: 24px;
    }
    .rk-price-showcase {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .rk-price-assumptions, .rk-price-result-panel {
        padding: 25px;
    }
    .rk-price-benefits-grid {
        grid-template-columns: 1fr;
    }
    .rk-price-btn-massive {
        width: 100%;
        box-sizing: border-box;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#article-cena",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/"
    },
    "headline": "Ile kosztuje projekt ogrzewania podłogowego online i co wpływa na jego cenę?",
    "description": "Zasady wyceny projektów instalacji płaszczyznowej oraz mechanizm zwrotu kosztów dokumentacji inżynieryjnej przy zakupie z materiałami.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-02",
    "dateModified": "2026-08-02"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#dataset-cena",
    "name": "Kalkulacja Kosztów Inwestycyjnych i Oszczędności Materiałowych",
    "description": "Analiza ekonomiczna opłacalności wykonania rzetelnego projektu przed przystąpieniem do zakupu asortymentu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile kosztuje projekt ogrzewania podłogowego",
      "wycena projektu podłogówki online",
      "oszczędności na materiale rura PEX",
      "rabaty na materiały instalacyjne HVAC",
      "darmowy projekt podłogówki kaucja"
    ],
    "measurementTechnique": "Algorytm oparty na przeliczniku metrażu, poziomu kondygnacji i redukcji strat wykonawczych przy zastosowaniu 40-50% rabatów producenckich.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wycena bazowa: 350-1600 PLN uzależniona od powierzchni całkowitej i kondygnacji.",
        "Model Kaucji: Projekt staje się darmowy (0 zł) przy realizacji dostawy materiałów z rabatem.",
        "Optymalizacja zakupów: Projekt inżynieryjny zabezpiecza inwestora przed zakupem odpadów montażowych.",
        "Rabaty: Naliczenie zniżki od 40% do 50% względem cen katalogowych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#webapp-kalkulator-roi",
    "name": "Wizualizacja Opłacalności Projektu OZC",
    "description": "Moduł prezentujący twarde dane finansowe udowadniające, że inwestycja w projekt zwraca się natychmiastowo przy zakupie materiału.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-price-container">
    <div class="rk-price-header">
        <h2>
            <div class="rk-price-icon-main">
                <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
            Ile kosztuje projekt ogrzewania podłogowego online?
        </h2>
        <p class="rk-price-desc">
            Rzeczywisty koszt profesjonalnego projektu w naszym serwisie mieści się w przedziale od 350,00 zł do 1600,00 zł brutto. Ostateczny wariant wyceny generowany jest automatycznie podczas zamówienia i zależy ściśle od powierzchni całkowitej, liczby kondygnacji oraz wybranego trybu realizacji (standard/ekspres).
        </p>
    </div>

    <!-- Prezentacja reprezentatywnego przykładu zamiast suwaka -->
    <div class="rk-price-showcase">
        
        <!-- Karta z założeniami -->
        <div class="rk-price-assumptions">
            <div class="rk-price-assump-item">
                <div class="rk-price-assump-label">Dla reprezentatywnego budynku o powierzchni:</div>
                <div class="rk-price-assump-val">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                    150 m²
                </div>
            </div>
            <div class="rk-price-assump-item">
                <div class="rk-price-assump-label">Układ budynku:</div>
                <div class="rk-price-assump-val">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 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>
                    1 Kondygnacja (Parter)
                </div>
            </div>
        </div>

        <!-- Panel Wyników (ROI) -->
        <div class="rk-price-result-panel">
            <div class="rk-price-res-item">
                <div class="rk-price-res-label">Cena Wyjściowa Dokumentacji OZC</div>
                <div class="rk-price-res-val cost">550 <span>zł brutto</span></div>
            </div>
            
            <div class="rk-price-res-item">
                <div class="rk-price-res-label">Koszty po wdrożeniu opcji kaucji*</div>
                <div class="rk-price-res-val free">0 <span>zł (Darmowy)</span></div>
            </div>

            <div class="rk-price-res-item" style="margin-bottom:0; padding-top:20px; border-top:1px solid rgba(255,255,255,0.1);">
                <div class="rk-price-res-label">Szacowana oszczędność na materiale dzięki projektowi</div>
                <div class="rk-price-res-val savings">~ 2700 <span>zł w budżecie</span></div>
            </div>
        </div>
    </div>

    <!-- Twarde korzyści biznesowe -->
    <div class="rk-price-benefits">
        <div class="rk-price-benefits-grid">
            <div class="rk-price-ben-item">
                <div class="rk-price-ben-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" 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 class="rk-price-ben-text">100% zwrotu kosztów za wykonany projekt w przypadku zakupu materiałów instalacyjnych.</div>
            </div>
            <div class="rk-price-ben-item">
                <div class="rk-price-ben-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20"></path><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                </div>
                <div class="rk-price-ben-text">Uzyskujesz potężne rabaty (od 40% do 50%) względem cen katalogowych producenta na cały sprzęt.</div>
            </div>
            <div class="rk-price-ben-item">
                <div class="rk-price-ben-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg>
                </div>
                <div class="rk-price-ben-text">Kupujesz wyłącznie potrzebną rurę PEX i rozdzielacze - unikasz drogich odpadów na placu budowy.</div>
            </div>
        </div>
    </div>

    <!-- CTA Główne -->
    <div class="rk-price-cta-box">
        <h3 class="rk-price-cta-title">Przestań przepłacać za nadmiarowy materiał i błędne instalacje.</h3>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-price-btn-massive">
            Zamów Projekt z Opcją Darmowej Kaucji*
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></svg>
        </a>
        <p class="rk-price-legenda">
            * Opłata za dokumentację inżynieryjną jest <strong>kaucją zwrotną</strong>. Wybierając i potwierdzając kompleksowe wyposażenie instalacyjne (na które nakładamy rabaty od 40% do 50% względem cen katalogowych), uzyskujesz 100% zwrotu kosztów za wykonany projekt.
        </p>
    </div>
</div>



<style>
:root {
    --rk-doc-dark: #0f172a;
    --rk-doc-blue: #0284c7;
    --rk-doc-blue-light: #f0f9ff;
    --rk-doc-green: #10b981;
    --rk-doc-gray: #64748b;
    --rk-doc-bg: #ffffff;
    --rk-doc-border: #e2e8f0;
    --rk-doc-pdf: #e11d48; /* Głęboka czerwień dla przycisku PDF */
    --rk-doc-pdf-hover: #be123c;
}

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

/* Układ dwukolumnowy */
.rk-doc-showcase {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
}

/* Kolumna lewa: Treść i CTA */
.rk-doc-info {
    display: flex;
    flex-direction: column;
}

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

.rk-doc-icon-main {
    width: 42px;
    height: 42px;
    background: #f1f5f9;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

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

.rk-doc-desc {
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-doc-gray);
    margin: 0 0 25px 0;
}

/* Lista korzyści z checkmarkami */
.rk-doc-features {
    list-style: none;
    padding: 0;
    margin: 0 0 35px 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-doc-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 16px;
    color: var(--rk-doc-dark);
    line-height: 1.5;
}

.rk-doc-feature-item strong {
    font-weight: 800;
}

.rk-doc-check {
    color: var(--rk-doc-blue);
    flex-shrink: 0;
    margin-top: 2px;
}

/* Przycisk Pobierz PDF */
.rk-doc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--rk-doc-pdf);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 18px 30px;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 25px -5px rgba(225, 29, 72, 0.4);
    text-align: center;
}

.rk-doc-btn:hover {
    background: var(--rk-doc-pdf-hover);
    transform: translateY(-3px);
    box-shadow: 0 15px 30px -5px rgba(225, 29, 72, 0.5);
}

/* Kolumna prawa: Grafiki */
.rk-doc-visuals {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Główny obrazek */
.rk-doc-main-img-wrapper {
    background: #ffffff;
    border: 1px solid var(--rk-doc-border);
    border-radius: 16px;
    padding: 10px;
    box-shadow: 10px 15px 35px rgba(0,0,0,0.08);
    transform: rotate(2deg); /* Delikatne przechylenie dla efektu wizualnego */
    transition: transform 0.4s ease;
    overflow: hidden;
}

.rk-doc-main-img-wrapper:hover {
    transform: rotate(0deg) scale(1.02);
}

.rk-doc-main-img-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    object-fit: cover;
    aspect-ratio: 4/3;
}

/* Miniatury */
.rk-doc-thumbnails {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    padding: 0 10px; /* Margines wewn. żeby zrównać z głównym zdjęciem po rotacji */
}

.rk-doc-thumb {
    background: #f8fafc;
    border: 2px solid transparent;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.rk-doc-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 4/3;
    opacity: 0.7;
    transition: opacity 0.2s;
}

.rk-doc-thumb:hover, .rk-doc-thumb.active {
    border-color: var(--rk-doc-blue);
    transform: translateY(-2px);
}

.rk-doc-thumb:hover img, .rk-doc-thumb.active img {
    opacity: 1;
}

@media (max-width: 768px) {
    .rk-doc-container {
        padding: 30px 20px;
    }
    .rk-doc-showcase {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .rk-doc-title {
        font-size: 26px;
    }
    .rk-doc-main-img-wrapper {
        transform: rotate(0deg); /* Usuwamy rotację na mobile dla lepszej czytelności */
    }
    .rk-doc-btn {
        width: 100%;
        box-sizing: border-box;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#article-projekt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/"
    },
    "headline": "Zobacz przykładowy projekt ogrzewania podłogowego",
    "description": "Przykładowa, 14-stronicowa dokumentacja wykonawcza zawierająca precyzyjne wyniki OZC, hydraulikę, rozstawy pętli oraz listę materiałów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Parametry-montazu-OP-A1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-02",
    "dateModified": "2026-08-02"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#dataset-projekt",
    "name": "Archiwum Wykonawcze: Wyniki OZC i Nastawy Hydrauliczne",
    "description": "Wizualne repozytorium próbek dokumentacji inżynieryjnej potwierdzającej zachowanie norm hydraulicznych na rozdzielaczu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "przykładowy projekt ogrzewania podłogowego pdf",
      "jak wygląda projekt podłogówki",
      "wyniki obliczeń OZC",
      "rzuty graficzne pętli grzewczych",
      "parametry montażu instalacji HVAC"
    ],
    "measurementTechnique": "Raportowanie wyników symulacji cieplnej i hydromechanicznej z oprogramowania inżynieryjnego do formatu PDF czytelnego dla instalatora.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Dokładne OZC wskazujące precyzyjną temperaturę zasilania.",
        "Hydraulika z wyliczonymi opadami ciśnienia.",
        "Precyzyjne rozstawy pętli co 10 lub 15 cm.",
        "Kompletna specyfikacja materiałowa rur i złączek."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#webapp-galeria",
    "name": "Interaktywny Przegląd Projektu CAD",
    "description": "Moduł galerii obrazującej przekrój merytoryczny inżynieryjnego projektu ogrzewania z bezpośrednim dostępem do pliku źródłowego PDF.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-doc-container">
    <div class="rk-doc-showcase">
        
        <!-- Lewa strona: Opis + Lista + CTA -->
        <div class="rk-doc-info">
            <div class="rk-doc-header">
                <div class="rk-doc-icon-main">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                </div>
                <h2 class="rk-doc-title">Zobacz przykładowy projekt.</h2>
            </div>
            
            <p class="rk-doc-desc">
                Pobierz pełny, 14-stronicowy przykładowy projekt i zobacz na własne oczy twarde inżynieryjne dane, które uchronią Twoją inwestycję przed błędami instalatorów:
            </p>

            <ul class="rk-doc-features">
                <li class="rk-doc-feature-item">
                    <svg class="rk-doc-check" width="22" height="22" 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>
                    <span><strong>Dokładne OZC:</strong> idealnie dobrana moc układu, np. optymalne zasilanie 33,4°C.</span>
                </li>
                <li class="rk-doc-feature-item">
                    <svg class="rk-doc-check" width="22" height="22" 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>
                    <span><strong>Hydraulika:</strong> wyliczone i sparametryzowane spadki ciśnienia na pętlach (np. 12,3 kPa).</span>
                </li>
                <li class="rk-doc-feature-item">
                    <svg class="rk-doc-check" width="22" height="22" 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>
                    <span><strong>Pętle:</strong> geometria i precyzyjne rozstawy układane co 10 cm, 15 cm lub 20 cm.</span>
                </li>
                <li class="rk-doc-feature-item">
                    <svg class="rk-doc-check" width="22" height="22" 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>
                    <span><strong>Materiały:</strong> kompletna specyfikacja zakupowa zapobiegająca tworzeniu odpadów rury.</span>
                </li>
            </ul>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Przykladowy-projekt-ogrzewania-podlogowego-zestawienie.pdf" target="_blank" class="rk-doc-btn">
                Pobierz przykładowy projekt (PDF)
            </a>
        </div>

        <!-- Prawa strona: Grafiki i miniatury -->
        <div class="rk-doc-visuals">
            <!-- Obrazek główny -->
            <div class="rk-doc-main-img-wrapper">
                <img decoding="async" id="rkDocMainImage" src="https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Parametry-montazu-OP-A1.jpg" alt="Widok rzutów architektonicznych i tras pętli ogrzewania podłogowego" loading="lazy">
            </div>

            <!-- Miniatury -->
            <div class="rk-doc-thumbnails">
                <div class="rk-doc-thumb active" data-img="https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Parametry-montazu-OP-A1.jpg">
                    <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Parametry-montazu-OP-A1.jpg" alt="Rysunek CAD pętli ogrzewania">
                </div>
                <div class="rk-doc-thumb" data-img="https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Wyniki-ogolne-OP.jpg">
                    <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Wyniki-ogolne-OP.jpg" alt="Tabela wyników ogólnych OZC">
                </div>
                <div class="rk-doc-thumb" data-img="https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Parametry-montazu-OP-A1.jpg">
                    <!-- Zastosowano to samo zdjęcie co w wytycznych dla tabel, można w CMS podmienić na inne -->
                    <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Parametry-montazu-OP-A1.jpg" alt="Tabela nastaw hydraulicznych">
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var mainImg = document.getElementById('rkDocMainImage');
    var thumbnails = document.querySelectorAll('.rk-doc-thumb');

    if(mainImg && thumbnails.length > 0) {
        thumbnails.forEach(function(thumb) {
            thumb.addEventListener('click', function() {
                // Usuń klasę active ze wszystkich miniatur
                thumbnails.forEach(function(t) {
                    t.classList.remove('active');
                });
                
                // Dodaj do klikniętej
                this.classList.add('active');

                // Pobierz URL nowej grafiki i podmień w głównym kontenerze
                var newSrc = this.getAttribute('data-img');
                
                // Krótki efekt przezroczystości podczas zmiany
                mainImg.style.opacity = '0.5';
                setTimeout(function() {
                    mainImg.src = newSrc;
                    mainImg.style.opacity = '1';
                }, 150);
            });
        });
    }
});
</script>



<style>
:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-blue: #0284c7;
    --rk-auth-blue-light: #f0f9ff;
    --rk-auth-green: #10b981;
    --rk-auth-gray: #64748b;
    --rk-auth-bg: #ffffff;
    --rk-auth-border: #e2e8f0;
}

.rk-auth-container {
    max-width: 950px;
    margin: 40px 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.08);
    border: 1px solid var(--rk-auth-border);
    overflow: hidden;
}

/* Nagłówek Autorytetu */
.rk-auth-header {
    padding: 40px 50px 0;
    background: #ffffff;
}

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

/* Profil Eksperta */
.rk-auth-profile {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--rk-auth-border);
}

.rk-auth-photo {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--rk-auth-blue-light);
    box-shadow: 0 4px 15px rgba(2, 132, 199, 0.15);
    flex-shrink: 0;
}

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

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

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

.rk-auth-bio {
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-auth-gray);
    margin: 0 0 20px 0;
}

/* Social Media */
.rk-auth-socials {
    display: flex;
    gap: 12px;
}

.rk-auth-social-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #f8fafc;
    border: 1px solid var(--rk-auth-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-auth-gray);
    text-decoration: none;
}

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

/* Interaktywne zakładki kompetencji */
.rk-auth-interactive {
    padding: 30px 50px 40px;
    background: #f8fafc;
}

.rk-auth-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 25px;
}

.rk-auth-tab-btn {
    background: #ffffff;
    border: 2px solid var(--rk-auth-border);
    border-radius: 12px;
    padding: 16px 20px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-auth-gray);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-auth-tab-btn:hover {
    border-color: var(--rk-auth-blue);
    color: var(--rk-auth-dark);
}

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

.rk-auth-tab-icon {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    background: var(--rk-auth-blue-light);
    color: var(--rk-auth-blue);
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-auth-tab-btn.active .rk-auth-tab-icon {
    background: rgba(255,255,255,0.1);
    color: #ffffff;
}

/* Treść zakładek */
.rk-auth-panel {
    display: none;
    background: #ffffff;
    border: 1px solid var(--rk-auth-border);
    border-radius: 16px;
    padding: 30px;
}

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

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

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

.rk-auth-panel p:last-child {
    margin-bottom: 0;
}

.rk-auth-highlight {
    background: var(--rk-auth-green-light);
    border-left: 4px solid var(--rk-auth-green);
    padding: 15px;
    border-radius: 0 8px 8px 0;
    margin-top: 20px;
    color: #064e3b;
    font-weight: 600;
    font-size: 15px;
}

@media (max-width: 768px) {
    .rk-auth-header, .rk-auth-interactive {
        padding: 25px 20px;
    }
    .rk-auth-profile {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .rk-auth-socials {
        justify-content: center;
    }
    .rk-auth-tabs {
        grid-template-columns: 1fr;
    }
    .rk-auth-tab-btn {
        justify-content: flex-start;
    }
    .rk-auth-panel {
        padding: 20px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#article-autor",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/"
    },
    "headline": "Kto osobiście odpowiada za Twój projekt ogrzewania podłogowego? – Robert Kucharski",
    "description": "Gwarancja jakości i nadzoru inżynieryjnego. Poznaj doświadczenie i metodologię głównego projektanta HVAC portalu Projekt-Ogrzewania.pl.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "Główny Projektant HVAC / CEO",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-02",
    "dateModified": "2026-08-02"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#dataset-autor",
    "name": "Katalog Kompetencji i Zrealizowanych Projektów HVAC",
    "description": "Dane weryfikujące doświadczenie inżynieryjne głównego projektanta, ilość zrealizowanych instalacji oraz standardy nadzoru.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projektant ogrzewania podłogowego",
      "ekspert instalacji HVAC Robert Kucharski",
      "gwarancja na projekt podłogówki",
      "profesjonalne obliczenia OZC online",
      "doświadczenie w instalacjach płaszczyznowych"
    ],
    "measurementTechnique": "Weryfikacja autorytetu (E-E-A-T) na podstawie ponad 1000 zrealizowanych projektów instalacji płaszczyznowych i centralnego ogrzewania.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Ilość projektów: Ponad 1000 kompleksowych opracowań dla domów jednorodzinnych.",
        "Kontrola jakości: Osobisty nadzór inżynieryjny nad każdym plikiem DWG/PDF wychodzącym z biura.",
        "Cel: Optymalizacja kosztów inwestora i zabezpieczenie źródła ciepła (pompy ciepła)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#webapp-autor",
    "name": "Wizytówka Eksperta / Moduł Weryfikacji E-E-A-T",
    "description": "Interaktywny interfejs budujący profil zaufania (Trust) pozwalający inwestorowi zapoznać się z procedurami kontroli jakości projektów.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-auth-container">
    <div class="rk-auth-header">
        <h2>Zdaniem eksperta: Robert Kucharski o projektowaniu ogrzewania podłogowego</h2>
        
        <div class="rk-auth-profile">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Główny Inżynier Projekt-Ogrzewania.pl" class="rk-auth-photo" loading="lazy">
            <div class="rk-auth-info">
                <h3 class="rk-auth-name">Robert Kucharski</h3>
                <div class="rk-auth-role">Główny Projektant HVAC / CEO</div>
                <p class="rk-auth-bio">
                    Projektowanie systemów płaszczyznowych to dla mnie coś więcej niż rysowanie kresek w programie CAD. To inżynieria odpowiedzialna za komfort Twojej rodziny na najbliższe 30 lat. W sieci roi się od anonimowych firm wysyłających automatyczne schematy. U nas proces wygląda inaczej – biorę osobistą odpowiedzialność za każdy wyliczony Wat zapotrzebowania cieplnego.
                </p>
                <div class="rk-auth-socials">
                    <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-auth-social-btn" title="LinkedIn">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"/></svg>
                    </a>
                    <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-auth-social-btn" title="Facebook">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M9 8h-3v4h3v12h5v-12h3.642l.358-4h-4v-1.667c0-.955.192-1.333 1.115-1.333h2.885v-5h-3.808c-3.596 0-5.192 1.583-5.192 4.615v3.385z"/></svg>
                    </a>
                    <a href="https://x.com/Projekt_HVAC" target="_blank" rel="noopener noreferrer" class="rk-auth-social-btn" title="X (Twitter)">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
                    </a>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-auth-interactive">
        <div class="rk-auth-tabs">
            <button class="rk-auth-tab-btn active" data-tab="nadzor">
                <div class="rk-auth-tab-icon">
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" 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>
                Osobisty Nadzór
            </button>
            <button class="rk-auth-tab-btn" data-tab="doswiadczenie">
                <div class="rk-auth-tab-icon">
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="7" width="20" height="14" rx="2" ry="2"></rect><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path></svg>
                </div>
                Ponad 1000 projektów
            </button>
            <button class="rk-auth-tab-btn" data-tab="optymalizacja">
                <div class="rk-auth-tab-icon">
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                </div>
                Cel: Twoje oszczędności
            </button>
        </div>

        <div class="rk-auth-panel active" id="panel-nadzor">
            <h3>Nie jesteśmy fabryką projektów</h3>
            <p>Każdy projekt ogrzewania podłogowego, który opuszcza nasze wirtualne biuro, przechodzi przez moje ręce. Osobiście weryfikuję wyliczenia obciążenia cieplnego (OZC) względem wprowadzonych przez Ciebie przegród budowlanych. Sprawdzam, czy parametry dobranej pompy obiegowej pokrywają się z oporami hydraulicznymi najdłuższych pętli.</p>
            <div class="rk-auth-highlight">
                To Twoja gwarancja, że dokumentacja jest poprawna technicznie, zgodna z najnowszymi normami (PN-EN 1264) i gotowa do bezpośredniego przekazania instalatorowi.
            </div>
        </div>

        <div class="rk-auth-panel" id="panel-doswiadczenie">
            <h3>Doświadczenie mierzone w megawatach</h3>
            <p>Od lat zajmuję się optymalizacją systemów grzewczych. Na swoim koncie mam ponad 1000 szczegółowo wykonanych projektów, które każdego dnia dbają o komfort domowników w całej Polsce podczas sezonów grzewczych. Widziałem setki błędów popełnianych przez wykonawców, którzy układali rury "na oko".</p>
            <p>Całą moją wiedzę praktyczną z placów budów przekuwam teraz w precyzyjne algorytmy i wytyczne na papierze, aby oszczędzić Ci niepotrzebnego stresu po wylaniu posadzek.</p>
        </div>

        <div class="rk-auth-panel" id="panel-optymalizacja">
            <h3>Projekt ma na siebie zarobić</h3>
            <p>Dla mnie projekt to nie tylko zbiór rur na planie. To potężne narzędzie ekonomiczne. Złe zbilansowanie pętli powoduje "taktowanie" drogiej pompy ciepła, niszcząc jej sprężarkę w ciągu kilku lat. Zbyt rzadki rozstaw rur wymusza podniesienie temperatury zasilania, co drastycznie podnosi rachunki za prąd.</p>
            <div class="rk-auth-highlight">
                Mój cel jest prosty: precyzyjne wyliczenia mają zagwarantować Ci optymalny komfort termiczny i zminimalizować wydatki eksploatacyjne domu do absolutnego minimum.
            </div>
        </div>

    </div>
</div>

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

    tabs.forEach(function(tab) {
        tab.addEventListener('click', function() {
            var targetId = 'panel-' + this.getAttribute('data-tab');

            // Reset stylów bez użycia && i przejść z animacjami
            tabs.forEach(function(t) { t.classList.remove('active'); });
            this.classList.add('active');

            // Ukrywanie i pokazywanie zawartości natychmiastowo
            panels.forEach(function(panel) { panel.classList.remove('active'); });
            
            var targetPanel = document.getElementById(targetId);
            if (targetPanel) {
                targetPanel.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-audit-dark: #0f172a;
    --rk-audit-blue: #0284c7;
    --rk-audit-blue-light: #f0f9ff;
    --rk-audit-green: #10b981;
    --rk-audit-green-light: #dcfce7;
    --rk-audit-red: #ef4444;
    --rk-audit-red-light: #fef2f2;
    --rk-audit-gray: #64748b;
    --rk-audit-bg: #ffffff;
    --rk-audit-border: #e2e8f0;
    --rk-audit-accent: #8b5cf6;
}

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

/* Nagłówek */
.rk-audit-header {
    padding: 40px 50px 30px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-audit-border);
}

.rk-audit-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-audit-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-audit-icon-main {
    width: 48px;
    height: 48px;
    background: var(--rk-audit-red-light);
    color: var(--rk-audit-red);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

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

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

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

/* Sekcja Case Study */
.rk-audit-content {
    background: #f8fafc;
    padding: 40px 50px;
}

/* Wybór przypadków */
.rk-audit-selector {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 35px;
}

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

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

.rk-audit-case-btn.active {
    background: var(--rk-audit-dark);
    border-color: var(--rk-audit-dark);
    box-shadow: 0 10px 20px -5px rgba(15, 23, 42, 0.3);
}

.rk-audit-case-num {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--rk-audit-gray);
}

.rk-audit-case-btn.active .rk-audit-case-num {
    color: #94a3b8;
}

.rk-audit-case-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-audit-dark);
    line-height: 1.4;
}

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

/* Widok szczegółowy diagnozy */
.rk-audit-view {
    display: none;
    animation: auditFadeIn 0.4s ease forwards;
}

.rk-audit-view.active {
    display: block;
}

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

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

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

.rk-audit-card.bad {
    border-top: 6px solid var(--rk-audit-red);
}

.rk-audit-card.good {
    border-top: 6px solid var(--rk-audit-green);
    box-shadow: 0 15px 30px -10px rgba(16, 185, 129, 0.15);
}

.rk-audit-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: 900;
}

.rk-audit-card.bad .rk-audit-card-header { color: var(--rk-audit-red); }
.rk-audit-card.good .rk-audit-card-header { color: var(--rk-audit-green); }

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

.rk-audit-list li {
    font-size: 15px;
    color: #475569;
    line-height: 1.6;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.rk-audit-list li svg {
    flex-shrink: 0;
    margin-top: 3px;
}

.rk-audit-card.bad .rk-audit-list li svg { color: var(--rk-audit-red); }
.rk-audit-card.good .rk-audit-list li svg { color: var(--rk-audit-green); }

/* Wyróżniony wniosek */
.rk-audit-summary {
    margin-top: 30px;
    background: var(--rk-audit-blue-light);
    border-left: 4px solid var(--rk-audit-blue);
    padding: 20px;
    border-radius: 0 12px 12px 0;
}

.rk-audit-summary h4 {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-audit-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

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

@media (max-width: 768px) {
    .rk-audit-header, .rk-audit-content {
        padding: 25px 20px;
    }
    .rk-audit-header h2 {
        font-size: 24px;
        align-items: flex-start;
    }
    .rk-audit-selector {
        grid-template-columns: 1fr; /* Pionowy układ przycisków na mobile */
        gap: 12px;
    }
    .rk-audit-compare-grid {
        grid-template-columns: 1fr; /* Pionowy układ porównania na mobile */
        gap: 20px;
    }
    .rk-audit-case-btn {
        padding: 15px 20px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#article-audyt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/"
    },
    "headline": "Studia Przypadków: Audyt masowych projektów ogrzewania",
    "description": "Inżynieryjna weryfikacja automatycznych projektów instalacji płaszczyznowych. Analiza błędów, złych nastaw i braku bilansowania hydraulicznego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-03",
    "dateModified": "2026-08-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#dataset-audyt-konkurencji",
    "name": "Baza Danych Audytów: Weryfikacja Projektów Zewnętrznych",
    "description": "Zestawienie najczęstszych błędów algorytmicznych wynikających z automatycznego generowania dokumentacji HVAC przez masowe systemy producentów i firm zewnętrznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "EKOSFERA Projekty błędy",
      "Ekoheat projekt podłogówki",
      "e-podlogowka.pl opinie",
      "HeatAlgo alternatywa",
      "Emultimax audyt",
      "Biotherm Technologie Grzewcze projekt",
      "Almarsystem weryfikacja",
      "Sander System projekt",
      "Termolit ogrzewanie",
      "Uponor rozstaw rur",
      "Kan-Therm projektowanie online",
      "Rehau schemat podłogówki",
      "TECE układanie rur",
      "Wavin hydraulika",
      "Purmo zestawienie materiałów",
      "Herz zawory nastawy",
      "Kisan dobór"
    ],
    "measurementTechnique": "Analiza porównawcza dostarczonych przez klientów dokumentacji z normą PN-EN 12831 oraz indywidualnym zapotrzebowaniem budynku w standardzie WT2021.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Problem: Zastosowanie uśrednionego rozstawu rur niezależnie od specyfiki pomieszczenia.",
        "Problem: Całkowity brak tabeli z nastawami na rotametry, co uniemożliwia zrównoważenie.",
        "Problem: Zbyt duże pętle generujące opór przekraczający możliwości fabrycznej pompy ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#webapp-audyt",
    "name": "Przeglądarka Case Studies: Weryfikacja Instalacji",
    "description": "Moduł edukacyjny pozwalający użytkownikowi przeanalizować różnice między automatycznie wygenerowanym schematem a dedykowanym projektem inżynieryjnym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "HTML5, CSS3, JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-audit-container">
    <div class="rk-audit-header">
        <h2>
            <div class="rk-audit-icon-main">
                <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
            </div>
            Studia Przypadków: Audyt gotowych projektów "z fabryki"
        </h2>
        <p class="rk-audit-desc">
            Coraz częściej zgłaszają się do nas inwestorzy z prośbą o weryfikację dokumentacji, którą zamówili w innych miejscach w sieci. Odnieśli wrażenie, że ich układy zostały wygenerowane "z automatu", metodą kopiuj-wklej, bez ludzkiej refleksji. Zobacz, z jakimi <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-glowy-vs-projekt-z-obliczeniami-ile-mozesz-stracic-na-bledach/">błędami zagrażającymi posadzce</a> musimy się na co dzień mierzyć.
        </p>
    </div>

    <div class="rk-audit-content">
        
        <!-- Selektor przypadków -->
        <div class="rk-audit-selector">
            <button class="rk-audit-case-btn active" data-target="case-1">
                <span class="rk-audit-case-num">Audyt #01</span>
                <span class="rk-audit-case-title">Uniwersalny rozstaw rur i zimna łazienka</span>
            </button>
            <button class="rk-audit-case-btn" data-target="case-2">
                <span class="rk-audit-case-num">Audyt #02</span>
                <span class="rk-audit-case-title">Zgadywanie mocy i przewymiarowana pompa</span>
            </button>
            <button class="rk-audit-case-btn" data-target="case-3">
                <span class="rk-audit-case-num">Audyt #03</span>
                <span class="rk-audit-case-title">Lista zakupów zamiast hydrauliki</span>
            </button>
        </div>

        <!-- Widok: Case 1 -->
        <div class="rk-audit-view active" id="case-1">
            <div class="rk-audit-compare-grid">
                <!-- Błąd -->
                <div class="rk-audit-card bad">
                    <div class="rk-audit-card-header">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                        Projekt z "automatu"
                    </div>
                    <ul class="rk-audit-list">
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
                            Cały dom zarysowany jednym rozstawem rur (najczęściej co 15 cm), bez analizy typu posadzki.
                        </li>
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
                            Brak zagęszczeń pod wielkimi oknami tarasowymi (brak tzw. stref brzegowych).
                        </li>
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
                            Efekt po zimie: Skrajnie niedogrzana łazienka oraz permanentny ciąg chłodu przy drzwiach balkonowych.
                        </li>
                    </ul>
                </div>
                <!-- Recepta -->
                <div class="rk-audit-card good">
                    <div class="rk-audit-card-header">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                        Nadzór Projekt-Ogrzewania.pl
                    </div>
                    <ul class="rk-audit-list">
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Rozstaw w łazienkach bezwzględnie zagęszczony do 5 cm lub 10 cm, aby osiągnąć wymaganą temperaturę +24°C.
                        </li>
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Dodane strefy brzegowe (gęstszy układ rur) na odległość 1 metra od przeszkleń zewnętrznych.
                        </li>
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Zbilansowany opór cieplny (inne odległości rur dla grubych paneli laminowanych, inne dla gresu).
                        </li>
                    </ul>
                </div>
            </div>
            <div class="rk-audit-summary">
                <h4>Wniosek inżynieryjny</h4>
                <p>Ogrzewanie podłogowe musi reagować na otoczenie. Szablonowe traktowanie każdego pomieszczenia jednym rozstawem rur (częsta wada algorytmów) to najprostsza droga do dyskomfortu termicznego w najchłodniejsze dni. Poznaj <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstsze błędy instalacyjne</a>.</p>
            </div>
        </div>

        <!-- Widok: Case 2 -->
        <div class="rk-audit-view" id="case-2">
            <div class="rk-audit-compare-grid">
                <div class="rk-audit-card bad">
                    <div class="rk-audit-card-header">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                        Projekt z "automatu"
                    </div>
                    <ul class="rk-audit-list">
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
                            Przyjęcie sztywnego, zmyślonego zapotrzebowania cieplnego (np. 60 W na każdy metr kwadratowy budynku).
                        </li>
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
                            Całkowite zignorowanie rekuperacji oraz warstw grubego styropianu na dachu i w podłodze.
                        </li>
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
                            Efekt: Klient kupuje przewymiarowaną, znacznie droższą pompę ciepła, która ulega ciągłemu taktowaniu.
                        </li>
                    </ul>
                </div>
                <div class="rk-audit-card good">
                    <div class="rk-audit-card-header">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                        Nadzór Projekt-Ogrzewania.pl
                    </div>
                    <ul class="rk-audit-list">
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Rzetelne obliczenie OZC ściśle dla konkretnej strefy klimatycznej w Polsce zgodnie z normą budowlaną.
                        </li>
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Redukcja wyliczonego zapotrzebowania z tytułu zastosowania wentylacji mechanicznej (odzysku ciepła).
                        </li>
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Dostosowanie idealnej temperatury zasilania czynnika do faktycznych strat przenikania.
                        </li>
                    </ul>
                </div>
            </div>
            <div class="rk-audit-summary">
                <h4>Wniosek inżynieryjny</h4>
                <p>Wyliczanie mocy instalacji "z metra kwadratowego" to relikt przeszłości. Zawyżone zapotrzebowanie to niepotrzebne koszty zakupu mocniejszego źródła ciepła, które w dobrze ocieplonym domu po prostu się zniszczy. Przeczytaj więcej na co uważać <a href="https://projekt-ogrzewania.pl/wady-wodnego-ogrzewania-podlogowego-na-co-zwrocic-uwage-przed-instalacja/">przed instalacją ogrzewania podłogowego</a>.</p>
            </div>
        </div>

        <!-- Widok: Case 3 -->
        <div class="rk-audit-view" id="case-3">
            <div class="rk-audit-compare-grid">
                <div class="rk-audit-card bad">
                    <div class="rk-audit-card-header">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                        Projekt z "automatu"
                    </div>
                    <ul class="rk-audit-list">
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
                            Otrzymana dokumentacja to w rzeczywistości jedynie estetyczny rysunek rurek na planie i zliczona długość PEX.
                        </li>
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
                            Całkowity brak tabel z wyliczonymi przepływami wody oraz oporami dławienia (nastawami).
                        </li>
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
                            Efekt: Woda płynie tam, gdzie ma najlżej (do najkrótszych pętli), omijając całkowicie najdłuższe obiegi np. w salonie.
                        </li>
                    </ul>
                </div>
                <div class="rk-audit-card good">
                    <div class="rk-audit-card-header">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                        Nadzór Projekt-Ogrzewania.pl
                    </div>
                    <ul class="rk-audit-list">
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Generujemy skrupulatną dokumentację hydrauliczną zawierającą tabele z wyliczonymi rotametrami dla rozdzielacza.
                        </li>
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Sprawdzamy sumaryczny opór krytyczny, aby instalator wiedział, czy pompa obiegowa źródła ciepła uciągnie cały system.
                        </li>
                        <li>
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                            Pilnujemy maksymalnych długości pętli rur do poziomu bezpiecznych barier tłoczenia wody.
                        </li>
                    </ul>
                </div>
            </div>
            <div class="rk-audit-summary">
                <h4>Wniosek inżynieryjny</h4>
                <p>Bez hydraulicznego zrównoważenia instalacji nie można mówić o projekcie – to jedynie rysunek materiałowy. Dopiero przeliczenie ciśnień pozwala obiegom współpracować harmonijnie i kieruje ciepłą wodę tam, gdzie jest naprawdę potrzebna.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var buttons = document.querySelectorAll('.rk-audit-case-btn');
    var views = document.querySelectorAll('.rk-audit-view');

    if(buttons.length > 0) {
        buttons.forEach(function(btn) {
            btn.addEventListener('click', function() {
                var targetId = this.getAttribute('data-target');

                // Zdejmij klasy aktywne bezpiecznie, bez logiki &&
                buttons.forEach(function(b) {
                    b.classList.remove('active');
                });
                
                // Przypisz do klikniętego
                this.classList.add('active');

                // Ukryj widoki
                views.forEach(function(view) {
                    view.classList.remove('active');
                });
                
                // Pokaż docelowy
                var targetView = document.getElementById(targetId);
                if (targetView) {
                    targetView.classList.add('active');
                }
            });
        });
    }
});
</script>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-red: #ef4444;
    --rk-err-red-light: #fef2f2;
    --rk-err-orange: #f97316;
    --rk-err-gray: #64748b;
    --rk-err-bg: #ffffff;
    --rk-err-border: #e2e8f0;
    --rk-err-hover: #f8fafc;
}

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

.rk-err-header {
    padding: 40px 50px 30px;
    background: #fff;
    border-bottom: 1px solid var(--rk-err-border);
}

.rk-err-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-err-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 12px;
    line-height: 1.3;
}

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

/* Zakładki (Tabs) - Desktop domyślnie poziomo */
.rk-err-tabs-wrapper {
    background: var(--rk-err-hover);
    padding: 20px 50px 0;
    border-bottom: 1px solid var(--rk-err-border);
}

.rk-err-tabs {
    display: flex;
    gap: 10px;
    padding-bottom: 20px;
    flex-wrap: wrap; /* Pozwala na zawijanie jeśli za mało miejsca, ale generalnie poziomo */
}

.rk-err-tab-btn {
    flex: 0 0 auto;
    padding: 14px 24px;
    background: #ffffff;
    border: 1px solid var(--rk-err-border);
    border-radius: 99px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-err-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.rk-err-tab-btn:hover {
    border-color: var(--rk-err-red);
    color: var(--rk-err-dark);
}

.rk-err-tab-btn.active {
    background: var(--rk-err-red);
    border-color: var(--rk-err-red);
    color: #ffffff;
    box-shadow: 0 8px 15px -5px rgba(239, 68, 68, 0.4);
}

/* Treść Paneli */
.rk-err-content-area {
    padding: 40px 50px;
    background: #ffffff;
    min-height: 300px;
}

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

.rk-err-panel.active {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 30px;
}

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

.rk-err-icon-box {
    width: 80px;
    height: 80px;
    background: var(--rk-err-red-light);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-err-red);
}

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

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

.rk-err-panel-body a {
    color: var(--rk-err-red);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid rgba(239, 68, 68, 0.2);
    transition: border-color 0.3s;
}

.rk-err-panel-body a:hover {
    border-color: var(--rk-err-red);
}

.rk-err-consequence {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--rk-err-red-light);
    color: #b91c1c;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    margin-top: 10px;
}

/* KRYTYCZNA ZMIANA DLA MOBILE - PIONOWY UKŁAD ZAKŁADEK */
@media (max-width: 768px) {
    .rk-err-header, .rk-err-tabs-wrapper, .rk-err-content-area {
        padding-left: 20px;
        padding-right: 20px;
    }
    
    .rk-err-header h2 {
        font-size: 24px;
    }
    
    .rk-err-tabs-wrapper {
        padding-top: 20px;
    }

    .rk-err-tabs {
        flex-direction: column; /* Ustawienie jeden pod drugim */
        gap: 12px; /* Większy odstęp dla kciuka */
        padding-bottom: 25px;
    }

    .rk-err-tab-btn {
        width: 100%; /* Guzik na pełną szerokość */
        justify-content: center; /* Wyśrodkowanie tekstu */
        padding: 16px 20px; /* Grubszy guzik, łatwiejszy do kliknięcia */
        border-radius: 12px; /* Mniej zaokrąglone na mobile, przypominające karty */
        white-space: normal; /* Pozwala na przełamanie tekstu, jeśli byłby bardzo długi */
        text-align: center;
    }

    .rk-err-panel.active {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .rk-err-icon-box {
        width: 60px;
        height: 60px;
        border-radius: 14px;
    }
    
    .rk-err-icon-box svg {
        width: 32px;
        height: 32px;
    }
    
    .rk-err-consequence {
        display: flex; /* Na mobile może być w kilku liniach */
        align-items: flex-start; /* Dopasowanie ikony do góry tekstu w razie zawijania */
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/"
    },
    "headline": "Najczęstsze błędy przy układaniu podłogówki bez projektu",
    "description": "Zestawienie krytycznych błędów wykonawczych instalacji płaszczyznowych. Dowiedz się jak uniknąć pękania posadzek i niedogrzania stref brzegowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-02",
    "dateModified": "2026-08-02"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#dataset-bledy",
    "name": "Katalog Krytycznych Błędów Wykonawczych HVAC",
    "description": "Techniczna analiza nieodwracalnych uszkodzeń układów płaszczyznowych wynikających z braku dokumentacji projektowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "najczęstsze błędy przy montażu ogrzewania podłogowego",
      "nieodwracalne błędy wykonawcze",
      "za długa pętla podłogówki",
      "grubość wylewki betonowej na ogrzewanie podłogowe",
      "izolacja brzegowa i dylatacje"
    ],
    "measurementTechnique": "Weryfikacja parametrów hydraulicznych i budowlanych (spadki ciśnień, opór cieplny) wobec norm PN-EN 1264 w sytuacjach awaryjnych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd 1: Brak zagęszczenia rur w strefach brzegowych prowadzi do wychłodzenia pomieszczenia.",
        "Błąd 2: Przekroczenie 120 metrów długości pętli blokuje przepływ hydrauliczny.",
        "Błąd 3: Ignorowanie szczelin dylatacyjnych skutkuje mechanicznym zniszczeniem jastrychu.",
        "Błąd 4: Niewłaściwa wylewka izoluje ciepło zamiast je przewodzić."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#webapp-bledy",
    "name": "Interaktywna Matryca Błędów Instalacyjnych",
    "description": "Moduł UI typu tab-view pozwalający użytkownikowi diagnozować przyczyny awarii instalacji i symulować ich skutki bezpośrednio w przeglądarce.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container">
    <div class="rk-err-header">
        <h2>
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="color: var(--rk-err-red)"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Najczęstsze błędy przy układaniu podłogówki bez projektu
        </h2>
        <p class="rk-err-desc">
            Wykonanie instalacji ogrzewania podłogowego bez obliczeń i dokumentacji wykonawczej generuje błędy, których naprawa po wylaniu jastrychu jest niemożliwa bez zniszczenia posadzek. Poznaj 4 najbardziej niszczycielskie praktyki.
        </p>
    </div>

    <!-- Zakładki: poziome na desktopie, pionowa lista na mobile -->
    <div class="rk-err-tabs-wrapper">
        <div class="rk-err-tabs">
            <button class="rk-err-tab-btn active" data-target="err-1">Brak stref brzegowych</button>
            <button class="rk-err-tab-btn" data-target="err-2">Przewymiarowane pętle</button>
            <button class="rk-err-tab-btn" data-target="err-3">Brak dylatacji</button>
            <button class="rk-err-tab-btn" data-target="err-4">Zła wylewka</button>
        </div>
    </div>

    <div class="rk-err-content-area">
        
        <!-- Panel 1 -->
        <div class="rk-err-panel active" id="err-1">
            <div class="rk-err-icon-box">
                <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 3v18h18"></path><path d="M18.7 8l-5.1 5.2-2.8-2.7L7 14.3"></path></svg>
            </div>
            <div class="rk-err-panel-body">
                <h3>Brak wydzielonych stref brzegowych przy dużych przeszkleniach</h3>
                <p>Okno tarasowe o szerokości 4 metrów generuje potężne, lokalne opadanie mas zimnego powietrza. Właściwie przygotowany <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</a> wymusza precyzyjne zagęszczenie rur.</p>
                <p>Bez zmniejszenia rozstawu do 5 cm (wartość B 5) na odcinku jednego metra od szyby, przy samej podłodze natychmiast powstaje strefa chłodu, a spadek temperatury odczuwalnej drastycznie obniża komfort domowników.</p>
                <div class="rk-err-consequence">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Skutek: permanentne uczucie przeciągu przy podłodze.
                </div>
            </div>
        </div>

        <!-- Panel 2 -->
        <div class="rk-err-panel" id="err-2">
            <div class="rk-err-icon-box">
                <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path><line x1="9" y1="12" x2="15" y2="12"></line></svg>
            </div>
            <div class="rk-err-panel-body">
                <h3>Tworzenie obiegów grzewczych o długości powyżej 120 metrów</h3>
                <p>Układanie pętli na zasadzie „póki rura się nie skończy na zwrotce” to gwarancja katastrofy. Opór hydrauliczny obiegu o długości 130 metrów jest niemal trzykrotnie wyższy niż prawidłowej, 80-metrowej sekcji.</p>
                <p>Zjawisko to, w branży określane jako <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">za długa pętla podłogówki</a>, generuje niedopuszczalny opór hydrauliczny.</p>
                <div class="rk-err-consequence">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Skutek: całkowity brak przepływu wody – pętla na zawsze pozostaje zimna.
                </div>
            </div>
        </div>

        <!-- Panel 3 -->
        <div class="rk-err-panel" id="err-3">
            <div class="rk-err-icon-box">
                <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
            </div>
            <div class="rk-err-panel-body">
                <h3>Delaminacja i pękanie wylewki przez ignorowanie dylatacji</h3>
                <p>Zgodnie z surową normą PN-EN 1264-4, każda płyta jastrychu o powierzchni przekraczającej 40 metrów kwadratowych lub o długości boku ponad 8 metrów musi posiadać przerwę kompensacyjną.</p>
                <p>Prawidłowa <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacja brzegowa i dylatacje</a> to jedyna ochrona betonu pracującego termicznie. Brak zastosowania peszli ochronnych na łączeniach płyt to szkolne nieodwracalne błędy wykonawcze.</p>
                <div class="rk-err-consequence">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Skutek: ścinanie rur PEX oraz pękanie kosztownych płytek ceramicznych.
                </div>
            </div>
        </div>

        <!-- Panel 4 -->
        <div class="rk-err-panel" id="err-4">
            <div class="rk-err-icon-box">
                <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z"></path></svg>
            </div>
            <div class="rk-err-panel-body">
                <h3>Niewłaściwa grubość i chemiczne parametry wylewki jastrychowej</h3>
                <p>Zastosowanie tradycyjnego jastrychu o grubości poniżej 45 milimetrów nad rurą (lub poniżej 35 milimetrów dla wersji anhydrytowej) w krótkim czasie prowadzi do destrukcji posadzki i uszkodzenia posadzek. Dlatego tak ważna jest starannie wyliczona <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/">grubość wylewki betonowej na ogrzewanie podłogowe</a>.</p>
                <p>Ponadto standardowa wylewka cementowa z plastyfikatorem wymaga fachowego odpowietrzenia. Pozostawione pęcherze powietrza pełnią funkcję izolatora, obniżając sprawność systemu grzewczego nawet o 20%.</p>
                <div class="rk-err-consequence">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Skutek: powolne nagrzewanie domu i zapadanie się cienkich wylewek.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var errButtons = document.querySelectorAll('.rk-err-tab-btn');
    var errPanels = document.querySelectorAll('.rk-err-panel');

    errButtons.forEach(function(btn) {
        btn.addEventListener('click', function() {
            var targetId = this.getAttribute('data-target');

            // Usuń klasę active z przycisków
            errButtons.forEach(function(b) {
                b.classList.remove('active');
            });
            // Dodaj do klikniętego
            this.classList.add('active');

            // Ukryj wszystkie panele
            errPanels.forEach(function(panel) {
                panel.classList.remove('active');
            });
            
            // Pokaż wybrany
            var targetPanel = document.getElementById(targetId);
            if(targetPanel) {
                targetPanel.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-blue: #0284c7;
    --rk-faq-blue-light: #e0f2fe;
    --rk-faq-gray: #64748b;
    --rk-faq-gray-light: #f8fafc;
    --rk-faq-border: #e2e8f0;
    --rk-faq-bg: #ffffff;
    --rk-faq-accent: #38bdf8;
}

.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 15px 35px -10px rgba(2, 132, 199, 0.08);
    border: 1px solid var(--rk-faq-border);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-faq-header {
    padding: 40px 50px;
    background: linear-gradient(145deg, var(--rk-faq-gray-light), #ffffff);
    border-bottom: 1px solid var(--rk-faq-border);
    position: relative;
}

.rk-faq-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-faq-dark);
    margin: 0;
    line-height: 1.3;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-faq-header-icon {
    width: 48px;
    height: 48px;
    background: var(--rk-faq-blue-light);
    color: var(--rk-faq-blue);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Lista Akordeonu */
.rk-faq-list {
    padding: 30px 50px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

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

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

.rk-faq-question {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 24px 30px;
    font-size: 18px;
    font-weight: 700;
    color: var(--rk-faq-dark);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.3s;
}

.rk-faq-question:hover {
    background: var(--rk-faq-gray-light);
}

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

/* Ikona Toggle (Plus / Minus) */
.rk-faq-toggle-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-faq-gray-light);
    color: var(--rk-faq-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

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

/* Odpowiedź (Rozwijana) */
.rk-faq-answer {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: #ffffff;
}

.rk-faq-item.active .rk-faq-answer {
    max-height: 500px;
    opacity: 1;
}

.rk-faq-answer-inner {
    padding: 0 30px 25px 30px;
    color: #475569;
    font-size: 16px;
    line-height: 1.7;
    border-top: 1px dashed transparent;
}

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

/* Podświetlenie w tekście odpowiedzi */
.rk-highlight {
    font-weight: 700;
    color: var(--rk-faq-dark);
    background: linear-gradient(120deg, var(--rk-faq-blue-light) 0%, var(--rk-faq-blue-light) 100%);
    background-repeat: no-repeat;
    background-size: 100% 35%;
    background-position: 0 90%;
    padding: 0 2px;
}

@media (max-width: 768px) {
    .rk-faq-header, .rk-faq-list {
        padding: 25px 20px;
    }
    .rk-faq-header h2 {
        font-size: 22px;
        align-items: flex-start;
    }
    .rk-faq-question {
        padding: 20px;
        font-size: 16px;
        align-items: flex-start;
        gap: 15px;
    }
    .rk-faq-toggle-icon {
        width: 28px;
        height: 28px;
        margin-top: -2px;
    }
    .rk-faq-answer-inner {
        padding: 0 20px 20px 20px;
        font-size: 15px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/"
    },
    "headline": "FAQ – Najczęściej zadawane pytania",
    "description": "Odpowiedzi na kluczowe pytania inwestorów dotyczące projektowania online, norm, długości pętli, rodzajów wykończenia oraz parametrów pracy pomp ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-02",
    "dateModified": "2026-08-02"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#faqpage",
    "name": "Baza wiedzy Q&A: Projekt ogrzewania płaszczyznowego",
    "description": "Ustrukturyzowany zbiór bezpośrednich odpowiedzi inżynieryjnych wspierający decyzje inwestycyjne dotyczące ogrzewania podłogowego wodnego.",
    "license": "https://projekt-ogrzewania.pl/",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy projekt ogrzewania podłogowego zrobiony online jest ważny i pełnowartościowy?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, projekt wykonany online przez uprawnionego inżyniera HVAC na podstawie poprawnych rzutów architektonicznych i danych przegród jest w pełni wartościowym dokumentem technicznym, zgodnym z normami PN-EN 12831 oraz PN-EN 1264."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka jest maksymalna dopuszczalna długość jednej pętli ogrzewania podłogowego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Dla standardowej rury PEX/PERT o średnicy 16 x 2,0 mm maksymalna bezpieczna długość pętli wynosi od 100 do 120 metrów wraz z odcinkami dobiegowymi. Przekroczenie tej długości generuje niedopuszczalne spadki ciśnienia i brak przepływu wody."
        }
      },
      {
        "@type": "Question",
        "name": "Czy pod panele podłogowe można stosować ogrzewanie podłogowe?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, pod warunkiem wyboru paneli z oznaczeniem producenta o przydatności do ogrzewania podłogowego oraz zachowania łącznego oporu cieplnego paneli i podkładu R do 0,15 m²K/W."
        }
      },
      {
        "@type": "Question",
        "name": "Czym różni się układ ślimakowy od meandrowego przy układaniu rur?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Układ ślimakowy zapewnia równomierny rozkład temperatury na całej powierzchni podłogi (rura zasilająca układa się naprzemiennie z powrotną), natomiast układ meandrowy wykazuje duży spadek temperatury od początku do końca pętli, dlatego stosuje się go głównie w strefach brzegowych."
        }
      },
      {
        "@type": "Question",
        "name": "Czy przy pompie ciepła ogrzewanie podłogowe musi działać na niskiej temperaturze?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, wysoki współczynnik efektywności SCOP pompy ciepła uzyskuje się przy temperaturze zasilania z zakresu 30–35°C, co wymaga gęstego rozstawu rur (najczęściej co 10 cm - B 10) wyliczonego w projekcie."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#webapp-faq",
    "name": "Interaktywny panel wiedzy instalatora (Akordeon FAQ)",
    "description": "Narzędzie interfejsu (UI) wspierające dynamiczne przeglądanie najczęstszych pytań i odpowiedzi technicznych z możliwością zwijania i rozwijania bloków treściowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

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

    <div class="rk-faq-list" id="rkFaqList">
        
        <div class="rk-faq-item">
            <button class="rk-faq-question" type="button">
                Czy projekt ogrzewania podłogowego zrobiony online jest ważny i pełnowartościowy?
                <div class="rk-faq-toggle-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    Tak, projekt wykonany online przez uprawnionego inżyniera HVAC na podstawie poprawnych rzutów architektonicznych i danych przegród jest w <span class="rk-highlight">pełni wartościowym dokumentem technicznym</span>, zgodnym z normami PN-EN 12831 oraz <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/" style="color: var(--rk-faq-blue); text-decoration: none; font-weight: 600;">PN-EN 1264</a>.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" type="button">
                Jaka jest maksymalna dopuszczalna długość jednej pętli ogrzewania podłogowego?
                <div class="rk-faq-toggle-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    Dla standardowej <a href="https://projekt-ogrzewania.pl/wytrzymalosc-rur-do-ogrzewania-podlogowego-kompleksowy-przewodnik/" style="color: var(--rk-faq-blue); text-decoration: none; font-weight: 600;">rury PEX/PERT</a> o średnicy 16 x 2,0 mm maksymalna bezpieczna <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/" style="color: var(--rk-faq-blue); text-decoration: none; font-weight: 600;">długość pętli</a> wynosi <span class="rk-highlight">od 100 do 120 metrów</span> wraz z odcinkami dobiegowymi. Przekroczenie tej długości generuje niedopuszczalne spadki ciśnienia i brak przepływu wody.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" type="button">
                Czy pod panele podłogowe można stosować ogrzewanie podłogowe?
                <div class="rk-faq-toggle-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    Tak, pod warunkiem wyboru paneli z oznaczeniem producenta o przydatności do ogrzewania podłogowego oraz zachowania łącznego <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/" style="color: var(--rk-faq-blue); text-decoration: none; font-weight: 600;">oporu cieplnego</a> paneli i podkładu nieprzekraczającego poziomu <span class="rk-highlight">0,15 m²K/W</span>.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" type="button">
                Czym różni się układ ślimakowy od meandrowego przy układaniu rur?
                <div class="rk-faq-toggle-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-slimakowym/" style="color: var(--rk-faq-blue); text-decoration: none; font-weight: 600;">Układ ślimakowy</a> zapewnia <span class="rk-highlight">równomierny rozkład temperatury</span> na całej powierzchni podłogi (rura zasilająca układa się naprzemiennie z powrotną), natomiast <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-meandrowym/" style="color: var(--rk-faq-blue); text-decoration: none; font-weight: 600;">układ meandrowy</a> wykazuje duży spadek temperatury od początku do końca pętli, dlatego stosuje się go głównie w <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/" style="color: var(--rk-faq-blue); text-decoration: none; font-weight: 600;">strefach brzegowych</a>.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" type="button">
                Czy przy pompie ciepła ogrzewanie podłogowe musi działać na niskiej temperaturze?
                <div class="rk-faq-toggle-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    Tak, wysoki współczynnik efektywności SCOP pompy ciepła uzyskuje się przy <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/" style="color: var(--rk-faq-blue); text-decoration: none; font-weight: 600;">temperaturze zasilania z zakresu 30–35°C</a>, co wymusza precyzyjne zagęszczenie instalacji – najczęściej wykorzystywany jest <span class="rk-highlight">rozstaw rur co 10 cm (B 10)</span> starannie wyliczony w projekcie inżynieryjnym.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var faqContainer = document.getElementById('rkFaqList');
    if (!faqContainer) return;
    
    var faqButtons = faqContainer.querySelectorAll('.rk-faq-question');
    
    faqButtons.forEach(function(btn) {
        btn.addEventListener('click', function() {
            var currentItem = this.parentElement;
            var isActive = currentItem.classList.contains('active');
            
            // Opcjonalnie: zwiń pozostałe elementy (zachowanie akordeonu)
            var allItems = faqContainer.querySelectorAll('.rk-faq-item');
            allItems.forEach(function(item) {
                item.classList.remove('active');
            });
            
            // Przełącz obecny
            if (!isActive) {
                currentItem.classList.add('active');
            }
        });
    });
});
</script>



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

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

/* Header */
.rk-dl-header {
    padding: 30px 40px;
    background: var(--rk-dl-dark);
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-dl-header-icon {
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-dl-header h2 {
    font-size: 24px;
    font-weight: 900;
    margin: 0;
    color: #ffffff;
}

/* Body / Układ dwukolumnowy */
.rk-dl-body {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 40px;
    padding: 40px;
    background: var(--rk-dl-bg);
}

/* Lewa strona: Miniatura */
.rk-dl-thumb-wrapper {
    background: var(--rk-dl-light);
    border: 1px solid var(--rk-dl-border);
    border-radius: 16px;
    padding: 15px;
    text-align: center;
}

.rk-dl-thumbnail {
    width: 100%;
    height: auto;
    border-radius: 8px;
    border: 1px solid var(--rk-dl-border);
    display: block;
    cursor: pointer;
}

.rk-dl-thumb-hint {
    margin: 15px 0 0 0;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-dl-gray);
    text-transform: uppercase;
}

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

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

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

/* Przyciski Akcji */
.rk-dl-actions {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.rk-dl-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 16px;
    font-weight: 800;
    padding: 16px 24px;
    border-radius: 12px;
    text-decoration: none;
    cursor: pointer;
    border: none;
}

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

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

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

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

/* Stopka / Prawa autorskie */
.rk-dl-footer {
    background: var(--rk-dl-light);
    border-top: 1px solid var(--rk-dl-border);
    padding: 20px 40px;
    font-size: 13px;
    color: var(--rk-dl-gray);
    line-height: 1.6;
    text-align: center;
}

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

/* Modal do wyświetlania dużego zdjęcia */
.rk-dl-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(15, 23, 42, 0.95);
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
}

.rk-dl-modal-content {
    position: relative;
    max-width: 90%;
    max-height: 90vh;
}

.rk-dl-modal-img {
    max-width: 100%;
    max-height: 90vh;
    display: block;
    border-radius: 8px;
    border: 2px solid #ffffff;
}

.rk-dl-modal-close {
    position: absolute;
    top: -40px;
    right: -10px;
    color: #ffffff;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
}

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

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/"
    },
    "headline": "Materiały dodatkowe: Infografika - Projekt ogrzewania podłogowego",
    "description": "Zestawienie najważniejszych informacji o projektowaniu instalacji płaszczyznowych. Pobierz darmową infografikę edukacyjną w formacie PDF.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/08/Infografika-Projekt-ogrzewania-podlogowego-online.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-03",
    "dateModified": "2026-08-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#dataset-infografika",
    "name": "Edukacyjna Infografika Projektowa HVAC",
    "description": "Wizualne zestawienie techniczne procesów i norm (PN-EN 12831, PN-EN 1264) obowiązujących przy wymiarowaniu podłogówki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe",
      "schemat podłogówki pdf do pobrania",
      "projekt ogrzewania materiały szkoleniowe",
      "ściągawka instalatora hvac",
      "robert kucharski infografika"
    ],
    "measurementTechnique": "Prezentacja graficzna algorytmów i standardów inżynieryjnych w formie skompresowanej notatki wizualnej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Skondensowana wiedza o obliczeniach OZC.",
        "Proces doboru odpowiednich rozdzielaczy i nastaw.",
        "Wykaz najczęstszych błędów montażowych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#webapp-repozytorium",
    "name": "Interaktywne Repozytorium Plików Edukacyjnych",
    "description": "Moduł umożliwiający bezpłatne pobieranie, podgląd w wysokiej rozdzielczości i dystrybucję autorskich materiałów inżynieryjnych z zakresu HVAC.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container">
    <div class="rk-dl-header">
        <div class="rk-dl-header-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="12" y1="18" x2="12" y2="12"></line><polyline points="9 15 12 18 15 15"></polyline></svg>
        </div>
        <h2>Pobierz materiały do artykułu</h2>
    </div>

    <div class="rk-dl-body">
        <div class="rk-dl-thumb-wrapper">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/08/Infografika-Projekt-ogrzewania-podlogowego-online.webp" alt="Miniatura: Infografika Projekt ogrzewania podłogowego online" class="rk-dl-thumbnail" id="rkDlThumbImg" loading="lazy">
            <p class="rk-dl-thumb-hint">Kliknij, aby powiększyć podgląd</p>
        </div>

        <div class="rk-dl-content">
            <h3 class="rk-dl-title">Infografika: Projekt Ogrzewania Podłogowego</h3>
            <p class="rk-dl-text">
                Przygotowałem dla Ciebie czytelną infografikę, która w formie graficznej kondensuje najważniejsze inżynieryjne zasady doboru pętli, rozstawów oraz obliczeń OZC. Możesz otworzyć ją bezpośrednio na ekranie lub pobrać na dysk w najwyższej jakości jako plik PDF gotowy do druku. To świetna ściągawka, którą warto mieć pod ręką podczas wizyty instalatora na budowie.
            </p>

            <div class="rk-dl-actions">
                <button class="rk-dl-btn rk-dl-btn-img" id="rkDlViewBtn">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle></svg>
                    Wyświetl Podgląd
                </button>
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/08/Infografika-Projekt-ogrzewania-podlogowego-online.pdf" target="_blank" rel="noopener" class="rk-dl-btn rk-dl-btn-pdf">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="12" y1="18" x2="12" y2="12"></line><polyline points="9 15 12 18 15 15"></polyline></svg>
                    Pobierz plik PDF
                </a>
            </div>
        </div>
    </div>

    <div class="rk-dl-footer">
        <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.
    </div>
</div>

<!-- Prosty Modal (bez animacji) -->
<div class="rk-dl-modal" id="rkDlModal">
    <div class="rk-dl-modal-content">
        <button class="rk-dl-modal-close" id="rkDlCloseBtn">&times;</button>
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/08/Infografika-Projekt-ogrzewania-podlogowego-online.webp" alt="Duży podgląd infografiki" class="rk-dl-modal-img">
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var modal = document.getElementById('rkDlModal');
    var viewBtn = document.getElementById('rkDlViewBtn');
    var thumbImg = document.getElementById('rkDlThumbImg');
    var closeBtn = document.getElementById('rkDlCloseBtn');

    // Uruchomienie modala bez warunków typu &&
    function openModal() {
        if (modal) {
            modal.style.display = 'flex';
        }
    }

    function closeModal() {
        if (modal) {
            modal.style.display = 'none';
        }
    }

    if (viewBtn) {
        viewBtn.addEventListener('click', openModal);
    }
    
    if (thumbImg) {
        thumbImg.addEventListener('click', openModal);
    }

    if (closeBtn) {
        closeBtn.addEventListener('click', closeModal);
    }

    // Zamknięcie przy kliknięciu w tło modala
    if (modal) {
        modal.addEventListener('click', function(event) {
            if (event.target === modal) {
                closeModal();
            }
        });
    }
});
</script>



<style>
:root {
    --rk-end-dark: #0f172a;
    --rk-end-blue: #0284c7;
    --rk-end-light-blue: #f0f9ff;
    --rk-end-green: #10b981;
    --rk-end-green-light: #dcfce7;
    --rk-end-red: #ef4444;
    --rk-end-red-light: #fef2f2;
    --rk-end-gray: #64748b;
    --rk-end-border: #e2e8f0;
    --rk-end-bg: #ffffff;
}

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

/* Nagłówek i treść */
.rk-final-header {
    padding: 40px 50px 20px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-end-border);
}

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

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

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

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

/* Interaktywny panel */
.rk-final-interactive {
    padding: 40px 50px;
}

.rk-toggle-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
    background: #f1f5f9;
    padding: 15px;
    border-radius: 99px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.rk-toggle-label {
    font-weight: 800;
    font-size: 16px;
    color: var(--rk-end-gray);
    cursor: pointer;
    transition: color 0.3s;
}

.rk-toggle-label.active-pro { color: var(--rk-end-green); }
.rk-toggle-label.active-amator { color: var(--rk-end-red); }

/* Switch design */
.rk-switch {
    position: relative;
    display: inline-block;
    width: 64px;
    height: 34px;
}

.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-end-green);
    transition: .4s;
    border-radius: 34px;
}

.rk-slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    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-end-red);
}

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

/* Karty danych (układ pionowy na mobile) */
.rk-data-grid {
    display: flex;
    gap: 20px;
}

.rk-data-card {
    flex: 1;
    padding: 25px;
    border-radius: 16px;
    border: 2px solid var(--rk-end-border);
    background: #ffffff;
    transition: all 0.4s ease;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.rk-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    background: #f1f5f9;
}

.rk-card-title {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--rk-end-gray);
    font-weight: 700;
    margin: 0 0 10px 0;
}

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

/* Stany logiczne kontenera */
[data-state="pro"] .rk-data-card {
    border-color: var(--rk-end-green-light);
    background: var(--rk-end-green-light);
}
[data-state="pro"] .rk-card-icon { background: var(--rk-end-green); color: #fff; }
[data-state="pro"] .rk-card-value { color: #047857; }

[data-state="amator"] .rk-data-card {
    border-color: var(--rk-end-red-light);
    background: var(--rk-end-red-light);
}
[data-state="amator"] .rk-card-icon { background: var(--rk-end-red); color: #fff; }
[data-state="amator"] .rk-card-value { color: #b91c1c; }

/* Tagi SEO */
.rk-tags-container {
    padding: 0 50px 30px;
    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: 600;
    border: 1px solid var(--rk-end-border);
}

/* CTA */
.rk-end-cta {
    padding: 30px 50px;
    background: var(--rk-end-dark);
    text-align: center;
}

.rk-btn-solid {
    display: inline-block;
    background: var(--rk-end-blue);
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    padding: 18px 36px;
    border-radius: 12px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
}

@media (max-width: 768px) {
    .rk-final-header, .rk-final-interactive, .rk-tags-container, .rk-end-cta {
        padding: 25px 20px;
    }
    .rk-final-header h2 { font-size: 22px; }
    .rk-data-grid { flex-direction: column; }
    .rk-toggle-wrapper { width: 100%; justify-content: space-between; padding: 10px 15px; }
    .rk-btn-solid { display: block; width: 100%; box-sizing: border-box; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/"
    },
    "headline": "Podsumowanie: Dlaczego warto zainwestować w profesjonalny projekt podłogówki online?",
    "description": "Zakończenie poradnika. Dowiedz się, dlaczego projekt instalacji płaszczyznowej to gwarancja komfortu cieplnego i ochrony urządzeń grzewczych przed awariami.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-08-02",
    "dateModified": "2026-08-02"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#dataset",
    "name": "Porównanie efektywności: Projekt inżynieryjny vs Intuicja wykonawcy",
    "description": "Zestawienie interaktywne kosztów eksploatacji, ryzyka uszkodzeń i wydajności pompy ciepła w zależności od wyboru oparcia instalacji o rzetelny projekt online.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "optymalizacja kosztów eksploatacji",
      "zabezpieczenie pompy ciepła",
      "profesjonalny projekt instalacji płaszczyznowej",
      "ryzyko naprężeń termicznych posadzki",
      "bilansowanie hydrauliczne instalacji"
    ],
    "measurementTechnique": "Analiza szacunkowa na podstawie norm budowlanych oraz danych serwisowych awarii instalacyjnych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszty eksploatacji: Minimalne przy projekcie, drastycznie wyższe bez zbilansowania.",
        "Stan urządzeń: Bezpieczna praca pompy ciepła vs taktowanie i awarie sprężarki.",
        "Komfort: Równomierne ciepło vs strefy niedogrzane."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/#webapp",
    "name": "Symulator Decyzji Instalacyjnej",
    "description": "Narzędzie pokazujące natychmiastowe skutki budowlane i hydrauliczne wyboru profesjonalnej dokumentacji technicznej względem braku projektu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-final-container">
    <div class="rk-final-header">
        <h2>Podsumowanie: Dlaczego warto zainwestować w profesjonalny projekt podłogówki?</h2>
        <p class="rk-final-text">
            Wykonanie instalacji płaszczyznowej na podstawie profesjonalnego projektu ogrzewania podłogowego to jedyna gwarancja uzyskania optymalnego komfortu cieplnego przy zachowaniu <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/">minimalnych kosztów eksploatacji budynku</a>. Prawidłowo zbilansowana hydraulicznie instalacja zabezpiecza pompę ciepła lub kocioł kondensacyjny przed awariami, likwiduje problem niedogrzanych pomieszczeń oraz eliminuje ryzyko uszkodzenia posadzek na skutek naprężeń termicznych.
        </p>
        <p class="rk-final-text">
            Próba zaoszczędzenia na etapie projektowym i powierzenie doboru rozstawu oraz przepływów „intuicji” wykonawcy drastycznie podnosi ryzyko popełnienia <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">nieodwracalnych błędów</a>. Przekształcamy skomplikowaną fizykę budowlaną w prostą, niezawodną i gotową do montażu dokumentację techniczną.
        </p>
    </div>

    <div class="rk-final-interactive" id="rkSimContainer" data-state="pro">
        <div class="rk-toggle-wrapper">
            <span class="rk-toggle-label active-pro" id="lblPro" onclick="document.getElementById('simToggle').click()">Projekt Inżynieryjny</span>
            <label class="rk-switch">
                <input type="checkbox" id="simToggle">
                <span class="rk-slider"></span>
            </label>
            <span class="rk-toggle-label" id="lblAmator" onclick="document.getElementById('simToggle').click()">"Na oko" wykonawcy</span>
        </div>

        <div class="rk-data-grid">
            <div class="rk-data-card">
                <div class="rk-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><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-card-title">Koszty Eksploatacji</h3>
                <p class="rk-card-value" id="valKoszty">Zoptymalizowane i niskie</p>
            </div>
            
            <div class="rk-data-card">
                <div class="rk-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
                </div>
                <h3 class="rk-card-title">Praca Pompy Ciepła</h3>
                <p class="rk-card-value" id="valPompa">Stabilna, wysoki SCOP</p>
            </div>

            <div class="rk-data-card">
                <div class="rk-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z"/></svg>
                </div>
                <h3 class="rk-card-title">Stan Posadzki</h3>
                <p class="rk-card-value" id="valPosadzka">Brak naprężeń termicznych</p>
            </div>
        </div>
    </div>

    <div class="rk-tags-container">
        <span class="rk-mat-tag"># projekt ogrzewania podłogowego online</span>
        <span class="rk-mat-tag"># optymalizacja kosztów ogrzewania</span>
        <span class="rk-mat-tag"># zrównoważenie hydrauliczne rozdzielacza</span>
        <span class="rk-mat-tag"># poprawa sprawności pompy ciepła</span>
        <span class="rk-mat-tag"># unikanie pękania posadzek</span>
        <span class="rk-mat-tag"># wyliczenie rozstawu rur podłogówki</span>
        <span class="rk-mat-tag"># inżynieryjne projektowanie OZC</span>
        <span class="rk-mat-tag"># dokumentacja wykonawcza hvac</span>
        <span class="rk-mat-tag"># oszczędności na materiale instalacyjnym</span>
        <span class="rk-mat-tag"># bezawaryjna podłogówka </span>
    </div>

    <div class="rk-end-cta">
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-solid">Przejdź do Bloga Eksperckiego</a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var toggle = document.getElementById('simToggle');
    var container = document.getElementById('rkSimContainer');
    var lblPro = document.getElementById('lblPro');
    var lblAmator = document.getElementById('lblAmator');
    
    var valKoszty = document.getElementById('valKoszty');
    var valPompa = document.getElementById('valPompa');
    var valPosadzka = document.getElementById('valPosadzka');

    toggle.addEventListener('change', function(e) {
        if (e.target.checked) {
            // Stan Amator
            container.setAttribute('data-state', 'amator');
            lblPro.classList.remove('active-pro');
            lblAmator.classList.add('active-amator');
            
            valKoszty.textContent = "Drastyczny wzrost (taktowanie)";
            valPompa.textContent = "Częste starty, awarie sprężarki";
            valPosadzka.textContent = "Ryzyko pęknięć płytek";
        } else {
            // Stan Pro
            container.setAttribute('data-state', 'pro');
            lblAmator.classList.remove('active-amator');
            lblPro.classList.add('active-pro');
            
            valKoszty.textContent = "Zoptymalizowane i niskie";
            valPompa.textContent = "Stabilna praca, wysoki SCOP";
            valPosadzka.textContent = "Brak naprężeń termicznych";
        }
    });
});
</script>



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

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

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

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

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

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Article",
      "@id": "https://projekt-ogrzewania.pl/google-preferred-sources#article",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://projekt-ogrzewania.pl/google-preferred-sources"
      },
      "headline": "Wspieraj Projekt-Ogrzewania.pl w wynikach Google",
      "description": "Interaktywny widget umożliwiający dodanie portalu Projekt-Ogrzewania.pl do ulubionych źródeł w wyszukiwarce Google. Buduj z nami rzetelną bazę wiedzy o HVAC.",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
      "author": {
        "@type": "Person",
        "name": "Robert Kucharski",
        "url": "https://projekt-ogrzewania.pl/",
        "sameAs": [
          "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
          "https://www.facebook.com/projektogrzewaniapl/",
          "https://www.linkedin.com/in/robert-kucharski-38069b48/",
          "https://x.com/Projekt_HVAC",
          "https://remont.biz.pl/",
          "https://sobir.pl/"
        ]
      },
      "publisher": {
        "@type": "Organization",
        "name": "Projekt-Ogrzewania.pl",
        "logo": {
          "@type": "ImageObject",
          "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
        }
      },
      "datePublished": "2026-07-09",
      "dateModified": "2026-07-09"
    },
    {
      "@type": "Dataset",
      "@id": "https://projekt-ogrzewania.pl/google-preferred-sources#dataset",
      "name": "Preferowane Źródła Google - Statystyki i Interakcja",
      "description": "Zbiór danych i interaktywnych punktów styku pozwalających na ocenę preferencji czytelników dla treści technicznych HVAC.",
      "license": "https://projekt-ogrzewania.pl/",
      "creator": {
        "@type": "Person",
        "name": "Robert Kucharski"
      },
      "keywords": [
        "ulubione źródła google",
        "preferowane wyniki wyszukiwania",
        "autorytet domeny hvac",
        "zaufane portale budowlane",
        "personalizacja google search"
      ],
      "measurementTechnique": "Zliczanie interakcji z widgetem UI typu toggle oraz przekierowań do interfejsu preferencji Google Search",
      "mainEntity": "Optymalizacja zaangażowania użytkownika poprzez interaktywny widget dodawania domeny do preferencji Google."
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/google-preferred-sources#webapplication",
      "name": "Google Preferences Toggle Widget",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "All",
      "description": "Aplikacja webowa w formie widgetu symulującego przełącznik mobilny, integrująca natywne linkowanie do ustawień preferowanych źródeł Google.",
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "PLN"
      }
    }
  ]
}
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/">Projekt ogrzewania podłogowego online.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-online/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Ogrzewanie podłogowe w płycie fundamentowej – techniczny przewodnik po projektowaniu i montażu.</title>
		<link>https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej-techniczny-przewodnik-po-projektowaniu-i-montazu/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 28 Jun 2026 16:13:31 +0000</pubDate>
				<category><![CDATA[Budowa stanu zero]]></category>
		<category><![CDATA[HVAC]]></category>
		<category><![CDATA[Ogrzewanie płaszczyznowe]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Płyta fundamentowa]]></category>
		<category><![CDATA[Pompa ciepła]]></category>
		<category><![CDATA[Pompy ciepła]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[budownictwo energooszczędne]]></category>
		<category><![CDATA[energooszczędny dom]]></category>
		<category><![CDATA[fundament grzewczy]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[nowoczesne fundamenty]]></category>
		<category><![CDATA[ogrzewanie płaszczyznowe]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[ogrzewanie podłogowe w płycie fundamentowej]]></category>
		<category><![CDATA[ogrzewanie podłogowe z pompą ciepła]]></category>
		<category><![CDATA[płyta fundamentowa]]></category>
		<category><![CDATA[płyta fundamentowa z ogrzewaniem]]></category>
		<category><![CDATA[płyta grzewcza]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[termiczna płyta fundamentowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=6375</guid>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        </div>

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

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

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

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

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

        </div>

    </div>
</div>

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </div>

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

    </div>
</div>

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

    var currentIns = 15;
    var currentSpace = 15;

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

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

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

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

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

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

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

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

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

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

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

    calculateRoi();
});
</script>



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </div>

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </div>

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    calculateHydraulics();
});
</script>



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </div>
</div>

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </div>
</div>

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </div>
</div>

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

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

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

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

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

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

    executeCalculations();
});
</script>



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </div>
</div>

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    updateDpApp();
});
</script>



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </div>

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        </div>

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </div>

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

</div>

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

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

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

    if (webpBtn) {
        webpBtn.addEventListener('click', function() {
            logDownloadEvent('WebP');
        });
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej-techniczny-przewodnik-po-projektowaniu-i-montazu/">Ogrzewanie podłogowe w płycie fundamentowej – techniczny przewodnik po projektowaniu i montażu.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
