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

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa jastrych cementowy - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/tag/jastrych-cementowy/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Zasada działania wymiennika płytowego w ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Thu, 23 Apr 2026 07:09:15 +0000</pubDate>
				<category><![CDATA[Błędy wykonawcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Modernizacja instalacji]]></category>
		<category><![CDATA[Modernizacja ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Wymiennik płytowy]]></category>
		<category><![CDATA[Zabezpieczenia instalacji]]></category>
		<category><![CDATA[awarie instalacji]]></category>
		<category><![CDATA[jastrych cementowy]]></category>
		<category><![CDATA[kocioł na paliwo stałe]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[opory hydrauliczne]]></category>
		<category><![CDATA[pex]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[pompa obiegowa]]></category>
		<category><![CDATA[przepływ przeciwprądowy]]></category>
		<category><![CDATA[rozdzielacz podłogowy]]></category>
		<category><![CDATA[separacja hydrauliczna]]></category>
		<category><![CDATA[sprzęgło hydrauliczne]]></category>
		<category><![CDATA[temperatura zasilania]]></category>
		<category><![CDATA[wymiennik płytowy]]></category>
		<category><![CDATA[zawór trójdrogowy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4369</guid>

					<description><![CDATA[<p>Zastanawiasz się, jak bezpiecznie połączyć nowoczesny system płaszczyznowy ze starszym kotłem stałopalnym lub gazowym, który generuje bardzo wysokie temperatury? Odpowiedzią na to wyzwanie inżynieryjne jest prawidłowo dobrany wymiennik płytowy w ogrzewaniu podłogowym. To stosunkowo niewielkie, ale absolutnie kluczowe urządzenie pełni funkcję głównego strażnika całej instalacji. Skutecznie obniża temperaturę wody zasilającej, chroniąc rury PEX przed przyspieszonym starzeniem oraz wylewkę przed pękaniem. W naszym najnowszym artykule dokładnie analizujemy, kiedy jego montaż jest konieczny, a w jakich sytuacjach (np. przy nowoczesnych pompach ciepła) można z niego zrezygnować. Poznaj zasady przepływu przeciwprądowego, naucz się samodzielnie obliczać opory hydrauliczne i zobacz na konkretnych przykładach, jak uniknąć krytycznych błędów, które mogą kosztować Cię nawet kilkadziesiąt tysięcy złotych za kucie zniszczonej posadzki.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/">Zasada działania wymiennika płytowego w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --primary: #0f172a;
    --accent: #0284c7; /* Zmiana na chłodny niebieski/techniczny, pasujący do hydrauliki i wymienników */
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f0f9ff; /* Jasnoniebieskie tło dopasowane do akcentu */
    --border-color: #e2e8f0;
}

.premium-hero-box {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
    position: relative;
}

/* Subtelne tło dekoracyjne */
.premium-hero-box::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(2, 132, 199, 0.05) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    transform: translate(30%, -30%);
    z-index: 0;
}

.hero-content {
    position: relative;
    z-index: 1;
    padding: 45px 50px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #e0f2fe;
    color: var(--accent);
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 25px;
    border: 1px solid #bae6fd;
}

.hero-text {
    font-size: 17px;
    line-height: 1.8;
    color: #334155;
    margin-bottom: 20px;
}

.hero-text strong {
    color: var(--primary);
}

.hero-text a {
    color: var(--accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    font-weight: 600;
    transition: color 0.2s ease;
}

.hero-text a:hover {
    color: #0369a1;
}

.hero-text:last-of-type {
    margin-bottom: 40px;
}

/* Moduły / Spis treści */
.hero-modules-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 1px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.hero-modules-title::after {
    content: "";
    flex-grow: 1;
    height: 1px;
    background: var(--border-color);
}

.hero-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.hero-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    padding: 20px 15px;
    border-radius: 16px;
    text-align: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    position: relative;
    top: 0;
}

.hero-card:hover {
    top: -5px;
    border-color: var(--accent);
    box-shadow: 0 15px 25px -5px rgba(2, 132, 199, 0.1);
}

.hero-card-icon {
    font-size: 28px;
    margin-bottom: 12px;
    display: block;
    transition: transform 0.3s;
}

.hero-card:hover .hero-card-icon {
    transform: scale(1.15);
}

.hero-card-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--primary);
    line-height: 1.4;
}

@media (max-width: 900px) {
    .hero-content { padding: 35px 25px; }
    .hero-grid { grid-template-columns: repeat(2, 1fr); gap: 15px; }
}

@media (max-width: 500px) {
    .hero-grid { grid-template-columns: 1fr; }
    .hero-card { display: flex; align-items: center; text-align: left; gap: 15px; padding: 15px; }
    .hero-card-icon { margin-bottom: 0; font-size: 24px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Zasada działania wymiennika płytowego w ogrzewaniu podłogowym",
    "description": "Kompendium wiedzy na temat zasady działania, parametrów technicznych i doboru wymiennika płytowego do instalacji ogrzewania podłogowego. Separacja hydrauliczna i ochrona termiczna jastrychu.",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl"
    },
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Przegląd techniczny pracy wymiennika płytowego",
    "description": "Zestawienie kluczowych parametrów technicznych oraz procesów fizycznych zachodzących w wymienniku płytowym w układzie ogrzewania płaszczyznowego.",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Fizyka procesu",
        "value": "Przewodzenie przeciwprądowe",
        "description": "Zjawisko przekazywania ciepła przez stalową przegrodę przy wysokiej efektywności"
      },
      {
        "@type": "PropertyValue",
        "name": "Separacja hydrauliczna",
        "value": "Dwa niezależne obiegi",
        "description": "Całkowite oddzielenie medium pierwotnego od wtórnego"
      },
      {
        "@type": "PropertyValue",
        "name": "Ochrona termiczna",
        "value": "Redukcja temperatury",
        "description": "Zabezpieczenie wylewki przed przegrzaniem wg normy PN-EN 1264"
      },
      {
        "@type": "PropertyValue",
        "name": "Zastosowanie",
        "value": "Kotły stałopalne i gazowe",
        "description": "Współpraca wysokotemperaturowych źródeł z systemem niskotemperaturowym"
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  }
]
</script>

<div class="premium-hero-box" id="hero-app-container">
    <div class="hero-content">
        
        <div class="hero-badge">
            <span>🛡️</span> Fundament Bezpieczeństwa
        </div>
        
        <p class="hero-text">Zasada działania wymiennika płytowego w ogrzewaniu podłogowym opiera się na zjawisku przewodzenia ciepła przez cienką stalową przegrodę przy zachowaniu <strong>całkowitej separacji hydraulicznej</strong> dwóch niezależnych obiegów. Jest to kluczowy element instalacji niskotemperaturowych, który umożliwia bezpieczną współpracę wysokotemperaturowego źródła ciepła z wrażliwą na przegrzanie wylewką podłogową. W niniejszym artykule przeanalizuję szczegółowo fizykę tego procesu, parametry techniczne oraz kryteria optymalnego doboru urządzenia w kontekście <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">normy PN-EN 1264</a> dotyczącej ogrzewania płaszczyznowego.</p>
        
        <p class="hero-text">Współczesne systemy grzewcze coraz częściej wymagają oddzielenia obiegu źródła ciepła od obiegu odbiorczego. W przypadku podłogówki, gdzie <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">temperatura zasilania nie powinna przekraczać 55°C</a> (a optymalnie wynosi 35-40°C), wymiennik płytowy staje się nie tyle dodatkiem, co koniecznością techniczną przy współpracy z <a href="https://projekt-ogrzewania.pl/kotly-na-paliwa-stale-w-ogrzewaniu-podlogowym/">kotłami stałopalnymi</a>, gazowymi niekondensacyjnymi czy nawet niektórymi pompami ciepła pracującymi w trybie wysokotemperaturowym.</p>

        <div class="hero-modules-title">W tym kompendium przeanalizujemy:</div>
        
        <div class="hero-grid">
            <div class="hero-card">
                <span class="hero-card-icon">🌡️</span>
                <span class="hero-card-title">Fizyka wymiany ciepła</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">🔀</span>
                <span class="hero-card-title">Separacja hydrauliczna</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">📉</span>
                <span class="hero-card-title">Parametry doboru wg EN 1264</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">🛡️</span>
                <span class="hero-card-title">Ochrona rur i wylewki</span>
            </div>
        </div>

    </div>

    <noscript>
        <div style="padding: 20px 50px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h2 style="font-size: 18px; color: #0f172a; margin-bottom: 15px;">Kluczowe parametry i funkcje wymiennika płytowego</h2>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px 0; color: #475569;">Aspekt techniczny</th>
                        <th style="padding: 10px 0; color: #475569;">Charakterystyka</th>
                        <th style="padding: 10px 0; color: #475569;">Główne zadanie</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0;">Fizyka procesu</td>
                        <td style="padding: 10px 0; font-weight: bold;">Przewodzenie przez przegrodę</td>
                        <td style="padding: 10px 0; color: #0284c7;">Wysoka efektywność wymiany bez mieszania</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0;">Separacja hydrauliczna</td>
                        <td style="padding: 10px 0; font-weight: bold;">Dwa niezależne obiegi</td>
                        <td style="padding: 10px 0; color: #0284c7;">Ochrona instalacji przed zanieczyszczeniami z kotła</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0;">Redukcja temperatury</td>
                        <td style="padding: 10px 0; font-weight: bold;">T_max zasilania = 55°C</td>
                        <td style="padding: 10px 0; color: #0284c7;">Zabezpieczenie rur PEX/PERT oraz jastrychu</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0;">Zastosowanie (Źródło)</td>
                        <td style="padding: 10px 0; font-weight: bold;">Wysokotemperaturowe</td>
                        <td style="padding: 10px 0; color: #0284c7;">Współpraca ze stałopałami i kotłami starszego typu</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // ZABEZPIECZENIE DOMENOWE (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('hero-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 60px 20px; text-align: center; background: #e0f2fe; color: #0284c7; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 300px; font-family: sans-serif;">
                    <span style="font-size: 48px; margin-bottom: 20px;">🔒</span>
                    <div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona prawem autorskim</div>
                    <p style="font-size: 16px; max-width: 500px; color: #0369a1; line-height: 1.5;">Ten moduł wprowadzający jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został skopiowany nielegalnie.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #0284c7; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
                </div>
            `;
        }
    }
});
</script>



<style>
/* STYLE DLA TABELI TECHNICZNEJ I CECH KONSTRUKCYJNYCH */
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.premium-compare-module {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

.compare-header {
    padding: 40px 40px 20px 40px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
    text-align: left;
}

.compare-header h3 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--primary);
    line-height: 1.3;
}

.compare-header p {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 15px 0;
}

/* TABELA */
.table-container {
    padding: 10px 40px 20px 40px;
}

.table-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 1px;
    margin-bottom: 20px;
    display: block;
}

.styled-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.styled-table th,
.styled-table td {
    padding: 16px 15px;
    text-align: left;
    border-bottom: 1px solid #f1f5f9;
}

.styled-table th {
    background-color: var(--bg-light);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    border-bottom: 3px solid var(--border-color);
}

.styled-table th:nth-child(1) { width: 25%; }
.styled-table th:nth-child(2) { width: 15%; color: var(--accent); border-bottom-color: var(--accent); }
.styled-table th:nth-child(3) { width: 25%; }
.styled-table th:nth-child(4) { width: 35%; }

.styled-table td {
    font-size: 14px;
    color: #334155;
    line-height: 1.6;
}

.styled-table td a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px dashed var(--accent);
    transition: 0.2s;
}

.styled-table td a:hover {
    color: #1e3a8a;
    border-bottom-style: solid;
}

.styled-table td:first-child {
    font-weight: 700;
    color: var(--primary);
}

.styled-table td:nth-child(2) {
    font-family: 'Georgia', serif;
    font-style: italic;
    font-weight: 700;
    font-size: 16px;
    color: var(--accent);
}

.styled-table tr:hover td {
    background-color: #f8fafc;
}

.styled-table td strong {
    color: var(--primary);
}

/* CECHY KONSTRUKCYJNE (Zamiast Case Study) */
.case-study-container {
    padding: 20px 40px 40px 40px;
    background: #ffffff;
}

.case-study-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.case-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}

.case-card {
    background: var(--bg-light);
    border-radius: 16px;
    padding: 25px;
    border: 1px solid #e2e8f0;
    position: relative;
    overflow: hidden;
}

.case-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
}

.case-card.feat-1::before { background: var(--accent); }
.case-card.feat-2::before { background: var(--success); }

.case-card h5 {
    margin: 0 0 15px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--primary);
}

.case-card p {
    margin: 0 0 15px 0;
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
}

.power-result {
    background: #ffffff;
    padding: 15px;
    border-radius: 10px;
    margin-top: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.power-result span {
    display: block;
    font-size: 13px;
    color: #64748b;
    margin-bottom: 5px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.power-result strong {
    font-size: 20px;
    font-weight: 900;
    color: var(--primary);
}

/* RESPONSYWNOŚĆ TABELI (KARTY NA MOBILE) */
@media (max-width: 768px) {
    .compare-header { padding: 30px 20px; }
    .table-container { padding: 10px 20px; }
    .case-study-container { padding: 20px; }
    .case-grid { grid-template-columns: 1fr; }
    
    /* Transformacja tabeli w bloki na małych ekranach */
    .styled-table thead { display: none; }
    .styled-table, .styled-table tbody, .styled-table tr, .styled-table td {
        display: block;
        width: 100%;
    }
    
    .styled-table tr {
        margin-bottom: 20px;
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        overflow: hidden;
        box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    }
    
    .styled-table td {
        padding: 12px 15px;
        text-align: right;
        border-bottom: 1px solid #f1f5f9;
        position: relative;
    }
    
    .styled-table td:last-child {
        border-bottom: 0;
    }

    /* Etykiety dla bloków (zastępują nagłówki kolumn) */
    .styled-table td::before {
        content: attr(data-label);
        position: absolute;
        left: 15px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        text-align: left;
        font-weight: 800;
        font-size: 12px;
        color: #64748b;
        text-transform: uppercase;
    }

    .styled-table td:nth-child(2) {
        text-align: right;
    }
    
    /* Upewnienie się, że tekst się mieści */
    .styled-table td {
        padding-left: 50%; /* Zostawia miejsce na etykietę */
    }
    
    /* Na pierwszym wierszu wyłączamy etykietę żeby służył jako tytuł karty */
    .styled-table td:first-child {
        padding-left: 15px;
        text-align: left;
        background: var(--bg-light);
        font-size: 15px;
        border-bottom: 2px solid var(--accent);
    }
    
    .styled-table td:first-child::before {
        content: none;
    }
}
</style>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dataset",
  "name": "Podstawowe parametry techniczne wymiennika płytowego",
  "description": "Zestawienie kluczowych wielkości fizycznych i technicznych definiujących pracę wymiennika płytowego w instalacji ogrzewania podłogowego o mocy 10-30 kW.",
  "license": "https://projekt-ogrzewania.pl/",
  "variableMeasured": [
    {
      "@type": "PropertyValue",
      "name": "Moc nominalna",
      "propertyID": "Q",
      "value": "15–40 kW",
      "description": "Musi odpowiadać zapotrzebowaniu cieplnemu budynku powiększonemu o 15–20% zapasu"
    },
    {
      "@type": "PropertyValue",
      "name": "Współczynnik przenikania ciepła",
      "propertyID": "k",
      "value": "3000–6000 W/(m²·K)",
      "description": "Im wyższy, tym mniejszy wymiennik potrzebny do tej samej mocy"
    },
    {
      "@type": "PropertyValue",
      "name": "Spadek ciśnienia po stronie wtórnej",
      "propertyID": "Δp",
      "value": "5–20 kPa",
      "description": "Krytyczny dla doboru pompy obiegowej podłogówki"
    },
    {
      "@type": "PropertyValue",
      "name": "Maksymalne ciśnienie pracy",
      "propertyID": "Pmax",
      "value": "10–16 bar",
      "description": "Standard dla instalacji zamkniętych z naczyniem przeponowym"
    },
    {
      "@type": "PropertyValue",
      "name": "Maksymalna temperatura pracy",
      "propertyID": "Tmax",
      "value": "110–180°C",
      "description": "Zabezpieczenie przed przegrzaniem z kotła stałopalnego"
    },
    {
      "@type": "PropertyValue",
      "name": "Liczba płyt",
      "propertyID": "n",
      "value": "20–60",
      "description": "Decyduje o mocy i oporach hydraulicznych"
    },
    {
      "@type": "PropertyValue",
      "name": "Pojemność wodna",
      "propertyID": "V",
      "value": "0,5–2,5 dm³",
      "description": "Mała bezwładność cieplna = szybka reakcja na zmiany zapotrzebowania"
    }
  ],
  "creator": {
    "@type": "Person",
    "name": "Robert Kucharski",
    "url": "https://projekt-ogrzewania.pl",
    "sameAs": [
      "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
      "https://www.linkedin.com/in/robert-kucharski-38069b48/"
    ]
  }
}
</script>

<div class="premium-compare-module premium-protected" id="exchanger-params-app">
    
    <div class="compare-header">
        <h3>Czym dokładnie jest wymiennik płytowy w instalacji podłogowej?</h3>
        <p>Wymiennik płytowy to urządzenie składające się z pakietu cienkich, profilowanych płyt ze stali nierdzewnej (najczęściej <strong>AISI 316L</strong> lub <strong>AISI 304</strong>), które są ze sobą szczelnie zlutowane lub skręcone.</p>
        
        <p>Pomiędzy płytami powstają naprzemienne kanały przepływowe – jedne dla <strong>medium pierwotnego</strong> (gorąca woda z kotła), drugie dla <strong>medium wtórnego</strong> (woda krążąca w pętlach podłogowych). <strong>Fizyczny kontakt obu cieczy jest niemożliwy</strong>, co stanowi fundament bezpieczeństwa całej instalacji.</p>
    </div>

    <div class="table-container">
        <span class="table-title">Podstawowe parametry techniczne definiujące pracę wymiennika</span>
        <p style="font-size: 14px; color: #475569; margin-top: 0; margin-bottom: 20px;">Każdy wymiennik charakteryzuje się zestawem parametrów, które bezpośrednio determinują jego przydatność. Poniższa tabela przedstawia kluczowe wielkości dla typowych aplikacji mieszkaniowych (10–30 kW).</p>
        
        <table class="styled-table">
            <thead>
                <tr>
                    <th>Parametr techniczny</th>
                    <th>Oznaczenie</th>
                    <th>Typowa wartość</th>
                    <th>Znaczenie praktyczne</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td data-label="Parametr">Moc nominalna</td>
                    <td data-label="Oznaczenie">Q</td>
                    <td data-label="Wartość"><strong>15–40 kW</strong></td>
                    <td data-label="Znaczenie">Musi odpowiadać <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/">zapotrzebowaniu cieplnemu budynku</a> powiększonemu o 15–20% zapasu.</td>
                </tr>
                <tr>
                    <td data-label="Parametr">Współczynnik przenikania</td>
                    <td data-label="Oznaczenie">k</td>
                    <td data-label="Wartość"><strong>3000–6000 W/(m²·K)</strong></td>
                    <td data-label="Znaczenie">Im wyższy, tym mniejszy wymiennik potrzebny do przeniesienia tej samej mocy.</td>
                </tr>
                <tr>
                    <td data-label="Parametr">Spadek ciśnienia wtórny</td>
                    <td data-label="Oznaczenie">Δp</td>
                    <td data-label="Wartość"><strong>5–20 kPa</strong></td>
                    <td data-label="Znaczenie">Krytyczny parametr dla prawidłowego doboru <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowej podłogówki</a>.</td>
                </tr>
                <tr>
                    <td data-label="Parametr">Maksymalne ciśnienie</td>
                    <td data-label="Oznaczenie">Pmax</td>
                    <td data-label="Wartość"><strong>10–16 bar</strong></td>
                    <td data-label="Znaczenie">Standard wytrzymałościowy dla instalacji zamkniętych z <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">naczyniem wzbiorczym przeponowym</a>.</td>
                </tr>
                <tr>
                    <td data-label="Parametr">Maksymalna temp.</td>
                    <td data-label="Oznaczenie">Tmax</td>
                    <td data-label="Wartość"><strong>110–180°C</strong></td>
                    <td data-label="Znaczenie">Zabezpieczenie strukturalne przed skrajnym przegrzaniem z kotła stałopalnego.</td>
                </tr>
                <tr>
                    <td data-label="Parametr">Liczba płyt</td>
                    <td data-label="Oznaczenie">n</td>
                    <td data-label="Wartość"><strong>20–60</strong></td>
                    <td data-label="Znaczenie">Decyduje o fizycznej powierzchni wymiany ciepła i oporach hydraulicznych.</td>
                </tr>
                <tr>
                    <td data-label="Parametr">Pojemność wodna</td>
                    <td data-label="Oznaczenie">V</td>
                    <td data-label="Wartość"><strong>0,5–2,5 dm³</strong></td>
                    <td data-label="Znaczenie">Mała bezwładność cieplna = błyskawiczna reakcja układu na zmiany zapotrzebowania.</td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="case-study-container">
        <div class="case-study-title">
            <span>🔍</span> Kluczowe Cechy Konstrukcyjne
        </div>
        
        <div class="case-grid">
            
            <div class="case-card feat-1">
                <h5>Rozwinięta powierzchnia wymiany</h5>
                <p>Mimo małych gabarytów, wymiennik oferuje gigantyczną powierzchnię kontaktu między mediami dzięki specjalnemu tłoczeniu w jodełkę (herringbone pattern).</p>
                
                <div class="power-result">
                    <span>Pojedyncza płyta (100 × 300 mm)</span>
                    Rzeczywisty kontakt: <strong>> 0,05 m²</strong>
                </div>
            </div>

            <div class="case-card feat-2">
                <h5>Kompaktowa potęga (Model 30-płytowy)</h5>
                <p>Złożenie kilkudziesięciu takich płyt w jeden zlutowany blok tworzy urządzenie, które bez problemu zasili ogrzewanie w dużym domu jednorodzinnym.</p>
                
                <div class="power-result" style="border-top: 3px solid var(--success);">
                    <span>Wymiennik 30-płytowy</span>
                    Łączna powierzchnia: <strong>1,5 – 2,0 m²</strong>
                </div>
            </div>

        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // ZABEZPIECZENIE DOMENOWE (Domain Lock - Jawny skrypt)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const appContainer = document.getElementById('exchanger-params-app');
        if (appContainer) {
            appContainer.innerHTML = `
                <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; border-radius: 24px; font-family: sans-serif;">
                    <span style="font-size: 48px; margin-bottom: 20px;">🔒</span>
                    <h3 style="margin-top:0; font-size: 24px; font-weight: 900;">Treść chroniona prawem autorskim</h3>
                    <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5; margin-bottom: 25px;">To zestawienie edukacyjne jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i zostało skopiowane nielegalnie.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
                </div>
            `;
        }
    }
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #ef4444; /* Czerwony - ostrzegawczy */
    --accent-hover: #dc2626;
    --danger: #dc2626;
    --warning: #f59e0b;
    --success: #16a34a;
    --bg-light: #fef2f2; /* Delikatny czerwony podkład */
    --border-color: #fecaca;
}

.premium-impact-box {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(220, 38, 38, 0.15);
    border: 1px solid var(--border-color);
    overflow: hidden;
    position: relative;
}

.impact-header {
    padding: 40px 45px 30px 45px;
    background: linear-gradient(135deg, #ffffff 0%, var(--bg-light) 100%);
    border-bottom: 1px solid var(--border-color);
}

.impact-header h3 {
    margin: 0 0 15px 0;
    font-size: 28px;
    font-weight: 900;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 12px;
}

.impact-header p {
    margin: 0;
    font-size: 16px;
    line-height: 1.8;
    color: #475569;
}

.impact-header a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px dashed var(--accent);
    transition: 0.2s;
}

.impact-header a:hover {
    color: var(--accent-hover);
    border-bottom-style: solid;
}

.impact-content {
    padding: 45px;
}

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

.consequence-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 25px;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.consequence-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px -10px rgba(0,0,0,0.1);
    border-color: var(--border-color);
}

.card-icon {
    font-size: 32px;
    margin-bottom: 15px;
    display: block;
}

.consequence-card h4 {
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--primary);
}

.consequence-card p {
    margin: 0 0 15px 0;
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
}

.consequence-card a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 600;
}

.consequence-card a:hover {
    text-decoration: underline;
}

.card-metric {
    background: #f8fafc;
    padding: 10px 15px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--danger);
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #f1f5f9;
}

.interactive-widget-container {
    width: 100%;
    margin-top: 30px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
    border: 1px solid #e2e8f0;
    background: #ffffff;
}

.sim-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.sim-card {
    background: #f8fafc;
    padding: 15px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    text-align: center;
    transition: 0.3s;
}

input[type=range] {
    width: 100%; height: 8px; background: #e2e8f0; border-radius: 10px; appearance: none; outline: none; margin-top: 15px;
}
input[type=range]::-webkit-slider-thumb {
    appearance: none; width: 24px; height: 24px; background: var(--primary); border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.2); cursor: pointer; transition: 0.2s;
}

@media (max-width: 900px) {
    .consequences-grid { grid-template-columns: 1fr; }
    .impact-header { padding: 30px 25px; }
    .impact-content { padding: 30px 25px; }
    .sim-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Limity termiczne i konsekwencje przegrzania ogrzewania podłogowego",
    "description": "Zestawienie krytycznych temperatur oraz fizycznych i materiałowych konsekwencji braku podmieszania wody w instalacjach płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Maksymalna temperatura pracy ciągłej rur PEX",
        "value": "55–60°C",
        "description": "Przekroczenie powoduje starzenie termiczne. Przy 80°C żywotność spada z 50 do 10-15 lat (PN-EN ISO 15875)."
      },
      {
        "@type": "PropertyValue",
        "name": "Współczynnik rozszerzalności termicznej wylewki",
        "value": "0,012 mm/(m·K)",
        "description": "Ryzyko pęknięć jastrychu przy nagłych skokach temperatury o 40°C."
      },
      {
        "@type": "PropertyValue",
        "name": "Maksymalna temperatura posadzki (Strefa mieszkalna)",
        "value": "29°C",
        "description": "Zgodnie z normą PN-EN 1264-2. Wyższe wartości powodują dyskomfort i problemy zdrowotne."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Symulator degradacji termicznej podłogówki",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Interaktywne narzędzie pozwalające symulować wpływ temperatury zasilania z kotła (35°C - 90°C) na żywotność rur, naprężenia w jastrychu oraz odczuwalną temperaturę posadzki.",
    "featureList": [
      "Symulacja skracania żywotności rur PEX w czasie rzeczywistym",
      "Wizualizacja pęknięć jastrychu cementowego w funkcji ΔT",
      "Wskaźnik dyskomfortu termicznego stóp"
    ],
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  }
]
</script>

<div class="premium-impact-box" id="impact-app-lock">
    <div class="impact-header">
        <h2><span>🔥</span> Dlaczego nie można pompować wrzątku w podłogę?</h2>
        <p>Odpowiedź jest dwutorowa: <strong>bezpieczeństwo materiałowe</strong> oraz <strong>komfort użytkowania</strong>. Woda z typowego kotła gazowego lub na paliwo stałe osiąga temperaturę 70–80°C, a w przypadku kotłów zgazowujących drewno może to być nawet 85–90°C w szczycie pracy. Wprowadzenie tak gorącego medium bezpośrednio do <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">rur PEX lub PERT</a> zatopionych w posadzce prowadzi do natychmiastowych, destrukcyjnych konsekwencji.</p>
    </div>

    <div class="impact-content">
        <div class="consequences-grid">
            
            <div class="consequence-card">
                <span class="card-icon">☠️</span>
                <h4>Degradacja Rur (PN-EN ISO 15875)</h4>
                <p>Maksymalna temperatura ciągłej pracy rur PEX wynosi 55–60°C. Długotrwałe narażenie na 80°C powoduje przyspieszone starzenie termiczne polietylenu, kruchość i utratę elastyczności.</p>
                <div class="card-metric">
                    <span>Żywotność układu:</span>
                    <span>Spadek z 50 do 10 lat</span>
                </div>
            </div>

            <div class="consequence-card">
                <span class="card-icon">⚡</span>
                <h4>Rozrywanie Wylewki</h4>
                <p>Naprężenia termiczne w <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">jastrychu cementowym</a> (współczynnik 0,012 mm/(m·K)) przy różnicy temperatur rzędu 40°C przekraczają jego wytrzymałość na rozciąganie.</p>
                <div class="card-metric">
                    <span>Skutek wizualny:</span>
                    <span>Pękanie płytek</span>
                </div>
            </div>

            <div class="consequence-card">
                <span class="card-icon">👣</span>
                <h4>Dyskomfort i Oparzenia</h4>
                <p>Norma PN-EN 1264-2 określa maksymalną temperaturę podłogi na 29°C. Przy zasilaniu rzędu 80°C, miejscowa temperatura posadzki osiąga wartości nieakceptowalne dla człowieka.</p>
                <div class="card-metric">
                    <span>Temp. podeszwy:</span>
                    <span>Nawet > 40°C</span>
                </div>
            </div>

        </div>

        <h4 style="margin: 0 0 15px 0; font-size: 16px; color: var(--primary);">Symulator Degradacji Termicznej</h4>
        <p style="font-size: 14px; color: #475569; margin-bottom: 20px;">Sprawdź na własne oczy, co dzieje się z instalacją, gdy temperatura zasilania przekracza bezpieczne normy. Przesuń suwak na temperaturę generowaną np. przez stary kocioł węglowy.</p>

        <div class="interactive-widget-container">
            <div style="padding: 25px;">
                <div style="margin-bottom: 20px;">
                    <label style="font-weight: 800; font-size: 15px; color: var(--primary); display: flex; justify-content: space-between; align-items: center;">
                        Temperatura Zasilania z Kotła
                        <span id="sim-temp-val" style="color: var(--success); font-size: 22px; font-weight: 900;">35°C</span>
                    </label>
                    <input type="range" id="sim-temp-slider" min="35" max="90" step="1" value="35">
                </div>
                
                <div id="sim-alert" style="padding: 12px 15px; border-radius: 8px; background: #f0fdf4; color: #166534; font-weight: 700; font-size: 14px; margin-bottom: 20px; border: 1px solid #bbf7d0; transition: 0.3s;">
                    Optymalne warunki pracy instalacji.
                </div>
                
                <div class="sim-grid">
                    <div class="sim-card" id="card-pex">
                        <span style="display: block; font-size: 11px; color: #64748b; font-weight: 800; text-transform: uppercase; margin-bottom: 5px;">Żywotność Rury PEX</span>
                        <strong id="sim-pex" style="font-size: 18px; color: var(--success);">50 lat</strong>
                    </div>
                    <div class="sim-card" id="card-screed">
                        <span style="display: block; font-size: 11px; color: #64748b; font-weight: 800; text-transform: uppercase; margin-bottom: 5px;">Stan Jastrychu</span>
                        <strong id="sim-screed" style="font-size: 18px; color: var(--success);">Stabilny</strong>
                    </div>
                    <div class="sim-card" id="card-floor">
                        <span style="display: block; font-size: 11px; color: #64748b; font-weight: 800; text-transform: uppercase; margin-bottom: 5px;">Temp. Posadzki</span>
                        <strong id="sim-floor" style="font-size: 18px; color: var(--success);">~24°C</strong>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <noscript>
        <div style="padding: 30px; background: #0f172a; border-top: 1px solid #334155; font-family: sans-serif; color: #cbd5e1;">
            <h2 style="color: #ffffff; margin-top: 0;">Tabela krytycznych parametrów termicznych</h2>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left; margin-bottom: 20px;">
                <thead>
                    <tr style="border-bottom: 2px solid #334155;">
                        <th style="padding: 10px 0; color: #94a3b8;">Temperatura Zasilania</th>
                        <th style="padding: 10px 0; color: #94a3b8;">Żywotność Rury PEX</th>
                        <th style="padding: 10px 0; color: #94a3b8;">Stan Jastrychu</th>
                        <th style="padding: 10px 0; color: #94a3b8;">Komfort</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #1e293b;">
                        <td style="padding: 10px 0; font-weight: bold; color: #10b981;">35°C &#8211; 45°C</td>
                        <td style="padding: 10px 0;">Projektowe 50 lat</td>
                        <td style="padding: 10px 0;">Stabilny, bezpieczny</td>
                        <td style="padding: 10px 0;">Optymalny (ok. 24°C)</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #1e293b;">
                        <td style="padding: 10px 0; font-weight: bold; color: #f59e0b;">55°C &#8211; 60°C</td>
                        <td style="padding: 10px 0;">Przyspieszone starzenie</td>
                        <td style="padding: 10px 0;">Mikropęknięcia</td>
                        <td style="padding: 10px 0;">Dyskomfort (przekroczone 29°C)</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0; font-weight: bold; color: #ef4444;">70°C &#8211; 90°C</td>
                        <td style="padding: 10px 0; color: #ef4444;">Zaledwie 10-15 lat!</td>
                        <td style="padding: 10px 0; color: #ef4444;">Destrukcja / pękanie płytek</td>
                        <td style="padding: 10px 0; color: #ef4444;">Oparzenia, brak możliwości chodzenia</td>
                    </tr>
                </tbody>
            </table>
            <p style="font-size: 13px; line-height: 1.6;">
                Aby przetestować interaktywny symulator wpływu temperatury, włącz obsługę skryptów JavaScript.
            </p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('impact-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;"><span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span><div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona</div><p>Ten interaktywny moduł jest własnością Projekt-Ogrzewania.pl</p><a href="https://projekt-ogrzewania.pl/" style="margin-top: 20px; display: inline-block; padding: 12px 24px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a></div>';
        }
        return;
    }

    // LOGIKA SYMULATORA
    const slider = document.getElementById('sim-temp-slider');
    const valDisp = document.getElementById('sim-temp-val');
    const alertBox = document.getElementById('sim-alert');
    const outPex = document.getElementById('sim-pex');
    const outScreed = document.getElementById('sim-screed');
    const outFloor = document.getElementById('sim-floor');
    
    const cardPex = document.getElementById('card-pex');
    const cardScreed = document.getElementById('card-screed');
    const cardFloor = document.getElementById('card-floor');

    if(slider) {
        slider.addEventListener('input', function() {
            let temp = parseInt(this.value);
            valDisp.innerText = temp + '°C';

            // Uproszczona kalkulacja temperatury posadzki dla celów demonstracyjnych
            let floorTemp = 24 + ((temp - 35) * 0.4);

            if (temp <= 45) {
                valDisp.style.color = 'var(--success)';
                alertBox.style.background = '#f0fdf4';
                alertBox.style.color = '#166534';
                alertBox.style.borderColor = '#bbf7d0';
                alertBox.innerHTML = '✅ Optymalne warunki pracy instalacji.';

                outPex.innerText = '50 lat (Zgodnie z normą)';
                outPex.style.color = 'var(--success)';
                cardPex.style.borderColor = '#bbf7d0';

                outScreed.innerText = 'Stabilny, bezpieczny';
                outScreed.style.color = 'var(--success)';
                cardScreed.style.borderColor = '#bbf7d0';

                outFloor.innerText = '~' + Math.round(floorTemp) + '°C (Komfort)';
                outFloor.style.color = 'var(--success)';
                cardFloor.style.borderColor = '#bbf7d0';

            } else if (temp <= 60) {
                valDisp.style.color = 'var(--warning)';
                alertBox.style.background = '#fffbeb';
                alertBox.style.color = '#b45309';
                alertBox.style.borderColor = '#fde68a';
                alertBox.innerHTML = '⚠️ Ostrzeżenie: Rozpoczyna się przyspieszone starzenie materiałów.';

                outPex.innerText = '~30 lat (Skrócona)';
                outPex.style.color = 'var(--warning)';
                cardPex.style.borderColor = '#fde68a';

                outScreed.innerText = 'Ryzyko mikropęknięć';
                outScreed.style.color = 'var(--warning)';
                cardScreed.style.borderColor = '#fde68a';

                outFloor.innerText = '~' + Math.round(floorTemp) + '°C (Zbyt ciepło)';
                outFloor.style.color = 'var(--warning)';
                cardFloor.style.borderColor = '#fde68a';

            } else if (temp <= 75) {
                valDisp.style.color = 'var(--danger)';
                alertBox.style.background = '#fef2f2';
                alertBox.style.color = '#b91c1c';
                alertBox.style.borderColor = '#fecaca';
                alertBox.innerHTML = '🚨 Krytycznie: Znaczne przekroczenie norm! Parametry destrukcyjne.';

                outPex.innerText = '~15-20 lat';
                outPex.style.color = 'var(--danger)';
                cardPex.style.borderColor = '#fecaca';

                outScreed.innerText = 'Naprężenia, pękanie';
                outScreed.style.color = 'var(--danger)';
                cardScreed.style.borderColor = '#fecaca';

                outFloor.innerText = '~' + Math.round(floorTemp) + '°C (Ryzyko oparzeń)';
                outFloor.style.color = 'var(--danger)';
                cardFloor.style.borderColor = '#fecaca';

            } else {
                valDisp.style.color = '#7f1d1d';
                slider.style.background = '#fecaca';
                alertBox.style.background = '#7f1d1d';
                alertBox.style.color = '#ffffff';
                alertBox.style.borderColor = '#450a0a';
                alertBox.innerHTML = '☠️ AWARIA: Wrzątek w instalacji! Natychmiastowe zniszczenia.';

                outPex.innerText = '< 10 lat!';
                outPex.style.color = '#7f1d1d';
                cardPex.style.borderColor = '#7f1d1d';

                outScreed.innerText = 'Destrukcja / odspojenia';
                outScreed.style.color = '#7f1d1d';
                cardScreed.style.borderColor = '#7f1d1d';

                outFloor.innerText = '> 40°C!';
                outFloor.style.color = '#7f1d1d';
                cardFloor.style.borderColor = '#7f1d1d';
            }
        });
        
        // Trigger initial state
        slider.dispatchEvent(new Event('input'));
    }
});
</script>



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

.premium-formula-box {
    max-width: 850px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--border-color);
    overflow: hidden;
}

.formula-header {
    padding: 35px 45px;
    text-align: left;
    background: linear-gradient(135deg, #f8fafc 0%, #eff6ff 100%);
    border-bottom: 1px solid var(--border-color);
}

.formula-header h3 {
    margin: 0 0 12px 0;
    font-size: 24px;
    font-weight: 900;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 12px;
}

.formula-header p {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: #475569;
}

.formula-content {
    padding: 45px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

.math-display {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    font-size: 42px;
    font-weight: 700;
    font-family: 'Georgia', 'Times New Roman', serif;
    font-style: italic;
    color: var(--accent);
    background: #f0f7ff;
    padding: 30px 60px;
    border-radius: 20px;
    border: 2px solid #dbeafe;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

.math-sub {
    font-size: 20px;
    vertical-align: baseline;
    position: relative;
    top: 6px;
}

.legend-box {
    width: 100%;
    max-width: 650px;
}

.legend-title {
    font-weight: 800;
    margin-bottom: 20px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #94a3b8;
    display: flex;
    align-items: center;
    gap: 10px;
}

.legend-title::after {
    content: "";
    flex-grow: 1;
    height: 1px;
    background: var(--border-color);
}

.legend-item {
    display: flex;
    align-items: flex-start;
    padding: 16px 20px;
    margin-bottom: 10px;
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #f1f5f9;
    font-size: 15px;
    color: #334155;
    transition: all 0.2s ease;
}

.legend-item:hover {
    background: var(--bg-light);
    border-color: var(--accent);
    transform: translateX(5px);
}

.legend-symbol {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-style: italic;
    font-weight: 700;
    font-size: 22px;
    color: var(--accent);
    width: 60px;
    flex-shrink: 0;
}

.legend-desc strong {
    color: var(--primary);
}

.calculation-example {
    width: 100%;
    background: #f8fafc;
    border-radius: 16px;
    padding: 25px;
    border-left: 4px solid var(--accent);
}

.example-title {
    font-weight: 800;
    font-size: 14px;
    color: var(--primary);
    margin-bottom: 15px;
    text-transform: uppercase;
}

.formula-footer {
    padding: 25px 45px;
    background: #ffffff;
    border-top: 1px solid #f1f5f9;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: #64748b;
}

.formula-footer a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 700;
}

@media (max-width: 600px) {
    .formula-header { padding: 30px 25px; }
    .formula-content { padding: 30px 20px; }
    .math-display { font-size: 28px; padding: 20px; flex-wrap: wrap; }
    .legend-item { padding: 12px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Wzór inżynierski na moc cieplną wymiennika płytowego (Równanie Fouriera)",
    "description": "Zestawienie parametrów termodynamicznych wymiennika ciepła, w tym strumień cieplny (Q), współczynnik przenikania (k), powierzchnia wymiany (A) oraz średnia logarytmiczna różnica temperatur (ΔTlm).",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Q (Strumień cieplny)",
        "description": "Całkowita moc [W/kW], jaką musi dostarczyć wymiennik, by pokryć straty ciepła budynku."
      },
      {
        "@type": "PropertyValue",
        "name": "k (Współczynnik przenikania)",
        "description": "Zdolność przewodzenia ciepła stali (np. AISI 316L) zależna od profilu płyt [W/(m²·K)]."
      },
      {
        "@type": "PropertyValue",
        "name": "A (Powierzchnia wymiany)",
        "description": "Suma powierzchni kontaktowych płyt [m²]."
      },
      {
        "@type": "PropertyValue",
        "name": "ΔTlm (Średnia logarytmiczna różnica temperatur)",
        "description": "Siła napędowa wymiany ciepła w układzie przeciwprądowym [K]."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Edukacyjny Panel Obliczeniowy: Inżynieria Wymiany Ciepła",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Interaktywny moduł edukacyjny wyjaśniający proces termodynamiczny w wymienniku płytowym. Prezentuje układ równania Fouriera, analizę parametrów wejściowych oraz Case Study dla doboru urządzenia o mocy 20 kW.",
    "featureList": [
      "Dekonstrukcja równania Fouriera dla wymiany ciepła",
      "Analiza parametrów Q, k, A, ΔTlm",
      "Przykład obliczeniowy dla projektowania układu o mocy 20 kW"
    ],
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  }
]
</script>

<div class="premium-formula-box" id="formula-thermal-app">
    <div class="formula-header">
        <h3><span>🔬</span> Inżynieria Wymiany Ciepła</h3>
        <p>Proces termodynamiczny w wymienniku płytowym opisuje równanie Fouriera, które definiuje sprawność przekazu energii między obiegiem kotła a <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/" style="color: var(--accent); font-weight: 600;">pętlami podłogówki</a>.</p>
    </div>

    <div class="formula-content">
        <div class="math-display">
            <span>Q</span>
            <span style="color: var(--primary); font-style: normal; margin: 0 10px;">=</span>
            <span>k · A · ΔT<sub class="math-sub">lm</sub></span>
        </div>

        <div class="legend-box">
            <div class="legend-title">Analiza parametrów wejściowych:</div>
            
            <div class="legend-item">
                <div class="legend-symbol">Q</div>
                <div class="legend-desc"><strong>Strumień cieplny</strong> [W/kW] – całkowita moc, jaką musi dostarczyć wymiennik, by pokryć <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/">straty ciepła budynku</a>.</div>
            </div>

            <div class="legend-item">
                <div class="legend-symbol">k</div>
                <div class="legend-desc"><strong>Współczynnik przenikania</strong> [W/(m²·K)] – zdolność stali (AISI 316L) do przewodzenia, zależna od profilu płyt i turbulencji przepływu.</div>
            </div>

            <div class="legend-item">
                <div class="legend-symbol">A</div>
                <div class="legend-desc"><strong>Powierzchnia wymiany</strong> [m²] – suma powierzchni wszystkich płyt kontaktu; klucz do kompaktowości urządzenia.</div>
            </div>

            <div class="legend-item">
                <div class="legend-symbol">ΔT<sub style="font-size: 10px; position: relative; top: 2px;">lm</sub></div>
                <div class="legend-desc"><strong>Średnia logarytmiczna różnica temperatur</strong> – rzeczywista „siła napędowa” wymiany w układzie przeciwprądowym.</div>
            </div>
        </div>

        <div class="calculation-example">
            <div class="example-title">💡 Case Study: Dobór dla 20 kW</div>
            <p style="font-size: 14px; line-height: 1.6; color: #475569; margin: 0;">
                Przy parametrach 75/55°C (kocioł) oraz 40/30°C (podłoga), ΔT<sub>lm</sub> wynosi <strong>29,7 K</strong>. 
                Dla standardowego wymiennika (k=4500), wymagana powierzchnia to zaledwie <strong>0,15 m²</strong>. 
                To pokazuje, dlaczego urządzenia te są tak małe przy tak ogromnych mocach.
            </p>
        </div>
    </div>

    <div class="formula-footer">
        <span>Norma: <strong>PN-EN 1264</strong></span>
        <a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const app = document.getElementById('formula-thermal-app');
        if (app) {
            app.innerHTML = '<div style="padding: 50px; text-align: center; color: #dc2626; font-weight: 800;">Zasób chroniony prawem autorskim Projekt-Ogrzewania.pl</div>';
        }
    }
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --accent-hover: #1e40af;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
    --text-muted: #475569;
}

.premium-download-banner {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--border-color);
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    position: relative;
}

/* LEWA STRONA - OBRAZ Z KLIKIEM */
.banner-image-wrapper {
    background: #f1f5f9;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid var(--border-color);
    cursor: pointer;
    transition: background 0.3s ease;
}

.banner-image-wrapper:hover {
    background: #e2e8f0;
}

.img-click-target {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    transition: transform 0.4s ease;
}

.banner-image-wrapper:hover .img-click-target {
    transform: scale(1.03); /* Delikatne powiększenie zachęcające do kliknięcia */
}

.zoom-hint {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(15, 23, 42, 0.85);
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
    pointer-events: none;
    display: flex;
    align-items: center;
    gap: 8px;
    backdrop-filter: blur(4px);
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.banner-image-wrapper:hover .zoom-hint {
    background: var(--accent);
    transform: translateX(-50%) translateY(-3px);
}

/* PRAWA STRONA - TREŚĆ I CTA */
.banner-content {
    padding: 45px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.banner-badge {
    display: inline-block;
    align-self: flex-start;
    padding: 6px 12px;
    background: #eff6ff;
    color: var(--accent);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    border-radius: 8px;
    margin-bottom: 20px;
    letter-spacing: 0.5px;
}

.banner-title {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--primary);
    line-height: 1.2;
}

.banner-desc {
    margin: 0 0 25px 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-muted);
}

.banner-features {
    list-style: none;
    padding: 0;
    margin: 0 0 35px 0;
}

.banner-features li {
    font-size: 14px;
    color: var(--primary);
    font-weight: 600;
    margin-bottom: 12px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.banner-features li::before {
    content: '✅';
    font-size: 14px;
    line-height: 1.4;
}

.btn-download-pdf {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 18px 30px;
    background: var(--accent);
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
    border-radius: 12px;
    box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.4);
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.btn-download-pdf:hover {
    background: var(--accent-hover);
    transform: translateY(-3px);
    box-shadow: 0 15px 30px -5px rgba(37, 99, 235, 0.5);
    color: #ffffff;
}

.btn-subtext {
    display: block;
    margin-top: 12px;
    font-size: 12px;
    color: #94a3b8;
    font-weight: 600;
    text-align: center;
}

/* LIGHTBOX MODAL */
.lightbox-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(15, 23, 42, 0.95);
    z-index: 99999;
    display: none; /* Ukryte domyślnie */
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    backdrop-filter: blur(5px);
}

.lightbox-overlay.active {
    display: flex;
    opacity: 1;
}

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

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

.lightbox-close {
    position: absolute;
    top: -40px;
    right: 0;
    color: #ffffff;
    font-size: 30px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.2s ease;
}

.lightbox-close:hover {
    color: var(--danger);
}

@media (max-width: 768px) {
    .premium-download-banner {
        grid-template-columns: 1fr;
    }
    .banner-image-wrapper {
        height: 250px;
        border-right: none;
        border-bottom: 1px solid var(--border-color);
    }
    .banner-content {
        padding: 35px 25px;
    }
    .banner-title {
        font-size: 22px;
    }
    .lightbox-close {
        top: -35px;
        right: 10px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Infografika: Zasada działania wymiennika płytowego w ogrzewaniu podłogowym",
    "description": "Kompleksowa infografika inżynierska prezentująca zasady separacji hydraulicznej, algorytmy doboru wymiennika płytowego (wzór na moc Q) oraz ryzyka związane z przekraczaniem bezpiecznej temperatury zasilania w systemach płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "distribution": [
      {
        "@type": "DataDownload",
        "encodingFormat": "application/pdf",
        "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym.pdf"
      },
      {
        "@type": "DataDownload",
        "encodingFormat": "image/webp",
        "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym.webp"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Galeria Infografik: Wymiennik Płytowy",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Interaktywny interfejs wizualny (Lightbox) umożliwiający przeglądanie schematów hydraulicznych ogrzewania podłogowego w pełnym oknie przeglądarki. Narzędzie integruje również punkt pobierania zasobów edukacyjnych PDF w wysokiej rozdzielczości.",
    "featureList": [
      "Przeglądarka pełnoekranowa (Lightbox) dla schematów technicznych",
      "Pobieranie plików inżynierskich w formacie PDF",
      "Prezentacja strukturalna danych technicznych (Tabela krytycznych temperatur, Algorytm doboru)"
    ],
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  }
]
</script>

<div class="premium-download-banner" id="banner-app-lock">
    
    <div class="banner-image-wrapper" id="open-lightbox-btn">
        <img decoding="async" 
            src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym.webp" 
            alt="Szczegółowy schemat i zasada działania wymiennika płytowego w podłogówce" 
            class="img-click-target"
            loading="lazy"
        >
        <div class="zoom-hint">🔍 Kliknij, aby powiększyć</div>
    </div>

    <div class="banner-content">
        <span class="banner-badge">📚 Darmowe Kompendium Wiedzy</span>
        
        <h3 class="banner-title">Wymiennik płytowy w podłogówce: Separacja, Bezpieczeństwo, Dobór</h3>
        
        <p class="banner-desc">Dlaczego nie można pompować wrzątku w podłogę? Pobierz naszą autorską infografikę w wysokiej rozdzielczości i miej najważniejsze wytyczne projektowe zawsze pod ręką.</p>
        
        <ul class="banner-features">
            <li><strong>Tabela Krytycznych Temperatur:</strong> Skutki wpuszczenia 80°C w wylewkę.</li>
            <li><strong>Algorytm Doboru (Skrót):</strong> Wzór inżynierski i parametry pomp.</li>
            <li><strong>Analiza Układów:</strong> Dlaczego przeciwprąd jest zawsze preferowany.</li>
        </ul>

        <div>
            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym.pdf" target="_blank" rel="noopener noreferrer" class="btn-download-pdf">
                <span>📄 Pobierz Infografikę (PDF)</span>
            </a>
            <span class="btn-subtext">Plik bezpieczny, gotowy do druku A4/A3.</span>
        </div>
    </div>

    <noscript>
        <div style="padding: 20px; background: #fffbeb; color: #b45309; text-align: center; font-size: 14px;">
            Plik PDF ze schematami możesz pobrać bezpiecznie klikając w przycisk powyżej.
        </div>
    </noscript>
</div>

<div class="lightbox-overlay" id="lightbox-modal">
    <div class="lightbox-content">
        <span class="lightbox-close" id="close-lightbox-btn">&times;</span>
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym.webp" alt="Powiększona Infografika - Zasada Działania Wymiennika">
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('banner-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626;"><span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span><div style="font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona</div><p>Ten interaktywny baner jest własnością Projekt-Ogrzewania.pl</p></div>';
        }
        return;
    }

    // 2. LOGIKA LIGHTBOXA
    const openBtn = document.getElementById('open-lightbox-btn');
    const closeBtn = document.getElementById('close-lightbox-btn');
    const modal = document.getElementById('lightbox-modal');

    if (openBtn && modal && closeBtn) {
        // Otwieranie
        openBtn.addEventListener('click', function() {
            modal.classList.add('active');
            document.body.style.overflow = 'hidden'; // Blokuje przewijanie strony pod spodem
        });

        // Zamykanie X-em
        closeBtn.addEventListener('click', function() {
            modal.classList.remove('active');
            document.body.style.overflow = '';
        });

        // Zamykanie kliknięciem w tło (poza obrazkiem)
        modal.addEventListener('click', function(e) {
            if (e.target === modal) {
                modal.classList.remove('active');
                document.body.style.overflow = '';
            }
        });

        // Zamykanie klawiszem ESC
        document.addEventListener('keydown', function(e) {
            if (e.key === 'Escape' && modal.classList.contains('active')) {
                modal.classList.remove('active');
                document.body.style.overflow = '';
            }
        });
    }
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #ef4444;
    --warning: #f59e0b;
    --success: #10b981;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
    
    /* Kolory termiczne */
    --temp-75: #ef4444; /* Gorąca */
    --temp-72: #f97316; /* Bardzo ciepła */
    --temp-52: #fcd34d; /* Letnia / Pośrednia */
    --temp-33: #7dd3fc; /* Wychłodzona */
    --temp-30: #3b82f6; /* Zimna */
}

.premium-flow-module {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    position: relative;
}

.flow-header {
    padding: 40px 45px 25px 45px;
    background: linear-gradient(135deg, #ffffff 0%, var(--bg-light) 100%);
    border-bottom: 1px solid var(--border-color);
}

.flow-header h3 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 12px;
}

.flow-header p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
}

.flow-content {
    padding: 40px 45px;
}

/* SYMULATOR PRZEPŁYWU */
.sim-container {
    background: #f8fafc;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 30px;
    margin-bottom: 40px;
}

.sim-controls {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 35px;
}

.sim-btn {
    padding: 12px 25px;
    border: 2px solid #cbd5e1;
    background: #ffffff;
    border-radius: 12px;
    font-weight: 800;
    font-size: 14px;
    color: #64748b;
    cursor: pointer;
    transition: all 0.3s ease;
}

.sim-btn.active {
    border-color: var(--accent);
    background: var(--accent);
    color: #ffffff;
    box-shadow: 0 5px 15px rgba(37, 99, 235, 0.3);
}

.pipe-wrapper {
    position: relative;
    margin-bottom: 30px;
}

.pipe-wrapper:last-child {
    margin-bottom: 0;
}

.pipe-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: #475569;
    margin-bottom: 8px;
    display: flex;
    justify-content: space-between;
}

.pipe-track {
    height: 40px;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 2px 5px rgba(0,0,0,0.1);
}

/* Warstwy gradientów do płynnego przenikania */
.pipe-gradient {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    transition: opacity 0.5s ease;
}

/* Gradienty Kocioł */
.grad-kociol-przeciw { background: linear-gradient(to right, var(--temp-75), var(--temp-33)); }
.grad-kociol-wspol { background: linear-gradient(to right, var(--temp-75), var(--temp-52)); opacity: 0; }

/* Gradienty Podłoga */
.grad-podloga-przeciw { background: linear-gradient(to left, var(--temp-30), var(--temp-72)); }
.grad-podloga-wspol { background: linear-gradient(to right, var(--temp-30), var(--temp-52)); opacity: 0; }

.flow-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255,255,255,0.8);
    font-size: 20px;
    font-weight: bold;
    pointer-events: none;
    transition: all 0.5s ease;
}

.arrow-left { left: 20px; }
.arrow-right { right: 20px; }
.arrow-center { left: 50%; transform: translate(-50%, -50%); }

.temp-badge {
    position: absolute;
    top: -12px;
    background: #ffffff;
    border: 2px solid var(--primary);
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
    color: var(--primary);
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: all 0.5s ease;
    z-index: 2;
}

.badge-start { left: 0; }
.badge-end { right: 0; }

.result-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px dashed #cbd5e1;
}

.metric-box {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 15px;
    border-radius: 12px;
    text-align: center;
}

.metric-title {
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 800;
    color: #94a3b8;
    display: block;
    margin-bottom: 5px;
}

.metric-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--primary);
}

.metric-diff {
    font-size: 12px;
    font-weight: 700;
    color: var(--success);
    margin-top: 5px;
    display: block;
}

/* TEKST ARTYKUŁU */
.text-section {
    font-size: 15px;
    line-height: 1.8;
    color: #334155;
}

.text-section h4 {
    font-size: 18px;
    color: var(--primary);
    margin-top: 30px;
    margin-bottom: 15px;
    font-weight: 800;
}

.text-section p {
    margin-bottom: 15px;
}

.text-section strong {
    color: var(--primary);
    font-weight: 700;
}

.highlight-box {
    background: #eff6ff;
    border-left: 4px solid var(--accent);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin: 20px 0;
}

.highlight-box code {
    display: block;
    font-family: monospace;
    font-size: 14px;
    color: #1e3a8a;
    font-weight: 700;
    margin-bottom: 5px;
}

@media (max-width: 768px) {
    .flow-header { padding: 30px 25px; }
    .flow-content { padding: 30px 25px; }
    .sim-controls { flex-direction: column; }
    .result-metrics { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Porównanie parametrów układu przeciwprądowego i współprądowego",
    "description": "Zestawienie efektywności termodynamicznej wymienników ciepła z uwzględnieniem kierunku przepływu mediów.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Układ Współprądowy (T_końcowa)",
        "value": "52,5°C",
        "description": "Osiągana wartość asymptotyczna. Niemożliwe schłodzenie wody kotłowej poniżej tej wartości."
      },
      {
        "@type": "PropertyValue",
        "name": "Układ Przeciwprądowy (T1_wyj kocioł)",
        "value": "33°C",
        "description": "Przy tzw. approach temperature rzędu 3 K."
      },
      {
        "@type": "PropertyValue",
        "name": "Układ Przeciwprądowy (T2_wyj podłogówka)",
        "value": "72°C",
        "description": "Wysoka efektywność odzysku energii ze źródła ciepła."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Symulator przepływów w wymienniku płytowym",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Narzędzie interaktywne ilustrujące zjawisko przepływu współprądowego i przeciwprądowego. Pozwala wizualnie zaobserwować proces dążenia do asymptoty (współprąd) w kontraście do efektywnego schłodzenia medium pierwotnego (przeciwprąd).",
    "featureList": [
      "Animacja gradientów termicznych wewnątrz kanałów przepływowych",
      "Dynamiczne przeliczanie parametrów wyjściowych (T1_wyj, T2_wyj)",
      "Graficzna prezentacja odwróconych strumieni przepływu"
    ],
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  }
]
</script>

<div class="premium-flow-module" id="flow-app-lock">
    <div class="flow-header">
        <h2><span>🔄</span> Jak przepływ przeciwprądowy maksymalizuje efektywność?</h2>
        <p>Przełącz tryb przepływu poniżej, aby fizycznie zobaczyć, dlaczego jeden układ marnuje energię, a drugi wyciska z niej 100%.</p>
    </div>

    <div class="flow-content">
        
        <div class="sim-container">
            <div class="sim-controls">
                <button class="sim-btn active" id="btn-counter">Układ Przeciwprądowy</button>
                <button class="sim-btn" id="btn-co">Układ Współprądowy</button>
            </div>

            <div class="pipe-wrapper">
                <div class="pipe-label">
                    <span>Medium Pierwotne (Kocioł)</span>
                    <span id="p1-direction" style="color:var(--danger)">Przepływ: → Lewo do Prawa</span>
                </div>
                <div class="pipe-track">
                    <div class="pipe-gradient grad-kociol-przeciw" id="p1-grad-counter"></div>
                    <div class="pipe-gradient grad-kociol-wspol" id="p1-grad-co"></div>
                    <span class="flow-arrow arrow-left">»</span>
                    <span class="flow-arrow arrow-center">»</span>
                    <span class="flow-arrow arrow-right">»</span>
                </div>
                <div class="temp-badge badge-start" style="border-color: var(--temp-75)">T1 wej = 75°C</div>
                <div class="temp-badge badge-end" id="p1-out-badge" style="border-color: var(--temp-33)">T1 wyj = 33°C</div>
            </div>

            <div class="pipe-wrapper" style="margin-top: 45px;">
                <div class="pipe-label">
                    <span>Medium Wtórne (Podłogówka)</span>
                    <span id="p2-direction" style="color:var(--success)">Przepływ: ← Prawo do Lewa</span>
                </div>
                <div class="pipe-track">
                    <div class="pipe-gradient grad-podloga-przeciw" id="p2-grad-counter"></div>
                    <div class="pipe-gradient grad-podloga-wspol" id="p2-grad-co"></div>
                    <span class="flow-arrow arrow-left" id="p2-arr-1">«</span>
                    <span class="flow-arrow arrow-center" id="p2-arr-2">«</span>
                    <span class="flow-arrow arrow-right" id="p2-arr-3">«</span>
                </div>
                <div class="temp-badge badge-start" id="p2-badge-left" style="border-color: var(--temp-72)">T2 wyj = 72°C</div>
                <div class="temp-badge badge-end" id="p2-badge-right" style="border-color: var(--temp-30)">T2 wej = 30°C</div>
            </div>

            <div class="result-metrics">
                <div class="metric-box">
                    <span class="metric-title">Sprawność termodynamiczna</span>
                    <span class="metric-val" id="eff-val">Max (Odzysk +50%)</span>
                    <span class="metric-diff" id="eff-desc">Minimalne straty egzergii</span>
                </div>
                <div class="metric-box">
                    <span class="metric-title">Średnia różnica temp. (ΔTlm)</span>
                    <span class="metric-val" id="dt-val">Wysoka i stabilna</span>
                    <span class="metric-diff" id="dt-desc" style="color:var(--accent)">Siła napędowa zachowana</span>
                </div>
            </div>
        </div>

        <div class="text-section">
            <p>Przepływ przeciwprądowy polega na skierowaniu obu mediów w przeciwne strony – gorące wchodzi od dołu, zimne od góry. Taka konfiguracja zapewnia <strong>najwyższą możliwą średnią różnicę temperatur</strong> na całej długości wymiennika, co przekłada się na minimalne straty egzergii i możliwość schłodzenia medium pierwotnego poniżej temperatury wylotowej medium wtórnego.</p>

            <h4>Zalety układu przeciwprądowego w liczbach</h4>
            <p>Porównanie efektywności układu współprądowego i przeciwprądowego dla identycznych parametrów wejściowych (T1_wej = 75°C, T2_wej = 30°C) doskonale obrazuje tę przewagę.</p>

            <p>W <strong>układzie współprądowym</strong> oba media płyną w tym samym kierunku. Temperatury dążą asymptotycznie do wspólnej wartości pośredniej. Przy założeniu nieskończenie dużej powierzchni wymiany, oba strumienie osiągnęłyby tę samą temperaturę końcową <strong>T_końcowa = 52,5°C</strong> (średnia arytmetyczna). Oznacza to, że <strong>niemożliwe jest schłodzenie wody kotłowej poniżej 52,5°C</strong>, a podłogówka nigdy nie osiągnie temperatury wyższej niż 52,5°C.</p>

            <p>W <strong>układzie przeciwprądowym</strong> sytuacja wygląda diametralnie inaczej. Teoretycznie, przy nieskończonej powierzchni wymiany, woda z kotła może zostać schłodzona do temperatury wejściowej podłogówki (30°C), a woda podłogowa podgrzana do temperatury wejściowej kotła (75°C). W praktyce inżynierskiej osiąga się tzw. <em>approach temperature</em> rzędu 2–5 K, co oznacza:</p>

            <div class="highlight-box">
                <code>T1_wyj (kocioł) = 30°C + 3 K = 33°C</code>
                <code>T2_wyj (podłogówka) = 75°C – 3 K = 72°C</code>
            </div>

            <p>Efektywność termodynamiczna układu przeciwprądowego jest zatem o <strong>30–50% wyższa</strong> niż współprądowego przy zachowaniu dokładnie tej samej powierzchni wymiany (wielkości wymiennika).</p>
        </div>

    </div>

    <noscript>
        <div style="padding: 30px; background: #0f172a; border-top: 1px solid #334155; font-family: sans-serif; color: #cbd5e1;">
            <h3 style="color: #ffffff; margin-top: 0;">Podsumowanie wyników: Współprąd vs Przeciwprąd</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #334155;">
                        <th style="padding: 10px 0; color: #94a3b8;">Parametr</th>
                        <th style="padding: 10px 0; color: #94a3b8;">Współprądowy</th>
                        <th style="padding: 10px 0; color: #94a3b8;">Przeciwprądowy</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #1e293b;">
                        <td style="padding: 10px 0;">Temperatura Kotła (Wyjście)</td>
                        <td style="padding: 10px 0; color: #f59e0b;">52,5°C (Zbyt wysoka)</td>
                        <td style="padding: 10px 0; font-weight: bold; color: #3b82f6;">33,0°C (Idealna)</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0;">Temperatura Podłogi (Wyjście)</td>
                        <td style="padding: 10px 0; color: #f59e0b;">52,5°C (Ograniczona)</td>
                        <td style="padding: 10px 0; font-weight: bold; color: #ef4444;">72,0°C (Maksymalna)</td>
                    </tr>
                </tbody>
            </table>
            <p style="font-size: 13px; line-height: 1.6; margin-top:15px;">Aby skorzystać z interaktywnego symulatora przepływów, włącz obsługę JavaScript w swojej przeglądarce.</p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('flow-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;"><span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span><div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona</div><p>Ten interaktywny moduł jest własnością Projekt-Ogrzewania.pl</p><a href="https://projekt-ogrzewania.pl/" style="margin-top: 20px; display: inline-block; padding: 12px 24px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a></div>';
        }
        return;
    }

    // LOGIKA SYMULATORA PRZEPŁYWU
    const btnCounter = document.getElementById('btn-counter');
    const btnCo = document.getElementById('btn-co');

    // Warstwy gradientów
    const p1GradCo = document.getElementById('p1-grad-co');
    const p2GradCo = document.getElementById('p2-grad-co');
    
    // Etykiety i Badges
    const p1OutBadge = document.getElementById('p1-out-badge');
    const p2BadgeLeft = document.getElementById('p2-badge-left');
    const p2BadgeRight = document.getElementById('p2-badge-right');
    const p2Direction = document.getElementById('p2-direction');
    
    // Strzałki rury 2
    const p2Arr1 = document.getElementById('p2-arr-1');
    const p2Arr2 = document.getElementById('p2-arr-2');
    const p2Arr3 = document.getElementById('p2-arr-3');

    // Wyniki pod spodem
    const effVal = document.getElementById('eff-val');
    const effDesc = document.getElementById('eff-desc');
    const dtVal = document.getElementById('dt-val');
    const dtDesc = document.getElementById('dt-desc');

    function setCounterFlow() {
        btnCounter.classList.add('active');
        btnCo.classList.remove('active');

        // Przejście gradientów
        p1GradCo.style.opacity = '0';
        p2GradCo.style.opacity = '0';

        // Teksty Kocioł
        p1OutBadge.innerText = 'T1 wyj = 33°C';
        p1OutBadge.style.borderColor = 'var(--temp-33)';

        // Teksty Podłogówka (w przeciwprądzie wejście jest z prawej)
        p2Direction.innerText = 'Przepływ: ← Prawo do Lewa';
        p2Direction.style.color = 'var(--success)';
        
        p2BadgeRight.innerText = 'T2 wej = 30°C';
        p2BadgeRight.style.borderColor = 'var(--temp-30)';
        p2BadgeLeft.innerText = 'T2 wyj = 72°C';
        p2BadgeLeft.style.borderColor = 'var(--temp-72)';

        // Strzałki
        p2Arr1.innerText = '«'; p2Arr2.innerText = '«'; p2Arr3.innerText = '«';

        // Wyniki
        effVal.innerText = 'Max (Odzysk +50%)';
        effVal.style.color = 'var(--primary)';
        effDesc.innerText = 'Minimalne straty egzergii';
        effDesc.style.color = 'var(--success)';

        dtVal.innerText = 'Wysoka i stabilna';
        dtVal.style.color = 'var(--primary)';
        dtDesc.innerText = 'Siła napędowa zachowana';
        dtDesc.style.color = 'var(--accent)';
    }

    function setCoFlow() {
        btnCo.classList.add('active');
        btnCounter.classList.remove('active');

        // Przejście gradientów
        p1GradCo.style.opacity = '1';
        p2GradCo.style.opacity = '1';

        // Teksty Kocioł
        p1OutBadge.innerText = 'T1 wyj = 52.5°C';
        p1OutBadge.style.borderColor = 'var(--temp-52)';

        // Teksty Podłogówka (we współprądzie wejście jest z lewej)
        p2Direction.innerText = 'Przepływ: → Lewo do Prawa';
        p2Direction.style.color = 'var(--danger)';
        
        p2BadgeLeft.innerText = 'T2 wej = 30°C';
        p2BadgeLeft.style.borderColor = 'var(--temp-30)';
        p2BadgeRight.innerText = 'T2 wyj = 52.5°C';
        p2BadgeRight.style.borderColor = 'var(--temp-52)';

        // Strzałki
        p2Arr1.innerText = '»'; p2Arr2.innerText = '»'; p2Arr3.innerText = '»';

        // Wyniki
        effVal.innerText = 'Zaniżona / Asymptota';
        effVal.style.color = 'var(--danger)';
        effDesc.innerText = 'Zablokowany transfer energii';
        effDesc.style.color = 'var(--danger)';

        dtVal.innerText = 'Spada do Zera';
        dtVal.style.color = 'var(--danger)';
        dtDesc.innerText = 'Brak siły napędowej na końcu';
        dtDesc.style.color = 'var(--danger)';
    }

    btnCounter.addEventListener('click', setCounterFlow);
    btnCo.addEventListener('click', setCoFlow);
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #ef4444;
    --warning: #f59e0b;
    --success: #10b981;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
    --chart-hot: #ef4444;
    --chart-cold: #3b82f6;
    --chart-fill: rgba(37, 99, 235, 0.1);
}

.premium-chart-box {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--border-color);
    overflow: hidden;
    position: relative;
}

.chart-header {
    padding: 35px 45px;
    text-align: left;
    background: linear-gradient(135deg, #f8fafc 0%, #eff6ff 100%);
    border-bottom: 1px solid var(--border-color);
}

.chart-header h3 {
    margin: 0 0 12px 0;
    font-size: 24px;
    font-weight: 900;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 12px;
}

.chart-content {
    padding: 45px;
}

.chart-text-section {
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
    margin-bottom: 30px;
}

/* WIZUALIZACJA WYKRESU */
.interactive-chart-wrapper {
    margin-top: 20px;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background: #ffffff;
    padding: 20px;
}

.chart-controls {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 25px;
}

.chart-toggle {
    padding: 10px 20px;
    border: 2px solid #cbd5e1;
    background: #ffffff;
    border-radius: 10px;
    font-weight: 700;
    font-size: 13px;
    color: #64748b;
    cursor: pointer;
    transition: 0.2s;
}

.chart-toggle.active {
    border-color: var(--accent);
    background: #eff6ff;
    color: var(--accent);
}

.chart-canvas-area {
    position: relative;
    width: 100%;
    height: 350px;
}

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

.chart-tooltip {
    position: absolute;
    background: rgba(15, 23, 42, 0.95);
    color: white;
    padding: 12px;
    border-radius: 8px;
    font-size: 12px;
    pointer-events: none;
    opacity: 0;
    z-index: 10;
    min-width: 180px;
    box-shadow: 0 10px 15px rgba(0,0,0,0.2);
}

.chart-legend {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 20px;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
}

@media (max-width: 600px) {
    .chart-header { padding: 25px; }
    .chart-content { padding: 20px; }
    .chart-controls { flex-direction: column; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Profil temperaturowy wymiennika płytowego",
    "description": "Zestawienie zmian temperatur dla medium pierwotnego i wtórnego w układzie przeciwprądowym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Symulator wymiany ciepła",
    "applicationCategory": "EducationalApplication",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="premium-chart-box" id="chart-app-lock">
    <div class="chart-header">
        <h3><span>📈</span> Dynamika wymiany ciepła na wykresie</h3>
        <p style="margin:0; font-size:15px; color:#64748b;">Przetestuj różnicę między układem optymalnym a błędnym.</p>
    </div>

    <div class="chart-content">
        <div class="chart-text-section">
            <p>Poniższy model pokazuje, jak zmienia się temperatura wody wewnątrz wymiennika. Przełączając tryby, zobaczysz dlaczego <strong>układ przeciwprądowy</strong> jest jedynym słusznym rozwiązaniem w podłogówce.</p>
            <ul>
                <li>🔴 <strong>Kocioł:</strong> Oddaje ciepło (spadek z 75°C).</li>
                <li>🔵 <strong>Podłogówka:</strong> Odbiera ciepło (wzrost do ok. 72°C).</li>
            </ul>
        </div>

        <div class="interactive-chart-wrapper">
            <div class="chart-controls">
                <button class="chart-toggle active" id="btn-przeciw">Układ Przeciwprądowy</button>
                <button class="chart-toggle" id="btn-wspol">Układ Współprądowy</button>
            </div>

            <div class="chart-canvas-area" id="canvas-container">
                <svg class="svg-main" id="chart-svg" viewBox="0 0 800 400" preserveAspectRatio="none"></svg>
                <div id="chart-tt" class="chart-tooltip"></div>
            </div>

            <div class="chart-legend">
                <span><b style="color:var(--chart-hot)">—</b> Kocioł</span>
                <span><b style="color:var(--chart-cold)">—</b> Podłogówka</span>
                <span><span style="background:var(--chart-fill); border:1px solid #ccc; padding:0 5px;">&nbsp;</span> Lokalne ΔT</span>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var container = document.getElementById('chart-app-lock');
        if (container) container.innerHTML = '<div style="padding:40px; text-align:center; color:red; font-weight:bold;">Treść chroniona prawem autorskim Projekt-Ogrzewania.pl</div>';
        return;
    }

    const svg = document.getElementById('chart-svg');
    const tt = document.getElementById('chart-tt');
    const btnP = document.getElementById('btn-przeciw');
    const btnW = document.getElementById('btn-wspol');
    
    let mode = 'przeciw';

    function getPoints(currentMode) {
        if(currentMode === 'przeciw') {
            return {
                hot: Array.from({length: 11}, (_, i) => ({x: i * 80, y: 400 - ((75 - (i * 4.2)) - 20) * 6.6})),
                cold: Array.from({length: 11}, (_, i) => ({x: i * 80, y: 400 - ((72 - (i * 4.2)) - 20) * 6.6}))
            };
        } else {
            return {
                hot: Array.from({length: 11}, (_, i) => ({x: i * 80, y: 400 - ((52.5 + 22.5 * Math.exp(-i/2)) - 20) * 6.6})),
                cold: Array.from({length: 11}, (_, i) => ({x: i * 80, y: 400 - ((52.5 - 22.5 * Math.exp(-i/2)) - 20) * 6.6}))
            };
        }
    }

    function draw() {
        const pts = getPoints(mode);
        const pathH = "M" + pts.hot.map(p => `${p.x},${p.y}`).join(" L");
        const pathC = "M" + pts.cold.map(p => `${p.x},${p.y}`).join(" L");
        
        // Cieniowanie obszaru ΔT
        const fillPath = pathH + " L" + pts.cold.slice().reverse().map(p => `${p.x},${p.y}`).join(" L") + " Z";

        svg.innerHTML = `
            <g stroke="#e2e8f0" stroke-width="1">
                ${[0, 100, 200, 300].map(y => `<line x1="0" y1="${y}" x2="800" y2="${y}" />`).join('')}
            </g>
            <path d="${fillPath}" fill="var(--chart-fill)" stroke="none" />
            <path d="${pathH}" fill="none" stroke="var(--chart-hot)" stroke-width="4" stroke-linecap="round" />
            <path d="${pathC}" fill="none" stroke="var(--chart-cold)" stroke-width="4" stroke-linecap="round" />
        `;
    }

    function updateTooltip(e) {
        const rect = svg.getBoundingClientRect();
        const x = (e.clientX || e.touches[0].clientX) - rect.left;
        const pct = Math.max(0, Math.min(100, (x / rect.width) * 100));
        
        // Uproszczone wyliczanie wartości dla tooltipa
        let th, tc;
        if(mode === 'przeciw') {
            th = 75 - (pct * 0.42);
            tc = 72 - (pct * 0.42);
        } else {
            th = 52.5 + 22.5 * Math.exp(-pct/20);
            tc = 52.5 - 22.5 * Math.exp(-pct/20);
        }

        tt.style.opacity = "1";
        tt.style.left = x + "px";
        tt.style.top = "20px";
        tt.innerHTML = `
            <b>Długość: ${Math.round(pct)}%</b><br>
            Kocioł: ${th.toFixed(1)}°C<br>
            Podłogówka: ${tc.toFixed(1)}°C<br>
            <hr style="border:0; border-top:1px solid #444">
            Lokalne ΔT: ${(th-tc).toFixed(1)} K
        `;
    }

    btnP.onclick = () => { mode='przeciw'; btnP.classList.add('active'); btnW.classList.remove('active'); draw(); };
    btnW.onclick = () => { mode='wspol'; btnW.classList.add('active'); btnP.classList.remove('active'); draw(); };
    
    svg.onmousemove = updateTooltip;
    svg.ontouchmove = updateTooltip;
    svg.onmouseleave = () => tt.style.opacity = "0";

    draw();
});
</script>



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

/* ZAJAWKA SEO I LINK */
.calc-intro {
    max-width: 1150px;
    margin: 40px auto 10px auto;
    text-align: center;
    padding: 0 20px;
}

.calc-intro h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--primary);
    margin-bottom: 15px;
}

.calc-intro p {
    font-size: 16px;
    color: #475569;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
}

.screed-calc {
    max-width: 1150px;
    margin: 30px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    color: var(--primary);
}

.calc-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
}

/* LEWA STRONA - KONFIGURACJA */
.config-side {
    padding: 40px;
    background: #ffffff;
}

.section-title {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 1.2px;
    margin-bottom: 20px;
    display: block;
}

.type-selector {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 30px;
}

.type-selector.two-cols {
    grid-template-columns: repeat(2, 1fr);
}

.type-btn {
    padding: 14px 8px;
    border: 2px solid #cbd5e1;
    border-radius: 12px;
    cursor: pointer;
    text-align: center;
    font-weight: 700;
    font-size: 13px;
    color: #475569;
    background: #fff;
    transition: all 0.2s;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.type-btn span {
    margin-top: 4px;
}

.type-btn.active {
    border-color: var(--accent);
    background: #eff6ff;
    color: var(--accent);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.1);
}

.input-wrap { margin-bottom: 25px; }
.input-label-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    align-items: center;
}
.input-label-row label { font-weight: 600; font-size: 14px; }
.input-label-row .val-badge {
    background: #f1f5f9;
    padding: 4px 12px;
    border-radius: 8px;
    font-weight: 800;
    color: var(--accent);
    font-size: 14px;
}

input[type=range] {
    width: 100%; height: 6px; background: #e2e8f0; border-radius: 10px; appearance: none; outline: none; margin-top: 10px;
}
input[type=range]::-webkit-slider-thumb {
    appearance: none; width: 22px; height: 22px; background: var(--accent); border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.15); cursor: pointer;
}

/* PRAWA STRONA - WYNIKI */
.result-side {
    padding: 40px;
    background: var(--bg-light);
    border-left: 1px solid #f1f5f9;
}

.main-score-box {
    background: white; padding: 30px; border-radius: 20px; text-align: center; box-shadow: 0 10px 25px rgba(0,0,0,0.03); margin-bottom: 25px; border-bottom: 6px solid var(--accent); transition: 0.3s;
}
.score-num { font-size: 48px; font-weight: 900; line-height: 1; display: block; margin: 10px 0; color: var(--primary); }
.score-label { font-size: 12px; color: #64748b; font-weight: 700; text-transform: uppercase; }

#risk-msg {
    margin-top: 15px; padding: 12px; border-radius: 10px; font-size: 13px; font-weight: 600; display: none; background: #fee2e2; color: var(--danger); border: 1px solid #fecaca; line-height: 1.4; text-align: left;
}

.tech-grid {
    background: var(--primary); color: white; padding: 25px; border-radius: 20px; display: grid; gap: 12px;
}
.tech-item {
    display: flex; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid #1e293b; align-items: center;
}
.tech-item:last-child { border: none; padding-bottom: 0; }
.tech-item span { color: #94a3b8; font-size: 13px; }
.tech-item strong { font-size: 15px; text-align: right; color: #f8fafc;}
.tech-item strong.highlight { color: #38bdf8; }

.material-grid {
    display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 15px;
}
.mini-card { background: rgba(255,255,255,0.08); padding: 15px; border-radius: 12px; text-align: center;}
.mini-card span { font-size: 11px; color: #94a3b8; display: block; margin-bottom: 6px; text-transform: uppercase; font-weight: 600;}
.mini-card strong { font-size: 18px; color: #fbbf24; }

/* STOPKA */
.footer-cta {
    margin: 0 40px 40px 40px;
    padding: 30px;
    background: #eff6ff;
    border-radius: 20px;
    border-left: 6px solid var(--accent);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.cta-text-side {
    max-width: 550px;
}

.cta-buttons-stack {
    display: flex;
    flex-direction: column; 
    gap: 12px;
    min-width: 280px; 
}

.cta-btn {
    display: block; background: var(--accent); color: white; text-decoration: none; padding: 16px 20px; border-radius: 12px; font-weight: 800; transition: 0.3s; font-size: 13px; text-align: center; border: none; cursor: pointer;
}
.cta-btn:hover { transform: translateY(-3px); box-shadow: 0 5px 15px rgba(37, 99, 235, 0.2); }

@media (max-width: 900px) {
    .calc-grid { grid-template-columns: 1fr; }
    .footer-cta { flex-direction: column; text-align: center; gap: 25px; margin: 20px; }
    .cta-buttons-stack { min-width: 100%; width: 100%; }
    .type-selector { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Kalkulator doboru wymiennika płytowego",
    "description": "Narzędzie inżynierskie pozwalające oszacować parametry wymiennika ciepła na podstawie zapotrzebowania cieplnego budynku, rodzaju źródła ciepła oraz reżimu pracy ogrzewania podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Q_obl",
        "description": "Moc obliczeniowa powiększona o 15% współczynnik zapasu."
      },
      {
        "@type": "PropertyValue",
        "name": "m1 (Przepływ pierwotny)",
        "value": "Q / (1.16 * ΔT1)",
        "unitText": "m³/h"
      },
      {
        "@type": "PropertyValue",
        "name": "m2 (Przepływ wtórny podłogówki)",
        "value": "Q / (1.16 * ΔT2)",
        "unitText": "m³/h"
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Kalkulator inżynierski: Dobór wymiennika płytowego",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Algorytm krok po kroku służący do oszacowania wielkości wymiennika płytowego oraz wymaganych przepływów masowych (m1, m2) przy współpracy z różnymi źródłami ciepła.",
    "featureList": [
      "Obliczanie przepływu dla podłogówki (m2)",
      "Obliczanie przepływu dla kotła/pompy (m1)",
      "Szacowanie liczby płyt i oporów hydraulicznych"
    ],
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  }
]
</script>

<div class="calc-intro">
    <h2>Algorytm doboru wymiennika ciepła</h2>
    <p>Poniższy schemat logiczny pozwala na samodzielne oszacowanie wymaganego rozmiaru wymiennika płytowego do instalacji podłogowej. Jest to uproszczony algorytm inżynierski, który daje silną podstawę do rozmowy z instalatorem i zapobiega błędom w <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/" style="color: #2563eb; font-weight: 700; text-decoration: none;">doborze pompy obiegowej</a>.</p>
</div>

<div class="screed-calc" id="heat-exchanger-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            
            <span class="section-title">Krok 1: Zapotrzebowanie na ciepło (Q)</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Projektowe obciążenie cieplne</label><span class="val-badge"><span id="v-heat">10</span> kW</span></div>
                <input type="range" id="heat-load" min="5" max="30" step="1" value="10">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Dla nowych domów ok. 150m² w standardzie WT 2021 to zazwyczaj 6-9 kW. Kalkulator automatycznie doliczy 15% zapasu inżynierskiego.</div>
            </div>

            <span class="section-title">Krok 2 &#038; 3: Parametry układu (Temperatury)</span>
            
            <label style="font-size: 12px; font-weight: 700; color: #475569; margin-bottom: 8px; display: block;">Źródło ciepła (Strona pierwotna)</label>
            <div class="type-selector" id="src-group">
                <div class="type-btn active" id="btn-src-stal" data-dt="20">Kocioł Stałopalny<span style="font-size:10px; font-weight:400">75/55°C</span></div>
                <div class="type-btn" id="btn-src-gaz" data-dt="10">Kocioł Gazowy<span style="font-size:10px; font-weight:400">55/45°C</span></div>
                <div class="type-btn" id="btn-src-pc" data-dt="15">Pompa Ciepła<span style="font-size:10px; font-weight:400">50/35°C</span></div>
            </div>

            <label style="font-size: 12px; font-weight: 700; color: #475569; margin-bottom: 8px; display: block;">Obieg odbiorczy (Strona wtórna &#8211; podłogówka)</label>
            <div class="type-selector two-cols" id="flr-group">
                <div class="type-btn active" id="btn-flr-std" data-dt="5">Standard Podłogowy<span style="font-size:10px; font-weight:400">35/30°C (Zalecane)</span></div>
                <div class="type-btn" id="btn-flr-mix" data-dt="10">Układ Mieszany<span style="font-size:10px; font-weight:400">40/30°C (np. z drabinką)</span></div>
            </div>
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Szacowana wielkość urządzenia</span>
                <span class="score-num" id="resPlates">20-30</span>
                <span class="score-label">Płyt wymiany ciepła</span>
                <div id="risk-msg">⚠️ Opory po stronie podłogówki mogą być wysokie!</div>
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span>Obliczeniowa moc wymiennika:</span><strong id="resPower">&#8212; kW</strong></div>
                <div class="tech-item"><span>Przepływ &#8211; Kocioł (m1):</span><strong id="resFlow1">&#8212; m³/h</strong></div>
                <div class="tech-item"><span>Przepływ &#8211; Podłogówka (m2):</span><strong class="highlight" id="resFlow2">&#8212; m³/h</strong></div>
                
                <div class="material-grid">
                    <div class="mini-card"><span>Sugerowane przyłącza:</span><strong id="resConn">1&#8243; (Cal)</strong></div>
                </div>
            </div>
            
            <div style="margin-top:20px; font-size:11px; color:#94a3b8; line-height: 1.5;">
                <strong>Krok 4-7:</strong> Algorytm przelicza przepływy masowe przy użyciu ciepła właściwego wody (cp ≈ 1,16 Wh/kg·K). Parametr <strong style="color: #38bdf8;">m2</strong> jest kluczowy do określenia spadków ciśnienia (Δp) i doboru wydajnej pompy.
            </div>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Potrzebujesz pełnej analizy instalacji?</h3>
            <p style="margin:0; font-size:14px; color:#475569">Ten kalkulator służy do wstępnego szacowania parametrów. Profesjonalny dobór wymaga uwzględnienia dokładnej straty ciśnienia oraz krzywej roboczej pompy obiegowej.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
                📐 ZAMÓW PROJEKT INSTALACJI
            </a>
        </div>
    </div>

    <noscript>
        <div style="padding: 30px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h3 style="font-size: 18px; color: #0f172a;">Metodyka obliczeń (Wzory Inżynierskie)</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left; margin-bottom: 20px;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px 0; color: #475569;">Krok Algorytmu</th>
                        <th style="padding: 10px 0; color: #475569;">Wzór / Działanie</th>
                        <th style="padding: 10px 0; color: #475569;">Wynik dla przykładowych 10 kW</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0;"><strong>Moc z zapasem</strong></td>
                        <td style="padding: 10px 0;">Q_obl = Q_budynek × 1.15</td>
                        <td style="padding: 10px 0;">10 * 1.15 = 11.5 kW</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0;"><strong>Przepływ wtórny (m2)</strong></td>
                        <td style="padding: 10px 0;">m2 = Q_obl / (1.16 * ΔT2)</td>
                        <td style="padding: 10px 0;">11.5 / (1.16 * 5) ≈ 1.98 m³/h</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0;"><strong>Przepływ pierwotny (m1)</strong></td>
                        <td style="padding: 10px 0;">m1 = Q_obl / (1.16 * ΔT1)</td>
                        <td style="padding: 10px 0;">11.5 / (1.16 * 20) ≈ 0.50 m³/h</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0;"><strong>Szacunek Płyt</strong></td>
                        <td style="padding: 10px 0;">Na podst. m2 i Q_obl</td>
                        <td style="padding: 10px 0;">20-30 płyt, przyłącza 1&#8243;</td>
                    </tr>
                </tbody>
            </table>
            <p style="font-size: 13px; color: #475569; line-height: 1.6;">
                Spadek ciśnienia po stronie wtórnej Δp2 nie powinien przekraczać 20 kPa, aby zapobiec przewymiarowaniu pompy obiegowej podłogówki.
            </p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA (Domain Lock)
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('heat-exchanger-calc-app');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px; font-family: sans-serif;">' +
                '<span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span>' +
                '<div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px; color: #dc2626;">Narzędzie chronione</div>' +
                '<p style="font-size: 16px; margin-bottom: 25px;">Ten kalkulator jest własnością serwisu <a href="https://projekt-ogrzewania.pl/" style="color: #dc2626; font-weight: bold; text-decoration: underline;">Projekt-Ogrzewania.pl</a></p>' +
                '<a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 14px 28px; background: #dc2626; color: #ffffff; text-decoration: none; border-radius: 12px; font-weight: 800;">PRZEJDŹ DO ORYGINAŁU</a>' +
                '</div>';
        }
        return; 
    }

    // Stan aplikacji
    var q_nominal = 10;
    var dt_src = 20; // Domyślnie Kocioł Stałopalny
    var dt_flr = 5;  // Domyślnie Standard Podłogowy

    var heatInput = document.getElementById('heat-load');
    var vHeat = document.getElementById('v-heat');

    // Elementy wynikowe
    var resPower = document.getElementById('resPower');
    var resFlow1 = document.getElementById('resFlow1');
    var resFlow2 = document.getElementById('resFlow2');
    var resPlates = document.getElementById('resPlates');
    var resConn = document.getElementById('resConn');
    var mainBox = document.getElementById('mainBox');
    var riskMsg = document.getElementById('risk-msg');

    function calculate() {
        if(!heatInput) return;
        q_nominal = parseFloat(heatInput.value);
        vHeat.innerText = q_nominal;

        // Krok 1: Moc z zapasem
        var q_calc = q_nominal * 1.15;
        
        // Krok 4 & 5: Przepływy masowe m = Q / (cp * dT)
        // cp wody w przybliżeniu = 1.16 kWh/(t*K) -> wynik w m3/h
        var m1 = q_calc / (1.16 * dt_src);
        var m2 = q_calc / (1.16 * dt_flr);

        // Krok 6: Wstępny dobór płyt na podstawie przepływu strony wtórnej (m2 generuje największe opory)
        var platesText = "20-30";
        var connText = '1" (Cal)';
        var warningText = "";
        var boxColor = 'var(--accent)';

        if (m2 <= 1.2) {
            platesText = "20";
        } else if (m2 > 1.2 && m2 <= 2.2) {
            platesText = "30-40";
        } else if (m2 > 2.2 && m2 <= 3.2) {
            platesText = "40-50";
        } else if (m2 > 3.2 && m2 <= 4.5) {
            platesText = "60+";
            connText = '5/4" (Cale)';
            warningText = "⚠️ <strong>Wysoki przepływ!</strong> Skonsultuj dobór pompy. Przyłącza 1\" mogą stawiać zbyt duży opór (>20 kPa). Konieczny większy wymiennik z przyłączami 5/4\".";
            boxColor = 'var(--warning)';
        } else {
            platesText = "Duży dobór";
            connText = 'Min. 5/4" lub więcej';
            warningText = "❌ <strong>Przekroczone standardy domowe!</strong> Wymagany indywidualny dobór wymiennika przez biuro projektowe.";
            boxColor = 'var(--danger)';
        }

        // Aktualizacja UI
        resPower.innerText = q_calc.toFixed(1) + " kW";
        resFlow1.innerText = m1.toFixed(2) + " m³/h";
        resFlow2.innerText = m2.toFixed(2) + " m³/h";
        resPlates.innerText = platesText;
        resConn.innerText = connText;

        if (warningText !== "") {
            riskMsg.innerHTML = warningText;
            riskMsg.style.display = 'block';
        } else {
            riskMsg.style.display = 'none';
        }
        mainBox.style.borderBottomColor = boxColor;
    }

    // Event Listenery dla źródła ciepła
    var srcButtons = document.querySelectorAll('#src-group .type-btn');
    srcButtons.forEach(function(btn) {
        btn.addEventListener('click', function(e) {
            srcButtons.forEach(function(b){ b.classList.remove('active'); });
            var target = e.currentTarget;
            target.classList.add('active');
            dt_src = parseFloat(target.getAttribute('data-dt'));
            calculate();
        });
    });

    // Event Listenery dla podłogówki
    var flrButtons = document.querySelectorAll('#flr-group .type-btn');
    flrButtons.forEach(function(btn) {
        btn.addEventListener('click', function(e) {
            flrButtons.forEach(function(b){ b.classList.remove('active'); });
            var target = e.currentTarget;
            target.classList.add('active');
            dt_flr = parseFloat(target.getAttribute('data-dt'));
            calculate();
        });
    });

    // Event Listener dla suwaka
    if(heatInput) {
        heatInput.addEventListener('input', calculate);
    }

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



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --accent-hover: #1d4ed8;
    --danger: #ef4444;
    --warning: #f59e0b;
    --success: #10b981;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
    --cta-grad: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%);
    --btn-bg: #ffffff;
    --btn-text: #1e3a8a;
}

.premium-system-module {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    position: relative;
}

.system-header {
    padding: 40px 45px 25px 45px;
    background: linear-gradient(135deg, #ffffff 0%, var(--bg-light) 100%);
    border-bottom: 1px solid var(--border-color);
}

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

.system-header p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
}

.system-content {
    padding: 40px 45px;
}

/* KARTY PORÓWNAWCZE */
.split-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 40px;
}

.info-card {
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--border-color);
    background: #ffffff;
    transition: transform 0.3s ease;
}

.info-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px -10px rgba(0,0,0,0.05);
}

.info-card h4 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 10px;
}

.info-card p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
}

/* INTERAKTYWNY PULPIT */
.dashboard-container {
    background: #f8fafc;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 30px;
    margin-bottom: 40px;
}

.dashboard-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.calc-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 30px;
}

.calc-inputs label {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 700;
    color: #475569;
    margin-bottom: 8px;
}

.calc-inputs .val-badge {
    color: var(--accent);
    font-weight: 900;
    background: #eff6ff;
    padding: 2px 8px;
    border-radius: 6px;
}

.calc-inputs input[type=range] {
    width: 100%; height: 6px; background: #e2e8f0; border-radius: 10px; appearance: none; outline: none; margin-bottom: 20px;
}

.calc-inputs input[type=range]::-webkit-slider-thumb {
    appearance: none; width: 20px; height: 20px; background: var(--accent); border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.2); cursor: pointer;
}

.calc-outputs {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.calc-outputs span {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
    color: #94a3b8;
    letter-spacing: 0.5px;
}

.calc-outputs strong {
    font-size: 42px;
    font-weight: 900;
    color: var(--primary);
    line-height: 1.1;
    margin: 10px 0;
}

.pump-recommendation {
    display: inline-block;
    padding: 8px 15px;
    background: #f0fdf4;
    color: #166534;
    font-weight: 700;
    font-size: 14px;
    border-radius: 8px;
    border: 1px solid #bbf7d0;
    margin-top: 10px;
}

/* AUTOMATYKA */
.automation-box {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px dashed #cbd5e1;
}

.valve-status {
    padding: 15px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 15px;
    text-align: center;
    transition: 0.3s;
    border: 1px solid transparent;
}

/* PREMIUM CTA */
.premium-cta-box {
    background: var(--cta-grad);
    padding: 50px 45px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.premium-cta-box::before {
    content: '';
    position: absolute;
    top: -50%; left: -50%; width: 200%; height: 200%;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 60%);
    pointer-events: none;
}

.premium-cta-box h3 {
    margin: 0 0 15px 0;
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
}

.premium-cta-box p {
    margin: 0 0 30px 0;
    font-size: 16px;
    color: #bfdbfe;
    line-height: 1.6;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.cta-btn-premium {
    display: inline-block;
    padding: 18px 40px;
    background: var(--btn-bg);
    color: var(--btn-text);
    font-size: 16px;
    font-weight: 900;
    text-decoration: none;
    border-radius: 14px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
    z-index: 2;
}

.cta-btn-premium:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25);
    background: #f8fafc;
}

@media (max-width: 768px) {
    .system-header { padding: 30px 25px; }
    .system-content { padding: 30px 25px; }
    .split-cards { grid-template-columns: 1fr; }
    .calc-grid { grid-template-columns: 1fr; }
    .premium-cta-box { padding: 40px 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Wpływ wymiennika płytowego na parametry układu",
    "description": "Obliczenia hydrauliczne spadku ciśnienia i logiki automatyki zaworu mieszającego w instalacji ogrzewania podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Sprzęgło hydrauliczne",
        "description": "Zapewnia separację hydrauliczną bez zmiany parametrów fizycznych wody. Nie chroni przed przegrzaniem."
      },
      {
        "@type": "PropertyValue",
        "name": "Wymiennik płytowy",
        "description": "Pełna separacja fizyczna. Pozwala zasilać podłogówkę wodą 35°C z kotła pracującego na 80°C."
      },
      {
        "@type": "PropertyValue",
        "name": "Opór wymiennika (Δp_wym)",
        "value": "12 kPa",
        "description": "Zjawisko wymagające doliczenia do całkowitego sprężu pompy obiegowej."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Kalkulator Sprężu Pompy i Symulator Automatyki",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Interaktywny panel inżynierski pozwalający na obliczenie wymaganej wysokości podnoszenia pompy obiegowej z uwzględnieniem oporów wymiennika oraz symulację logiki pracy zaworu trójdrogowego.",
    "featureList": [
      "Dynamiczne sumowanie oporów hydraulicznych (pętle + wymiennik + armatura)",
      "Przeliczanie oporów z kPa na wysokość podnoszenia (m H2O)",
      "Symulacja reakcji siłownika zaworu na zmiany temperatury zasilania"
    ],
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  }
]
</script>

<div class="premium-system-module" id="system-app-lock">
    
    <div class="system-header">
        <h2>Rola wymiennika płytowego w projekcie ogrzewania podłogowego – aspekty systemowe.</h2>
        <p>Wymiennika płytowego nie można rozpatrywać jako izolowanego komponentu. Jego obecność wymusza szereg inżynierskich decyzji dotyczących hydrauliki, automatyki i zabezpieczeń całej instalacji.</p>
    </div>

    <div class="system-content">
        
        <div class="split-cards">
            <div class="info-card">
                <h4>🔀 Sprzęgło Hydrauliczne</h4>
                <p>Oddziela obieg kotła od obiegów grzewczych przy zachowaniu <strong>wspólnego medium</strong>. Problem pojawia się, gdy kocioł wymaga wysokiej temperatury powrotu (np. 60°C dla stałopalnego), a podłogówka pracuje na niskich parametrach. Sprzęgło nie zapobiega mieszaniu, a jedynie stabilizuje przepływy.</p>
            </div>
            <div class="info-card" style="border-top: 4px solid var(--accent);">
                <h4>🧱 Wymiennik Płytowy</h4>
                <p>Zapewnia <strong>pełną separację fizyczną</strong> mediów. Umożliwia stabilną pracę kotła na parametrach rzędu 80/60°C, jednocześnie oddając do podłogówki wodę o bezpiecznej temperaturze 35/30°C. To rozwiązanie bezwzględnie niezbędne przy modernizacji starszych instalacji.</p>
            </div>
        </div>

        <div class="dashboard-container">
            <div class="dashboard-title">🧮 Wpływ na dobór pompy obiegowej (Kalkulator)</div>
            <p style="font-size: 14px; color: #475569; margin-bottom: 25px;">Opór hydrauliczny wymiennika musi zostać uwzględniony w obliczeniach wysokości podnoszenia pompy podłogowej. Pominięcie tego elementu skutkuje niedogrzaniem najdalszych pętli.</p>

            <div class="calc-grid">
                <div class="calc-inputs">
                    <label>Opór pętli grzewczych (Δp pętle) <span class="val-badge" id="v-loops">25 kPa</span></label>
                    <input type="range" id="sl-loops" min="10" max="40" step="1" value="25">

                    <label>Opór wymiennika (Δp wym) <span class="val-badge" id="v-exch">12 kPa</span></label>
                    <input type="range" id="sl-exch" min="5" max="25" step="1" value="12">

                    <label>Opór armatury i rur (Δp armatura) <span class="val-badge" id="v-arm">8 kPa</span></label>
                    <input type="range" id="sl-arm" min="2" max="15" step="1" value="8">
                </div>

                <div class="calc-outputs">
                    <span>Całkowity Wymagany Spręż</span>
                    <strong id="v-total">45 kPa</strong>
                    <span style="color: var(--accent); font-weight: 900; font-size: 18px;" id="v-meter">~4.5 m H₂O</span>
                    <div class="pump-recommendation" id="v-pump">Sugerowana pompa: 25-60</div>
                </div>
            </div>

            <div class="automation-box">
                <div class="dashboard-title">⚙️ Automatyka (Logika Zaworu Trójdrogowego)</div>
                <p style="font-size: 14px; color: #475569; margin-bottom: 15px;">Układ chroni podłogówkę przed przegrzaniem. Zmiana temperatury za wymiennikiem wymusza natychmiastową reakcję siłownika zaworu. (Temperatura zadana: 35°C).</p>
                
                <div style="margin-bottom: 15px;">
                    <label style="display:flex; justify-content:space-between; font-size: 13px; font-weight: 700; color: #475569; margin-bottom: 8px;">
                        Bieżąca temp. zasilania (T2_zas) <span class="val-badge" id="v-temp" style="background:#fef2f2; color:var(--danger)">25°C</span>
                    </label>
                    <input type="range" id="sl-temp" min="20" max="50" step="1" value="25">
                </div>

                <div class="valve-status" id="v-status">
                    Oczekiwanie na dane&#8230;
                </div>
            </div>
        </div>
    </div>

    <div class="premium-cta-box">
        <h3>Zbyt wiele zmiennych do opanowania?</h3>
        <p>Błędy hydrauliczne (zły dobór pompy, brak uwzględnienia oporów wymiennika) mszczą się latami zimnymi podłogami. Zabezpiecz swoją inwestycję profesjonalnym projektem, zanim wylejesz beton.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn-premium">
            📐 Zamów Indywidualny Projekt Instalacji
        </a>
    </div>

    <noscript>
        <div style="padding: 30px; background: #0f172a; border-top: 1px solid #334155; font-family: sans-serif; color: #cbd5e1;">
            <h3 style="color: #ffffff; margin-top: 0;">Obliczenia inżynierskie w pigułce</h3>
            <p><strong>Wzór na całkowity spręż:</strong> Δp_całk = Δp_pętle + Δp_wym + Δp_armatura</p>
            <p>Przykład: 25 kPa + 12 kPa + 8 kPa = 45 kPa (odpowiada wysokości podnoszenia ok. 4,5 metra słupa wody).</p>
            <p><strong>Logika sterowania:</strong> Jeśli T2_zas < 35°C (Zawór otwiera się). Jeśli T2_zas > 35°C (Zawór przymyka się odcinając gorące źródło).</p>
            <p style="font-size: 13px; line-height: 1.6; margin-top:15px;">Włącz JavaScript, aby uzyskać dostęp do interaktywnego kalkulatora i symulacji automatyki w czasie rzeczywistym.</p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('system-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;"><span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span><div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona</div><p>Ten interaktywny moduł jest własnością Projekt-Ogrzewania.pl</p><a href="https://projekt-ogrzewania.pl/" style="margin-top: 20px; display: inline-block; padding: 12px 24px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a></div>';
        }
        return;
    }

    // LOGIKA KALKULATORA POMPY
    const slLoops = document.getElementById('sl-loops');
    const slExch = document.getElementById('sl-exch');
    const slArm = document.getElementById('sl-arm');
    
    const vLoops = document.getElementById('v-loops');
    const vExch = document.getElementById('v-exch');
    const vArm = document.getElementById('v-arm');
    
    const vTotal = document.getElementById('v-total');
    const vMeter = document.getElementById('v-meter');
    const vPump = document.getElementById('v-pump');

    function updatePump() {
        let loops = parseInt(slLoops.value);
        let exch = parseInt(slExch.value);
        let arm = parseInt(slArm.value);
        
        let total = loops + exch + arm;
        let meters = (total / 9.81).toFixed(1);

        vLoops.innerText = loops + ' kPa';
        vExch.innerText = exch + ' kPa';
        vArm.innerText = arm + ' kPa';
        
        vTotal.innerText = total + ' kPa';
        vMeter.innerText = '~' + meters + ' m H₂O';

        if(total <= 35) {
            vPump.innerText = 'Wystarczy standardowa pompa (np. 25-40)';
            vPump.style.color = '#166534';
            vPump.style.background = '#f0fdf4';
            vPump.style.borderColor = '#bbf7d0';
        } else if(total <= 55) {
            vPump.innerText = 'Sugerowana mocniejsza pompa (np. 25-60)';
            vPump.style.color = '#b45309';
            vPump.style.background = '#fffbeb';
            vPump.style.borderColor = '#fde68a';
        } else {
            vPump.innerText = 'Wymagana pompa wysokiego podnoszenia (np. 25-80)';
            vPump.style.color = '#b91c1c';
            vPump.style.background = '#fef2f2';
            vPump.style.borderColor = '#fecaca';
        }
    }

    if(slLoops) slLoops.addEventListener('input', updatePump);
    if(slExch) slExch.addEventListener('input', updatePump);
    if(slArm) slArm.addEventListener('input', updatePump);

    // LOGIKA ZAWORU
    const slTemp = document.getElementById('sl-temp');
    const vTemp = document.getElementById('v-temp');
    const vStatus = document.getElementById('v-status');
    const targetTemp = 35;

    function updateValve() {
        let t = parseInt(slTemp.value);
        vTemp.innerText = t + '°C';

        if(t < targetTemp) {
            vStatus.innerHTML = '🔄 Siłownik: <strong>OTWIERA ZAWÓR</strong> (Zwiększenie dopływu ciepła z kotła)';
            vStatus.style.background = '#eff6ff';
            vStatus.style.color = '#1e3a8a';
            vStatus.style.borderColor = '#bfdbfe';
        } else if (t > targetTemp) {
            vStatus.innerHTML = '🛑 Siłownik: <strong>PRZYMYKA ZAWÓR</strong> (Ograniczenie ciepła - ochrona posadzki)';
            vStatus.style.background = '#fef2f2';
            vStatus.style.color = '#b91c1c';
            vStatus.style.borderColor = '#fecaca';
        } else {
            vStatus.innerHTML = '✅ Siłownik: <strong>STABILNY</strong> (Parametry idealne)';
            vStatus.style.background = '#f0fdf4';
            vStatus.style.color = '#166534';
            vStatus.style.borderColor = '#bbf7d0';
        }
    }

    if(slTemp) slTemp.addEventListener('input', updateValve);

    // Init
    updatePump();
    updateValve();
});
</script>



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



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --accent-hover: #1e40af;
    --danger: #ef4444;
    --warning: #f59e0b;
    --success: #10b981;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
    --risk-bg: #fef2f2;
}

.premium-decision-module {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    position: relative;
}

.decision-header {
    padding: 40px 45px 30px 45px;
    background: linear-gradient(135deg, #ffffff 0%, var(--bg-light) 100%);
    border-bottom: 1px solid var(--border-color);
}

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

.decision-header p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
}

.decision-header a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px dashed var(--accent);
    transition: 0.2s;
}

.decision-header a:hover {
    color: var(--accent-hover);
    border-bottom-style: solid;
}

.decision-content {
    padding: 0;
}

/* SEKACJA TEKSTOWA */
.text-arguments {
    padding: 40px 45px;
}

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

.arg-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    padding: 25px;
    border-radius: 16px;
    transition: 0.3s;
}

.arg-card:hover {
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.05);
    border-color: #cbd5e1;
    transform: translateY(-3px);
}

.arg-card h4 {
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 8px;
}

.arg-card p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
}

.arg-card a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 600;
}

.arg-card a:hover { text-decoration: underline; }

/* WIDŻET INTERAKTYWNY */
.interactive-decision-tool {
    background: #f8fafc;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    padding: 40px 45px;
}

.tool-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 25px;
    text-align: center;
}

.source-selectors {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 35px;
    flex-wrap: wrap;
}

.source-btn {
    padding: 14px 24px;
    background: #ffffff;
    border: 2px solid #cbd5e1;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    color: #475569;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    min-width: 180px;
}

.source-btn span { font-size: 11px; font-weight: 600; text-transform: uppercase; color: #94a3b8; }

.source-btn.active {
    border-color: var(--accent);
    background: #eff6ff;
    color: var(--accent);
    box-shadow: 0 4px 15px rgba(37, 99, 235, 0.15);
}
.source-btn.active span { color: var(--accent); }

.decision-result {
    background: #ffffff;
    border-radius: 16px;
    padding: 30px;
    border: 1px solid var(--border-color);
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 30px;
    align-items: center;
}

.verdict-box {
    text-align: center;
    padding-right: 30px;
    border-right: 1px dashed #cbd5e1;
}

.verdict-box span {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
    color: #64748b;
    display: block;
    margin-bottom: 10px;
}

.verdict-status {
    font-size: 28px;
    font-weight: 900;
    display: block;
    margin-bottom: 10px;
    line-height: 1.1;
}

.risk-analysis {
    padding-left: 10px;
}

.risk-bar-group {
    margin-bottom: 15px;
}

.risk-label {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 8px;
    color: #475569;
}

.risk-track {
    height: 12px;
    background: #e2e8f0;
    border-radius: 6px;
    overflow: hidden;
}

.risk-fill {
    height: 100%;
    border-radius: 6px;
    transition: width 0.5s ease-out, background 0.5s ease;
}

@media (max-width: 768px) {
    .decision-header { padding: 30px 25px; }
    .text-arguments { padding: 30px 25px; }
    .interactive-decision-tool { padding: 30px 25px; }
    .arg-grid { grid-template-columns: 1fr; }
    .source-selectors { flex-direction: column; }
    .decision-result { grid-template-columns: 1fr; gap: 20px; }
    .verdict-box { padding-right: 0; border-right: none; border-bottom: 1px dashed #cbd5e1; padding-bottom: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Analiza opłacalności i ryzyka instalacji wymiennika płytowego",
    "description": "Zestawienie kosztów prewencyjnych (wymiennik) z potencjalnymi stratami (wymiana posadzki) w zależności od źródła ciepła pracującego z ogrzewaniem podłogowym.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Koszt ubezpieczenia (Wymiennik płytowy)",
        "value": "300 - 800 PLN",
        "description": "Stanowi mniej niż 1% wartości całej instalacji grzewczej."
      },
      {
        "@type": "PropertyValue",
        "name": "Potencjalne straty (Brak zabezpieczenia)",
        "value": "15 000 - 30 000 PLN",
        "description": "Koszty generalnego remontu w przypadku wpuszczenia wody >55°C z kotła stałopalnego wprost w posadzkę."
      },
      {
        "@type": "PropertyValue",
        "name": "Zysk energetyczny",
        "value": "5 - 10%",
        "description": "Redukcja strat energii dzięki eliminacji przegrzewania pomieszczeń przez zastosowanie układu mieszającego z wymiennikiem."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Decyzjomat Wymiennika Płytowego",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Interaktywne narzędzie pozwalające użytkownikowi określić konieczność zastosowania wymiennika płytowego na podstawie wybranego źródła ciepła (kocioł węglowy, stary gazowy, pompa ciepła) oraz wizualizujące stosunek kosztów ubezpieczenia do ryzyka zniszczenia posadzki.",
    "featureList": [
      "Wybór źródła ciepła i weryfikacja wymogów technicznych",
      "Dynamiczna weryfikacja konieczności instalacji wymiennika (TAK/NIE)",
      "Wizualny wykres porównujący koszt prewencji z kosztem generalnego remontu"
    ],
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  }
]
</script>

<div class="premium-decision-module" id="decision-app-lock">
    
    <div class="decision-header">
        <h2>Dlaczego wymiennik płytowy jest rozwiązaniem optymalnym?</h2>
        <p>Główne pytanie inwestorów brzmi: <em>&#8222;Czy do ogrzewania podłogowego faktycznie potrzebuję wymiennika?&#8221;</em></p>
        <p style="margin-top: 10px;">Krótka odpowiedź: <strong>TAK</strong>, jest on niezbędny, jeśli Twoje źródło ciepła (np. kocioł stałopalny, stary kocioł gazowy) pracuje na temperaturze zasilania przekraczającej 55°C. Wymiennik obniża temperaturę wody do bezpiecznego poziomu 35–45°C, chroniąc system przed zniszczeniem. Sytuacja wygląda inaczej tylko przy <a href="https://projekt-ogrzewania.pl/czy-pompa-ciepla-ogrzeje-dom-z-podlogowka/">nowoczesnych pompach ciepła</a> pracujących na bardzo niskich parametrach.</p>
    </div>

    <div class="decision-content">
        
        <div class="interactive-decision-tool">
            <div class="tool-title">🎯 Interaktywny Doradca: Czy potrzebujesz wymiennika?</div>
            
            <div class="source-selectors">
                <button class="source-btn active" data-source="stalopalny">
                    <span>Temp. > 70°C</span>
                    Kocioł Węglowy / Drewno
                </button>
                <button class="source-btn" data-source="gaz">
                    <span>Temp. 55-65°C</span>
                    Stary Kocioł Gazowy
                </button>
                <button class="source-btn" data-source="pompa">
                    <span>Temp. < 45°C</span>
                    Pompa Ciepła / Kondensat
                </button>
            </div>

            <div class="decision-result">
                <div class="verdict-box">
                    <span>Status Wymiennika Płytowego</span>
                    <strong class="verdict-status" id="res-status" style="color: var(--danger);">NIEZBĘDNY</strong>
                    <div id="res-desc" style="font-size: 13px; color: #475569; line-height: 1.5;">Kocioł może zagotować wodę. Bez separacji hydraulicznej i temperaturowej zniszczysz posadzkę.</div>
                </div>
                
                <div class="risk-analysis">
                    <div style="font-size: 14px; font-weight: 800; margin-bottom: 15px; color: var(--primary);">Bilans Finansowy (ROI)</div>
                    
                    <div class="risk-bar-group">
                        <div class="risk-label">
                            Koszt Wymiennika (Ochrona) <span style="color: var(--success);">~ 500 zł</span>
                        </div>
                        <div class="risk-track">
                            <div class="risk-fill" id="bar-protect" style="width: 5%; background: var(--success);"></div>
                        </div>
                    </div>

                    <div class="risk-bar-group">
                        <div class="risk-label">
                            Ryzyko uszkodzenia (Wylewka) <span id="risk-val" style="color: var(--danger);">~ 25 000 zł</span>
                        </div>
                        <div class="risk-track">
                            <div class="risk-fill" id="bar-risk" style="width: 100%; background: var(--danger);"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class="text-arguments">
            <h3 style="margin: 0 0 20px 0; font-size: 20px; font-weight: 800; color: var(--primary);">Naukowe i finansowe argumenty za instalacją</h3>
            
            <div class="arg-grid">
                <div class="arg-card">
                    <h4>📐 Zgodność z PN-EN 1264-3</h4>
                    <p>Norma bezwzględnie wymaga, aby temperatura zasilania nie przekraczała odporności materiałowej jastrychu. Wymiennik sprzęgnięty z 
                    <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-ogrzewania-podlogowego-mosiezny-czy-ze-stali-nierdzewnej/">profesjonalnym rozdzielaczem</a> to inżynierska gwarancja tej zgodności.</p>
                </div>

                <div class="arg-card">
                    <h4>🛡️ Ochrona Inwestycji</h4>
                    <p>Instalacja jest praktycznie niewymienialna. Koszt wymiennika (300-800 zł) to <strong>mniej niż 1%</strong> wartości systemu, a zabezpiecza przed remontem wartym nawet 30 000 zł.</p>
                </div>

                <div class="arg-card">
                    <h4>⚡ Efektywność (Oszczędności)</h4>
                    <p>Kocioł pracuje stabilnie z wysoką sprawnością, a podłogówka otrzymuje idealnie dawkowe ciepło. Dodając <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">nowoczesne sterowanie</a>, eliminujesz przegrzewanie i oszczędzasz 5-10% energii.</p>
                </div>
            </div>
        </div>

    </div>

    <noscript>
        <div style="padding: 30px; background: #0f172a; border-top: 1px solid #334155; font-family: sans-serif; color: #cbd5e1;">
            <h3 style="color: #ffffff; margin-top: 0;">Podsumowanie analizy techniczno-ekonomicznej</h3>
            <p><strong>Dla kotłów stałopalnych i wysokotemperaturowych (>55°C):</strong> Wymiennik płytowy jest absolutnie niezbędny do zabezpieczenia rur przed starzeniem, a wylewki przed pękaniem. Ryzykujesz zniszczenie posadzki wartej 25 000 zł, oszczędzając na elemencie za 500 zł.</p>
            <p><strong>Dla pomp ciepła (<45°C):</strong> Wymiennik płytowy może być pominięty, jeśli układ jest zamknięty, co pozwala na dodatkowe oszczędności.</p>
            <p style="font-size: 13px; line-height: 1.6; margin-top:15px;">Włącz obsługę skryptów JavaScript, aby uzyskać dostęp do interaktywnego Decyzjomatu i kalkulatora ryzyka finansowego.</p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('decision-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;"><span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span><div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona</div><p>Ten interaktywny moduł jest własnością Projekt-Ogrzewania.pl</p><a href="https://projekt-ogrzewania.pl/" style="margin-top: 20px; display: inline-block; padding: 12px 24px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a></div>';
        }
        return;
    }

    // LOGIKA DECZYJOMATU
    const buttons = document.querySelectorAll('.source-btn');
    const statusEl = document.getElementById('res-status');
    const descEl = document.getElementById('res-desc');
    const barRisk = document.getElementById('bar-risk');
    const valRisk = document.getElementById('risk-val');

    const data = {
        'stalopalny': {
            status: 'NIEZBĘDNY', color: 'var(--danger)',
            desc: 'Kocioł może zagotować wodę. Bez separacji hydraulicznej i temperaturowej zniszczysz posadzkę i rury.',
            riskW: '100%', riskV: '~ 25 000 zł'
        },
        'gaz': {
            status: 'WYsoce ZALECANY', color: 'var(--warning)',
            desc: 'Stare kotły gazowe rzadko schodzą poniżej 50°C. Wymiennik stabilizuje parametry i chroni przed brudem z rur.',
            riskW: '50%', riskV: '~ 12 000 zł (Spadek żywotności)'
        },
        'pompa': {
            status: 'ZBĘDNY (Opcjonalny)', color: 'var(--success)',
            desc: 'Nowoczesna pompa ciepła podaje gotowe 35°C wprost na rozdzielacz. Brak wymiennika poprawia jej sprawność (COP).',
            riskW: '0%', riskV: '0 zł (Bezpiecznie)'
        }
    };

    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            // Reset active
            buttons.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Update UI
            const key = this.getAttribute('data-source');
            const d = data[key];

            statusEl.innerText = d.status;
            statusEl.style.color = d.color;
            descEl.innerText = d.desc;
            
            barRisk.style.width = d.riskW;
            if(key === 'pompa') {
                barRisk.style.background = 'var(--success)';
                valRisk.style.color = 'var(--success)';
            } else {
                barRisk.style.background = 'var(--danger)';
                valRisk.style.color = 'var(--danger)';
            }
            valRisk.innerText = d.riskV;
        });
    });
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --accent-hover: #1e40af;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
    --text-muted: #475569;
    --success: #10b981;
}

.premium-faq-module {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.05);
    border: 1px solid var(--border-color);
    overflow: hidden;
    position: relative;
}

.faq-header {
    padding: 40px 45px 25px 45px;
    background: linear-gradient(135deg, #ffffff 0%, var(--bg-light) 100%);
    border-bottom: 1px solid var(--border-color);
    text-align: center;
}

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

.faq-header p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: var(--text-muted);
}

.faq-content {
    padding: 20px 45px 40px 45px;
}

.faq-item {
    border-bottom: 1px solid var(--border-color);
    transition: all 0.3s ease;
}

.faq-item:last-child {
    border-bottom: none;
}

.faq-question {
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 25px 0;
    font-size: 17px;
    font-weight: 800;
    color: var(--primary);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    transition: color 0.2s ease;
    font-family: inherit;
}

.faq-question-text {
    display: flex;
    align-items: center;
    gap: 12px;
}

.faq-question-text span.emoji {
    font-size: 22px;
    opacity: 0.8;
}

.faq-question:hover {
    color: var(--accent);
}

.faq-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #eff6ff;
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: bold;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s;
}

.faq-item.active .faq-question {
    color: var(--accent);
}

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

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

.faq-answer-inner {
    padding-bottom: 25px;
    padding-left: 34px; /* Wcięcie żeby pasowało do tekstu pod emoji */
    font-size: 15px;
    line-height: 1.7;
    color: var(--text-muted);
}

.faq-answer-inner a {
    color: var(--accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    font-weight: 600;
    transition: color 0.2s ease;
}

.faq-answer-inner a:hover {
    color: var(--accent-hover);
}

.faq-answer-inner strong {
    color: var(--primary);
    font-weight: 700;
}

@media (max-width: 768px) {
    .faq-header { padding: 30px 25px; }
    .faq-content { padding: 10px 25px 30px 25px; }
    .faq-question { font-size: 15px; padding: 20px 0; }
    .faq-question-text span.emoji { font-size: 18px; }
    .faq-answer-inner { padding-left: 0; }
    .faq-icon { width: 28px; height: 28px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy wymiennik płytowy można zastąpić zaworem mieszającym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Zawór trój- lub czterodrogowy z siłownikiem może zastąpić wymiennik płytowy tylko wtedy, gdy oba obiegi są tego samego typu i nie ma ryzyka zanieczyszczenia. Zawór mieszający nie zapewnia jednak separacji hydraulicznej. W przypadku kotłów stałopalnych z otwartym naczyniem zastosowanie wymiennika jest obowiązkowe."
        }
      },
      {
        "@type": "Question",
        "name": "Jak dobrać moc wymiennika płytowego do podłogówki?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Moc wymiennika powinna być równa lub nieznacznie wyższa od zapotrzebowania na ciepło. Należy zwracać uwagę na parametry katalogowe, gdyż przy niskich temperaturach zasilania wymiennik np. 30 kW może oddać jedynie 18–22 kW."
        }
      },
      {
        "@type": "Question",
        "name": "Jaki spadek temperatury na wymienniku jest prawidłowy?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Po stronie wtórnej (podłogówka) typowy spadek to ΔT = 5–10 K (np. 35/30°C). Po stronie pierwotnej (kocioł) spadek powinien wynosić ok. ΔT = 20 K (np. 75/55°C)."
        }
      },
      {
        "@type": "Question",
        "name": "Czy wymiennik płytowy wymaga konserwacji?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Wymienniki lutowane są praktycznie bezobsługowe. Zaleca się montaż separatora zanieczyszczeń na powrocie, a w przypadku spadku wydajności - płukanie chemiczne."
        }
      },
      {
        "@type": "Question",
        "name": "Czy wymiennik płytowy może współpracować z pompą ciepła?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, ale jest niezbędny głównie w układach hybrydowych z kotłem gazowym lub podczas modernizacji starej instalacji grzejnikowej. W typowych, nowych układach z pompą ciepła jest on zbędny."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Baza wiedzy Q&A: Wymienniki Płytowe",
    "description": "Zbiór technicznych odpowiedzi dotyczących doboru, eksploatacji i różnic systemowych wymienników ciepła w układach płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Interaktywny Panel FAQ",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Dynamiczny komponent interfejsu (akordeon) pozwalający na szybkie odnalezienie odpowiedzi na najczęściej zadawane pytania inżynierskie.",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="premium-faq-module" id="faq-app-lock">
    <div class="faq-header">
        <h2>Sekcja FAQ – Najczęściej zadawane pytania</h2>
        <p>Błyskawiczne odpowiedzi na dylematy projektowe i montażowe.</p>
    </div>

    <div class="faq-content">
        
        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-question-text">
                    <span class="emoji">🔀</span> Czy wymiennik płytowy można zastąpić zaworem mieszającym?
                </div>
                <span class="faq-icon">+</span>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    <a href="https://projekt-ogrzewania.pl/produkt/uklad-mieszajacy-kisan-z-pompa-elektroniczna-wilo/">Układ mieszający</a> z zaworem trój- lub czterodrogowym z siłownikiem może zastąpić wymiennik płytowy w funkcji obniżania temperatury zasilania podłogówki <strong>tylko wtedy, gdy oba obiegi (kocioł i podłogówka) są tego samego typu</strong> (np. oba zamknięte) i nie ma ryzyka zanieczyszczenia podłogówki szlamem z instalacji kotłowej. Zawór mieszający <strong>nie zapewnia separacji hydraulicznej</strong>, więc nie chroni przed skokami ciśnienia ani przedostaniem się tlenu do instalacji z otwartego naczynia wzbiorczego. W przypadku kotłów stałopalnych z otwartym naczyniem, zastosowanie wymiennika jest <strong>obowiązkowe</strong> dla zachowania gwarancji na rury podłogowe.
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-question-text">
                    <span class="emoji">⚙️</span> Jak dobrać moc wymiennika płytowego do podłogówki?
                </div>
                <span class="faq-icon">+</span>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    Moc wymiennika (w kW) powinna być <strong>równa lub nieznacznie wyższa</strong> od projektowanego zapotrzebowania na ciepło ogrzewanej powierzchni. Należy jednak zwrócić uwagę na <strong>temperatury katalogowe</strong>, przy których moc ta jest deklarowana. Wymiennik o mocy 30 kW przy parametrach 80/60°C po stronie pierwotnej i 40/30°C po stronie wtórnej, przy zasilaniu podłogówki 35/30°C może oddać jedynie <strong>18–22 kW</strong>. Zawsze należy posługiwać się programem doborowym producenta lub tabelami korekcyjnymi, planując wielkość <a href="https://projekt-ogrzewania.pl/produkt/szafka-podtynkowa-do-rozdzielaczy-ogrzewania-podlogowego/">szafki instalacyjnej</a>, aby go pomieścić.
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-question-text">
                    <span class="emoji">📉</span> Jaki spadek temperatury na wymienniku jest prawidłowy?
                </div>
                <span class="faq-icon">+</span>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    Prawidłowy spadek temperatury zależy od strony wymiennika. Po stronie <strong>wtórnej (podłogówka)</strong> typowy spadek to <strong>ΔT = 5–10 K</strong> (np. 35/30°C). Po stronie <strong>pierwotnej (kocioł)</strong> spadek powinien być wyższy, zazwyczaj <strong>ΔT = 20 K</strong> (np. 75/55°C). Zbyt mały spadek po stronie pierwotnej (np. 75/70°C) świadczy o zbyt dużym przepływie i niedostatecznym wychłodzeniu medium, co obniża sprawność kotła. Odczyt ten zależy również od prawidłowej regulacji na <a href="https://projekt-ogrzewania.pl/produkt/rozdzielacz-mosiezny-do-ogrzewania-podlogowego-z-rotametrami/">rozdzielaczach z rotametrami</a>.
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-question-text">
                    <span class="emoji">🛠️</span> Czy wymiennik płytowy wymaga konserwacji?
                </div>
                <span class="faq-icon">+</span>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    Wymienniki <strong>lutowane</strong> (nierozbieralne) są praktycznie <strong>bezobsługowe</strong>. Jedyną zalecaną czynnością jest okresowe płukanie chemiczne w przypadku znacznego spadku wydajności spowodowanego osadzaniem się kamienia kotłowego. Wymienniki <strong>skręcane</strong> (rozbieralne) umożliwiają mechaniczne czyszczenie płyt, co jest zalecane co 3–5 lat w instalacjach z twardą wodą.
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-question-text">
                    <span class="emoji">📏</span> Jakie przyłącza są standardem w wymiennikach do domów?
                </div>
                <span class="faq-icon">+</span>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    Dla instalacji o mocy do 30 kW standardem są przyłącza gwintowane o średnicy <strong>1&#8243;</strong> (cal) lub <strong>5/4&#8243;</strong>. Dla mniejszych instalacji (do 15 kW) spotyka się przyłącza <strong>3/4&#8243;</strong>. Należy bezwzględnie unikać przewężania średnic na podejściu do wymiennika, gdyż zwiększa to prędkość przepływu i hałas w instalacji, niezależnie od tego, jakiej <a href="https://projekt-ogrzewania.pl/produkt/spinka-do-styropianu-do-takera/">spinki montażowej</a> czy metody mocowania rur w podłodze użyto na pętlach.
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-question-text">
                    <span class="emoji">⚡</span> Czy wymiennik może współpracować z pompą ciepła?
                </div>
                <span class="faq-icon">+</span>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    Tak, ale w specyficznych przypadkach. W standardowej instalacji z pompą ciepła niskotemperaturową (zasilanie 35°C) wymiennik jest <strong>zbędny</strong> i stanowi niepotrzebne źródło strat egzergii (spadek temperatury o 2–5 K). Wymiennik jest natomiast <strong>niezbędny</strong>, gdy pompa ciepła pracuje w układzie hybrydowym z kotłem gazowym lub gdy dobudowujemy podłogówkę do istniejącej sieci wysokotemperaturowej.
                </div>
            </div>
        </div>

    </div>

    <noscript>
        <div style="padding: 20px 45px 30px 45px; background: #fffbeb; color: #b45309; border-top: 1px solid #fde68a;">
            <p style="margin:0; font-size: 14px;"><strong>Uwaga:</strong> Twój system blokuje skrypty. Pełna lista pytań i odpowiedzi (akordeon) może nie działać prawidłowo bez włączonego języka JavaScript.</p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('faq-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;"><span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span><div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona</div><p>Ten moduł FAQ jest własnością Projekt-Ogrzewania.pl</p><a href="https://projekt-ogrzewania.pl/" style="margin-top: 20px; display: inline-block; padding: 12px 24px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a></div>';
        }
        return;
    }

    // LOGIKA AKORDEONU
    const faqItems = document.querySelectorAll('.faq-item');

    faqItems.forEach(item => {
        const question = item.querySelector('.faq-question');
        const answer = item.querySelector('.faq-answer');

        question.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            // Zamykamy wszystkie inne (opcjonalne, odkomentuj jeśli chcesz żeby otwierał się tylko 1 na raz)
            /*
            faqItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.faq-answer').style.maxHeight = null;
            });
            */

            // Otwieramy/Zamykamy kliknięty
            if (isActive) {
                item.classList.remove('active');
                answer.style.maxHeight = null;
            } else {
                item.classList.add('active');
                answer.style.maxHeight = answer.scrollHeight + "px";
            }
        });
    });
});
</script>



<style>
:root {
    --sum-bg-gradient: linear-gradient(145deg, #1e293b 0%, #0f172a 100%);
    --sum-text: #f8fafc;
    --sum-accent: #3b82f6;
    --sum-danger: #ef4444;
    --sum-warning: #f59e0b;
    --sum-success: #10b981;
}

.premium-summary-box {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--sum-bg-gradient);
    border-radius: 24px;
    box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.4);
    border: 1px solid #334155;
    overflow: hidden;
    color: var(--sum-text);
    position: relative;
}

/* Subtelny szum / poświata w tle */
.premium-summary-box::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(59,130,246,0.05) 0%, transparent 60%);
    z-index: 0;
    pointer-events: none;
}

.summary-content {
    position: relative;
    z-index: 1;
    padding: 50px;
}

.summary-header {
    text-align: center;
    margin-bottom: 35px;
}

.summary-icon {
    font-size: 56px;
    line-height: 1;
    margin-bottom: 20px;
    display: inline-block;
    filter: drop-shadow(0 4px 6px rgba(0,0,0,0.3));
}

.summary-header h2 {
    margin: 0 0 15px 0;
    font-size: 32px;
    font-weight: 900;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.summary-text {
    font-size: 16px;
    line-height: 1.8;
    color: #cbd5e1;
    text-align: center;
    max-width: 800px;
    margin: 0 auto 30px auto;
}

.summary-text strong {
    color: #ffffff;
    font-weight: 700;
}

.summary-text a {
    color: var(--sum-accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    font-weight: 600;
    transition: color 0.2s ease;
}

.summary-text a:hover {
    color: #60a5fa;
}

/* WIZUALNA WAGA RYZYKA */
.risk-scale-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 40px 0;
}

.risk-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 30px;
    text-align: center;
    transition: transform 0.3s ease;
}

.risk-card:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.05);
}

.risk-card.bad-choice {
    border-bottom: 4px solid var(--sum-danger);
}

.risk-card.good-choice {
    border-bottom: 4px solid var(--sum-success);
}

.risk-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 800;
    margin-bottom: 15px;
    display: block;
}

.bad-choice .risk-label { color: #fca5a5; }
.good-choice .risk-label { color: #6ee7b7; }

.risk-value {
    font-size: 36px;
    font-weight: 900;
    color: #ffffff;
    margin-bottom: 10px;
    display: block;
}

.risk-desc {
    font-size: 14px;
    color: #94a3b8;
    line-height: 1.5;
    margin: 0;
}

.risk-desc a {
    color: var(--sum-accent);
    text-decoration: none;
    font-weight: 600;
}

/* CTA BUTTONS */
.summary-actions {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 40px;
    flex-wrap: wrap;
}

.sum-btn {
    padding: 16px 32px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.sum-btn-primary {
    background: var(--sum-accent);
    color: #ffffff !important;
    box-shadow: 0 10px 20px -5px rgba(59, 130, 246, 0.5);
    border: 1px solid #60a5fa;
}

.sum-btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(59, 130, 246, 0.6);
    background: #2563eb;
}

.sum-btn-secondary {
    background: transparent;
    color: #ffffff !important;
    border: 2px solid #475569;
}

.sum-btn-secondary:hover {
    border-color: #cbd5e1;
    background: rgba(255, 255, 255, 0.05);
}

@media (max-width: 768px) {
    .summary-content { padding: 40px 25px; }
    .risk-scale-grid { grid-template-columns: 1fr; gap: 15px; }
    .summary-actions { flex-direction: column; width: 100%; gap: 15px; }
    .sum-btn { justify-content: center; width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Podsumowanie: Dlaczego warto rozumieć zasadę działania wymiennika płytowego?",
    "abstract": "Zrozumienie zasady działania wymiennika płytowego w ogrzewaniu podłogowym to fundament świadomego projektowania. Prawidłowy dobór urządzenia gwarantuje ochronę instalacji i maksymalną efektywność energetyczną budynku.",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Analiza wartości wymiennika płytowego w instalacji",
    "description": "Zestawienie porównawcze kosztu zakupu wymiennika płytowego do wartości całej instalacji ogrzewania podłogowego, którą zabezpiecza.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Koszt ubezpieczenia (Wymiennik)",
        "value": "300 - 800 PLN",
        "description": "Jednorazowy koszt urządzenia zapewniającego separację hydrauliczną i redukcję temperatury."
      },
      {
        "@type": "PropertyValue",
        "name": "Wartość chroniona (Instalacja)",
        "value": "15 000 - 30 000 PLN",
        "description": "Szacunkowa wartość rur, wylewki i robocizny, która jest chroniona przed zniszczeniem termicznym."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  }
]
</script>

<div class="premium-summary-box" id="summary-app-lock">
    <div class="summary-content">
        
        <div class="summary-header">
            <span class="summary-icon">🏁</span>
            <h2>Podsumowanie: Strażnik Twojej Instalacji</h2>
        </div>

        <p class="summary-text">
            Zrozumienie <strong>zasady działania wymiennika płytowego w ogrzewaniu podłogowym</strong> wykracza poza czystą ciekawość techniczną. Jest to fundament świadomego projektowania i eksploatacji nowoczesnych, energooszczędnych systemów grzewczych. Wiedza o przepływie przeciwprądowym, średniej logarytmicznej różnicy temperatur i krytycznych parametrach doboru pozwala uniknąć kosztownych błędów wykonawczych, które w przypadku instalacji zatopionej w posadzce są praktycznie nieodwracalne.
        </p>

        <div class="risk-scale-grid">
            <div class="risk-card good-choice">
                <span class="risk-label">Koszt polisy</span>
                <span class="risk-value">300–800 zł</span>
                <p class="risk-desc">Inwestycja w prawidłowo dobrany wymiennik to ułamek budżetu. To tania polisa chroniąca przed awarią serca układu hydraulicznego.</p>
            </div>
            <div class="risk-card bad-choice" style="border-bottom-color: #3b82f6;"> <span class="risk-label">Chroniony majątek</span>
                <span class="risk-value">Wysoki</span>
                <p class="risk-desc">Wymiennik zabezpiecza układ opisany w <a href="https://projekt-ogrzewania.pl/kompleksowa-wycena-ogrzewania-podlogowego-wodnego-na-co-przygotowac-budzet/">kompleksowej wycenie instalacji</a>, warty nierzadko dziesiątki tysięcy złotych.</p>
            </div>
        </div>

        <p class="summary-text">
            W kontekście rosnących wymagań normy PN-EN 1264 oraz dążenia do maksymalnej efektywności energetycznej budynków, rola wymiennika jako <strong>strażnika temperatury i czystości hydraulicznej</strong> będzie wyłącznie rosła, nierzadko przewyższając funkcjonalnością tradycyjne <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgło hydrauliczne</a>.
        </p>

        <div class="summary-actions">
            <a href="https://projekt-ogrzewania.pl/blog/" class="sum-btn sum-btn-primary">
                📖 CZYTAJ NASZ BLOG
            </a>
        </div>

    </div>

    <noscript>
        <div style="padding: 30px; background: #0f172a; border-top: 1px solid #334155; font-family: sans-serif; color: #cbd5e1;">
            <h3 style="color: #ffffff; margin-top: 0;">Analiza ekonomiczna zastosowania wymiennika płytowego</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left; margin-bottom: 20px;">
                <thead>
                    <tr style="border-bottom: 2px solid #334155;">
                        <th style="padding: 10px 0; color: #94a3b8;">Element analizy</th>
                        <th style="padding: 10px 0; color: #94a3b8;">Wartość szacunkowa</th>
                        <th style="padding: 10px 0; color: #94a3b8;">Znaczenie w systemie</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #1e293b;">
                        <td style="padding: 10px 0; font-weight: bold;">Zakup wymiennika</td>
                        <td style="padding: 10px 0; color: #10b981;">300 &#8211; 800 PLN</td>
                        <td style="padding: 10px 0;">Niski koszt początkowy stanowiący polisę ochronną.</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0; font-weight: bold;">Zabezpieczona instalacja</td>
                        <td style="padding: 10px 0; color: #3b82f6;">Dziesiątki tysięcy PLN</td>
                        <td style="padding: 10px 0;">Ochrona rur PEX/PERT oraz wylewki przed zniszczeniem termicznym.</td>
                    </tr>
                </tbody>
            </table>
            <p style="font-size: 13px; line-height: 1.6;">
                Wiedza o przepływie przeciwprądowym i parametrach wymiennika zapobiega błędom wykonawczym, wspierając bezpieczną eksploatację zgodnie z normą PN-EN 1264.
            </p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('summary-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;"><span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span><div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona</div><p>Ten moduł jest własnością Projekt-Ogrzewania.pl</p></div>';
        }
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/">Zasada działania wymiennika płytowego w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ogrzewanie podłogowe w domu szkieletowym – kluczowe różnice i pułapki.</title>
		<link>https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/</link>
					<comments>https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Thu, 26 Mar 2026 10:11:32 +0000</pubDate>
				<category><![CDATA[Błędy budowlane]]></category>
		<category><![CDATA[Błędy instalacyjne]]></category>
		<category><![CDATA[Domy drewniane]]></category>
		<category><![CDATA[Domy szkieletowe]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Koszty budowy domu]]></category>
		<category><![CDATA[Koszty inwestycji]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Pompa ciepła]]></category>
		<category><![CDATA[Porady budowlane]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Systemy zabudowy suchej]]></category>
		<category><![CDATA[bezwładność cieplna]]></category>
		<category><![CDATA[błędy instalacyjne]]></category>
		<category><![CDATA[dom drewniany]]></category>
		<category><![CDATA[dom szkieletowy]]></category>
		<category><![CDATA[jastrych cementowy]]></category>
		<category><![CDATA[koszty ogrzewania]]></category>
		<category><![CDATA[lamele aluminiowe]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[ozc]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[projekt ozc]]></category>
		<category><![CDATA[system suchy]]></category>
		<category><![CDATA[wylewka anhydrytowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4030</guid>

					<description><![CDATA[<p>Planowanie instalacji grzewczej w budynku o lekkiej konstrukcji drewnianej wymaga zupełnie innego podejścia niż w tradycyjnym budownictwie murowanym. Niska bezwładność cieplna, brak ciężkich ścian akumulujących energię oraz ryzyko przeciążenia stropów sprawiają, że standardowe schematy instalatorów często tutaj zawodzą. W tym artykule bierzemy pod lupę temat, jakim jest ogrzewanie podłogowe w domu szkieletowym – kluczowe różnice i pułapki, na które najczęściej wpadają inwestorzy. Dowiesz się, dlaczego system suchy deklasuje ciężką wylewkę, jak uniknąć kosztownego przewymiarowania rur, dlaczego optymalizacja temperatury zasilania jest kluczowa dla żywotności pompy ciepła, oraz o co dokładnie zapytać wykonawcę przed podpisaniem umowy.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/">Ogrzewanie podłogowe w domu szkieletowym – kluczowe różnice i pułapki.</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: #e0f2fe;
    --rk-intro-gold: #eab308;
    --rk-intro-bg: #ffffff;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
    --rk-intro-red: #ef4444;
}

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

/* Górna część - Hook i Szybka odpowiedź */
.rk-intro-header {
    background: linear-gradient(135deg, var(--rk-intro-dark) 0%, #1e293b 100%);
    padding: 45px 50px;
    color: #ffffff;
}

.rk-intro-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 20px 0;
    line-height: 1.25;
    color: #ffffff;
}

.rk-intro-hook {
    font-size: 18px;
    font-weight: 600;
    color: #cbd5e1;
    margin: 0 0 30px 0;
    line-height: 1.6;
    border-left: 4px solid var(--rk-intro-gold);
    padding-left: 20px;
}

/* Moduł "Szybka Odpowiedź" */
.rk-quick-answer {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 25px 30px;
}

.rk-qa-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 900;
    color: var(--rk-intro-gold);
    margin: 0 0 15px 0;
    letter-spacing: 1px;
}

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

.rk-quick-answer strong {
    color: #38bdf8;
    font-weight: 800;
}

/* Dolna część - Mapa Artykułu (Interaktywna) */
.rk-intro-nav-wrapper {
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-intro-border);
}

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

.rk-intro-nav {
    display: flex;
    padding: 20px 50px;
    gap: 15px;
}

.rk-intro-btn {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    background: #ffffff;
    border: 2px solid var(--rk-intro-border);
    padding: 16px 20px;
    border-radius: 12px;
    cursor: pointer;
    font-weight: 800;
    font-size: 15px;
    color: #64748b;
    text-align: left;
    /* BRAK ANIMACJI - natychmiastowa zmiana stanu */
}

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

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

.rk-intro-btn svg {
    flex-shrink: 0;
}

/* Obszar paneli informacyjnych */
.rk-intro-content {
    padding: 35px 50px;
    background: #ffffff;
}

.rk-intro-panel {
    display: none;
    /* BRAK ANIMACJI */
}

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

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

.rk-intro-panel a {
    color: var(--rk-intro-blue);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rk-intro-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-top: 25px;
}

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

.rk-feature-icon {
    background: var(--rk-intro-blue-light);
    color: var(--rk-intro-blue);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    flex-shrink: 0;
}

.rk-feature-text h4 {
    margin: 0 0 5px 0;
    font-size: 15px;
    font-weight: 900;
    color: var(--rk-intro-dark);
}

.rk-feature-text p {
    margin: 0;
    font-size: 14px;
    color: #64748b;
    line-height: 1.5;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-intro-header, .rk-intro-nav-title, .rk-intro-nav, .rk-intro-content { padding: 25px 20px; }
    .rk-intro-nav { flex-direction: column; gap: 10px; }
    .rk-intro-btn { width: 100%; padding: 15px 20px; }
    .rk-intro-features { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/"
    },
    "headline": "Ogrzewanie podłogowe w domu szkieletowym – kluczowe różnice i pułapki",
    "description": "Kompendium wiedzy: dlaczego lekki szkielet drewniany wymaga zasilania 28-32°C oraz systemów suchych. Sprawdź, jak unikać błędów niszczących COP 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": "2025-12-29",
    "dateModified": "2026-07-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#dataset-wstep",
    "name": "Kluczowe Parametry Ogrzewania Podłogowego w Lekkim Szkielecie",
    "description": "Zestawienie wytycznych brzegowych dotyczących temperatur, mocy jednostkowej oraz zaleceń statycznych dla drewnianych konstrukcji domów.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ogrzewanie podłogowe w domu szkieletowym",
      "niska bezwładność cieplna budynku",
      "temperatura zasilania podłogówki 30 stopni",
      "spadek efektywności cop pompy ciepła",
      "system suchy ogrzewania podłogowego wady i zalety"
    ],
    "measurementTechnique": "Określenie brzegowych parametrów wydajnościowych (zakres 28-32 C) i obciążeniowych (40-60 W/m2) na bazie fizyki cieplnej konstrukcji lekkich.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wymagana temperatura zasilania czynnika grzewczego: 28 do 32 stopni Celsjusza.",
        "Maksymalne bezpieczne obciążenie jednostkowe posadzki: od 40 do 60 W/m2.",
        "Współczynnik przenikania ciepła ścian U w szkielecie: poniżej 0,12 W/m2K.",
        "Brak zrównoważenia OZC skutkuje drastycznym spadkiem sprawności (COP) pompy ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#webapp-wstep",
    "name": "Interaktywny Przewodnik Inwestora HVAC",
    "description": "Narzędzie wprowadzające inwestora w tematykę artykułu, agregujące dostęp do kalkulatorów obciążeń, symulatorów hydrauliki i diagramów strat ciepła.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="rk-article-intro">
    
    <!-- Hook i Szybka Odpowiedź -->
    <div class="rk-intro-header">
        <h2>Ogrzewanie podłogowe w domu szkieletowym – kluczowe różnice i pułapki</h2>
        
        <div class="rk-intro-hook">
            Większość wykonawców przenosi nawyki z budownictwa murowanego na lekkie konstrukcje drewniane. To najszybsza droga do pękania posadzek, przegrzewania wnętrz i uszkodzenia pompy ciepła. Poznaj inną fizykę budowli.
        </div>
        
        <div class="rk-quick-answer">
            <div class="rk-qa-title">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
                Szybka odpowiedź eksperta
            </div>
            <p>Ogrzewanie podłogowe w domu szkieletowym to ultra-niskotemperaturowy system płaszczyznowy. Wymaga on drastycznej redukcji temperatury zasilania do zakresu <strong>28–32°C</strong> oraz precyzyjnego ograniczenia obciążenia jednostkowego do <strong>40–60 W/m²</strong>. Kluczem do sukcesu jest rezygnacja z ciężkich betonowych wylewek na rzecz systemów suchych oraz projektowanie przepływów na twardych liczbach, a nie na tzw. &#8222;oku&#8221; instalatora.</p>
        </div>
    </div>

    <!-- Mapa Artykułu / Teaser Narzędzi -->
    <div class="rk-intro-nav-wrapper">
        <h3 class="rk-intro-nav-title">Co znajdziesz w tym kompendium? Wybierz sekcję:</h3>
        <div class="rk-intro-nav">
            <button class="rk-intro-btn active" onclick="switchIntroPanel('introTheory', this)">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg>
                Fizyka Szkieletu
            </button>
            <button class="rk-intro-btn" onclick="switchIntroPanel('introTools', this)">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                Kalkulatory i Symulatory
            </button>
            <button class="rk-intro-btn" onclick="switchIntroPanel('introErrors', this)">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                Diagnoza Błędów
            </button>
        </div>
    </div>

    <!-- Panele informacyjne -->
    <div class="rk-intro-content">
        
        <!-- Panel 1: Fizyka -->
        <div class="rk-intro-panel" id="introTheory" style="display: block;">
            <h3>Lekki szkielet to inna gra</h3>
            <p>W przeciwieństwie do tradycyjnego budownictwa murowanego, lekki szkielet drewniany charakteryzuje się niemal zerową bezwładnością cieplną oraz skrajnie niskim oporem cieplnym przegród (współczynnik przenikania U wynosi często poniżej 0,12 W/m²·K). Zrozumienie, <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">czym jest bezwładność cieplna w ogrzewaniu podłogowym</a>, pozwoli Ci uniknąć zjawiska uciążliwego &#8222;przegrzewania&#8221; domu przy pierwszych promieniach słonecznych.</p>
        </div>

        <!-- Panel 2: Narzędzia -->
        <div class="rk-intro-panel" id="introTools">
            <h3>Sprawdź parametry swojego domu na żywo</h3>
            <p>Ten artykuł to nie tylko sucha teoria. Przewijając w dół, uzyskasz dostęp do wbudowanych interaktywnych narzędzi, dzięki którym samodzielnie wykonasz podstawowy audyt planowanej inwestycji.</p>
            <div class="rk-intro-features">
                <div class="rk-feature-card">
                    <div class="rk-feature-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="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="9" y1="3" x2="9" y2="21"></line></svg>
                    </div>
                    <div class="rk-feature-text">
                        <h4>Symulator OZC</h4>
                        <p>Dowiedz się dokładnie, <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/">jak oblicza się straty cieplne w budynkach</a> i przelicz moc dla swojego metrażu.</p>
                    </div>
                </div>
                <div class="rk-feature-card">
                    <div class="rk-feature-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    </div>
                    <div class="rk-feature-text">
                        <h4>Kalkulator Parametrów</h4>
                        <p>Zoptymalizuj rozstaw rur, aby <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/">niska temperatura zasilania pompy ciepła (do 35 stopni)</a> stała się faktem.</p>
                    </div>
                </div>
            </div>
        </div>

        <!-- Panel 3: Błędy -->
        <div class="rk-intro-panel" id="introErrors">
            <h3>Wyeliminuj patologie wykonawcze</h3>
            <p>Zastosowanie klasycznych, ciężkich jastrychów cementowych bez uprzedniej analizy statycznej belek, oraz brak hydraulicznego zrównoważenia pętli, to najczęstsze błędy &#8222;fachowców&#8221;. Prowadzą one bezpośrednio do pękania wykończenia posadzek, braku sterowalności oraz drastycznego spadku efektywności (COP) pompy ciepła. W tym materiale obalamy mity i pokazujemy rozwiązania ratujące portfel.</p>
        </div>

    </div>
</div>

<script>
function switchIntroPanel(panelId, btnElement) {
    // 1. Natychmiastowy reset przycisków
    var navContainer = btnElement.parentElement;
    var allBtns = navContainer.getElementsByClassName('rk-intro-btn');
    var i = 0;
    while (i < allBtns.length) {
        allBtns[i].classList.remove('active');
        i++;
    }
    
    // 2. Natychmiastowa aktywacja
    btnElement.classList.add('active');
    
    // 3. Natychmiastowe ukrycie paneli
    var contentArea = document.querySelector('.rk-intro-content');
    var allPanels = contentArea.getElementsByClassName('rk-intro-panel');
    var j = 0;
    while (j < allPanels.length) {
        allPanels[j].style.display = 'none';
        j++;
    }
    
    // 4. Natychmiastowe wyświetlenie celu
    var targetPanel = document.getElementById(panelId);
    if (targetPanel !== null) {
        targetPanel.style.display = 'block';
    }
}
</script>



<style>
:root {
    --rk-wgt-dark: #0f172a;
    --rk-wgt-blue: #0284c7;
    --rk-wgt-blue-light: #f0f9ff;
    --rk-wgt-gold: #eab308;
    --rk-wgt-bg: #ffffff;
    --rk-wgt-border: #e2e8f0;
    --rk-wgt-text: #475569;
    --rk-wgt-red: #ef4444;
    --rk-wgt-red-bg: #fef2f2;
    --rk-wgt-green: #10b981;
    --rk-wgt-green-bg: #f0fdf4;
}

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

/* Header */
.rk-wgt-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-bottom: 1px solid var(--rk-wgt-border);
}

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

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

/* Interaktywny Panel Wyboru (Poziomo na desktop, pionowo na mobile) */
.rk-wgt-nav {
    display: flex;
    flex-direction: row;
    background: #f8fafc;
    padding: 25px 50px;
    gap: 15px;
    border-bottom: 1px solid var(--rk-wgt-border);
}

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

.rk-tech-btn:hover {
    background: var(--rk-wgt-blue-light);
    border-color: #cbd5e1;
}

.rk-tech-btn.active {
    border-color: var(--rk-wgt-blue);
    background: #ffffff;
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.15);
    transform: translateY(-3px);
}

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

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

.rk-tech-title {
    font-size: 15px;
    font-weight: 800;
    color: #64748b;
    transition: color 0.3s;
}

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

/* Wizualizator Metryk (Kafelki) */
.rk-wgt-dashboard {
    padding: 40px 50px 0 50px;
    background: #ffffff;
}

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

.rk-metric-card {
    padding: 25px 20px;
    border-radius: 16px;
    border: 2px solid;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: all 0.4s ease;
}

.rk-metric-card svg {
    margin-bottom: 12px;
}

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

.rk-metric-val {
    font-size: 26px;
    font-weight: 900;
    margin: 0;
}

/* Dynamiczne stany kafelków */
.state-good {
    background: var(--rk-wgt-green-bg);
    border-color: rgba(16, 185, 129, 0.3);
}
.state-good svg { color: var(--rk-wgt-green); }
.state-good .rk-metric-val { color: var(--rk-wgt-green); }

.state-warn {
    background: #fef9c3;
    border-color: rgba(234, 179, 8, 0.4);
}
.state-warn svg { color: var(--rk-wgt-gold); }
.state-warn .rk-metric-val { color: #ca8a04; }

.state-bad {
    background: var(--rk-wgt-red-bg);
    border-color: rgba(239, 68, 68, 0.3);
}
.state-bad svg { color: var(--rk-wgt-red); }
.state-bad .rk-metric-val { color: var(--rk-wgt-red); }

/* Treść inżynieryjna - Układ jednokolumnowy */
.rk-wgt-content {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-wgt-section {
    margin-bottom: 40px;
}

.rk-wgt-section:last-child {
    margin-bottom: 0;
}

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

.rk-wgt-section h3 svg {
    color: var(--rk-wgt-blue);
}

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

.rk-wgt-section ul {
    margin: 0 0 20px 0;
    padding-left: 20px;
    color: var(--rk-wgt-text);
}

.rk-wgt-section li {
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 10px;
}

.rk-wgt-section li strong {
    color: var(--rk-wgt-dark);
}

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

.rk-wgt-alert {
    background: var(--rk-wgt-red-bg);
    border-left: 4px solid var(--rk-wgt-red);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin: 20px 0;
}

.rk-wgt-alert p {
    margin: 0;
    color: #991b1b;
}

.rk-wgt-info {
    background: #f8fafc;
    border-left: 4px solid var(--rk-wgt-blue);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin: 20px 0;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-wgt-header, .rk-wgt-nav, .rk-wgt-dashboard, .rk-wgt-content { padding: 25px 20px; }
    
    /* Na mobile nawigacja układa się w pionie (jeden pod drugim) */
    .rk-wgt-nav { flex-direction: column; gap: 12px; }
    .rk-tech-btn { flex-direction: row; justify-content: flex-start; text-align: left; padding: 15px 20px; }
    .rk-tech-title { font-size: 16px; }
    
    /* Na mobile kafelki również jeden pod drugim */
    .rk-dash-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-metric-card { flex-direction: row; justify-content: flex-start; gap: 15px; padding: 15px 20px; text-align: left; }
    .rk-metric-card svg { margin-bottom: 0; width: 32px; height: 32px; }
    .rk-metric-label { margin-bottom: 0; }
    
    .rk-wgt-section h3 { font-size: 20px; align-items: flex-start; }
    .rk-wgt-section h3 svg { flex-shrink: 0; margin-top: 3px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#article-wylewka",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/"
    },
    "headline": "Czy ogrzewanie podłogowe w domu szkieletowym wymaga wylewki i jaka technologia posadzki jest dopuszczalna?",
    "description": "Zestawienie obciążeń stropowych i wilgoci technologicznej. Sprawdź, dlaczego wylewka cementowa to zagrożenie dla drewna C24, a system suchy to konieczność.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-07-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#dataset-wylewki",
    "name": "Obciążenia Statyczne i Wilgotnościowe Stropów Drewnianych",
    "description": "Baza danych parametrów granicznych dla drewnianych konstrukcji stropowych w odniesieniu do wylewek i suchych systemów ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wylewka na ogrzewanie podłogowe w domu szkieletowym",
      "system suchy ogrzewania podłogowego waga",
      "ile waży jastrych cementowy",
      "wilgoć technologiczna w drewnie C24",
      "ogrzewanie na drewnianym stropie"
    ],
    "measurementTechnique": "Porównanie parametrów obciążeniowych (kg/m2) i objętości wody technologicznej w oparciu o normy PN-EN 1995-1-1 oraz PN-EN 1264-4.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "System Suchy: Waga ~30 kg/m2, Wilgoć 0 litrów, Reakcja 30-60 min.",
        "Jastrych Anhydrytowy (40 mm): Waga ~100 kg/m2, Wilgoć ok. 1000 litrów, Reakcja 2-3 godz.",
        "Jastrych Cementowy (65 mm): Waga ~150 kg/m2, Wilgoć 1000-2500 litrów, Reakcja 4-6 godz."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#webapp-wylewki",
    "name": "Wizualizator Obciążeń i Wilgoci Stropu Drewnianego",
    "description": "Interaktywne narzędzie prezentujące w czasie rzeczywistym ryzyka statyczne oraz poziomy wilgoci wprowadzanej do budynku zależnie od dobranej wylewki.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-wgt-container" id="rk-floor-analyzer">
    
    <div class="rk-wgt-header">
        <h2>Czy ogrzewanie podłogowe w domu szkieletowym wymaga wylewki i jaka technologia posadzki jest dopuszczalna?</h2>
        <p>Bezpośrednia odpowiedź: <strong>Nie, dom szkieletowy nie wymaga klasycznej, ciężkiej wylewki cementowej.</strong> Najbardziej rekomendowaną technologią jest ultra-lekki system suchy zgodny z normą PN-EN 1264-4, który całkowicie eliminuje nadmierne obciążenie drewnianego stropu.</p>
    </div>

    <!-- Interaktywny Selektor -->
    <div class="rk-wgt-nav">
        <button class="rk-tech-btn active" onclick="updateFloorData('dry', this)">
            <div class="rk-tech-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
            </div>
            <span class="rk-tech-title">System Suchy<br>(Lamele Aluminiowe)</span>
        </button>
        <button class="rk-tech-btn" onclick="updateFloorData('anh', this)">
            <div class="rk-tech-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path></svg>
            </div>
            <span class="rk-tech-title">Jastrych Anhydryt.<br>(Płynny, 40 mm)</span>
        </button>
        <button class="rk-tech-btn" onclick="updateFloorData('cem', this)">
            <div class="rk-tech-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
            </div>
            <span class="rk-tech-title">Jastrych Cement.<br>(Tradycyjny, 65 mm)</span>
        </button>
    </div>

    <!-- Dashboard Parametrów -->
    <div class="rk-wgt-dashboard">
        <div class="rk-dash-grid">
            <div class="rk-metric-card state-good" id="cardWeight">
                <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"></path></svg>
                <div class="rk-metric-label">Masa / Obciążenie</div>
                <div class="rk-metric-val" id="txtWeight">~30 kg/m²</div>
            </div>
            <div class="rk-metric-card state-good" id="cardMoist">
                <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 15v4c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2v-4M17 9l-5 5-5-5M12 12.8V2.5"></path></svg>
                <div class="rk-metric-label">Wilgoć do budynku</div>
                <div class="rk-metric-val" id="txtMoist">0 litrów</div>
            </div>
            <div class="rk-metric-card state-good" id="cardReact">
                <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                <div class="rk-metric-label">Czas reakcji</div>
                <div class="rk-metric-val" id="txtReact">30 - 60 min</div>
            </div>
        </div>
    </div>

    <!-- Treść Inżynieryjna -->
    <div class="rk-wgt-content">
        
        <div class="rk-wgt-section">
            <h3>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><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>
                Charakterystyka techniczna systemu suchego
            </h3>
            <p>W systemie suchym (np. KISAN Comfort Floor Dry) rury grzewcze układane są w profilowanych płytach styropianowych (EPS 200–300 o wytrzymałości na ściskanie przy 10% odkształceniu równym 200–300 kPa). Ciepło z rury przekazywane jest do aluminiowych lameli transmisyjnych, które pokrywają do 80-90% powierzchni. Dzięki temu rozkład temperatury na posadzce jest równomierny, mimo całkowitego braku betonowej warstwy akumulacyjnej. Jeśli zastanawiasz się, <a href="https://projekt-ogrzewania.pl/czym-jest-system-suchy-w-wodnym-ogrzewaniu-podlogowym/">czym jest system suchy w wodnym ogrzewaniu podłogowym</a>, to wiedz, że to obecnie najbezpieczniejsza metoda dla drewna.</p>
        </div>

        <div class="rk-wgt-section">
            <h3>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                Dlaczego jastrych cementowy to zagrożenie?
            </h3>
            
            <div class="rk-wgt-alert">
                <p><strong>Woda technologiczna (wilgoć budowlana):</strong> Wykonanie mokrej wylewki wiąże się z wprowadzeniem do wnętrza domu szkieletowego od 1000 do nawet 2500 litrów wody!</p>
            </div>
            
            <ul>
                <li>Elementem nośnym jest tu certyfikowane drewno C24 o wilgotności maksymalnej 16-18% (zgodnie z normą PN-EN 1995-1-1).</li>
                <li>Tak gwałtowny wzrost wilgotności powietrza grozi potężnym pęcznieniem drewna i utratą parametrów wełny mineralnej w ścianach. Przeczytaj dokładnie, <a href="https://projekt-ogrzewania.pl/jak-ogrzewanie-podlogowe-wplywa-na-wilgotnosc-powietrza-w-domu/">jak ogrzewanie podłogowe wpływa na wilgotność powietrza w domu</a>.</li>
                <li><strong>Przeciążenie statyczne:</strong> Drewniane belki są projektowane na obciążenia 1,5 do 2,0 kN/m². Dodanie 150 kg/m² wylewki cementowej o grubości 65 mm konsumuje niemal cały zapas nośności stropu! Poznaj zasady, <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-nadaje-sie-do-drewnianego-stropu/">czy ogrzewanie podłogowe nadaje się do drewnianego stropu</a>.</li>
            </ul>
        </div>

        <div class="rk-wgt-section">
            <h3>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><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>
                Alternatywa: Cienka wylewka anhydrytowa
            </h3>
            <div class="rk-wgt-info">
                <p>Jeśli inwestor mimo wszystko decyduje się na wylewkę płynną, dopuszczalny jest wyłącznie jastrych anhydrytowy (samopoziomujący) o bardzo wysokim współczynniku przewodzenia ciepła lambda powyżej 1,6 W/(mK).</p>
            </div>
            <p>Dzięki wysokiej wytrzymałości na zginanie (klasa F5/F7 według PN-EN 13813), minimalna <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/">grubość wylewki betonowej na ogrzewanie podłogowe</a> nad samą rurką grzewczą może wynosić zaledwie 30 mm. Zmniejsza to masę metra kwadratowego posadzki do około 100 kg/m² i znacząco skraca czas schnięcia w porównaniu do cementu.</p>
        </div>

    </div>
</div>

<script>
function updateFloorData(techId, btnElement) {
    // 1. Zabezpieczony reset przycisków
    var navContainer = btnElement.parentElement;
    var allBtns = navContainer.getElementsByClassName('rk-tech-btn');
    var i = 0;
    while (i < allBtns.length) {
        allBtns[i].classList.remove('active');
        i++;
    }
    btnElement.classList.add('active');

    // 2. Elementy DOM
    var cardWeight = document.getElementById('cardWeight');
    var cardMoist = document.getElementById('cardMoist');
    var cardReact = document.getElementById('cardReact');
    
    var txtWeight = document.getElementById('txtWeight');
    var txtMoist = document.getElementById('txtMoist');
    var txtReact = document.getElementById('txtReact');

    // 3. Logika zmiany danych (bez ampersandów)
    if (techId === 'dry') {
        txtWeight.textContent = '~30 kg/m²';
        cardWeight.className = 'rk-metric-card state-good';
        
        txtMoist.textContent = '0 litrów';
        cardMoist.className = 'rk-metric-card state-good';
        
        txtReact.textContent = '30 - 60 min';
        cardReact.className = 'rk-metric-card state-good';
    }
    
    if (techId === 'anh') {
        txtWeight.textContent = '~100 kg/m²';
        cardWeight.className = 'rk-metric-card state-warn';
        
        txtMoist.textContent = '~1000 litrów';
        cardMoist.className = 'rk-metric-card state-warn';
        
        txtReact.textContent = '2 - 3 godz.';
        cardReact.className = 'rk-metric-card state-warn';
    }
    
    if (techId === 'cem') {
        txtWeight.textContent = '>150 kg/m²';
        cardWeight.className = 'rk-metric-card state-bad';
        
        txtMoist.textContent = 'Nawet 2500 L';
        cardMoist.className = 'rk-metric-card state-bad';
        
        txtReact.textContent = '4 - 6 godz.';
        cardReact.className = 'rk-metric-card state-bad';
    }
}
</script>



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

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

/* Header */
.rk-ins-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-bottom: 1px solid var(--rk-ins-border);
}

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

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

.rk-ins-header strong {
    color: var(--rk-ins-dark);
}

/* Panel Suwaków - Symulator */
.rk-ins-simulator {
    background: var(--rk-ins-dark);
    padding: 35px 50px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-ins-gold);
}

.rk-sim-title {
    font-size: 18px;
    font-weight: 800;
    color: #f8fafc;
    margin: 0 0 25px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-sim-title svg { color: #38bdf8; }

.rk-sim-control {
    background: rgba(255,255,255,0.05);
    padding: 25px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.1);
}

.rk-slider-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    font-weight: 700;
    color: #94a3b8;
    margin-bottom: 15px;
}

.rk-slider-val-badge {
    background: #38bdf8;
    color: var(--rk-ins-dark);
    padding: 6px 14px;
    border-radius: 8px;
    font-weight: 900;
    font-size: 18px;
}

/* Suwak stylizowany */
.rk-ins-range {
    -webkit-appearance: none;
    width: 100%;
    height: 10px;
    background: #334155;
    border-radius: 5px;
    outline: none;
}
.rk-ins-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-ins-gold);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 0 15px rgba(234, 179, 8, 0.5);
    transition: transform 0.1s;
}
.rk-ins-range::-webkit-slider-thumb:hover { transform: scale(1.15); }

/* Dashboard Wyników na żywo */
.rk-ins-dashboard {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-top: 25px;
}

.rk-dash-card {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

.rk-dash-val {
    font-size: 26px;
    font-weight: 900;
}

.rk-dash-alert {
    display: none;
    grid-column: 1 / -1;
    background: rgba(239, 68, 68, 0.15);
    border: 1px solid var(--rk-ins-red);
    color: #fca5a5;
    padding: 15px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    margin-top: 5px;
}

/* Treść inżynieryjna (Rozwinięcie) */
.rk-ins-content {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-ins-content h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-ins-dark);
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-ins-content h3 svg { color: var(--rk-ins-blue); }

.rk-ins-math-box {
    background: #f8fafc;
    border-left: 4px solid var(--rk-ins-blue);
    padding: 25px;
    border-radius: 0 12px 12px 0;
    margin-bottom: 30px;
}

.rk-ins-math-line {
    font-family: monospace;
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-ins-dark);
    margin: 0 0 10px 0;
    background: #e2e8f0;
    padding: 5px 10px;
    display: inline-block;
    border-radius: 6px;
}

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

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

.rk-ins-consequences {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 30px;
}

.rk-cons-box {
    padding: 25px;
    border-radius: 16px;
    background: #fef2f2;
    border: 1px solid rgba(239, 68, 68, 0.2);
}

.rk-cons-box h4 {
    color: var(--rk-ins-red);
    font-size: 17px;
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-cons-box p {
    font-size: 15px;
    margin: 0;
    color: var(--rk-ins-text);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-ins-header, .rk-ins-simulator, .rk-ins-content { padding: 30px 20px; }
    .rk-ins-dashboard { grid-template-columns: 1fr; gap: 10px; }
    .rk-ins-consequences { grid-template-columns: 1fr; }
    .rk-dash-val { font-size: 22px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#article-izolacja",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/"
    },
    "headline": "Ile styropianu na gruncie pod ogrzewanie podłogowe w domu drewnianym należy zastosować?",
    "description": "Kalkulator izolacji podłoża. Sprawdź, dlaczego 18-20 cm styropianu to absolutne minimum, aby uniknąć 25% strat ciepła do gruntu i obniżenia COP 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": "2025-12-29",
    "dateModified": "2026-07-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#dataset-izolacja",
    "name": "Parametry Izolacyjności Termicznej EPS pod Ogrzewanie Podłogowe",
    "description": "Baza parametrów fizycznych określających opór cieplny (R) i spadek efektywności cieplnej w zależności od grubości styropianu aplikowanego na gruncie.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "grubość styropianu pod podłogówkę",
      "opór cieplny izolacji fundamentu",
      "straty ciepła do gruntu",
      "współczynnik przewodzenia ciepła styropianu",
      "ogrzewanie podłogowe na gruncie"
    ],
    "measurementTechnique": "Modelowanie utraty ciepła z wykorzystaniem wzoru na opór cieplny R = d/lambda w oparciu o normę PN-EN 1264-4.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wymagany opór cieplny R podłogi na gruncie przy pompie ciepła: powyżej 4,5 (m2*K)/W.",
        "Straty ciepła do gruntu przy grubości izolacji 10 cm osiągają poziom od 18% do 25%.",
        "Zalecana grubość EPS 100 lambda 0,031: 18 cm do 20 cm.",
        "Zastosowanie cieńszej izolacji wymusza podbicie temperatury zasilania do 40°C, co obniża współczynnik SCOP pompy o około 15%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#webapp-izolacja",
    "name": "Symulator Strat Ciepła do Gruntu",
    "description": "Interaktywny kalkulator szacujący ucieczkę energii grzewczej do fundamentu w zależności od dobranej grubości izolacji styropianowej EPS.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-ins-container" id="rk-insulation-sim">
    <div class="rk-ins-header">
        <h2>Ile styropianu na gruncie pod ogrzewanie podłogowe w domu drewnianym należy zastosować?</h2>
        <p>Bezpośrednia odpowiedź: Na płycie fundamentowej lub stropie nad gruntem należy zastosować izolację termiczną o łącznym oporze cieplnym <strong>R rzędu 4,5 (m²·K)/W</strong> lub więcej. W praktyce oznacza to montaż minimum <strong>18–20 cm twardego styropianu</strong> klasy EPS 100-035 lub EPS 100-031 (grafitowego), co gwarantuje ograniczenie strat ciepła do gruntu do bezpiecznego poziomu 5–8% mocy instalacji.</p>
    </div>

    <!-- Symulator Na Żywo -->
    <div class="rk-ins-simulator">
        <h3 class="rk-sim-title">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
            Symulator ucieczki ciepła do gruntu
        </h3>
        
        <div class="rk-sim-control">
            <div class="rk-slider-label">
                <span>Wybierz grubość układanego styropianu (EPS grafit λ=0,031):</span>
                <span class="rk-slider-val-badge" id="insVal">20 cm</span>
            </div>
            <input type="range" class="rk-ins-range" id="insSlider" min="5" max="25" step="1" value="20" oninput="runInsSim()">
        </div>

        <div class="rk-ins-dashboard">
            <div class="rk-dash-card">
                <div class="rk-dash-label">Opór Cieplny (R)</div>
                <div class="rk-dash-val" id="resR" style="color: #38bdf8;">6.45</div>
            </div>
            <div class="rk-dash-card">
                <div class="rk-dash-label">Straty w dół (%)</div>
                <div class="rk-dash-val" id="resLoss" style="color: #10b981;">~6%</div>
            </div>
            <div class="rk-dash-card">
                <div class="rk-dash-label">Wydajność pompy (COP)</div>
                <div class="rk-dash-val" id="resCop" style="color: #10b981;">Optymalna</div>
            </div>
            <div class="rk-dash-alert" id="insAlert">
                ⚠️ KRYTYCZNY BŁĄD IZOLACJI: Ucieczka energii do fundamentu jest gigantyczna. Płacisz za ogrzewanie ziemi pod budynkiem, a nie pokoju!
            </div>
        </div>
    </div>

    <!-- Wyjaśnienie inżynierskie i linki SEO -->
    <div class="rk-ins-content">
        <h3>
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
            Wyliczenie strat ciepła z fizyki budowli
        </h3>
        
        <p>Zgodnie z normą PN-EN 1264-4, dla stropów graniczących z gruntem lub przestrzenią nieogrzewaną, minimalny opór cieplny izolacji wynosi R = 2,25 (m²·K)/W. Jednak przy dzisiejszych standardach i pompach ciepła dążymy do maksymalizacji efektywności, co stawia to wymaganie o wiele wyżej.</p>
        
        <div class="rk-ins-math-box">
            <div class="rk-ins-math-line">Wzór: R = Grubość (d) / Lambda (λ)</div>
            <div class="rk-ins-math-line">R = 0,18 m / 0,031 W/(m·K) = 5,80 (m²·K)/W</div>
            <p style="margin: 15px 0 0 0; font-size: 14px;">Dodając opory przejmowania ciepła posadzki, osiągamy znakomity współczynnik przenikania ciepła podłogi na gruncie U = 0,15 W/(m²·K).</p>
        </div>

        <p>Chcesz mieć pewność, że wykonawca nie zaniża norm? Dokładnie ten sam mechanizm fizyki stosuje się przy bardzo popularnych rozwiązaniach wylewanych wprost na ziemi – poznaj detale sprawdzając <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-plycie-fundamentowej-techniczny-przewodnik-po-projektowaniu-i-montazu/">ogrzewanie podłogowe w płycie fundamentowej</a>.</p>

        <div class="rk-ins-consequences">
            <div class="rk-cons-box">
                <h4>
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Wzrost strat w grunt o 18–25%
                </h4>
                <p>Ciepło generowane przez rury migruje zawsze w kierunku o najmniejszym oporze termicznym. Zamiast iść w górę do pokoju, przy zbyt cienkim materiale izolacyjnym ogrzewasz beton pod budynkiem. Koniecznie sprawdź pełen zbiór zasad dotyczących tego, <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">ile styropianu pod ogrzewanie podłogowe</a> rekomendują inżynierowie.</p>
            </div>
            <div class="rk-cons-box">
                <h4>
                    <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>
                    Zapaść efektywności (SCOP)
                </h4>
                <p>Aby nadrobić ucieczkę energii w dół i zachować 20°C w pokoju, instalator podniesie Ci temperaturę zasilania z 30°C do np. 38°C. Pamiętaj, że ostateczny <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">opór cieplny R (m²K)/W to klucz do efektywności</a>, a jego obniżenie powoduje roczny spadek sprawności pompy (COP) nawet o 15–20%.</p>
            </div>
        </div>
        
        <p style="margin-top: 25px;">Chcesz zobaczyć, jak decyzje o dociepleniu i precyzyjnych rozstawach wpływają bezpośrednio na Twoje portfele przez kolejne dekady? Przeanalizujmy <a href="https://projekt-ogrzewania.pl/rzeczywiste-oszczednosci-na-kosztach-ogrzewania-w-skali-roku-analiza-rozstawu-rur-dla-domu-150-m%c2%b2/">rzeczywiste oszczędności na kosztach ogrzewania w skali roku</a> na przykładzie prawdziwego domu.</p>

    </div>
</div>

<script>
function runInsSim() {
    // 1. Pobranie danych wejściowych
    var thicknessCm = parseFloat(document.getElementById('insSlider').value);
    
    // 2. Aktualizacja labela nad suwakiem
    document.getElementById('insVal').textContent = thicknessCm + ' cm';
    
    // 3. Model matematyczny
    var thicknessM = thicknessCm / 100;
    var lambda = 0.031; // EPS 100 Grafit
    var resistance = thicknessM / lambda;
    
    // Uproszczony model strat ciepła w dół do celów demonstracyjnych
    // Założenie: 5 cm to ~35% strat, 10 cm to ~22%, 18 cm to ~7%, 25 cm to ~4%.
    var lossPercent = 0;
    var copStatus = "";
    var alertDisplay = "none";
    var lossColor = "";
    var copColor = "";

    // Logika warunkowa bez podwójnych ampersandów
    if (thicknessCm < 10) {
        lossPercent = 35 - (thicknessCm - 5) * 2; 
        copStatus = "Spadek -25%";
        alertDisplay = "block";
        lossColor = "#ef4444"; // Czerwony
        copColor = "#ef4444";
    } else {
        if (thicknessCm < 15) {
            lossPercent = 25 - (thicknessCm - 10) * 1.5;
            copStatus = "Spadek -15%";
            alertDisplay = "block";
            lossColor = "#eab308"; // Zółty/Gold
            copColor = "#eab308";
        } else {
            if (thicknessCm < 18) {
                lossPercent = 17 - (thicknessCm - 15) * 1.5;
                copStatus = "Dopuszczalna";
                alertDisplay = "none";
                lossColor = "#eab308"; 
                copColor = "#10b981"; // Zielony
            } else {
                lossPercent = 12 - (thicknessCm - 18) * 1;
                copStatus = "Optymalna";
                alertDisplay = "none";
                lossColor = "#10b981"; 
                copColor = "#10b981";
            }
        }
    }
    
    // Zabezpieczenie minimalnej wartości utraty (zawsze jakieś straty są)
    if (lossPercent < 4) {
        lossPercent = 4;
    }

    // 4. Aktualizacja Dashboardu
    document.getElementById('resR').textContent = resistance.toFixed(2);
    
    var elLoss = document.getElementById('resLoss');
    elLoss.textContent = '~' + Math.round(lossPercent) + '%';
    elLoss.style.color = lossColor;
    
    var elCop = document.getElementById('resCop');
    elCop.textContent = copStatus;
    elCop.style.color = copColor;
    
    document.getElementById('insAlert').style.display = alertDisplay;
}

// Inicjalizacja przy ładowaniu strony (ustawia domyślne 20 cm)
runInsSim();
</script>



<style>
:root {
    --rk-flow-dark: #0f172a;
    --rk-flow-blue: #0284c7;
    --rk-flow-blue-light: #f0f9ff;
    --rk-flow-gold: #eab308;
    --rk-flow-bg: #ffffff;
    --rk-flow-border: #e2e8f0;
    --rk-flow-text: #475569;
    --rk-flow-accent: #38bdf8;
    --rk-flow-green: #10b981;
}

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

/* Header Section */
.rk-flow-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, #f8fafc 0%, #e0f2fe 100%);
    border-bottom: 1px solid var(--rk-flow-border);
}

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

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

.rk-flow-header .rk-highlight {
    display: inline-block;
    background: rgba(2, 132, 199, 0.1);
    color: var(--rk-flow-blue);
    padding: 6px 12px;
    border-radius: 8px;
    font-weight: 800;
    margin-top: 10px;
    font-size: 15px;
    border: 1px solid rgba(2, 132, 199, 0.2);
}

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

/* Interaktywny Kalkulator - Panel Sterowania */
.rk-flow-calc-box {
    display: flex;
    flex-direction: column;
    background: var(--rk-flow-dark);
}

.rk-flow-controls {
    padding: 35px 50px;
    border-bottom: 2px dashed rgba(255,255,255,0.15);
}

.rk-flow-controls h3 {
    color: #ffffff;
    font-size: 20px;
    font-weight: 800;
    margin: 0 0 25px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-flow-controls h3 svg { color: var(--rk-flow-accent); }

.rk-slider-stack {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-slider-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-slider-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #94a3b8;
    font-size: 15px;
    font-weight: 700;
}

.rk-slider-val {
    background: var(--rk-flow-accent);
    color: var(--rk-flow-dark);
    padding: 4px 12px;
    border-radius: 6px;
    font-weight: 900;
    font-size: 16px;
}

/* Custom Sliders */
.rk-flow-range {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: #334155;
    border-radius: 5px;
    outline: none;
}
.rk-flow-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-flow-gold);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 0 12px rgba(234, 179, 8, 0.5);
    transition: transform 0.1s;
}
.rk-flow-range::-webkit-slider-thumb:hover { transform: scale(1.15); }

/* Wyniki (Dashboard hydrauliczny) */
.rk-flow-results {
    padding: 35px 50px;
    background: #1e293b;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.rk-result-card {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

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

.rk-result-value span {
    font-size: 16px;
    color: var(--rk-flow-accent);
    margin-left: 5px;
}

.rk-result-highlight { color: var(--rk-flow-green); }
.rk-result-warn { color: var(--rk-flow-gold); }

/* Tłumaczenie inżynierskie */
.rk-flow-explanation {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-flow-explanation h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-flow-dark);
    margin: 0 0 20px 0;
}

.rk-flow-step {
    background: #f8fafc;
    border-left: 4px solid var(--rk-flow-blue);
    padding: 20px 25px;
    border-radius: 0 12px 12px 0;
    margin-bottom: 20px;
}

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

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

.rk-flow-math {
    display: inline-block;
    background: #e2e8f0;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: monospace;
    font-weight: 700;
    color: #0f172a;
}

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

@media (max-width: 768px) {
    .rk-flow-header, .rk-flow-controls, .rk-flow-results, .rk-flow-explanation { padding: 30px 20px; }
    .rk-flow-results { grid-template-columns: 1fr; gap: 15px; }
    .rk-slider-stack { gap: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#article-hydraulika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/"
    },
    "headline": "Jak dobrać rozstaw rur ogrzewania podłogowego pod pompę ciepła w lekkiej konstrukcji?",
    "description": "Zasady doboru rozstawu rur (10-15 cm) pod zasilanie 30/25°C. Obliczenia przepływów masowych, oporów i długości pętli PEX dla 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": "2025-12-29",
    "dateModified": "2026-07-15"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#dataset-hydraulika",
    "name": "Parametry Hydrauliczne Pętli Grzewczych PEX 16x2",
    "description": "Modele obliczeniowe dla przepływów masowych wody oraz długości pętli ogrzewania podłogowego przy zadanym spadku temperatury dT 5K.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna długość pętli dla rury 16x2",
      "zakres pracy rotametrów rozdzielacza",
      "spadek temperatury zasilania a powrotu",
      "na ile pętli podzielić salon",
      "przepływ masowy wody wzór"
    ],
    "measurementTechnique": "Przeliczanie mocy cieplnej (W) na przepływ (l/min) przy użyciu ciepła właściwego wody 4186 J/(kgK) oraz algorytmu dzielenia długości rur pow. 100mb.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przepływ masowy m = Q / (1,163 * dT).",
        "Zapotrzebowanie na rurę: 6,67 mb/m2 dla rozstawu 15 cm.",
        "Maksymalna długość pojedynczej pętli: 100-120 mb dla zachowania oporów < 20 kPa."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#webapp-hydraulika",
    "name": "Symulator Przepływów i Długości Pętli PEX",
    "description": "Kalkulator interaktywny wyliczający w czasie rzeczywistym wymaganą długość rur, ilość pętli oraz nastawy rotametrów na rozdzielaczu dla danego pomieszczenia.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-flow-container" id="rk-hydraulic-simulator">
    
    <div class="rk-flow-header">
        <h2>Jak dobrać rozstaw rur ogrzewania podłogowego pod pompę ciepła w lekkiej konstrukcji?</h2>
        <p>W lekkiej konstrukcji szkieletowej o jednostkowym zapotrzebowaniu rzędu <strong>25–40 W/m²</strong>, optymalny rozstaw rur to <strong>15 cm w pokojach</strong> oraz <strong>10 cm w łazienkach</strong>. Taki dobór gwarantuje możliwość pracy pompy ciepła na niskich parametrach zasilania 30/25°C, co jest kluczem do energooszczędności.</p>
        <p>Im mniejszy rozstaw rur (gęstsze ułożenie), tym większa powierzchnia wymiany i niższa wymagana temperatura wody. A musisz wiedzieć, że <strong>każde obniżenie temperatury zasilania o 1°C to wzrost sprawności COP pompy ciepła o 2,5–3%.</strong></p>
    </div>

    <!-- Symulator na żywo -->
    <div class="rk-flow-calc-box">
        
        <div class="rk-flow-controls">
            <h3>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 8v4l3 3"></path></svg>
                Symulator Przepływów i Długości Pętli (dT = 5K)
            </h3>
            <div class="rk-slider-stack">
                <div class="rk-slider-item">
                    <div class="rk-slider-top">
                        <span>Powierzchnia salonu (A)</span>
                        <span class="rk-slider-val" id="fValArea">25 m²</span>
                    </div>
                    <input type="range" class="rk-flow-range" id="fSlArea" min="10" max="50" step="1" value="25" oninput="runFlowSim()">
                </div>
                <div class="rk-slider-item">
                    <div class="rk-slider-top">
                        <span>Zapotrzebowanie (q)</span>
                        <span class="rk-slider-val" id="fValQ">35 W/m²</span>
                    </div>
                    <input type="range" class="rk-flow-range" id="fSlQ" min="20" max="60" step="1" value="35" oninput="runFlowSim()">
                </div>
                <div class="rk-slider-item">
                    <div class="rk-slider-top">
                        <span>Rozstaw rur (W)</span>
                        <span class="rk-slider-val" id="fValSpacing">15 cm</span>
                    </div>
                    <input type="range" class="rk-flow-range" id="fSlSpacing" min="10" max="25" step="5" value="15" oninput="runFlowSim()">
                </div>
            </div>
        </div>

        <div class="rk-flow-results">
            <div class="rk-result-card">
                <div class="rk-result-title">Moc do dostarczenia</div>
                <div class="rk-result-value" id="resTotalQ">875<span>W</span></div>
            </div>
            <div class="rk-result-card">
                <div class="rk-result-title">Całkowity metraż rury</div>
                <div class="rk-result-value" id="resLength">167<span>mb</span></div>
            </div>
            <div class="rk-result-card">
                <div class="rk-result-title">Ilość niezależnych pętli</div>
                <div class="rk-result-value rk-result-warn" id="resLoops">2<span>pętle</span></div>
            </div>
            <div class="rk-result-card">
                <div class="rk-result-title">Nastawa rotametru (na pętlę)</div>
                <div class="rk-result-value rk-result-highlight" id="resFlow">1.25<span>l/min</span></div>
            </div>
        </div>

    </div>

    <!-- Tłumaczenie inżynierskie z linkami SEO -->
    <div class="rk-flow-explanation">
        <h3>Skąd wzięły się te wyniki? Przykład obliczeniowy</h3>
        
        <div class="rk-flow-step">
            <h4>1. Obliczenie przepływu masowego wody</h4>
            <p>Zapotrzebowanie salonu wynosi <span class="rk-flow-math" id="txtTotalQ">875 W</span>. Zakładamy rurę PEX 16x2 oraz <a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/">spadek temperatury zasilania a powrotu</a> (tzw. delta T) na poziomie 5K. Dzielimy moc przez ciepło właściwe wody (1,163 Wh/kgK) i deltę T. Otrzymujemy całkowity przepływ rzędu <span class="rk-flow-math" id="txtTotalFlow">2.5 l/min</span>.</p>
        </div>

        <div class="rk-flow-step">
            <h4>2. Długość rury i dławienie hydrauliczne</h4>
            <p>Przy wybranym rozstawie całkowita rura wynosi <span class="rk-flow-math" id="txtLength">167 mb</span>. Ponieważ <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">maksymalna długość pętli dla rury 16x2</a> nie powinna przekraczać 100–120 mb (aby opory nie przekroczyły 20 kPa), musimy zaplanować, <a href="https://projekt-ogrzewania.pl/salon-ile-petli-podlogowki/">na ile pętli podzielić salon</a>. Dzielimy pokój na <span class="rk-flow-math" id="txtLoops">2</span> równe obwody.</p>
        </div>

        <div class="rk-flow-step">
            <h4>3. Nastawa na rozdzielaczu</h4>
            <p>Dzieląc całkowity przepływ przez ilość pętli, otrzymujemy wymaganą nastawę wynoszącą <span class="rk-flow-math" id="txtLoopFlow">1.25 l/min</span>. Taka wartość idealnie trafia w optymalny <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">zakres pracy rotametrów rozdzielacza</a> (które zazwyczaj precyzyjnie operują w widełkach 1,0 do 2,5 l/min).</p>
        </div>
    </div>

</div>

<script>
function runFlowSim() {
    // 1. Pobranie danych wejściowych
    var area = parseFloat(document.getElementById('fSlArea').value);
    var qUnit = parseFloat(document.getElementById('fSlQ').value);
    var spacingCm = parseFloat(document.getElementById('fSlSpacing').value);

    // 2. Aktualizacja labeli
    document.getElementById('fValArea').textContent = area + ' m²';
    document.getElementById('fValQ').textContent = qUnit + ' W/m²';
    document.getElementById('fValSpacing').textContent = spacingCm + ' cm';

    // 3. Obliczenia hydrauliczne
    var totalQ = Math.round(area * qUnit);
    
    // Przepływ = Q / (1.163 * dT). Zakładamy dT = 5K.
    // Wynik to kg/h. Dzielimy przez 60 by otrzymać l/min.
    var massFlowKgH = totalQ / (1.163 * 5);
    var totalFlowLMin = massFlowKgH / 60;
    
    // Długość rury: dla 10cm to 10 mb/m2, dla 15cm to ~6.67 mb/m2, dla 20cm to 5 mb/m2, dla 25cm to 4 mb/m2.
    var multiplier = 100 / spacingCm;
    var totalLength = Math.round(area * multiplier);
    
    // Ustalanie ilości pętli (nie przekraczamy ~100m na pętlę bezwzględnie)
    var loops = 1;
    if (totalLength > 100) {
        if (totalLength <= 200) {
            loops = 2;
        } else {
            if (totalLength <= 300) {
                loops = 3;
            } else {
                if (totalLength <= 400) {
                    loops = 4;
                } else {
                    loops = 5;
                }
            }
        }
    }
    
    // Przepływ na rotametr
    var flowPerLoop = totalFlowLMin / loops;

    // 4. Aktualizacja Dashboardu
    document.getElementById('resTotalQ').innerHTML = totalQ + '<span>W</span>';
    document.getElementById('resLength').innerHTML = totalLength + '<span>mb</span>';
    
    var elLoops = document.getElementById('resLoops');
    elLoops.innerHTML = loops + '<span>' + (loops === 1 ? 'pętla' : 'pętle') + '</span>';
    if(loops > 1) {
        elLoops.className = 'rk-result-value rk-result-warn';
    } else {
        elLoops.className = 'rk-result-value';
    }
    
    document.getElementById('resFlow').innerHTML = flowPerLoop.toFixed(2) + '<span>l/min</span>';

    // 5. Aktualizacja wartości w tekście (Dowód Inżynierski)
    document.getElementById('txtTotalQ').textContent = totalQ + ' W';
    document.getElementById('txtTotalFlow').textContent = totalFlowLMin.toFixed(2) + ' l/min';
    document.getElementById('txtLength').textContent = totalLength + ' mb';
    document.getElementById('txtLoops').textContent = loops;
    document.getElementById('txtLoopFlow').textContent = flowPerLoop.toFixed(2) + ' l/min';
}

// Uruchomienie na start (25 m2, 35 W/m2, 15 cm daje równe 875W, 167m rury, 2 pętle, 1.25 l/min)
runFlowSim();
</script>



<style>
:root {
    --rk-comp-dark: #0f172a;
    --rk-comp-blue: #0284c7;
    --rk-comp-blue-light: #f0f9ff;
    --rk-comp-gold: #eab308;
    --rk-comp-bg: #ffffff;
    --rk-comp-border: #e2e8f0;
    --rk-comp-text: #475569;
    --rk-comp-green: #10b981;
    --rk-comp-red: #ef4444;
}

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

/* Sekcja nagłówkowa */
.rk-comp-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, #f8fafc 0%, #e0f2fe 100%);
    border-bottom: 1px solid var(--rk-comp-border);
}

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

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

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

/* Interaktywny selektor technologii */
.rk-comp-selector {
    display: flex;
    flex-direction: row;
    background: #f1f5f9;
    padding: 20px 50px;
    gap: 15px;
    border-bottom: 1px solid var(--rk-comp-border);
}

.rk-tech-btn {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 10px;
    padding: 15px 10px;
    background: #ffffff;
    border: 2px solid transparent;
    border-radius: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-tech-btn:hover {
    background: var(--rk-comp-blue-light);
}

.rk-tech-btn.active {
    border-color: var(--rk-comp-blue);
    background: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.2);
    transform: translateY(-2px);
}

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

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

.rk-tech-name {
    font-size: 14px;
    font-weight: 800;
    color: #64748b;
    transition: color 0.3s;
}

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

/* Dashboard wyników (Kafelki) */
.rk-comp-dashboard {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-dash-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    animation: fadeInDash 0.3s ease-in-out;
}

@keyframes fadeInDash {
    from { opacity: 0; transform: scale(0.98); }
    to { opacity: 1; transform: scale(1); }
}

.rk-param-card {
    background: #f8fafc;
    border: 1px solid var(--rk-comp-border);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.3s;
}

.rk-param-label {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 800;
    color: #94a3b8;
    margin-bottom: 10px;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-param-label svg {
    color: var(--rk-comp-blue);
}

.rk-param-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-comp-dark);
    margin: 0;
    line-height: 1.2;
}

/* Modyfikatory kolorystyczne dla wartości */
.val-good { color: var(--rk-comp-green); }
.val-warn { color: var(--rk-comp-gold); }
.val-bad { color: var(--rk-comp-red); }

/* Dolna sekcja opisowa */
.rk-comp-footer {
    padding: 0 50px 40px 50px;
    background: #ffffff;
}

.rk-comp-footer p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-comp-text);
    margin: 0;
    padding-top: 25px;
    border-top: 1px dashed var(--rk-comp-border);
}

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

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

/* Responsywność */
@media (max-width: 768px) {
    .rk-comp-header, .rk-comp-dashboard, .rk-comp-footer { padding: 30px 20px; }
    
    /* Układ PIONOWY przycisków na mobile (żadnego scrolowania bocznego) */
    .rk-comp-selector { flex-direction: column; padding: 20px; gap: 10px; }
    .rk-tech-btn { flex-direction: row; justify-content: flex-start; text-align: left; padding: 15px 20px; }
    .rk-tech-name { font-size: 15px; }
    
    /* Kafelki na mobile - jeden pod drugim */
    .rk-dash-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-param-card { flex-direction: row; align-items: center; padding: 15px 20px; }
    .rk-param-label { margin-bottom: 0; }
    .rk-param-val { font-size: 18px; text-align: right; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#article-porownanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/"
    },
    "headline": "Suchy vs. mokry system ogrzewania podłogowego – porównanie parametrów technicznych i kosztów",
    "description": "Zestawienie technologii posadzkowych pod kątem nośności stropu, czasu schnięcia, wilgoci technologicznej i kosztów robocizny.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-07-15"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#dataset-komparator",
    "name": "Porównanie Technologii Posadzkowych Ogrzewania Podłogowego",
    "description": "Baza danych parametrów fizycznych i kosztowych systemów grzewczych stosowanych w budownictwie szkieletowym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "system mokry czy suchy w wodnym ogrzewaniu podłogowym",
      "czym jest system mokry w wodnym ogrzewaniu podłogowym",
      "wylewka betonowa na ogrzewanie podłogowe",
      "ile trwa montaż ogrzewania podłogowego",
      "podłogówka cena za m2 robocizny"
    ],
    "measurementTechnique": "Zestawienie inżynieryjne parametrów fizyko-chemicznych materiałów budowlanych oraz uśrednionych rynkowych kosztów wykonawstwa na 2026 rok.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "System suchy EPS: Masa 25-35 kg/m2, Wilgoć 0 litrów, Reakcja 30-60 min.",
        "Jastrych anhydrytowy: Masa 95-110 kg/m2, Wilgoć ok. 10 litrów, Reakcja 120-180 min.",
        "Jastrych cementowy: Masa 145-165 kg/m2, Wilgoć ok. 22 litrów, Reakcja 240-360 min.",
        "System suchy maty Alu: Masa 12-15 kg/m2, Wilgoć 0 litrów, Reakcja 15-30 min."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#webapp-komparator",
    "name": "Interaktywny Komparator Technologii Podłogówki",
    "description": "Aplikacja webowa pozwalająca błyskawicznie przełączać i porównywać obciążenia stropów, koszty oraz bezwładność cieplną poszczególnych systemów posadzkowych.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-comp-container" id="rk-tech-comparator">
    <div class="rk-comp-header">
        <h2>Suchy vs. mokry system ogrzewania podłogowego – porównanie parametrów</h2>
        <p>Wybór systemu rzutuje bezpośrednio na nośność konstrukcji stropu oraz dynamikę grzewczą. Przetestuj interaktywny komparator, aby zrozumieć wady i zalety tradycyjnych wylewek w zestawieniu z ultralekkimi zabudowami suchymi.</p>
    </div>

    <!-- Nawigacja / Przyciski wyboru -->
    <div class="rk-comp-selector">
        <button class="rk-tech-btn active" onclick="updateDashboard('eps', this)">
            <div class="rk-tech-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
            </div>
            <span class="rk-tech-name">System Suchy (Płyta EPS + Al)</span>
        </button>
        <button class="rk-tech-btn" onclick="updateDashboard('anh', this)">
            <div class="rk-tech-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path></svg>
            </div>
            <span class="rk-tech-name">Jastrych Anhydrytowy (40 mm)</span>
        </button>
        <button class="rk-tech-btn" onclick="updateDashboard('cem', this)">
            <div class="rk-tech-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
            </div>
            <span class="rk-tech-name">Jastrych Cementowy (65 mm)</span>
        </button>
        <button class="rk-tech-btn" onclick="updateDashboard('mat', this)">
            <div class="rk-tech-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
            </div>
            <span class="rk-tech-name">System Suchy (Maty Alu)</span>
        </button>
    </div>

    <!-- Dashboard (Kafelki z wynikami) -->
    <div class="rk-comp-dashboard" id="dashContainer">
        <div class="rk-dash-grid">
            
            <div class="rk-param-card">
                <div class="rk-param-label">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="8" width="18" height="8" rx="1" ry="1"></rect><path d="M12 8v8"></path></svg>
                    Grubość const.
                </div>
                <div class="rk-param-val" id="valThick">25–30 mm</div>
            </div>

            <div class="rk-param-card">
                <div class="rk-param-label">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"></path></svg>
                    Obciążenie stropu
                </div>
                <div class="rk-param-val val-good" id="valWeight">25–35 kg/m²</div>
            </div>

            <div class="rk-param-card">
                <div class="rk-param-label">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                    Przewodność cieplna
                </div>
                <div class="rk-param-val" id="valLambda">Bezpośrednia (Al)</div>
            </div>

            <div class="rk-param-card">
                <div class="rk-param-label">
                    <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><polyline points="12 6 12 12 16 14"></polyline></svg>
                    Czas reakcji
                </div>
                <div class="rk-param-val val-good" id="valReact">30–60 min</div>
            </div>

            <div class="rk-param-card">
                <div class="rk-param-label">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 15v4c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2v-4M17 9l-5 5-5-5M12 12.8V2.5"></path></svg>
                    Wilgoć technolog.
                </div>
                <div class="rk-param-val val-good" id="valMoist">0 litrów</div>
            </div>

            <div class="rk-param-card">
                <div class="rk-param-label">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>
                    Czas schnięcia
                </div>
                <div class="rk-param-val val-good" id="valDry">0 dni</div>
            </div>

        </div>
    </div>

    <!-- Stopka informacyjna SEO z max 4 naturalnymi linkami -->
    <div class="rk-comp-footer">
        <p>Analizując powyższe dane inżynieryjne, odwieczny dylemat <a href="https://projekt-ogrzewania.pl/system-mokry-czy-suchy-w-wodnym-ogrzewaniu-podlogowym-ktory-wybrac/">system mokry czy suchy w wodnym ogrzewaniu podłogowym</a> w przypadku domu z drewna rozwiązuje się sam. Decydując się na tradycyjną <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">wylewkę na ogrzewanie podłogowe</a>, musimy zaakceptować drastyczny spadek sterowalności temperaturą. Dodatkowo, przy planowaniu budżetu inwestycji, należy zawsze uwzględniać bieżącą <a href="https://projekt-ogrzewania.pl/podlogowka-cena-za-m%c2%b2-robocizny/">cenę robocizny za m²</a> instalacji oraz fizyczny fakt, <a href="https://projekt-ogrzewania.pl/ile-trwa-montaz-ogrzewania-podlogowego/">ile trwa montaż ogrzewania podłogowego</a>, aby uniknąć kilkutygodniowych przestojów związanych ze schnięciem betonowego jastrychu.</p>
    </div>
</div>

<script>
function updateDashboard(techId, btnElement) {
    // 1. Zabezpieczony reset przycisków
    var navContainer = btnElement.parentElement;
    var allBtns = navContainer.getElementsByClassName('rk-tech-btn');
    var i = 0;
    while (i < allBtns.length) {
        allBtns[i].classList.remove('active');
        i++;
    }
    btnElement.classList.add('active');

    // 2. Pobranie referencji do elementów DOM
    var valThick = document.getElementById('valThick');
    var valWeight = document.getElementById('valWeight');
    var valLambda = document.getElementById('valLambda');
    var valReact = document.getElementById('valReact');
    var valMoist = document.getElementById('valMoist');
    var valDry = document.getElementById('valDry');
    
    // Animacja przeładowania (restart animacji CSS)
    var grid = document.querySelector('.rk-dash-grid');
    grid.style.animation = 'none';
    grid.offsetHeight; // wyzwolenie reflow
    grid.style.animation = null;

    // 3. Logika przypisywania wartości (bez znaków ampersand/or)
    if (techId === 'eps') {
        valThick.textContent = '25–30 mm';
        
        valWeight.textContent = '25–35 kg/m²';
        valWeight.className = 'rk-param-val val-good';
        
        valLambda.textContent = 'Bezpośrednia (Al)';
        
        valReact.textContent = '30–60 min';
        valReact.className = 'rk-param-val val-good';
        
        valMoist.textContent = '0 litrów';
        valMoist.className = 'rk-param-val val-good';
        
        valDry.textContent = '0 dni';
        valDry.className = 'rk-param-val val-good';
    }
    
    if (techId === 'anh') {
        valThick.textContent = '45–50 mm';
        
        valWeight.textContent = '95–110 kg/m²';
        valWeight.className = 'rk-param-val val-warn';
        
        valLambda.textContent = '1,6–1,8 W/(mK)';
        
        valReact.textContent = '120–180 min';
        valReact.className = 'rk-param-val val-warn';
        
        valMoist.textContent = 'Ok. 10 litrów/m²';
        valMoist.className = 'rk-param-val val-warn';
        
        valDry.textContent = '7–14 dni';
        valDry.className = 'rk-param-val val-warn';
    }
    
    if (techId === 'cem') {
        valThick.textContent = '65–75 mm';
        
        valWeight.textContent = '145–165 kg/m²';
        valWeight.className = 'rk-param-val val-bad';
        
        valLambda.textContent = '1,1–1,3 W/(mK)';
        
        valReact.textContent = '240–360 min';
        valReact.className = 'rk-param-val val-bad';
        
        valMoist.textContent = 'Ok. 22 litrów/m²';
        valMoist.className = 'rk-param-val val-bad';
        
        valDry.textContent = '28–42 dni';
        valDry.className = 'rk-param-val val-bad';
    }
    
    if (techId === 'mat') {
        valThick.textContent = '15–18 mm';
        
        valWeight.textContent = '12–15 kg/m²';
        valWeight.className = 'rk-param-val val-good';
        
        valLambda.textContent = 'Bezpośrednia (Al)';
        
        valReact.textContent = '15–30 min';
        valReact.className = 'rk-param-val val-good';
        
        valMoist.textContent = '0 litrów';
        valMoist.className = 'rk-param-val val-good';
        
        valDry.textContent = '0 dni';
        valDry.className = 'rk-param-val val-good';
    }
}
</script>



<style>
:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-blue: #0284c7;
    --rk-calc-blue-light: #f0f9ff;
    --rk-calc-gold: #eab308;
    --rk-calc-bg: #ffffff;
    --rk-calc-border: #e2e8f0;
    --rk-calc-text: #334155;
    --rk-calc-code: #1e293b;
    --rk-calc-accent: #38bdf8;
    --rk-calc-alert: #ef4444;
}

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

/* Header */
.rk-calc-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, #f8fafc 0%, #e0f2fe 100%);
    border-bottom: 1px solid var(--rk-calc-border);
    text-align: center;
}

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

.rk-calc-header p {
    font-size: 16px;
    color: var(--rk-calc-text);
    line-height: 1.6;
    margin: 0 auto;
    max-width: 800px;
}

/* Interaktywny Panel Główny (Ciemny) */
.rk-live-panel {
    background: var(--rk-calc-dark);
    padding: 35px 50px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-calc-gold);
}

.rk-live-title {
    font-size: 18px;
    font-weight: 800;
    color: #e2e8f0;
    margin: 0 0 25px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-live-title svg { color: var(--rk-calc-accent); }

/* Suwaki - Układ Pionowy */
.rk-sliders-wrapper {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-slider-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rk-slider-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    font-weight: 700;
    color: #94a3b8;
}

.rk-slider-val-badge {
    background: var(--rk-calc-accent);
    color: var(--rk-calc-dark);
    padding: 4px 12px;
    border-radius: 6px;
    font-weight: 900;
    font-size: 16px;
}

/* Suwaki stylizowane */
.rk-range {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: #334155;
    border-radius: 5px;
    outline: none;
    margin-top: 5px;
}
.rk-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-calc-gold);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 0 10px rgba(234, 179, 8, 0.6);
    transition: transform 0.1s;
}
.rk-range::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}

/* DASHBOARD WYNIKÓW NA ŻYWO (Nowość) */
.rk-dashboard {
    margin-top: 35px;
    padding-top: 30px;
    border-top: 1px dashed rgba(255, 255, 255, 0.15);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.rk-dash-card {
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 12px;
    padding: 15px;
    text-align: center;
    transition: all 0.3s ease;
}

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

.rk-dash-val {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-calc-accent);
}

.rk-dash-alert {
    display: none;
    grid-column: 1 / -1;
    background: rgba(239, 68, 68, 0.15);
    border: 1px solid var(--rk-calc-alert);
    color: #fca5a5;
    padding: 15px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    margin-top: 5px;
}

/* Nawigacja kroków - układ pionowy */
.rk-calc-nav {
    display: flex;
    flex-direction: column;
    background: #f8fafc;
    padding: 30px 50px;
    gap: 12px;
    border-bottom: 1px solid var(--rk-calc-border);
}

.rk-calc-nav-title {
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 800;
    color: #94a3b8;
    margin: 0 0 5px 0;
}

.rk-step-btn {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
    padding: 16px 25px;
    background: #ffffff;
    border: 2px solid var(--rk-calc-border);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 100%;
    text-align: left;
}

.rk-step-btn:hover { background: #f1f5f9; border-color: #cbd5e1; }
.rk-step-btn.active { border-color: var(--rk-calc-blue); background: var(--rk-calc-blue-light); box-shadow: 0 4px 12px rgba(2, 132, 199, 0.15); }

.rk-step-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #cbd5e1;
    color: #ffffff;
    font-weight: 900;
    font-size: 15px;
    flex-shrink: 0;
    transition: all 0.3s;
}

.rk-step-btn.active .rk-step-num { background: var(--rk-calc-blue); }
.rk-step-label { font-size: 16px; font-weight: 800; color: #64748b; transition: color 0.3s; }
.rk-step-btn.active .rk-step-label { color: var(--rk-calc-dark); }

/* Obszar zawartości (Wzory) */
.rk-calc-content {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-algo-panel {
    display: none;
    animation: fadeInStep 0.4s ease-out;
}

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

.rk-algo-panel h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-calc-dark);
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-algo-panel h3 svg { color: var(--rk-calc-blue); }

.rk-math-box {
    background: var(--rk-calc-code);
    border-radius: 12px;
    padding: 25px;
    margin-bottom: 25px;
    border-left: 4px solid var(--rk-calc-gold);
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.2);
}

.rk-math-formula {
    font-family: 'Courier New', Courier, monospace;
    font-size: 17px;
    color: #38bdf8;
    font-weight: 700;
    margin: 0 0 15px 0;
    letter-spacing: 0.5px;
}

.rk-math-live-result {
    display: inline-block;
    background: rgba(16, 185, 129, 0.2);
    color: #10b981;
    padding: 4px 10px;
    border-radius: 6px;
    border: 1px solid rgba(16, 185, 129, 0.3);
    font-size: 18px;
    margin-top: 10px;
}

.rk-math-desc {
    font-size: 14px;
    color: #94a3b8;
    margin: 0;
    font-style: italic;
}

.rk-algo-panel p { font-size: 16px; line-height: 1.7; color: var(--rk-calc-text); }
.rk-algo-panel a { color: var(--rk-calc-blue); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* Potężne CTA */
.rk-calc-cta {
    background: linear-gradient(135deg, var(--rk-calc-dark) 0%, #1e293b 100%);
    padding: 45px 50px;
    text-align: center;
    border-top: 1px solid #334155;
}
.rk-calc-cta h3 { color: #ffffff; font-size: 26px; font-weight: 900; margin: 0 0 15px 0; }
.rk-calc-cta p { color: #94a3b8; font-size: 16px; line-height: 1.6; margin: 0 auto 30px auto; max-width: 650px; }

.rk-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #eab308;
    color: #0f172a;
    font-size: 15px;
    font-weight: 900;
    padding: 20px 30px;
    border-radius: 14px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(234, 179, 8, 0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-btn-massive:hover {
    transform: translateY(-4px);
    background: #fde047;
    box-shadow: 0 15px 30px -5px rgba(234, 179, 8, 0.4);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-calc-header, .rk-live-panel, .rk-calc-content, .rk-calc-cta { padding: 25px 20px; }
    .rk-dashboard { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .rk-dash-val { font-size: 20px; }
    .rk-calc-nav { padding: 20px; gap: 10px; }
    .rk-step-btn { padding: 15px 20px; flex-direction: column; align-items: flex-start; gap: 10px; }
    .rk-math-formula { font-size: 14px; }
    .rk-btn-massive { width: 100%; text-align: center; flex-direction: column; padding: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#article-symulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/"
    },
    "headline": "Algorytm obliczeniowy do projektowania ogrzewania w domu szkieletowym na żywo",
    "description": "Interaktywny kalkulator inżynierski OZC. Przesuwaj wskaźniki powierzchni i izolacji, aby na żywo śledzić zmiany parametrów rur, temperatury posadzki i mocy.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-07-15"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#dataset-kalkulator",
    "name": "Wzory Fizyki Budowli – Dynamiczna Termodynamika Ogrzewania",
    "description": "Zbiór inżynieryjnych wzorów obliczeniowych, z dynamicznym przeliczaniem gęstości strumienia cieplnego, temperatury powierzchni oraz rozstawu rur PEX.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator strat ciepła budynku na żywo",
      "obliczenie rozstawu rur podłogówki m2",
      "wzór na temperaturę posadzki",
      "koszt ogrzewania domu szkieletowego",
      "obliczenia OZC norma PN-EN 12831"
    ],
    "measurementTechnique": "Dynamiczne obliczenia JavaScript na bazie norm PN-EN 1264 i PN-EN 12831 (symulacja parametrów wejściowych inwestora).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Krok 1: Obliczenie OZC w oparciu o suwak metrażu (A_pos) i izolacji budynku.",
        "Krok 2: Korekta na zyski solarne dla domów drewnianych (współczynnik 0,95).",
        "Krok 3: Wyznaczenie q (W/m2).",
        "Krok 4: Ustalenie fizjologicznej temperatury posadzki (max 29 stopni).",
        "Krok 5: Obliczenie potrzebnego metrażu rur PEX/PERT zależnie od suwaka rozstawu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#webapp-kalkulator",
    "name": "Live Symulator OZC i Hydrauliki Podłogowej",
    "description": "Interaktywna aplikacja webowa z suwakami czasu rzeczywistego, wizualizująca wpływ wielkości pomieszczenia i izolacji na parametry pracy pompy ciepła.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container" id="rk-interactive-wizard">
    <div class="rk-calc-header">
        <h2>Algorytm obliczeniowy OZC (Live Symulator)</h2>
        <p>Nie czytaj suchych wzorów – przelicz swój dom w czasie rzeczywistym. Zmień parametry suwakami poniżej i natychmiast zobacz wyniki na tablicy wskaźników. Poznaj fizykę swojego budynku.</p>
    </div>

    <!-- Panel Sterowania Na Żywo z Wbudowanym Dashboardem -->
    <div class="rk-live-panel">
        <h3 class="rk-live-title">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg>
            Krok 1: Wprowadź parametry pokoju
        </h3>
        
        <div class="rk-sliders-wrapper">
            <div class="rk-slider-group">
                <div class="rk-slider-label">
                    <span>Powierzchnia posadzki netto</span>
                    <span class="rk-slider-val-badge" id="valArea">20 m²</span>
                </div>
                <input type="range" class="rk-range" id="slArea" min="10" max="50" step="1" value="20" oninput="runSim()">
            </div>
            <div class="rk-slider-group">
                <div class="rk-slider-label">
                    <span>Projektowe zapotrzebowanie (izolacja)</span>
                    <span class="rk-slider-val-badge" id="valQ">40 W/m²</span>
                </div>
                <input type="range" class="rk-range" id="slQ" min="20" max="80" step="5" value="40" oninput="runSim()">
            </div>
            <div class="rk-slider-group">
                <div class="rk-slider-label">
                    <span>Rozstaw rur PEX/PERT</span>
                    <span class="rk-slider-val-badge" id="valSpacing">15 cm</span>
                </div>
                <input type="range" class="rk-range" id="slSpacing" min="10" max="25" step="5" value="15" oninput="runSim()">
            </div>
        </div>

        <!-- Nowość: DASHBOARD NA ŻYWO -->
        <div class="rk-dashboard">
            <div class="rk-dash-card">
                <div class="rk-dash-label">Moc całkowita</div>
                <div class="rk-dash-val" id="dashTotalQ">800 W</div>
            </div>
            <div class="rk-dash-card">
                <div class="rk-dash-label">Wymagany Strumień</div>
                <div class="rk-dash-val" id="dashStrumien">38 W/m²</div>
            </div>
            <div class="rk-dash-card">
                <div class="rk-dash-label">Temp. Posadzki</div>
                <div class="rk-dash-val" id="dashTemp">23.5 °C</div>
            </div>
            <div class="rk-dash-card">
                <div class="rk-dash-label">Potrzebna Rura</div>
                <div class="rk-dash-val" id="dashRury">133 mb</div>
            </div>
            <div class="rk-dash-alert" id="dashAlert">
                ⚠️ BŁĄD PROJEKTOWY: Temperatura podłogi przekracza normatywne 29°C. Pomieszczenie będzie niekomfortowo gorące. Popraw izolację (Zapotrzebowanie)!
            </div>
        </div>
    </div>

    <!-- Nawigacja kroków (Jak to policzyliśmy?) -->
    <div class="rk-calc-nav">
        <p class="rk-calc-nav-title">Krok 2: Poznaj Inżynieryjne Obliczenia (Kliknij)</p>
        <button class="rk-step-btn active" onclick="showLiveStep('stOZC', this)">
            <span class="rk-step-num">1</span>
            <span class="rk-step-label">Wyznaczenie straty ciepła pomieszczenia (Q_obl)</span>
        </button>
        <button class="rk-step-btn" onclick="showLiveStep('stKorekta', this)">
            <span class="rk-step-num">2</span>
            <span class="rk-step-label">Korekta o zyski i bezwładność w szkielecie</span>
        </button>
        <button class="rk-step-btn" onclick="showLiveStep('stStrumien', this)">
            <span class="rk-step-num">3</span>
            <span class="rk-step-label">Obliczenie gęstości strumienia cieplnego (q)</span>
        </button>
        <button class="rk-step-btn" onclick="showLiveStep('stTemp', this)">
            <span class="rk-step-num">4</span>
            <span class="rk-step-label">Sprawdzenie granicznej temperatury posadzki</span>
        </button>
        <button class="rk-step-btn" onclick="showLiveStep('stRury', this)">
            <span class="rk-step-num">5</span>
            <span class="rk-step-label">Zapotrzebowanie na rurę grzewczą (L_rury)</span>
        </button>
    </div>

    <!-- Obszar treści paneli -->
    <div class="rk-calc-content">
        
        <!-- Krok 1: OZC -->
        <div class="rk-algo-panel" id="stOZC" style="display: block;">
            <h3>
                <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 22 22 22"></polygon></svg>
                Wyznaczenie straty ciepła pomieszczenia (Q_obl)
            </h3>
            <div class="rk-math-box">
                <div class="rk-math-formula">Q_obl = <span id="dynArea1">20</span> m² * <span id="dynQ1">40</span> W/m²</div>
                <div class="rk-math-live-result">= <span id="dynTotalQ">800</span> W</div>
                <p class="rk-math-desc" style="margin-top: 15px;">Uproszczony model przenikania (Norma PN-EN 12831).</p>
            </div>
            <p>To absolutny fundament. Im lepiej ocieplony jest Twój dom szkieletowy (wyższa jakość wełny), tym niższe zapotrzebowanie. Sprawdź, jak <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/">rekuperacja i ogrzewanie podłogowe</a> w duecie obniżają ten parametr poprzez eliminację start wentylacyjnych.</p>
        </div>

        <!-- Krok 2: Korekta -->
        <div class="rk-algo-panel" id="stKorekta">
            <h3>
                <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
                Korekta o zyski i bezwładność
            </h3>
            <div class="rk-math-box">
                <div class="rk-math-formula">Q_proj = <span id="dynTotalQ2">800</span> W * 0.95 (współcz. f_reg)</div>
                <div class="rk-math-live-result">= <span id="dynQproj">760</span> W</div>
            </div>
            <p>W domu szkieletowym ze względu na niską akumulacyjność ścian nie stosuje się "mocy na zapas". Taki zoptymalizowany <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">koszt ogrzewania domu</a> na etapie projektu pozwala dobrać znacznie tańszą pompę ciepła o niższej mocy nominalnej.</p>
        </div>

        <!-- Krok 3: Strumień -->
        <div class="rk-algo-panel" id="stStrumien">
            <h3>
                <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="2" x2="12" y2="22"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                Gęstość strumienia cieplnego (q)
            </h3>
            <div class="rk-math-box">
                <div class="rk-math-formula">q = <span id="dynQproj2">760</span> W / <span id="dynArea2">20</span> m²</div>
                <div class="rk-math-live-result">= <span id="dynStrumien">38</span> W/m²</div>
            </div>
            <p>To wartość mocy, jaką faktycznie musimy wycisnąć z każdego metra kwadratowego podłogi. Jeśli wartość przekroczy 80 W/m², oznacza to, że sam system podłogowy może nie podołać w największe mrozy.</p>
        </div>

        <!-- Krok 4: Temp Posadzki -->
        <div class="rk-algo-panel" id="stTemp">
            <h3>
                <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><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>
                Graniczna temperatura posadzki
            </h3>
            <div class="rk-math-box">
                <div class="rk-math-formula">t_f = 20°C (wnętrze) + ( <span id="dynStrumien2">38</span> / 10.8 alpha )</div>
                <div class="rk-math-live-result">= <span id="dynTemp">23.5</span> °C</div>
            </div>
            <p>Zgodnie z fizyką (norma PN-EN 1264), fizjologiczna granica komfortu wynosi 29°C.</p>
        </div>

        <!-- Krok 5: Rury -->
        <div class="rk-algo-panel" id="stRury">
            <h3>
                <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 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>
                Zapotrzebowanie na rurę grzewczą (L_rury)
            </h3>
            <div class="rk-math-box">
                <div class="rk-math-formula">L_rury = <span id="dynArea3">20</span> m² / <span id="dynSpacingM">0.15</span> m (rozstaw)</div>
                <div class="rk-math-live-result">= <span id="dynRura">133</span> mb rury</div>
            </div>
            <p>Znając dokładną długość pętli, unikniesz dławienia przepływów. Jeśli wynik przekracza 100 metrów bieżących, pokój bezwzględnie wymaga podziału na dwie niezależne pętle. Zobacz jak to wpływa na <a href="https://projekt-ogrzewania.pl/jaka-srednica-rury-zasilajacej-rozdzielacz-w-ukladzie-ogrzewania-podlogowego-kalkulator/">średnicę rury zasilającej rozdzielacz</a> w całej kotłowni.</p>
        </div>
    </div>

    <!-- Mocne CTA pod długi ogon na koniec -->
    <div class="rk-calc-cta">
        <h3>Nie ryzykuj własnych pieniędzy przez instalatorów "zgadywaczy"</h3>
        <p>Inwestycja w lekki dom szkieletowy wymaga żelaznych obliczeń inżynierskich. Wyeliminuj błędy, taktowanie pompy i duszne sypialnie opierając się na normatywnych wyliczeniach OZC i pełnej dokumentacji technicznej zawartej w profesjonalnym projekcie.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-massive">
            <span>ZAMÓW INŻYNIERSKI PROJEKT OGRZEWANIA PODŁOGOWEGO Z OBLICZENIAMI OZC ORAZ HYDRAULIKĄ</span>
            <svg width="28" height="28" 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>
        </a>
    </div>
</div>

<script>
function showLiveStep(panelId, btnElement) {
    // Bezpieczne odwołanie do kontenera przycisków
    var navContainer = btnElement.parentElement;
    var allBtns = navContainer.getElementsByClassName('rk-step-btn');
    var i = 0;
    while (i < allBtns.length) {
        allBtns[i].classList.remove('active');
        i++;
    }
    btnElement.classList.add('active');
    
    // Obsługa paneli
    var contentArea = document.querySelector('.rk-calc-content');
    var allPanels = contentArea.getElementsByClassName('rk-algo-panel');
    var j = 0;
    while (j < allPanels.length) {
        allPanels[j].style.display = 'none';
        j++;
    }
    
    var targetPanel = document.getElementById(panelId);
    if (targetPanel !== null) {
        targetPanel.style.display = 'block';
    }
}

function runSim() {
    // 1. Pobranie wartości z suwaków
    var area = parseFloat(document.getElementById('slArea').value);
    var qUnit = parseFloat(document.getElementById('slQ').value);
    var spacing = parseFloat(document.getElementById('slSpacing').value);
    
    // 2. Aktualizacja labeli nad suwakami
    document.getElementById('valArea').textContent = area + ' m²';
    document.getElementById('valQ').textContent = qUnit + ' W/m²';
    document.getElementById('valSpacing').textContent = spacing + ' cm';
    
    // 3. Obliczenia fizyki
    var qObl = area * qUnit;
    var qProj = Math.round(qObl * 0.95);
    var strumien = Math.round(qProj / area);
    var temp = (20 + (strumien / 10.8)).toFixed(1);
    var spacingM = spacing / 100;
    var rury = Math.round(area / spacingM);
    
    // 4. Aktualizacja Głównego Dashboardu
    document.getElementById('dashTotalQ').textContent = qObl + ' W';
    document.getElementById('dashStrumien').textContent = strumien + ' W/m²';
    
    var dashTempEl = document.getElementById('dashTemp');
    var dashAlert = document.getElementById('dashAlert');
    dashTempEl.textContent = temp + ' °C';
    
    if (parseFloat(temp) > 29) {
        dashTempEl.style.color = '#ef4444'; // Red alert
        dashAlert.style.display = 'block';
    } else {
        dashTempEl.style.color = '#38bdf8'; // Accent blue
        dashAlert.style.display = 'none';
    }
    
    document.getElementById('dashRury').textContent = rury + ' mb';

    // 5. Aktualizacja wzorów w zakładkach (Inżynieryjny dowód)
    document.getElementById('dynArea1').textContent = area;
    document.getElementById('dynQ1').textContent = qUnit;
    document.getElementById('dynTotalQ').textContent = qObl;
    
    document.getElementById('dynTotalQ2').textContent = qObl;
    document.getElementById('dynQproj').textContent = qProj;
    
    document.getElementById('dynQproj2').textContent = qProj;
    document.getElementById('dynArea2').textContent = area;
    document.getElementById('dynStrumien').textContent = strumien;
    
    document.getElementById('dynStrumien2').textContent = strumien;
    document.getElementById('dynTemp').textContent = temp;
    
    var spanTempEl = document.getElementById('dynTemp');
    if (parseFloat(temp) > 29) {
        spanTempEl.className = 'rk-dyn-warn';
    } else {
        spanTempEl.className = 'rk-dyn-text';
    }
    
    document.getElementById('dynArea3').textContent = area;
    document.getElementById('dynSpacingM').textContent = spacingM.toFixed(2);
    document.getElementById('dynRura').textContent = rury;
}

// Inicjalizacja przy ładowaniu
runSim();
</script>



<style>
:root {
    --rk-diag-dark: #0f172a;
    --rk-diag-blue: #0284c7;
    --rk-diag-red: #ef4444;
    --rk-diag-red-bg: #fef2f2;
    --rk-diag-green: #10b981;
    --rk-diag-green-bg: #f0fdf4;
    --rk-diag-bg: #ffffff;
    --rk-diag-border: #e2e8f0;
    --rk-diag-text: #475569;
}

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

.rk-diag-header {
    padding: 40px 50px 30px;
    background: linear-gradient(to bottom, #f8fafc, #ffffff);
    border-bottom: 1px solid var(--rk-diag-border);
    text-align: center;
}

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

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

/* Zakładki (Jedna kolumna, układ poziomy) */
.rk-diag-tabs {
    display: flex;
    flex-direction: row;
    padding: 20px 50px;
    gap: 15px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-diag-border);
    justify-content: space-between;
}

.rk-tab-btn {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 15px 10px;
    background: var(--rk-diag-bg);
    border: 2px solid transparent;
    border-radius: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    text-align: center;
}

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

.rk-tab-btn.active {
    border-color: var(--rk-diag-red);
    box-shadow: 0 10px 20px -5px rgba(239, 68, 68, 0.15);
}

.rk-tab-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #e2e8f0;
    color: #64748b;
    font-weight: 900;
    font-size: 14px;
    transition: all 0.3s;
}

.rk-tab-btn.active .rk-tab-num {
    background: var(--rk-diag-red);
    color: #ffffff;
}

.rk-tab-title {
    font-size: 14px;
    font-weight: 800;
    color: #64748b;
    margin: 0;
    transition: color 0.3s;
}

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

/* Panele z treścią (Układ 1-kolumnowy) */
.rk-diag-content-area {
    padding: 40px 50px;
}

.rk-diag-panel {
    display: none;
    animation: slideDown 0.4s ease-out;
}

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

.rk-diag-panel h3 {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-diag-dark);
    margin: 0 0 25px 0;
    text-align: center;
}

/* Karty jedna pod drugą */
.rk-info-stack {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-info-card {
    padding: 30px;
    border-radius: 16px;
    border: 1px solid;
    position: relative;
}

.rk-card-bad {
    background: var(--rk-diag-red-bg);
    border-color: rgba(239, 68, 68, 0.2);
}

.rk-card-good {
    background: var(--rk-diag-green-bg);
    border-color: rgba(16, 185, 129, 0.2);
}

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

.rk-card-header svg {
    width: 28px;
    height: 28px;
}

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

.rk-card-header h4 {
    margin: 0;
    font-size: 18px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
}

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

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

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

/* Responsywność */
@media (max-width: 768px) {
    .rk-diag-header, .rk-diag-content-area { padding: 30px 20px; }
    .rk-diag-tabs { flex-direction: column; padding: 20px; gap: 10px; }
    .rk-tab-btn { flex-direction: row; justify-content: flex-start; padding: 15px; }
    .rk-tab-title { font-size: 15px; }
    .rk-diag-panel h3 { font-size: 20px; }
    .rk-info-card { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/"
    },
    "headline": "Najczęstsze błędy instalacyjne i projektowe – jak ich unikać?",
    "description": "Interaktywne zestawienie najgroźniejszych błędów przy montażu ogrzewania w technologii szkieletowej: taktowanie pompy ciepła, brak strefowania i uszkodzenia paroizolacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-07-15"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#dataset-diagnoza",
    "name": "Katalog Błędów Instalacyjnych w Konstrukcji Szkieletowej",
    "description": "Baza danych inżynieryjnych zestawiająca błędy montażowe z normatywnymi rozwiązaniami technicznymi dedykowanymi dla budownictwa drewnianego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "przewymiarowanie instalacji",
      "taktowanie pompy ciepła",
      "uszkodzenie paroizolacji",
      "brak strefowania",
      "najczęstsze błędy instalatora podłogówki"
    ],
    "measurementTechnique": "Analiza defektów montażowych w oparciu o fizykę cieplną budynków drewnianych i wytyczne układów pompowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Problem: Brak strefowania prowadzący do przegrzewania wnętrz od południa. Rozwiązanie: Termostaty z algorytmem TPI.",
        "Problem: Przewymiarowanie i zbyt gęsty rozstaw rur powodujące taktowanie sprężarki. Rozwiązanie: Zwiększenie rozstawu do 20 cm przy niskim OZC.",
        "Problem: Przebijanie folii paroizolacyjnej spinkami Tacker. Rozwiązanie: Klejenie systemowe i rezygnacja z mechanicznych uszkodzeń folii PE."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#webapp-diagnoza",
    "name": "Jednokolumnowy Interaktywny Diagnozer Błędów",
    "description": "Aplikacja pozwalająca inwestorowi na identyfikację patologii montażowych na budowie oraz poznanie poprawnej, inżynierskiej alternatywy.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-diag-container" id="rk-error-viewer">
    <div class="rk-diag-header">
        <h2>Najczęstsze błędy instalacyjne i projektowe – jak ich unikać?</h2>
        <p>Lata praktyki weryfikują radosną twórczość instalatorów. W domach o lekkiej konstrukcji szkieletowej konsekwencje powielania nawyków z murowanych budów są natychmiastowe i bardzo kosztowne. Zdiagnozuj i wyeliminuj problem przed wylaniem posadzki.</p>
    </div>

    <!-- Zakładki górne (Jedna kolumna na treści poniżej) -->
    <div class="rk-diag-tabs">
        <button class="rk-tab-btn active" onclick="showDiagPanel('diag1', this)">
            <span class="rk-tab-num">1</span>
            <span class="rk-tab-title">Brak strefowania</span>
        </button>
        <button class="rk-tab-btn" onclick="showDiagPanel('diag2', this)">
            <span class="rk-tab-num">2</span>
            <span class="rk-tab-title">Taktowanie pompy</span>
        </button>
        <button class="rk-tab-btn" onclick="showDiagPanel('diag3', this)">
            <span class="rk-tab-num">3</span>
            <span class="rk-tab-title">Dziurawienie folii</span>
        </button>
    </div>

    <!-- Obszar treści (Struktura stosu: Problem -> Rozwiązanie) -->
    <div class="rk-diag-content-area">
        
        <!-- Panel 1 -->
        <div class="rk-diag-panel" id="diag1" style="display: block;">
            <h3>Brak strefowania i sterowania pomieszczeniami</h3>
            <div class="rk-info-stack">
                <div class="rk-info-card rk-card-bad">
                    <div class="rk-card-header">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                        <h4>Anatomia Problemu</h4>
                    </div>
                    <p>Domy szkieletowe z dużymi przeszkleniami od południa nagrzewają się od słońca w ciągu 30–45 minut o kilka stopni. Jeśli pętle grzewcze salonu i sypialni północnej są połączone lub pracują bez termostatów pokojowych, w salonie temperatura szybko wzrośnie do dusznych 25°C, podczas gdy zacieniona sypialnia pozostanie niekomfortowo niedogrzana.</p>
                </div>
                <div class="rk-info-card rk-card-good">
                    <div class="rk-card-header">
                        <svg 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>
                        <h4>Inżynierskie Rozwiązanie</h4>
                    </div>
                    <p>Bezwzględne stosowanie zaworów na każdej pętli rozdzielacza. Kluczem jest <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">sterowanie strefowe ogrzewaniem</a> z wykorzystaniem <a href="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/">inteligentnych termostatów TPI</a>. Automatyka analizuje bezwładność systemu i ucina zasilanie na ułamek sekundy przed tym, zanim nastąpi przegrzanie wywołane zyskami solarnymi.</p>
                </div>
            </div>
        </div>

        <!-- Panel 2 -->
        <div class="rk-diag-panel" id="diag2">
            <h3>Przewymiarowanie instalacji (Złoty standard: "co 10 cm")</h3>
            <div class="rk-info-stack">
                <div class="rk-info-card rk-card-bad">
                    <div class="rk-card-header">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                        <h4>Anatomia Problemu</h4>
                    </div>
                    <p>Zagęszczenie rur (rozstaw co 10 cm w całym domu) przy niskim zapotrzebowaniu na ciepło skutkuje brakiem możliwości zrzutu mocy. Sprężarka włącza się i wyłącza co 5 minut (taktowanie). Zjawisko to potrafi skrócić żywotność drogiej pompy ciepła o 50–70% oraz radykalnie obniżyć współczynnik COP.</p>
                </div>
                <div class="rk-info-card rk-card-good">
                    <div class="rk-card-header">
                        <svg 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>
                        <h4>Inżynierskie Rozwiązanie</h4>
                    </div>
                    <p>Dobór oparty ściśle na obliczeniach strat ciepła (OZC). W strefach o zapotrzebowaniu poniżej 30 W/m² instalator powinien zastosować <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">rozstaw rur w ogrzewaniu podłogowym równy 20 cm</a>, co gwarantuje długą, płynną i ekonomiczną pracę inwerterowej pompy ciepła.</p>
                </div>
            </div>
        </div>

        <!-- Panel 3 -->
        <div class="rk-diag-panel" id="diag3">
            <h3>Uszkodzenie paroizolacji podczas montażu</h3>
            <div class="rk-info-stack">
                <div class="rk-info-card rk-card-bad">
                    <div class="rk-card-header">
                        <svg 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>
                        <h4>Anatomia Problemu</h4>
                    </div>
                    <p>Montaż rur na stropie drewnianym przy użyciu spinek wbijanych przez taker bezpośrednio w poszycie. Spinki dziurawią folią paroizolacyjną. Przez setki otworów wilgoć z pomieszczeń wnika w głąb stropu, co wywołuje zjawisko kondensacji – w efekcie izolacja z wełny przestaje działać, a drewno zaczyna gnić.</p>
                </div>
                <div class="rk-info-card rk-card-good">
                    <div class="rk-card-header">
                        <svg 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>
                        <h4>Inżynierskie Rozwiązanie</h4>
                    </div>
                    <p>Na stropach lekkich należy stosować maty z wypustkami bez mocowania mechanicznego do podłoża lub kleić płyty EPS specjalistycznymi pianoklejami o niskiej prężności. Przeczytaj koniecznie, jakie są pozostałe <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstsze błędy przy montażu ogrzewania podłogowego</a>, aby ochronić dom.</p>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
function showDiagPanel(panelId, btnElement) {
    // 1. Zabezpieczony reset zakładek (Tabs)
    var tabContainer = document.querySelector('.rk-diag-tabs');
    var allTabs = tabContainer.getElementsByClassName('rk-tab-btn');
    var i = 0;
    while (i < allTabs.length) {
        allTabs[i].classList.remove('active');
        i++;
    }
    
    // 2. Aktywacja klikniętej zakładki
    btnElement.classList.add('active');
    
    // 3. Zabezpieczony reset wszystkich paneli
    var contentArea = document.querySelector('.rk-diag-content-area');
    var allPanels = contentArea.getElementsByClassName('rk-diag-panel');
    var j = 0;
    while (j < allPanels.length) {
        allPanels[j].style.display = 'none';
        j++;
    }
    
    // 4. Płynne wyświetlenie docelowego panelu
    var targetPanel = document.getElementById(panelId);
    if (targetPanel !== null) {
        targetPanel.style.display = 'block';
    }
}
</script>



<style>
:root {
    --rk-step-dark: #0f172a;
    --rk-step-blue: #0284c7;
    --rk-step-blue-light: #e0f2fe;
    --rk-step-green: #10b981;
    --rk-step-bg: #ffffff;
    --rk-step-border: #e2e8f0;
    --rk-step-text: #334155;
    --rk-step-inactive: #f1f5f9;
}

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

.rk-pipeline-header {
    padding: 40px 50px 30px;
    background: linear-gradient(to bottom, #f8fafc, #ffffff);
    border-bottom: 1px solid var(--rk-step-border);
}

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

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

/* Interaktywny Stepper Nawigacyjny */
.rk-stepper-nav {
    display: flex;
    flex-direction: row;
    background: var(--rk-step-inactive);
    padding: 10px;
    gap: 10px;
    border-bottom: 1px solid var(--rk-step-border);
}

.rk-step-btn {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 20px;
    background: transparent;
    border: 2px solid transparent;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: left;
}

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

.rk-step-btn.active {
    background: var(--rk-step-bg);
    border-color: var(--rk-step-blue);
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.rk-step-num {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #cbd5e1;
    color: #ffffff;
    font-weight: 900;
    font-size: 16px;
    border-radius: 50%;
    transition: all 0.3s;
}

.rk-step-btn.active .rk-step-num {
    background: var(--rk-step-blue);
    box-shadow: 0 0 15px rgba(2, 132, 199, 0.4);
}

.rk-step-title {
    font-size: 15px;
    font-weight: 800;
    color: #64748b;
    margin: 0;
}

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

/* Panele Treści (1-kolumnowe) */
.rk-step-content-area {
    padding: 40px 50px;
    background: var(--rk-step-bg);
}

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

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

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

.rk-panel-top {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
}

.rk-panel-icon {
    width: 60px;
    height: 60px;
    background: var(--rk-step-blue-light);
    color: var(--rk-step-blue);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-panel-top h3 {
    font-size: 24px;
    font-weight: 800;
    color: var(--rk-step-dark);
    margin: 0;
}

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

.rk-panel-body ul {
    margin: 0;
    padding: 0 0 0 20px;
    color: var(--rk-step-text);
}

.rk-panel-body li {
    margin-bottom: 10px;
    line-height: 1.6;
}

.rk-panel-body a {
    color: var(--rk-step-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Mocne CTA */
.rk-cta-wrapper {
    padding: 45px 50px;
    background: linear-gradient(135deg, var(--rk-step-dark) 0%, #1e293b 100%);
    text-align: center;
    border-top: 1px solid #334155;
}

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

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

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

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

@media (max-width: 768px) {
    .rk-pipeline-header, .rk-step-content-area, .rk-cta-wrapper { padding: 30px 20px; }
    .rk-stepper-nav { flex-direction: column; }
    .rk-panel-top { flex-direction: column; align-items: flex-start; gap: 15px; }
    .rk-cta-btn { width: 100%; font-size: 15px; padding: 18px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#article-projekt-szkielet",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/"
    },
    "headline": "Jak ogrzewanie podłogowe w domu szkieletowym wpływa na projekt instalacji?",
    "description": "Poznaj 3-stopniowy schemat inżynierski: od obliczeń OZC, przez hydraulikę PN-EN 1264, aż po integrację z pompą ciepła w domach szkieletowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-07-15"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#dataset-procedura",
    "name": "Procedura Projektowa Instalacji Płaszczyznowych w Szkielecie",
    "description": "Dokumentacja inżynierska obejmująca trzy filary projektu: OZC, hydraulikę i maszynownię (źródło ciepła).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego z pompą ciepła",
      "obliczenia OZC dla domu szkieletowego",
      "rozstaw rur w systemie suchym",
      "przepływy w rozdzielaczu l/min",
      "bufor ciepła w lekkiej podłogówce"
    ],
    "measurementTechnique": "Algorytmy normatywne PN-EN 12831 oraz PN-EN 1264 dla konstrukcji drewnianych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Etap 1: Obliczenie OZC dla każdego pomieszczenia z uwzględnieniem szczelności wiatrowej.",
        "Etap 2: Dobór hydrauliczny - długość pętli, opory i kryzowanie na rotametrach.",
        "Etap 3: Zabezpieczenie minimalnego przepływu dla defrostu pompy ciepła (bufor szeregowy)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#webapp-pipeline",
    "name": "Interaktywny Schemat Projektowy HVAC",
    "description": "Narzędzie edukacyjne ilustrujące chronologię prac projektowych dla instalacji grzewczych w lekkich konstrukcjach szkieletowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-pipeline-container" id="rk-project-pipeline">
    <div class="rk-pipeline-header">
        <h2>Jak ogrzewanie podłogowe w domu szkieletowym wpływa na projekt instalacji?</h2>
        <p>Każdy profesjonalny projekt w technologii szkieletowej musi bezwzględnie bazować na trójstopniowej strukturze, całkowicie odrębnej od schematów powielanych w domach murowanych. Odkryj kolejne etapy inżynierskiego procesu.</p>
    </div>

    <!-- Stepper Navigation -->
    <div class="rk-stepper-nav">
        <button class="rk-step-btn active" onclick="showStep('step1', this)">
            <span class="rk-step-num">1</span>
            <span class="rk-step-title">Obliczenia OZC</span>
        </button>
        <button class="rk-step-btn" onclick="showStep('step2', this)">
            <span class="rk-step-num">2</span>
            <span class="rk-step-title">Hydraulika systemu</span>
        </button>
        <button class="rk-step-btn" onclick="showStep('step3', this)">
            <span class="rk-step-num">3</span>
            <span class="rk-step-title">Maszynownia</span>
        </button>
    </div>

    <!-- Content Area (Single Column) -->
    <div class="rk-step-content-area">
        
        <!-- Etap 1: OZC -->
        <div class="rk-step-panel active" id="step1">
            <div class="rk-panel-top">
                <div class="rk-panel-icon">
                    <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                </div>
                <h3>Obliczenie Zapotrzebowania na Ciepło (OZC)</h3>
            </div>
            <div class="rk-panel-body">
                <p>To absolutny fundament. Projektant musi wyznaczyć straty ciepła dla każdego pokoju osobno, co wprost odnosi się do <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">normy PN-EN 12831</a>. Ze względu na wysoką szczelność domów szkieletowych (często wyposażonych w rekuperację), straty wentylacyjne są tu minimalne.</p>
                <ul>
                    <li>Dokładne modelowanie strat przez przegrody i wentylację mechaniczną.</li>
                    <li>Określenie szczytowej mocy dla każdego pomieszczenia wyrażonej w Watach.</li>
                    <li>Projekt wykonany bez profesjonalnego OZC to gwarancja źle działającej, przewymiarowanej instalacji.</li>
                </ul>
            </div>
        </div>

        <!-- Etap 2: Hydraulika -->
        <div class="rk-step-panel" id="step2">
            <div class="rk-panel-top">
                <div class="rk-panel-icon">
                    <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></svg>
                </div>
                <h3>Projekt Hydrauliczny (PN-EN 1264)</h3>
            </div>
            <div class="rk-panel-body">
                <p>Na podstawie OZC następuje indywidualny dobór rozstawu rur. Projekt określa dokładną długość każdej pętli oraz nastawy wstępne na <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/">rozdzielaczach</a> (przepływy w l/min), co stanowi kluczowy element wymogów <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">normy EN 1264</a>.</p>
                <ul>
                    <li>Wybór technologii (np. system suchy o niskiej masie strukturalnej).</li>
                    <li>Odrzucenie zasady "co 10 cm wszędzie" na rzecz analitycznego doboru rozstawów.</li>
                    <li>Równoważenie ciśnień zapobiegające sytuacji, w której najdłuższa pętla jest niedogrzana z powodu oporów hydraulicznych.</li>
                </ul>
            </div>
        </div>

        <!-- Etap 3: Źródło -->
        <div class="rk-step-panel" id="step3">
            <div class="rk-panel-top">
                <div class="rk-panel-icon">
                    <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                </div>
                <h3>Integracja ze Źródłem Ciepła</h3>
            </div>
            <div class="rk-panel-body">
                <p>Ponieważ lekka podłogówka posiada niewielką pojemność wodną, kluczowym wyzwaniem jest zapewnienie minimalnego przepływu wymaganego przez producenta pompy ciepła do przeprowadzenia procedury odszraniania parownika (defrost).</p>
                <ul>
                    <li>Brak konieczności instalowania stratnych układów z zaworami mieszającymi.</li>
                    <li>W systemach suchych stosuje się często dedykowany <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufor ciepła wpięty szeregowo</a> (pojemność zaledwie 40–60 litrów).</li>
                    <li>Pozwala to na zachowanie bezpośredniego zasilania rozdzielaczy i maksymalnego współczynnika SCOP pompy ciepła.</li>
                </ul>
            </div>
        </div>

    </div>

    <!-- CTA do Projektów -->
    <div class="rk-cta-wrapper">
        <h3>Nie zgaduj z pompą ciepła i rurkami</h3>
        <p>Szkielet drewniany wymaga inżynierskiej precyzji, nie wykonawstwa "na oko". Zabezpiecz swój komfort i portfel już na etapie planowania, oddając obliczenia w ręce specjalistów.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-cta-btn">
            ZAMÓW INDYWIDUALNY PROJEKT OGRZEWANIA PODŁOGOWEGO Z OBLICZENIAMI OZC
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
function showStep(stepId, btnElement) {
    // 1. Zabezpieczone resetowanie przycisków
    var navContainer = btnElement.parentElement;
    var allBtns = navContainer.getElementsByClassName('rk-step-btn');
    var i = 0;
    while (i < allBtns.length) {
        allBtns[i].classList.remove('active');
        i++;
    }
    
    // 2. Aktywacja klikniętego przycisku
    btnElement.classList.add('active');
    
    // 3. Ukrywanie wszystkich paneli treści
    var contentArea = document.querySelector('.rk-step-content-area');
    var allPanels = contentArea.getElementsByClassName('rk-step-panel');
    var j = 0;
    while (j < allPanels.length) {
        allPanels[j].classList.remove('active');
        j++;
    }
    
    // 4. Wyświetlenie wybranego panelu
    var targetPanel = document.getElementById(stepId);
    if (targetPanel !== null) {
        targetPanel.classList.add('active');
    }
}
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-blue: #0284c7;
    --rk-case-blue-light: #f0f9ff;
    --rk-case-gold: #eab308;
    --rk-case-bg: #ffffff;
    --rk-case-border: #e2e8f0;
    --rk-case-text: #475569;
    --rk-case-red: #ef4444;
    --rk-case-green: #10b981;
}

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

/* Nagłówek i Profil Inwestora */
.rk-case-header {
    background: linear-gradient(135deg, var(--rk-case-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

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

.rk-persona-card {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.rk-persona-avatar {
    width: 60px;
    height: 60px;
    background: var(--rk-case-gold);
    color: var(--rk-case-dark);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 24px;
    flex-shrink: 0;
}

.rk-persona-info h3 {
    margin: 0 0 5px 0;
    font-size: 20px;
    font-weight: 800;
    color: #ffffff;
}

.rk-persona-info p {
    margin: 0;
    font-size: 15px;
    color: #94a3b8;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Interaktywna Nawigacja (Oś czasu) */
.rk-case-timeline {
    display: flex;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-case-border);
    padding: 20px 50px;
    gap: 15px;
}

.rk-timeline-btn {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 16px 20px;
    background: #ffffff;
    border: 2px solid var(--rk-case-border);
    border-radius: 12px;
    cursor: pointer;
    text-align: left;
    transition: all 0.2s ease;
}

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

.rk-timeline-btn.active {
    border-color: var(--rk-case-blue);
    background: var(--rk-case-blue-light);
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.1);
}

.rk-step-indicator {
    width: 30px;
    height: 30px;
    background: #cbd5e1;
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 14px;
    flex-shrink: 0;
}

.rk-timeline-btn.active .rk-step-indicator {
    background: var(--rk-case-blue);
}

.rk-timeline-text {
    font-size: 15px;
    font-weight: 800;
    color: #64748b;
}

.rk-timeline-btn.active .rk-timeline-text {
    color: var(--rk-case-dark);
}

/* Obszar Treści */
.rk-case-content {
    padding: 40px 50px;
    background: #ffffff;
}

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

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

.rk-panel-header svg {
    width: 32px;
    height: 32px;
}

.rk-panel-header h3 {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-case-dark);
    margin: 0;
}

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

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

/* Kafelki z danymi (Zestawienia) */
.rk-data-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 30px;
}

.rk-data-card {
    padding: 20px;
    border-radius: 16px;
    border: 1px solid;
    background: #f8fafc;
}

.rk-data-card.bad {
    background: #fef2f2;
    border-color: rgba(239, 68, 68, 0.2);
}

.rk-data-card.good {
    background: #f0fdf4;
    border-color: rgba(16, 185, 129, 0.2);
}

.rk-data-label {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 800;
    color: #64748b;
    margin-bottom: 5px;
}

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

.bad .rk-data-val { color: var(--rk-case-red); }
.good .rk-data-val { color: var(--rk-case-green); }

/* Responsywność */
@media (max-width: 768px) {
    .rk-case-header, .rk-case-timeline, .rk-case-content { padding: 30px 20px; }
    .rk-case-timeline { flex-direction: column; gap: 10px; }
    .rk-timeline-btn { width: 100%; padding: 15px; }
    .rk-data-grid { grid-template-columns: 1fr; }
    .rk-persona-card { flex-direction: column; text-align: center; }
    .rk-persona-info p { justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/"
    },
    "headline": "Case Study: Ogrzewanie podłogowe w domu szkieletowym na Śląsku",
    "description": "Analiza rzeczywistego przypadku inwestora z Tarnowskich Gór. Zobacz, jak zmiana amatorskiego planu na inżynierski projekt OZC uratowała nośność stropu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-07-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#dataset-casestudy",
    "name": "Zestawienie Zwrotu z Inwestycji (ROI) dla Projektu Ogrzewania",
    "description": "Dane analityczne pochodzące z rzeczywistego wdrożenia systemu suchego w domu szkieletowym 130m2 w Tarnowskich Górach.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego z pompy ciepła",
      "kompleksowa wycena ogrzewania podłogowego wodnego na co przygotować budżet",
      "zwrot z inwestycji w ogrzewanie podłogowe",
      "projekt ogrzewania podłogowego z głowy vs projekt z obliczeniami",
      "taktowanie pompy ciepła w domu szkieletowym"
    ],
    "measurementTechnique": "Analiza porównawcza parametrów statycznych (obciążenie kN/m2) oraz symulacja kosztów eksploatacyjnych po wdrożeniu audytu OZC.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Plan Inwestora: Wylewka 7 cm (obciążenie ok. 165 kg/m2), rury co 10 cm, brak OZC.",
        "Plan Inżynierski: System suchy (obciążenie 30 kg/m2), rozstaw rur 15-20 cm z OZC.",
        "Wynik wdrożenia: Uratowanie nośności stropu, płynna praca pompy ciepła (brak taktowania), optymalny zwrot z inwestycji po 6 latach."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#webapp-casestudy",
    "name": "Interaktywny Dziennik Inwestycji",
    "description": "Aplikacja edukacyjna pozwalająca prześledzić etapy audytu i optymalizacji projektu instalacji grzewczej dla konkretnego przypadku budowlanego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-container" id="rk-real-case">
    
    <!-- Nagłówek i Persona -->
    <div class="rk-case-header">
        <h2 class="rk-case-title">Case Study: Ogrzewanie podłogowe w domu szkieletowym na Śląsku</h2>
        
        <div class="rk-persona-card">
            <div class="rk-persona-avatar">T</div>
            <div class="rk-persona-info">
                <h3>Tomasz, 42 lata</h3>
                <p>
                    <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>
                    Tarnowskie Góry (woj. śląskie) | Dom szkieletowy 130 m²
                </p>
            </div>
        </div>
    </div>

    <!-- Nawigacja (Oś czasu) -->
    <div class="rk-case-timeline">
        <button class="rk-timeline-btn active" onclick="switchCaseStep('caseStep1', this)">
            <div class="rk-step-indicator">1</div>
            <span class="rk-timeline-text">Pierwotny pomysł Tomka</span>
        </button>
        <button class="rk-timeline-btn" onclick="switchCaseStep('caseStep2', this)">
            <div class="rk-step-indicator">2</div>
            <span class="rk-timeline-text">Nasza Diagnoza i Projekt</span>
        </button>
        <button class="rk-timeline-btn" onclick="switchCaseStep('caseStep3', this)">
            <div class="rk-step-indicator">3</div>
            <span class="rk-timeline-text">Faktyczny Efekt Inwestycji</span>
        </button>
    </div>

    <!-- Obszar treści paneli -->
    <div class="rk-case-content">
        
        <!-- Etap 1 -->
        <div class="rk-case-panel" id="caseStep1" style="display: block;">
            <div class="rk-panel-header">
                <svg style="color: var(--rk-case-red);" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                <h3>Problem: Wykonawstwo "na oko"</h3>
            </div>
            <p>Tomasz zgłosił się do nas w momencie, gdy lokalny hydraulik przygotowywał się do układania instalacji. Plan wykonawcy zakładał ułożenie rur co 10 cm w całym domu szkieletowym, aby "było ciepło", oraz wylanie na drewniany strop 7 cm betonu z miksokreta. Ponadto, wybrano urządzenie bez weryfikacji. Tomek szukał w sieci informacji, sprawdzając zawiłą <a href="https://projekt-ogrzewania.pl/kompleksowa-wycena-ogrzewania-podlogowego-wodnego-na-co-przygotowac-budzet/">kompleksową wycenę ogrzewania podłogowego wodnego i na co przygotować budżet</a>, i intuicyjnie czuł, że ten plan zrujnuje mu portfel.</p>
            
            <div class="rk-data-grid">
                <div class="rk-data-card bad">
                    <div class="rk-data-label">Planowane obciążenie stropu</div>
                    <div class="rk-data-val">165 kg / m²</div>
                </div>
                <div class="rk-data-card bad">
                    <div class="rk-data-label">Ryzyko dla pompy ciepła</div>
                    <div class="rk-data-val">Taktowanie (Krótkie cykle)</div>
                </div>
            </div>
        </div>

        <!-- Etap 2 -->
        <div class="rk-case-panel" id="caseStep2">
            <div class="rk-panel-header">
                <svg style="color: var(--rk-case-blue);" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 22 22 22"></polygon></svg>
                <h3>Diagnoza: Ratunek statyki i hydrauliki</h3>
            </div>
            <p>Wstrzymaliśmy prace. Przedstawiliśmy Tomkowi zestawienie: <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-glowy-vs-projekt-z-obliczeniami-ile-mozesz-stracic-na-bledach/">projekt ogrzewania podłogowego z głowy vs projekt z obliczeniami</a>. Przeprowadziliśmy pełne OZC dla jego domu. Okazało się, że zapotrzebowanie jest tak niskie, że rozstaw co 10 cm "udusiłby" układ.</p>
            <p><strong>Decyzja inżynieryjna:</strong> Zrezygnowaliśmy z ciężkiego betonu na rzecz ultralekkiego systemu suchego na cienkich płytach EPS. Zmieniliśmy ułożenie z 10 cm na precyzyjnie wyliczone 15 cm i 20 cm, stawiając na prawidłowy <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">projekt ogrzewania podłogowego z pompą ciepła</a>, który od razu przewidział zastosowanie 50-litrowego bufora dla wymuszenia defrostu.</p>
        </div>

        <!-- Etap 3 -->
        <div class="rk-case-panel" id="caseStep3">
            <div class="rk-panel-header">
                <svg style="color: var(--rk-case-green);" 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>
                <h3>Faktyczny Efekt Inwestycji</h3>
            </div>
            <p>Instalacja działa bez zarzutu. Rezygnacja z betonu na rzecz systemu suchego obniżyła obciążenie drewnianych belek na piętrze pięciokrotnie. Dom szkieletowy oddaje ciepło natychmiast, a co najważniejsze – inteligentne strefowanie odcina podłogówkę, gdy duże okna wpuszczają słońce.</p>
            <p>Tomek przekonał się, że <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/">zwrot z inwestycji w ogrzewanie podłogowe (realne wyliczenia na 2026 rok)</a> jest możliwy tylko wtedy, gdy początkowy droższy zakup odpowiednich materiałów i projektu OZC przekłada się na lata bezawaryjnej pracy sprzętu i niskie rachunki.</p>
            
            <div class="rk-data-grid">
                <div class="rk-data-card good">
                    <div class="rk-data-label">Ostateczne obciążenie stropu</div>
                    <div class="rk-data-val">30 kg / m²</div>
                </div>
                <div class="rk-data-card good">
                    <div class="rk-data-label">Praca systemu grzewczego</div>
                    <div class="rk-data-val">Stabilna, niski pobór prądu</div>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
function switchCaseStep(panelId, btnElement) {
    // 1. Zabezpieczony reset przycisków na osi czasu
    var navContainer = btnElement.parentElement;
    var allBtns = navContainer.getElementsByClassName('rk-timeline-btn');
    var i = 0;
    while (i < allBtns.length) {
        allBtns[i].classList.remove('active');
        i++;
    }
    
    // 2. Aktywacja wybranego etapu
    btnElement.classList.add('active');
    
    // 3. Zabezpieczone ukrycie wszystkich paneli treści
    var contentArea = document.querySelector('.rk-case-content');
    var allPanels = contentArea.getElementsByClassName('rk-case-panel');
    var j = 0;
    while (j < allPanels.length) {
        allPanels[j].style.display = 'none';
        j++;
    }
    
    // 4. Natychmiastowe wyświetlenie właściwego panelu
    var targetPanel = document.getElementById(panelId);
    if (targetPanel !== null) {
        targetPanel.style.display = 'block';
    }
}
</script>



<style>
:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-blue: #0284c7;
    --rk-auth-blue-light: #f0f9ff;
    --rk-auth-gold: #eab308;
    --rk-auth-bg: #ffffff;
    --rk-auth-border: #e2e8f0;
    --rk-auth-text: #334155;
    --rk-auth-quote: #1e293b;
}

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

/* Lewa Kolumna - Zdjęcie i Sociale */
.rk-auth-sidebar {
    width: 320px;
    background: linear-gradient(180deg, #f8fafc 0%, #e2e8f0 100%);
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-right: 1px solid var(--rk-auth-border);
    text-align: center;
}

.rk-auth-avatar {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    object-fit: cover;
    border: 6px solid #ffffff;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}

.rk-auth-role {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 900;
    color: var(--rk-auth-blue);
    letter-spacing: 1px;
    margin-bottom: 5px;
}

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

.rk-auth-socials {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}

.rk-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    background: #ffffff;
    color: var(--rk-auth-dark);
    border-radius: 10px;
    text-decoration: none;
    border: 1px solid var(--rk-auth-border);
    /* Brak animacji zgodnie z wytycznymi */
}

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

/* Prawa Kolumna - Treść Interaktywna */
.rk-auth-main {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.rk-auth-nav {
    display: flex;
    background: #ffffff;
    border-bottom: 2px solid var(--rk-auth-border);
}

.rk-auth-tab {
    flex: 1;
    background: transparent;
    border: none;
    padding: 20px 15px;
    font-size: 15px;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
    border-bottom: 4px solid transparent;
    /* Brak animacji */
}

.rk-auth-tab:hover {
    background: var(--rk-auth-blue-light);
    color: var(--rk-auth-blue);
}

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

.rk-auth-content-area {
    padding: 35px 40px;
    background: #ffffff;
    flex: 1;
}

.rk-auth-panel {
    display: none;
    /* Brak animacji fadeIn */
}

/* Typografia Paneli */
.rk-auth-panel h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    margin: 0 0 20px 0;
    line-height: 1.3;
}

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

/* Cytat */
.rk-quote-block {
    position: relative;
    padding: 25px 30px;
    background: var(--rk-auth-quote);
    color: #ffffff;
    border-radius: 16px;
    border-left: 6px solid var(--rk-auth-gold);
}

.rk-quote-mark {
    font-size: 60px;
    font-family: serif;
    color: rgba(255,255,255,0.1);
    line-height: 1;
    position: absolute;
    top: 10px;
    left: 20px;
}

.rk-quote-text {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.7;
    margin: 0;
    position: relative;
    z-index: 1;
}

/* Lista Zasad */
.rk-rules-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.rk-rules-list li {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px dashed var(--rk-auth-border);
}

.rk-rules-list li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.rk-rule-icon {
    flex-shrink: 0;
    color: var(--rk-auth-blue);
    background: var(--rk-auth-blue-light);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}

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

.rk-rule-text strong {
    color: var(--rk-auth-dark);
    display: block;
    margin-bottom: 4px;
}

/* Opis Eksperta */
.rk-bio-text p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-auth-text);
    margin: 0 0 15px 0;
}

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

/* Responsywność */
@media (max-width: 768px) {
    .rk-auth-container { flex-direction: column; }
    .rk-auth-sidebar { width: 100%; border-right: none; border-bottom: 1px solid var(--rk-auth-border); padding: 30px 20px; }
    .rk-auth-nav { flex-direction: column; }
    .rk-auth-tab { border-bottom: none; border-left: 4px solid transparent; text-align: left; padding: 15px 25px; border-top: 1px solid var(--rk-auth-border); }
    .rk-auth-tab.active { border-left-color: var(--rk-auth-blue); border-bottom-color: transparent; }
    .rk-auth-content-area { padding: 30px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#article-ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/"
    },
    "headline": "Zdaniem Roberta Kucharskiego - Podsumowanie inżynieryjne instalacji w domu szkieletowym",
    "description": "Stanowisko eksperckie, zestawienie żelaznych zasad projektowych oraz manifest budowlany dotyczący lekkich konstrukcji podłogowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-07-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#dataset-zasady",
    "name": "Zbiór Zasad Inżynieryjnych Roberta Kucharskiego",
    "description": "Baza wiedzy zdefiniowana przez eksperta branżowego, obejmująca procedury postępowania przy inwestycjach w ogrzewanie płaszczyznowe.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego z obliczeniami",
      "czy do ogrzewania podłogowego potrzebny jest projekt",
      "budowa bez ściemy",
      "największy bloger budowlany",
      "ekspert instalacji grzewczych"
    ],
    "measurementTechnique": "Weryfikacja dobrych praktyk instalacyjnych na podstawie wytycznych autorskich Projekt-Ogrzewania.pl.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zasada 1: Bezwzględny wymóg dokumentacji OZC przed ułożeniem pierwszego metra rury.",
        "Zasada 2: Dopasowanie bezwładności posadzki do technologii wznoszenia budynku.",
        "Zasada 3: Weryfikacja oporów hydraulicznych i podział pętli powyżej 100 mb."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#webapp-ekspert",
    "name": "Interaktywny Profil Eksperta HVAC",
    "description": "Cyfrowa wizytówka pozwalająca na przełączanie się pomiędzy podsumowaniem merytorycznym artykułu a zbiorem żelaznych zasad projektowych autora.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-auth-container" id="rk-expert-profile">
    
    <!-- Kolumna Autora -->
    <div class="rk-auth-sidebar">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Ekspert HVAC" class="rk-auth-avatar">
        <div class="rk-auth-role">CEO & Główny Projektant</div>
        <div class="rk-auth-name-tag">Robert Kucharski</div>
        
        <div class="rk-auth-socials">
            <a href="https://www.facebook.com/projektogrzewaniapl/" class="rk-social-link" target="_blank" rel="noopener noreferrer" aria-label="Facebook">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
            </a>
            <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" class="rk-social-link" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
            </a>
            <a href="https://x.com/Projekt_HVAC" class="rk-social-link" target="_blank" rel="noopener noreferrer" aria-label="X (Twitter)">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"></path></svg>
            </a>
        </div>
    </div>

    <!-- Kolumna Treści Interaktywnej -->
    <div class="rk-auth-main">
        <div class="rk-auth-nav">
            <button class="rk-auth-tab active" onclick="switchAuthTab('tabCytat', this)">Podsumowanie</button>
            <button class="rk-auth-tab" onclick="switchAuthTab('tabZasady', this)">Żelazne Zasady</button>
            <button class="rk-auth-tab" onclick="switchAuthTab('tabBio', this)">O Autorze</button>
        </div>

        <div class="rk-auth-content-area">
            
            <!-- Tab 1: Cytat (H2 zgodne z wytycznymi) -->
            <div class="rk-auth-panel" id="tabCytat" style="display: block;">
                <h2>Zdaniem Roberta Kucharskiego...</h2>
                <div class="rk-quote-block">
                    <div class="rk-quote-mark">"</div>
                    <p class="rk-quote-text">Budując dom o lekkiej konstrukcji szkieletowej, musisz całkowicie wymazać z pamięci nawyki stosowane w ciężkim budownictwie murowanym. Twoim największym wrogiem nie są wcale straty ciepła, lecz bezwładność betonu i brak precyzyjnego strefowania. Wybierając technologię suchą, nie inwestujesz wyłącznie w rury, lecz w bezpieczeństwo statyczne drewnianych stropów oraz sprawność Twojej pompy ciepła na lata.</p>
                </div>
            </div>

            <!-- Tab 2: Zasady -->
            <div class="rk-auth-panel" id="tabZasady">
                <h3>Inżynieryjny dekalog inwestora</h3>
                <ul class="rk-rules-list">
                    <li>
                        <div class="rk-rule-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>
                        <div class="rk-rule-text">
                            <strong>Fundament Obliczeniowy</strong>
                            <p>Zanim pozwolisz ekipie rozwinąć pierwszy zwój rury, upewnij się <a href="https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/">czy do ogrzewania podłogowego potrzebny jest projekt</a>. Odpowiedź brzmi: bez OZC i doboru hydraulicznego niszczysz budżet.</p>
                        </div>
                    </li>
                    <li>
                        <div class="rk-rule-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"><polygon points="12 2 2 22 22 22"></polygon></svg>
                        </div>
                        <div class="rk-rule-text">
                            <strong>Bezpieczeństwo Drewna (C24)</strong>
                            <p>Wilgoć technologiczna z mokrych jastrychów rzędu tysięcy litrów jest zabójcza dla konstrukcji szkieletu. Zawsze kieruj się w stronę zabudowy suchej.</p>
                        </div>
                    </li>
                    <li>
                        <div class="rk-rule-icon">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                        </div>
                        <div class="rk-rule-text">
                            <strong>Szybka Reakcja</strong>
                            <p>Dom z drewna wychładza się i nagrzewa błyskawicznie. Wymusza to stosowanie cienkich posadzek o szybkiej reakcji na inteligentne termostaty pokojowe.</p>
                        </div>
                    </li>
                </ul>
            </div>

            <!-- Tab 3: Bio -->
            <div class="rk-auth-panel" id="tabBio">
                <h3>Budowa bez ściemy</h3>
                <div class="rk-bio-text">
                    <p>Jestem największym blogerem branży budowlanej i wykończeniowej w Polsce oraz głównym projektantem systemów płaszczyznowych. Na co dzień zarządzam portalem Projekt-Ogrzewania.pl, gdzie dzielę się bezkompromisową, techniczną wiedzą z inwestorami.</p>
                    <p>Założyłem inicjatywę <strong>"Robert Kucharski – Budowa bez ściemy"</strong> oraz grupę <strong>"NIEZATAPIALNI"</strong>, aby chronić budujących przed patologiami wykonawczymi powielanymi z pokolenia na pokolenie. <a href="https://projekt-ogrzewania.pl/historia-ogrzewania-podlogowego-od-starozytnosci-do-dzis/">Historia ogrzewania podłogowego</a> dowodzi, że ewolucja technologii wymaga otwartego umysłu, a nie ślepego podążania za hasłem "zawsze tak robiliśmy".</p>
                </div>
            </div>

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

<script>
function switchAuthTab(tabId, btnElement) {
    // 1. Zabezpieczony reset przycisków
    var navContainer = btnElement.parentElement;
    var allBtns = navContainer.getElementsByClassName('rk-auth-tab');
    var i = 0;
    while (i < allBtns.length) {
        allBtns[i].classList.remove('active');
        i++;
    }
    
    // 2. Aktywacja przycisku (bez animacji)
    btnElement.classList.add('active');
    
    // 3. Zabezpieczone ukrycie paneli (bez animacji)
    var contentArea = document.querySelector('.rk-auth-content-area');
    var allPanels = contentArea.getElementsByClassName('rk-auth-panel');
    var j = 0;
    while (j < allPanels.length) {
        allPanels[j].style.display = 'none';
        j++;
    }
    
    // 4. Natychmiastowe wyświetlenie wybranego panelu
    var targetPanel = document.getElementById(tabId);
    if (targetPanel !== null) {
        targetPanel.style.display = 'block';
    }
}
</script>



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

.rk-faq-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: transparent;
}

.rk-faq-header {
    margin-bottom: 30px;
    padding-left: 15px;
    border-left: 5px solid var(--rk-faq-blue);
}

.rk-faq-container h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-faq-dark);
    margin: 0 0 10px 0;
    line-height: 1.2;
}

.rk-faq-subtitle {
    font-size: 16px;
    color: #64748b;
    margin: 0;
}

.rk-faq-wrapper {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-faq-item {
    background: var(--rk-faq-bg);
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    transition: all 0.3s ease;
}

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

.rk-faq-trigger {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 24px 30px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    transition: background-color 0.2s;
}

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

.rk-faq-trigger h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-faq-dark);
    margin: 0;
    line-height: 1.4;
}

.rk-faq-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-faq-blue);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

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

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

.rk-faq-item.is-open .rk-faq-content {
    opacity: 1;
}

.rk-faq-body {
    padding: 0 30px 30px 30px;
}

.rk-faq-body p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-faq-text);
    padding-top: 20px;
    border-top: 1px dashed #cbd5e1;
}

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

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

@media (max-width: 768px) {
    .rk-faq-trigger { padding: 20px; }
    .rk-faq-trigger h3 { font-size: 16px; }
    .rk-faq-body { padding: 0 20px 20px 20px; }
    .rk-faq-body p { font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/"
    },
    "headline": "FAQ – Najczęściej zadawane pytania o podłogówkę w domu szkieletowym",
    "description": "Błyskawiczne inżynierskie odpowiedzi na pytania dotyczące głośności pracy, doboru podłogi, bezwładności i zużycia prądu przez pompę ciepła w systemach suchych.",
    "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-15",
    "dateModified": "2026-07-15"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy system suchy ogrzewania podłogowego jest głośniejszy od tradycyjnej wylewki?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, prawidłowo zamontowany system suchy z folią poślizgową PE (ułożoną między lamelami aluminiowymi a panelami posadzkowymi) nie generuje żadnych pisków ani trzasków podczas rozszerzalności termicznej rur."
        }
      },
      {
        "@type": "Question",
        "name": "Jakie wykończenie podłogi wybrać na system suchy w domu szkieletowym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Najlepsze parametry przewodzenia wykazują płytki ceramiczne lub gres (klejone elastycznym klejem klasy S1 na płytach cementowo-włóknowych), a w drugiej kolejności trójwarstwowa deska barlinecka lub panele laminowane/winylowe z oznaczeniem producenta o przydatności do wodnego ogrzewania podłogowego (opór cieplny R poniżej 0,15 m2K/W)."
        }
      },
      {
        "@type": "Question",
        "name": "Czy w domu szkieletowym z podłogówką muszę montować grzejniki w sypialniach?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie ma takiej potrzeby, ponieważ dobrze zaprojektowana podłogówka o niskiej bezwładności pozwala na pełną kontrolę temperatury w sypialniach i dostosowanie jej do profilu dobowego użytkowników bez konieczności dublowania systemów grzewczych."
        }
      },
      {
        "@type": "Question",
        "name": "Ile czasu nagrzewa się sucha podłogówka w szkielecie?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Od momentu uruchomienia pompy ciepła i podania czynnika grzewczego, odczuwalny wzrost temperatury powierzchniowej posadzki następuje już po 30–60 minutach, podczas gdy klasyczny beton potrzebuje na to od 4 do 6 godzin."
        }
      },
      {
        "@type": "Question",
        "name": "Czy pompa ciepła w domu szkieletowym zużyje więcej prądu przy braku wylewek akumulacyjnych?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, zużycie energii będzie na tym samym lub niższym poziomie, ponieważ niska bezwładność systemu suchego umożliwia precyzyjne dopasowanie produkcji ciepła do bieżących strat budynku bez strat związanych z przegrzewaniem mas betonowych."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#webapp-faq",
    "name": "Baza Wiedzy Interaktywnej - FAQ Systemy Suche",
    "description": "Interaktywny panel zapytań umożliwiający szybką nawigację po najczęstszych problemach instalacyjnych w budownictwie drewnianym.",
    "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>FAQ – Najczęściej zadawane pytania</h2>
        <p class="rk-faq-subtitle">Inżynierskie fakty i mity o ogrzewaniu w konstrukcjach lekkich.</p>
    </div>

    <div class="rk-faq-wrapper">
        
        <!-- Pytanie 1 -->
        <div class="rk-faq-item">
            <button class="rk-faq-trigger" onclick="toggleFaq(this)">
                <h3>Czy system suchy ogrzewania podłogowego jest głośniejszy od tradycyjnej wylewki?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-body">
                    <p>Nie, prawidłowo zamontowany system suchy z folią poślizgową PE (ułożoną między lamelami aluminiowymi a panelami posadzkowymi) nie generuje żadnych pisków ani trzasków podczas rozszerzalności termicznej rur. Zobacz również, <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-nadaje-sie-do-drewnianego-stropu/">jakie zasady obowiązują przy montażu instalacji na nośnym stropie drewnianym</a>.</p>
                </div>
            </div>
        </div>

        <!-- Pytanie 2 -->
        <div class="rk-faq-item">
            <button class="rk-faq-trigger" onclick="toggleFaq(this)">
                <h3>Jakie wykończenie podłogi wybrać na system suchy w domu szkieletowym?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-body">
                    <p>Najlepsze parametry przewodzenia wykazują płytki ceramiczne lub gres (klejone elastycznym klejem klasy S1 na specjalnych płytach cementowo-włóknowych), a w drugiej kolejności trójwarstwowa deska barlinecka lub dedykowane materiały laminowane. Szukaj oznaczenia producenta o przydatności do wodnego ogrzewania (opór cieplny R poniżej 0,15 m²K/W). Przeczytaj więcej o dylemacie: <a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/">podłogi drewniane czy panele laminowane</a>.</p>
                </div>
            </div>
        </div>

        <!-- Pytanie 3 -->
        <div class="rk-faq-item">
            <button class="rk-faq-trigger" onclick="toggleFaq(this)">
                <h3>Czy w domu szkieletowym z podłogówką muszę montować grzejniki w sypialniach?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-body">
                    <p>Nie ma takiej potrzeby, ponieważ dobrze zaprojektowana instalacja płaszczyznowa o niskiej bezwładności pozwala na pełną kontrolę temperatury w sypialniach. Umożliwia precyzyjne dostosowanie krzywej grzewczej do profilu dobowego użytkowników bez konieczności dublowania kosztownych systemów. Sprawdź szczegółową <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/">analizę podłogówki jako jedynego źródła ciepła</a>.</p>
                </div>
            </div>
        </div>

        <!-- Pytanie 4 -->
        <div class="rk-faq-item">
            <button class="rk-faq-trigger" onclick="toggleFaq(this)">
                <h3>Ile czasu nagrzewa się sucha podłogówka w szkielecie?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-body">
                    <p>Od momentu uruchomienia pompy i podania czynnika grzewczego, odczuwalny wzrost temperatury powierzchniowej posadzki następuje już po 30–60 minutach. Dla porównania klasyczny zład betonowy potrzebuje na to od 4 do 6 godzin. Wynika to bezpośrednio z fizyki, co dokładnie wyjaśniam w materiale o tym <a href="https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/">ile czasu nagrzewa się podłogówka</a>.</p>
                </div>
            </div>
        </div>

        <!-- Pytanie 5 -->
        <div class="rk-faq-item">
            <button class="rk-faq-trigger" onclick="toggleFaq(this)">
                <h3>Czy pompa ciepła w domu szkieletowym zużyje więcej prądu przy braku wylewek akumulacyjnych?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-body">
                    <p>Nie, zużycie energii elektrycznej będzie na tym samym lub niższym poziomie. Niska bezwładność systemu suchego umożliwia bardzo precyzyjne, inteligentne dopasowanie produkcji ciepła do bieżących strat budynku bez strat związanych z niekontrolowanym przegrzewaniem (i późniejszym wychładzaniem) dużych mas betonowych. Dowiedz się więcej, czy <a href="https://projekt-ogrzewania.pl/czy-pompa-ciepla-ogrzeje-dom-z-podlogowka/">pompa ciepła efektywnie współpracuje z samą podłogówką</a>.</p>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
function toggleFaq(btn) {
    const parent = btn.parentElement;
    const content = parent.querySelector('.rk-faq-content');
    
    // Sprawdzamy, czy aktualny element jest otwarty
    const isOpen = parent.classList.contains('is-open');
    
    // Zamykamy wszystkie inne panele
    const allItems = document.querySelectorAll('.rk-faq-item');
    for (let i = 0; i < allItems.length; i++) {
        let item = allItems[i];
        item.classList.remove('is-open');
        let itemContent = item.querySelector('.rk-faq-content');
        if (itemContent !== null) {
            itemContent.style.maxHeight = null;
        }
    }
    
    // Jeśli kliknięty element nie był otwarty, to go otwieramy
    if (isOpen === false) {
        parent.classList.add('is-open');
        // Bezpieczne przypisanie max-height dynamicznie
        content.style.maxHeight = content.scrollHeight + "px";
    }
}
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-blue: #0284c7;
    --rk-dl-gold: #eab308;
    --rk-dl-bg: #ffffff;
    --rk-dl-border: #e2e8f0;
    --rk-dl-text: #334155;
    --rk-dl-gray: #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;
    border: 2px solid var(--rk-dl-border);
    box-shadow: 0 15px 35px -10px rgba(15, 23, 42, 0.1);
    overflow: hidden;
}

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

.rk-dl-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-dl-header h2 svg {
    color: var(--rk-dl-gold);
    flex-shrink: 0;
}

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

/* Główny obszar dwukolumnowy (Desktop) */
.rk-dl-body {
    display: flex;
    flex-direction: row;
    background: #ffffff;
}

/* Lewa Kolumna - Podgląd Infografiki */
.rk-dl-preview-col {
    width: 400px;
    padding: 35px;
    background: var(--rk-dl-gray);
    border-right: 1px solid var(--rk-dl-border);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-dl-thumb-box {
    width: 100%;
    background: #ffffff;
    border: 1px solid var(--rk-dl-border);
    border-radius: 12px;
    padding: 10px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
    margin-bottom: 20px;
}

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

.rk-dl-enlarge-btn {
    background: var(--rk-dl-blue);
    color: #ffffff;
    border: none;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 800;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    justify-content: center;
    text-transform: uppercase;
    /* Celowy brak transition wg wytycznych */
}

.rk-dl-enlarge-btn:hover {
    background: #0369a1;
}

/* Prawa Kolumna - Treść i Przyciski */
.rk-dl-content-col {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Nawigacja w prawej kolumnie */
.rk-dl-tabs {
    display: flex;
    flex-direction: row;
    border-bottom: 1px solid var(--rk-dl-border);
    background: var(--rk-dl-gray);
}

.rk-dl-tab-btn {
    flex: 1;
    background: transparent;
    border: none;
    padding: 18px 20px;
    font-size: 15px;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
    border-bottom: 3px solid transparent;
    /* Celowy brak transition wg wytycznych */
}

.rk-dl-tab-btn:hover {
    background: #e2e8f0;
    color: var(--rk-dl-dark);
}

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

/* Obszar treści zakładek */
.rk-dl-panels {
    padding: 30px 35px;
    flex: 1;
}

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

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

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

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

.rk-dl-license-box {
    background: #fef9c3;
    border-left: 4px solid var(--rk-dl-gold);
    padding: 15px 20px;
    border-radius: 0 8px 8px 0;
    margin-bottom: 20px;
}

.rk-dl-license-box p {
    margin: 0;
    color: #854d0e;
    font-size: 14px;
    font-weight: 600;
}

/* Przyciski Pobierania */
.rk-dl-actions {
    padding: 25px 35px;
    background: var(--rk-dl-gray);
    border-top: 1px solid var(--rk-dl-border);
    display: flex;
    gap: 15px;
}

.rk-dl-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 20px;
    border-radius: 12px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 900;
    text-transform: uppercase;
    /* Celowy brak transition wg wytycznych */
}

.rk-dl-btn-pdf {
    background: var(--rk-dl-blue);
    color: #ffffff;
    border: 2px solid var(--rk-dl-blue);
}

.rk-dl-btn-pdf:hover {
    background: #0369a1;
}

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

.rk-dl-btn-img:hover {
    background: #e2e8f0;
    border-color: #cbd5e1;
}

/* Stopka Prawna */
.rk-dl-footer {
    padding: 15px 35px;
    background: var(--rk-dl-dark);
    color: #94a3b8;
    font-size: 13px;
    text-align: center;
    border-top: 1px solid #1e293b;
}

/* Interaktywna Nakładka na pełne zdjęcie */
.rk-img-modal {
    display: none;
    width: 100%;
    padding: 20px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-dl-border);
    text-align: center;
}

.rk-img-modal img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    border: 1px solid var(--rk-dl-border);
}

.rk-close-modal {
    margin-top: 15px;
    background: var(--rk-dl-dark);
    color: #ffffff;
    border: none;
    padding: 10px 25px;
    font-size: 14px;
    font-weight: 800;
    border-radius: 8px;
    cursor: pointer;
    text-transform: uppercase;
}

.rk-close-modal:hover {
    background: #1e293b;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-dl-body { flex-direction: column; }
    .rk-dl-preview-col { width: 100%; border-right: none; border-bottom: 1px solid var(--rk-dl-border); padding: 25px; }
    .rk-dl-tabs { flex-direction: column; }
    .rk-dl-tab-btn { text-align: left; border-bottom: none; border-left: 4px solid transparent; }
    .rk-dl-tab-btn.active { border-bottom-color: transparent; border-left-color: var(--rk-dl-blue); }
    .rk-dl-actions { flex-direction: column; padding: 25px; }
    .rk-dl-btn { width: 100%; }
    .rk-dl-panels { padding: 25px; }
    .rk-dl-header { padding: 30px 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/"
    },
    "headline": "Kompendium w pigułce – Pobierz darmową infografikę instalacyjną",
    "description": "Profesjonalna infografika podsumowująca różnice i najczęstsze błędy w instalacjach ogrzewania podłogowego dla konstrukcji szkieletowych. Plik PDF gotowy na budowę.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Infografika-Ogrzewanie-podlogowe-w-domu-szkieletowym-–-kluczowe-roznice-i-pulapki.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": "2025-12-29",
    "dateModified": "2026-07-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#dataset-infografika",
    "name": "Zestawienie Wizualne: Błędy Instalacyjne i Dobór Posadzek",
    "description": "Graficzna reprezentacja parametrów krytycznych (OZC, wilgoć, statyka) niezbędnych podczas audytów instalacji płaszczyznowych w technologii drewnianej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "instalacja ogrzewania podłogowego czy warto robić to samemu",
      "jakie błędy najczęściej popełniają instalatorzy ogrzewania podłogowego",
      "wodne ogrzewanie podłogowe a meble jak połączyć komfort i aranżacje",
      "jak często trzeba serwisować ogrzewanie podłogowe",
      "schemat montażu instalacji szkielet"
    ],
    "measurementTechnique": "Agregacja inżynieryjnych danych liczbowych do postaci wizualnych diagramów porównawczych formatu A4.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wektorowa ilustracja obciążeń konstrukcyjnych generowanych przez jastrych betonowy.",
        "Schemat przepływów hydraulicznych i taktowania pompy ciepła.",
        "Kompendium wiedzy do wykorzystania mobilnego (Smartfon/Tablet)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#webapp-infografika",
    "name": "Interaktywne Centrum Pobierania Infografik HVAC",
    "description": "Aplikacja webowa ułatwiająca przegląd, akceptację warunków licencji oraz błyskawiczne pobieranie wektorowych materiałów szkoleniowych w formacie PDF i WEBP.",
    "applicationCategory": "MultimediaApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="rk-download-hub">
    
    <!-- Nagłówek -->
    <div class="rk-dl-header">
        <h2>
            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
            Kompendium w pigułce – Pobierz darmową infografikę
        </h2>
        <p>Nie masz czasu czytać całego artykułu na budowie? Przygotowałem dla Ciebie czytelne, wizualne podsumowanie najważniejszych zagrożeń i parametrów.</p>
    </div>

    <!-- Moduł rozszerzonego obrazu (domyślnie ukryty) -->
    <div class="rk-img-modal" id="rkFullImage">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Infografika-Ogrzewanie-podlogowe-w-domu-szkieletowym-–-kluczowe-roznice-i-pulapki.webp" alt="Pełny podgląd infografiki ogrzewania podłogowego" loading="lazy">
        <br>
        <button class="rk-close-modal" onclick="closeImage()">Zamknij Podgląd</button>
    </div>

    <!-- Główny podział na kolumny -->
    <div class="rk-dl-body" id="rkDlBody">
        
        <!-- Kolumna Lewa: Miniatura -->
        <div class="rk-dl-preview-col">
            <div class="rk-dl-thumb-box">
                <img decoding="async" class="rk-dl-thumbnail" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Infografika-Ogrzewanie-podlogowe-w-domu-szkieletowym-–-kluczowe-roznice-i-pulapki.webp" alt="Miniatura: Ogrzewanie w szkielecie" loading="lazy">
            </div>
            <button class="rk-dl-enlarge-btn" onclick="openImage()">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="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>
                Podgląd Pełnego Zdjęcia
            </button>
        </div>

        <!-- Kolumna Prawa: Informacje i Akcje -->
        <div class="rk-dl-content-col">
            
            <!-- Nawigacja zakładek -->
            <div class="rk-dl-tabs">
                <button class="rk-dl-tab-btn active" onclick="switchInfoTab('infoDesc', this)">O Materiale</button>
                <button class="rk-dl-tab-btn" onclick="switchInfoTab('infoLicense', this)">Zasady Prawne</button>
            </div>

            <!-- Treść zakładek -->
            <div class="rk-dl-panels">
                
                <div class="rk-dl-panel" id="infoDesc" style="display: block;">
                    <h3>Co zawiera plik?</h3>
                    <p>Infografika w formacie wysokiej rozdzielczości to narzędzie stworzone dla wykonawców i inwestorów. Pokazuje wprost, dlaczego należy się zastanowić, <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-czy-warto-robic-to-samemu/">czy instalację ogrzewania podłogowego warto robić samemu</a>.</p>
                    <p>Omawiam na niej zjawisko punktu rosy, nośność stropu drewnianego oraz to, <a href="https://projekt-ogrzewania.pl/jakie-bledy-najczesciej-popelniaja-instalatorzy-ogrzewania-podlogowego/">jakie błędy najczęściej popełniają instalatorzy</a> bazując na mitach z budownictwa murowanego.</p>
                </div>

                <div class="rk-dl-panel" id="infoLicense">
                    <h3>Zasady Udostępniania</h3>
                    <div class="rk-dl-license-box">
                        <p>Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem oryginalnego logotypu portalu i bez żadnej modyfikacji pliku bazowego.</p>
                    </div>
                    <p>Zależy mi na edukacji rynku. Możesz wydrukować ten materiał na budowę, użyć go podczas konsultacji z klientem czy rozwiązywania dylematów, np. <a href="https://projekt-ogrzewania.pl/wodne-ogrzewanie-podlogowe-a-meble-jak-polaczyc-komfort-i-aranzacje/">jak połączyć komfort wodnej podłogówki z aranżacją mebli</a>, a także w kwestii tego, <a href="https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/">jak często trzeba serwisować cały układ</a>.</p>
                </div>

            </div>

            <!-- Przyciski akcji (Zawsze widoczne w prawej kolumnie) -->
            <div class="rk-dl-actions">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Infografika-Ogrzewanie-podlogowe-w-domu-szkieletowym-–-kluczowe-roznice-i-pulapki.pdf" target="_blank" rel="noopener noreferrer" 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 PDF
                </a>
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Infografika-Ogrzewanie-podlogowe-w-domu-szkieletowym-–-kluczowe-roznice-i-pulapki.webp" target="_blank" rel="noopener noreferrer" class="rk-dl-btn rk-dl-btn-img">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                    Otwórz ZDJĘCIE
                </a>
            </div>

        </div>
    </div>

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

</div>

<script>
function switchInfoTab(tabId, btnElement) {
    // Natychmiastowy reset przycisków
    var navContainer = btnElement.parentElement;
    var allBtns = navContainer.getElementsByClassName('rk-dl-tab-btn');
    var i = 0;
    while (i < allBtns.length) {
        allBtns[i].classList.remove('active');
        i++;
    }
    
    // Natychmiastowa aktywacja
    btnElement.classList.add('active');
    
    // Natychmiastowe ukrycie paneli
    var contentArea = document.querySelector('.rk-dl-panels');
    var allPanels = contentArea.getElementsByClassName('rk-dl-panel');
    var j = 0;
    while (j < allPanels.length) {
        allPanels[j].style.display = 'none';
        j++;
    }
    
    // Wyświetlenie panelu
    var targetPanel = document.getElementById(tabId);
    if (targetPanel !== null) {
        targetPanel.style.display = 'block';
    }
}

function openImage() {
    var modal = document.getElementById('rkFullImage');
    var bodyArea = document.getElementById('rkDlBody');
    if (modal !== null) {
        modal.style.display = 'block';
    }
    if (bodyArea !== null) {
        bodyArea.style.display = 'none';
    }
}

function closeImage() {
    var modal = document.getElementById('rkFullImage');
    var bodyArea = document.getElementById('rkDlBody');
    if (modal !== null) {
        modal.style.display = 'none';
    }
    if (bodyArea !== null) {
        bodyArea.style.display = 'flex';
    }
}
</script>



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

.rk-tech-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-sum-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.15);
    border: 1px solid var(--rk-sum-blue);
    overflow: hidden;
}

/* Nagłówki */
.rk-tech-container h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-sum-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-tech-container h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--rk-sum-blue);
    margin: 0 0 20px 0;
}

.rk-tech-container h4 {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-sum-gray);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 10px 0;
}

.rk-tech-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, #f8fafc 0%, #e0f2fe 100%);
    border-bottom: 1px solid var(--rk-sum-border);
}

.rk-tech-desc {
    font-size: 16px;
    color: #334155;
    line-height: 1.6;
    margin-bottom: 0;
}

.rk-tech-desc a {
    color: var(--rk-sum-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Interaktywny Switcher */
.rk-interactive-module {
    padding: 40px 50px;
    background: #ffffff;
}

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

.rk-toggle {
    display: flex;
    background: #f1f5f9;
    border-radius: 99px;
    padding: 6px;
    position: relative;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.05);
}

.rk-toggle-btn {
    flex: 1;
    padding: 14px 30px;
    border-radius: 99px;
    border: none;
    background: transparent;
    font-size: 16px;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 2;
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
}

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

.rk-toggle-bg {
    position: absolute;
    top: 6px;
    left: 6px;
    height: calc(100% - 12px);
    width: calc(50% - 6px);
    background: var(--rk-sum-blue);
    border-radius: 99px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.3);
    z-index: 1;
}

/* Panel Wyników (Grid / Flex) */
.rk-stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.rk-stat-card {
    background: #f8fafc;
    border: 1px solid var(--rk-sum-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    transition: all 0.3s ease;
}

.rk-stat-icon {
    width: 50px;
    height: 50px;
    background: #ffffff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    flex-shrink: 0;
    color: var(--rk-sum-blue);
}

.rk-stat-info h4 {
    margin-bottom: 5px;
    color: #94a3b8;
    font-size: 13px;
}

.rk-stat-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-sum-dark);
    margin: 0;
    line-height: 1.2;
}

.rk-stat-sub {
    font-size: 13px;
    color: #64748b;
    margin-top: 5px;
}

.val-green { color: var(--rk-sum-green); }
.val-red { color: var(--rk-sum-red); }

/* Tagi SEO Długi Ogon */
.rk-tags-cloud {
    padding: 0 50px 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

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

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

/* CTA */
.rk-tech-cta {
    padding: 40px 50px;
    background: var(--rk-sum-dark);
    text-align: center;
    border-top: 1px solid #1e293b;
}

.rk-tech-cta h3 {
    color: #ffffff;
    margin-bottom: 15px;
}

.rk-tech-cta p {
    color: #94a3b8;
    margin-bottom: 25px;
    font-size: 16px;
}

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

.rk-btn-tech:hover {
    background: #059669;
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(16, 185, 129, 0.5);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-tech-header, .rk-interactive-module, .rk-tags-cloud, .rk-tech-cta { padding: 25px 20px; }
    .rk-tech-container h2 { font-size: 24px; }
    .rk-toggle { flex-direction: column; background: transparent; box-shadow: none; gap: 10px; padding: 0; }
    .rk-toggle-btn { background: #f1f5f9; color: #64748b; border: 1px solid var(--rk-sum-border); }
    .rk-toggle-btn.active { background: var(--rk-sum-blue); color: #ffffff; border-color: var(--rk-sum-blue); }
    .rk-toggle-bg { display: none; /* Ukrywamy animowane tło na mobile na rzecz prostych przycisków typu akordeon/stack */ }
    .rk-stats-grid { grid-template-columns: 1fr; }
    .rk-stat-card { padding: 20px; }
    .rk-btn-tech { width: 100%; font-size: 16px; padding: 15px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#article-suchy-vs-mokry",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/"
    },
    "headline": "Suchy vs. mokry system ogrzewania podłogowego w domu szkieletowym",
    "description": "Techniczne porównanie parametrów: obciążenie stropu, czas reakcji oraz wilgoć technologiczna. Sprawdź, dlaczego wylewka betonowa w domu szkieletowym to błąd inżynieryjny.",
    "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-15",
    "dateModified": "2026-07-15"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#dataset-porownanie",
    "name": "Parametry Fizyczne Systemów Ogrzewania Podłogowego (Suchy vs Beton)",
    "description": "Zestawienie inżynierskie obciążeń statycznych, czasów wiązania oraz pojemności cieplnej dla posadzek grzewczych w budownictwie szkieletowym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "obciążenie stropu drewnianego ogrzewaniem podłogowym",
      "czas schnięcia wylewki betonowej",
      "system suchy ogrzewania podłogowego parametry",
      "wylewka na ogrzewanie podłogowe waga",
      "wilgoć technologiczna w konstrukcji szkieletowej"
    ],
    "measurementTechnique": "Analiza numeryczna zgodnie z normą PN-EN 1264 i PN-EN 1995-1-1.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "System Suchy: Masa 30 kg/m2, Wilgoć 0 litrów, Czas schnięcia 0 dni.",
        "System Mokry (Jastrych): Masa 150 kg/m2, Wilgoć 20 litrów/m2, Czas schnięcia do 42 dni."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#webapp-symulator",
    "name": "Symulator Obciążeń i Wilgoci Podłogówki w Szkielecie",
    "description": "Interaktywny symulator pozwalający przełączać się między systemem suchym a mokrym w celu weryfikacji zagrożeń dla drewnianego stropu.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-tech-container" id="rk-system-comparator">
    <div class="rk-tech-header">
        <h2>Suchy vs. mokry system ogrzewania podłogowego w domu szkieletowym</h2>
        <p class="rk-tech-desc">
            Decyzja o wylaniu ton betonu na drewniany strop to punkt krytyczny inwestycji. Wybór technologii określa nie tylko bezwładność cieplną budynku, ale przede wszystkim bezpieczeństwo nośności drewna C24. Dowiedz się dokładnie <a href="https://projekt-ogrzewania.pl/czym-jest-system-suchy-w-wodnym-ogrzewaniu-podlogowym/">czym jest system suchy</a> i zestaw to z ryzykiem, jakie niesie <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">klasyczna wylewka betonowa</a>.
        </p>
    </div>

    <div class="rk-interactive-module">
        <h3>Symulator wpływu technologii na konstrukcję</h3>
        
        <div class="rk-toggle-wrapper">
            <div class="rk-toggle">
                <div class="rk-toggle-bg" id="rkToggleBg"></div>
                <button class="rk-toggle-btn active" onclick="switchTech('suchy')" id="btnSuchy">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
                    System Suchy (Lekki)
                </button>
                <button class="rk-toggle-btn" onclick="switchTech('mokry')" id="btnMokry">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path></svg>
                    Wylewka Cementowa
                </button>
            </div>
        </div>

        <div class="rk-stats-grid">
            <!-- Karta 1 -->
            <div class="rk-stat-card">
                <div class="rk-stat-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"></path><line x1="7" y1="7" x2="7.01" y2="7"></line></svg>
                </div>
                <div class="rk-stat-info">
                    <h4>OBCIĄŻENIE STROPU / M2</h4>
                    <p class="rk-stat-val val-green" id="valWeight">~30 kg</p>
                    <p class="rk-stat-sub" id="subWeight">Całkowicie bezpieczne dla belek stropowych.</p>
                </div>
            </div>
            
            <!-- Karta 2 -->
            <div class="rk-stat-card">
                <div class="rk-stat-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                </div>
                <div class="rk-stat-info">
                    <h4>CZAS REAKCJI GRZEWCZEJ</h4>
                    <p class="rk-stat-val val-green" id="valTime">30 - 60 min</p>
                    <p class="rk-stat-sub" id="subTime">Błyskawiczne dopasowanie do zysków solarnych.</p>
                </div>
            </div>

            <!-- Karta 3 -->
            <div class="rk-stat-card">
                <div class="rk-stat-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 15v4c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2v-4M17 9l-5 5-5-5M12 12.8V2.5"></path></svg>
                </div>
                <div class="rk-stat-info">
                    <h4>WILGOĆ TECHNOLOGICZNA</h4>
                    <p class="rk-stat-val val-green" id="valMoisture">0 litrów</p>
                    <p class="rk-stat-sub" id="subMoisture">Brak ryzyka pęcznienia drewna konstrukcyjnego.</p>
                </div>
            </div>

            <!-- Karta 4 -->
            <div class="rk-stat-card">
                <div class="rk-stat-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>
                </div>
                <div class="rk-stat-info">
                    <h4>GOTOWOŚĆ DO UKŁADANIA PANAELI</h4>
                    <p class="rk-stat-val val-green" id="valDrying">Natychmiast</p>
                    <p class="rk-stat-sub" id="subDrying">Oszczędzasz min. miesiąc postoju budowy.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-tags-cloud">
        <span class="rk-mat-tag"># ogrzewanie podłogowe w domu szkieletowym</span>
        <span class="rk-mat-tag"># system suchy ogrzewania podłogowego</span>
        <span class="rk-mat-tag"># wylewka na ogrzewanie podłogowe</span>
        <span class="rk-mat-tag"># lekka podłogówka bez wylewki</span>
        <span class="rk-mat-tag"># obciążenie stropu drewnianego</span>
        <span class="rk-mat-tag"># czas schnięcia wylewki</span>
        <span class="rk-mat-tag"># frezowanie ogrzewania podłogowego</span>
        <span class="rk-mat-tag"># cena za m2 robocizny podłogówki</span>
        <span class="rk-mat-tag"># ogrzewanie podłogowe wodne bez wylewki</span>
        <span class="rk-mat-tag"># wilgoć technologiczna w domu drewnianym</span>
    </div>

    <div class="rk-tech-cta">
        <h3>Zabezpiecz budżet i uniknij błędów</h3>
        <p>Zobacz pełne analizy, wyliczenia i inżynierskie przewodniki. Przejdź do największej w Polsce bazy wiedzy o płaszczyznowych systemach grzewczych.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-tech">
            BAZA WIEDZY EKSKLUZYWNEJ
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></svg>
        </a>
    </div>
</div>

<script>
function switchTech(type) {
    const btnSuchy = document.getElementById('btnSuchy');
    const btnMokry = document.getElementById('btnMokry');
    const bg = document.getElementById('rkToggleBg');
    
    // Zmienne DOM dla wyników
    const valWeight = document.getElementById('valWeight');
    const subWeight = document.getElementById('subWeight');
    const valTime = document.getElementById('valTime');
    const subTime = document.getElementById('subTime');
    const valMoisture = document.getElementById('valMoisture');
    const subMoisture = document.getElementById('subMoisture');
    const valDrying = document.getElementById('valDrying');
    const subDrying = document.getElementById('subDrying');

    if (type === 'suchy') {
        btnSuchy.classList.add('active');
        btnMokry.classList.remove('active');
        if(window.innerWidth > 768) {
            bg.style.transform = 'translateX(0)';
        }

        valWeight.textContent = '~30 kg';
        valWeight.className = 'rk-stat-val val-green';
        subWeight.textContent = 'Całkowicie bezpieczne dla belek stropowych.';
        
        valTime.textContent = '30 - 60 min';
        valTime.className = 'rk-stat-val val-green';
        subTime.textContent = 'Błyskawiczne dopasowanie do zysków solarnych.';

        valMoisture.textContent = '0 litrów';
        valMoisture.className = 'rk-stat-val val-green';
        subMoisture.textContent = 'Brak ryzyka pęcznienia drewna konstrukcyjnego.';

        valDrying.textContent = 'Natychmiast';
        valDrying.className = 'rk-stat-val val-green';
        subDrying.textContent = 'Oszczędzasz min. miesiąc postoju budowy.';

    } else {
        btnMokry.classList.add('active');
        btnSuchy.classList.remove('active');
        if(window.innerWidth > 768) {
            bg.style.transform = 'translateX(100%)';
        }

        valWeight.textContent = '~150 kg';
        valWeight.className = 'rk-stat-val val-red';
        subWeight.textContent = 'Ryzyko przekroczenia nośności statycznej stropu.';
        
        valTime.textContent = '4 - 6 godzin';
        valTime.className = 'rk-stat-val val-red';
        subTime.textContent = 'Wysoka bezwładność, przegrzewanie pomieszczeń.';

        valMoisture.textContent = 'Setki litrów';
        valMoisture.className = 'rk-stat-val val-red';
        subMoisture.textContent = 'Zagrożenie pleśnią i pękaniem drewna budowlanego.';

        valDrying.textContent = '4 - 6 tygodni';
        valDrying.className = 'rk-stat-val val-red';
        subDrying.textContent = 'Blokada prac wykończeniowych na budowie.';
    }
}
</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": [
        "ogrzewanie podłogowe w domu szkieletowym",
        "lekka podłogówka system suchy",
        "wylewka na drewnianym stropie",
        "projekt instalacji ogrzewania podłogowego",
        "taktowanie pompy ciepła w szkielecie"
      ],
      "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/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/">Ogrzewanie podłogowe w domu szkieletowym – kluczowe różnice i pułapki.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Grubość wylewki betonowej na ogrzewanie podłogowe.</title>
		<link>https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 14 Mar 2026 14:21:33 +0000</pubDate>
				<category><![CDATA[Błędy wykonawcze]]></category>
		<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Kalkulatory budowlane]]></category>
		<category><![CDATA[Materiały budowlane]]></category>
		<category><![CDATA[Narzędzia i kalkulatory]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Posadzki i wylewki]]></category>
		<category><![CDATA[bezwładność cieplna]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[dylatacje]]></category>
		<category><![CDATA[grubość wylewki]]></category>
		<category><![CDATA[jastrych cementowy]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[opór cieplny]]></category>
		<category><![CDATA[plastyfikator do betonu]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[posadzki]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[wylewka anhydrytowa]]></category>
		<category><![CDATA[wylewka betonowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3831</guid>

					<description><![CDATA[<p>Decyzja o montażu „podłogówki” to zaledwie początek wyzwań, z jakimi musisz się zmierzyć podczas budowy lub remontu domu. Jednym z kluczowych parametrów, który bezpośrednio wpłynie na sprawność instalacji, wysokość rachunków za energię oraz trwałość samej posadzki, jest odpowiednia grubość wylewki betonowej na ogrzewanie podłogowe. Zbyt cienka warstwa to ogromne ryzyko pęknięć i nierównomiernego rozkładu temperatur (tzw. efekt „zebry”). Z kolei zbyt masywny jastrych drastycznie zwiększy bezwładność cieplną systemu, sprawiając, że dom będzie nagrzewał się wolno, a koszty eksploatacji niepotrzebnie wzrosną. W tym artykule rozkładamy na czynniki pierwsze fizykę przenikania ciepła, tłumaczymy obowiązujące normy i podpowiadamy, jak uniknąć kosztownych błędów wykonawczych.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/">Grubość wylewki betonowej na ogrzewanie podłogowe.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-panel: #1e293b;
    --rk-intro-blue: #0284c7;
    --rk-intro-blue-light: #f0f9ff;
    --rk-intro-accent: #f59e0b; /* Pomarańczowy dla mocnego akcentu */
    --rk-intro-gray: #475569;
    --rk-intro-gray-light: #f1f5f9;
    --rk-intro-bg: #ffffff;
    --rk-intro-border: #e2e8f0;
}

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

/* Hero Header */
.rk-intro-header {
    background: var(--rk-intro-dark);
    padding: 35px 45px;
    color: #ffffff;
    border-bottom: 5px solid var(--rk-intro-blue);
    display: flex;
    align-items: center;
    gap: 20px;
}

.rk-intro-icon-main {
    width: 60px;
    height: 60px;
    background: rgba(2, 132, 199, 0.2);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #38bdf8;
    flex-shrink: 0;
}

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

/* Interactive Tabs */
.rk-intro-tabs {
    display: flex;
    background: var(--rk-intro-gray-light);
    border-bottom: 1px solid var(--rk-intro-border);
}

.rk-intro-tab-btn {
    flex: 1;
    padding: 20px 15px;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-intro-gray);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

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

.rk-intro-tab-icon {
    display: flex;
    align-items: center;
}

/* Content Area */
.rk-intro-content {
    background: #ffffff;
    position: relative;
}

.rk-intro-panel {
    display: none;
    padding: 40px 45px;
}

.rk-intro-panel.is-visible {
    display: block;
}

/* Quick Answer Box */
.rk-qa-box {
    background: var(--rk-intro-blue-light);
    border-left: 6px solid var(--rk-intro-blue);
    padding: 25px 30px;
    border-radius: 0 12px 12px 0;
    margin-bottom: 25px;
}

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

.rk-qa-text {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-intro-dark);
    line-height: 1.4;
    margin: 0;
}

/* Typography & Lists */
.rk-intro-text {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-intro-gray);
    margin: 0 0 15px 0;
}

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

.rk-roadmap-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-top: 25px;
}

.rk-roadmap-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 15px;
    background: var(--rk-intro-gray-light);
    border: 1px solid var(--rk-intro-border);
    border-radius: 12px;
}

.rk-roadmap-icon {
    color: var(--rk-intro-accent);
    margin-top: 2px;
}

.rk-roadmap-desc {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-intro-dark);
    margin: 0;
    line-height: 1.4;
}

@media (max-width: 768px) {
    .rk-intro-header {
        flex-direction: column;
        text-align: center;
        padding: 30px 20px;
    }
    .rk-intro-tabs {
        flex-direction: column;
    }
    .rk-intro-tab-btn {
        padding: 15px;
        border-bottom: none;
        border-left: 3px solid transparent;
        justify-content: flex-start;
    }
    .rk-intro-tab-btn.is-active {
        border-bottom-color: transparent;
        border-left-color: var(--rk-intro-blue);
    }
    .rk-intro-panel {
        padding: 30px 20px;
    }
    .rk-roadmap-grid {
        grid-template-columns: 1fr;
    }
    .rk-qa-text {
        font-size: 18px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/"
    },
    "headline": "Grubość wylewki betonowej na ogrzewanie podłogowe – Kompendium Wiedzy",
    "description": "Zrozum kluczowy parametr decydujący o wydajności podłogówki. Szybka odpowiedź o normatywnej grubości wylewki, oporach cieplnych i narzędziach interaktywnych.",
    "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": "2025-12-29",
    "dateModified": "2026-06-27"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#dataset-wstep",
    "name": "Normatywne wytyczne grubości wylewek betonowych na podłogówkę",
    "description": "Zestawienie optymalnych i bezpiecznych wartości grubości jastrychu nad rurami grzewczymi według PN-EN 1264.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "grubość wylewki betonowej na ogrzewanie podłogowe",
      "wylewka na podłogówkę 16mm",
      "otulina betonowa rury grzewczej",
      "minimalna grubość jastrychu ogrzewanie",
      "opór cieplny wylewki kalkulator"
    ],
    "measurementTechnique": "Weryfikacja parametrów termoizolacyjnych i wytrzymałości mechanicznej na podstawie norm PN-EN 1264 oraz PN-EN 13813.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Optymalna grubość całkowita: 6–8 cm",
        "Czysta otulina nad rurką 16 mm: od 3,0 do 4,5 cm",
        "Zgodność z normą PN-EN 1264 dla bezwładności cieplnej"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webapp-wstep",
    "name": "Nawigator Opracowania Inżynierskiego",
    "description": "Interaktywny moduł wprowadzający umożliwiający błyskawiczne przejście do kluczowej wiedzy oraz informujący o zaawansowanych symulatorach dostępnych w artykule.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-wrapper">
    <div class="rk-intro-header">
        <div class="rk-intro-icon-main">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
        </div>
        <h2>Grubość wylewki betonowej na ogrzewanie podłogowe</h2>
    </div>

    <div class="rk-intro-content">
        
        <div class="rk-intro-tabs">
            <button class="rk-intro-tab-btn is-active" id="rkIntroBtn1" onclick="rkSwitchIntro(1)">
                <div class="rk-intro-tab-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
                </div>
                Szybka Odpowiedź
            </button>
            <button class="rk-intro-tab-btn" id="rkIntroBtn2" onclick="rkSwitchIntro(2)">
                <div class="rk-intro-tab-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
                </div>
                Normy i Fizyka
            </button>
            <button class="rk-intro-tab-btn" id="rkIntroBtn3" onclick="rkSwitchIntro(3)">
                <div class="rk-intro-tab-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
                </div>
                Narzędzia w Artykule
            </button>
        </div>

        <div class="rk-intro-panel is-visible" id="rkIntroPanel1">
            <div class="rk-qa-box">
                <div class="rk-qa-title">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    Wartość optymalna
                </div>
                <p class="rk-qa-text">Optymalna, całkowita grubość wylewki cementowej w systemie mokrym wynosi <strong>6–8 cm</strong>. Przy rurze 16 mm gwarantuje to <strong>od 3,0 do 4,5 cm czystej otuliny</strong> betonowej nad instalacją.</p>
            </div>
            <p class="rk-intro-text">
                Grubość wylewki betonowej na ogrzewanie podłogowe to kluczowy parametr konstrukcyjny i termodynamiczny. Określa on odległość od styropianu do lica surowego jastrychu, decydując bezpośrednio o tym, jak szybko ciepło trafi do pomieszczenia i czy posadzka wytrzyma codzienne obciążenia bez pęknięć.
            </p>
        </div>

        <div class="rk-intro-panel" id="rkIntroPanel2">
            <p class="rk-intro-text">
                Wymiar rzędu 6-8 cm to nie wymysł wykonawców, lecz ścisły kompromis inżynierski. Taka grubość <strong>gwarantuje pełną zgodność z normą europejską PN-EN 1264</strong>, która reguluje dopuszczalny opór cieplny systemów płaszczyznowych.
            </p>
            <p class="rk-intro-text">
                Wybranie optymalnej masy betonu eliminuje ryzyko pękania warstwy wykończeniowej pod wpływem naprężeń termicznych, a jednocześnie minimalizuje <strong>bezwładność cieplną układu</strong>. Zbyt gruby jastrych obciąży pompę ciepła, a zbyt cienki – nie przekaże energii równomiernie (tzw. zebra termiczna).
            </p>
        </div>

        <div class="rk-intro-panel" id="rkIntroPanel3">
            <p class="rk-intro-text"><strong>W dalszej części tego kompendium udostępniam autorskie symulatory online.</strong> Dowiesz się z nich dokładnie, na czym polega fizyka wylewki betonowej. Czekają na Ciebie interaktywne moduły:</p>
            
            <div class="rk-roadmap-grid">
                <div class="rk-roadmap-item">
                    <div class="rk-roadmap-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20"></path><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    </div>
                    <p class="rk-roadmap-desc">Kalkulator oporu cieplnego i wagi masy jastrychu.</p>
                </div>
                <div class="rk-roadmap-item">
                    <div class="rk-roadmap-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    </div>
                    <p class="rk-roadmap-desc">Symulator czasu nagrzewania w zależności od rur.</p>
                </div>
                <div class="rk-roadmap-item">
                    <div class="rk-roadmap-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                    </div>
                    <p class="rk-roadmap-desc">Komparator właściwości anhydrytu i cementu.</p>
                </div>
                <div class="rk-roadmap-item">
                    <div class="rk-roadmap-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
                    </div>
                    <p class="rk-roadmap-desc">Kalkulator ryzyka pęknięć dla cienkich wylewek.</p>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
    function rkSwitchIntro(tabId) {
        // Zabezpieczony selektor, by uniknac konfliktu (bez &&)
        var btns = document.querySelectorAll('.rk-intro-tab-btn');
        for (var i = 0; i < btns.length; i++) {
            btns[i].classList.remove('is-active');
        }
        
        var panels = document.querySelectorAll('.rk-intro-panel');
        for (var j = 0; j < panels.length; j++) {
            panels[j].classList.remove('is-visible');
        }
        
        var actBtn = document.getElementById('rkIntroBtn' + tabId);
        var actPnl = document.getElementById('rkIntroPanel' + tabId);
        
        if (actBtn) {
            actBtn.classList.add('is-active');
        }
        if (actPnl) {
            actPnl.classList.add('is-visible');
        }
    }
</script>



<style>
:root {
    --rk-min-dark: #0f172a;
    --rk-min-panel: #1e293b;
    --rk-min-blue: #0284c7;
    --rk-min-green: #10b981;
    --rk-min-green-light: #dcfce7;
    --rk-min-red: #ef4444;
    --rk-min-red-light: #fef2f2;
    --rk-min-orange: #f97316;
    --rk-min-orange-light: #ffedd5;
    --rk-min-gray: #64748b;
    --rk-min-bg: #ffffff;
    --rk-min-border: #e2e8f0;
}

.rk-min-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-min-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-min-border);
    overflow: hidden;
}

/* Header */
.rk-min-header {
    background: linear-gradient(135deg, var(--rk-min-dark) 0%, var(--rk-min-panel) 100%);
    padding: 35px 45px;
    color: #ffffff;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-min-header::before {
    content: '';
    position: absolute;
    top: -50px;
    left: -50px;
    width: 200px;
    height: 200px;
    background: var(--rk-min-red);
    filter: blur(80px);
    opacity: 0.2;
}

.rk-min-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 10px 0;
    line-height: 1.3;
    position: relative;
}

.rk-min-header p {
    color: #94a3b8;
    font-size: 15px;
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
    position: relative;
}

/* App Interface */
.rk-min-app {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-min-border);
}

/* Controls */
.rk-min-controls {
    padding: 35px 45px;
    background: #ffffff;
    border-right: 1px solid var(--rk-min-border);
}

.rk-min-label-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

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

.rk-min-badge {
    background: var(--rk-min-blue);
    color: #ffffff;
    padding: 5px 12px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 800;
    transition: background-color 0.3s;
}

.rk-min-slider {
    width: 100%;
    -webkit-appearance: none;
    height: 8px;
    background: var(--rk-min-border);
    border-radius: 4px;
    outline: none;
    margin: 15px 0 25px 0;
}

.rk-min-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-min-blue);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.3);
    transition: transform 0.1s, background-color 0.3s;
    border: 3px solid #ffffff;
}

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

.rk-min-stats {
    background: var(--rk-min-gray);
    color: #ffffff;
    padding: 15px;
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    font-weight: 600;
}

.rk-min-stats-val {
    font-size: 18px;
    font-weight: 900;
    color: #cbd5e1;
}

/* Results Display */
.rk-min-display {
    padding: 35px 45px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}

.rk-min-card {
    background: #ffffff;
    border: 2px solid var(--rk-min-border);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s;
}

.rk-min-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    transition: all 0.3s;
}

.rk-min-card-content {
    flex: 1;
}

.rk-min-card-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-min-gray);
    margin-bottom: 4px;
}

.rk-min-card-status {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-min-dark);
}

/* Educational Content */
.rk-min-content {
    padding: 35px 45px;
}

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

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

.rk-min-list {
    margin: 0 0 20px 0;
    padding-left: 20px;
    color: #475569;
    font-size: 15px;
    line-height: 1.6;
}

.rk-min-list li {
    margin-bottom: 8px;
    font-weight: 600;
}

.rk-min-alert {
    background: var(--rk-min-red-light);
    border-left: 4px solid var(--rk-min-red);
    padding: 15px 20px;
    border-radius: 0 12px 12px 0;
    margin-top: 20px;
}

.rk-min-alert strong {
    color: var(--rk-min-red);
}

@media (max-width: 768px) {
    .rk-min-app { grid-template-columns: 1fr; }
    .rk-min-controls { border-right: none; border-bottom: 1px solid var(--rk-min-border); }
    .rk-min-header, .rk-min-controls, .rk-min-display, .rk-min-content { padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article-min-grubosc",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/"
    },
    "headline": "Jaka jest minimalna grubość wylewki betonowej na ogrzewanie podłogowe?",
    "description": "Zrozum zagrożenia wynikające ze zbyt cienkiej wylewki. Symulator ryzyka uszkodzeń strukturalnych i zjawiska zebry termicznej według normy PN-EN 13813.",
    "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-27",
    "dateModified": "2026-06-27"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#dataset-min-grubosc",
    "name": "Parametry krytyczne minimalnej grubości wylewki",
    "description": "Zestawienie technologicznych minimów grubości jastrychu (otulina) oraz fizycznych i termicznych konsekwencji ich nieprzestrzegania.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "minimalna grubość wylewki podłogowej",
      "zebra termiczna ogrzewanie podłogowe",
      "pękająca wylewka betonowa",
      "klawiszowanie płyt jastrychu",
      "otulina rury grzewczej 3 cm"
    ],
    "measurementTechnique": "Weryfikacja grubości na podstawie normy PN-EN 13813 (klasa wytrzymałości F4) oraz dystrybucji ciepła w płaszczyźnie poziomej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Minimalna całkowita grubość: 6,0 cm",
        "Minimalna otulina nad rurą 16 mm: 3,0 cm",
        "Ryzyka: pęknięcia powierzchniowe, zebra termiczna, klawiszowanie"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webapp-min-grubosc",
    "name": "Symulator Ryzyka Cienkiej Wylewki",
    "description": "Narzędzie interaktywne ilustrujące utratę nośności i stabilności termicznej podłogi wraz ze zmniejszaniem się warstwy otuliny betonowej.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-min-wrapper">
    <div class="rk-min-header">
        <h2>Dlaczego 6 cm to technologiczne minimum?</h2>
        <p>Zbyt cienki beton to katastrofa budowlana z opóźnionym zapłonem. Przesuń suwak i sprawdź, jak z każdym uciętym milimetrem beton traci wytrzymałość strukturalną i zdolność do równomiernego grzania.</p>
    </div>

    <div class="rk-min-app">
        <div class="rk-min-controls">
            <div class="rk-min-label-row">
                <div class="rk-min-label">Całkowita grubość jastrychu</div>
                <div class="rk-min-badge" id="rkMinValTotal">7.0 cm</div>
            </div>
            
            <input type="range" class="rk-min-slider" id="rkMinInpTotal" min="4.0" max="8.0" step="0.5" value="7.0" oninput="rkRunMinCalc()">
            
            <div style="display: flex; justify-content: space-between; font-size: 12px; font-weight: 700; color: var(--rk-min-gray); margin-bottom: 20px;">
                <span>4.0 cm (Błąd)</span>
                <span>8.0 cm (Zapas)</span>
            </div>

            <div class="rk-min-stats">
                <span>Rzeczywista otulina nad rurą:</span>
                <span class="rk-min-stats-val" id="rkMinValCover">4.0 cm</span>
            </div>
        </div>

        <div class="rk-min-display">
            
            <div class="rk-min-card" id="rkCardStruct">
                <div class="rk-min-icon" id="rkIconStruct">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
                </div>
                <div class="rk-min-card-content">
                    <div class="rk-min-card-title">Wytrzymałość Konstrukcyjna</div>
                    <div class="rk-min-card-status" id="rkStatStruct">Posadzka stabilna</div>
                </div>
            </div>

            <div class="rk-min-card" id="rkCardTherm">
                <div class="rk-min-icon" id="rkIconTherm">
                    <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-min-card-content">
                    <div class="rk-min-card-title">Rozkład Temperatur</div>
                    <div class="rk-min-card-status" id="rkStatTherm">Równomierne grzanie</div>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-min-content">
        <h3>Jaka jest minimalna grubość wylewki?</h3>
        <p>Minimalna całkowita grubość wylewki betonowej na ogrzewanie podłogowe wynosi <strong>6,0 cm</strong>, co przy zastosowaniu rury o średnicy 16 mm daje dokładnie <strong>3,0 cm czystej otuliny betonowej</strong> nad górną krawędzią rury grzewczej. Wymóg ten jest zgodny z normą PN-EN 13813 dla jastrychów cementowych o minimalnej klasie CT-C20-F4.</p>
        
        <p>Poniżej tej granicy wytrzymałość konstrukcyjna podłogi pływającej zostaje drastycznie naruszona. Beton o grubości mniejszej niż 30 mm nad rurą nie posiada odpowiedniej strefy do rozkładu naprężeń punktowych. Wytrzymałość na zginanie na poziomie 4 MPa (klasa F4) jest niewystarczająca, gdy siła uderzeniowa działa na tak cienki rdzeń. Przekroczenie stanów granicznych nośności skutkuje natychmiastowo:</p>
        
        <ul class="rk-min-list">
            <li>Głębokimi spękaniami powierzchniowymi wzdłuż tras rur,</li>
            <li>Odspajaniem się i pękaniem płytek ceramicznych,</li>
            <li>Powstaniem niebezpiecznego efektu klawiszowania płyt na stykach dylatacyjnych.</li>
        </ul>

        <div class="rk-min-alert">
            <strong>Zjawisko „zebry termicznej”</strong><br>
            Zbyt cienka wylewka generuje dodatkowy, bolesny w skutkach problem. Ciepło nie zdąży rozejść się bocznie w cienkiej masie betonu, zanim dotrze do powierzchni. W efekcie inwestor odczuwa na stopach naprzemienne pasy gorąca i zimna, co całkowicie rujnuje komfort i uniemożliwia prawidłową pracę samoregulacji.
        </div>
    </div>
</div>

<script>
    function rkRunMinCalc() {
        var inpTotal = document.getElementById('rkMinInpTotal');
        if(!inpTotal) return;

        var totalCm = parseFloat(inpTotal.value);
        var badgeTotal = document.getElementById('rkMinValTotal');
        
        // Zależność między grubością całkowitą a otuliną
        // (total - 3.0 bazowo)
        var coverCm = totalCm - 3.0;

        badgeTotal.innerText = totalCm.toFixed(1) + " cm";
        document.getElementById('rkMinValCover').innerText = coverCm.toFixed(1) + " cm";

        // Referencje do kart i ikon
        var cStruct = document.getElementById('rkCardStruct');
        var cTherm = document.getElementById('rkCardTherm');
        var iStruct = document.getElementById('rkIconStruct');
        var iTherm = document.getElementById('rkIconTherm');
        var sStruct = document.getElementById('rkStatStruct');
        var sTherm = document.getElementById('rkStatTherm');

        // Logika bez uzycia operatora "&&"
        if (totalCm >= 6.0) {
            // Stan bezpieczny (Normatywny)
            badgeTotal.style.backgroundColor = "var(--rk-min-blue)";
            
            cStruct.style.borderColor = "var(--rk-min-green)";
            cStruct.style.backgroundColor = "#ffffff";
            iStruct.style.backgroundColor = "var(--rk-min-green-light)";
            iStruct.style.color = "var(--rk-min-green)";
            sStruct.innerText = "Posadzka stabilna";
            sStruct.style.color = "var(--rk-min-green)";

            cTherm.style.borderColor = "var(--rk-min-blue)";
            cTherm.style.backgroundColor = "#ffffff";
            iTherm.style.backgroundColor = "var(--rk-min-blue-light)";
            iTherm.style.color = "var(--rk-min-blue)";
            sTherm.innerText = "Równomierne grzanie";
            sTherm.style.color = "var(--rk-min-blue)";
            
        } else {
            if (totalCm > 5.0) {
                // Stan ostrzegawczy
                badgeTotal.style.backgroundColor = "var(--rk-min-orange)";
                
                cStruct.style.borderColor = "var(--rk-min-orange)";
                cStruct.style.backgroundColor = "var(--rk-min-orange-light)";
                iStruct.style.backgroundColor = "#ffffff";
                iStruct.style.color = "var(--rk-min-orange)";
                sStruct.innerText = "Ryzyko mikropęknięć";
                sStruct.style.color = "var(--rk-min-orange)";

                cTherm.style.borderColor = "var(--rk-min-orange)";
                cTherm.style.backgroundColor = "var(--rk-min-orange-light)";
                iTherm.style.backgroundColor = "#ffffff";
                iTherm.style.color = "var(--rk-min-orange)";
                sTherm.innerText = "Zauważalna zebra termiczna";
                sTherm.style.color = "var(--rk-min-orange)";

            } else {
                // Stan krytyczny (Poniżej 5.0 cm całkowitej)
                badgeTotal.style.backgroundColor = "var(--rk-min-red)";
                
                cStruct.style.borderColor = "var(--rk-min-red)";
                cStruct.style.backgroundColor = "var(--rk-min-red-light)";
                iStruct.style.backgroundColor = "#ffffff";
                iStruct.style.color = "var(--rk-min-red)";
                sStruct.innerText = "KRYTYCZNE PĘKNIĘCIA";
                sStruct.style.color = "var(--rk-min-red)";

                cTherm.style.borderColor = "var(--rk-min-red)";
                cTherm.style.backgroundColor = "var(--rk-min-red-light)";
                iTherm.style.backgroundColor = "#ffffff";
                iTherm.style.color = "var(--rk-min-red)";
                sTherm.innerText = "EKSTREMALNA ZEBRA!";
                sTherm.style.color = "var(--rk-min-red)";
            }
        }
    }

    function rkInitMinApp() {
        rkRunMinCalc();
    }

    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', rkInitMinApp);
    } else {
        rkInitMinApp();
    }
</script>



<style>
:root {
    --rk-max-dark: #0f172a;
    --rk-max-panel: #1e293b;
    --rk-max-blue: #0284c7;
    --rk-max-blue-light: #e0f2fe;
    --rk-max-red: #dc2626;
    --rk-max-red-light: #fef2f2;
    --rk-max-orange: #ea580c;
    --rk-max-orange-light: #ffedd5;
    --rk-max-green: #16a34a;
    --rk-max-gray: #64748b;
    --rk-max-bg: #ffffff;
    --rk-max-border: #e2e8f0;
}

.rk-max-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-max-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(220, 38, 38, 0.1);
    border: 1px solid var(--rk-max-border);
    overflow: hidden;
}

/* Header */
.rk-max-header {
    background: linear-gradient(135deg, var(--rk-max-dark) 0%, var(--rk-max-panel) 100%);
    padding: 40px 50px;
    color: #ffffff;
    text-align: center;
    position: relative;
}

.rk-max-header::before {
    content: '';
    position: absolute;
    top: -50px;
    left: -50px;
    width: 200px;
    height: 200px;
    background: var(--rk-max-red);
    filter: blur(90px);
    opacity: 0.15;
}

.rk-max-header h2 {
    font-size: 30px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
    position: relative;
}

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

/* App Layout */
.rk-max-app {
    display: grid;
    grid-template-columns: 1fr;
    background: var(--rk-max-bg);
    border-bottom: 1px solid var(--rk-max-border);
}

/* Controls - Slider Area */
.rk-max-controls {
    padding: 35px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-max-border);
}

.rk-max-label-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.rk-max-label-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-max-dark);
}

.rk-max-val-badge {
    background: var(--rk-max-blue);
    color: #ffffff;
    padding: 6px 16px;
    border-radius: 10px;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.3);
    transition: background-color 0.3s;
}

/* Custom Range Slider */
.rk-max-slider {
    width: 100%;
    -webkit-appearance: none;
    height: 10px;
    background: var(--rk-max-border);
    border-radius: 5px;
    outline: none;
    margin: 10px 0 20px 0;
}

.rk-max-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-max-blue);
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.4);
    transition: transform 0.1s, background-color 0.3s;
    border: 3px solid #ffffff;
}

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

/* Results Grid */
.rk-max-results {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: var(--rk-max-border);
}

.rk-max-card {
    background: #ffffff;
    padding: 30px 20px;
    text-align: center;
    transition: background-color 0.3s;
}

.rk-max-icon {
    width: 40px;
    height: 40px;
    margin: 0 auto 15px auto;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rk-max-blue-light);
    color: var(--rk-max-blue);
    transition: all 0.3s;
}

.rk-max-card-title {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-max-gray);
    margin-bottom: 10px;
}

.rk-max-card-val {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-max-dark);
    line-height: 1.1;
    margin-bottom: 5px;
    transition: color 0.3s;
}

.rk-max-card-unit {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-max-gray);
}

/* Explanation Content */
.rk-max-content {
    padding: 40px 50px;
}

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

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

.rk-max-warning-box {
    background: var(--rk-max-red-light);
    border-left: 4px solid var(--rk-max-red);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin: 25px 0;
}

.rk-max-warning-box h4 {
    color: var(--rk-max-red);
    font-size: 16px;
    font-weight: 800;
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-max-warning-box ul {
    margin: 0;
    padding-left: 20px;
    color: #7f1d1d;
    font-size: 15px;
    line-height: 1.6;
}

.rk-max-warning-box li {
    margin-bottom: 8px;
}
.rk-max-warning-box li:last-child {
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .rk-max-header, .rk-max-controls, .rk-max-content { padding: 30px 20px; }
    .rk-max-results { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
    .rk-max-results { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article-maxgrubosc",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/"
    },
    "headline": "Jaka jest maksymalna grubość jastrychu cementowego przy podłogówce?",
    "description": "Analiza skutków wylania zbyt grubej warstwy betonu. Dowiedz się, dlaczego 10 cm wylewki drastycznie obniża COP pompy ciepła i wydłuża czas nagrzewania.",
    "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-27",
    "dateModified": "2026-06-27"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#dataset-maxgrubosc",
    "name": "Wpływ przewymiarowania grubości jastrychu na parametry instalacji",
    "description": "Zbiór danych wykazujący korelację między nadmierną grubością wylewki a spadkiem wydajności pompy ciepła (COP) oraz wzrostem oporu cieplnego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna grubość wylewki",
      "spadek COP pompy ciepła",
      "zbyt gruba wylewka na podłogówkę",
      "opór cieplny grubego betonu",
      "czas nagrzewania grubej wylewki"
    ],
    "measurementTechnique": "Analiza oporów termicznych R oraz spadku sprawności pompy ciepła (COP) w funkcji wymuszonego wzrostu temperatury zasilania.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Opór cieplny dla 10 cm betonu: R = 0,083 m²K/W",
        "Wydłużenie czasu nagrzewania: do 6-9 godzin",
        "Wzrost wymaganej temperatury zasilania: o 3–5°C",
        "Spadek efektywności (COP): 2,5% na każdy 1°C podbicia zasilania"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webapp-maxgrubosc",
    "name": "Symulator Przewymiarowania Wylewki",
    "description": "Interaktywne narzędzie inżynierskie ukazujące na żywo degradację parametrów instalacji (opór, COP, masa) przy nienormatywnym pogrubianiu jastrychu.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-max-wrapper">
    <div class="rk-max-header">
        <h2>Skutki przewymiarowania grubości wylewki</h2>
        <p>Więcej betonu nie oznacza lepiej. Maksymalna technicznie uzasadniona całkowita grubość wylewki cementowej to 8,0 cm. Przesuń suwak i zobacz, jak wylanie "zapasowej" warstwy zabija wydajność Twojej instalacji oraz portfela.</p>
    </div>

    <div class="rk-max-app">
        <div class="rk-max-controls">
            <div class="rk-max-label-row">
                <div class="rk-max-label-title">Projektowana grubość betonu:</div>
                <div class="rk-max-val-badge" id="rkMaxLblThick">7.0 cm</div>
            </div>
            <input type="range" class="rk-max-slider" id="rkMaxInpThick" min="6.5" max="12.0" step="0.5" value="7.0" oninput="rkRunMaxCalc()">
            <div style="display: flex; justify-content: space-between; font-size: 12px; font-weight: 700; color: var(--rk-max-gray); padding: 0 5px;">
                <span>6.5 cm (Norma)</span>
                <span>12.0 cm (Krytyczny Błąd)</span>
            </div>
        </div>

        <div class="rk-max-results">
            
            <div class="rk-max-card" id="rkCardR">
                <div class="rk-max-icon" id="rkIconR">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="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-max-card-title">Opór (R) samej płyty</div>
                <div class="rk-max-card-val" id="rkValR">0.058</div>
                <div class="rk-max-card-unit">m²K/W</div>
            </div>

            <div class="rk-max-card" id="rkCardTime">
                <div class="rk-max-icon" id="rkIconTime">
                    <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-max-card-title">Czas nagrzewania</div>
                <div class="rk-max-card-val" id="rkValTime">4.0</div>
                <div class="rk-max-card-unit">godzin</div>
            </div>

            <div class="rk-max-card" id="rkCardTemp">
                <div class="rk-max-icon" id="rkIconTemp">
                    <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="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path></svg>
                </div>
                <div class="rk-max-card-title">Korekta zasilania</div>
                <div class="rk-max-card-val" id="rkValTemp">+0.0</div>
                <div class="rk-max-card-unit">°C</div>
            </div>

            <div class="rk-max-card" id="rkCardCOP">
                <div class="rk-max-icon" id="rkIconCOP">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline></svg>
                </div>
                <div class="rk-max-card-title">Spadek COP Pompy</div>
                <div class="rk-max-card-val" id="rkValCOP">0.0</div>
                <div class="rk-max-card-unit">% (strata)</div>
            </div>

        </div>
    </div>

    <div class="rk-max-content">
        <h3>Jaka jest maksymalna grubość jastrychu?</h3>
        <p>Maksymalna uzasadniona technicznie całkowita grubość wylewki betonowej na ogrzewanie podłogowe wynosi <strong>8,0 cm</strong> (co daje 4,5–5,0 cm otuliny nad rurą), przekraczając wytyczne normy PN-EN 1264-2, która definiuje optymalne parametry oporu cieplnego warstwy akumulacyjnej. Każdy dodatkowy centymetr betonu powyżej tej granicy podnosi masę metra kwadratowego posadzki o 22–24 kg, generując niepotrzebne obciążenie stropu.</p>
        
        <p>Wykonanie wylewki o grubości 10 cm lub 12 cm zamiast projektowych 7 cm to potężny błąd technologiczny, który uderza bezpośrednio w koszty eksploatacji pompy ciepła. Zwiększenie grubości jastrychu z 6,5 cm do 10 cm podnosi opór cieplny samej wylewki z poziomu ok. 0,054 m²K/W do aż 0,083 m²K/W (przy założeniu przewodności betonu na poziomie 1,2 W/(m·K)).</p>

        <div class="rk-max-warning-box">
            <h4>
                <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>
                Konsekwencje technologiczne zbyt grubej warstwy:
            </h4>
            <ul>
                <li><strong>Drastyczne wydłużenie czasu nagrzewania:</strong> Układ potrzebuje od 6 do 9 godzin, aby zareagować na zmianę nastawy, co czyni automatykę pogodową całkowicie bezużyteczną.</li>
                <li><strong>Wymóg podniesienia temperatury zasilania:</strong> Aby przebić się przez grubą warstwę i utrzymać normatywne 26°C na podłodze, należy podnieść temperaturę wody grzewczej o 3–5°C.</li>
                <li><strong>Spadek COP pompy ciepła:</strong> Każdy wzrost temperatury zasilania o 1°C obniża współczynnik efektywności COP o około 2,5%, co bezpośrednio podnosi rachunki za prąd.</li>
            </ul>
        </div>
    </div>
</div>

<script>
    function rkRunMaxCalc() {
        var thickInp = document.getElementById('rkMaxInpThick');
        if(!thickInp) return;

        var thick = parseFloat(thickInp.value);
        var badge = document.getElementById('rkMaxLblThick');
        badge.innerText = thick.toFixed(1) + " cm";

        // Fizyka (baza)
        var lambda = 1.2; 
        var resistance = (thick / 100) / lambda;
        
        // Czas nagrzewania (estymacja: 7cm = ~4h, wykladniczo rosnie)
        var baseTime = 4.0;
        var timeVal = baseTime;
        if (thick > 7.0) {
            timeVal = baseTime + Math.pow((thick - 7.0), 1.3) * 1.5;
        } else {
            timeVal = baseTime - ((7.0 - thick) * 0.5);
        }

        // Konsekwencje dla pompy (Start kary od 7.5cm)
        var tempIncrease = 0.0;
        var copDrop = 0.0;
        
        if (thick > 7.5) {
            // ok 1 stopien wiecej na kazdy 1 cm powyzej 7.5
            tempIncrease = (thick - 7.5) * 1.1; 
            copDrop = tempIncrease * 2.5; 
        }

        // Aktualizacja DOM
        document.getElementById('rkValR').innerText = resistance.toFixed(3);
        document.getElementById('rkValTime').innerText = timeVal.toFixed(1);
        document.getElementById('rkValTemp').innerText = "+" + tempIncrease.toFixed(1);
        document.getElementById('rkValCOP').innerText = "-" + copDrop.toFixed(1);

        // Zmiana stylów w oparciu o stany krytyczne (brak operatora &&)
        var stColor = "var(--rk-max-blue)";
        var stBg = "var(--rk-max-blue-light)";
        
        if (thick <= 8.0) {
            stColor = "var(--rk-max-green)";
            stBg = "#dcfce7";
            badge.style.backgroundColor = "var(--rk-max-green)";
        } else {
            if (thick <= 9.5) {
                stColor = "var(--rk-max-orange)";
                stBg = "var(--rk-max-orange-light)";
                badge.style.backgroundColor = "var(--rk-max-orange)";
            } else {
                stColor = "var(--rk-max-red)";
                stBg = "var(--rk-max-red-light)";
                badge.style.backgroundColor = "var(--rk-max-red)";
            }
        }

        // Aplikowanie stylów do ikon i wartości
        var cards = ['rkCardR', 'rkCardTime', 'rkCardTemp', 'rkCardCOP'];
        var icons = ['rkIconR', 'rkIconTime', 'rkIconTemp', 'rkIconCOP'];
        var vals = ['rkValR', 'rkValTime', 'rkValTemp', 'rkValCOP'];

        for(var i=0; i < cards.length; i++) {
            document.getElementById(icons[i]).style.backgroundColor = stBg;
            document.getElementById(icons[i]).style.color = stColor;
            
            // Kolorujemy tylko krytyczne wartości na czerwono by zwrocic uwage
            if (thick > 8.0) {
                document.getElementById(vals[i]).style.color = stColor;
            } else {
                document.getElementById(vals[i]).style.color = "var(--rk-max-dark)";
            }
        }
    }

    function rkInitMaxApp() {
        rkRunMaxCalc();
    }

    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', rkInitMaxApp);
    } else {
        rkInitMaxApp();
    }
</script>



<style>
:root {
    --rk-fin-dark: #0f172a;
    --rk-fin-panel: #1e293b;
    --rk-fin-blue: #0284c7;
    --rk-fin-blue-light: #e0f2fe;
    --rk-fin-green: #10b981;
    --rk-fin-red: #ef4444;
    --rk-fin-red-light: #fef2f2;
    --rk-fin-gray: #64748b;
    --rk-fin-bg: #ffffff;
    --rk-fin-border: #e2e8f0;
}

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

/* Header */
.rk-fin-header {
    background: linear-gradient(135deg, var(--rk-fin-dark) 0%, var(--rk-fin-panel) 100%);
    padding: 35px 45px;
    color: #ffffff;
    text-align: center;
}

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

.rk-fin-header p {
    color: #94a3b8;
    font-size: 15px;
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Interactive App */
.rk-fin-app {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-fin-border);
}

/* Controls */
.rk-fin-controls {
    padding: 35px 45px;
    background: #ffffff;
    border-right: 1px solid var(--rk-fin-border);
}

.rk-fin-group {
    margin-bottom: 25px;
}
.rk-fin-group:last-child {
    margin-bottom: 0;
}

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

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

/* Buttons */
.rk-fin-btn-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
}

.rk-fin-btn {
    padding: 12px 5px;
    background: #ffffff;
    border: 2px solid var(--rk-fin-border);
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-fin-gray);
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.rk-fin-btn span {
    font-size: 11px;
    opacity: 0.7;
    font-weight: 600;
}

.rk-fin-btn:hover {
    border-color: var(--rk-fin-blue);
    color: var(--rk-fin-blue);
}

.rk-fin-btn.is-active {
    background: var(--rk-fin-blue);
    border-color: var(--rk-fin-blue);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.3);
}

/* Slider */
.rk-fin-slider {
    width: 100%;
    -webkit-appearance: none;
    height: 8px;
    background: var(--rk-fin-border);
    border-radius: 4px;
    outline: none;
    margin-top: 10px;
}

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

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

/* Display */
.rk-fin-display {
    padding: 35px 45px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-fin-gauge-box {
    background: #ffffff;
    border: 2px solid var(--rk-fin-border);
    border-radius: 16px;
    padding: 30px 20px;
    text-align: center;
    position: relative;
    transition: border-color 0.3s;
}

.rk-fin-gauge-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-fin-gray);
    text-transform: uppercase;
    margin-bottom: 10px;
}

.rk-fin-total-val {
    font-size: 48px;
    font-weight: 900;
    color: var(--rk-fin-dark);
    line-height: 1;
    margin-bottom: 5px;
    font-variant-numeric: tabular-nums;
}

.rk-fin-unit {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-fin-gray);
    margin-bottom: 25px;
}

/* Progress Bar */
.rk-fin-bar-container {
    width: 100%;
    height: 16px;
    background: #e2e8f0;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    margin-bottom: 15px;
}

.rk-fin-bar-fill {
    height: 100%;
    width: 0%;
    background: var(--rk-fin-green);
    border-radius: 8px;
    transition: width 0.4s ease, background-color 0.4s ease;
}

.rk-fin-bar-limit {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 75%; /* 0.15 limit out of 0.20 max */
    width: 2px;
    background: var(--rk-fin-red);
    z-index: 2;
}

.rk-fin-limit-label {
    font-size: 11px;
    font-weight: 800;
    color: var(--rk-fin-red);
    text-align: right;
    padding-right: 25%; /* align with 75% limit */
}

.rk-fin-status {
    margin-top: 15px;
    font-size: 14px;
    font-weight: 800;
    padding: 8px 15px;
    border-radius: 8px;
    display: inline-block;
}

/* Content */
.rk-fin-content {
    padding: 35px 45px;
}

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

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

.rk-math-box {
    background: var(--rk-fin-blue-light);
    border-left: 4px solid var(--rk-fin-blue);
    padding: 15px 20px;
    border-radius: 0 8px 8px 0;
    font-family: monospace;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-fin-dark);
    margin: 20px 0;
}

@media (max-width: 768px) {
    .rk-fin-app { grid-template-columns: 1fr; }
    .rk-fin-controls { border-right: none; border-bottom: 1px solid var(--rk-fin-border); }
    .rk-fin-header, .rk-fin-controls, .rk-fin-display, .rk-fin-content { padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article-wykonczenie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/"
    },
    "headline": "Jak rodzaj wykończenia posadzki modyfikuje grubość wylewki betonowej?",
    "description": "Analiza wpływu oporu cieplnego materiałów wykończeniowych (płytki, panele, drewno) na wymaganą grubość jastrychu w systemach płaszczyznowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.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": "2025-12-29",
    "dateModified": "2026-06-27"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#dataset-wykonczenie",
    "name": "Zestawienie oporów cieplnych dla materiałów wykończeniowych posadzek",
    "description": "Baza danych określająca wartości współczynnika R dla popularnych okładzin (płytki gresowe, panele z podkładem PUM, deski warstwowe).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "opór cieplny paneli podłogowych",
      "ogrzewanie podłogowe a panele laminowane",
      "wylewka betonowa pod płytki",
      "grubość wylewki pod deskę drewnianą",
      "norma PN-EN 1264 opór posadzki"
    ],
    "measurementTechnique": "Algorytm sumujący opory cieplne poszczególnych warstw (Rw + Ro) w celu weryfikacji zgodności z normatywnym limitem 0,15 m²K/W.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Płytki ceramiczne: R ≈ 0,01 m²K/W",
        "Panele laminowane z podkładem PUM: R ≈ 0,07 m²K/W",
        "Deska warstwowa/lita: R ≥ 0,10 m²K/W",
        "Limit całkowity (wylewka + okładzina): max 0,15 m²K/W"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webapp-wykonczenie",
    "name": "Bilansator Oporu Cieplnego Posadzki",
    "description": "Interaktywny kalkulator weryfikujący poprawność doboru grubości jastrychu w relacji do wybranej okładziny podłogowej, bazujący na prawie Fouriera.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-fin-wrapper">
    <div class="rk-fin-header">
        <h2>Jak rodzaj wykończenia modyfikuje grubość wylewki?</h2>
        <p>Wybór materiału na podłogę to nie tylko kwestia estetyki, ale przede wszystkim fizyki. Sprawdź, czy Twoja warstwa betonu w połączeniu z wymarzonym wykończeniem nie przekroczy krytycznej granicy oporu cieplnego.</p>
    </div>

    <div class="rk-fin-app">
        <div class="rk-fin-controls">
            
            <div class="rk-fin-group">
                <div class="rk-fin-label">
                    <span>Okładzina (Wykończenie)</span>
                </div>
                <div class="rk-fin-btn-grid">
                    <button class="rk-fin-btn" id="rkFinBtn1" onclick="rkFinUpdateR(0.01, this)">
                        Płytki / Gres
                        <span>R ≈ 0,01</span>
                    </button>
                    <button class="rk-fin-btn is-active" id="rkFinBtn2" onclick="rkFinUpdateR(0.07, this)">
                        Panele + PUM
                        <span>R ≈ 0,07</span>
                    </button>
                    <button class="rk-fin-btn" id="rkFinBtn3" onclick="rkFinUpdateR(0.12, this)">
                        Gruba Deska
                        <span>R ≥ 0,12</span>
                    </button>
                </div>
            </div>

            <div class="rk-fin-group">
                <div class="rk-fin-label">
                    <span>Grubość wylewki betonowej</span>
                    <span class="rk-fin-badge" id="rkFinThickLbl">7.0 cm</span>
                </div>
                <input type="range" class="rk-fin-slider" id="rkFinThickInp" min="4.5" max="9.0" step="0.5" value="7.0" oninput="rkFinCalculate()">
            </div>

        </div>

        <div class="rk-fin-display">
            <div class="rk-fin-gauge-box" id="rkFinGaugeBox">
                <div class="rk-fin-gauge-title">Łączny opór cieplny (R całkowity)</div>
                <div class="rk-fin-total-val" id="rkFinTotalVal">0.128</div>
                <div class="rk-fin-unit">m²K/W</div>
                
                <div class="rk-fin-bar-container">
                    <div class="rk-fin-bar-limit"></div>
                    <div class="rk-fin-bar-fill" id="rkFinBarFill"></div>
                </div>
                <div class="rk-fin-limit-label">Norma max: 0,15</div>

                <div class="rk-fin-status" id="rkFinStatus">W normie (Wydajny system)</div>
            </div>
        </div>
    </div>

    <div class="rk-fin-content">
        <h3>Fizyka nie wybacza błędów</h3>
        <p>Wybór materiału wykończeniowego narzuca precyzyjną korektę grubości wylewki. Dla materiałów o wysokim oporze termicznym, jak panele laminowane z podkładem czy deski warstwowe (R ≥ 0,10 m²K/W), grubość jastrychu cementowego należy odchudzić do poziomu 5,5–6,5 cm. Z kolei pod doskonale przewodzące płytki ceramiczne (R ≈ 0,01 m²K/W) można bezpiecznie zastosować grubszy rdzeń (7,0–8,0 cm), co pozwala stworzyć stabilny akumulator ciepła dla taryf G12w.</p>
        
        <p>Całkowity opór cieplny nad rurą grzewczą to prosta suma inżynierska. Zgodnie z normą PN-EN 1264, nie może ona przekraczać wartości 0,15 m²K/W.</p>
        
        <div class="rk-math-box">
            R_całkowity = R_wylewka + R_okładzina
        </div>

        <p>Jeśli planujesz montaż paneli laminowanych (10 mm) na podkładzie poliuretanowo-mineralnym, ich łączny opór wynosi zazwyczaj Ro = 0,07 m²K/W. Jeśli wylejesz do tego standardowy beton o grubości 8 cm (Rw = 0,066 m²K/W), całkowity opór wyniesie 0,136 m²K/W. System zadziała, ale zbliża się do niebezpiecznej granicy efektywności. Dla grubszej deski normy zostaną złamane, wymuszając drastyczne podniesienie temperatury zasilania na pompie ciepła.</p>
    </div>
</div>

<script>
    // Unikalne zmienne (prefix rkFin)
    var rkFinCurrentR = 0.07; // Domyślnie panele

    function rkFinUpdateR(rValue, btnObj) {
        rkFinCurrentR = rValue;
        
        var btns = document.querySelectorAll('#rkFinBtn1, #rkFinBtn2, #rkFinBtn3');
        for(var i=0; i<btns.length; i++) {
            btns[i].classList.remove('is-active');
        }
        btnObj.classList.add('is-active');
        
        rkFinCalculate();
    }

    function rkFinCalculate() {
        var thickInp = document.getElementById('rkFinThickInp');
        if(!thickInp) return;

        var thickCm = parseFloat(thickInp.value);
        document.getElementById('rkFinThickLbl').innerText = thickCm.toFixed(1) + " cm";

        // Obliczenie oporu wylewki (Rw)
        // d / lambda. Zakładamy standardowy beton przewodność ok 1.2
        var thickMeters = thickCm / 100;
        var rWylewki = thickMeters / 1.2; 
        
        // Obliczenie oporu całkowitego
        var rTotal = rWylewki + rkFinCurrentR;
        
        document.getElementById('rkFinTotalVal').innerText = rTotal.toFixed(3);

        // Aktualizacja paska (skala do 0.20 m2K/W)
        var maxScale = 0.20;
        var fillPercent = (rTotal / maxScale) * 100;
        if(fillPercent > 100) { fillPercent = 100; }
        
        var barFill = document.getElementById('rkFinBarFill');
        barFill.style.width = fillPercent + "%";

        // Statusy (bez &&)
        var statusEl = document.getElementById('rkFinStatus');
        var gaugeBox = document.getElementById('rkFinGaugeBox');

        if (rTotal <= 0.10) {
            barFill.style.backgroundColor = "var(--rk-fin-green)";
            gaugeBox.style.borderColor = "var(--rk-fin-green)";
            statusEl.innerText = "System wysoce efektywny";
            statusEl.style.color = "var(--rk-fin-green)";
            statusEl.style.backgroundColor = "#ecfdf5";
        } else {
            if (rTotal <= 0.15) {
                barFill.style.backgroundColor = "var(--rk-fin-blue)";
                gaugeBox.style.borderColor = "var(--rk-fin-blue)";
                statusEl.innerText = "W normie (Wydajny system)";
                statusEl.style.color = "var(--rk-fin-blue)";
                statusEl.style.backgroundColor = "var(--rk-fin-blue-light)";
            } else {
                barFill.style.backgroundColor = "var(--rk-fin-red)";
                gaugeBox.style.borderColor = "var(--rk-fin-red)";
                statusEl.innerText = "BŁĄD! Przekroczenie normy (0.15)";
                statusEl.style.color = "var(--rk-fin-red)";
                statusEl.style.backgroundColor = "var(--rk-fin-red-light)";
            }
        }
    }

    // Bezpieczne inicjowanie omijające async/defer cache
    function rkInitFinApp() {
        rkFinCalculate();
    }

    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', rkInitFinApp);
    } else {
        rkInitFinApp();
    }
</script>



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

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

/* Header Section */
.rk-comp-header {
    padding: 40px 50px 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;
    line-height: 1.3;
}

.rk-comp-header p {
    color: #94a3b8;
    font-size: 16px;
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
}

.rk-comp-header a {
    color: #38bdf8;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Tab Selector */
.rk-comp-selector {
    display: flex;
    padding: 20px 50px;
    background: var(--rk-comp-gray-light);
    border-bottom: 1px solid var(--rk-comp-border);
    gap: 15px;
    justify-content: center;
}

.rk-mat-btn {
    flex: 1;
    max-width: 250px;
    padding: 18px 20px;
    background: #ffffff;
    border: 2px solid var(--rk-comp-border);
    border-radius: 14px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-comp-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

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

.rk-mat-btn.is-active {
    border-color: var(--rk-comp-blue);
    background: var(--rk-comp-blue);
    color: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.4);
}

.rk-mat-btn-sub {
    font-size: 12px;
    font-weight: 600;
    opacity: 0.8;
}

/* Results Grid */
.rk-comp-grid {
    padding: 40px 50px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    background: #ffffff;
}

.rk-data-card {
    background: #ffffff;
    border: 1px solid var(--rk-comp-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    transition: transform 0.3s, box-shadow 0.3s;
}

.rk-data-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 20px -8px rgba(0,0,0,0.08);
    border-color: #cbd5e1;
}

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

.rk-data-content {
    flex: 1;
}

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

.rk-data-value {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-comp-dark);
    margin-bottom: 5px;
    line-height: 1.3;
}

.rk-data-sub {
    font-size: 14px;
    color: var(--rk-comp-gray);
    line-height: 1.5;
}

/* Full Width Card */
.rk-card-full {
    grid-column: 1 / -1;
    background: var(--rk-comp-gray-light);
}

@media (max-width: 768px) {
    .rk-comp-header, .rk-comp-selector, .rk-comp-grid { padding: 30px 20px; }
    .rk-comp-selector { flex-direction: column; gap: 10px; }
    .rk-mat-btn { max-width: 100%; width: 100%; flex-direction: row; justify-content: center; padding: 15px; }
    .rk-mat-btn-sub { display: none; } /* Hide subtitle on mobile to save space */
    .rk-comp-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-card-full { grid-column: 1; }
    .rk-data-value { font-size: 18px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article-komparator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/"
    },
    "headline": "Parametry techniczne wylewek – jastrych cementowy vs wylewka anhydrytowa",
    "description": "Zestawienie kluczowych parametrów fizycznych i konstrukcyjnych wylewek: przewodność cieplna, wytrzymałość, grubość i czasy schnięcia według PN-EN 13813.",
    "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": "2025-12-29",
    "dateModified": "2026-06-27"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#dataset-komparator",
    "name": "Zestawienie parametrów fizycznych jastrychów grzewczych",
    "description": "Baza danych właściwości termodynamicznych i mechanicznych wylewek (cement vs anhydryt) wykorzystywana do projektowania instalacji płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wylewka anhydrytowa parametry",
      "jastrych cementowy przewodność cieplna",
      "wylewka cementowa z plastyfikatorem",
      "gęstość betonu na ogrzewanie podłogowe",
      "czas schnięcia wylewki anhydrytowej"
    ],
    "measurementTechnique": "Porównanie właściwości na podstawie europejskiej normy badawczej PN-EN 13813 (Materiały podkładów podłogowych).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przewodność (Lambda): Beton 1.2 W/(m·K) vs Anhydryt 1.8 W/(m·K)",
        "Grubość minimalna otuliny: od 2.0 cm do 3.5 cm",
        "Masa jednostkowa: od 90 kg/m² do 154 kg/m²"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webapp-komparator",
    "name": "Interaktywny Komparator Wylewek Grzewczych",
    "description": "Moduł aplikacyjny wyświetlający dynamicznie zmieniające się parametry fizykochemiczne w zależności od wybranego rodzaju podkładu podłogowego.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-comp-wrapper">
    <div class="rk-comp-header">
        <h2>Parametry techniczne wylewek</h2>
        <p>Decyzja o wyborze wylewki definiuje pracę całej instalacji. Porównaj kluczowe właściwości fizyczne i konstrukcyjne dla systemów pracujących w oparciu o normę <strong>PN-EN 13813</strong>. Pamiętaj, że wpływa to bezpośrednio na to, <a href="https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/">ile czasu nagrzewa się podłogówka</a>.</p>
    </div>

    <div class="rk-comp-selector">
        <button class="rk-mat-btn" id="btnMat1" onclick="rkUpdateComp(1)">
            <span>Zwykły Beton</span>
            <span class="rk-mat-btn-sub">Standardowy Jastrych</span>
        </button>
        <button class="rk-mat-btn is-active" id="btnMat2" onclick="rkUpdateComp(2)">
            <span>Beton + Chemia</span>
            <span class="rk-mat-btn-sub">Z Plastyfikatorem</span>
        </button>
        <button class="rk-mat-btn" id="btnMat3" onclick="rkUpdateComp(3)">
            <span>Anhydryt</span>
            <span class="rk-mat-btn-sub">Masa Samopoziomująca</span>
        </button>
    </div>

    <div class="rk-comp-grid">
        
        <div class="rk-data-card">
            <div class="rk-data-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" 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-data-content">
                <div class="rk-data-label">Przewodność Cieplna (λ)</div>
                <div class="rk-data-value" id="valLambda">1,45 W/(m·K)</div>
                <div class="rk-data-sub" id="descLambda">Bardzo dobre oddawanie energii z rur.</div>
            </div>
        </div>

        <div class="rk-data-card">
            <div class="rk-data-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
            </div>
            <div class="rk-data-content">
                <div class="rk-data-label">Grubość optymalna</div>
                <div class="rk-data-value" id="valThick">6,0 – 7,0 cm</div>
                <div class="rk-data-sub" id="descThick">Minimalna otulina nad rurą: <strong>3,0 cm</strong></div>
            </div>
        </div>

        <div class="rk-data-card">
            <div class="rk-data-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            </div>
            <div class="rk-data-content">
                <div class="rk-data-label">Wytrzymałość (Ścisk/Zginanie)</div>
                <div class="rk-data-value" id="valStrength">C25 / F5</div>
                <div class="rk-data-sub" id="descStrength">Podwyższona klasa dzięki uplastycznieniu.</div>
            </div>
        </div>

        <div class="rk-data-card">
            <div class="rk-data-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" 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>
            <div class="rk-data-content">
                <div class="rk-data-label">Masa posadzki (na 1 m²)</div>
                <div class="rk-data-value" id="valMass">138 kg</div>
                <div class="rk-data-sub" id="descMass">Gęstość: 2200 - 2300 kg/m³</div>
            </div>
        </div>

        <div class="rk-data-card rk-card-full">
            <div class="rk-data-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>
            </div>
            <div class="rk-data-content">
                <div class="rk-data-label">Technologia i Wiązanie</div>
                <div class="rk-data-value" id="valTech">Dylatacje do 40 m² | Schnięcie 28 dni</div>
                <div class="rk-data-sub" id="descTech">Wymaga regularnych nacięć pośrednich. Podwyższona odporność na wilgoć w systemie mokrym.</div>
            </div>
        </div>

    </div>
</div>

<script>
    function rkUpdateComp(matId) {
        // Zmiana klas przycisków (bezpieczne odświeżanie bez &&)
        var btn1 = document.getElementById('btnMat1');
        var btn2 = document.getElementById('btnMat2');
        var btn3 = document.getElementById('btnMat3');
        
        btn1.classList.remove('is-active');
        btn2.classList.remove('is-active');
        btn3.classList.remove('is-active');

        var vLambda = document.getElementById('valLambda');
        var dLambda = document.getElementById('descLambda');
        var vThick = document.getElementById('valThick');
        var dThick = document.getElementById('descThick');
        var vStr = document.getElementById('valStrength');
        var dStr = document.getElementById('descStrength');
        var vMass = document.getElementById('valMass');
        var dMass = document.getElementById('descMass');
        var vTech = document.getElementById('valTech');
        var dTech = document.getElementById('descTech');

        if (matId === 1) {
            btn1.classList.add('is-active');
            
            vLambda.innerText = "1,20 W/(m·K)";
            dLambda.innerText = "Niska przewodność. Działa jako izolator.";
            
            vThick.innerText = "7,0 – 8,0 cm";
            dThick.innerHTML = "Minimalna otulina nad rurą: <strong>3,5 cm</strong>";
            
            vStr.innerText = "C20 / F4";
            dStr.innerText = "Podstawowa klasa wytrzymałości na ściskanie.";
            
            vMass.innerText = "154 kg";
            dMass.innerText = "Gęstość: 2100 - 2200 kg/m³ (przy 7 cm)";
            
            vTech.innerText = "Dylatacje do 36 m² | Schnięcie 28 dni";
            dTech.innerText = "Maksymalne pole bez nacięć to 6x6 m. Tradycyjny proces wiązania cementu.";
        }
        
        if (matId === 2) {
            btn2.classList.add('is-active');
            
            vLambda.innerText = "1,45 W/(m·K)";
            dLambda.innerText = "Bardzo dobre oddawanie energii z rur.";
            
            vThick.innerText = "6,0 – 7,0 cm";
            dThick.innerHTML = "Minimalna otulina nad rurą: <strong>3,0 cm</strong>";
            
            vStr.innerText = "C25 / F5";
            dStr.innerText = "Podwyższona klasa dzięki uplastycznieniu.";
            
            vMass.innerText = "138 kg";
            dMass.innerText = "Gęstość: 2200 - 2300 kg/m³ (przy 6 cm)";
            
            vTech.innerText = "Dylatacje do 40 m² | Schnięcie 28 dni";
            dTech.innerHTML = "Wymaga regularnych nacięć pośrednich. Podwyższona odporność na wilgoć w systemie mokrym.";
        }

        if (matId === 3) {
            btn3.classList.add('is-active');
            
            vLambda.innerText = "1,80 W/(m·K)";
            dLambda.innerText = "Doskonała przewodność termiczna układu.";
            
            vThick.innerText = "4,0 – 5,0 cm";
            dThick.innerHTML = "Minimalna otulina nad rurą: <strong>2,0 cm</strong>";
            
            vStr.innerText = "C30 / F6";
            dStr.innerText = "Wysoka odporność na obciążenia zginające.";
            
            vMass.innerText = "90 kg";
            dMass.innerText = "Gęstość: 2000 - 2100 kg/m³ (przy 4.5 cm)";
            
            vTech.innerText = "Pola do 300 m² | Schnięcie 7 - 14 dni";
            dTech.innerHTML = "Możliwość wylewania ogromnych powierzchni bez dylatacji pośrednich. Nie zalecane do stref mokrych.";
        }
    }
</script>



<style>
:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-panel: #1e293b;
    --rk-calc-blue: #0ea5e9;
    --rk-calc-blue-hover: #0284c7;
    --rk-calc-green: #10b981;
    --rk-calc-red: #ef4444;
    --rk-calc-gray: #64748b;
    --rk-calc-light: #f8fafc;
    --rk-calc-border: #e2e8f0;
    --rk-calc-text: #334155;
    --rk-calc-accent: #f59e0b;
}

.rk-calc-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(14, 165, 233, 0.15);
    border: 1px solid rgba(14, 165, 233, 0.2);
    overflow: hidden;
}

/* Header */
.rk-calc-header {
    background: linear-gradient(135deg, var(--rk-calc-dark) 0%, var(--rk-calc-panel) 100%);
    padding: 40px 50px;
    color: #ffffff;
    text-align: center;
}

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

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

/* Interactive Dashboard App */
.rk-calc-app {
    display: grid;
    grid-template-columns: 1fr 380px;
    background: var(--rk-calc-light);
    border-bottom: 1px solid var(--rk-calc-border);
}

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

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

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

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

.rk-calc-val-badge {
    background: var(--rk-calc-blue);
    color: #ffffff;
    padding: 2px 10px;
    border-radius: 6px;
    font-size: 14px;
}

/* Sliders */
.rk-calc-slider {
    width: 100%;
    -webkit-appearance: none;
    height: 8px;
    background: #cbd5e1;
    border-radius: 4px;
    outline: none;
    margin-bottom: 10px;
}

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

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

/* Toggle Buttons */
.rk-calc-btn-row {
    display: flex;
    gap: 10px;
}

.rk-calc-btn {
    flex: 1;
    padding: 12px 10px;
    background: #ffffff;
    border: 2px solid var(--rk-calc-border);
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-calc-gray);
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
}

.rk-calc-btn:hover {
    border-color: var(--rk-calc-blue);
    color: var(--rk-calc-blue);
}

.rk-calc-btn.is-active {
    background: var(--rk-calc-blue);
    border-color: var(--rk-calc-blue);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(14, 165, 233, 0.3);
}

/* Results Display */
.rk-calc-results {
    background: #ffffff;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.rk-result-box {
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px dashed var(--rk-calc-border);
}

.rk-result-box:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.rk-result-title {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-calc-gray);
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-result-value {
    font-size: 36px;
    font-weight: 900;
    color: var(--rk-calc-dark);
    line-height: 1.1;
}

.rk-result-unit {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-calc-gray);
}

.rk-status-indicator {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    margin-top: 10px;
}

.status-ok { background: var(--rk-calc-green); color: #ffffff; }
.status-bad { background: var(--rk-calc-red); color: #ffffff; }

/* Explanatory Content */
.rk-calc-content {
    padding: 40px 50px;
}

.rk-calc-content h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin: 0 0 15px 0;
    padding-left: 15px;
    border-left: 4px solid var(--rk-calc-blue);
}

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

.rk-math-block {
    background: var(--rk-calc-light);
    border: 1px solid var(--rk-calc-border);
    padding: 20px;
    border-radius: 12px;
    font-family: monospace;
    font-size: 16px;
    color: var(--rk-calc-dark);
    margin-bottom: 25px;
    text-align: center;
    font-weight: 700;
}

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

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

/* Tags */
.rk-calc-tags {
    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: 700;
    border: 1px solid #e2e8f0;
}

/* CTA */
.rk-calc-cta {
    padding: 45px 50px;
    background: var(--rk-calc-dark);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-calc-cta::before {
    content: '';
    position: absolute;
    width: 200px;
    height: 200px;
    background: var(--rk-calc-blue);
    filter: blur(100px);
    opacity: 0.3;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
}

.rk-calc-cta h4 {
    font-size: 26px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
    position: relative;
}

.rk-calc-cta p {
    font-size: 16px;
    color: #94a3b8;
    max-width: 650px;
    margin: 0 auto 30px auto;
    line-height: 1.6;
    position: relative;
}

.rk-btn-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-calc-accent);
    color: var(--rk-calc-dark);
    font-size: 18px;
    font-weight: 900;
    padding: 20px 45px;
    border-radius: 14px;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(245, 158, 11, 0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.rk-btn-cta:hover {
    transform: translateY(-5px);
    background: #fbbf24;
    box-shadow: 0 15px 35px rgba(245, 158, 11, 0.5);
}

@media (max-width: 768px) {
    .rk-calc-app { grid-template-columns: 1fr; }
    .rk-calc-header, .rk-calc-controls, .rk-calc-results, .rk-calc-content, .rk-calc-tags, .rk-calc-cta { padding: 30px 20px; }
    .rk-calc-controls { border-right: none; border-bottom: 1px solid var(--rk-calc-border); }
    .rk-calc-btn-row { flex-direction: column; }
    .rk-calc-btn { width: 100%; }
    .rk-result-value { font-size: 30px; }
    .rk-btn-cta { width: 100%; padding: 18px 20px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article-algorytm",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/"
    },
    "headline": "Jak obliczyć opór cieplny i masę wylewki? Algorytm kalkulatora krok po kroku",
    "description": "Interaktywny algorytm oparty na prawie Fouriera. Oblicz na żywo opór cieplny jastrychu, wpływ paneli i całkowitą masę betonu na stropie.",
    "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-27",
    "dateModified": "2026-06-27"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#dataset-algorytm",
    "name": "Wzory i Parametry Termodynamiczne Posadzek Grzewczych",
    "description": "Zestawienie współczynników Lambda, gęstości betonu oraz dopuszczalnych oporów cieplnych okładzin podłogowych według norm budowlanych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak obliczyć opór cieplny wylewki",
      "łączny opór cieplny ogrzewania podłogowego",
      "kalkulator wagi wylewki betonowej",
      "norma PN-EN 1264 opór cieplny",
      "przewodność cieplna betonu z plastyfikatorem"
    ],
    "measurementTechnique": "Obliczenia oparte na prawie przewodzenia ciepła Fouriera (R = d / lambda) oraz badaniu nośności stropów (M = V * rho).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Gęstość objętościowa betonu: 2250 kg/m³",
        "Dopuszczalny całkowity opór posadzki: max 0,15 m²K/W",
        "Opór cieplny paneli z podkładem: ~0,06 m²K/W"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webapp-algorytm",
    "name": "Kalkulator Oporu Cieplnego i Masy Jastrychu (Live)",
    "description": "Narzędzie inżynierskie online służące do szybkiej weryfikacji warunków brzegowych instalacji płaszczyznowej (opór R oraz masa M).",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-wrapper">
    <div class="rk-calc-header">
        <h2>Jak obliczyć opór cieplny i masę wylewki?</h2>
        <p>Prawo Fouriera nie przyjmuje wymówek. Zanim wylejesz posadzkę, przetestuj w naszym symulatorze, jak każdy centymetr betonu i rodzaj wykończenia wpływają na wydajność Twojego ogrzewania oraz <a href="https://projekt-ogrzewania.pl/kompleksowy-kalkulator-ogrzewania-podlogowego/" style="color:var(--rk-calc-blue);">parametry całej instalacji</a>.</p>
    </div>

    <div class="rk-calc-app">
        <div class="rk-calc-controls">
            
            <div class="rk-calc-group">
                <div class="rk-calc-label">
                    <span>Grubość wylewki (d)</span>
                    <span class="rk-calc-val-badge" id="lblThick">6.5 cm</span>
                </div>
                <input type="range" class="rk-calc-slider" id="inpThick" min="4" max="10" step="0.5" value="6.5" oninput="rkRunCalc()">
            </div>

            <div class="rk-calc-group">
                <div class="rk-calc-label">
                    <span>Powierzchnia salonu (A)</span>
                    <span class="rk-calc-val-badge" id="lblArea">50 m²</span>
                </div>
                <input type="range" class="rk-calc-slider" id="inpArea" min="10" max="150" step="5" value="50" oninput="rkRunCalc()">
            </div>

            <div class="rk-calc-group">
                <div class="rk-calc-label"><span>Rodzaj Mieszanki (λ)</span></div>
                <div class="rk-calc-btn-row">
                    <button class="rk-calc-btn" id="btnMat1" onclick="rkSetMat(1.2, this)">Beton Zwykły</button>
                    <button class="rk-calc-btn is-active" id="btnMat2" onclick="rkSetMat(1.45, this)">Z plastyfikatorem</button>
                    <button class="rk-calc-btn" id="btnMat3" onclick="rkSetMat(1.8, this)">Anhydryt</button>
                </div>
            </div>

            <div class="rk-calc-group">
                <div class="rk-calc-label"><span>Wykończenie Podłogi (R_okł)</span></div>
                <div class="rk-calc-btn-row">
                    <button class="rk-calc-btn" id="btnFin1" onclick="rkSetFin(0.01, this)">Płytki</button>
                    <button class="rk-calc-btn is-active" id="btnFin2" onclick="rkSetFin(0.06, this)">Panele</button>
                    <button class="rk-calc-btn" id="btnFin3" onclick="rkSetFin(0.12, this)">Gruba Deska</button>
                </div>
            </div>
            
        </div>

        <div class="rk-calc-results">
            
            <div class="rk-result-box">
                <div class="rk-result-title">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 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>
                    Łączny Opór Cieplny
                </div>
                <div class="rk-result-value" id="resTotalR">0.105</div>
                <div class="rk-result-unit">m²K/W</div>
                <div class="rk-status-indicator status-ok" id="resStatus">
                    <svg width="14" height="14" 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>
                    Zgodne z PN-EN 1264
                </div>
            </div>

            <div class="rk-result-box">
                <div class="rk-result-title">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="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>
                    Całkowita Masa Jastrychu
                </div>
                <div class="rk-result-value" id="resMass">7.31</div>
                <div class="rk-result-unit">Ton uwięzionych w betonie</div>
            </div>

        </div>
    </div>

    <div class="rk-calc-content">
        <h3>Krok 1: Obliczenie oporu cieplnego samej wylewki (Rw)</h3>
        <p>Dzielimy grubość warstwy (w metrach) przez współczynnik przewodzenia ciepła wybranej mieszanki. Jest to podstawowy inżynierski parametr decydujący o <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">efektywności podłogówki</a>.</p>
        <div class="rk-math-block">
            Rw = d / lambda
        </div>

        <h3>Krok 2: Weryfikacja normy dla wykończenia (Rcałk)</h3>
        <p>Dodajemy opór wylewki do oporu wybranej okładziny. <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">Wpływ wykończenia posadzki</a> jest drastyczny – gruba deska potrafi zablokować emisję ciepła. Według normy PN-EN 1264 wynik łączny nie może przekraczać 0,15 m²K/W.</p>
        <div class="rk-math-block">
            Rcałkowity = Rw + Rokładzina ≤ 0.15 m²K/W
        </div>

        <h3>Krok 3: Obliczenie dociążenia stropu (M)</h3>
        <p>Mnożymy powierzchnię przez grubość i średnią gęstość betonu grzewczego (ok. 2250 kg/m³). To pozwala ocenić ogromną bezwładność termiczną układu, którą musi pokonać kocioł lub pompa ciepła.</p>
    </div>

    <div class="rk-calc-tags">
        <span class="rk-mat-tag"># jak obliczyć opór cieplny wylewki</span>
        <span class="rk-mat-tag"># łączny opór cieplny ogrzewania podłogowego</span>
        <span class="rk-mat-tag"># kalkulator wagi wylewki betonowej</span>
        <span class="rk-mat-tag"># norma PN-EN 1264 opór cieplny</span>
        <span class="rk-mat-tag"># przewodność cieplna betonu z plastyfikatorem</span>
        <span class="rk-mat-tag"># opór cieplny paneli podłogowych</span>
        <span class="rk-mat-tag"># dociążenie stropu wylewką</span>
    </div>

    <div class="rk-calc-cta">
        <h4>Nie ryzykuj, że Twoja podłoga nie odda ciepła</h4>
        <p>Zabawa suwakami to teoria. W praktyce krzyżują się rury, zyski słoneczne i przepływy hydrauliczne. Jeśli chcesz mieć absolutną gwarancję, że rachunki będą niskie, a salon ciepły, powierz to specjalistom ze stajni Projekt-Ogrzewania.pl.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-cta">
            ZAMÓW PROJEKT HYDRAULICZNY
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></svg>
        </a>
    </div>
</div>

<script>
    // Zmienne globalne stanu
    var currentLambda = 1.45;
    var currentFinR = 0.06;
    var density = 2250; // kg/m3

    function rkSetMat(lambdaVal, btnObj) {
        currentLambda = lambdaVal;
        
        // Aktualizacja UI przycisków (bezpieczna pętla)
        var btns = document.querySelectorAll('#btnMat1, #btnMat2, #btnMat3');
        for (var i = 0; i < btns.length; i++) {
            btns[i].classList.remove('is-active');
        }
        btnObj.classList.add('is-active');
        
        rkRunCalc();
    }

    function rkSetFin(finVal, btnObj) {
        currentFinR = finVal;
        
        // Aktualizacja UI przycisków
        var btns = document.querySelectorAll('#btnFin1, #btnFin2, #btnFin3');
        for (var i = 0; i < btns.length; i++) {
            btns[i].classList.remove('is-active');
        }
        btnObj.classList.add('is-active');
        
        rkRunCalc();
    }

    function rkRunCalc() {
        var thickCm = parseFloat(document.getElementById('inpThick').value);
        var areaM = parseFloat(document.getElementById('inpArea').value);
        
        // Update Labels
        document.getElementById('lblThick').innerText = thickCm.toFixed(1) + " cm";
        document.getElementById('lblArea').innerText = areaM + " m²";

        // Matematyka
        var thickM = thickCm / 100;
        var rWylewki = thickM / currentLambda;
        var rTotal = rWylewki + currentFinR;
        var massKg = areaM * thickM * density;
        var massTon = massKg / 1000;

        // Aktualizacja wyników w DOM
        document.getElementById('resTotalR').innerText = rTotal.toFixed(3);
        document.getElementById('resMass').innerText = massTon.toFixed(2);

        // Status Normy bez użycia &#038;&#038;
        var statusEl = document.getElementById('resStatus');
        if (rTotal <= 0.15) {
            statusEl.className = 'rk-status-indicator status-ok';
            statusEl.innerHTML = '<svg width="14" height="14" 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> Zgodne z PN-EN 1264';
        } else {
            statusEl.className = 'rk-status-indicator status-bad';
            statusEl.innerHTML = '<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg> Przekroczenie normy!';
        }
    }

    // Inicjalne uruchomienie
    document.addEventListener("DOMContentLoaded", function() {
        rkRunCalc();
    });
</script>



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

.rk-chem-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-chem-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.15);
    border: 1px solid var(--rk-chem-border);
    overflow: hidden;
}

/* Header */
.rk-chem-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, #1e293b 0%, var(--rk-chem-dark) 100%);
    color: #ffffff;
    text-align: center;
}

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

.rk-chem-header p {
    color: #94a3b8;
    font-size: 16px;
    line-height: 1.6;
    max-width: 700px;
    margin: 0 auto;
}

/* Interactive Dashboard */
.rk-chem-dashboard {
    background: #f8fafc;
    padding: 40px 50px;
    border-bottom: 1px solid var(--rk-chem-border);
}

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

.rk-chem-toggle-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 25px;
    background: #ffffff;
    border: 2px solid var(--rk-chem-border);
    border-radius: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.rk-chem-toggle-btn:hover {
    border-color: var(--rk-chem-blue);
}

.rk-chem-toggle-btn.is-active {
    border-color: var(--rk-chem-green);
    background: var(--rk-chem-green-light);
}

.rk-chem-toggle-info h4 {
    margin: 0 0 5px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-chem-dark);
}

.rk-chem-toggle-info p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-chem-gray);
}

/* Toggle Switch UI */
.rk-switch {
    width: 50px;
    height: 28px;
    background: #cbd5e1;
    border-radius: 14px;
    position: relative;
    transition: background 0.3s;
}

.rk-chem-toggle-btn.is-active .rk-switch { background: var(--rk-chem-green); }

.rk-switch-knob {
    width: 22px;
    height: 22px;
    background: #ffffff;
    border-radius: 50%;
    position: absolute;
    top: 3px;
    left: 3px;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.rk-chem-toggle-btn.is-active .rk-switch-knob { transform: translateX(22px); }

/* Visualization Screen */
.rk-chem-screen {
    background: #ffffff;
    border: 1px solid var(--rk-chem-border);
    border-radius: 16px;
    padding: 30px;
    text-align: center;
    box-shadow: inset 0 2px 10px rgba(0,0,0,0.02);
}

.rk-screen-metrics {
    display: flex;
    justify-content: space-around;
    margin-bottom: 20px;
}

.rk-metric-box {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rk-metric-label { font-size: 12px; font-weight: 700; color: var(--rk-chem-gray); text-transform: uppercase; }
.rk-metric-value { font-size: 24px; font-weight: 900; color: var(--rk-chem-dark); transition: color 0.3s; }

.rk-visual-slab {
    height: 60px;
    background: #cbd5e1;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    transition: all 0.5s ease;
    border: 3px solid transparent;
}

.rk-slab-crack {
    position: absolute;
    top: 0; bottom: 0; left: 50%;
    width: 4px;
    background: var(--rk-chem-red);
    transform: translateX(-50%) rotate(15deg);
    opacity: 1;
    transition: opacity 0.3s;
}

.rk-slab-bubbles {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image: radial-gradient(#94a3b8 15%, transparent 16%), radial-gradient(#94a3b8 15%, transparent 16%);
    background-size: 15px 15px;
    background-position: 0 0, 7.5px 7.5px;
    opacity: 1;
    transition: opacity 0.5s;
}

/* Content Breakdown */
.rk-chem-content {
    padding: 40px 50px;
}

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

.rk-chem-content p, .rk-chem-content li {
    font-size: 16px;
    color: var(--rk-chem-gray);
    line-height: 1.7;
    margin: 0 0 15px 0;
}

.rk-chem-content ul {
    margin: 0 0 25px 0;
    padding-left: 20px;
}

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

/* Tags */
.rk-chem-tags {
    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: 700;
    border: 1px solid #e2e8f0;
}

/* CTA */
.rk-chem-cta {
    background: var(--rk-chem-dark);
    padding: 45px 50px;
    text-align: center;
    position: relative;
}

.rk-chem-cta::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 4px;
    background: linear-gradient(90deg, var(--rk-chem-blue), var(--rk-chem-accent));
}

.rk-chem-cta h4 {
    font-size: 26px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
}

.rk-chem-cta p {
    color: #94a3b8;
    font-size: 16px;
    max-width: 650px;
    margin: 0 auto 30px auto;
    line-height: 1.6;
}

.rk-btn-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #ffffff;
    color: var(--rk-chem-dark);
    font-size: 18px;
    font-weight: 900;
    padding: 20px 40px;
    border-radius: 14px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.rk-btn-cta:hover {
    transform: translateY(-5px);
    background: var(--rk-chem-blue);
    color: #ffffff;
    box-shadow: 0 15px 30px -5px rgba(2, 132, 199, 0.4);
}

@media (max-width: 768px) {
    .rk-chem-header, .rk-chem-dashboard, .rk-chem-content, .rk-chem-tags, .rk-chem-cta { padding: 30px 20px; }
    .rk-chem-controls { grid-template-columns: 1fr; gap: 15px; }
    .rk-screen-metrics { flex-direction: column; gap: 15px; }
    .rk-metric-box { border-bottom: 1px solid #e2e8f0; padding-bottom: 10px; }
    .rk-btn-cta { width: 100%; padding: 18px 20px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article-chemia",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/"
    },
    "headline": "Dlaczego dylatacje i plastyfikator determinują finalną grubość betonu?",
    "description": "Zrozum mechanikę wylewki. Poznaj fizyczne konsekwencje braku taśm brzegowych i plastyfikatora, które prowadzą do spękań i wysokich oporów cieplnych.",
    "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": "2025-12-29",
    "dateModified": "2026-06-27"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#dataset-chemia",
    "name": "Parametry fizykochemiczne jastrychu grzewczego",
    "description": "Zestawienie wpływu chemii budowlanej i przerw dylatacyjnych na nośność, rozszerzalność liniową i przewodność cieplną wylewek betonowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dylatacje obwodowe w ogrzewaniu podłogowym",
      "plastyfikator do ogrzewania podłogowego",
      "opór cieplny wylewki betonowej",
      "pęknięcia wylewki na podłogówce",
      "taśma brzegowa do wylewek"
    ],
    "measurementTechnique": "Analiza współczynnika przewodzenia ciepła (lambda) oraz rozszerzalności termicznej betonu na podstawie norm technologicznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Współczynnik rozszerzalności liniowej betonu: 0,01 mm/(m·K)",
        "Lambda betonu bez plastyfikatora: 1,2 W/(m·K)",
        "Wymiary krytyczne pół dylatacyjnych: powyżej 36 m²"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webapp-chemia",
    "name": "Symulator Wpływu Chemii i Dylatacji na Wylewkę",
    "description": "Interaktywne narzędzie pozwalające symulować zachowanie posadzki w zależności od zastosowanego plastyfikatora i taśm brzegowych.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-chem-wrapper">
    <div class="rk-chem-header">
        <h2>Dlaczego dylatacje i plastyfikator determinują finalną grubość betonu?</h2>
        <p>Beton podłogowy to nie statyczny fundament, lecz intensywnie pracująca warstwa termodynamiczna. Zobacz, jak brak podstawowej wiedzy o fizyce materiałów prowadzi do nieodwracalnych uszkodzeń jastrychu.</p>
    </div>

    <div class="rk-chem-dashboard">
        <div class="rk-chem-controls">
            <div class="rk-chem-toggle-btn" id="btnPlasticizer" onclick="rkToggleChem('plasticizer')">
                <div class="rk-chem-toggle-info">
                    <h4>Dodatek Plastyfikatora</h4>
                    <p>Zagęszcza strukturę, wypiera powietrze.</p>
                </div>
                <div class="rk-switch"><div class="rk-switch-knob"></div></div>
            </div>

            <div class="rk-chem-toggle-btn" id="btnJoints" onclick="rkToggleChem('joints')">
                <div class="rk-chem-toggle-info">
                    <h4>Taśmy i Dylatacje</h4>
                    <p>Izolacja brzegowa i nacięcia płyty.</p>
                </div>
                <div class="rk-switch"><div class="rk-switch-knob"></div></div>
            </div>
        </div>

        <div class="rk-chem-screen">
            <div class="rk-screen-metrics">
                <div class="rk-metric-box">
                    <span class="rk-metric-label">Min. Grubość</span>
                    <span class="rk-metric-value" id="valThick">7.0 cm</span>
                </div>
                <div class="rk-metric-box">
                    <span class="rk-metric-label">Przewodność (λ)</span>
                    <span class="rk-metric-value" id="valLambda">1.20 W/(m·K)</span>
                </div>
                <div class="rk-metric-box">
                    <span class="rk-metric-label">Status Konstrukcji</span>
                    <span class="rk-metric-value" id="valStatus" style="color: var(--rk-chem-red);">Ryzyko Pęknięć</span>
                </div>
            </div>
            
            <div class="rk-visual-slab" id="visualSlab">
                <div class="rk-slab-bubbles" id="animBubbles"></div>
                <div class="rk-slab-crack" id="animCrack"></div>
            </div>
        </div>
    </div>

    <div class="rk-chem-content">
        <h3>Dylatacje – bezwzględny wymóg technologiczny</h3>
        <p>Brak wykonania szczelin dylatacyjnych przy grubości <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">wylewki cementowej</a> 7 cm powoduje niekontrolowane pęknięcia płyty grzewczej już przy pierwszym uruchomieniu ogrzewania (wygrzewaniu jastrychu). Beton rozszerza się liniowo pod wpływem temperatury o około 0,01 mm/(m·K). Płyta grzewcza musi być całkowicie odcięta od konstrukcji budynku. Wymaga to:</p>
        <ul>
            <li><strong>Dylatacji obwodowych:</strong> Wykonanych z taśmy piankowej o grubości minimum 8 mm, ułożonych wzdłuż wszystkich ścian, słupów i futryn. Gwarantuje to <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">prawidłową izolację brzegową</a>.</li>
            <li><strong>Dylatacji pośrednich:</strong> Niezbędnych, gdy powierzchnia jednego pola przekracza 36 m², długość boku jest większa niż 6 m, lub stosunek boków wynosi więcej niż 1:2.</li>
        </ul>

        <h3>Plastyfikator – eliminacja hamulca termicznego</h3>
        <p>Wylewka betonowa bez plastyfikatora zawiera tysiące mikroskopijnych pęcherzyków powietrza. Powietrze to doskonały izolator (λ = 0,025 W/(m·K)). Taki porowaty jastrych podnosi <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">łączny opór cieplny posadzki</a> i działa jak hamulec termiczny.</p>
        <p>Dodanie dedykowanej chemii (plastyfikatora) eliminuje puste przestrzenie, szczelnie oblewa rury grzewcze i podnosi współczynnik przewodzenia ciepła z 1,2 do 1,45 W/(m·K). Zastosowanie profesjonalnego plastyfikatora pozwala inżynierowi bezpiecznie zmniejszyć całkowitą grubość wylewki do 6,0 cm bez utraty jej nośności, dzięki drastycznemu upłynnieniu mieszanki.</p>
    </div>
</div>

<script>
    var isPlasticizerOn = false;
    var isJointsOn = false;

    function rkToggleChem(type) {
        if (type === 'plasticizer') {
            var btnPlast = document.getElementById('btnPlasticizer');
            if (isPlasticizerOn === false) {
                btnPlast.classList.add('is-active');
                isPlasticizerOn = true;
            } else {
                btnPlast.classList.remove('is-active');
                isPlasticizerOn = false;
            }
        }

        if (type === 'joints') {
            var btnJoints = document.getElementById('btnJoints');
            if (isJointsOn === false) {
                btnJoints.classList.add('is-active');
                isJointsOn = true;
            } else {
                btnJoints.classList.remove('is-active');
                isJointsOn = false;
            }
        }

        rkProcessPhysics();
    }

    function rkProcessPhysics() {
        var vThick = document.getElementById('valThick');
        var vLambda = document.getElementById('valLambda');
        var vStatus = document.getElementById('valStatus');
        
        var vSlab = document.getElementById('visualSlab');
        var vBubbles = document.getElementById('animBubbles');
        var vCrack = document.getElementById('animCrack');

        // Bezpieczna logika bez &&
        if (isPlasticizerOn === false) {
            if (isJointsOn === false) {
                // Stan początkowy: Brak chemii, brak dylatacji
                vThick.innerText = "7.0 cm";
                vLambda.innerText = "1.20 W/(m·K)";
                vStatus.innerText = "Ryzyko Pęknięć";
                vStatus.style.color = "var(--rk-chem-red)";
                
                vSlab.style.background = "#cbd5e1";
                vBubbles.style.opacity = "1";
                vCrack.style.opacity = "1";
            } else {
                // Tylko dylatacje
                vThick.innerText = "7.0 cm";
                vLambda.innerText = "1.20 W/(m·K)";
                vStatus.innerText = "Słabe Przewodzenie";
                vStatus.style.color = "var(--rk-chem-accent)";
                
                vSlab.style.background = "#cbd5e1";
                vBubbles.style.opacity = "1";
                vCrack.style.opacity = "0";
            }
        } else {
            if (isJointsOn === false) {
                // Tylko chemia, bez dylatacji
                vThick.innerText = "6.0 cm";
                vLambda.innerText = "1.45 W/(m·K)";
                vStatus.innerText = "Naprężenia Płyty!";
                vStatus.style.color = "var(--rk-chem-red)";
                
                vSlab.style.background = "#94a3b8"; // Ciemniejszy, gładszy beton
                vBubbles.style.opacity = "0";
                vCrack.style.opacity = "1"; // Ciężkie pęknięcia przez brak miejsca na rozszerzanie
            } else {
                // Pełna optymalizacja: chemia + dylatacje
                vThick.innerText = "6.0 cm";
                vLambda.innerText = "1.45 W/(m·K)";
                vStatus.innerText = "Wzorcowa Wylewka";
                vStatus.style.color = "var(--rk-chem-green)";
                
                vSlab.style.background = "#94a3b8";
                vSlab.style.border = "3px solid var(--rk-chem-green)";
                vBubbles.style.opacity = "0";
                vCrack.style.opacity = "0";
            }
        }

        // Reset ramki, jeśli nie jest to stan idealny
        if (isPlasticizerOn === false) {
            vSlab.style.border = "3px solid transparent";
        } else {
            if (isJointsOn === false) {
                vSlab.style.border = "3px solid transparent";
            }
        }
    }
</script>



<style>
:root {
    --rk-heat-dark: #0f172a;
    --rk-heat-panel: #1e293b;
    --rk-heat-blue: #0284c7;
    --rk-heat-blue-light: #e0f2fe;
    --rk-heat-orange: #f97316;
    --rk-heat-orange-light: #ffedd5;
    --rk-heat-red: #ef4444;
    --rk-heat-green: #10b981;
    --rk-heat-gray: #64748b;
    --rk-heat-bg: #ffffff;
    --rk-heat-border: #e2e8f0;
}

.rk-heat-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-heat-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(249, 115, 22, 0.15);
    border: 1px solid var(--rk-heat-border);
    overflow: hidden;
}

/* Header Section */
.rk-heat-header {
    background: linear-gradient(135deg, var(--rk-heat-dark) 0%, var(--rk-heat-panel) 100%);
    padding: 40px 50px;
    color: #ffffff;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-heat-header::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 200px;
    height: 200px;
    background: var(--rk-heat-orange);
    filter: blur(80px);
    opacity: 0.2;
}

.rk-heat-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
    position: relative;
    z-index: 1;
}

.rk-heat-header p {
    color: #cbd5e1;
    font-size: 16px;
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
    position: relative;
    z-index: 1;
}

/* App Interface */
.rk-heat-app {
    display: grid;
    grid-template-columns: 1fr 380px;
    background: #f8fafc;
}

/* Controls */
.rk-heat-controls {
    padding: 40px 50px;
    border-right: 1px solid var(--rk-heat-border);
    background: #ffffff;
}

.rk-heat-group {
    margin-bottom: 30px;
}
.rk-heat-group:last-child {
    margin-bottom: 0;
}

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

.rk-heat-badge {
    background: var(--rk-heat-orange-light);
    color: var(--rk-heat-orange);
    padding: 4px 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
}

/* Slider */
.rk-heat-slider {
    width: 100%;
    -webkit-appearance: none;
    height: 8px;
    background: var(--rk-heat-border);
    border-radius: 4px;
    outline: none;
}

.rk-heat-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--rk-heat-orange);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(249, 115, 22, 0.4);
    transition: transform 0.1s;
}

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

/* Buttons */
.rk-heat-btn-grid {
    display: grid;
    gap: 10px;
}

.rk-grid-2 { grid-template-columns: 1fr 1fr; }
.rk-grid-4 { grid-template-columns: repeat(4, 1fr); }

.rk-hbtn {
    padding: 14px 10px;
    background: #ffffff;
    border: 2px solid var(--rk-heat-border);
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-heat-gray);
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
}

.rk-hbtn:hover {
    border-color: var(--rk-heat-orange);
    color: var(--rk-heat-orange);
}

.rk-hbtn.is-active {
    background: var(--rk-heat-orange);
    border-color: var(--rk-heat-orange);
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(249, 115, 22, 0.3);
}

/* Display / Results */
.rk-heat-display {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #ffffff;
}

.rk-heat-result-card {
    text-align: center;
    padding: 30px;
    border-radius: 20px;
    background: var(--rk-heat-blue-light);
    border: 2px solid #bae6fd;
    transition: all 0.3s ease;
}

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

.rk-heat-time {
    font-size: 54px;
    font-weight: 900;
    color: var(--rk-heat-dark);
    line-height: 1;
    margin-bottom: 10px;
    font-variant-numeric: tabular-nums;
}

.rk-heat-unit {
    font-size: 18px;
    color: var(--rk-heat-gray);
    font-weight: 700;
}

.rk-heat-status {
    margin-top: 20px;
    display: inline-block;
    padding: 8px 16px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 800;
}

/* Status Colors */
.status-fast { background: var(--rk-heat-green); color: #ffffff; }
.status-optimal { background: var(--rk-heat-blue); color: #ffffff; }
.status-slow { background: var(--rk-heat-orange); color: #ffffff; }
.status-critical { background: var(--rk-heat-red); color: #ffffff; }

/* Explanation Section */
.rk-heat-info {
    padding: 40px 50px;
    border-top: 1px solid var(--rk-heat-border);
}

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

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

.rk-heat-info a {
    color: var(--rk-heat-blue);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-heat-blue);
}

.rk-heat-info a:hover {
    border-bottom-style: solid;
}

@media (max-width: 768px) {
    .rk-heat-app { grid-template-columns: 1fr; }
    .rk-heat-controls { border-right: none; border-bottom: 1px solid var(--rk-heat-border); }
    .rk-heat-header, .rk-heat-controls, .rk-heat-display, .rk-heat-info { padding: 30px 20px; }
    .rk-grid-4 { grid-template-columns: 1fr 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article-nagrzewanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/"
    },
    "headline": "Czas nagrzewania wylewki podłogowej a rozstaw rur",
    "description": "Zrozum zjawisko bezwładności cieplnej. Interaktywny symulator pozwalający obliczyć czas nagrzewania w zależności od materiału, grubości i rozstawu rur grzewczych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://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-27",
    "dateModified": "2026-06-27"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#dataset-nagrzewanie",
    "name": "Korelacja bezwładności cieplnej podłogówki z parametrami jastrychu",
    "description": "Baza danych określająca czas reakcji (nagrzewania) systemu podłogowego w oparciu o zmienne: gęstość ułożenia pętli, rodzaj zaprawy i grubość otuliny.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czas nagrzewania wylewki betonowej",
      "wpływ rozstawu rur na czas nagrzewania",
      "wylewka anhydrytowa a czas reakcji",
      "bezwładność cieplna podłogówki",
      "grubość jastrychu a nagrzewanie"
    ],
    "measurementTechnique": "Empiryczne algorytmy inżynierskie uwzględniające przenikanie ciepła przez masy akumulacyjne przy stałej temperaturze zasilania z pompy ciepła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wpływ rozstawu rur (5-20 cm) na dynamikę grzania",
        "Krzywa nagrzewania dla betonu vs wylewki anhydrytowej",
        "Identyfikacja stanów krytycznych (np. 9 cm jastrychu przy rozstawie co 20 cm)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webapp-nagrzewanie",
    "name": "Symulator Czasu Nagrzewania Posadzki",
    "description": "Interaktywny widget obliczeniowy dla inwestorów, pozwalający prognozować dynamikę instalacji grzewczej i unikać błędów projektowych wydłużających czas reakcji.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-heat-wrapper">
    <div class="rk-heat-header">
        <h2>Czas nagrzewania wylewki podłogowej</h2>
        <p>Bezwładność cieplna to klucz do komfortu. Zbyt szybka reakcja oznacza wychładzanie, zbyt wolna – brak kontroli nad temperaturą i duszne noce. Sprawdź, jak parametry Twojej posadzki wpłyną na czas reakcji systemu (do 26°C).</p>
    </div>

    <div class="rk-heat-app">
        <div class="rk-heat-controls">
            
            <div class="rk-heat-group">
                <div class="rk-heat-label">
                    <span>Grubość jastrychu</span>
                    <span class="rk-heat-badge" id="rkHeatLblThick">6.5 cm</span>
                </div>
                <input type="range" class="rk-heat-slider" id="rkHeatInpThick" min="4" max="10" step="0.5" value="6.5" oninput="rkRunHeatCalc()">
            </div>

            <div class="rk-heat-group">
                <div class="rk-heat-label">
                    <span>Rodzaj wylewki</span>
                </div>
                <div class="rk-heat-btn-grid rk-grid-2">
                    <button class="rk-hbtn is-active" id="rkHeatBtnMat1" onclick="rkSetHeatMat('beton', this)">Betonowa</button>
                    <button class="rk-hbtn" id="rkHeatBtnMat2" onclick="rkSetHeatMat('anhydryt', this)">Anhydrytowa</button>
                </div>
            </div>

            <div class="rk-heat-group">
                <div class="rk-heat-label">
                    <span>Rozstaw rur (gęstość)</span>
                </div>
                <div class="rk-heat-btn-grid rk-grid-4">
                    <button class="rk-hbtn" id="rkHeatBtnSpc1" onclick="rkSetHeatSpc(5, this)">5 cm</button>
                    <button class="rk-hbtn" id="rkHeatBtnSpc2" onclick="rkSetHeatSpc(10, this)">10 cm</button>
                    <button class="rk-hbtn is-active" id="rkHeatBtnSpc3" onclick="rkSetHeatSpc(15, this)">15 cm</button>
                    <button class="rk-hbtn" id="rkHeatBtnSpc4" onclick="rkSetHeatSpc(20, this)">20 cm</button>
                </div>
            </div>

        </div>

        <div class="rk-heat-display">
            <div class="rk-heat-result-card" id="rkHeatResCard">
                <div class="rk-heat-result-title">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="vertical-align: middle; margin-right: 5px;"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    Szacowany Czas Reakcji
                </div>
                <div class="rk-heat-time" id="rkHeatResTime">4.0</div>
                <div class="rk-heat-unit">godziny</div>
                <div class="rk-heat-status status-optimal" id="rkHeatResStatus">Stabilny komfort</div>
            </div>
        </div>
    </div>

    <div class="rk-heat-info">
        <h3>Skąd biorą się te różnice?</h3>
        <p>Instalacja z wylewką to nic innego jak ogromny akumulator cieplny. To, jak szybko odda on energię do pomieszczenia, zależy od gęstości siatki grzewczej i masy, przez którą ta energia musi się przebić.</p>
        <p>Gdy projektant ustala <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/">rozstaw rur przy pompie ciepła</a>, musi zbilansować opory hydrauliczne z bezwładnością. Rury co 5 cm w łazienkach pozwalają błyskawicznie wygrzać płytki, podczas gdy rozstaw co 15 cm w salonie zapewnia powolne, przyjemne i długotrwałe oddawanie ciepła. Zastosowanie cienkiego anhydrytu skraca ten czas nawet o 30%, co czyni go idealnym do nowoczesnych systemów sterowania strefowego, ale jednocześnie pozbawia dom darmowego magazynu energii w posadzce.</p>
        <p>Decyzja o grubości i zagęszczeniu rur nigdy nie powinna być dziełem przypadku. Wymaga oparcia o rzetelne <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczenia obciążenia cieplnego (OZC)</a>.</p>
    </div>
</div>

<script>
    // Zmienne stanu (z prefiksem, aby unikać globalnych kolizji)
    var rkHeatCurrentMat = 'beton';
    var rkHeatCurrentSpacing = 15;

    function rkSetHeatMat(matType, btnObj) {
        rkHeatCurrentMat = matType;
        
        var btns = document.querySelectorAll('#rkHeatBtnMat1, #rkHeatBtnMat2');
        for(var i=0; i<btns.length; i++) {
            btns[i].classList.remove('is-active');
        }
        btnObj.classList.add('is-active');
        
        rkRunHeatCalc();
    }

    function rkSetHeatSpc(spcVal, btnObj) {
        rkHeatCurrentSpacing = spcVal;
        
        var btns = document.querySelectorAll('#rkHeatBtnSpc1, #rkHeatBtnSpc2, #rkHeatBtnSpc3, #rkHeatBtnSpc4');
        for(var i=0; i<btns.length; i++) {
            btns[i].classList.remove('is-active');
        }
        btnObj.classList.add('is-active');
        
        rkRunHeatCalc();
    }

    function rkRunHeatCalc() {
        var thickInput = document.getElementById('rkHeatInpThick');
        if(!thickInput) return; // Zabezpieczenie przed błędem, gdyby elementu nie było

        var thickCm = parseFloat(thickInput.value);
        document.getElementById('rkHeatLblThick').innerText = thickCm.toFixed(1) + " cm";

        // Obliczenia heurystyczne inżynierskie
        var baseTime = 4.0; 
        var thickDiff = thickCm - 7.0;
        var thickMult = 1.0;
        
        if (thickDiff > 0) {
            thickMult = 1.0 + (thickDiff * 0.35);
        } else {
            thickMult = 1.0 + (thickDiff * 0.25);
        }

        var spcMult = 1.0;
        if (rkHeatCurrentSpacing === 5) { spcMult = 0.5; }
        if (rkHeatCurrentSpacing === 10) { spcMult = 0.75; }
        if (rkHeatCurrentSpacing === 15) { spcMult = 1.0; }
        if (rkHeatCurrentSpacing === 20) { spcMult = 1.4; }

        var matMult = 1.0; 
        if (rkHeatCurrentMat === 'anhydryt') {
            matMult = 0.65; 
        }

        var finalTime = baseTime * thickMult * spcMult * matMult;
        
        if (finalTime < 0.5) {
            finalTime = 0.5;
        }
        
        document.getElementById('rkHeatResTime').innerText = finalTime.toFixed(1);

        var resStatus = document.getElementById('rkHeatResStatus');
        var resCard = document.getElementById('rkHeatResCard');

        if (finalTime <= 2.0) {
            resStatus.innerText = "Błyskawiczna reakcja";
            resStatus.className = "rk-heat-status status-fast";
            resCard.style.borderColor = "var(--rk-heat-green)";
            resCard.style.background = "#ecfdf5"; 
        } else {
            if (finalTime <= 5.0) {
                resStatus.innerText = "Stabilny komfort";
                resStatus.className = "rk-heat-status status-optimal";
                resCard.style.borderColor = "#bae6fd";
                resCard.style.background = "var(--rk-heat-blue-light)";
            } else {
                if (finalTime <= 8.0) {
                    resStatus.innerText = "Duża bezwładność";
                    resStatus.className = "rk-heat-status status-slow";
                    resCard.style.borderColor = "#fdba74";
                    resCard.style.background = "var(--rk-heat-orange-light)";
                } else {
                    resStatus.innerText = "System ospały (Krytycznie!)";
                    resStatus.className = "rk-heat-status status-critical";
                    resCard.style.borderColor = "var(--rk-heat-red)";
                    resCard.style.background = "#fef2f2"; 
                }
            }
        }
    }

    // Bezpieczne ładowanie - omijanie opóźnień z wtyczek cache/defer (np. WP Rocket)
    function rkInitHeatApp() {
        rkRunHeatCalc();
    }

    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', rkInitHeatApp);
    } else {
        // Jeśli DOM jest już załadowany (bo wtyczka cache opóźniła wykonanie JS)
        rkInitHeatApp();
    }
</script>



<style>
:root {
    --rk-proj-dark: #0f172a;
    --rk-proj-blue: #0284c7;
    --rk-proj-blue-light: #e0f2fe;
    --rk-proj-green: #10b981;
    --rk-proj-red: #ef4444;
    --rk-proj-gray: #64748b;
    --rk-proj-border: #cbd5e1;
    --rk-proj-bg: #ffffff;
    --rk-proj-accent: #f59e0b;
}

.rk-proj-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-proj-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.15);
    border: 1px solid var(--rk-proj-blue);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-proj-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, #1e293b 0%, var(--rk-proj-dark) 100%);
    color: #ffffff;
    text-align: center;
    position: relative;
}

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

.rk-proj-subtitle {
    color: #94a3b8;
    font-size: 16px;
    line-height: 1.6;
    max-width: 700px;
    margin: 0 auto;
}

.rk-proj-subtitle a {
    color: #38bdf8;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Interfejs Symulatora */
.rk-proj-simulator {
    padding: 40px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-proj-border);
}

.rk-proj-controls {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
    background: #ffffff;
    padding: 10px;
    border-radius: 20px;
    border: 1px solid var(--rk-proj-border);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}

.rk-proj-btn {
    flex: 1;
    padding: 15px 20px;
    border: 2px solid transparent;
    background: #f1f5f9;
    border-radius: 12px;
    font-weight: 800;
    font-size: 15px;
    color: var(--rk-proj-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
}

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

.rk-proj-btn.is-active {
    background: var(--rk-proj-blue);
    color: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.4);
}

/* Siatka Wyników (Cards) */
.rk-proj-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.rk-proj-card {
    background: #ffffff;
    border: 1px solid var(--rk-proj-border);
    border-radius: 16px;
    padding: 25px;
    position: relative;
    transition: transform 0.3s ease, border-color 0.3s;
}

.rk-proj-card:hover {
    transform: translateY(-3px);
    border-color: var(--rk-proj-blue);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
}

.rk-proj-card-icon {
    width: 44px;
    height: 44px;
    background: var(--rk-proj-blue-light);
    color: var(--rk-proj-blue);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

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

.rk-proj-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-proj-blue);
    margin: 0 0 10px 0;
    min-height: 28px;
}

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

.rk-proj-card p a {
    color: var(--rk-proj-blue);
    font-weight: 600;
    text-decoration: none;
}

/* Tagi SEO */
.rk-proj-tags {
    padding: 30px 50px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    background: #ffffff;
}

.rk-mat-tag {
    background: #f1f5f9;
    color: #475569;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid #e2e8f0;
}

/* Mocne CTA */
.rk-proj-cta {
    padding: 40px 50px;
    background: #ffffff;
    text-align: center;
}

.rk-proj-cta-box {
    background: radial-gradient(circle at center, #0369a1 0%, var(--rk-proj-dark) 100%);
    border-radius: 20px;
    padding: 40px 30px;
    color: #ffffff;
    box-shadow: 0 20px 40px -10px rgba(2, 132, 199, 0.3);
    position: relative;
    overflow: hidden;
}

.rk-proj-cta-box h4 {
    font-size: 24px;
    font-weight: 900;
    margin: 0 0 15px 0;
}

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

.rk-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-proj-accent);
    color: var(--rk-proj-dark);
    font-size: 18px;
    font-weight: 900;
    padding: 20px 40px;
    border-radius: 14px;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 10px 25px -5px rgba(245, 158, 11, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-btn-massive:hover {
    transform: translateY(-5px) scale(1.02);
    background: #fbbf24;
    box-shadow: 0 20px 35px -5px rgba(245, 158, 11, 0.6);
}

@media (max-width: 768px) {
    .rk-proj-header, .rk-proj-simulator, .rk-proj-tags, .rk-proj-cta { padding: 30px 20px; }
    .rk-proj-controls { flex-direction: column; border-radius: 16px; background: transparent; border: none; box-shadow: none; padding: 0;}
    .rk-proj-btn { width: 100%; margin-bottom: 10px; }
    .rk-proj-grid { grid-template-columns: 1fr; }
    .rk-btn-massive { width: 100%; padding: 18px 20px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article-projekt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/"
    },
    "headline": "Jak grubość wylewki wpływa na profesjonalny projekt ogrzewania podłogowego?",
    "description": "Analiza inżynieryjna: Zobacz, jak dobór grubości jastrychu determinuje wyniki obliczeń OZC, parametry pompy obiegowej i gęstość izolacji EPS.",
    "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": "2025-12-29",
    "dateModified": "2026-06-27"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#dataset-projekt",
    "name": "Parametry projektowe OZC i hydrauliki ogrzewania podłogowego",
    "description": "Zestawienie zmiennych projektowych ukazujących korelację między masą wylewki a obciążeniem cieplnym budynku, hydrauliką i wymaganiami nośnymi styropianu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego z obliczeniami OZC",
      "dobór pompy obiegowej do podłogówki",
      "jaki styropian pod ogrzewanie podłogowe",
      "maksymalna długość pętli ogrzewania podłogowego",
      "współpraca rekuperacji z podłogówką"
    ],
    "measurementTechnique": "Algorytmy obliczeniowe oparte na normie PN-EN 12831 (OZC) oraz PN-EN 1264 (systemy płaszczyznowe).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zależność rozstawu rur od oporu cieplnego betonu",
        "Kryteria oporów hydraulicznych pompy obiegowej (kPa)",
        "Wymagana wytrzymałość izolacji (EPS 100 vs XPS)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webapp-projekt",
    "name": "Symulator Wpływu Wylewki na Projekt HVAC",
    "description": "Interaktywne narzędzie inżynierskie demonstrujące efekt domina: jak zmiana warstwy jastrychu wymusza przeliczenie hydrauliki, pętli i parametrów termoizolacji.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-proj-container">
    <div class="rk-proj-header">
        <h2>Jak wylewka wywraca projekt do góry nogami?</h2>
        <p class="rk-proj-subtitle">
            Grubość betonu w profesjonalnym oprogramowaniu (np. Audytor OZC) to zmienna krytyczna. Zobacz, jak modyfikacja warstwy posadzki definiuje <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obciążenie cieplne budynku (OZC)</a> i zmusza inżyniera do zmiany całego układu hydraulicznego.
        </p>
    </div>

    <div class="rk-proj-simulator">
        <div class="rk-proj-controls">
            <button class="rk-proj-btn" onclick="rkUpdateSim(5)" id="rkBtn5">Cienka (5.5 cm)</button>
            <button class="rk-proj-btn is-active" onclick="rkUpdateSim(7)" id="rkBtn7">Normatywna (7.0 cm)</button>
            <button class="rk-proj-btn" onclick="rkUpdateSim(9)" id="rkBtn9">Przegrubiona (9.0 cm)</button>
        </div>

        <div class="rk-proj-grid">
            <div class="rk-proj-card">
                <div class="rk-proj-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 4H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z"></path><path d="M12 16v-8"></path><path d="M8 12h8"></path></svg>
                </div>
                <h3>Obwody i pętle grzewcze</h3>
                <div class="rk-proj-val" id="rkValLoops">Rozstaw co 15 cm</div>
                <p id="rkDescLoops">Optymalna praca układu. Bezpieczna <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">długość pętli do 100 m</a>. Ciepło równomiernie przenika przez warstwę akumulacyjną.</p>
            </div>

            <div class="rk-proj-card">
                <div class="rk-proj-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg>
                </div>
                <h3>Hydraulika i Pompa</h3>
                <div class="rk-proj-val" id="rkValPump">Standard (do 20 kPa)</div>
                <p id="rkDescPump"><a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">Dobór pompy obiegowej</a> jest prosty. Straty ciśnienia na rozdzielaczu są w normie, urządzenie pracuje energooszczędnie na niskim biegu.</p>
            </div>

            <div class="rk-proj-card">
                <div class="rk-proj-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                </div>
                <h3>Izolacja i Obciążenie</h3>
                <div class="rk-proj-val" id="rkValEps">Styropian EPS 100</div>
                <p id="rkDescEps">Waga betonu wynosi ok. 150 kg/m². Aby uniknąć osiadania płyty, inżynier projektuje twardy <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">styropian EPS 100</a>.</p>
            </div>

            <div class="rk-proj-card">
                <div class="rk-proj-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
                </div>
                <h3>Współpraca z Rekuperacją</h3>
                <div class="rk-proj-val" id="rkValRec">Stabilna cyrkulacja</div>
                <p id="rkDescRec"><a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/">Rekuperacja współpracuje z podłogówką</a>. Czas nagrzewania jest zoptymalizowany, co zapobiega przegrzewaniu wentylowanych stref.</p>
            </div>
        </div>
    </div>

    <div class="rk-proj-tags">
        <span class="rk-mat-tag"># projekt ogrzewania podłogowego z obliczeniami OZC</span>
        <span class="rk-mat-tag"># dobór pompy obiegowej do podłogówki</span>
        <span class="rk-mat-tag"># maksymalna długość pętli ogrzewania podłogowego</span>
        <span class="rk-mat-tag"># jaki styropian pod ogrzewanie podłogowe</span>
        <span class="rk-mat-tag"># opory hydrauliczne rozdzielacza</span>
        <span class="rk-mat-tag"># współpraca rekuperacji z podłogówką</span>
        <span class="rk-mat-tag"># rozstaw rur ogrzewania podłogowego projekt</span>
        <span class="rk-mat-tag"># audytor ozc instalacje płaszczyznowe</span>
    </div>

    <div class="rk-proj-cta">
        <div class="rk-proj-cta-box">
            <h4>Nie zgaduj na budowie. Zleć inżynierskie obliczenia.</h4>
            <p>Błędy wykonawcze mszczą się przez dekady ukryte pod kafelkami. Profesjonalny projekt instalacji wyliczy każdą pętlę, dobierze pompę co do watta i wyeliminuje strefy niedogrzane. Otrzymasz dokumentację, za którą ręczę swoim nazwiskiem.</p>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-massive">
                ZAMÓW KOMPLEKSOWY PROJEKT
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="M12 5l7 7-7 7"></path></svg>
            </a>
        </div>
    </div>
</div>

<script>
    function rkUpdateSim(thickness) {
        // Reset button styles
        document.getElementById('rkBtn5').classList.remove('is-active');
        document.getElementById('rkBtn7').classList.remove('is-active');
        document.getElementById('rkBtn9').classList.remove('is-active');

        // References to DOM
        var valLoops = document.getElementById('rkValLoops');
        var descLoops = document.getElementById('rkDescLoops');
        var valPump = document.getElementById('rkValPump');
        var descPump = document.getElementById('rkDescPump');
        var valEps = document.getElementById('rkValEps');
        var descEps = document.getElementById('rkDescEps');
        var valRec = document.getElementById('rkValRec');
        var descRec = document.getElementById('rkDescRec');

        // Logic without && operator for absolute safety
        if (thickness === 5) {
            document.getElementById('rkBtn5').classList.add('is-active');
            
            valLoops.innerText = "Rozstaw 15-20 cm";
            descLoops.innerHTML = "Mały opór cieplny ułatwia oddawanie energii. Długość pętli bezpiecznie skrócona do 80 m, zmniejszając zużycie rury PEX.";
            
            valPump.innerText = "Niskie opory (<15 kPa)";
            descPump.innerHTML = "Układ stawia minimalny opór. Możliwość zastosowania słabszej, wysoce <a href='https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/'>energooszczędnej pompy obiegowej</a>.";
            
            valEps.innerText = "Styropian EPS 80/100";
            descEps.innerHTML = "Znacznie niższa masa betonu (ok. 110 kg/m²). Mniejsze obciążenie stropu i mniejsze ryzyko ugięć izolacji.";
            
            valRec.innerText = "Szybka reakcja";
            descRec.innerHTML = "Układ reaguje błyskawicznie. <a href='https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/'>Rekuperacja</a> bez problemu bilansuje świeże powietrze z zyskami słońca.";
        }

        if (thickness === 7) {
            document.getElementById('rkBtn7').classList.add('is-active');
            
            valLoops.innerText = "Rozstaw co 15 cm";
            descLoops.innerHTML = "Optymalna praca układu. Bezpieczna <a href='https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/'>długość pętli do 100 m</a>. Ciepło równomiernie przenika przez warstwę akumulacyjną.";
            
            valPump.innerText = "Standard (do 20 kPa)";
            descPump.innerHTML = "<a href='https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/'>Dobór pompy obiegowej</a> jest prosty. Straty ciśnienia na rozdzielaczu są w normie, urządzenie pracuje wydajnie.";
            
            valEps.innerText = "Styropian EPS 100";
            descEps.innerHTML = "Waga betonu wynosi ok. 150 kg/m². Aby uniknąć osiadania płyty, inżynier projektuje twardy <a href='https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/'>styropian EPS 100</a>.";
            
            valRec.innerText = "Stabilna cyrkulacja";
            descRec.innerHTML = "<a href='https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/'>Rekuperacja współpracuje z podłogówką</a>. Czas nagrzewania jest zoptymalizowany, co zapobiega przegrzewaniu stref.";
        }

        if (thickness === 9) {
            document.getElementById('rkBtn9').classList.add('is-active');
            
            valLoops.innerText = "Gęsty rozstaw (10 cm)";
            descLoops.innerHTML = "Gruby beton stawia potężny opór cieplny. Rury muszą być ułożone bardzo gęsto. Ryzyko przekroczenia <a href='https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/'>120 m na pętli</a>.";
            
            valPump.innerText = "Przeciążenie (>30 kPa)";
            descPump.innerHTML = "Wiele długich pętli drastycznie winduje opory. Wymagana jest przewymiarowana <a href='https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/'>pompa o dużej wysokości podnoszenia</a>.";
            
            valEps.innerText = "Twardy XPS / EPS 150";
            descEps.innerHTML = "Krytyczne obciążenie konstrukcji (ponad 200 kg/m²). Standardowy <a href='https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/'>styropian</a> ulegnie zgnieceniu, niszcząc dylatacje.";
            
            valRec.innerText = "Ospały system";
            descRec.innerHTML = "Zanim ciepło przebije się przez 9 cm, słońce zdąży nagrzać salon. <a href='https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/'>Rekuperacja</a> nie poradzi sobie z przegrzewaniem.";
        }
    }
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-panel: #1e293b;
    --rk-case-blue: #0284c7;
    --rk-case-blue-light: #f0f9ff;
    --rk-case-accent: #059669; /* Emerald for success/solution */
    --rk-case-accent-light: #dcfce7;
    --rk-case-warn: #eab308;
    --rk-case-warn-light: #fef9c3;
    --rk-case-gray: #64748b;
    --rk-case-bg: #ffffff;
    --rk-case-border: #e2e8f0;
}

.rk-case-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-case-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(5, 150, 105, 0.1);
    border: 1px solid var(--rk-case-border);
    overflow: hidden;
}

/* Header */
.rk-case-header {
    background: linear-gradient(135deg, var(--rk-case-dark) 0%, var(--rk-case-panel) 100%);
    padding: 40px 50px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.rk-case-header::after {
    content: '';
    position: absolute;
    right: -20px;
    bottom: -40px;
    width: 150px;
    height: 150px;
    background: var(--rk-case-blue);
    filter: blur(70px);
    opacity: 0.3;
}

.rk-case-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #bae6fd;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.rk-case-header h2 {
    font-size: 30px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
    position: relative;
    z-index: 1;
}

.rk-case-header p {
    color: #94a3b8;
    font-size: 16px;
    line-height: 1.6;
    max-width: 700px;
    margin: 0;
    position: relative;
    z-index: 1;
}

/* Interactive App area */
.rk-case-app {
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-case-border);
}

.rk-case-timeline {
    display: flex;
    padding: 30px 50px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-case-border);
    gap: 15px;
}

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

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

.rk-case-step-title {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-case-gray);
    transition: color 0.3s;
}

.rk-case-step-btn:hover {
    border-color: var(--rk-case-blue);
}

.rk-case-step-btn.is-active {
    border-color: var(--rk-case-blue);
    background: var(--rk-case-blue-light);
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.15);
}

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

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

/* Display Panels */
.rk-case-panel {
    display: none;
    padding: 40px 50px;
    animation: rkFadeIn 0.4s ease forwards;
}

.rk-case-panel.is-visible {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 40px;
    align-items: center;
}

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

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

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

.rk-case-text-col strong {
    color: var(--rk-case-dark);
}

/* Data Cards in Panels */
.rk-case-data-box {
    background: #ffffff;
    border: 1px solid var(--rk-case-border);
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
}

.rk-case-data-row {
    display: flex;
    justify-content: space-between;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px dashed var(--rk-case-border);
}

.rk-case-data-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.rk-data-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-case-gray);
    text-transform: uppercase;
}

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

.rk-data-val.status-warn { color: var(--rk-case-warn); }
.rk-data-val.status-ok { color: var(--rk-case-accent); }

@media (max-width: 768px) {
    .rk-case-header, .rk-case-timeline, .rk-case-panel { padding: 30px 20px; }
    .rk-case-timeline { flex-direction: column; gap: 10px; }
    .rk-case-step-btn { flex-direction: row; padding: 15px; text-align: left; }
    .rk-case-panel.is-visible { grid-template-columns: 1fr; gap: 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/"
    },
    "headline": "Case Study: Dobór wylewki dla domu 150 m² w Krakowie",
    "description": "Analiza przypadku inwestora z Krakowa. Zobacz, jak audyt OZC uchronił go przed wylaniem zbyt grubej warstwy betonu i spadkiem efektywności pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-27",
    "dateModified": "2026-06-27"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#dataset-casestudy",
    "name": "Dane projektowe i dobór wylewki - Kraków 2026",
    "description": "Zestawienie parametrów wyjściowych inwestora oraz skorygowanych wartości po wykonaniu profesjonalnego projektu ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego Kraków",
      "błędy przy wylewce podłogowej",
      "optymalizacja wylewki pod pompę ciepła",
      "audyt OZC przed wylewkami",
      "jaka wylewka na podłogówkę case study"
    ],
    "measurementTechnique": "Weryfikacja założeń wykonawcy budowlanego z rzeczywistym zapotrzebowaniem cieplnym budynku i wymaganiami źródła ciepła na podstawie Audytu OZC.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Stan początkowy: Brak projektu, 8 cm zwykłego betonu, panele.",
        "Wykryte ryzyko: Czas reakcji ponad 6 godzin, spadek COP pompy.",
        "Rozwiązanie wdrożone: Projekt OZC, 6 cm betonu z plastyfikatorem, korekta rozstawu rur pod oknami."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webapp-casestudy",
    "name": "Interaktywny Audyt: Projekt Ogrzewania",
    "description": "Aplikacja symulująca proces decyzyjny inżyniera HVAC, pozwalająca użytkownikowi prześledzić etapy od błędnych założeń inwestora do poprawnego projektu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-wrapper">
    <div class="rk-case-header">
        <div class="rk-case-badge">Case Study: Kraków</div>
        <h2>Dobór wylewki dla domu z pompą ciepła</h2>
        <p>Inwestor z Krakowa (nowy dom 150 m²) zgłosił się do nas w przeddzień wejścia ekipy posadzkarskiej. Brakowało mu oficjalnego projektu podłogówki, a wykonawca zasugerował rozwiązanie, które zrujnowałoby koszty ogrzewania. Prześledź proces naszej optymalizacji.</p>
    </div>

    <div class="rk-case-app">
        
        <div class="rk-case-timeline">
            <button class="rk-case-step-btn is-active" id="rkCaseBtn1" onclick="rkSetCaseStep(1)">
                <div class="rk-case-step-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                </div>
                <div class="rk-case-step-title">Problem Inwestora</div>
            </button>

            <button class="rk-case-step-btn" id="rkCaseBtn2" onclick="rkSetCaseStep(2)">
                <div class="rk-case-step-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                </div>
                <div class="rk-case-step-title">Audyt & Obliczenia</div>
            </button>

            <button class="rk-case-step-btn" id="rkCaseBtn3" onclick="rkSetCaseStep(3)">
                <div class="rk-case-step-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                <div class="rk-case-step-title">Wdrożone Rozwiązanie</div>
            </button>
        </div>

        <div class="rk-case-panel is-visible" id="rkCasePanel1">
            <div class="rk-case-text-col">
                <h3>Założenia "na oko" wykonawcy</h3>
                <p>Ekipa budowlana doradziła inwestorowi zalanie rur grubą warstwą <strong>8 cm standardowego betonu z gruszki</strong>, "aby posadzka była solidna i nie pękała". Inwestor planował ułożyć na tym panele podłogowe.</p>
                <p>Źródłem ciepła miała być niskotemperaturowa pompa ciepła powietrze-woda. Brakowało rysunków technicznych i wyliczeń oporów.</p>
            </div>
            <div class="rk-case-data-box">
                <div class="rk-case-data-row">
                    <span class="rk-data-label">Planowana Grubość</span>
                    <span class="rk-data-val status-warn">8.0 cm</span>
                </div>
                <div class="rk-case-data-row">
                    <span class="rk-data-label">Wykończenie</span>
                    <span class="rk-data-val">Panele laminowane</span>
                </div>
                <div class="rk-case-data-row">
                    <span class="rk-data-label">Rodzaj masy</span>
                    <span class="rk-data-val status-warn">Zwykły beton</span>
                </div>
            </div>
        </div>

        <div class="rk-case-panel" id="rkCasePanel2">
            <div class="rk-case-text-col">
                <h3>Symulacja awarii termicznej</h3>
                <p>Jako inżynierzy natychmiast przeliczyliśmy ten wariant. Połączyliśmy 8 cm porowatego betonu z izolacyjnością planowanych paneli.</p>
                <p>Wynik? Łączny opór cieplny przebijał normę. Pompa ciepła musiałaby tłoczyć wodę o temperaturze wyższej o 4°C, by dom się dogrzał, co drastycznie obniżyłoby współczynnik COP. Dodatkowo bezwładność tak grubej płyty uniemożliwiłaby inteligentne sterowanie strefowe.</p>
            </div>
            <div class="rk-case-data-box" style="border-color: var(--rk-case-warn); background: var(--rk-case-warn-light);">
                <div class="rk-case-data-row">
                    <span class="rk-data-label">Prognoza: Czas Reakcji</span>
                    <span class="rk-data-val status-warn">Ponad 6 godzin</span>
                </div>
                <div class="rk-case-data-row">
                    <span class="rk-data-label">Prognoza: Łączny Opór</span>
                    <span class="rk-data-val status-warn">> 0,16 m²K/W</span>
                </div>
                <div class="rk-case-data-row">
                    <span class="rk-data-label">Ryzyko</span>
                    <span class="rk-data-val status-warn">Spadek COP i rachunki w górę</span>
                </div>
            </div>
        </div>

        <div class="rk-case-panel" id="rkCasePanel3">
            <div class="rk-case-text-col">
                <h3>Projekt i optymalizacja chemiczna</h3>
                <p>Wykonaliśmy błyskawiczny audyt OZC dla budynku w Krakowie. Zmieniliśmy koncepcję posadzki, wprowadzając dedykowany <strong>plastyfikator usuwający pęcherzyki powietrza</strong> z mieszanki.</p>
                <p>To pozwoliło bezpiecznie zredukować grubość betonu do 6,0 cm (zachowując nośność). Ciepło z pompy przenika teraz do pomieszczeń błyskawicznie, mimo ułożenia paneli.</p>
            </div>
            <div class="rk-case-data-box" style="border-color: var(--rk-case-accent); background: var(--rk-case-accent-light);">
                <div class="rk-case-data-row">
                    <span class="rk-data-label">Nowa Grubość</span>
                    <span class="rk-data-val status-ok">6.0 cm</span>
                </div>
                <div class="rk-case-data-row">
                    <span class="rk-data-label">Chemia</span>
                    <span class="rk-data-val status-ok">Plastyfikator grzewczy</span>
                </div>
                <div class="rk-case-data-row">
                    <span class="rk-data-label">Czas Reakcji</span>
                    <span class="rk-data-val status-ok">Skrócony do ~3.5 h</span>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
    function rkSetCaseStep(stepNum) {
        // Reset buttons (bezpiecznie bez użycia operatora &&)
        var btns = document.querySelectorAll('.rk-case-step-btn');
        for(var i = 0; i < btns.length; i++) {
            btns[i].classList.remove('is-active');
        }
        
        var activeBtn = document.getElementById('rkCaseBtn' + stepNum);
        if (activeBtn) {
            activeBtn.classList.add('is-active');
        }

        // Hide all panels
        var panels = document.querySelectorAll('.rk-case-panel');
        for(var j = 0; j < panels.length; j++) {
            panels[j].classList.remove('is-visible');
        }
        
        // Show selected panel
        var activePanel = document.getElementById('rkCasePanel' + stepNum);
        if (activePanel) {
            activePanel.classList.add('is-visible');
        }
    }
</script>



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

.rk-exp-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-exp-bg);
    border-radius: 16px;
    box-shadow: 0 15px 35px -5px rgba(15, 23, 42, 0.1);
    border: 2px solid var(--rk-exp-border);
    overflow: hidden;
}

/* Header */
.rk-exp-header {
    background: var(--rk-exp-dark);
    padding: 30px 40px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-exp-blue);
}

.rk-exp-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0;
    color: #ffffff;
    letter-spacing: -0.5px;
}

/* Main Layout */
.rk-exp-layout {
    display: grid;
    grid-template-columns: 300px 1fr;
    background: var(--rk-exp-bg);
}

/* Sidebar - Author Info */
.rk-exp-sidebar {
    padding: 30px;
    background: var(--rk-exp-light);
    border-right: 1px solid var(--rk-exp-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-exp-photo {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}

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

.rk-exp-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-exp-blue);
    text-transform: uppercase;
    margin: 0 0 20px 0;
    letter-spacing: 0.5px;
}

.rk-exp-socials {
    display: flex;
    gap: 15px;
}

.rk-exp-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: #ffffff;
    border: 1px solid var(--rk-exp-border);
    border-radius: 8px;
    color: var(--rk-exp-dark);
    text-decoration: none;
}

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

/* Interactive Content Area */
.rk-exp-content {
    padding: 40px;
    display: flex;
    flex-direction: column;
}

.rk-exp-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 25px;
    border-bottom: 2px solid var(--rk-exp-border);
    padding-bottom: 15px;
}

.rk-exp-tab-btn {
    padding: 10px 20px;
    background: #ffffff;
    border: 2px solid var(--rk-exp-border);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-exp-gray);
    cursor: pointer;
}

.rk-exp-tab-btn.is-active {
    background: var(--rk-exp-blue);
    border-color: var(--rk-exp-blue);
    color: #ffffff;
}

.rk-exp-quote-box {
    position: relative;
    padding: 30px;
    background: #f1f5f9;
    border-radius: 12px;
    border-left: 6px solid var(--rk-exp-accent);
}

.rk-exp-quote-mark {
    position: absolute;
    top: 15px;
    left: 20px;
    font-size: 60px;
    font-family: Georgia, serif;
    color: #cbd5e1;
    line-height: 1;
}

.rk-exp-text-content {
    position: relative;
    z-index: 1;
    font-size: 18px;
    line-height: 1.6;
    color: var(--rk-exp-dark);
    font-weight: 600;
    margin: 0;
}

/* Tab Panels */
.rk-exp-panel {
    display: none;
}

.rk-exp-panel.is-visible {
    display: block;
}

@media (max-width: 768px) {
    .rk-exp-layout {
        grid-template-columns: 1fr;
    }
    .rk-exp-sidebar {
        border-right: none;
        border-bottom: 1px solid var(--rk-exp-border);
        flex-direction: row;
        text-align: left;
        align-items: center;
        gap: 20px;
        padding: 20px;
    }
    .rk-exp-photo {
        width: 80px;
        height: 80px;
        margin-bottom: 0;
    }
    .rk-exp-socials {
        margin-top: 10px;
    }
    .rk-exp-tabs {
        flex-direction: column;
    }
    .rk-exp-header, .rk-exp-content {
        padding: 25px 20px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article-ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/"
    },
    "headline": "Zdaniem eksperta: Robert Kucharski o grubości wylewki",
    "description": "Podsumowanie inżynierskie i najważniejsze zasady wykonawcze dla jastrychów grzewczych. Autorski audyt eksperta HVAC.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "CEO, Główny Projektant HVAC",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "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-27",
    "dateModified": "2026-06-27"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#dataset-ekspert",
    "name": "Złote zasady i błędy wykonawcze wylewek grzewczych",
    "description": "Baza danych dobrych praktyk instalacyjnych weryfikowana na podstawie ponad 1000 zrealizowanych audytów i projektów ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ekspert ogrzewanie podłogowe",
      "Robert Kucharski opinie wylewki",
      "najczęstsze błędy wylewka betonowa",
      "złota zasada ogrzewania podłogowego",
      "projektant instalacji HVAC"
    ],
    "measurementTechnique": "Wiedza oparta na wieloletnim doświadczeniu projektowym, audytach OZC oraz analizie uszkodzeń systemów w domach jednorodzinnych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Brak projektu zawsze podnosi koszty eksploatacji.",
        "Optymalna grubość to kompromis między wytrzymałością a dynamiką grzania.",
        "Błąd otuliny jest nienaprawialny po zalaniu betonu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webapp-ekspert",
    "name": "Moduł Wniosków Eksperckich HVAC",
    "description": "Interaktywny panel prezentujący bezpośrednie rekomendacje inżynierskie, pozwalający użytkownikowi na szybką nawigację między konkluzjami, błędami a zasadami wykonawczymi.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-exp-wrapper">
    <div class="rk-exp-header">
        <h2>Zdaniem eksperta: Robert Kucharski o grubości wylewki</h2>
    </div>

    <div class="rk-exp-layout">
        <div class="rk-exp-sidebar">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski Ekspert HVAC" class="rk-exp-photo">
            <div>
                <h3 class="rk-exp-name">Robert Kucharski</h3>
                <div class="rk-exp-title">CEO / HVAC</div>
                <div class="rk-exp-socials">
                    <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-exp-social-link" aria-label="Facebook Projekt Ogrzewania">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                    </a>
                    <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-exp-social-link" aria-label="LinkedIn Robert Kucharski">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
                    </a>
                </div>
            </div>
        </div>

        <div class="rk-exp-content">
            <div class="rk-exp-tabs">
                <button class="rk-exp-tab-btn is-active" id="rkTabBtn1" onclick="rkSwitchTab(1)">Główny Wniosek</button>
                <button class="rk-exp-tab-btn" id="rkTabBtn2" onclick="rkSwitchTab(2)">Największy Błąd</button>
                <button class="rk-exp-tab-btn" id="rkTabBtn3" onclick="rkSwitchTab(3)">Złota Zasada</button>
            </div>

            <div class="rk-exp-quote-box">
                <div class="rk-exp-quote-mark">"</div>
                
                <div id="rkTab1" class="rk-exp-panel is-visible">
                    <p class="rk-exp-text-content">
                        Grubość wylewki to nie jest parametr, który można ustalić "na oko" w dniu wchodzenia ekipy budowlanej. Każdy centymetr betonu powyżej normy izoluje ciepło i obciąża pompę, a każdy milimetr poniżej granicy bezpieczeństwa grozi pęknięciem posadzki. Precyzja w tym aspekcie decyduje o kosztach ogrzewania przez kolejne dekady.
                    </p>
                </div>

                <div id="rkTab2" class="rk-exp-panel">
                    <p class="rk-exp-text-content" style="color: var(--rk-exp-dark);">
                        Najkosztowniejszym błędem inwestorów jest dobieranie wykończenia podłogi (np. grubej deski dębowej) już po wylaniu 8-centymetrowego betonu. Połączenie masywnego jastrychu i izolującej deski tworzy potężną blokadę termiczną, której nie przebije nawet najbardziej przewymiarowana pompa ciepła w środku zimy.
                    </p>
                </div>

                <div id="rkTab3" class="rk-exp-panel">
                    <p class="rk-exp-text-content" style="color: var(--rk-exp-dark);">
                        Jeżeli decydujesz się na grube panele lub drewno, nakazuję inżynierskie zejście z grubości wylewki do bezpiecznego minimum (6 cm) przy użyciu najwyższej jakości plastyfikatorów. Pamiętaj: system to naczynia połączone. Zanim zamówisz materiały, zleć wykonanie profesjonalnych obliczeń OZC.
                    </p>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
    function rkSwitchTab(tabId) {
        // Reset button styles (bez uzycia &&)
        var btns = document.querySelectorAll('.rk-exp-tab-btn');
        for (var i = 0; i < btns.length; i++) {
            btns[i].classList.remove('is-active');
        }
        
        // Hide all panels
        var panels = document.querySelectorAll('.rk-exp-panel');
        for (var j = 0; j < panels.length; j++) {
            panels[j].classList.remove('is-visible');
        }
        
        // Activate selected
        var activeBtn = document.getElementById('rkTabBtn' + tabId);
        var activePanel = document.getElementById('rkTab' + tabId);
        
        if (activeBtn) {
            activeBtn.classList.add('is-active');
        }
        
        if (activePanel) {
            activePanel.classList.add('is-visible');
        }
    }
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-blue: #0284c7;
    --rk-faq-blue-hover: #0369a1;
    --rk-faq-light-blue: #f0f9ff;
    --rk-faq-border: #e2e8f0;
    --rk-faq-text: #475569;
    --rk-faq-bg: #ffffff;
    --rk-faq-accent: #38bdf8;
    --rk-faq-shadow: 0 10px 30px -10px rgba(2, 132, 199, 0.1);
}

.rk-faq-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: transparent;
}

.rk-faq-header {
    background: linear-gradient(135deg, var(--rk-faq-dark) 0%, #1e293b 100%);
    border-radius: 20px 20px 0 0;
    padding: 35px 45px;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-faq-header-icon {
    width: 48px;
    height: 48px;
    background: rgba(56, 189, 248, 0.15);
    border: 1px solid rgba(56, 189, 248, 0.3);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-faq-accent);
}

.rk-faq-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0;
    letter-spacing: -0.5px;
    color: #f8fafc;
}

.rk-faq-wrapper {
    background: var(--rk-faq-bg);
    border: 1px solid var(--rk-faq-border);
    border-top: none;
    border-radius: 0 0 20px 20px;
    padding: 20px 45px 45px 45px;
    box-shadow: var(--rk-faq-shadow);
}

.rk-faq-item {
    border-bottom: 1px solid var(--rk-faq-border);
    transition: all 0.3s ease;
}

.rk-faq-item:last-child {
    border-bottom: none;
}

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

.rk-faq-question:hover {
    color: var(--rk-faq-blue);
}

.rk-faq-question h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    padding-right: 20px;
}

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

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

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

.rk-faq-answer-inner {
    padding: 0 0 25px 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-faq-text);
}

.rk-faq-answer-inner a {
    color: var(--rk-faq-blue);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-faq-blue);
    transition: all 0.2s;
}

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

/* Responsywność dla mobile (stackowanie, odpowiednie paddingi) */
@media (max-width: 768px) {
    .rk-faq-header {
        padding: 25px 20px;
        border-radius: 16px 16px 0 0;
    }
    .rk-faq-header h2 {
        font-size: 22px;
    }
    .rk-faq-wrapper {
        padding: 10px 20px 25px 20px;
        border-radius: 0 0 16px 16px;
    }
    .rk-faq-question {
        padding: 20px 0;
    }
    .rk-faq-question h3 {
        font-size: 16px;
    }
    .rk-faq-answer-inner {
        font-size: 14px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/"
    },
    "headline": "FAQ – Najczęściej zadawane pytania o grubość wylewki",
    "description": "Zbiór najważniejszych inżynierskich odpowiedzi dotyczących prawidłowej grubości, zbrojenia i wylewek pod pompy ciepła na instalacjach podłogowych.",
    "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-27",
    "dateModified": "2026-06-27"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Jaka jest optymalna grubość wylewki betonowej na ogrzewanie podłogowe?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Optymalna całkowita grubość wylewki cementowej wynosi od 6,0 do 8,0 cm, co przy standardowej instalacji gwarantuje warstwę czystej otuliny betonowej nad rurą w przedziale 3,0–4,5 cm. Taki wymiar zapewnia idealny kompromis pomiędzy wytrzymałością mechaniczną posadzki a niską bezwładnością cieplną układu."
        }
      },
      {
        "@type": "Question",
        "name": "Czym grozi wylanie zbyt cienkiej warstwy betonu nad rurami grzewczymi?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Wylanie warstwy poniżej 3,0 cm nad rurą skutkuje liniowymi pęknięciami jastrychu, odspajaniem płytek oraz drastycznym obniżeniem nośności posadzki na obciążenia punktowe. Dodatkowo wywołuje to zjawisko zebry termicznej, czyli nierównomiernego rozkładu temperatur na powierzchni podłogi."
        }
      },
      {
        "@type": "Question",
        "name": "Czy pod pompy ciepła wylewka betonowa powinna być cieńsza?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, przy zasilaniu niskotemperaturowym z pompy ciepła (35°C) dąży się do minimalizacji oporu cieplnego, dlatego zaleca się wylewki o grubości 6,0–6,5 cm z obowiązkowym dodatkiem plastyfikatora. Pozwala to na maksymalne skrócenie czasu reakcji układu i podniesienie parametru COP pompy."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka jest różnica w grubości między wylewką betonową a anhydrytową?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tradycyjna wylewka betonowa wymaga grubości całkowitej 6–8 cm (minimum 3 cm nad rurą), natomiast płynny jastrych anhydrytowy może mieć grubość zaledwie 3,5–5,0 cm (w tym jedynie 2 cm otuliny nad rurą). Różnica wynika z wyższej wytrzymałości na zginanie oraz lepszej przewodności cieplnej anhydrytu."
        }
      },
      {
        "@type": "Question",
        "name": "Czy można pominąć siatkę zbrojącą przy grubości wylewki wynoszącej 7 cm?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, przy całkowitej grubości 7,0 cm i zastosowaniu mikrozbrojenia z włókien polipropylenowych oraz plastyfikatora, klasyczna siatka stalowa nie jest konieczna w pomieszczeniach mieszkalnych. Siatka pozostaje jednak bezwzględnie wymagana w garażach oraz w miejscach, gdzie grubość otuliny nad rurą spada poniżej 3,0 cm."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#dataset-faq",
    "name": "Baza Wiedzy: Rozwiązywanie Problemów z Wylewkami Grzewczymi",
    "description": "Zestawienie najczęstszych pytań i eksperckich odpowiedzi dotyczących parametrów jastrychu, zbrojenia i doboru instalacji pod pompy ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "optymalna grubość wylewki betonowej na ogrzewanie podłogowe",
      "skutki zbyt cienkiej wylewki",
      "wylewka pod pompę ciepła",
      "różnica między wylewką betonową a anhydrytową",
      "zbrojenie wylewki 7 cm"
    ],
    "measurementTechnique": "Analiza zapytań inwestorów i walidacja rozwiązań z normą PN-EN 1264 oraz instrukcjami producentów chemii budowlanej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zalecenia dotyczące otuliny minimalnej",
        "Zasady rezygnacji ze zbrojenia stalowego",
        "Kompensacja oporów dla pomp ciepła"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webapp-faq",
    "name": "Interaktywny Asystent Wiedzy o Wylewkach",
    "description": "Moduł akordeonowy udostępniający błyskawiczne odpowiedzi na kluczowe problemy techniczne związane z realizacją podkładów podłogowych.",
    "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">
        <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>
        <h2>FAQ – Najczęściej zadawane pytania</h2>
    </div>

    <div class="rk-faq-wrapper">
        
        <div class="rk-faq-item">
            <button class="rk-faq-question" onclick="rkToggleAccordion(this)" aria-expanded="false">
                <h3>Jaka jest optymalna grubość wylewki betonowej na ogrzewanie podłogowe?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    Optymalna całkowita grubość <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewki cementowej</a> wynosi od 6,0 do 8,0 cm, co przy standardowej instalacji gwarantuje warstwę czystej otuliny betonowej nad rurą w przedziale 3,0–4,5 cm. Taki wymiar zapewnia idealny kompromis pomiędzy wytrzymałością mechaniczną posadzki a niską <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładnością cieplną</a> układu.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" onclick="rkToggleAccordion(this)" aria-expanded="false">
                <h3>Czym grozi wylanie zbyt cienkiej warstwy betonu nad rurami grzewczymi?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    Wylanie warstwy poniżej 3,0 cm nad rurą skutkuje liniowymi pęknięciami jastrychu, odspajaniem płytek oraz drastycznym obniżeniem nośności posadzki na obciążenia punktowe. Dodatkowo wywołuje to zjawisko "zebry termicznej", czyli nierównomiernego rozkładu temperatur na powierzchni podłogi.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" onclick="rkToggleAccordion(this)" aria-expanded="false">
                <h3>Czy pod pompy ciepła wylewka betonowa powinna być cieńsza?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    Tak, przy zasilaniu niskotemperaturowym z <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a> (35°C) dąży się do minimalizacji oporu cieplnego, dlatego zaleca się wylewki o grubości 6,0–6,5 cm z obowiązkowym dodatkiem plastyfikatora. Pozwala to na maksymalne skrócenie czasu reakcji układu i podniesienie parametru COP pompy. Dzięki temu upewnisz się <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-energooszczedne/">czy ogrzewanie podłogowe jest energooszczędne</a> na najwyższym poziomie.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" onclick="rkToggleAccordion(this)" aria-expanded="false">
                <h3>Jaka jest różnica w grubości między wylewką betonową a anhydrytową?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    Tradycyjna wylewka betonowa wymaga grubości całkowitej 6–8 cm (minimum 3 cm nad rurą), natomiast płynny jastrych anhydrytowy może mieć grubość zaledwie 3,5–5,0 cm (w tym jedynie 2 cm otuliny nad rurą). Różnica wynika z wyższej wytrzymałości na zginanie oraz lepszej przewodności cieplnej anhydrytu.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" onclick="rkToggleAccordion(this)" aria-expanded="false">
                <h3>Czy można pominąć siatkę zbrojącą przy grubości wylewki wynoszącej 7 cm?</h3>
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    Tak, przy całkowitej grubości 7,0 cm i zastosowaniu mikrozbrojenia z włókien polipropylenowych oraz plastyfikatora, klasyczna siatka stalowa nie jest konieczna w pomieszczeniach mieszkalnych. Siatka pozostaje jednak bezwzględnie wymagana w garażach oraz w miejscach, gdzie grubość otuliny nad rurą spada poniżej 3,0 cm.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
    function rkToggleAccordion(button) {
        var item = button.parentElement;
        var answer = item.querySelector('.rk-faq-answer');
        var isCurrentlyOpen = item.classList.contains('is-open');
        
        // Zwijanie wszystkich pozostałych paneli (opcjonalnie dla czystszego UX)
        var allItems = document.querySelectorAll('.rk-faq-item');
        for (var i = 0; i < allItems.length; i++) {
            allItems[i].classList.remove('is-open');
            allItems[i].querySelector('.rk-faq-question').setAttribute('aria-expanded', 'false');
            allItems[i].querySelector('.rk-faq-answer').style.maxHeight = null;
        }

        // Jeżeli kliknięty element nie był otwarty, otwórz go (bezpieczne rozwiązanie bez operatora &#038;&#038;)
        if (isCurrentlyOpen === false) {
            item.classList.add('is-open');
            button.setAttribute('aria-expanded', 'true');
            answer.style.maxHeight = answer.scrollHeight + "px";
        }
    }
</script>



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

.rk-summary-block {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-sum-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(2, 132, 199, 0.12);
    border: 1px solid rgba(2, 132, 199, 0.2);
    overflow: hidden;
}

/* Header Section */
.rk-summary-header {
    padding: 40px 50px;
    background: radial-gradient(circle at top right, #1e293b 0%, var(--rk-sum-dark) 100%);
    color: #fff;
    text-align: center;
}

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

.rk-summary-title {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 20px 0;
    line-height: 1.3;
    color: #f8fafc;
}

/* Interactive Health Meter */
.rk-health-dashboard {
    background: #f8fafc;
    padding: 30px 50px;
    border-bottom: 1px solid var(--rk-sum-border);
}

.rk-health-bar-container {
    height: 24px;
    background: #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 15px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.05);
}

.rk-health-bar-fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--rk-sum-red) 0%, var(--rk-sum-gold) 50%, var(--rk-sum-green) 100%);
    transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-health-status {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 700;
    color: var(--rk-sum-dark);
}

.rk-health-score {
    font-size: 24px;
    color: var(--rk-sum-blue);
}

/* Interactive Toggles Grid */
.rk-interactive-rules {
    padding: 40px 50px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.rk-rule-card {
    background: #ffffff;
    border: 2px solid var(--rk-sum-border);
    border-radius: 16px;
    padding: 25px;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-rule-card:hover {
    border-color: var(--rk-sum-blue);
    transform: translateY(-3px);
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.1);
}

.rk-rule-card.is-active {
    border-color: var(--rk-sum-green);
    background: var(--rk-sum-green-light);
}

.rk-rule-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.rk-rule-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-sum-dark);
    margin: 0;
}

.rk-toggle-switch {
    width: 48px;
    height: 24px;
    background: #cbd5e1;
    border-radius: 12px;
    position: relative;
    transition: background 0.3s;
}

.rk-rule-card.is-active .rk-toggle-switch {
    background: var(--rk-sum-green);
}

.rk-toggle-knob {
    width: 20px;
    height: 20px;
    background: #ffffff;
    border-radius: 50%;
    position: absolute;
    top: 2px;
    left: 2px;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.rk-rule-card.is-active .rk-toggle-knob {
    transform: translateX(24px);
}

.rk-rule-desc {
    font-size: 14px;
    color: var(--rk-sum-gray);
    line-height: 1.6;
    margin: 0;
}

.rk-rule-card.is-active .rk-rule-desc {
    color: #065f46;
}

/* Tags Section */
.rk-tags-section {
    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 #e2e8f0;
    transition: all 0.2s;
}

.rk-mat-tag:hover {
    background: var(--rk-sum-light-blue);
    color: var(--rk-sum-blue);
    border-color: #bae6fd;
}

/* Creative CTA */
.rk-cta-zone {
    padding: 45px 50px;
    background: var(--rk-sum-dark);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-cta-zone::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(2,132,199,0.1) 0%, transparent 60%);
    pointer-events: none;
}

.rk-cta-title {
    font-size: 26px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
    position: relative;
    z-index: 1;
}

.rk-cta-text {
    font-size: 16px;
    color: #94a3b8;
    margin: 0 auto 30px auto;
    max-width: 650px;
    line-height: 1.7;
    position: relative;
    z-index: 1;
}

.rk-btn-neon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #ffffff;
    color: var(--rk-sum-dark);
    font-size: 18px;
    font-weight: 800;
    padding: 20px 45px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 0 20px rgba(255,255,255,0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    z-index: 1;
}

.rk-btn-neon:hover {
    transform: translateY(-5px);
    background: var(--rk-sum-blue);
    color: #ffffff;
    box-shadow: 0 15px 30px -5px rgba(2, 132, 199, 0.5);
}

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

.rk-btn-neon:hover svg {
    transform: translateX(5px);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .rk-summary-header, .rk-health-dashboard, .rk-interactive-rules, .rk-tags-section, .rk-cta-zone {
        padding: 30px 20px;
    }
    .rk-interactive-rules {
        grid-template-columns: 1fr; /* Stack vertically on mobile */
    }
    .rk-summary-title {
        font-size: 24px;
    }
    .rk-btn-neon {
        width: 100%;
        padding: 18px 20px;
        font-size: 16px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/"
    },
    "headline": "Podsumowanie – Inżynierskie zasady doboru grubości wylewki",
    "description": "Zestawienie optymalnych parametrów grubości jastrychu betonowego dla systemów płaszczyznowych. Interaktywny wskaźnik poprawności montażu wylewki.",
    "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-27",
    "dateModified": "2026-06-27"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#dataset-wylewka",
    "name": "Wytyczne Techniczne: Parametry Wylewki na Ogrzewanie Podłogowe",
    "description": "Zbiór kluczowych wartości liczbowych niezbędnych do prawidłowego wylania jastrychu na systemie ogrzewania podłogowego. Zawiera grubości minimalne i zalecane.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "optymalna grubość wylewki betonowej",
      "minimalna grubość jastrychu na ogrzewanie podłogowe",
      "ile centymetrów wylewki na podłogówkę",
      "plastyfikator do wylewek z ogrzewaniem podłogowym",
      "czas nagrzewania wylewki betonowej"
    ],
    "measurementTechnique": "Określenie parametrów na podstawie normy PN-EN 1264 oraz PN-EN 13813 uwzględniających opór cieplny i nośność.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Minimalna otulina betonowa nad rurką: 3,0 cm",
        "Zalecana całkowita grubość wylewki: 6-8 cm",
        "Wymóg stosowania plastyfikatorów i dylatacji"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webapp-wylewka",
    "name": "Interaktywny Wskaźnik Poprawności Montażu Wylewki",
    "description": "Narzędzie pozwalające inwestorowi zweryfikować kluczowe parametry jastrychu (grubość, otulina, chemia budowlana) i ocenić potencjalne ryzyko awarii posadzki.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-summary-block" id="wylewka-summary-app">
    <div class="rk-summary-header">
        <div class="rk-summary-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>
            Inżynierskie Podsumowanie
        </div>
        <h2 class="rk-summary-title">Zanim wylejesz beton – 4 filary bezpiecznej podłogi</h2>
        <p style="color: #cbd5e1; font-size: 16px; max-width: 700px; margin: 0 auto; line-height: 1.6;">
            Beton nie wybacza błędów. Zbyt cienki pęknie, zbyt gruby wydrenuje Twój portfel i zaburzy pracę pompy ciepła. Uruchom poniższy symulator poprawności i upewnij się, że nie pominąłeś żadnego z kroków wynikających z <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" style="color: var(--rk-sum-accent); text-decoration: underline;">inżynierskich standardów</a>.
        </p>
    </div>

    <div class="rk-health-dashboard">
        <div class="rk-health-bar-container">
            <div class="rk-health-bar-fill" id="rkHealthBar"></div>
        </div>
        <div class="rk-health-status">
            <span>Gotowość do zalewania posadzki:</span>
            <span class="rk-health-score" id="rkHealthScore">0%</span>
        </div>
        <p id="rkHealthMessage" style="font-size: 14px; color: var(--rk-sum-red); margin: 10px 0 0 0; font-weight: 600;">
            Krytyczne braki technologiczne. Instalacja zagrożona usterką!
        </p>
    </div>

    <div class="rk-interactive-rules">
        <div class="rk-rule-card" onclick="toggleRule(this)" data-val="25">
            <div class="rk-rule-header">
                <h3 class="rk-rule-title">Otulina min. 3 cm</h3>
                <div class="rk-toggle-switch"><div class="rk-toggle-knob"></div></div>
            </div>
            <p class="rk-rule-desc">Nad najwyższym punktem rury grzewczej zachowano absolutne minimum 30 mm czystego betonu chroniącego przed naciskiem punktowym i tzw. efektem klawiszowania.</p>
        </div>

        <div class="rk-rule-card" onclick="toggleRule(this)" data-val="25">
            <div class="rk-rule-header">
                <h3 class="rk-rule-title">Całkowita grubość 6-8 cm</h3>
                <div class="rk-toggle-switch"><div class="rk-toggle-knob"></div></div>
            </div>
            <p class="rk-rule-desc">Grubość jastrychu dostosowana do oporu cieplnego posadzki. Optymalizuje czas nagrzewania i likwiduje problem "zebry termicznej" oraz przeciążenia stropu.</p>
        </div>

        <div class="rk-rule-card" onclick="toggleRule(this)" data-val="25">
            <div class="rk-rule-header">
                <h3 class="rk-rule-title">Plastyfikator do betonu</h3>
                <div class="rk-toggle-switch"><div class="rk-toggle-knob"></div></div>
            </div>
            <p class="rk-rule-desc">Zastosowano chemię eliminującą bąbelki powietrza. Beton idealnie oblał rury, zwiększając przewodność cieplną λ z 1,2 do nawet 1,45 W/(m·K).</p>
        </div>

        <div class="rk-rule-card" onclick="toggleRule(this)" data-val="25">
            <div class="rk-rule-header">
                <h3 class="rk-rule-title">Kompletne dylatacje</h3>
                <div class="rk-toggle-switch"><div class="rk-toggle-knob"></div></div>
            </div>
            <p class="rk-rule-desc">Wykonano taśmy brzegowe oraz nacięcia pośrednie dla pól powyżej 36 m². Płyta grzewcza może swobodnie "pracować" pod wpływem temperatury.</p>
        </div>
    </div>

    <div class="rk-tags-section">
        <span class="rk-mat-tag"># optymalna grubość wylewki betonowej</span>
        <span class="rk-mat-tag"># minimalna grubość jastrychu na ogrzewanie podłogowe</span>
        <span class="rk-mat-tag"># ile centymetrów wylewki na podłogówkę</span>
        <span class="rk-mat-tag"># wylewka anhydrytowa a cementowa różnice</span>
        <span class="rk-mat-tag"># plastyfikator do wylewek z ogrzewaniem podłogowym</span>
        <span class="rk-mat-tag"># pękanie wylewki na ogrzewaniu podłogowym</span>
        <span class="rk-mat-tag"># profesjonalny projekt instalacji ogrzewania podłogowego</span>
        <span class="rk-mat-tag"># czas nagrzewania wylewki betonowej</span>
    </div>

    <div class="rk-cta-zone">
        <h3 class="rk-cta-title">Budowa Bez Ściemy. Ogrzewanie bez kompromisów.</h3>
        <p class="rk-cta-text">
            Chcesz mieć pewność, że parametry Twojej wylewki są perfekcyjnie dopasowane do mocy pompy ciepła i rozstawu rur? Wszystko zaczyna się na papierze. Nie zgaduj na budowie – powierz <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" style="color: var(--rk-sum-accent);">wykonanie OZC i układu hydraulicznego</a> profesjonalistom.
        </p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-neon">
            ZDOBĄDŹ WIEDZĘ EKSPERCKĄ
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
    let rkCurrentScore = 0;

    function toggleRule(element) {
        const value = parseInt(element.getAttribute('data-val'));
        
        if (element.classList.contains('is-active')) {
            element.classList.remove('is-active');
            rkCurrentScore = rkCurrentScore - value;
        } else {
            element.classList.add('is-active');
            rkCurrentScore = rkCurrentScore + value;
        }

        updateDashboard();
    }

    function updateDashboard() {
        const barFill = document.getElementById('rkHealthBar');
        const scoreText = document.getElementById('rkHealthScore');
        const msgText = document.getElementById('rkHealthMessage');

        barFill.style.width = rkCurrentScore + '%';
        scoreText.innerText = rkCurrentScore + '%';

        if (rkCurrentScore === 0) {
            msgText.innerText = 'Krytyczne braki technologiczne. Instalacja zagrożona usterką!';
            msgText.style.color = 'var(--rk-sum-red)';
            scoreText.style.color = 'var(--rk-sum-red)';
        } else if (rkCurrentScore > 0) {
            if (rkCurrentScore < 100) {
                msgText.innerText = 'Część wymogów spełniona, ale system nadal narażony na pęknięcia i straty ciepła.';
                msgText.style.color = 'var(--rk-sum-gold)';
                scoreText.style.color = 'var(--rk-sum-gold)';
            } else {
                if (rkCurrentScore === 100) {
                    msgText.innerText = 'Wzorowy standard inżynierski! Twoja posadzka jest gotowa do bezpiecznego wylania betonu.';
                    msgText.style.color = 'var(--rk-sum-green)';
                    scoreText.style.color = 'var(--rk-sum-green)';
                }
            }
        }
    }
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-blue: #0284c7;
    --rk-dl-blue-light: #f0f9ff;
    --rk-dl-accent: #f59e0b;
    --rk-dl-gray: #475569;
    --rk-dl-bg: #ffffff;
    --rk-dl-border: #e2e8f0;
}

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

/* Header */
.rk-dl-header {
    background: var(--rk-dl-dark);
    padding: 35px 45px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dl-blue);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

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

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

/* Layout */
.rk-dl-layout {
    display: grid;
    grid-template-columns: 320px 1fr;
    background: var(--rk-dl-bg);
}

/* Preview Column */
.rk-dl-preview-col {
    padding: 40px;
    background: var(--rk-dl-blue-light);
    border-right: 1px solid var(--rk-dl-border);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-dl-thumbnail-box {
    width: 100%;
    background: #ffffff;
    border-radius: 12px;
    padding: 10px;
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.2);
    border: 1px solid var(--rk-dl-border);
    position: relative;
    cursor: pointer;
}

.rk-dl-thumbnail-box::after {
    content: '🔍 POWIĘKSZ';
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--rk-dl-dark);
    color: #ffffff;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 800;
    opacity: 0;
    transition: opacity 0.2s;
}

.rk-dl-thumbnail-box:hover::after {
    opacity: 1;
}

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

.rk-dl-preview-desc {
    margin-top: 20px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-dl-blue);
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Actions Column */
.rk-dl-actions-col {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-dl-info {
    margin-bottom: 35px;
}

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

.rk-dl-info p {
    font-size: 15px;
    color: var(--rk-dl-gray);
    line-height: 1.6;
    margin: 0;
}

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

.rk-dl-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 25px;
    border-radius: 12px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 800;
    transition: all 0.2s;
}

.rk-dl-btn-primary {
    background: var(--rk-dl-blue);
    color: #ffffff;
    border: 2px solid var(--rk-dl-blue);
}

.rk-dl-btn-primary:hover {
    background: #0369a1;
    border-color: #0369a1;
}

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

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

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

.rk-dl-meta {
    font-size: 12px;
    font-weight: 600;
    opacity: 0.8;
}

/* Footer / Copyright */
.rk-dl-footer {
    padding: 20px 45px;
    background: #f8fafc;
    border-top: 1px solid var(--rk-dl-border);
    font-size: 13px;
    color: var(--rk-dl-gray);
    line-height: 1.5;
    text-align: center;
}

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

/* Fullscreen Modal */
.rk-dl-modal {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(15, 23, 42, 0.95);
    z-index: 9999;
    padding: 40px;
    justify-content: center;
    align-items: center;
}

.rk-dl-modal.is-open {
    display: flex;
}

.rk-dl-modal-content {
    max-width: 90%;
    max-height: 90vh;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
}

.rk-dl-modal-close {
    position: absolute;
    top: 20px;
    right: 30px;
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 40px;
    cursor: pointer;
    line-height: 1;
}

@media (max-width: 768px) {
    .rk-dl-layout { grid-template-columns: 1fr; }
    .rk-dl-preview-col { border-right: none; border-bottom: 1px solid var(--rk-dl-border); padding: 30px 20px; }
    .rk-dl-header, .rk-dl-actions-col, .rk-dl-footer { padding: 30px 20px; }
    .rk-dl-header { flex-direction: column; text-align: center; gap: 15px; }
    .rk-dl-modal { padding: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/"
    },
    "headline": "Pobierz Infografikę: Kompendium parametrów wylewki",
    "description": "Zestawienie normatywnych parametrów grubości i oporów cieplnych posadzek w formie graficznej, przygotowane specjalnie dla inwestorów i wykonawców.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe.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-27",
    "dateModified": "2026-06-27"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#dataset-infografika",
    "name": "Infografika techniczna: Ogrzewanie podłogowe a wylewka",
    "description": "Plik PDF i WebP o wysokiej rozdzielczości zawierający zbiór kluczowych błędów montażowych, wytycznych normowych i zależności oporu cieplnego okładzin.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe",
      "ściągawka wylewka betonowa PDF",
      "błędy inwestorów posadzki grzewczej",
      "normy projektowe podłogówka",
      "grubość wylewki tabela wykończeń"
    ],
    "measurementTechnique": "Przedstawienie skomplikowanych wyliczeń OZC oraz wymogów prawnych PN-EN w formie wektorowego schematu graficznego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zalecane grubości posadzek a rodzaj paneli / płytek.",
        "Krzywe spadku COP przy przewymiarowaniu warstwy betonowej.",
        "Rekomendacje dotyczące otuliny w zależności od średnicy rury."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webapp-infografika",
    "name": "Moduł Dystrybucji Wiedzy Inżynierskiej",
    "description": "Interfejs do pobierania autorskich materiałów edukacyjnych (PDF, WebP), umożliwiający zapis plików bezpośrednio na urządzeniu użytkownika w celach projektowych.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-wrapper">
    <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>
        <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="color: #38bdf8;"><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-dl-layout">
        <div class="rk-dl-preview-col">
            <div class="rk-dl-thumbnail-box" onclick="rkOpenModal()">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe.webp" alt="Infografika - Grubość wylewki betonowej na ogrzewanie podłogowe" class="rk-dl-thumbnail">
            </div>
            <div class="rk-dl-preview-desc">Kliknij, aby podglądnąć</div>
        </div>

        <div class="rk-dl-actions-col">
            <div class="rk-dl-info">
                <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>

            <div class="rk-dl-buttons">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe.pdf" download class="rk-dl-btn rk-dl-btn-primary" target="_blank">
                    <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>
                        <span>Pobierz jako dokument PDF</span>
                    </div>
                    <span class="rk-dl-meta">Wysoka jakość</span>
                </a>

                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe.webp" download class="rk-dl-btn rk-dl-btn-secondary" target="_blank">
                    <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>
                        <span>Pobierz jako Obraz (WebP)</span>
                    </div>
                    <span class="rk-dl-meta">Lekki plik</span>
                </a>
            </div>
        </div>
    </div>

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

<div class="rk-dl-modal" id="rkImageModal" onclick="rkCloseModal(event)">
    <button class="rk-dl-modal-close" onclick="rkCloseModal(event)">&times;</button>
    <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe.webp" alt="Podgląd Infografiki" class="rk-dl-modal-content" id="rkModalImg">
</div>

<script>
    function rkOpenModal() {
        var modal = document.getElementById('rkImageModal');
        if (modal) {
            modal.classList.add('is-open');
        }
    }

    function rkCloseModal(event) {
        var modal = document.getElementById('rkImageModal');
        var modalImg = document.getElementById('rkModalImg');
        
        // Zamykaj tylko jeśli kliknięto tło (modal) lub przycisk zamknięcia, a nie sam obrazek (bez &&)
        if (event.target === modal) {
            modal.classList.remove('is-open');
        } else {
            if (event.target.classList.contains('rk-dl-modal-close')) {
                modal.classList.remove('is-open');
            }
        }
    }
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/">Grubość wylewki betonowej na ogrzewanie podłogowe.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Wylewka betonowa na ogrzewanie podłogowe.</title>
		<link>https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 27 Dec 2025 11:07:44 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Instalacja ogrzewania podłogowego]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Posadzki i wylewki]]></category>
		<category><![CDATA[dylatacje]]></category>
		<category><![CDATA[grubość wylewki]]></category>
		<category><![CDATA[jastrych anhydrytowy]]></category>
		<category><![CDATA[jastrych cementowy]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[przewodność cieplna]]></category>
		<category><![CDATA[wygrzewanie wylewki]]></category>
		<category><![CDATA[wylewka betonowa]]></category>
		<category><![CDATA[wylewka na podłogówkę]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2985</guid>

					<description><![CDATA[<p>Wydajność ogrzewania podłogowego nie zależy wyłącznie od rur i źródła ciepła. Kluczową rolę odgrywa wylewka betonowa na ogrzewanie podłogowe, która decyduje o komforcie, trwałości i reakcji całego systemu. W tym technicznym przewodniku krok po kroku wyjaśniamy, jak dobrać odpowiedni rodzaj wylewki, jaka grubość ma sens, czym różni się cement od anhydrytu oraz jak prawidłowo przeprowadzić suszenie i pierwsze uruchomienie ogrzewania. To praktyczna wiedza dla inwestorów, którzy chcą uniknąć kosztownych błędów i mieć system działający stabilnie przez lata.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">Wylewka betonowa na ogrzewanie podłogowe.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Pierwszym i najważniejszym elementem, który decyduje o wydajności, trwałości i komforcie cieplnym twojego systemu, jest&nbsp;<strong>wylewka betonowa na ogrzewanie podłogowe</strong>. To nie jest zwykły betonowy podkład, a zaawansowany technicznie element konstrukcyjny, pełniący rolę wielkiego, aktywnego radiatora. W tym kompleksowym artykule zagłębimy się w techniczne aspekty jej doboru, wykonania i współpracy z wodną instalacją grzewczą, dostarczając niezbędnej wiedzy do podjęcia świadomych decyzji.</p>



<h2 class="wp-block-heading">Nie tylko podłoże: Kluczowe funkcje wylewki w systemie grzewczym.</h2>



<p class="wp-block-paragraph">Wylewka, zwana również jastrychem, w kontekście ogrzewania podłogowego przejmuje kilka fundamentalnych ról, które wykraczają daleko poza funkcję poziomej, równej powierzchni.</p>



<ul class="wp-block-list">
<li><strong>Funkcja akumulacyjno-grzewcza:</strong>&nbsp;Jest to jej podstawowe zadanie. Wylewka działa jak&nbsp;<strong>masywny akumulator ciepła</strong>. Pobiera energię termiczną z rur grzewczych, magazynuje ją, a następnie równomiernie oddaje do pomieszczenia przez wiele godzin. Dzięki temu eliminuje się nieprzyjemne uczucie „gorących pasów” i zapewnia stabilną temperaturę, nawet po chwilowym wyłączeniu źródła ciepła.</li>



<li><strong>Funkcja dystrybucyjna:</strong>&nbsp;Jednolita płyta betonowa&nbsp;<strong>równomiernie rozprowadza ciepło</strong>&nbsp;na całej powierzchni podłogi. Jest to szczególnie istotne przy standardowym rozstawie rur (zwykle 10-20 cm). Bez wylewki, odczuwalny byłby efekt „grzebienia” – cieplejszych linii nad rurami i chłodniejszych przestrzeni między nimi.</li>



<li><strong>Funkcja ochronna:</strong> Warstwa betonu stanowi <strong>mechaniczną tarczę</strong> dla precyzyjnie ułożonych rur z tworzywa sztucznego (<a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">PEX,</a> <a href="https://projekt-ogrzewania.pl/rura-pert-do-ogrzewania-podlogowego/">PE-RT</a>) lub wielowarstwowych. Zabezpiecza je przed uszkodzeniem podczas późniejszych prac wykończeniowych i eksploatacji.</li>



<li><strong>Funkcja konstrukcyjna:</strong>&nbsp;Jastrych&nbsp;<strong>przenosi i rozkłada obciążenia użytkowe</strong>&nbsp;(meble, ruch osób) na warstwę izolacji termicznej, zabezpieczając jej integralność. Stanowi również idealnie gładkie i stabilne&nbsp;<strong>podłoże pod każdy rodzaj posadzki</strong>&nbsp;– od płytek ceramicznych po delikatne panele laminowane.</li>
</ul>



<h2 class="wp-block-heading">Materiał ma znaczenie: Przegląd rodzajów wylewek pod ogrzewanie podłogowe.</h2>



<p class="wp-block-paragraph">Wybór odpowiedniego rodzaju wylewki jest decyzją strategiczną, wpływającą na parametry grzewcze, czas inwestycji i trwałość.</p>



<h3 class="wp-block-heading">Tradycyjna wylewka cementowa (CT).</h3>



<p class="wp-block-paragraph">Klasyczne rozwiązanie, oparte na mieszance cementu, kruszywa (piasku) i wody. Jej zastosowanie wymaga&nbsp;<strong>szczególnej staranności</strong>.</p>



<ul class="wp-block-list">
<li><strong>Zalety:</strong>&nbsp;Wysoka wytrzymałość mechaniczna, odporność na wilgoć, niski koszt materiałów.</li>



<li><strong>Wyzwania:</strong>&nbsp;Długi czas wiązania i&nbsp;<strong>suszenia</strong>&nbsp;(ok. 1 mm grubości na dzień). Podatność na skurcz, który&nbsp;<strong>koniecznie musi być skompensowany</strong>&nbsp;poprzez zbrojenie i dylatacje. Jej gorsza przewodność cieplna w porównaniu do anhydrytu może nieznacznie wydłużyć czas reakcji systemu.</li>
</ul>



<h3 class="wp-block-heading">Nowoczesna wylewka anhydrytowa (CA).</h3>



<p class="wp-block-paragraph">Wylewka na bazie spoiwa gipsowego (bezwodny siarczan wapnia) jest obecnie&nbsp;<strong>najczęściej rekomendowanym rozwiązaniem</strong>&nbsp;do systemów ogrzewania podłogowego.</p>



<ul class="wp-block-list">
<li><strong>Zalety:</strong>&nbsp;Doskonała&nbsp;<strong>płynność i samopoziomowanie</strong>, co ułatwia osiągnięcie idealnie równej powierzchni. Wyższy&nbsp;<strong>współczynnik przewodzenia ciepła (λ)</strong>, co przekłada się na szybsze oddawanie ciepła do pomieszczenia. Mniejszy skurcz, dzięki czemu rzadziej wymaga dylatacji pośrednich.&nbsp;<strong>Szybsze osiąganie stanu suchego</strong>.</li>



<li><strong>Ograniczenia:</strong>&nbsp;Wrażliwość na stałe zawilgocenie. W pomieszczeniach mokrych (łazienki, pralnie) wymaga zastosowania&nbsp;<strong>hydroizolacji</strong>.</li>
</ul>



<h3 class="wp-block-heading">Wylewki szybkoschnące i specjalistyczne.</h3>



<p class="wp-block-paragraph">Dedykowane dla projektów remontowych, gdzie czas jest krytyczny, lub obiektów o specjalnych wymaganiach.</p>



<ul class="wp-block-list">
<li><strong>Wylewki modyfikowane polimerami:</strong>&nbsp;Charakteryzują się&nbsp;<strong>bardzo wysoką wytrzymałością</strong>, przyczepnością i odpornością. Pozwalają na chodzenie po powierzchni już po kilku godzinach.</li>



<li><strong>Wylewki magnezjowe:</strong>&nbsp;Odporne na ścieranie i wilgoć, stosowane w obiektach przemysłowych, rzadziej w domach jednorodzinnych.</li>
</ul>



<h2 class="wp-block-heading">Parametry techniczne, które musisz znać: Grubość, wytrzymałość, zbrojenie.</h2>



<p class="wp-block-paragraph">Sam wybór materiału to nie wszystko. Kluczowe są parametry wykonania.</p>



<ul class="wp-block-list">
<li><strong>Optymalna grubość:</strong>&nbsp;To najczęstsze pytanie. Generalna zasada mówi o&nbsp;<strong>minimalnej grubości 4,5 cm nad rurą grzewczą</strong>. Standardem jest&nbsp;<strong>5-7 cm</strong>. Zbyt cienka wylewka (poniżej 4 cm) grozi pęknięciami i nierównomiernym grzaniem. Zbyt gruba (powyżej 8-9 cm) tworzy system o dużej&nbsp;<strong>bezwładności cieplnej</strong>, co wydłuża czas nagrzewania i stygnięcia pomieszczenia.</li>



<li><strong>Klasa wytrzymałości:</strong>&nbsp;Dla obciążeń domowych minimalną zalecaną klasą jest&nbsp;<strong>C20/F4</strong>&nbsp;(wytrzymałość na ściskanie 20 MPa, na zginanie 4 MPa). W praktyce coraz częściej stosuje się klasę&nbsp;<strong>C25/F5</strong>, która gwarantuje większą odporność.</li>



<li><strong>Konieczność zbrojenia:</strong>&nbsp;W wylewkach cementowych&nbsp;<strong>zbrojenie jest obligatoryjne</strong>. Można je wykonać za pomocą:
<ol start="1" class="wp-block-list">
<li><strong>Siatki stalowej</strong>&nbsp;(np. o oczkach 15&#215;15 cm, drut Ø3-4 mm) układanej na podkładkach dystansowych.</li>



<li><strong>Włókien rozproszonych</strong>&nbsp;(polipropylenowych lub stalowych) dodawanych do mieszanki betonowej. To rozwiązanie eliminuje ryzyko błędu przy układaniu siatki.<br>Dla wylewek anhydrytowych często wystarczają włókna rozproszone, choć w newralgicznych miejscach zaleca się siatkę.</li>
</ol>
</li>



<li><strong>Przewodność cieplna (λ):</strong>&nbsp;Im wyższa wartość, tym lepiej i szybciej wylewka przewodzi ciepło. Wylewki anhydrytowe mają tu przewagę (λ ~1,4-1,6 W/mK) nad cementowymi (λ ~1,2-1,4 W/mK).</li>
</ul>



<h2 class="wp-block-heading">Proces wykonawczy krok po kroku: Od izolacji do pielęgnacji.</h2>



<p class="wp-block-paragraph">Prawidłowa sekwencja prac jest gwarantem sukcesu.</p>



<ol start="1" class="wp-block-list">
<li><strong>Przygotowanie podłoża:</strong> Na stropie lub podkładzie betonowym układa się <strong>izolację termiczną</strong> (np. styropian <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/">EPS 100</a> lub <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-200-z-wypustkami/">EPS 200</a>, piankę PIR) oraz folię odbijającą promieniowanie (lub specjalne maty z wypustkami do mocowania rur).</li>



<li><strong>Montaż instalacji i <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">PRÓBA CIŚNIENIOWA</a>:</strong> Po ułożeniu i podłączeniu rur do rozdzielacza, <strong>absolutnie obowiązkowym</strong> krokiem jest wykonanie próby szczelności. Instalację napełnia się wodą pod ciśnieniem (zwykle 0,6-0,8 MPa). <strong>Ciśnienie to musi być utrzymane przez cały czas wylewania, wiązania i wstępnego wysychania wylewki.</strong> Jest to jedyny sposób na wczesne wykrycie ewentualnych przecieków.</li>



<li><strong>Wykonanie dylatacji:</strong>&nbsp;Należy pamiętać o:
<ul class="wp-block-list">
<li><strong>Dylatacjach obwodowych</strong>&nbsp;– z taśmy dylatacyjnej przy wszystkich ścianach, słupach.</li>



<li><strong>Dylatacjach pośrednich</strong>&nbsp;– dzielących duże powierzchnie (powyżej 40 m² lub o boku dłuższym niż 8 m).&nbsp;<strong>Uwaga! Dylatacje pośrednie nie mogą przecinać rur grzewczych.</strong>&nbsp;Ich lokalizację planuje się na etapie projektu instalacji.</li>
</ul>
</li>



<li><strong>Wykonanie mieszanki i wylewanie:</strong>&nbsp;Beton należy zamówić w wytwórni (tzw. beton towarowy) lub, przy mniejszych powierzchniach, przygotować na placu budowy. Wylewa się go od najdalszego punktu pomieszczenia. Do rozścielenia używa się łatwy, a do usunięcia pęcherzy powietrza –&nbsp;<strong>wałka kolczastego</strong>.</li>



<li><strong>Pielęgnacja:</strong>&nbsp;Świeżej wylewki nie można wystawić na działanie przeciągów, bezpośredniego słońca ani gwałtownego odparowywania wody. Przez pierwsze 3-7 dni warto ją przykryć folią lub zwilżać (w przypadku cementowej).</li>
</ol>



<h2 class="wp-block-heading">Suszenie i pierwsze uruchomienie ogrzewania: Najbardziej newralgiczny moment.</h2>



<p class="wp-block-paragraph">To etap, na którym popełnia się najwięcej błędów, prowadzących do spękań i odkształceń.</p>



<ol start="1" class="wp-block-list">
<li><strong>Suszenie naturalne:</strong>&nbsp;Wylewka cementowa wymaga ok.&nbsp;<strong>28 dni na osiągnięcie wystarczającej wytrzymałości</strong>&nbsp;przed uruchomieniem ogrzewania. Pełne wyschnięcie (do wilgotności poniżej 2% CM) może trwać nawet 1 mm/dzień (czyli dla 6 cm = 60 dni). Wylewka anhydrytowa jest gotowa do wstępnego uruchomienia po ok.&nbsp;<strong>7-10 dniach</strong>.</li>



<li><strong>Procedura pierwszego rozruchu systemu (tzw. „wygrzewanie wylewki”):</strong>
<ul class="wp-block-list">
<li><strong>KROK 1:</strong>&nbsp;Upewnij się, że wylewka ma odpowiedni wiek (min. 28 dni dla cementowej, 7-10 dla anhydrytowej). Próbę ciśnieniową nadal utrzymujemy.</li>



<li><strong>KROK 2:</strong>&nbsp;Ustaw temperaturę zasilania na&nbsp;<strong>25°C</strong>&nbsp;i utrzymuj ją przez&nbsp;<strong>2-3 dni</strong>.</li>



<li><strong>KROK 3:</strong>&nbsp;Zwiększaj temperaturę stopniowo, o&nbsp;<strong>maksymalnie 5°C na dobę</strong>, aż dojdziesz do temperatury projektowej (np. 45°C).</li>



<li><strong>KROK 4:</strong>&nbsp;Utrzymuj maksymalną temperaturę przez kolejne&nbsp;<strong>3 dni</strong>.</li>



<li><strong>KROK 5:</strong>&nbsp;<strong>Stopniowo wyłącz ogrzewanie</strong>, pozwalając wylewce ostygnąć naturalnie.</li>
</ul>
</li>
</ol>



<p class="wp-block-paragraph"><strong>Nagłe wprowadzenie do zimnej wylewki wody o wysokiej temperaturze (powyżej 40°C) grozi termicznym szokiem, nieodwracalnymi uszkodzeniami i powstaniem sieci spękań.</strong></p>



<h2 class="wp-block-heading">Tabela porównawcza: Wylewka cementowa vs. anhydrytowa.</h2>



<div style="overflow-x:auto;">
  <table style="width:100%; border-collapse:collapse; margin:20px 0; font-size:16px;">
    <thead>
      <tr style="background:#f5f5f5;">
        <th style="border:1px solid #ddd; padding:10px; text-align:left;">Cecha</th>
        <th style="border:1px solid #ddd; padding:10px; text-align:left;">Wylewka cementowa (CT)</th>
        <th style="border:1px solid #ddd; padding:10px; text-align:left;">Wylewka anhydrytowa (CA)</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td style="border:1px solid #ddd; padding:10px;"><strong>Podstawowe spoiwo</strong></td>
        <td style="border:1px solid #ddd; padding:10px;">Cement portlandzki</td>
        <td style="border:1px solid #ddd; padding:10px;">Anhydryt (siarczan wapnia)</td>
      </tr>
      <tr style="background:#fafafa;">
        <td style="border:1px solid #ddd; padding:10px;"><strong>Przewodność cieplna</strong></td>
        <td style="border:1px solid #ddd; padding:10px;">Dobra (~1,2–1,4 W/mK)</td>
        <td style="border:1px solid #ddd; padding:10px;"><strong>Lepsza</strong> (~1,4–1,6 W/mK)</td>
      </tr>
      <tr>
        <td style="border:1px solid #ddd; padding:10px;"><strong>Skurcz</strong></td>
        <td style="border:1px solid #ddd; padding:10px;">Większy, wymaga zbrojenia</td>
        <td style="border:1px solid #ddd; padding:10px;">Znacznie mniejszy</td>
      </tr>
      <tr style="background:#fafafa;">
        <td style="border:1px solid #ddd; padding:10px;"><strong>Płynność / samopoziomowanie</strong></td>
        <td style="border:1px solid #ddd; padding:10px;">Wymaga mechanicznego rozprowadzenia</td>
        <td style="border:1px solid #ddd; padding:10px;"><strong>Bardzo dobra</strong>, często samopoziomująca</td>
      </tr>
      <tr>
        <td style="border:1px solid #ddd; padding:10px;"><strong>Czas wiązania / schnięcia</strong></td>
        <td style="border:1px solid #ddd; padding:10px;">Długi (pełna wytrzymałość: 28 dni)</td>
        <td style="border:1px solid #ddd; padding:10px;"><strong>Szybszy</strong> (pierwsze uruchomienie: 7–10 dni)</td>
      </tr>
      <tr style="background:#fafafa;">
        <td style="border:1px solid #ddd; padding:10px;"><strong>Odporność na wilgoć</strong></td>
        <td style="border:1px solid #ddd; padding:10px;">Wysoka</td>
        <td style="border:1px solid #ddd; padding:10px;">Ograniczona, wymaga zabezpieczeń w „mokrych” pomieszczeniach</td>
      </tr>
      <tr>
        <td style="border:1px solid #ddd; padding:10px;"><strong>Koszt materiałów</strong></td>
        <td style="border:1px solid #ddd; padding:10px;">Niższy</td>
        <td style="border:1px solid #ddd; padding:10px;">Wyższy</td>
      </tr>
      <tr style="background:#fafafa;">
        <td style="border:1px solid #ddd; padding:10px;"><strong>Zalecane zbrojenie</strong></td>
        <td style="border:1px solid #ddd; padding:10px;">Siatka stalowa lub włókna – obowiązkowe</td>
        <td style="border:1px solid #ddd; padding:10px;">Włókna rozproszone zwykle wystarczające</td>
      </tr>
    </tbody>
  </table>
</div>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego: Punkt wyjścia dla wylewki.</h2>



<p class="wp-block-paragraph"><strong>Wszystko zaczyna się od dobrego projektu.</strong> <a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">Projekt instalacji ogrzewania podłogowego</a> jest <strong>nieodzownym dokumentem</strong>, który bezpośrednio wpływa na parametry wylewki. Dlaczego?</p>



<ul class="wp-block-list">
<li><strong>Określa rozstaw rur:</strong>&nbsp;Gęstszy rozstaw (np. 10 cm) w strefach brzegowych lub łazienkach może wymusić lokalne zwiększenie grubości wylewki dla zapewnienia równomiernego rozkładu temperatury.</li>



<li><strong>Wskazuje lokalizację dylatacji pośrednich:</strong>&nbsp;Projektant, znając rozkład pętli grzewczych, zaplanuje miejsca dylatacji tak, aby nie kolidowały z rurami.</li>



<li><strong>Określa temperaturę zasilania:</strong>&nbsp;Maksymalna projektowa temperatura pracy systemu (zwykle 40-55°C) jest kluczowa dla procedury pierwszego uruchomienia ogrzewania w wylewce.</li>



<li><strong>Wymusza dobór odpowiedniej izolacji:</strong>&nbsp;Grubość i rodzaj izolacji termicznej pod wylewką, także wynikające z projektu, wpływają na efektywność całego systemu i minimalizację strat ciepła w dół.</li>
</ul>



<p class="wp-block-paragraph"><strong>Inwestycja w profesjonalny projekt to inwestycja w poprawność wykonania wszystkich kolejnych warstw, w tym kluczowej wylewki betonowej.</strong></p>



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



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1766832838208"><strong class="schema-faq-question"><strong>Jaka wylewka jest najlepsza na ogrzewanie podłogowe?</strong></strong> <p class="schema-faq-answer">Najczęściej rekomendowana jest wylewka anhydrytowa ze względu na lepszą przewodność cieplną, mniejszy skurcz i szybsze nagrzewanie podłogi. Cementowa sprawdzi się tam, gdzie występuje wilgoć.</p> </div> <div class="schema-faq-section" id="faq-question-1766832937964"><strong class="schema-faq-question"><strong>Jaka powinna być minimalna grubość wylewki nad rurami?</strong></strong> <p class="schema-faq-answer">Minimalna bezpieczna grubość to ok. 4,5 cm nad rurą grzewczą. W praktyce najczęściej wykonuje się wylewki o grubości 5–7 cm.</p> </div> <div class="schema-faq-section" id="faq-question-1766832958322"><strong class="schema-faq-question"><strong>Czy wylewkę cementową trzeba zbroić?</strong></strong> <p class="schema-faq-answer">Tak. Wylewka cementowa wymaga zbrojenia – siatką stalową lub włóknami rozproszonymi – aby ograniczyć skurcz i ryzyko pęknięć.</p> </div> <div class="schema-faq-section" id="faq-question-1766832967284"><strong class="schema-faq-question"><strong>Po jakim czasie można uruchomić ogrzewanie podłogowe?</strong></strong> <p class="schema-faq-answer">Dla wylewki anhydrytowej po około 7–10 dniach, a dla cementowej po minimum 28 dniach. Uruchomienie zawsze musi odbywać się zgodnie z procedurą stopniowego wygrzewania.</p> </div> <div class="schema-faq-section" id="faq-question-1766832985664"><strong class="schema-faq-question"><strong>Dlaczego projekt ogrzewania podłogowego jest tak ważny dla wylewki?</strong></strong> <p class="schema-faq-answer">Projekt określa rozstaw rur, lokalizację dylatacji, temperatury pracy i izolację. Bez niego łatwo popełnić błędy prowadzące do nierównego grzania lub pęknięć wylewki.</p> </div> </div>



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



<p class="wp-block-paragraph"><strong>Wylewka betonowa na ogrzewanie podłogowe</strong>&nbsp;to serce całego systemu. Jej prawidłowe zaprojektowanie i wykonanie to inwestycja w dekady komfortu cieplnego i bezawaryjnej pracy. Pamiętaj o kluczowych filarach: wyborze materiału dopasowanego do potrzeb (anhydryt to często najlepszy wybór), zachowaniu&nbsp;<strong>optymalnej grubości 5-7 cm</strong>, obowiązkowym&nbsp;<strong>zbrojeniu</strong>&nbsp;(dla cementowych) i&nbsp;<strong>próbie ciśnienia</strong>, a przede wszystkim – o&nbsp;<strong>cierpliwym i rozważnym pierwszym uruchomieniu ogrzewania</strong>. Zlecając te prace, wymagaj od ekipy nie tylko doświadczenia w betoniarstwie, ale również&nbsp;<strong>znajomości specyfiki współpracy z ogrzewaniem podłogowym</strong>. Dzięki temu twoja podłoga będzie nie tylko ciepła, ale także trwała i solidna.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="7IayCEsLN9"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=NMnTBwO4ld#?secret=7IayCEsLN9" data-secret="7IayCEsLN9" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">Wylewka betonowa na ogrzewanie podłogowe.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
