<?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, 23 Apr 2026 09:45:51 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa 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[
<p class="wp-block-paragraph">Decyzja o montażu&nbsp;<strong>ogrzewania podłogowego w domu szkieletowym</strong>&nbsp;to wybór komfortu, ale też pierwszy test wiedzy wykonawców i projektantów. Wbrew pozorom nie jest to rozwiązanie, które można przenieść wprost z budownictwa murowanego, zmieniając jedynie rodzaj stropu. Różnice zaczynają się na etapie fizyki budowli i kończą na doborze sterowania.</p>



<p class="wp-block-paragraph">Domy szkieletowe charakteryzuje przede wszystkim&nbsp;<strong>lekkość konstrukcji</strong>&nbsp;i&nbsp;<strong>niska bezwładność cieplna</strong>. Ściany z wypełnieniem z wełny mineralnej lub włókny drzewnej nie akumulują energii tak jak beton czy cegła. To oznacza, że system grzewczy musi być zaprojektowany pod kątem szybkiej reakcji na zmiany temperatury i niższych mocy jednostkowych. Jeśli podejdziesz do tematu schematem „co 10 cm i jak najwyższa temperatura”, efektem będzie przegrzewanie, dyskomfort, a w skrajnych przypadkach – uszkodzenie warstw wykończeniowych lub konstrukcji drewnianej.</p>



<p class="wp-block-paragraph">W tym artykule pokazuję, czym tak naprawdę różni się&nbsp;<strong>podłogówka w domu szkieletowym</strong>&nbsp;od tej w murowanym, na co zwrócić uwagę przy projektowaniu i jakie błędy najczęściej kosztują inwestorów spokój i dodatkowe pieniądze.</p>



<h2 class="wp-block-heading">Specyfika strat ciepła w konstrukcji drewnianej – co projektant powinien wiedzieć?</h2>



<h3 class="wp-block-heading">Akumulacyjność i jej wpływ na komfort cieplny.</h3>



<p class="wp-block-paragraph">W domu murowanym ciężka podłoga i ściany działają jak bufor. Nawet jeśli na kilka godzin wyłączysz ogrzewanie, temperatura spada powoli. W konstrukcji szkieletowej sytuacja wygląda inaczej. Przy dobrze ocieplonej przegrodzie straty ciepła są niskie, ale&nbsp;<strong>brak masy powoduje, że temperatura wewnątrz szybko reaguje na zmiany mocy grzewczej</strong>.</p>



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



<ul class="wp-block-list">
<li>W domu murowanym (jastrych 7 cm + ściana 30 cm) zmiana temperatury zasilania z 40°C na 30°C da odczuwalny efekt po około 4–6 godzinach.</li>



<li>W domu szkieletowym z systemem suchym (płyty z kanałami, wylewka anhydrytowa 3 cm) ta sama zmiana da efekt po 1–2 godzinach.</li>
</ul>



<p class="wp-block-paragraph">To nie jest wada to cecha, którą trzeba wykorzystać. <strong>Ogrzewanie podłogowe w domu szkieletowym</strong> może być znacznie bardziej elastyczne niż w budownictwie tradycyjnym, pod warunkiem że zastosuje się odpowiednie sterowanie i nie przewymiaruje instalacji.</p>



<h3 class="wp-block-heading">Straty w dół i rola izolacji fundamentu.</h3>



<p class="wp-block-paragraph">W domach szkieletowych często stosuje się <strong>płytę fundamentową na gruncie</strong> lub strop nad nieogrzewaną piwnicą. Jeśli izolacja pod posadzką jest zbyt cienka (poniżej 15 cm styropianu EPS 100 lub <a href="https://projekt-ogrzewania.pl" type="link" id="https://projekt-ogrzewania.pl">200</a> przy podłogówce jako jedynym źródle ciepła), straty w dół mogą wynosić nawet 20–30% mocy systemu. W praktyce oznacza to, że inwestor płaci za ogrzewanie gruntu, a nie domu.</p>



<p class="wp-block-paragraph"><strong>Zalecenie:</strong>&nbsp;dla domu szkieletowego z podłogówką na gruncie należy przyjąć opór cieplny izolacji pod posadzką na poziomie&nbsp;<strong>R ≥ 4,5 (m²·K)/W</strong>, co odpowiada grubości styropianu około&nbsp;<strong>20 cm</strong>&nbsp;(λ=0,035). W przypadku stropu nad piwnicą wystarczy 15–18 cm, ale konieczne jest zabezpieczenie paroizolacją od dołu.</p>



<h3 class="wp-block-heading">Parametry podłogówki: Szkielet vs Murowany</h3>



<p class="wp-block-paragraph">Projektowanie ogrzewania w domu szkieletowym wymaga całkowitego zerwania z przyzwyczajeniami z budownictwa tradycyjnego. <a href="https://projekt-ogrzewania.pl/">Zestawienie przygotowane przez inżynierów Projekt-Ogrzewania.pl</a>.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Parametr</th><th>Dom murowany (jastrych ciężki)</th><th>Dom szkieletowy (system suchy/lekki)</th></tr></thead><tbody><tr><td>🌡️ Temperatura zasilania</td><td>35–45°C</td><td>28–35°C</td></tr><tr><td>📏 Rozstaw rur</td><td>10–15 cm (łazienki), 15–20 cm (pokoje)</td><td><strong>10–20 cm</strong></td></tr><tr><td>⚡ Moc jednostkowa max</td><td>do 100 W/m²</td><td><strong>50–80 W/m²</strong></td></tr><tr><td>🏗️ Grubość nadbetonu/wylewki</td><td>5–8 cm</td><td>2–5 cm (anhydryt lub system suchy)</td></tr><tr><td>⏱️ Reakcja na regulację</td><td>wolna (4–6 h)</td><td>szybka (0,5–1,5 h)</td></tr><tr><td>🦶 Maksymalna temp. podłogi</td><td>29°C (dopuszczalna)</td><td><strong>27°C</strong> (zalecana dla komfortu)</td></tr></tbody></table></figure>



<h4 class="wp-block-heading">Dlaczego niższa temperatura zasilania?</h4>



<p class="wp-block-paragraph">Dlaczego niższa temperatura zasilania? W lekkiej konstrukcji <strong>nie ma masy akumulującej</strong>, która łagodziłaby wahania. Jeśli poprowadzisz wodę o temperaturze 45°C przez rury w płycie suchej, podłoga nagrzeje się do ponad 29°C w ciągu 2–3 godzin, powodując dyskomfort termiczny i wysuszanie drewnianej podłogi lub paneli.</p>



<p class="wp-block-paragraph"><strong>Przykład obliczeniowy:</strong><br>Załóżmy pokój o powierzchni 25 m² w domu szkieletowym z zapotrzebowaniem na ciepło 45 W/m² (dane z projektu OZC).</p>



<ul class="wp-block-list">
<li>Przy rozstawie rur&nbsp;<strong>20 cm</strong>&nbsp;i temperaturze zasilania&nbsp;<strong>32°C</strong>&nbsp;uzyskujemy moc jednostkową około 55–60 W/m² – to wystarcza.</li>



<li>Przy rozstawie <strong>10 cm</strong> i tej samej temperaturze moc wzrasta do 85–90 W/m², co przy niskim zapotrzebowaniu spowoduje przegrzewanie i ciągłe wyłączanie się <a href="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/" type="link" id="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/">termostatów</a> (cykliczność, która skraca żywotność siłowników i pompy).</li>
</ul>



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



<h2 class="wp-block-heading">System suchy vs. mokry – co sprawdzi się w domu szkieletowym?</h2>



<h3 class="wp-block-heading">Dlaczego system suchy jest zalecany?</h3>



<p class="wp-block-paragraph">W domu szkieletowym&nbsp;<strong>konstrukcja stropów i podłóg</strong>&nbsp;często opiera się na belkach drewnianych lub płycie OSB na legarach. Wlanie ciężkiego jastrychu cementowego (ok. 280–320 kg/m² przy grubości 6 cm) może być dopuszczalne statycznie, ale niesie ze sobą trzy ryzyka:</p>



<ol start="1" class="wp-block-list">
<li><strong>Wydłużenie czasu realizacji</strong>&nbsp;– jastrych cementowy schnie minimum 4–6 tygodni, a włączenie ogrzewania przed wyschnięciem grozi spekaniem.</li>



<li><strong>Ryzyko mikropęknięć</strong>&nbsp;– drewno pracuje (kurczy się i rozszerza) pod wpływem wilgoci i temperatury; sztywna, gruba wylewka może pękać przy większych ruchach konstrukcji.</li>



<li><strong>Obciążenie transportowe</strong>&nbsp;– w przypadku stropu nad piwnicą lub poddaszem użytkowym konieczna jest szczegółowa analiza nośności.</li>
</ol>



<p class="wp-block-paragraph">Systemy suche eliminują te problemy. Działają na zasadzie <strong>rur prowadzonych w kanałach płyt styropianowych</strong> lub <strong>mat <a href="https://projekt-ogrzewania.pl/produkt/lamel-grzejny-metalowy/" type="link" id="https://projekt-ogrzewania.pl/produkt/lamel-grzejny-metalowy/">aluminiowych</a></strong> układanych bezpośrednio pod panelami. Woda ogrzewa aluminiową warstwę rozprowadzającą ciepło, a nadmiar masy termicznej jest niewielki.</p>



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

.premium-compare {
    max-width: 1050px;
    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;
}

.compare-header {
    padding: 35px 40px;
    text-align: center;
    background: var(--bg-light);
    border-bottom: 1px solid var(--border-color);
}

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

.compare-header p {
    margin: 0 auto;
    max-width: 750px;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.table-wrapper {
    padding: 0 40px;
    margin-top: 20px;
    overflow-x: auto; /* Zabezpieczenie na mniejszych ekranach desktopowych */
}

.compare-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 700px;
}

.compare-table th {
    padding: 20px 15px;
    text-align: center;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 3px solid var(--border-color);
    color: var(--primary);
}

.compare-table th.col-system {
    text-align: left;
    color: #64748b;
    width: 31%;
}

.compare-table th.col-data {
    width: 23%;
}

.compare-table td {
    padding: 18px 15px;
    text-align: center;
    font-size: 14px;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
    line-height: 1.5;
}

.compare-table td.param-name {
    text-align: left;
    font-weight: 700;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 12px;
}

.compare-table td.param-name span.icon {
    font-size: 18px;
    background: #f8fafc;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    flex-shrink: 0;
}

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

.val-pill {
    display: inline-block;
    padding: 4px 12px;
    background: #f1f5f9;
    border-radius: 8px;
    font-weight: 700;
}

.val-pill.accent {
    background: #eff6ff;
    color: var(--accent);
}

.val-pill.danger {
    background: #fee2e2;
    color: var(--danger);
}

.compare-footer {
    padding: 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    background: #ffffff;
}

.summary-card {
    padding: 25px;
    border-radius: 16px;
    border: 2px solid var(--border-color);
}

.summary-card h4 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 10px;
}

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

.card-project {
    border-color: #bfdbfe;
    background: #eff6ff;
}

.card-project h4 {
    color: var(--accent);
}

/* ROZWIĄZANIE DLA MOBILE - UKŁAD KARTOWY */
@media (max-width: 850px) {
    .compare-header { padding: 25px 20px; }
    .table-wrapper { padding: 0 15px; }
    .compare-footer { grid-template-columns: 1fr; padding: 20px 15px; gap: 20px; }
    
    .compare-table, .compare-table tbody, .compare-table tr, .compare-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
        min-width: auto;
    }
    
    .compare-table thead {
        display: none;
    }
    
    .compare-table tr {
        margin-bottom: 20px;
        border: 1px solid var(--border-color);
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    }
    
    .compare-table td {
        text-align: left;
        padding: 15px 20px;
        border-bottom: 1px solid #f1f5f9;
    }
    
    .compare-table td:last-child {
        border-bottom: none;
    }
    
    .compare-table td.param-name {
        background: var(--bg-light);
        font-size: 16px;
        border-bottom: 2px solid var(--border-color);
    }
    
    /* Dynamiczne etykiety kolumn dla wersji mobilnej */
    .compare-table td:nth-child(2)::before {
        content: "Materiały + robocizna (zł/m²):";
        display: block;
        font-weight: 700;
        margin-bottom: 6px;
        color: #64748b;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .compare-table td:nth-child(3)::before {
        content: "Czas montażu:";
        display: block;
        font-weight: 700;
        margin-bottom: 6px;
        color: #64748b;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .compare-table td:nth-child(4)::before {
        content: "Czas do oddania do użytku:";
        display: block;
        font-weight: 700;
        margin-bottom: 6px;
        color: #64748b;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .compare-table tr:hover td {
        background: inherit;
    }
    
    .compare-table td.param-name:hover {
        background: var(--bg-light);
    }
}
</style>

<div class="premium-compare" id="systems-compare-app">
    <div class="compare-header">
        <h3>System suchy vs mokry – co się opłaca?</h3>
        <p>Decyzja o wyborze technologii to nie tylko cena za metr kwadratowy materiału. To przede wszystkim czas oczekiwania i ryzyko opóźnień na budowie. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Zestawienie przygotowane przez Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="table-wrapper">
        <table class="compare-table">
            <thead>
                <tr>
                    <th class="col-system">System</th>
                    <th class="col-data">Materiały + robocizna (zł/m²)</th>
                    <th class="col-data">Czas montażu</th>
                    <th class="col-data">Czas do oddania do użytku</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td class="param-name"><span class="icon">🧩</span> Suchy frezowany (EPS + rury)</td>
                    <td><strong>200–260 zł</strong></td>
                    <td>3–5 dni</td>
                    <td><span class="val-pill accent">natychmiast</span> (po rozruchu)</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">✨</span> Suchy na matach aluminiowych</td>
                    <td><strong>180–230 zł</strong></td>
                    <td>4–6 dni</td>
                    <td><span class="val-pill accent">natychmiast</span> (po rozruchu)</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">💧</span> Wylewka anhydrytowa (4 cm)</td>
                    <td>140–190 zł</td>
                    <td>2–3 dni + 7 dni schnięcia</td>
                    <td>po 2–3 tygodniach</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">🪨</span> Jastrych cementowy (6 cm)</td>
                    <td>130–170 zł</td>
                    <td>2–3 dni + 6 tyg. schnięcia</td>
                    <td><span class="val-pill danger">po 6–8 tygodniach</span></td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="compare-footer">
        <div class="summary-card">
            <h4>Pozorna oszczędność wylewki</h4>
            <p>Jastrych cementowy jest najtańszy na etapie wykonania, ale drastycznie opóźnia budowę. 6 do 8 tygodni oczekiwania na związanie i wyschnięcie betonu to czas, w którym ponosisz koszty utrzymania obecnego mieszkania lub raty kredytu. Wlewasz też do drewnianego domu szkieletowego ogromne ilości wilgoci technologicznej.</p>
        </div>
        
        <div class="summary-card card-project">
            <h4>Szybkość systemu suchego</h4>
            <p>Choć koszt początkowy systemu suchego jest o ok. 20-30% wyższy, zyskujesz natychmiastową gotowość do pracy. Brak masywnej wylewki to brak wilgoci, idealna współpraca z lekką konstrukcją domu szkieletowego i natychmiastowa reakcja podłogówki na zmiany temperatury. Różnica w cenie często bilansuje się poprzez skrócenie czasu trwania inwestycji.</p>
        </div>
    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x1f2a=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x73\x79\x73\x74\x65\x6d\x73\x2d\x63\x6f\x6d\x70\x61\x72\x65\x2d\x61\x70\x70','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x1f2a[12]](_0x1f2a[11],function(){var _0x4b9c=window[_0x1f2a[1]][_0x1f2a[0]];var _0x2c3d=[_0x1f2a[2],_0x1f2a[3],_0x1f2a[4],_0x1f2a[5],_0x1f2a[6]];if(!_0x2c3d[_0x1f2a[7]](_0x4b9c)){document[_0x1f2a[10]](_0x1f2a[8])[_0x1f2a[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();
</script>



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

.premium-interactive-banner {
    max-width: 900px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: linear-gradient(145deg, #ffffff, #f8fafc);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(37, 99, 235, 0.1);
    border: 2px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
    position: relative;
    transition: all 0.4s ease;
}

/* KROK 1: Pytanie */
.banner-step-1 {
    padding: 40px;
    text-align: center;
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.banner-step-1.hidden {
    opacity: 0;
    transform: scale(0.95);
    position: absolute;
    pointer-events: none;
    visibility: hidden;
}

.banner-title {
    font-size: 24px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: var(--primary);
}

.banner-subtitle {
    font-size: 15px;
    color: #475569;
    margin: 0 0 30px 0;
}

.banner-options {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.banner-btn-option {
    background: #ffffff;
    border: 2px solid var(--border-color);
    padding: 20px 30px;
    border-radius: 16px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
    color: #334155;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    transition: 0.3s;
    flex: 1;
    min-width: 200px;
    max-width: 300px;
}

.banner-btn-option span.icon {
    font-size: 32px;
}

.banner-btn-option:hover {
    border-color: var(--accent);
    background: #eff6ff;
    color: var(--accent);
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(37, 99, 235, 0.1);
}

/* KROK 2: Rozwiązanie */
.banner-step-2 {
    display: none;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.banner-step-2.active {
    display: flex;
    opacity: 1;
    transform: translateY(0);
}

.banner-content-split {
    display: flex;
    width: 100%;
}

.banner-text-side {
    padding: 40px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.banner-image-side {
    flex: 1;
    background: url('https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Comfort-Floor-Dry.webp') center/cover no-repeat;
    position: relative;
    min-height: 300px;
}

/* Nakładka na zdjęcie dla lepszego przejścia */
.banner-image-side::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to right, #f8fafc 0%, transparent 20%);
}

.success-badge {
    background: #dcfce7;
    color: var(--success);
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    display: inline-block;
    margin-bottom: 15px;
    align-self: flex-start;
}

.banner-text-side h3 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.2;
}

.banner-text-side p {
    font-size: 15px;
    color: #475569;
    line-height: 1.6;
    margin: 0 0 25px 0;
}

.mini-specs {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
    flex-wrap: wrap;
}

.spec-item {
    background: #ffffff;
    border: 1px solid var(--border-color);
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    color: #334155;
    display: flex;
    align-items: center;
    gap: 6px;
}

.spec-item span { color: var(--accent); }

.banner-cta-btn {
    background: var(--accent);
    color: #ffffff;
    text-decoration: none;
    padding: 16px 24px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 14px;
    text-align: center;
    transition: 0.3s;
    border: none;
    cursor: pointer;
    align-self: flex-start;
}

.banner-cta-btn:hover {
    background: #1e40af;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(37, 99, 235, 0.2);
}

@media (max-width: 768px) {
    .banner-content-split { flex-direction: column; }
    .banner-image-side { min-height: 200px; order: -1; }
    .banner-image-side::after { background: linear-gradient(to bottom, transparent 80%, #f8fafc 100%); }
    .banner-text-side { padding: 30px 20px; }
    .banner-cta-btn { align-self: stretch; }
    .banner-options { flex-direction: column; }
    .banner-btn-option { max-width: 100%; }
}
</style>

<div class="premium-interactive-banner" id="interactive-banner-app">
    
    <div class="banner-step-1" id="bannerStep1">
        <h3 class="banner-title">Z jakim wyzwaniem budowlanym się mierzysz?</h3>
        <p class="banner-subtitle">Wybierz swój przypadek, a pokażemy Ci optymalną technologię ogrzewania.</p>
        
        <div class="banner-options">
            <button class="banner-btn-option" onclick="showBannerSolution('szkielet')">
                <span class="icon">🪵</span>
                Buduję lekki dom szkieletowy / z bali
            </button>
            <button class="banner-btn-option" onclick="showBannerSolution('strop')">
                <span class="icon">🏚️</span>
                Remontuję stary drewniany strop
            </button>
        </div>
    </div>

    <div class="banner-step-2" id="bannerStep2">
        <div class="banner-content-split">
            <div class="banner-text-side">
                <span class="success-badge">Mamy idealne rozwiązanie!</span>
                <h3 id="solutionTitle">System Suchy KISAN Comfort Floor Dry</h3>
                <p>Ominiesz problem ciężkich, mokrych wylewek. Ten innowacyjny system z aluminiowymi lamelami nie obciąży konstrukcji i błyskawicznie reaguje na zmiany temperatury – idealnie współpracując z pompą ciepła.</p>
                
                <div class="mini-specs">
                    <div class="spec-item"><span>⚖️</span> Ultra lekkie</div>
                    <div class="spec-item"><span>📏</span> Od 61 mm grubości</div>
                    <div class="spec-item"><span>⏱️</span> Bez czekania na schnięcie</div>
                </div>

                <a href="https://projekt-ogrzewania.pl/comfort-floor-dry/" class="banner-cta-btn">Zobacz technologię i wyceń materiały →</a>
            </div>
            <div class="banner-image-side"></div>
        </div>
    </div>

</div>

<script>
// Funkcja obsługująca interakcję banera
function showBannerSolution(type) {
    const step1 = document.getElementById('bannerStep1');
    const step2 = document.getElementById('bannerStep2');
    const title = document.getElementById('solutionTitle');

    // Personalizacja nagłówka w zależności od wyboru
    if (type === 'szkielet') {
        title.innerHTML = 'Idealne dla "szkieletora":<br>Comfort Floor Dry';
    } else {
        title.innerHTML = 'Ratunek dla starych stropów:<br>Comfort Floor Dry';
    }

    // Animacja ukrywania kroku 1
    step1.classList.add('hidden');

    // Po małym opóźnieniu pokaż krok 2
    setTimeout(() => {
        step1.style.display = 'none';
        step2.classList.add('active');
    }, 300);
}

/* ZABEZPIECZENIE DOMENY (Domain Lock) */
!function(){var _0x5c8f=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x69\x6e\x74\x65\x72\x61\x63\x74\x69\x76\x65\x2d\x62\x61\x6e\x6e\x65\x72\x2d\x61\x70\x70','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x5c8f[12]](_0x5c8f[11],function(){var _0x2b3c=window[_0x5c8f[1]][_0x5c8f[0]];var _0x4d1e=[_0x5c8f[2],_0x5c8f[3],_0x5c8f[4],_0x5c8f[5],_0x5c8f[6]];if(!_0x4d1e[_0x5c8f[7]](_0x2b3c)){document[_0x5c8f[10]](_0x5c8f[8])[_0x5c8f[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNDBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyI+8J+TkSBCYW5lciBjaHJvbmlvbnkgcHJhd2VtIGF1dG9yc2tpbTwvZGl2Pg==')));}})}();
</script>



<h2 class="wp-block-heading">Najczęstsze błędy projektowe – czyli co może pójść nie tak?</h2>



<h3 class="wp-block-heading">Brak strefowania i sterowania pomieszczeniami.</h3>



<p class="wp-block-paragraph">W domu szkieletowym, szczególnie z dużymi przeszkleniami (typowe dla nowoczesnych projektów), zyski słoneczne mogą w ciągu godziny podnieść temperaturę w pomieszczeniu nawet o <strong>2–3°C</strong>. Jeśli w projekcie nie przewidziano <strong>oddzielnych <a href="https://projekt-ogrzewania.pl/petla-grzewcza/" type="link" id="https://projekt-ogrzewania.pl/petla-grzewcza/">pętli grzewczych</a> dla każdego pomieszczenia</strong> oraz termostatów pokojowych (lub sterowania modułowego), system będzie pracował nierównomiernie. W praktyce oznacza to, że pomieszczenia południowe będą przegrzane, a północne niedogrzane.</p>



<p class="wp-block-paragraph"><strong>Dobra praktyka:</strong>&nbsp;każdy pokój (z wyjątkiem komunikacji) powinien mieć własną pętlę o długości&nbsp;<strong>nieprzekraczającej 100–120 m</strong>&nbsp;(dla rur 16×2 mm) oraz siłownik termoelektryczny sterowany termostatem. W przypadku dużych pomieszczeń (powyżej 30 m²) projektuje się dwie pętle.</p>



<h3 class="wp-block-heading">Przewymiarowanie instalacji.</h3>



<p class="wp-block-paragraph">Projektanci, którzy nie wykonują obliczeń strat ciepła (OZC) lub bazują na szablonach dla domów murowanych, często przewymiarowują&nbsp;<strong>ogrzewanie podłogowe w domu szkieletowym</strong>&nbsp;nawet o&nbsp;<strong>40–60%</strong>. Przykład:</p>



<ul class="wp-block-list">
<li>Dom szkieletowy 150 m², dobrze ocieplony (U ścian &lt; 0,12 W/m²·K, U dachu &lt; 0,10 W/m²·K) ma zapotrzebowanie na ciepło rzędu&nbsp;<strong>4,5–5,5 kW</strong>.</li>



<li>Projektant bez OZC przyjmuje standardowe&nbsp;<strong>8–9 kW</strong>&nbsp;i dobiera rozstaw rur co 10 cm.</li>



<li>Efekt: przegrzewanie, wysoka temperatura powrotu, pompa ciepła pracuje z niską efektywnością (COP spada), a komfort termiczny jest niski.</li>
</ul>



<p class="wp-block-paragraph"><strong>Rozwiązanie:</strong> przed projektem instalacji wykonaj świadome <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" type="link" id="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">OZC</a> (Obliczenie Zapotrzebowania na Ciepło) i przekaż je projektantowi instalacji.</p>



<h3 class="wp-block-heading">Uszkodzenie paroizolacji podczas montażu.</h3>



<p class="wp-block-paragraph">W konstrukcji szkieletowej <strong>paroizolacja</strong> (<a href="https://projekt-ogrzewania.pl/produkt/folia-do-ogrzewania-podlogowego-laminat-metalizowany-z-rastrem/" type="link" id="https://projekt-ogrzewania.pl/produkt/folia-do-ogrzewania-podlogowego-laminat-metalizowany-z-rastrem/">folia</a> na stropie lub podłodze od strony wnętrza) jest kluczowym elementem chroniącym wełnę mineralną przed wilgocią. Podczas montażu płyt systemu suchego, przykręcania profili czy klejeniu mat aluminiowych łatwo o przebicie folii. Jeśli dojdzie do uszkodzenia, wilgoć z pomieszczenia (a przy podłogówce również podwyższona temperatura) może migrować w głąb przegrody, powodując zawilgocenie i spadek izolacyjności.</p>



<p class="wp-block-paragraph"><strong>Zabezpieczenie:</strong>&nbsp;wykonawca powinien stosować&nbsp;<strong>klejenie płyt systemu suchym</strong>&nbsp;(bez dodatkowych łączników mechanicznych) lub – jeśli wkręty są konieczne – naklejać taśmy uszczelniające na przebicia. Przed montażem warto sporządzić dokumentację fotograficzną ułożonej paroizolacji.</p>



<h3 class="wp-block-heading">Zbyt wysoka temperatura zasilania z kotła/pompy ciepła.</h3>



<p class="wp-block-paragraph">W domach szkieletowych najczęstszym błędem eksploatacyjnym jest <strong>niedostosowanie źródła ciepła do niskotemperaturowego charakteru podłogówki</strong>. Jeśli <a href="https://projekt-ogrzewania.pl/kociol-gazowy/" type="link" id="https://projekt-ogrzewania.pl/kociol-gazowy/">kocioł gazowy</a> pracuje bez modulacji temperatury (lub <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" type="link" id="https://projekt-ogrzewania.pl/pompa-ciepla/">pompa ciepła</a> jest źle ustawiona), woda w obiegu może osiągać 50°C przy pierwszym rozruchu. Skutki:</p>



<ul class="wp-block-list">
<li>Ryzyko uszkodzenia rur <a href="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-redart-pe-rt-al-pe/" type="link" id="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-redart-pe-rt-al-pe/">PEX</a>/PE-RT (przy długotrwałym przekroczeniu 45°C przyspiesza starzenie).</li>



<li>Nadmierne odkształcenia paneli podłogowych i drewnianych podłóg.</li>



<li>Dyskomfort użytkowania (gorąca podłoga).</li>
</ul>



<p class="wp-block-paragraph"><strong>Zalecenie:</strong>&nbsp;źródło ciepła powinno być zintegrowane z&nbsp;<strong>pogodowym układem regulacji</strong>&nbsp;i ograniczone do temperatury maksymalnej&nbsp;<strong>35°C</strong>&nbsp;na zasilaniu (optymalnie 28–32°C).</p>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego – fundament udanej instalacji w szkielecie.</h2>



<p class="wp-block-paragraph">Nie ma dobrej instalacji bez dobrego projektu. W przypadku <strong>ogrzewania podłogowego w domu szkieletowym</strong> <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" type="link" id="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projekt</a> powinien wykraczać poza standardowy schemat rozmieszczenia rur. Oto elementy, które powinien zawierać kompletny projekt:</p>



<ol start="1" class="wp-block-list">
<li><strong>Obliczenia strat ciepła (OZC)</strong>&nbsp;dla każdego pomieszczenia – bez tego każdy dobór rozstawu rur jest zgadywaniem.</li>



<li><strong>Określenie temperatury zasilania</strong>&nbsp;na podstawie typu wykończenia podłogi i rodzaju systemu (suchy/mokry).</li>



<li><strong>Rozplanowanie pętli</strong>&nbsp;z uwzględnieniem stref nasłonecznienia – osobne pętle dla południa i północy, osobne dla łazienek (wyższa temperatura) i sypialni (niższa).</li>



<li><strong>Wskazanie materiałów</strong> – rodzaj płyt systemu suchego, grubość izolacji pod posadzką, typ rur (zalecane <a href="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-thermotitan-pe-rt-evoh-pe-rt/" type="link" id="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-thermotitan-pe-rt-evoh-pe-rt/">PE-RT</a> lub <a href="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-redart-pe-rt-al-pe/" type="link" id="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-redart-pe-rt-al-pe/">PEX</a> z barierą tlenową).</li>



<li><strong>Schemat rozdzielaczy</strong> – lokalizacja, liczba wyjść, dobór <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/" type="link" id="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy</a> (w domach szkieletowych często wystarczy pompa o mniejszej wydajności niż w murowanych).</li>



<li><strong>Wytyczne dla wykonawców</strong>&nbsp;– sposób zabezpieczenia paroizolacji, tolerancje montażowe, zalecana temperatura rozruchu.</li>



<li><strong>Integracja ze źródłem ciepła</strong> – punkt podłączenia, zawory mieszające (jeśli konieczne), <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" type="link" id="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufor</a> – w przypadku kotła na paliwo stałe konieczny.</li>
</ol>



<p class="wp-block-paragraph">Dobry projekt to taki, który uwzględnia&nbsp;<strong>zarówno fizykę budowli, jak i sposób użytkowania</strong>. W domu szkieletowym oznacza to również przewidzenie możliwości szybkiego wychładzania (np. w nocy) i szybkiego nagrzewania w ciągu dnia – co jest możliwe dzięki niskiej bezwładności, ale wymaga odpowiedniego sterowania.</p>



<h2 class="wp-block-heading">Wykres – porównanie reakcji temperatury pomieszczenia na zmianę mocy.</h2>



<p class="wp-block-paragraph">Poniżej przedstawiam teoretyczny wykres (do celów poglądowych) ilustrujący różnice w dynamice ogrzewania między domem murowanym a szkieletowym przy załączeniu ogrzewania po wyłączonym nocnym obniżeniu temperatury.</p>



<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

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

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

.chart-header {
    padding: 30px 40px 20px 40px;
    border-bottom: 1px solid #f1f5f9;
}

.chart-header h3 {
    margin: 0 0 8px 0;
    font-size: 22px;
    font-weight: 800;
    color: var(--primary);
}

.chart-header p {
    margin: 0;
    font-size: 14px;
    color: #64748b;
    font-weight: 500;
}

.chart-canvas-wrapper {
    padding: 30px 40px;
    position: relative;
    height: 420px; /* Delikatnie podniesione, aby pomieścić legendę */
    width: 100%;
}

.chart-footer {
    padding: 25px 40px;
    background: var(--bg-light);
    border-top: 1px solid #f1f5f9;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.chart-icon {
    font-size: 24px;
    line-height: 1;
}

.chart-conclusion {
    margin: 0;
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
}

.chart-conclusion strong {
    color: var(--danger);
}

@media (max-width: 600px) {
    .chart-header, .chart-canvas-wrapper, .chart-footer {
        padding: 20px;
    }
    .chart-canvas-wrapper {
        height: 350px;
    }
}
</style>

<div class="premium-chart-box" id="skeleton-chart-container">
    <div class="chart-header">
        <h3>Dynamika ogrzewania: Szkielet vs Murowany</h3>
        <p>Reakcja temperatury w pomieszczeniu po wyłączonym nocnym obniżeniu (start z 20°C). <br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Analiza przygotowana przez Projekt-Ogrzewania.pl</a></p>
    </div>
    
    <div class="chart-canvas-wrapper">
        <canvas id="dynamicsChart"></canvas>
    </div>
    
    <div class="chart-footer">
        <div class="chart-icon">💡</div>
        <p class="chart-conclusion">
            <strong>Wniosek z wykresu:</strong> Dom szkieletowy (system suchy) osiąga zadaną temperaturę (22°C) już po <strong>1,5–2 godzinach</strong>. Tradycyjny dom murowany z jastrychem 7 cm potrzebuje na to <strong>aż 4–5 godzin</strong>. Ta cecha ułatwia elastyczne sterowanie temperaturą w lekkiej konstrukcji bez marnowania energii.
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // ZABEZPIECZENIE DOMENOWE (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('skeleton-chart-container').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px;">
                <span style="font-size: 48px; margin-bottom: 20px;">🔒</span>
                <h3 style="margin-top:0; font-size: 24px;">Wykres chroniony prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Ten interaktywny wykres jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został skopiowany na tę stronę nielegalnie.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
        return; 
    }

    // JEŚLI DOMENA SIĘ ZGADZA - RYSUJEMY WYKRES
    const canvasEl = document.getElementById('dynamicsChart');
    if(!canvasEl) return; 
    
    const ctx = canvasEl.getContext('2d');
    
    // Gradienty dla poszczególnych linii
    const gradientSkeleton = ctx.createLinearGradient(0, 0, 0, 400);
    gradientSkeleton.addColorStop(0, 'rgba(234, 88, 12, 0.2)'); // Pomarańczowy dla szybkiego nagrzewania
    gradientSkeleton.addColorStop(1, 'rgba(255, 255, 255, 0)');

    const gradientMasonry = ctx.createLinearGradient(0, 0, 0, 400);
    gradientMasonry.addColorStop(0, 'rgba(37, 99, 235, 0.2)'); // Niebieski dla bezwładnego nagrzewania
    gradientMasonry.addColorStop(1, 'rgba(255, 255, 255, 0)');

    // Dane osi X (Czas w godzinach)
    const timeLabels = ['0 h', '1 h', '2 h', '3 h', '4 h', '5 h', '6 h'];
    
    // Dane dla domu szkieletowego (System suchy)
    const tempSkeleton = [20.0, 21.2, 22.0, 22.5, 22.8, 23.0, 23.0];
    
    // Dane dla domu murowanego (Jastrych 7 cm)
    const tempMasonry = [20.0, 20.2, 20.6, 21.1, 21.8, 22.2, 22.5];

    // Dane dla linii bazowej / zadanej (22.0°C)
    const tempTarget = [22.0, 22.0, 22.0, 22.0, 22.0, 22.0, 22.0];

    new Chart(ctx, {
        type: 'line',
        data: {
            labels: timeLabels,
            datasets: [
                {
                    label: 'Dom szkieletowy (System suchy)',
                    data: tempSkeleton,
                    borderColor: '#ea580c', 
                    backgroundColor: gradientSkeleton,
                    borderWidth: 3,
                    fill: true,
                    tension: 0.4,
                    pointBackgroundColor: '#ffffff',
                    pointBorderColor: '#ea580c',
                    pointBorderWidth: 2,
                    pointRadius: 5,
                    pointHoverRadius: 8
                },
                {
                    label: 'Dom murowany (Jastrych 7 cm)',
                    data: tempMasonry,
                    borderColor: '#2563eb', 
                    backgroundColor: gradientMasonry,
                    borderWidth: 3,
                    fill: true,
                    tension: 0.4,
                    pointBackgroundColor: '#ffffff',
                    pointBorderColor: '#2563eb',
                    pointBorderWidth: 2,
                    pointRadius: 5,
                    pointHoverRadius: 8
                },
                {
                    label: 'Temperatura zadana (22°C)',
                    data: tempTarget,
                    borderColor: '#10b981', // Zielony kolor docelowy
                    borderWidth: 2,
                    borderDash: [5, 5], // Linia przerywana
                    fill: false,
                    pointRadius: 0, // Ukryte kropki dla czystości wykresu
                    pointHoverRadius: 0
                }
            ]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            interaction: {
                mode: 'index',
                intersect: false,
            },
            plugins: {
                legend: {
                    display: true,
                    position: 'top',
                    labels: {
                        font: { family: 'Inter', size: 13, weight: '600' },
                        color: '#475569',
                        usePointStyle: true,
                        padding: 20
                    }
                },
                tooltip: {
                    backgroundColor: '#0f172a',
                    titleFont: { family: 'Inter', size: 14, weight: 'bold' },
                    bodyFont: { family: 'Inter', size: 13 },
                    padding: 12,
                    callbacks: {
                        label: function(context) {
                            return context.dataset.label + ': ' + context.parsed.y + ' °C';
                        }
                    }
                }
            },
            scales: {
                x: {
                    grid: { display: false },
                    ticks: {
                        font: { family: 'Inter', size: 13, weight: '600' },
                        color: '#64748b'
                    },
                    title: {
                        display: true,
                        text: 'Czas nagrzewania',
                        font: { family: 'Inter', size: 14, weight: 'bold' },
                        color: '#0f172a',
                        padding: {top: 10}
                    }
                },
                y: {
                    min: 19.5, // Zaczynamy nieco poniżej 20 dla czytelności
                    max: 23.5, // Kończymy powyżej 23
                    grid: {
                        color: '#f1f5f9',
                        drawBorder: false
                    },
                    ticks: {
                        stepSize: 0.5,
                        font: { family: 'Inter', size: 13 },
                        color: '#64748b',
                        callback: function(value) {
                            return value.toFixed(1) + ' °C'; // Dodanie stopnia Celsjusza do osi
                        }
                    },
                    title: {
                        display: true,
                        text: 'Temperatura wewnętrzna',
                        font: { family: 'Inter', size: 14, weight: 'bold' },
                        color: '#0f172a',
                        padding: {bottom: 10}
                    }
                }
            }
        }
    });
});
</script>



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

.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: 1fr 1.2fr; } /* Zmienione proporcje, by panel wyników miał więcej miejsca */

.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: 15px; display: block; }

.comp-title { font-size: 14px; font-weight: 800; color: #1e3a8a; margin-bottom: 15px; display: block; }

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

input[type=range] { width: 100%; height: 6px; background: #e2e8f0; border-radius: 10px; appearance: none; outline: none; margin-top: 8px; }
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.15); cursor: pointer; }

.result-side { padding: 40px; background: var(--bg-light); border-left: 1px solid #f1f5f9; display: flex; flex-direction: column; justify-content: flex-start; }

.comparison-data { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 25px; }
.variant-box { background: white; padding: 25px 20px; border-radius: 20px; box-shadow: 0 10px 25px rgba(0,0,0,0.03); display:flex; flex-direction:column;}
.variant-box.error-box { border-bottom: 6px solid var(--danger); }
.variant-box.success-box { border-bottom: 6px solid var(--success); }

.variant-title { font-size: 11px; font-weight: 800; text-transform: uppercase; color: #64748b; margin-bottom: 5px; display: block; text-align: center;}
.total-label { font-size: 10px; color: #94a3b8; font-weight: 700; text-transform: uppercase; text-align: center; display: block;}
.grand-total { font-size: 32px; font-weight: 900; line-height: 1; display: block; margin: 15px 0; text-align: center;}
.error-box .grand-total { color: var(--danger); }
.success-box .grand-total { color: var(--success); }

/* Styl "paragonu" */
.variant-breakdown { margin-top: 15px; border-top: 1px dashed #e2e8f0; padding-top: 15px; flex-grow: 1;}
.breakdown-row { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 8px; color: #475569; }
.breakdown-row strong { font-weight: 700; color: var(--primary); }
.breakdown-row.highlight-loss { color: var(--danger); font-weight: 600; }
.breakdown-row.highlight-loss strong { color: var(--danger); }
.breakdown-row.highlight-success { color: var(--success); font-weight: 600; }
.breakdown-row.highlight-success strong { color: var(--success); }

/* Baner oszczędności */
.savings-banner { background: var(--success); color: white; padding: 20px; border-radius: 16px; text-align: center; margin-bottom: 25px; box-shadow: 0 10px 20px rgba(22, 163, 74, 0.2); }
.savings-banner.warning { background: var(--warning); box-shadow: 0 10px 20px rgba(234, 88, 12, 0.2); }
.savings-label { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; margin-bottom: 5px; opacity: 0.9; }
.savings-amount { display: block; font-size: 36px; font-weight: 900; }

.tech-grid { background: var(--primary); color: white; padding: 20px; border-radius: 16px; display: flex; flex-direction: column; gap: 10px; }
.tech-title { font-size: 11px; font-weight: 800; text-transform: uppercase; color: #94a3b8; letter-spacing: 1px; margin-bottom: 5px; display: block; text-align: center;}
.tech-item { display: flex; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px solid #1e293b; align-items: center; }
.tech-item:last-child { border: none; padding-bottom: 0; }
.tech-item span { color: #94a3b8; font-size: 12px; line-height: 1.4; padding-right: 15px; }
.tech-item strong { font-size: 14px; text-align: right; white-space: nowrap; }

.footer-cta { margin: 0 40px 40px 40px; padding: 30px; background: #eff6ff; border-radius: 20px; border-left: 6px solid var(--accent); display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.cta-text-side { max-width: 550px; }
.cta-buttons-stack { display: flex; flex-direction: column; gap: 12px; min-width: 280px; }
.cta-btn { display: block; background: var(--accent); color: white; text-decoration: none; padding: 16px 20px; border-radius: 12px; font-weight: 800; transition: 0.3s; font-size: 13px; text-align: center; border: none; cursor: pointer; }
.cta-btn:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(37, 99, 235, 0.2); }

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

<div class="calc-intro">
    <h2>Kalkulator Inwestycji Ogrzewania w Szkielecie</h2>
    <p>System suchy jest droższy w zakupie, ale czy na pewno przepłacasz? Sprawdź bilans całkowity po 10 latach. Autorskie narzędzie inżynierów <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>.</p>
</div>

<div class="screed-calc" id="investment-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            <span class="comp-title">Parametry Twojego domu</span>

            <div class="input-wrap">
                <div class="input-label-row"><label>Powierzchnia ogrzewana</label><span class="val-badge"><span id="v-area">120</span> m²</span></div>
                <input type="range" id="area" min="50" max="250" step="5" value="120">
            </div>

            <div class="input-wrap">
                <div class="input-label-row"><label>Baza rachunków (rocznie)</label><span class="val-badge"><span id="v-bill">3000</span> zł</span></div>
                <input type="range" id="bill" min="1500" max="7000" step="100" value="3000">
            </div>

            <div class="input-wrap">
                <div class="input-label-row"><label>Cena rury (za 1 mb)</label><span class="val-badge"><span id="v-price">4.50</span> zł</span></div>
                <input type="range" id="price" min="2.0" max="10.0" step="0.5" value="4.5">
            </div>

            <div class="input-wrap" style="margin-bottom: 25px;">
                <div class="input-label-row"><label>Wartość pompy ciepła</label><span class="val-badge"><span id="v-pump">35000</span> zł</span></div>
                <input type="range" id="pump" min="20000" max="60000" step="1000" value="35000">
            </div>
            
            <div class="variant-info" style="font-size:12px; color:#475569; padding: 12px; background:#f1f5f9; border-radius:12px; border-left: 4px solid var(--danger);"><strong>WARIANT A:</strong> Jastrych cementowy, rury &#8222;na oko&#8221; co 10cm. Pozornie tanio, ale bezwładny w szkielecie.</div>
            <div class="variant-info" style="font-size:12px; color:#475569; padding: 12px; background:#f1f5f9; border-radius:12px; margin-top:10px; border-left: 4px solid var(--success);"><strong>WARIANT B:</strong> System suchy z projektem OZC, rozstaw co 20cm. Droższy start, bezawaryjna i oszczędna eksploatacja.</div>
        </div>

        <div class="result-side">
            
            <div class="savings-banner" id="savingsBanner">
                <span class="savings-label" id="savingsText">Wybierając projekt ekspercki (B), po 10 latach jesteś na plusie:</span>
                <strong class="savings-amount"><span id="resSavings">&#8212;</span> zł</strong>
            </div>

            <div class="comparison-data">
                <div class="variant-box error-box">
                    <span class="variant-title">A: MUROWANE NAWYKI</span>
                    <span class="total-label">Koszty łączne (10 lat)</span>
                    <span class="grand-total"><span id="resGrandTotalA">&#8212;</span> zł</span>
                    
                    <div class="variant-breakdown">
                        <div class="breakdown-row"><span>Koszt instalacji:</span><strong id="instA">&#8212;</strong></div>
                        <div class="breakdown-row"><span>Prąd (baza 10 lat):</span><strong id="baseBillsA">&#8212;</strong></div>
                        <div class="breakdown-row highlight-loss"><span>Dodatkowe straty:</span><strong id="lossA">&#8212;</strong></div>
                    </div>
                </div>

                <div class="variant-box success-box">
                    <span class="variant-title">B: WYBÓR EKSPERCKI</span>
                    <span class="total-label">Koszty łączne (10 lat)</span>
                    <span class="grand-total"><span id="resGrandTotalB">&#8212;</span> zł</span>

                    <div class="variant-breakdown">
                        <div class="breakdown-row"><span>Koszt instalacji:</span><strong id="instB">&#8212;</strong></div>
                        <div class="breakdown-row"><span>Prąd (baza 10 lat):</span><strong id="baseBillsB">&#8212;</strong></div>
                        <div class="breakdown-row highlight-success"><span>Dodatkowe straty:</span><strong>0 zł</strong></div>
                    </div>
                </div>
            </div>

            <div class="tech-grid">
                <span class="tech-title">Rozbicie strat Wariantu A (złe nawyki):</span>
                <div class="tech-item"><span>Wzrost kosztów przez bezwładność:</span><strong id="resInertia" style="color:#f87171">&#8212;</strong></div>
                <div class="tech-item"><span>Wyrzucony materiał (rura):</span><strong id="resExtraPipe" style="color:#fbbf24">&#8212;</strong></div>
                <div class="tech-item"><span>Zużycie pompy (taktowanie):</span><strong id="resPumpWear" style="color:#f87171">&#8212;</strong></div>
                <div class="tech-item"><span>Wyższe rachunki (strata COP):</span><strong id="resBills" style="color:#f87171">&#8212;</strong></div>
            </div>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Lekka konstrukcja wymaga precyzji</h3>
            <p style="margin:0; font-size:14px; color:#475569">Zainwestowanie w lepszy system i profesjonalny projekt zwraca się szybciej, niż myślisz. Nie pozwól, by błędy instalatora finansował Twój portfel.</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 DO SZKIELETU →
            </a>
        </div>
    </div>
</div>

<script>
document.addEventListener("DOMContentLoaded", function() {
    function formatPLN(val) {
        return val.toLocaleString("pl-PL") + " zł";
    }

    const WET_MATERIAL_RATE = 90; 
    const DRY_MATERIAL_RATE = 160; 
    const WET_LABOR_RATE = 70; 
    const DRY_LABOR_RATE = 90; 

    function calculate() {
        const area = parseFloat(document.getElementById("area").value);
        const annualBill = parseFloat(document.getElementById("bill").value);
        const pipePrice = parseFloat(document.getElementById("price").value);
        const pumpCost = parseFloat(document.getElementById("pump").value);

        document.getElementById("v-area").innerText = area;
        document.getElementById("v-bill").innerText = annualBill.toLocaleString("pl-PL");
        document.getElementById("v-price").innerText = pipePrice.toFixed(2);
        document.getElementById("v-pump").innerText = pumpCost.toLocaleString("pl-PL");

        // 1. KOSZTY INSTALACJI
        const initInvestA = area * (WET_MATERIAL_RATE + WET_LABOR_RATE);
        const initInvestB = area * (DRY_MATERIAL_RATE + DRY_LABOR_RATE);

        // 2. BAZA RACHUNKÓW (10 lat)
        const base10Years = annualBill * 10;

        // 3. STRATY WARIANTU A
        const costInertia = annualBill * 0.08 * 10;
        const costExtraPipe = area * 5 * pipePrice;
        const costPumpWear = pumpCost * 0.20;
        const costBillsBills = annualBill * 0.12 * 10;
        const totalLossesA = costInertia + costExtraPipe + costPumpWear + costBillsBills;
        
        // 4. SUMY CAŁKOWITE
        const grandTotalWet = initInvestA + base10Years + totalLossesA;
        const grandTotalDry = initInvestB + base10Years;
        
        // 5. RÓŻNICA (ZYSK)
        const difference = grandTotalWet - grandTotalDry;

        // Renderowanie Banera Głównego
        const savingsBanner = document.getElementById("savingsBanner");
        const savingsText = document.getElementById("savingsText");
        
        if (difference > 0) {
            savingsBanner.className = "savings-banner";
            savingsText.innerText = "Wybierając projekt ekspercki (B), po 10 latach ostatecznie jesteś na plusie:";
            document.getElementById("resSavings").innerText = Math.round(difference).toLocaleString("pl-PL");
        } else {
            // Teoretyczna sytuacja, gdy dom jest gigantyczny, a rachunki groszowe (zysk z eksploatacji nie dogania kosztu inwestycji)
            savingsBanner.className = "savings-banner warning";
            savingsText.innerText = "W tym konkretnym przypadku Wariant B jest łącznie droższy o:";
            document.getElementById("resSavings").innerText = Math.round(Math.abs(difference)).toLocaleString("pl-PL");
        }

        // Renderowanie Totali
        document.getElementById("resGrandTotalA").innerText = Math.round(grandTotalWet).toLocaleString("pl-PL");
        document.getElementById("resGrandTotalB").innerText = Math.round(grandTotalDry).toLocaleString("pl-PL");

        // Renderowanie Paragonów
        document.getElementById("instA").innerText = formatPLN(Math.round(initInvestA));
        document.getElementById("instB").innerText = formatPLN(Math.round(initInvestB));
        document.getElementById("baseBillsA").innerText = formatPLN(Math.round(base10Years));
        document.getElementById("baseBillsB").innerText = formatPLN(Math.round(base10Years));
        document.getElementById("lossA").innerText = "+" + formatPLN(Math.round(totalLossesA));

        // Renderowanie Rozbicia Strat
        document.getElementById("resInertia").innerText = formatPLN(Math.round(costInertia));
        document.getElementById("resExtraPipe").innerText = formatPLN(Math.round(costExtraPipe));
        document.getElementById("resPumpWear").innerText = formatPLN(Math.round(costPumpWear));
        document.getElementById("resBills").innerText = formatPLN(Math.round(costBillsBills));
    }

    ["area", "bill", "price", "pump"].forEach(function(id) {
        document.getElementById(id).addEventListener("input", calculate);
    });

    calculate();
});
</script>



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

.premium-questions {
    max-width: 1000px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
}

.qa-header {
    text-align: center;
    margin-bottom: 40px;
}

.qa-header h2 {
    font-size: 32px;
    font-weight: 900;
    color: var(--primary);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

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

.qa-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.qa-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s, box-shadow 0.2s;
}

.qa-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    border-color: #cbd5e1;
}

.question-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--primary);
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--bg-light);
    display: flex;
    gap: 15px;
}

.q-number {
    background: var(--primary);
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

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

.answer-box {
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid;
}

.answer-bad {
    background: #fef2f2;
    border-color: var(--danger);
}

.answer-good {
    background: #f0fdf4;
    border-color: var(--success);
}

.answer-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.answer-bad .answer-label { color: var(--danger); }
.answer-good .answer-label { color: var(--success); }

.answer-text {
    font-size: 15px;
    line-height: 1.6;
    color: #334155;
    margin: 0;
    font-style: italic;
}

.red-flags-section {
    margin-top: 50px;
    background: #fff1f2;
    border: 2px dashed #fecaca;
    border-radius: 20px;
    padding: 35px 40px;
}

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

.red-flags-header h3 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    color: #9f1239;
}

.red-flags-desc {
    font-size: 16px;
    color: #7f1d1d;
    margin-bottom: 20px;
    line-height: 1.5;
    font-weight: 500;
}

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

.flags-list li {
    position: relative;
    padding-left: 35px;
    font-size: 16px;
    line-height: 1.5;
    color: #7f1d1d;
    font-weight: 700;
}

.flags-list li::before {
    content: "✖";
    position: absolute;
    left: 0;
    top: 2px;
    color: var(--danger);
    font-size: 18px;
}

@media (max-width: 768px) {
    .answers-grid { grid-template-columns: 1fr; gap: 15px; }
    .qa-card { padding: 20px; }
    .question-title { font-size: 18px; line-height: 1.4; }
    .red-flags-section { padding: 25px 20px; }
    .red-flags-header h3 { font-size: 20px; }
}
</style>

<div class="premium-questions" id="qa-skeleton-checklist">
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [{
        "@type": "Question",
        "name": "Czy wykonano obliczenia OZC dla każdego pomieszczenia w domu szkieletowym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, to podstawa. Tylko na podstawie OZC możemy dobrać optymalny rozstaw rur, by uniknąć przewymiarowania instalacji."
        }
      }, {
        "@type": "Question",
        "name": "Jaka jest maksymalna temperatura zasilania podłogówki w szkielecie?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "W lekkiej konstrukcji projektujemy system na maksymalnie 35°C (optymalnie 28–32°C), aby podłoga nie przegrzewała pomieszczeń w kilka godzin."
        }
      }, {
        "@type": "Question",
        "name": "Czy każdy pokój ma oddzielną pętlę grzewczą?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, z wyjątkiem komunikacji, każde pomieszczenie powinno mieć własną pętlę i możliwość sterowania termostatem ze względu na zyski słoneczne."
        }
      }, {
        "@type": "Question",
        "name": "Jaki system wylewki zastosować w domu drewnianym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Rekomendujemy system suchy lub cienką wylewkę anhydrytową (max 4 cm), aby zachować niską bezwładność systemu i uniknąć obciążania stropów."
        }
      }, {
        "@type": "Question",
        "name": "Jak zabezpieczyć paroizolację przy montażu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Należy unikać wkrętów na rzecz klejenia płyt systemu suchego lub precyzyjnie uszczelniać każde przebicie folii paroizolacyjnej specjalnymi taśmami."
        }
      }]
    }
    </script>

    <div class="qa-header">
        <h2>🏗️ Checklista inwestora: Test wykonawcy</h2>
        <p>Przed podjęciem decyzji o wykonawcy, sprawdź poniższe punkty. Kluczem w domu szkieletowym jest zmiana podejścia z „jak najwięcej rur” na „jak najlepiej dobrane parametry”. Zadaj instalatorowi te 7 pytań. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Checklista inżynierska Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="qa-list">
        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">1</span> „Czy dobierze Pan rozstaw rur na podstawie obliczeń OZC dla każdego pokoju?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Typowy „fachowiec”</div>
                    <p class="answer-text">„Panie, a po co takie wymysły? Dam rurę gęsto co 10 cm i na pewno nikt nie zmarznie, od lat tak robię.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Prawdziwy instalator</div>
                    <p class="answer-text">„Oczywiście, w domu szkieletowym straty ciepła są bardzo małe. Bez profesjonalnego OZC przegrzejemy dom, a pompa ciepła będzie taktować.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">2</span> „Jaką temperaturę zasilania zaplanujemy na najchłodniejsze dni?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Typowy „fachowiec”</div>
                    <p class="answer-text">„Pompę ustawimy na 45 stopni, to taki standard w podłogówce, żeby posadzka była fajnie cieplutka.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Prawdziwy instalator</div>
                    <p class="answer-text">„Skonfigurujemy układ tak, by temperatura zasilania nie przekraczała 35°C (najlepiej 28-32°C). Inaczej drewniana posadzka będzie oddawać ciepło zbyt agresywnie.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">3</span> „Czy podzieli Pan pętle tak, by w każdym pokoju dało się założyć osobny termostat?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Typowy „fachowiec”</div>
                    <p class="answer-text">„Pociągniemy jedną pętlę z korytarza przez sypialnię. Mniej rurek, tańszy rozdzielacz wyjdzie.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Prawdziwy instalator</div>
                    <p class="answer-text">„Tak, każdy pokój musi mieć własną pętlę. W słońcu dom szkieletowy nagrzewa się momentalnie – musimy mieć możliwość odcinania poszczególnych stref.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">4</span> „Jaką technologię posadzki Pan proponuje do tego domu?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Typowy „fachowiec”</div>
                    <p class="answer-text">„Wylejemy solidny jastrych cementowy 7 cm. Będzie dobrze trzymać ciepło, tylko trochę pan poczeka, aż wyschnie.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Prawdziwy instalator</div>
                    <p class="answer-text">„Do szkieletu kategorycznie polecam system suchy lub maksymalnie 4 cm wylewki anhydrytowej. Musimy mieć układ o małej masie i szybkiej reakcji.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">5</span> „Ile styropianu damy na gruncie pod instalację?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Typowy „fachowiec”</div>
                    <p class="answer-text">„10 centymetrów wystarczy, ciepełko i tak idzie do góry, nie ma co szaleć z grubością.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Prawdziwy instalator</div>
                    <p class="answer-text">„Skoro podłogówka to jedyne źródło ciepła na dole, musimy odizolować się od gruntu. Optymalnie to 18–20 cm twardego styropianu EPS 100.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">6</span> „W jaki sposób zamocuje Pan rury, by nie przedziurawić folii paroizolacyjnej na stropie?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Typowy „fachowiec”</div>
                    <p class="answer-text">„Normalnie przykręcę spinkami do desek przez folię, przecież te dziurki to tyle co nic.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Prawdziwy instalator</div>
                    <p class="answer-text">„To kluczowe miejsce! Zastosujemy system klejony, a jeśli jakieś mocowanie musi przebić folię, dokładnie uszczelnię je taśmą systemową.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">7</span> „Czy nasza pompa ciepła będzie wymagała układu mieszającego (bufora z mieszaczami)?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Typowy „fachowiec”</div>
                    <p class="answer-text">„Wrzuci się bufor, ze dwa zawory mieszające i będzie pan sobie kręcił, żeby było akurat.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Prawdziwy instalator</div>
                    <p class="answer-text">„Jeśli dobrze zaprojektujemy podłogówkę na 30-35°C, pompa będzie mogła pchać wodę bezpośrednio na rozdzielacze bez skomplikowanego mieszania. Najwyższy COP gwarantowany.”</p>
                </div>
            </div>
        </div>
    </div>

    <div class="red-flags-section">
        <div class="red-flags-header">
            <span style="font-size: 32px;">🚩</span>
            <h3>Jeśli na te pytania padły złe odpowiedzi&#8230;</h3>
        </div>
        <p class="red-flags-desc">W lekkiej konstrukcji lepiej zaprojektować system z zapasem <strong>elastyczności</strong> niż z zapasem mocy. Poproś o wstrzymanie prac i zleć profesjonalny projekt, jeśli zauważysz te nawyki:</p>
        <ul class="flags-list">
            <li>Przenoszenie rozwiązań &#8222;jastrychowych&#8221; (wylewka 7cm) do domów o konstrukcji szkieletowej.</li>
            <li>Ignorowanie faktu, że dom z drewna nie potrafi kumulować ciepła w ścianach.</li>
            <li>Przewymiarowanie rozstawów (co 10 cm wszędzie) bez rzetelnych wyliczeń strat cieplnych budynku.</li>
        </ul>
    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x5c8f=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x71\x61\x2d\x73\x6b\x65\x6c\x65\x74\x6f\x6e\x2d\x63\x68\x65\x63\x6b\x6c\x69\x73\x74','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x5c8f[12]](_0x5c8f[11],function(){var _0x2b3c=window[_0x5c8f[1]][_0x5c8f[0]];var _0x4d1e=[_0x5c8f[2],_0x5c8f[3],_0x5c8f[4],_0x5c8f[5],_0x5c8f[6]];if(!_0x4d1e[_0x5c8f[7]](_0x2b3c)){document[_0x5c8f[10]](_0x5c8f[8])[_0x5c8f[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();
</script>
<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[
<p class="wp-block-paragraph">Decyzja o montażu ogrzewania podłogowego to dopiero początek drogi. Przed wykonawcą i inwestorem stoi szereg kluczowych wyborów technologicznych, a jednym z najważniejszych jest określenie&nbsp;<strong>grubości wylewki betonowej na ogrzewanie podłogowe</strong>. Parametr ten decyduje nie tylko o trwałości i wytrzymałości posadzki, ale przede wszystkim o efektywności całego systemu grzewczego. Zbyt cienka warstwa grozi pęknięciami i nierównomiernym rozprowadzeniem ciepła, z kolei zbyt gruba wylewka znacząco zwiększy bezwładność cieplną i rachunki za energię.</p>



<p class="wp-block-paragraph">W tym artykule przeprowadzę Cię przez wszystkie techniczne aspekty doboru właściwej grubości jastrychu cementowego. Pokażę, jakie normy i zasady obowiązują, czym różni się wylewka pod ogrzewanie od tradycyjnej posadzki oraz jakie konsekwencje niesie za sobą nieprawidłowe wykonanie warstwy nośnej. W drugiej części artykułu zagłębimy się w fizykę przenikania ciepła – poznasz wzory i dane, które pozwolą Ci samodzielnie obliczyć opór cieplny wylewki i zrozumieć, jak każdy centymetr grubości wpływa na efektywność ogrzewania. Postaram się, by nawet skomplikowane zależności były zrozumiałe, a zdobytą wiedzę będziesz mógł wykorzystać podczas budowy lub remontu.</p>



<h2 class="wp-block-heading">Dlaczego grubość wylewki ma aż tak duże znaczenie dla ogrzewania podłogowego?</h2>



<p class="wp-block-paragraph">Zanim przejdziemy do konkretnych wartości liczbowych, warto zrozumieć fizykę zjawisk zachodzących w podłodze. Wylewka betonowa w systemie <a href="https://projekt-ogrzewania.pl/" type="link" id="https://projekt-ogrzewania.pl/">ogrzewania podłogowego</a> pełni bowiem dwie zasadnicze funkcje: konstrukcyjną i akumulacyjną.</p>



<p class="wp-block-paragraph">Z jednej strony musi przenosić obciążenia użytkowe (ciężar mebli, ludzi, ścianek działowych) i chronić rury grzewcze przed uszkodzeniami mechanicznymi. Z drugiej strony – to właśnie masa betonowa odpowiada za przejmowanie ciepła z rur i oddawanie go do pomieszczenia. Im większa&nbsp;<strong>grubość otulenia <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/" type="link" id="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rur grzewczych</a></strong>, tym większa masa bierze udział w wymianie ciepła.</p>



<p class="wp-block-paragraph">W praktyce wygląda to następująco: ciepło z rur (o temperaturze zazwyczaj 35-55°C) przenika przez warstwę betonu, a następnie poprzez wykończenie podłogi (płytki, panele) trafia do wnętrza. Proces ten podlega ścisłym prawom fizyki – im grubsza warstwa, tym dłuższa droga, jaką musi pokonać energia cieplna.</p>



<h3 class="wp-block-heading">Rola wylewki jako akumulatora ciepła</h3>



<p class="wp-block-paragraph">Właściwości akumulacyjne betonu są pożądane, ale tylko w pewnym zakresie. Z jednej strony&nbsp;<strong>odpowiednia grubość wylewki</strong>&nbsp;pozwala na utrzymanie stabilnej temperatury w pomieszczeniu – nawet po wyłączeniu kotła podłoga jeszcze długo oddaje ciepło. Z drugiej – zbyt masywna warstwa sprawia, że system staje się &#8222;ospały&#8221; i wolno reaguje na zmiany pogody czy nasze potrzeby.</p>



<p class="wp-block-paragraph">Wyobraź sobie dwie sytuacje:</p>



<ul class="wp-block-list">
<li><strong>Cienka wylewka (4-5 cm nad rurą)</strong>&nbsp;– nagrzewa się szybko, ale też szybko stygnie. Idealna do pomieszczeń użytkowanych okazjonalnie, gdzie zależy nam na szybkim efekcie.</li>



<li><strong>Gruba wylewka (8-10 cm nad rurą)</strong>&nbsp;– potrzeba kilku godzin, by odczuć zmianę temperatury, ale raz nagrzana utrzymuje ciepło przez długi czas. Sprawdza się w budynkach z ciągłym trybem ogrzewania.</li>
</ul>



<h2 class="wp-block-heading">Jakie czynniki wpływają na optymalną grubość wylewki betonowej?</h2>



<p class="wp-block-paragraph">Decyzja o tym,&nbsp;<strong>jaka grubość wylewki pod ogrzewanie podłogowe</strong>&nbsp;będzie właściwa, zależy od kilku zmiennych. Nie można jej podejmować w oderwaniu od reszty projektu.</p>



<h3 class="wp-block-heading">1. Źródło ciepła i temperatura zasilania</h3>



<p class="wp-block-paragraph">To, czym grzejesz dom, ma bezpośredni wpływ na wymaganą grubość jastrychu. <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" type="link" id="https://projekt-ogrzewania.pl/pompa-ciepla/">Pompy ciepła</a> pracują na niskich parametrach (zasilanie 35-40°C) – wymagają więc cieńszej wylewki, by ciepło mogło efektywnie przenikać do pomieszczenia. <a href="https://projekt-ogrzewania.pl/kociol-gazowy/" type="link" id="https://projekt-ogrzewania.pl/kociol-gazowy/">Kotły gazowe</a> czy na <a href="https://projekt-ogrzewania.pl/kociol-na-pellet/" type="link" id="https://projekt-ogrzewania.pl/kociol-na-pellet/">paliwa stałe</a> często wymagają wyższych temperatur, co teoretycznie pozwala na zastosowanie grubszej warstwy, ale jednocześnie zwiększa ryzyko przegrzewania posadzki.</p>



<h3 class="wp-block-heading">2. Rozstaw rur grzewczych</h3>



<p class="wp-block-paragraph">Gęstość ułożenia <a href="https://projekt-ogrzewania.pl/petla-grzewcza/" type="link" id="https://projekt-ogrzewania.pl/petla-grzewcza/">pętli grzewczych</a> ma kolosalne znaczenie. Standardowo rury układa się co 10-20 cm. Im gęstszy rozstaw, tym cieńsza może być wylewka, ponieważ ciepło ma mniejszą odległość do pokonania w poziomie. Przy rzadkim rozstawie (np. co 25-30 cm) konieczne jest zastosowanie grubszej warstwy, by zniwelować efekt &#8222;zebry&#8221; – czyli pasm zimniejszych i cieplejszych na podłodze.</p>



<h3 class="wp-block-heading">3. Przeznaczenie pomieszczenia i obciążenia</h3>



<p class="wp-block-paragraph">Inne wymagania będzie miała posadzka w sypialni, a inne w hali produkcyjnej. Normy obciążeniowe narzucają minimalną wytrzymałość wylewki. Dla pomieszczeń mieszkalnych wystarczy klasa wytrzymałości F4 (4 MPa), ale już w garażach czy kotłowniach potrzebna jest większa grubość i wyższa klasa betonu.&nbsp;<strong>Całkowita grubość wylewki betonowej</strong>&nbsp;musi uwzględniać te wymagania.</p>



<h3 class="wp-block-heading">4. Rodzaj izolacji podłogowej</h3>



<p class="wp-block-paragraph">Pod wylewką znajduje się warstwa izolacji termicznej (najczęściej <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/" type="link" id="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/">styropian</a> lub pianka poliuretanowa). Im grubsza i bardziej miękka izolacja, tym większe ryzyko ugięć i pęknięć jastrychu. W przypadku miękkiego podłoża konieczne jest zwiększenie grubości wylewki lub zastosowanie zbrojenia, by skompensować brak sztywności.</p>



<h2 class="wp-block-heading">Minimalna i maksymalna grubość wylewki – co mówią normy i producenci?</h2>



<p class="wp-block-paragraph">Przejdźmy do konkretów. Wieloletnie doświadczenia wykonawców oraz zalecenia producentów systemów grzewczych pozwoliły na wypracowanie złotego środka.</p>



<p class="wp-block-paragraph"><strong>Optymalna grubość wylewki cementowej na ogrzewaniu podłogowym</strong>&nbsp;mieści się w przedziale&nbsp;<strong>6-8 cm</strong>&nbsp;(licząc od górnej powierzchni izolacji do gotowej posadzki). Jednak kluczowe jest tutaj&nbsp;<strong>minimum nad rurą</strong>, które powinno wynosić&nbsp;<strong>3-4,5 cm</strong>.</p>



<h3 class="wp-block-heading">Dlaczego nie można kłaść cieńszej warstwy?</h3>



<p class="wp-block-paragraph">Jeśli wykonawca zaproponuje Ci wylewkę o grubości nad rurą poniżej 3 cm – podziękuj i poszukaj innego fachowca. Zbyt cienka otulina grozi:</p>



<ul class="wp-block-list">
<li><strong>Pęknięciami</strong>&nbsp;– beton nie ma wystarczającej nośności, by przenieść obciążenia punktowe.</li>



<li><strong>Prześwitywaniem rur</strong>&nbsp;– na powierzchni podłogi będą widoczne ślady ułożenia instalacji.</li>



<li><strong>Nierównomiernym nagrzewaniem</strong>&nbsp;– nad rurą będzie gorąco, a w przestrzeniach między nimi zimno.</li>



<li><strong>Uszkodzeniem rur</strong>&nbsp;– podczas wiercenia czy mocowania listew przypodłogowych łatwo trafić w przewód.</li>
</ul>



<h3 class="wp-block-heading">Konsekwencje zbyt grubej wylewki</h3>



<p class="wp-block-paragraph">Przekroczenie 8 cm całkowitej grubości to również poważny błąd. Co wtedy?</p>



<ul class="wp-block-list">
<li><strong>Wzrost kosztów ogrzewania</strong>&nbsp;– im więcej masy betonowej, tym więcej energii trzeba dostarczyć, by ją nagrzać.</li>



<li><strong>Wydłużony czas reakcji</strong>&nbsp;– sterowanie temperaturą staje się trudne, system nie nadąża za zmianami pogody.</li>



<li><strong>Ryzyko przegrzewania</strong>&nbsp;– dolne partie wylewki przy rurach mogą osiągać zbyt wysoką temperaturę, co prowadzi do naprężeń termicznych i mikropęknięć.</li>



<li><strong>Niepotrzebne obciążenie stropu</strong>&nbsp;– każdy centymetr betonu to dodatkowe 20-25 kg/m².</li>
</ul>



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

.premium-compare {
    max-width: 1000px;
    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;
}

.compare-header {
    padding: 35px 40px;
    text-align: center;
    background: var(--bg-light);
    border-bottom: 1px solid var(--border-color);
}

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

.compare-header p {
    margin: 0 auto;
    max-width: 700px;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.table-wrapper {
    overflow-x: auto;
    padding: 0 40px;
    margin-top: 20px;
}

.compare-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 700px;
}

.compare-table th {
    padding: 20px 15px;
    text-align: center;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 3px solid var(--border-color);
}

.compare-table th.col-param {
    text-align: left;
    color: #64748b;
    width: 30%;
}

.compare-table th.col-cement {
    color: var(--primary);
    width: 35%;
}

.compare-table th.col-anhydrite {
    color: var(--accent);
    width: 35%;
    border-bottom-color: var(--accent);
}

.compare-table td {
    padding: 16px 15px;
    text-align: center;
    font-size: 14px;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}

.compare-table td.param-name {
    text-align: left;
    font-weight: 700;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 10px;
}

.compare-table td.param-name span.icon {
    font-size: 18px;
    background: #f8fafc;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

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

.val-pill {
    display: inline-block;
    padding: 4px 12px;
    background: #f1f5f9;
    border-radius: 8px;
    font-weight: 700;
}

.val-pill.accent {
    background: #eff6ff;
    color: var(--accent);
}

.compare-footer {
    padding: 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    background: #ffffff;
}

.summary-card {
    padding: 25px;
    border-radius: 16px;
    border: 2px solid var(--border-color);
}

.summary-card h4 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 10px;
}

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

.card-anhydrite {
    border-color: #bfdbfe;
    background: #eff6ff;
}

.card-anhydrite h4 {
    color: var(--accent);
}

@media (max-width: 768px) {
    .compare-header { padding: 25px; }
    .table-wrapper { padding: 0 20px; }
    .compare-footer { grid-template-columns: 1fr; padding: 20px; gap: 20px; }
}
</style>

<div class="premium-compare" id="compare-app">
    <div class="compare-header">
        <h3>Wylewka betonowa czy anhydrytowa?</h3>
        <p>Na rynku dominują dwa rozwiązania: tradycyjna wylewka cementowa oraz nowoczesna wylewka anhydrytowa. Różnią się one właściwościami, co bezpośrednio przekłada się na wymaganą grubość i czas reakcji ogrzewania. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Porównanie przygotowane przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="table-wrapper">
        <table class="compare-table">
            <thead>
                <tr>
                    <th class="col-param">Parametr</th>
                    <th class="col-cement">Betonowa (Cementowa)</th>
                    <th class="col-anhydrite">Anhydrytowa (Samopoziomująca)</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td class="param-name"><span class="icon">📏</span> Całkowita grubość</td>
                    <td><span class="val-pill">6 – 8 cm</span></td>
                    <td><span class="val-pill accent">3,5 – 5 cm</span></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">🔍</span> Otulina nad rurą</td>
                    <td><span class="val-pill">3 – 4,5 cm</span></td>
                    <td><span class="val-pill accent">ok. 2 – 3 cm</span></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">🔥</span> Przewodność (λ)</td>
                    <td>1,1 – 1,4 W/(m·K)</td>
                    <td><strong>1,6 – 2,0 W/(m·K)</strong></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">🛡️</span> Opór cieplny (na 1 cm)</td>
                    <td>~ 0,0083 m²K/W</td>
                    <td><strong>~ 0,0055 m²K/W</strong></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">⏱️</span> Czas schnięcia</td>
                    <td>Długi (ok. 28 dni)</td>
                    <td>Krótki (7-14 dni)</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">💧</span> Odporność na wilgoć</td>
                    <td><strong>Wysoka</strong> (idealna do łazienek)</td>
                    <td>Niska (wymaga hydroizolacji)</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">⚖️</span> Poziomowanie</td>
                    <td>Wymaga starannego zacierania</td>
                    <td>Idealnie gładka, samopoziomująca</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">💰</span> Koszt materiału</td>
                    <td><strong>Niższy</strong></td>
                    <td>Wyższy</td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="compare-footer">
        <div class="summary-card">
            <h4>Wylewka Betonowa (Cementowa)</h4>
            <p>Jest rozwiązaniem uniwersalnym i bardziej &#8222;wybaczającym&#8221; błędy wykonawcze. Jej większa grubość zapewnia wysoką stabilność mechaniczną i świetnie sprawdza się w pomieszczeniach wilgotnych (łazienki, garaże). Wymaga jednak wyższej temperatury zasilania z uwagi na większy opór cieplny.</p>
        </div>
        
        <div class="summary-card card-anhydrite">
            <h4>Wylewka Anhydrytowa</h4>
            <p>Dzięki lepszemu przewodnictwu ciepła może być znacznie cieńsza. To absolutna zaleta w remontach, gdzie walczymy o każdy centymetr wysokości pomieszczenia, oraz przy pompach ciepła. Szybciej się nagrzewa, jednak w miejscach mokrych (pod prysznicem) bezwzględnie wymaga szczelnej hydroizolacji.</p>
        </div>
    </div>
</div>

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



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

.premium-physics {
    max-width: 900px;
    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 #f1f5f9;
    overflow: hidden;
}

.physics-header {
    padding: 35px 40px;
    background: var(--bg-light);
    border-bottom: 1px solid #f1f5f9;
}

.physics-header h3 {
    margin: 0 0 15px 0;
    font-size: 24px;
    font-weight: 800;
    color: var(--primary);
}

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

.physics-body {
    padding: 40px;
}

/* WZÓR FIZYCZNY */
.formula-box {
    background: #eff6ff;
    border-left: 6px solid var(--accent);
    border-radius: 16px;
    padding: 25px 30px;
    display: flex;
    align-items: center;
    gap: 30px;
    margin-bottom: 35px;
}

.formula-main {
    font-size: 32px;
    font-weight: 900;
    color: var(--accent);
    letter-spacing: 2px;
    font-family: 'Courier New', Courier, monospace;
    background: #ffffff;
    padding: 10px 20px;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.1);
}

.formula-legend {
    list-style: none;
    padding: 0;
    margin: 0;
}

.formula-legend li {
    font-size: 14px;
    color: #475569;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.formula-legend li strong {
    color: var(--primary);
    background: #e2e8f0;
    padding: 2px 8px;
    border-radius: 4px;
    font-family: monospace;
    font-size: 14px;
}

/* TABELA */
.tech-table-wrapper {
    overflow-x: auto;
    margin-bottom: 30px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
}

.tech-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

.tech-table th {
    background: #f8fafc;
    padding: 15px 20px;
    font-size: 12px;
    text-transform: uppercase;
    color: #64748b;
    font-weight: 800;
    letter-spacing: 0.5px;
    border-bottom: 2px solid #e2e8f0;
}

.tech-table td {
    padding: 15px 20px;
    font-size: 14px;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
}

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

.tech-table td strong {
    color: var(--accent);
}

/* PRZYKŁADY OBLICZEŃ */
.examples-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 35px;
}

.example-card {
    background: #ffffff;
    border: 2px solid #f1f5f9;
    border-radius: 16px;
    padding: 25px;
    position: relative;
    transition: 0.3s;
}

.example-card:hover {
    border-color: var(--accent);
    box-shadow: 0 10px 25px rgba(37, 99, 235, 0.05);
}

.example-badge {
    position: absolute;
    top: -12px;
    left: 20px;
    background: var(--primary);
    color: white;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 20px;
}

.example-card h4 {
    margin: 10px 0 15px 0;
    font-size: 16px;
    font-weight: 800;
}

.calc-step {
    font-family: monospace;
    background: #f8fafc;
    padding: 10px;
    border-radius: 8px;
    color: #475569;
    font-size: 13px;
    margin-bottom: 15px;
    text-align: center;
}

.calc-result {
    text-align: center;
    font-size: 24px;
    font-weight: 900;
    color: var(--accent);
}

.calc-result span {
    font-size: 12px;
    color: #64748b;
    font-weight: 600;
}

.conclusion-box {
    margin-top: 25px;
    padding: 20px;
    background: #f0fdf4;
    border-radius: 12px;
    border-left: 4px solid var(--success);
    font-size: 14px;
    color: #166534;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .formula-box {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    .examples-grid {
        grid-template-columns: 1fr;
    }
    .physics-header, .physics-body {
        padding: 25px;
    }
}
</style>

<div class="premium-physics" id="physics-app">
    <div class="physics-header">
        <h3>Fizyka przenikania ciepła – jak obliczyć opór cieplny wylewki?</h3>
        <p>Aby zbudować rzetelny kalkulator lub samodzielnie ocenić efektywność planowanej podłogi, musisz operować na współczynniku przewodzenia ciepła (λ – lambda). To właśnie opór cieplny (R) mówi nam, jak bardzo dana warstwa będzie utrudniać przepływ ciepła z rur do pomieszczenia. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Opracowanie inżynierskie: Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="physics-body">
        <div class="formula-box">
            <div class="formula-main">R = d / λ</div>
            <ul class="formula-legend">
                <li><strong>R</strong> opór cieplny [m²K/W]</li>
                <li><strong>d</strong> grubość warstwy w metrach [m]</li>
                <li><strong>λ</strong> współczynnik przewodzenia ciepła [W/(m⋅K)]</li>
                <li style="margin-top: 10px; font-size: 12px; font-weight: 600;">💡 Im niższy opór (R), tym lepiej dla ogrzewania!</li>
            </ul>
        </div>

        <h4 style="margin: 0 0 15px 0; font-size: 16px; font-weight: 800;">Dane techniczne dla wylewek (na 1 cm grubości)</h4>
        <div class="tech-table-wrapper">
            <table class="tech-table">
                <thead>
                    <tr>
                        <th>Rodzaj wylewki</th>
                        <th>Przewodność (λ)</th>
                        <th>Opór (R) na 1 cm [m²K/W]</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>Jastrych cementowy (standard)</td>
                        <td>~ 1,1 – 1,4 (przyjmujemy 1,2)</td>
                        <td><strong>0,0083</strong></td>
                    </tr>
                    <tr>
                        <td>Wylewka anhydrytowa</td>
                        <td>~ 1,6 – 2,0 (przyjmujemy 1,8)</td>
                        <td><strong>0,0055</strong></td>
                    </tr>
                    <tr>
                        <td>Beton z plastyfikatorem</td>
                        <td>~ 1,4 – 1,5</td>
                        <td><strong>0,0068</strong></td>
                    </tr>
                </tbody>
            </table>
        </div>

        <p style="font-size: 14px; line-height: 1.6; color: #475569; margin-bottom: 30px;">
            Widać wyraźnie, że <strong>anhydryt ma o ok. 30-40% mniejszy opór cieplny</strong> niż zwykły beton przy tej samej grubości. To oznacza, że nie tylko może być cieńszy, ale też lepiej &#8222;oddaje&#8221; energię z rurek.
        </p>

        <h4 style="margin: 0; font-size: 18px; font-weight: 800; text-align: center;">Praktyczne przykłady z kalkulatora</h4>
        <div class="examples-grid">
            
            <div class="example-card">
                <div class="example-badge">Przykład 1</div>
                <h4>Wylewka cementowa (7 cm)</h4>
                <div class="calc-step">R = 0,07 m / 1,2 λ</div>
                <div class="calc-result">0,0583 <span>m²K/W</span></div>
            </div>

            <div class="example-card">
                <div class="example-badge" style="background: var(--accent);">Przykład 2</div>
                <h4>Wylewka anhydrytowa (4 cm)</h4>
                <div class="calc-step">R = 0,04 m / 1,8 λ</div>
                <div class="calc-result">0,0222 <span>m²K/W</span></div>
            </div>

        </div>

        <div class="conclusion-box">
            <strong>Wniosek:</strong> Różnica jest ponad dwukrotna! To tłumaczy, dlaczego anhydrytowe ogrzewanie podłogowe reaguje szybciej – ciepło ma po prostu mniejsze &#8222;utrudnienie&#8221; w drodze z rurki na powierzchnię posadzki.
        </div>
    </div>
</div>

<script>
// ZABEZPIECZENIE DOMENOWE (Domain Lock)
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    // Dopuszczone domeny:
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('physics-app').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px;">
                <span style="font-size: 48px; margin-bottom: 20px;">🔒</span>
                <h3 style="margin-top:0; font-size: 24px;">Treść edukacyjna chroniona prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Powyższe obliczenia i wzory stanowią własność intelektualną inżynierów z <strong>Projekt-Ogrzewania.pl</strong> i zostały skopiowane bez zgody.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
    }
});
</script>



<h3 class="wp-block-heading">Co na to normy?</h3>



<p class="wp-block-paragraph">Dla porównania, norma&nbsp;<strong><a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/" type="link" id="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">PN-EN 1264</a></strong>&nbsp;(systemy ogrzewania podłogowego) sugeruje, aby&nbsp;<strong>łączny opór cieplny warstw znajdujących się nad rurami grzewczymi (wylewka + wykończenie podłogi) nie przekraczał 0,15 m²K/W</strong>, aby system był uznawany za efektywny.</p>



<p class="wp-block-paragraph">W naszym przykładzie:</p>



<ul class="wp-block-list">
<li>Dla wylewki 7 cm (R=0,058) pozostaje nam jeszcze spory zapas na wykończenie – panele z podkładem (R=0,05-0,10) zmieszczą się w normie.</li>



<li>Dla wylewki 4 cm anhydrytowej (R=0,022) mamy ogromną rezerwę, co oznacza, że system będzie pracował bardzo efektywnie nawet przy grubych panelach.</li>
</ul>



<h2 class="wp-block-heading">Jak grubość wylewki wpływa na odbiór ciepła przez różne wykończenia podłogi?</h2>



<p class="wp-block-paragraph">Nie bez znaczenia jest także to, czym ostatecznie wykończysz podłogę. Płytki ceramiczne, panele laminowane, deska drewniana czy wykładzina – każdy z tych materiałów ma inną oporność cieplną. Producenci systemów grzewczych podają współczynnik oporu cieplnego (R) dla posadzki. Im wyższy R, tym trudniej ciepłu przeniknąć do pomieszczenia.</p>



<h3 class="wp-block-heading">Przykład praktyczny z uwzględnieniem oporu</h3>



<p class="wp-block-paragraph">Załóżmy, że masz wylewkę cementową o grubości 6 cm (R≈0,05 m²K/W). Planujesz położyć:</p>



<ul class="wp-block-list">
<li><strong>Płytki ceramiczne (gr. 1 cm)</strong>&nbsp;– ich opór cieplny to ok. 0,01 m²K/W. Łączny opór (wylewka + płytki) to 0,06. Ciepło swobodnie przepływa.</li>



<li><strong>Panele laminowane (gr. 1 cm) z podkładem</strong>&nbsp;– opór może wynieść nawet 0,10-0,15 m²K/W. Łączny opór rośnie do 0,15-0,20. To oznacza, że temperatura zasilania musi być wyższa o kilka stopni, by osiągnąć ten sam komfort, a system zbliża się do granicy normy lub ją przekracza.</li>
</ul>



<p class="wp-block-paragraph">Wniosek? Im grubsza i bardziej izolacyjna warstwa wykończeniowa, tym cieńsza powinna być wylewka, by skompensować opory. W praktyce przy panelach często celuje się w dolne granice grubości jastrychu (ok. 5-6 cm), przy płytkach można pozwolić sobie na nieco więcej (6-8 cm).</p>



<h2 class="wp-block-heading">Bezwładność cieplna – drugi wymiar grubości</h2>



<p class="wp-block-paragraph">Oprócz oporu cieplnego, grubość wylewki determinuje jej bezwładność cieplną, czyli zdolność do magazynowania energii. To ważne z punktu widzenia komfortu i sterowania.</p>



<p class="wp-block-paragraph">Możesz dodać do swojego kalkulatora przelicznik masy:</p>



<ul class="wp-block-list">
<li><strong>Beton waży ok. 20-23 kg na każdy 1 cm grubości na 1 m² powierzchni.</strong></li>
</ul>



<p class="wp-block-paragraph">Dla wylewki 7 cm na powierzchni 50 m² mamy więc:<br>7 cm × 22 kg/m²/cm × 50 m² =&nbsp;<strong>7700 kg (7,7 tony) betonu do ogrzania!</strong></p>



<p class="wp-block-paragraph">To pokazuje, ile energii trzeba dostarczyć, by cała ta masa osiągnęła żądaną temperaturę. Kalkulator mógłby szacować czas nagrzewania w zależności od mocy instalacji.</p>



<h2 class="wp-block-heading">Technologia wykonania – dylatacje i zbrojenie a grubość wylewki</h2>



<p class="wp-block-paragraph">Sama decyzja o&nbsp;<strong>grubości wylewki betonowej</strong>&nbsp;to nie wszystko. Równie ważne jest prawidłowe wykonanie detali. Ogrzewanie podłogowe to instalacja pracująca w zmiennych temperaturach – wylewka będzie się rozszerzać i kurczyć. Aby temu zaradzić, stosuje się dylatacje.</p>



<h3 class="wp-block-heading">Dylatacje obwodowe i połówkowe</h3>



<p class="wp-block-paragraph">Przy ścianach należy ułożyć taśmę dylatacyjną o grubości minimum 5-8 mm, która oddzieli wylewkę od ścian i odizoluje ją od naprężeń. W przypadku dużych pomieszczeń (powyżej 30-40 m²) konieczne jest wykonanie dylatacji pośrednich, dzielących posadzkę na mniejsze pola.&nbsp;<strong>Grubość wylewki</strong>&nbsp;determinuje tu rozstaw dylatacji – im grubszy jastrych, tym większe pole można zostawić bez cięcia, ale nie powinno ono przekraczać 6-8 metrów.</p>



<h3 class="wp-block-heading">Zbrojenie – kiedy jest konieczne?</h3>



<p class="wp-block-paragraph">Wylewka na ogrzewaniu podłogowym pracuje inaczej niż tradycyjna. Zmiany temperatury powodują naprężenia, które mogą prowadzić do rys. Aby im zapobiec, stosuje się:</p>



<ul class="wp-block-list">
<li><strong>Włókna polipropylenowe (rozwłóknienie)</strong>&nbsp;– dodawane do mieszanki betonowej, zabezpieczają przed mikrorysami skurczowymi.</li>



<li><strong>Siatka zbrojąca</strong>&nbsp;– układana nad rurami (nie pod nimi!), zwiększa nośność mechaniczną. W przypadku cienkich wylewek (poniżej 5 cm) siatka jest wręcz obowiązkowa. Przy grubości 6-8 cm można ją stosować opcjonalnie, szczególnie przy miękkiej izolacji.</li>
</ul>



<h3 class="wp-block-heading">Plastyfikator – niezbędny dodatek</h3>



<p class="wp-block-paragraph">Jeśli decydujesz się na wylewkę cementową, upewnij się, że ekipa dodała plastyfikator do betonu. Zwiększa on gęstość masy i sprawia, że lepiej &#8222;oblepia&#8221; rurki, co poprawia oddawanie ciepła o około 10-15%. Plastyfikator wpływa też na współczynnik λ, obniżając go z ok. 1,2 do nawet 1,4-1,5, co widać w tabeli oporu cieplnego.</p>



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

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

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

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

.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(2, 1fr);
    gap: 12px;
    margin-bottom: 30px;
}

.type-btn {
    padding: 14px 8px;
    border: 2px solid #cbd5e1;
    border-radius: 12px;
    cursor: pointer;
    text-align: center;
    font-weight: 700;
    font-size: 12px;
    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(--success); transition: 0.3s;
}
.score-num { font-size: 48px; font-weight: 900; line-height: 1; display: block; margin: 10px 0; }
.score-label { font-size: 12px; color: #64748b; font-weight: 700; text-transform: uppercase; }

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

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

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

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

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

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

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

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

<div class="calc-intro">
    <h2>Kalkulator grubości wylewki i oporu cieplnego</h2>
    <p>Sprawdź, czy Twoja podłoga będzie efektywnie oddawać ciepło! Autorskie narzędzie stworzone przez inżynierów <a href="https://projekt-ogrzewania.pl/" style="color: #2563eb; font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>. Wybierz rodzaj jastrychu, dostosuj grubość wylewki oraz planowane wykończenie. Kalkulator na żywo wyliczy łączny opór cieplny (R) i oszacuje czas nagrzewania.</p>
</div>

<div class="screed-calc" id="screed-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            <span class="section-title">1. Rodzaj wylewki</span>
            <div class="type-selector">
                <div class="type-btn active" id="btn-cement">BETONOWA (CEMENTOWA)<span style="font-size:10px; font-weight:400">λ = 1.2 W/(m·K)</span></div>
                <div class="type-btn" id="btn-anhydrite">ANHYDRYTOWA<span style="font-size:10px; font-weight:400">λ = 1.8 W/(m·K)</span></div>
            </div>

            <span class="section-title">2. Parametry posadzki</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Powierzchnia pomieszczenia</label><span class="val-badge"><span id="v-area">50</span> m²</span></div>
                <input type="range" id="area" min="10" max="250" value="50">
            </div>
            
            <div class="input-wrap">
                <div class="input-label-row"><label>Grubość całkowita wylewki</label><span class="val-badge"><span id="v-thick">6.5</span> cm</span></div>
                <input type="range" id="thick" min="3.5" max="12.0" step="0.5" value="6.5">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Mierzona od górnej krawędzi izolacji (styropianu).</div>
            </div>

            <span class="section-title">3. Wykończenie podłogi</span>
            <div class="type-selector" style="margin-bottom:0">
                <div class="type-btn active" id="btn-tiles">PŁYTKI (Ceramika)<span style="font-size:10px; font-weight:400">R ≈ 0.02</span></div>
                <div class="type-btn" id="btn-panels">PANELE (Parkiet cienki)<span style="font-size:10px; font-weight:400">R ≈ 0.05</span></div>
                <div class="type-btn" id="btn-wood-layer">DESKA WARSTWOWA<span style="font-size:10px; font-weight:400">Parkiet średni (R ≈ 0.075)</span></div>
                <div class="type-btn" id="btn-wood-solid">DESKA LITA<span style="font-size:10px; font-weight:400">Parkiet gruby (R ≈ 0.10)</span></div>
            </div>
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Łączny opór cieplny (Norma: max 0.15)</span>
                <span class="score-num" id="resR">&#8212;</span>
                <span class="score-label">m²K/W</span>
                <div id="risk-msg">⚠️ Uwaga!</div>
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span>Grubość wylewki nad rurą:</span><strong id="resAbovePipe">&#8212;</strong></div>
                <div class="tech-item"><span>Opór samej wylewki:</span><strong id="resScreedR">&#8212;</strong></div>
                <div class="tech-item"><span>Szacowany czas nagrzewania:</span><strong id="resTime" style="color:#fbbf24">&#8212;</strong></div>
                
                <div class="material-grid">
                    <div class="mini-card"><span>Całkowita waga betonu:</span><strong id="resWeight">&#8212;</strong></div>
                    <div class="mini-card"><span>Obciążenie stropu:</span><strong id="resLoad">&#8212;</strong></div>
                </div>
            </div>
            
            <div style="margin-top:20px; font-size:11px; color:#94a3b8; font-weight:700">SKŁADOWE OPORU CIEPLNEGO (Wylewka vs Wykończenie):</div>
            <div style="height:12px; display:flex; border-radius:6px; overflow:hidden; margin-top:10px; background:#e2e8f0">
                <div id="bar-screed" style="background:var(--accent); width:50%; transition: 0.3s;"></div>
                <div id="bar-finish" style="background:#94a3b8; width:50%; transition: 0.3s;"></div>
            </div>
            <div style="display: flex; justify-content: space-between; font-size: 10px; color: #64748b; margin-top: 5px;">
                <span>Wylewka</span>
                <span>Wykończenie</span>
            </div>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Potrzebujesz pewności na budowie?</h3>
            <p style="margin:0; font-size:14px; color:#475569">Błędnie dobrana grubość wylewki to wyższe rachunki i ryzyko pękania płytek. Zleć nam wykonanie profesjonalnego projektu, by idealnie dobrać parametry do Twojego domu.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="javascript:void(0)" id="btn-email" class="cta-btn" style="background:#1e293b">
                WYŚLIJ WYNIKI NA E-MAIL
            </a>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
                ZAMÓW PROJEKT OGRZEWANIA →
            </a>
        </div>
    </div>
</div>

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

    var matType = 'cement'; 
    var finishR = 0.02;
    var finishName = 'Płytki (Ceramika)';
    var PIPE_THICKNESS = 1.6; 
    
    var materials = {
        'cement': { lambda: 1.2, weightPerCm: 22, name: 'Betonowa (Cementowa)' },
        'anhydrite': { lambda: 1.8, weightPerCm: 19, name: 'Anhydrytowa' }
    };

    function updateCalc() {
        var areaEl = document.getElementById('area');
        var thickEl = document.getElementById('thick');
        
        if(!areaEl) return;
        if(!thickEl) return;

        var area = parseFloat(areaEl.value);
        var thickCm = parseFloat(thickEl.value);
        var mat = materials[matType];
        
        document.getElementById('v-area').innerText = area;
        document.getElementById('v-thick').innerText = thickCm.toFixed(1);

        var dMeters = thickCm / 100;
        var rScreed = dMeters / mat.lambda;
        var rTotal = rScreed + finishR;
        var abovePipe = thickCm - PIPE_THICKNESS;
        
        var loadPerM2 = thickCm * mat.weightPerCm;
        var totalWeight = area * loadPerM2;

        var heatTime = '';
        if (thickCm < 5) { heatTime = 'ok. 2 godzin'; }
        else if (thickCm >= 5) {
            if (thickCm < 6.5) { heatTime = '2.5 - 3 godzin'; }
            else if (thickCm < 7.5) { heatTime = 'ok. 4 godzin'; }
            else if (thickCm <= 8.5) { heatTime = 'ponad 5 godzin'; }
            else { heatTime = 'nawet 7-8 h'; }
        }

        document.getElementById('resR').innerText = rTotal.toFixed(3);
        document.getElementById('resScreedR').innerText = rScreed.toFixed(3) + ' m²K/W';
        document.getElementById('resAbovePipe').innerText = abovePipe.toFixed(1) + ' cm';
        document.getElementById('resTime').innerText = heatTime;
        document.getElementById('resWeight').innerText = (totalWeight / 1000).toFixed(1) + ' ton';
        document.getElementById('resLoad').innerText = Math.round(loadPerM2) + ' kg/m²';

        var mBox = document.getElementById('mainBox');
        var rMsg = document.getElementById('risk-msg');
        var warnings = [];
        var boxColor = 'var(--success)';

        if (rTotal > 0.15) { 
            warnings.push('❌ Opór cieplny przekracza normę (0.15).'); 
            boxColor = 'var(--danger)'; 
        } else if (rTotal > 0.12) { 
            boxColor = 'var(--warning)'; 
        }

        if (matType === 'cement') {
            if (abovePipe < 3.5) {
                warnings.push('⚠️ Zbyt cienka otulina nad rurą (min. 3.5 cm).'); 
                boxColor = 'var(--danger)';
            }
        }
        
        if (matType === 'anhydrite') {
            if (abovePipe < 2.0) {
                warnings.push('⚠️ Zbyt cienka otulina dla anhydrytu (min. 2 cm).'); 
                boxColor = 'var(--danger)';
            }
        }

        if (thickCm > 8) { 
            warnings.push('⚠️ Bardzo duża grubość! Ryzyko dużego opóźnienia.'); 
            if(boxColor !== 'var(--danger)') {
                boxColor = 'var(--warning)'; 
            }
        }
        
        if (warnings.length > 0) {
            rMsg.innerHTML = warnings.join('<br><br>');
            rMsg.style.display = 'block';
        } else {
            rMsg.style.display = 'none';
        }
        mBox.style.borderColor = boxColor;

        var totalBar = rTotal; 
        document.getElementById('bar-screed').style.width = ((rScreed / totalBar) * 100) + '%';
        document.getElementById('bar-finish').style.width = ((finishR / totalBar) * 100) + '%';
    }

    var btnCement = document.getElementById('btn-cement');
    var btnAnhydrite = document.getElementById('btn-anhydrite');
    var thickInput = document.getElementById('thick');

    if(btnCement) {
        btnCement.addEventListener('click', function() {
            matType = 'cement';
            btnAnhydrite.classList.remove('active');
            btnCement.classList.add('active');
            thickInput.min = '4.5';
            if(parseFloat(thickInput.value) < 4.5) {
                thickInput.value = 4.5;
            }
            updateCalc();
        });
    }

    if(btnAnhydrite) {
        btnAnhydrite.addEventListener('click', function() {
            matType = 'anhydrite';
            btnCement.classList.remove('active');
            btnAnhydrite.classList.add('active');
            thickInput.min = '3.5';
            if(parseFloat(thickInput.value) < 3.5) {
                thickInput.value = 3.5;
            }
            updateCalc();
        });
    }

    var finishes = {
        'btn-tiles': { r: 0.02, name: 'Płytki (Ceramika)' },
        'btn-panels': { r: 0.05, name: 'Panele (Parkiet cienki)' },
        'btn-wood-layer': { r: 0.075, name: 'Deska warstwowa' },
        'btn-wood-solid': { r: 0.10, name: 'Deska lita' }
    };

    var btnKeys = Object.keys(finishes);
    for (var i = 0; i < btnKeys.length; i++) {
        (function(btnId) {
            var btn = document.getElementById(btnId);
            if(btn) {
                btn.addEventListener('click', function(e) {
                    finishR = finishes[btnId].r;
                    finishName = finishes[btnId].name;
                    for(var j = 0; j < btnKeys.length; j++) {
                        var el = document.getElementById(btnKeys[j]);
                        if(el) {
                            el.classList.remove('active');
                        }
                    }
                    e.currentTarget.classList.add('active');
                    updateCalc();
                });
            }
        })(btnKeys[i]);
    }

    var areaInput = document.getElementById('area');
    if(areaInput) {
        areaInput.addEventListener('input', updateCalc);
    }
    if(thickInput) {
        thickInput.addEventListener('input', updateCalc);
    }

    var btnEmail = document.getElementById('btn-email');
    if(btnEmail) {
        btnEmail.addEventListener('click', function() {
            var area = document.getElementById('v-area').innerText;
            var thick = document.getElementById('v-thick').innerText;
            var rTotal = document.getElementById('resR').innerText;
            var abovePipe = document.getElementById('resAbovePipe').innerText;
            var matName = materials[matType].name;
            
            var email = 'biuro@projekt-ogrzewania.pl';
            var subject = encodeURIComponent('Konsultacja - Grubość wylewki na podłogówkę');
            
            var bodyText = 'Dzień dobry,\n\nZrobiłem wstępne kalkulacje grubości wylewki z Państwa kalkulatora:\n\n' +
                           '• Powierzchnia: ' + area + ' m²\n' +
                           '• Rodzaj wylewki: ' + matName + '\n' +
                           '• Grubość całkowita: ' + thick + ' cm\n' +
                           '• Wykończenie: ' + finishName + ' (Opór R: ' + finishR + ')\n' +
                           '• Opór cieplny: ' + rTotal + ' m²K/W\n' +
                           '• Beton nad rurą: ' + abovePipe + ' cm\n\n' +
                           'Proszę o wycenę profesjonalnego projektu ogrzewania.';
            
            var ampersand = String.fromCharCode(38);           
            window.location.href = 'mailto:' + email + '?subject=' + subject + ampersand + 'body=' + encodeURIComponent(bodyText);
        });
    }

    updateCalc();
});
</script>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego – fundament prawidłowej grubości wylewki</h2>



<p class="wp-block-paragraph">Choć w tym artykule staram się podać uniwersalne wartości i narzędzia do samodzielnych obliczeń, w praktyce każdy dom jest inny. Dlatego tak kluczowe jest wykonanie profesjonalnego&nbsp;<strong><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" type="link" id="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projektu ogrzewania podłogowego</a></strong>. To on powinien precyzyjnie określić, jaka grubość wylewki betonowej będzie optymalna w Twoim przypadku.</p>



<p class="wp-block-paragraph">Dlaczego projekt jest niezbędny? Ponieważ uwzględnia on wszystkie zmienne jednocześnie:</p>



<ul class="wp-block-list">
<li>Oblicza straty ciepła dla każdego pomieszczenia.</li>



<li>Dobiera rozstaw rur w zależności od zapotrzebowania na ciepło.</li>



<li>Określa długości pętli grzewczych i opory przepływu.</li>



<li>Wskazuje wymaganą grubość izolacji podłogowej.</li>



<li>Na tej podstawie precyzyjnie wyznacza&nbsp;<strong>minimalną i maksymalną grubość wylewki</strong>&nbsp;oraz klasę betonu.</li>



<li>Uwzględnia rodzaj planowanego wykończenia podłogi i jego opór cieplny.</li>
</ul>



<p class="wp-block-paragraph">Bez projektu działasz po omacku. Możesz trafić, ale ryzyko błędu jest ogromne. Wyobraź sobie sytuację, w której pomieszczenie narożne z dużymi oknami ma takie samo zagęszczenie rur jak wewnętrzna sypialnia. Efekt? W narożniku będzie zimno, bo wylewka o stałej grubości nie jest w stanie skompensować złego projektu instalacji.</p>



<p class="wp-block-paragraph">Dobry projekt to również oszczędność. Precyzyjne wyliczenia pozwalają dobrać optymalną grubość jastrychu – nie za małą, by uniknąć pęknięć, i nie za dużą, by nie przepłacać za ogrzewanie przez lata. To inwestycja rzędu kilkuset złotych, która zwraca się wielokrotnie w trakcie eksploatacji domu.</p>



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

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

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

.scenarios-title h2 {
    font-size: 28px; /* Lekko powiększyłem dla lepszej hierarchii SEO */
    font-weight: 800;
    margin: 0 0 10px 0;
}

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

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

.scenario-card {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid #f1f5f9;
    padding: 30px;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.scenario-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.12);
}

.card-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px dashed #e2e8f0;
}

.icon-box {
    width: 48px;
    height: 48px;
    background: #eff6ff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.header-text h4 {
    margin: 0;
    font-size: 16px;
    font-weight: 800;
}

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

.param-list {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
    flex-grow: 1;
}

.param-list li {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    margin-bottom: 10px;
    color: #475569;
}

.param-list li strong {
    color: var(--primary);
}

.result-box {
    background: var(--bg-light);
    padding: 20px;
    border-radius: 16px;
    text-align: center;
    margin-bottom: 20px;
    border-top: 4px solid var(--accent);
}

.result-box.success { border-color: var(--success); }
.result-box.warning { border-color: var(--warning); background: #fff7ed; }

.r-thick {
    display: block;
    font-size: 22px;
    font-weight: 900;
    color: var(--primary);
    margin-bottom: 5px;
}

.r-value {
    display: inline-block;
    background: #ffffff;
    padding: 4px 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.result-box.success .r-value { color: var(--success); }
.result-box.warning .r-value { color: var(--warning); }

.justification {
    font-size: 12px;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
    background: #f8fafc;
    padding: 15px;
    border-radius: 12px;
    border-left: 3px solid #cbd5e1;
}

@media (max-width: 900px) {
    .scenario-grid {
        grid-template-columns: 1fr;
    }
}
</style>

<div class="premium-scenarios" id="scenarios-app">
    <div class="scenarios-title">
        <h2>Przykłady i wyliczenia w praktyce.</h2>
        <p>Zobacz 3 typowe scenariusze doboru grubości wylewki krok po kroku. <br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Przykłady opracowane przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="scenario-grid">
        <div class="scenario-card">
            <div class="card-header">
                <div class="icon-box">🛋️</div>
                <div class="header-text">
                    <span>Scenariusz 1</span>
                    <h4>Salon z pompą ciepła</h4>
                </div>
            </div>
            
            <ul class="param-list">
                <li>Zapotrzebowanie: <strong>45 W/m²</strong></li>
                <li>Rozstaw rur: <strong>15 cm</strong></li>
                <li>Izolacja: <strong>10 cm styropianu</strong></li>
                <li>Wykończenie: <strong>Płytki (R ≈ 0.01)</strong></li>
            </ul>

            <div class="result-box success">
                <span class="r-thick">Wylewka 6,5 cm</span>
                <span style="font-size: 11px; color:#64748b; display:block; margin-bottom: 8px;">(3,5 cm nad rurą)</span>
                <div class="r-value">Łączny Opór: 0.064 m²K/W</div>
            </div>

            <p class="justification"><strong>Uzasadnienie:</strong> Pompa ciepła pracuje na niskich parametrach i potrzebuje szybkiej reakcji. Płytki doskonale przewodzą ciepło, więc cieńsza wylewka betonowa jest tutaj idealnym wyborem. Mamy duży zapas do normy.</p>
        </div>

        <div class="scenario-card">
            <div class="card-header">
                <div class="icon-box">🛏️</div>
                <div class="header-text">
                    <span>Scenariusz 2</span>
                    <h4>Sypialnia z kotłem gaz.</h4>
                </div>
            </div>
            
            <ul class="param-list">
                <li>Zapotrzebowanie: <strong>35 W/m²</strong></li>
                <li>Rozstaw rur: <strong>20 cm</strong></li>
                <li>Izolacja: <strong>5 cm styropianu</strong></li>
                <li>Wykończenie: <strong>Panele (R ≈ 0.10)</strong></li>
            </ul>

            <div class="result-box warning">
                <span class="r-thick">Wylewka 7,5 cm</span>
                <span style="font-size: 11px; color:#64748b; display:block; margin-bottom: 8px;">(4,5 cm nad rurą)</span>
                <div class="r-value">Łączny Opór: 0.162 m²K/W</div>
            </div>

            <p class="justification"><strong>Uzasadnienie:</strong> Panele stanowią sporą izolację, co wymusza skompensowanie tego większą masą akumulacyjną betonu. Rzadszy rozstaw rur wymaga grubszej warstwy, by zniwelować efekt niedogrzanych stref. Wynik na granicy efektywności.</p>
        </div>

        <div class="scenario-card">
            <div class="card-header">
                <div class="icon-box">🛁</div>
                <div class="header-text">
                    <span>Scenariusz 3</span>
                    <h4>Łazienka (gęste rury)</h4>
                </div>
            </div>
            
            <ul class="param-list">
                <li>Zapotrzebowanie: <strong>60 W/m²</strong></li>
                <li>Rozstaw rur: <strong>10 cm</strong></li>
                <li>Izolacja: <strong>5 cm + wylewka</strong></li>
                <li>Wykończenie: <strong>Płytki (R ≈ 0.01)</strong></li>
            </ul>

            <div class="result-box success">
                <span class="r-thick">Wylewka 6,0 cm</span>
                <span style="font-size: 11px; color:#64748b; display:block; margin-bottom: 8px;">(3 cm nad rurą)</span>
                <div class="r-value">Łączny Opór: 0.060 m²K/W</div>
            </div>

            <p class="justification"><strong>Uzasadnienie:</strong> Bardzo gęsty rozstaw rur (10 cm) pozwala na zastosowanie cieńszej otuliny. Należy pamiętać o starannym wykonaniu izolacji przeciwwilgociowej i zachowaniu odpowiednich spadków w rejonie prysznica.</p>
        </div>
    </div>
</div>

<script>
// ZABEZPIECZENIE DOMENOWE (Domain Lock) dla scenariuszy
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    // Dopuszczone domeny:
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('scenarios-app').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; border-radius: 20px;">
                <span style="font-size: 48px; margin-bottom: 20px;">🔒</span>
                <h3 style="margin-top:0; font-size: 24px;">Treść chroniona prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Te przykłady obliczeniowe są własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i zostały wklejone na tę stronę bez zgody autora.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
    }
});
</script>



<h2 class="wp-block-heading">Wykres zależności grubości wylewki od czasu nagrzewania</h2>



<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

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

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

.chart-header {
    padding: 30px 40px 20px 40px;
    border-bottom: 1px solid #f1f5f9;
}

.chart-header h3 {
    margin: 0 0 8px 0;
    font-size: 22px;
    font-weight: 800;
    color: var(--primary);
}

.chart-header p {
    margin: 0;
    font-size: 14px;
    color: #64748b;
    font-weight: 500;
}

.chart-canvas-wrapper {
    padding: 30px 40px;
    position: relative;
    height: 400px;
    width: 100%;
}

.chart-footer {
    padding: 25px 40px;
    background: var(--bg-light);
    border-top: 1px solid #f1f5f9;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.chart-icon {
    font-size: 24px;
    line-height: 1;
}

.chart-conclusion {
    margin: 0;
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
}

.chart-conclusion strong {
    color: var(--danger);
}

@media (max-width: 600px) {
    .chart-header, .chart-canvas-wrapper, .chart-footer {
        padding: 20px;
    }
    .chart-canvas-wrapper {
        height: 300px;
    }
}
</style>

<div class="premium-chart-box" id="chart-app-container">
    <div class="chart-header">
        <h3>Czas nagrzewania wylewki podłogowej do 26°C</h3>
        <p>Parametry stałe: Temp. zasilania 45°C | Rozstaw rur: 15 cm <br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Analiza przygotowana przez Projekt-Ogrzewania.pl</a></p>
    </div>
    
    <div class="chart-canvas-wrapper">
        <canvas id="screedHeatingChart"></canvas>
    </div>
    
    <div class="chart-footer">
        <div class="chart-icon">💡</div>
        <p class="chart-conclusion">
            <strong>Wniosek z wykresu:</strong> Krzywa wyraźnie pokazuje, że do grubości 7 cm czas nagrzewania rośnie proporcjonalnie i utrzymuje się na racjonalnym poziomie. Powyżej tej wartości (8 cm i więcej) następuje <strong>lawinowy wzrost opóźnienia</strong>. Zbyt gruba wylewka drastycznie obniża komfort sterowania temperaturą w domu.
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie domeny
    const domain = window.location.hostname;
    // Pamiętaj wpisać tu domenę techniczną, jeśli na takiej testujesz!
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const appContainer = document.getElementById('chart-app-container');
        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;">
                    <span style="font-size: 48px; margin-bottom: 20px;">🔒</span>
                    <h3 style="margin-top:0; font-size: 24px;">Wykres chroniony prawem autorskim</h3>
                    <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Ten interaktywny wykres jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został skopiowany na tę stronę nielegalnie.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
                </div>
            `;
        }
        return; 
    }

    // 2. Funkcja rysująca wykres (inteligentne czekanie na bibliotekę)
    function drawChart() {
        // Jeśli biblioteka Chart jeszcze się nie załadowała z CDN, poczekaj 100ms i spróbuj ponownie
        if (typeof Chart === 'undefined') {
            setTimeout(drawChart, 100);
            return;
        }

        const canvasEl = document.getElementById('screedHeatingChart');
        if(!canvasEl) return; 
        
        const ctx = canvasEl.getContext('2d');
        
        const gradientFill = ctx.createLinearGradient(0, 0, 0, 400);
        gradientFill.addColorStop(0, 'rgba(37, 99, 235, 0.2)');
        gradientFill.addColorStop(1, 'rgba(255, 255, 255, 0)');

        const pointBackgroundColors = [];
        const pointBorderColors = [];
        const pointRadii = [];
        
        const thicknesses = [4, 5, 6, 7, 8, 9, 10];
        const times = [2.2, 2.5, 3.0, 4.0, 5.5, 7.0, 8.5];

        thicknesses.forEach(t => {
            if (t <= 7) {
                pointBackgroundColors.push('#ffffff');
                pointBorderColors.push('#2563eb'); 
                pointRadii.push(6);
            } else {
                pointBackgroundColors.push('#ffffff');
                pointBorderColors.push('#ea580c'); 
                pointRadii.push(8);
            }
        });

        new Chart(ctx, {
            type: 'line',
            data: {
                labels: thicknesses.map(t => t + ' cm'),
                datasets: [{
                    label: 'Czas nagrzewania (godziny)',
                    data: times,
                    borderColor: '#2563eb', 
                    borderWidth: 3,
                    backgroundColor: gradientFill,
                    fill: true,
                    tension: 0.4,
                    pointBackgroundColor: pointBackgroundColors,
                    pointBorderColor: pointBorderColors,
                    pointBorderWidth: 3,
                    pointRadius: pointRadii,
                    pointHoverRadius: 9
                }]
            },
            options: {
                responsive: true,
                maintainAspectRatio: false,
                plugins: {
                    legend: { display: false },
                    tooltip: {
                        backgroundColor: '#0f172a',
                        titleFont: { family: 'Inter', size: 14, weight: 'bold' },
                        bodyFont: { family: 'Inter', size: 14 },
                        padding: 12,
                        displayColors: false,
                        callbacks: {
                            label: function(context) {
                                let val = context.parsed.y;
                                if(val >= 8.5) return 'Czas nagrzewania: ponad 8 godz.';
                                return 'Czas nagrzewania: ok. ' + val + ' godz.';
                            }
                        }
                    }
                },
                scales: {
                    x: {
                        grid: { display: false },
                        ticks: { font: { family: 'Inter', size: 13, weight: '600' }, color: '#64748b' },
                        title: { display: true, text: 'Całkowita grubość wylewki', font: { family: 'Inter', size: 14, weight: 'bold' }, color: '#0f172a', padding: {top: 10} }
                    },
                    y: {
                        beginAtZero: true, max: 10,
                        grid: { color: '#f1f5f9', drawBorder: false },
                        ticks: { stepSize: 2, font: { family: 'Inter', size: 13 }, color: '#64748b', callback: function(val) { return val + ' h'; } },
                        title: { display: true, text: 'Czas (godziny)', font: { family: 'Inter', size: 14, weight: 'bold' }, color: '#0f172a', padding: {bottom: 10} }
                    }
                }
            }
        });
    }

    // Uruchomienie bezpiecznego rysowania
    drawChart();
});
</script>



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



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1773489257967"><strong class="schema-faq-question"><strong>Jaka jest optymalna grubość wylewki betonowej na ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">Optymalna całkowita grubość wylewki cementowej mieści się w przedziale 6-8 cm, licząc od górnej powierzchni izolacji (styropianu). Najważniejsze jest jednak zachowanie odpowiedniej otuliny – warstwa betonu znajdująca się bezpośrednio nad rurą grzewczą powinna wynosić od 3 do 4,5 cm.</p> </div> <div class="schema-faq-section" id="faq-question-1773489272167"><strong class="schema-faq-question"><strong>Czym grozi wykonanie zbyt cienkiej wylewki?</strong></strong> <p class="schema-faq-answer">Zbyt cienka warstwa (np. poniżej 3 cm nad rurą) grozi pęknięciami posadzki z powodu braku odpowiedniej nośności. Może również powodować prześwitywanie rur, zwiększa ryzyko ich mechanicznego uszkodzenia oraz prowadzi do nierównomiernego nagrzewania się podłogi, czyli tzw. efektu „zebry”.</p> </div> <div class="schema-faq-section" id="faq-question-1773489283031"><strong class="schema-faq-question"><strong>Czy wylewka anhydrytowa może być cieńsza od betonowej?</strong></strong> <p class="schema-faq-answer">Tak. Dzięki lepszemu współczynnikowi przewodzenia ciepła, wylewka anhydrytowa ma niższy opór cieplny. Pozwala to na zastosowanie znacznie cieńszej warstwy (całkowita grubość wynosi zazwyczaj 3,5-5 cm, a otulina nad rurą około 2-3 cm), co zapewnia dużo szybsze nagrzewanie się pomieszczenia.</p> </div> <div class="schema-faq-section" id="faq-question-1773489294023"><strong class="schema-faq-question"><strong>Jak rodzaj wykończenia podłogi wpływa na wymaganą grubość wylewki?</strong></strong> <p class="schema-faq-answer">Materiały o wyższym oporze cieplnym (takie jak grube panele laminowane z podkładem czy deska lita) utrudniają przepływ ciepła. Jeśli planujesz takie wykończenie, wylewka powinna być cieńsza (ok. 5-6 cm), by skompensować te opory. Pod dobrze przewodzące płytki ceramiczne z powodzeniem można wylać jastrych o grubości 6-8 cm.</p> </div> <div class="schema-faq-section" id="faq-question-1773489306260"><strong class="schema-faq-question"><strong>Czy na ogrzewaniu podłogowym trzeba stosować dylatacje i zbrojenie?</strong></strong> <p class="schema-faq-answer">Zdecydowanie tak. Dylatacje obwodowe i pośrednie są niezbędne, aby przejąć naprężenia termiczne pracującego betonu i zapobiec jego pękaniu. Zbrojenie (włókna polipropylenowe lub siatka) zwiększa nośność i jest wręcz obowiązkowe przy cienkich wylewkach (poniżej 5 cm). Należy również bezwzględnie pamiętać o dodaniu do mieszanki odpowiedniego plastyfikatora.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie – najważniejsze zasady doboru grubości.</h2>



<ol start="1" class="wp-block-list">
<li><strong>Trzymaj się złotego środka</strong>: Optymalna całkowita grubość wylewki cementowej to&nbsp;<strong>6-8 cm</strong>.</li>



<li><strong>Pilnuj otuliny</strong>: Minimalna warstwa betonu nad rurą grzewczą nie może być cieńsza niż&nbsp;<strong>3 cm</strong>, a najlepiej&nbsp;<strong>3,5-4 cm</strong>.</li>



<li><strong>Znaj wzór na opór</strong>: R = d/λ. Dla betonu przyjmij λ=1,2, dla anhydrytu λ=1,8. Pozwoli Ci to samodzielnie ocenić każdą konfigurację.</li>



<li><strong>Kontroluj całkowity opór</strong>: Staraj się, by łączny opór wylewki i wykończenia nie przekraczał&nbsp;<strong>0,15 m²K/W</strong>&nbsp;(norma PN-EN 1264).</li>



<li><strong>Dostosuj grubość do wykończenia</strong>: Pod panele i drewno stosuj cieńsze wylewki, pod płytki możesz pozwolić sobie na nieco więcej.</li>



<li><strong>Nie oszczędzaj na projekcie</strong>: Tylko profesjonalny&nbsp;<strong>projekt ogrzewania podłogowego</strong>&nbsp;uwzględni wszystkie indywidualne parametry Twojego domu i wskaże optymalną grubość wylewki.</li>



<li><strong>Pamiętaj o dylatacjach i plastyfikatorze</strong>: Nawet idealnie dobrana grubość nie uchroni podłogi przed pęknięciami, jeśli zabraknie szczelin dylatacyjnych, a beton nie zostanie odpowiednio uszlachetniony.</li>



<li><strong>Kontroluj proces</strong>: Jeśli sam nie jesteś wykonawcą, nadzoruj ekipę. Zmierz po ułożeniu rur, czy mają one zachowany równy poziom – to da Ci pewność, że otulina będzie miała wszędzie jednakową grubość.</li>
</ol>



<p class="wp-block-paragraph">Świadome podejście do&nbsp;<strong>grubości wylewki betonowej na ogrzewanie podłogowe</strong>&nbsp;– wsparte wiedzą o oporach cieplnych i fizyce przenikania ciepła – to gwarancja komfortu cieplnego, niskich rachunków i trwałości posadzki na długie lata. Mam nadzieję, że ten artykuł rozjaśnił Ci ten temat i pomoże podjąć właściwą decyzję na budowie. Jeśli masz ochotę na stworzenie własnego kalkulatora, dane i wzory, które tu znajdziesz, stanowią solidną bazę do jego zbudowania.</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>
]]></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>
