<?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>Tue, 01 Sep 2026 20:03:41 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </div>

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        </div>
    </div>

</div>

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



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

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

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

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

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

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

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

.impact-content {
    padding: 45px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        </div>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </div>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

.chart-content {
    padding: 45px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    draw();
});
</script>



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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



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

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

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

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

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

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

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

.decision-content {
    padding: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </div>

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </div>

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </div>

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

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

					<description><![CDATA[<p>Planowanie instalacji grzewczej w budynku o lekkiej konstrukcji drewnianej wymaga zupełnie innego podejścia niż w tradycyjnym budownictwie murowanym. Niska bezwładność cieplna, brak ciężkich ścian akumulujących energię oraz ryzyko przeciążenia stropów sprawiają, że standardowe schematy instalatorów często tutaj zawodzą. W tym artykule bierzemy pod lupę temat, jakim jest ogrzewanie podłogowe w domu szkieletowym – kluczowe różnice i pułapki, na które najczęściej wpadają inwestorzy. Dowiesz się, dlaczego system suchy deklasuje ciężką wylewkę, jak uniknąć kosztownego przewymiarowania rur, dlaczego optymalizacja temperatury zasilania jest kluczowa dla żywotności pompy ciepła, oraz o co dokładnie zapytać wykonawcę przed podpisaniem umowy.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/">Ogrzewanie podłogowe w domu szkieletowym – kluczowe różnice i pułapki.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-frame-guide {
    --rk-navy-950: #0b2232;
    --rk-navy-900: #102f42;
    --rk-navy-800: #17465c;
    --rk-blue: #0796bd;
    --rk-cyan: #29c4da;
    --rk-orange: #ff6846;
    --rk-yellow: #f3b51b;
    --rk-green: #15936f;
    --rk-red: #d84b4b;
    --rk-purple: #6d62c8;
    --rk-ink: #102739;
    --rk-text: #40566a;
    --rk-muted: #6e8293;
    --rk-line: #d3e2e9;
    --rk-soft: #f2f7f9;
    --rk-cyan-soft: #e9fbfe;
    --rk-orange-soft: #fff1ec;
    --rk-yellow-soft: #fff8df;
    --rk-green-soft: #eaf8f3;
    --rk-red-soft: #fff0ee;
    --rk-white: #ffffff;
    width: 100%;
    max-width: 1180px;
    margin: 28px auto 68px;
    color: var(--rk-ink);
    font-family: inherit;
    font-size: 17px;
    line-height: 1.72;
  }

  #rk-frame-guide,
  #rk-frame-guide * {
    box-sizing: border-box;
  }

  #rk-frame-guide a {
    color: var(--rk-blue);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  #rk-frame-guide img,
  #rk-frame-guide svg {
    max-width: 100%;
  }

  #rk-frame-guide button,
  #rk-frame-guide input,
  #rk-frame-guide select {
    font: inherit;
  }

  #rk-frame-guide .rk-frame-shell {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 28px;
    background: var(--rk-white);
    box-shadow: 0 22px 64px rgba(16, 47, 66, 0.12);
  }

  #rk-frame-guide .rk-frame-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(38px, 7vw, 76px) clamp(25px, 6vw, 76px) 42px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 91% 5%, rgba(41, 196, 218, 0.32), transparent 29%),
      radial-gradient(circle at 5% 96%, rgba(255, 104, 70, 0.21), transparent 28%),
      linear-gradient(135deg, #0d2332 0%, #143e53 58%, #0b6680 100%);
  }

  #rk-frame-guide .rk-frame-hero::after {
    position: absolute;
    right: -74px;
    bottom: -120px;
    width: 350px;
    height: 350px;
    border: 44px solid rgba(255, 255, 255, 0.055);
    border-radius: 50%;
    content: "";
  }

  #rk-frame-guide .rk-frame-eyebrow {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    color: #78efff;
    font-size: 0.69rem;
    font-weight: 950;
    letter-spacing: 0.09em;
    line-height: 1.2;
    text-transform: uppercase;
  }

  #rk-frame-guide .rk-frame-eyebrow::before {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--rk-orange);
    box-shadow: 0 0 0 6px rgba(255, 104, 70, 0.14);
    content: "";
  }

  #rk-frame-guide .rk-frame-hero-title {
    position: relative;
    z-index: 1;
    max-width: 980px;
    margin: 0 0 19px;
    color: var(--rk-white);
    font-size: clamp(2.05rem, 5.4vw, 4.28rem);
    font-weight: 950;
    line-height: 1.01;
    letter-spacing: -0.055em;
  }

  #rk-frame-guide .rk-frame-hero-title span {
    color: #78efff;
  }

  #rk-frame-guide .rk-frame-hero-lead {
    position: relative;
    z-index: 1;
    max-width: 920px;
    margin: 0 0 24px;
    color: #d8e9ef;
    font-size: clamp(1.02rem, 2vw, 1.24rem);
    line-height: 1.67;
  }

  #rk-frame-guide .rk-frame-hero-tags {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 0 27px;
  }

  #rk-frame-guide .rk-frame-hero-tag {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: #eefcff;
    background: rgba(255, 255, 255, 0.075);
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1.3;
  }

  #rk-frame-guide .rk-frame-byline {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    color: #bad3dc;
    font-size: 0.72rem;
    font-weight: 720;
  }

  #rk-frame-guide .rk-frame-byline strong,
  #rk-frame-guide .rk-frame-byline a {
    color: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-byline a {
    text-decoration: none;
  }

  #rk-frame-guide .rk-frame-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    padding: 22px 28px;
    border-bottom: 1px solid var(--rk-line);
    background: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-nav-label {
    display: inline-flex;
    align-items: center;
    padding: 7px 2px;
    color: var(--rk-navy-900);
    font-size: 0.68rem;
    font-weight: 950;
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }

  #rk-frame-guide .rk-frame-nav a {
    display: inline-flex;
    min-height: 39px;
    align-items: center;
    padding: 8px 13px;
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--rk-ink);
    background: var(--rk-soft);
    font-size: 0.73rem;
    font-weight: 850;
    line-height: 1.25;
    text-decoration: none;
  }

  #rk-frame-guide .rk-frame-nav a:hover,
  #rk-frame-guide .rk-frame-nav a:focus-visible {
    border-color: var(--rk-cyan);
    color: var(--rk-navy-900);
    background: var(--rk-cyan-soft);
  }

  #rk-frame-guide .rk-frame-main {
    padding: 0 clamp(22px, 5vw, 66px);
  }

  #rk-frame-guide .rk-frame-section {
    scroll-margin-top: 24px;
    padding: clamp(44px, 6vw, 70px) 0;
    border-bottom: 1px solid var(--rk-line);
  }

  #rk-frame-guide .rk-frame-section:last-child {
    border-bottom: 0;
  }

  #rk-frame-guide h2,
  #rk-frame-guide h3,
  #rk-frame-guide h4 {
    color: var(--rk-ink);
    font-weight: 930;
    letter-spacing: -0.025em;
  }

  #rk-frame-guide h2 {
    max-width: 940px;
    margin: 0 0 21px;
    font-size: clamp(1.62rem, 3.3vw, 2.52rem);
    line-height: 1.12;
  }

  #rk-frame-guide h3 {
    margin: 0 0 10px;
    font-size: clamp(1.08rem, 2vw, 1.33rem);
    line-height: 1.3;
  }

  #rk-frame-guide h4 {
    margin: 0 0 7px;
    font-size: 0.98rem;
    line-height: 1.35;
  }

  #rk-frame-guide p {
    margin: 0 0 18px;
    color: var(--rk-text);
  }

  #rk-frame-guide p:last-child {
    margin-bottom: 0;
  }

  #rk-frame-guide .rk-frame-lead {
    max-width: 960px;
    color: #274356;
    font-size: 1.08rem;
    line-height: 1.78;
  }

  #rk-frame-guide ul,
  #rk-frame-guide ol {
    margin: 15px 0 0;
    padding-left: 1.25rem;
    color: var(--rk-text);
  }

  #rk-frame-guide li {
    margin: 8px 0;
  }

  #rk-frame-guide .rk-frame-answer,
  #rk-frame-guide .rk-frame-note,
  #rk-frame-guide .rk-frame-warning {
    margin: 24px 0;
    padding: 21px 23px;
    border-left: 5px solid var(--rk-cyan);
    border-radius: 0 16px 16px 0;
    background: var(--rk-cyan-soft);
  }

  #rk-frame-guide .rk-frame-note {
    border-left-color: var(--rk-yellow);
    background: var(--rk-yellow-soft);
  }

  #rk-frame-guide .rk-frame-warning {
    border-left-color: var(--rk-orange);
    background: var(--rk-orange-soft);
  }

  #rk-frame-guide .rk-frame-answer p,
  #rk-frame-guide .rk-frame-note p,
  #rk-frame-guide .rk-frame-warning p {
    color: var(--rk-ink);
  }

  #rk-frame-guide .rk-frame-grid-2,
  #rk-frame-guide .rk-frame-grid-3,
  #rk-frame-guide .rk-frame-grid-4 {
    display: grid;
    gap: 18px;
    margin: 24px 0;
  }

  #rk-frame-guide .rk-frame-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #rk-frame-guide .rk-frame-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #rk-frame-guide .rk-frame-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #rk-frame-guide .rk-frame-card {
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-white);
    box-shadow: 0 10px 25px rgba(16, 47, 66, 0.055);
  }

  #rk-frame-guide .rk-frame-card-accent {
    border-top: 5px solid var(--rk-cyan);
  }

  #rk-frame-guide .rk-frame-card-orange {
    border-top-color: var(--rk-orange);
  }

  #rk-frame-guide .rk-frame-card-green {
    border-top-color: var(--rk-green);
  }

  #rk-frame-guide .rk-frame-card-purple {
    border-top-color: var(--rk-purple);
  }

  #rk-frame-guide .rk-frame-tag {
    display: inline-flex;
    margin-bottom: 11px;
    padding: 5px 9px;
    border-radius: 999px;
    color: var(--rk-navy-900);
    background: var(--rk-cyan-soft);
    font-size: 0.67rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
  }

  #rk-frame-guide .rk-frame-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 24px 0;
  }

  #rk-frame-guide .rk-frame-step {
    position: relative;
    padding: 20px 17px;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    background: var(--rk-soft);
  }

  #rk-frame-guide .rk-frame-step-num {
    display: inline-flex;
    width: 31px;
    height: 31px;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    border-radius: 10px;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 0.74rem;
    font-weight: 950;
  }

  #rk-frame-guide .rk-frame-step p {
    font-size: 0.86rem;
    line-height: 1.58;
  }

  #rk-frame-guide .rk-frame-table-wrap {
    overflow: hidden;
    margin: 24px 0;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
  }

  #rk-frame-guide .rk-frame-table {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
  }

  #rk-frame-guide .rk-frame-table th,
  #rk-frame-guide .rk-frame-table td {
    padding: 15px 16px;
    border: 0;
    border-bottom: 1px solid var(--rk-line);
    vertical-align: top;
    text-align: left;
    overflow-wrap: anywhere;
  }

  #rk-frame-guide .rk-frame-table th {
    color: var(--rk-white);
    background: var(--rk-navy-900);
    font-size: 0.76rem;
    font-weight: 900;
    line-height: 1.35;
  }

  #rk-frame-guide .rk-frame-table td {
    color: var(--rk-text);
    background: var(--rk-white);
    font-size: 0.86rem;
    line-height: 1.58;
  }

  #rk-frame-guide .rk-frame-table tbody tr:nth-child(even) td {
    background: var(--rk-soft);
  }

  #rk-frame-guide .rk-frame-table tr:last-child td {
    border-bottom: 0;
  }

  #rk-frame-guide .rk-frame-code-line {
    display: block;
    margin: 22px 0;
    padding: 18px 20px;
    border: 1px dashed #90adba;
    border-radius: 14px;
    color: var(--rk-navy-900);
    background: #f8fbfc;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: clamp(0.76rem, 1.5vw, 0.92rem);
    line-height: 1.6;
    overflow-wrap: anywhere;
  }

  #rk-frame-guide .rk-frame-tool {
    overflow: hidden;
    margin: 28px 0 0;
    border: 1px solid #2d586d;
    border-radius: 24px;
    color: var(--rk-white);
    background: var(--rk-navy-950);
    box-shadow: 0 20px 42px rgba(11, 34, 50, 0.2);
  }

  #rk-frame-guide .rk-frame-tool-head {
    padding: 27px clamp(20px, 4vw, 38px);
    border-bottom: 1px solid #2d586d;
    background: linear-gradient(130deg, #11384c, #17657a);
  }

  #rk-frame-guide .rk-frame-tool-kicker {
    display: block;
    margin-bottom: 7px;
    color: #6feaff;
    font-size: 0.68rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-frame-guide .rk-frame-tool-head h3 {
    margin: 0 0 8px;
    color: var(--rk-white);
    font-size: clamp(1.4rem, 3vw, 2.1rem);
  }

  #rk-frame-guide .rk-frame-tool-head p {
    max-width: 930px;
    color: #c8e0e8;
  }

  #rk-frame-guide .rk-frame-tool-body {
    padding: clamp(22px, 4vw, 38px);
  }

  #rk-frame-guide .rk-frame-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  #rk-frame-guide .rk-frame-field {
    padding: 16px;
    border: 1px solid #315a6e;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.045);
  }

  #rk-frame-guide .rk-frame-field label {
    display: block;
    margin-bottom: 8px;
    color: #edfaff;
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1.4;
  }

  #rk-frame-guide .rk-frame-field small {
    display: block;
    margin-top: 7px;
    color: #8fb4c3;
    font-size: 0.66rem;
    line-height: 1.45;
  }

  #rk-frame-guide .rk-frame-field select {
    width: 100%;
    min-height: 47px;
    padding: 10px 36px 10px 12px;
    border: 1px solid #aac0ca;
    border-radius: 10px;
    color: var(--rk-ink);
    background: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-tool-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 20px 0 0;
  }

  #rk-frame-guide .rk-frame-reset {
    min-height: 44px;
    padding: 10px 17px;
    border: 1px solid #56798a;
    border-radius: 11px;
    color: var(--rk-white);
    background: transparent;
    font-weight: 850;
    cursor: pointer;
  }

  #rk-frame-guide .rk-frame-reset:hover,
  #rk-frame-guide .rk-frame-reset:focus-visible {
    border-color: var(--rk-cyan);
    background: rgba(41, 196, 218, 0.11);
  }

  #rk-frame-guide .rk-frame-result {
    margin-top: 24px;
    padding: 24px;
    border: 1px solid #426a7d;
    border-radius: 19px;
    background: #143447;
  }

  #rk-frame-guide .rk-frame-status {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 15px;
    align-items: center;
    padding: 18px;
    border-left: 5px solid var(--rk-yellow);
    border-radius: 13px;
    background: rgba(243, 181, 27, 0.11);
  }

  #rk-frame-guide .rk-frame-status[data-state="complete"] {
    border-left-color: var(--rk-green);
    background: rgba(21, 147, 111, 0.14);
  }

  #rk-frame-guide .rk-frame-status[data-state="missing"] {
    border-left-color: var(--rk-red);
    background: rgba(216, 75, 75, 0.14);
  }

  #rk-frame-guide .rk-frame-status-icon {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--rk-navy-950);
    background: var(--rk-yellow);
    font-size: 1.2rem;
    font-weight: 950;
  }

  #rk-frame-guide .rk-frame-status[data-state="complete"] .rk-frame-status-icon {
    color: var(--rk-white);
    background: var(--rk-green);
  }

  #rk-frame-guide .rk-frame-status[data-state="missing"] .rk-frame-status-icon {
    color: var(--rk-white);
    background: var(--rk-red);
  }

  #rk-frame-guide .rk-frame-status h4 {
    margin: 0 0 4px;
    color: var(--rk-white);
    font-size: 1.02rem;
  }

  #rk-frame-guide .rk-frame-status p {
    color: #c5dce5;
    font-size: 0.83rem;
    line-height: 1.55;
  }

  #rk-frame-guide .rk-frame-mark-preview {
    margin: 18px 0;
    padding: 15px 18px;
    border: 1px dashed #5d8293;
    border-radius: 12px;
    color: #dbf7fb;
    background: #0e2939;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.77rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
  }

  #rk-frame-guide .rk-frame-visual {
    margin: 18px 0;
    padding: 20px;
    border: 1px solid #315a6e;
    border-radius: 16px;
    background: #0f2b3b;
  }

  #rk-frame-guide .rk-frame-visual h4 {
    color: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-layer-set {
    display: none;
    gap: 7px;
    margin-top: 15px;
  }

  #rk-frame-guide .rk-frame-layers.is-three .rk-frame-layer-three,
  #rk-frame-guide .rk-frame-layers.is-five .rk-frame-layer-five,
  #rk-frame-guide .rk-frame-layers.is-unknown .rk-frame-layer-unknown {
    display: grid;
  }

  #rk-frame-guide .rk-frame-layer-three {
    grid-template-columns: 5fr 1fr 1.2fr;
  }

  #rk-frame-guide .rk-frame-layer-five {
    grid-template-columns: 4.2fr 0.8fr 1.1fr 0.8fr 2.1fr;
  }

  #rk-frame-guide .rk-frame-layer-unknown {
    grid-template-columns: 1fr;
  }

  #rk-frame-guide .rk-frame-layer {
    display: flex;
    min-height: 86px;
    align-items: center;
    justify-content: center;
    padding: 9px;
    border-radius: 10px;
    color: var(--rk-navy-950);
    font-size: 0.68rem;
    font-weight: 900;
    line-height: 1.25;
    text-align: center;
  }

  #rk-frame-guide .rk-frame-layer-base {
    background: #d9eef3;
  }

  #rk-frame-guide .rk-frame-layer-adhesive {
    background: #f3c860;
  }

  #rk-frame-guide .rk-frame-layer-barrier {
    color: var(--rk-white);
    background: var(--rk-orange);
  }

  #rk-frame-guide .rk-frame-layer-protect {
    color: var(--rk-white);
    background: var(--rk-blue);
  }

  #rk-frame-guide .rk-frame-layer-neutral {
    color: #cfe4ec;
    background: #24495c;
  }

  #rk-frame-guide .rk-frame-visual-note {
    margin-top: 12px;
    color: #9ebdca;
    font-size: 0.72rem;
    line-height: 1.55;
  }

  #rk-frame-guide .rk-frame-evidence-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  #rk-frame-guide .rk-frame-evidence {
    padding: 18px;
    border: 1px solid #315a6e;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.035);
  }

  #rk-frame-guide .rk-frame-evidence h4 {
    color: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-evidence ul {
    margin-top: 8px;
    color: #c5dce5;
    font-size: 0.78rem;
    line-height: 1.5;
  }

  #rk-frame-guide .rk-frame-tool-foot {
    margin: 18px 0 0;
    color: #8fb1bf;
    font-size: 0.72rem;
    line-height: 1.55;
  }

  #rk-frame-guide .rk-frame-button,
  #rk-frame-guide a.rk-frame-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border: 0;
    border-radius: 13px;
    color: var(--rk-white);
    background: var(--rk-orange);
    font-weight: 900;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(255, 104, 70, 0.22);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
  }

  #rk-frame-guide .rk-frame-button:hover,
  #rk-frame-guide .rk-frame-button:focus-visible {
    color: var(--rk-white);
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(255, 104, 70, 0.32);
  }

  #rk-frame-guide .rk-frame-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px;
    align-items: center;
    margin: 30px 0 0;
    padding: 25px;
    border-radius: 19px;
    color: var(--rk-white);
    background: linear-gradient(130deg, var(--rk-navy-900), #17556c);
  }

  #rk-frame-guide .rk-frame-cta h3 {
    margin: 0 0 7px;
    color: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-cta p {
    color: #d2e6ed;
    font-size: 0.88rem;
    line-height: 1.6;
  }

  #rk-frame-guide .rk-frame-checklist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin: 24px 0;
    counter-reset: rk-frame-check;
  }

  #rk-frame-guide .rk-frame-check {
    position: relative;
    min-height: 90px;
    padding: 18px 18px 18px 63px;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    background: var(--rk-soft);
    counter-increment: rk-frame-check;
  }

  #rk-frame-guide .rk-frame-check::before {
    position: absolute;
    top: 18px;
    left: 18px;
    display: inline-flex;
    width: 31px;
    height: 31px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 0.72rem;
    font-weight: 950;
    content: counter(rk-frame-check);
  }

  #rk-frame-guide .rk-frame-check p {
    font-size: 0.84rem;
    line-height: 1.55;
  }

  #rk-frame-guide .rk-frame-myth {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 0;
    overflow: hidden;
    margin: 13px 0;
    border: 1px solid var(--rk-line);
    border-radius: 15px;
  }

  #rk-frame-guide .rk-frame-myth > div {
    padding: 17px 19px;
  }

  #rk-frame-guide .rk-frame-myth > div:first-child {
    color: #882e2e;
    background: var(--rk-red-soft);
    font-weight: 900;
  }

  #rk-frame-guide .rk-frame-myth > div:last-child {
    color: var(--rk-text);
    background: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-faq {
    display: grid;
    gap: 11px;
    margin-top: 24px;
  }

  #rk-frame-guide .rk-frame-faq details {
    border: 1px solid var(--rk-line);
    border-radius: 15px;
    background: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-faq summary {
    position: relative;
    padding: 18px 52px 18px 20px;
    color: var(--rk-ink);
    font-weight: 900;
    line-height: 1.45;
    cursor: pointer;
    list-style: none;
  }

  #rk-frame-guide .rk-frame-faq summary::-webkit-details-marker {
    display: none;
  }

  #rk-frame-guide .rk-frame-faq summary::after {
    position: absolute;
    top: 50%;
    right: 20px;
    color: var(--rk-blue);
    font-size: 1.3rem;
    transform: translateY(-50%);
    content: "+";
  }

  #rk-frame-guide .rk-frame-faq details[open] summary::after {
    content: "−";
  }

  #rk-frame-guide .rk-frame-faq-answer {
    padding: 0 20px 20px;
  }

  #rk-frame-guide .rk-frame-faq-answer p {
    font-size: 0.9rem;
  }

  #rk-frame-guide .rk-frame-sources {
    margin-top: 20px;
    padding: 20px 22px 20px 43px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: var(--rk-soft);
  }

  #rk-frame-guide .rk-frame-sources li {
    margin: 10px 0;
    font-size: 0.82rem;
    line-height: 1.55;
  }

  #rk-frame-guide .rk-frame-author {
    position: relative;
    scroll-margin-top: 24px;
    border-top: 1px solid var(--rk-line);
    background: #f4f9fb;
  }

  #rk-frame-guide .rk-frame-author > input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
  }

  #rk-frame-guide .rk-frame-author-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    padding: 25px clamp(24px, 5vw, 54px);
    border-bottom: 1px solid var(--rk-line);
    background: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-author-head span:first-child {
    display: block;
    margin-bottom: 3px;
    color: var(--rk-blue);
    font-size: 0.67rem;
    font-weight: 950;
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }

  #rk-frame-guide .rk-frame-author-head h2 {
    margin: 0;
    font-size: clamp(1.4rem, 2.5vw, 2rem);
  }

  #rk-frame-guide .rk-frame-author-mark {
    padding: 8px 12px;
    border-radius: 999px;
    color: var(--rk-navy-900);
    background: var(--rk-cyan-soft);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.05em;
  }

  #rk-frame-guide .rk-frame-author-layout {
    display: grid;
    grid-template-columns: 310px minmax(0, 1fr);
  }

  #rk-frame-guide .rk-frame-author-side {
    padding: 34px 28px;
    color: var(--rk-white);
    background: var(--rk-navy-950);
    text-align: center;
  }

  #rk-frame-guide .rk-frame-author-photo {
    width: 162px;
    height: 162px;
    margin: 0 auto 19px;
    overflow: hidden;
    border: 6px solid rgba(255, 255, 255, 0.16);
    border-radius: 50%;
    background: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-author-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  #rk-frame-guide .rk-frame-author-name a {
    color: var(--rk-white);
    font-size: 1.18rem;
    font-weight: 950;
    text-decoration: none;
  }

  #rk-frame-guide .rk-frame-author-role {
    margin-top: 8px;
    color: #b9d2dc;
    font-size: 0.78rem;
    line-height: 1.55;
  }

  #rk-frame-guide .rk-frame-author-social-label {
    margin: 25px 0 10px;
    color: #819fac;
    font-size: 0.65rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }

  #rk-frame-guide .rk-frame-author-social {
    display: flex;
    justify-content: center;
    gap: 10px;
  }

  #rk-frame-guide .rk-frame-author-social a {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border: 1px solid #426375;
    border-radius: 50%;
    color: #d9edf4;
  }

  #rk-frame-guide .rk-frame-author-social a:hover,
  #rk-frame-guide .rk-frame-author-social a:focus-visible {
    border-color: var(--rk-cyan);
    color: var(--rk-white);
    background: rgba(41, 196, 218, 0.12);
  }

  #rk-frame-guide .rk-frame-author-social svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
  }

  #rk-frame-guide .rk-frame-author-main {
    padding: 34px clamp(28px, 5vw, 52px);
  }

  #rk-frame-guide .rk-frame-author-quote {
    position: relative;
    margin: 0 0 24px;
    padding: 21px 24px 21px 65px;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    background: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-author-quote::before {
    position: absolute;
    top: 8px;
    left: 23px;
    color: var(--rk-cyan);
    font-family: Georgia, serif;
    font-size: 3.1rem;
    line-height: 1;
    content: "“";
  }

  #rk-frame-guide .rk-frame-author-quote p {
    color: var(--rk-ink);
    font-weight: 800;
  }

  #rk-frame-guide .rk-frame-author-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 20px;
  }

  #rk-frame-guide .rk-frame-author-tab {
    padding: 9px 15px;
    border-radius: 999px;
    color: var(--rk-muted);
    background: #e5eef2;
    font-size: 0.72rem;
    font-weight: 900;
    cursor: pointer;
  }

  #rk-frame-guide .rk-frame-author-panel {
    display: none;
  }

  #rk-frame-guide .rk-frame-author-panel p {
    font-size: 0.9rem;
  }

  #rk-frame-author-about:checked ~ .rk-frame-author-layout .rk-frame-author-panel-about,
  #rk-frame-author-exp:checked ~ .rk-frame-author-layout .rk-frame-author-panel-exp,
  #rk-frame-author-sites:checked ~ .rk-frame-author-layout .rk-frame-author-panel-sites {
    display: block;
  }

  #rk-frame-author-about:checked ~ .rk-frame-author-layout label[for="rk-frame-author-about"],
  #rk-frame-author-exp:checked ~ .rk-frame-author-layout label[for="rk-frame-author-exp"],
  #rk-frame-author-sites:checked ~ .rk-frame-author-layout label[for="rk-frame-author-sites"] {
    color: var(--rk-white);
    background: var(--rk-blue);
  }

  #rk-frame-guide .rk-frame-final-wrap {
    padding: 32px clamp(22px, 5vw, 66px);
    border-top: 1px solid var(--rk-line);
    background: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-final-wrap .rk-frame-cta {
    margin: 0;
  }

  #rk-frame-guide .rk-frame-footnote {
    padding: 18px 24px;
    color: #718594;
    background: #eef5f7;
    font-size: 0.7rem;
    line-height: 1.55;
    text-align: center;
  }

  #rk-frame-guide .rk-frame-field input,
  #rk-frame-guide .rk-frame-field select {
    width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid #aac0ca;
    border-radius: 10px;
    color: var(--rk-ink);
    background: var(--rk-white);
    outline: none;
  }

  #rk-frame-guide .rk-frame-field input:focus,
  #rk-frame-guide .rk-frame-field select:focus {
    border-color: var(--rk-cyan);
    box-shadow: 0 0 0 3px rgba(41, 196, 218, 0.16);
  }

  #rk-frame-guide .rk-frame-tool-group {
    margin-bottom: 20px;
    padding: 22px;
    border: 1px solid #315a6e;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.035);
  }

  #rk-frame-guide .rk-frame-tool-group:last-child {
    margin-bottom: 0;
  }

  #rk-frame-guide .rk-frame-tool-group-head {
    display: flex;
    gap: 13px;
    align-items: flex-start;
    margin-bottom: 17px;
  }

  #rk-frame-guide .rk-frame-tool-group-num {
    display: inline-flex;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    color: var(--rk-navy-950);
    background: var(--rk-cyan);
    font-size: 0.76rem;
    font-weight: 950;
  }

  #rk-frame-guide .rk-frame-tool-group-head h4 {
    margin: 0 0 3px;
    color: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-tool-group-head p {
    color: #9fc2cf;
    font-size: 0.75rem;
    line-height: 1.48;
  }

  #rk-frame-guide .rk-frame-input-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
  }

  #rk-frame-guide .rk-frame-results {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
  }

  #rk-frame-guide .rk-frame-result-card {
    min-width: 0;
    padding: 17px;
    border: 1px solid #3b6679;
    border-radius: 14px;
    background: #0f2c3c;
  }

  #rk-frame-guide .rk-frame-result-card span,
  #rk-frame-guide .rk-frame-result-card small {
    display: block;
    color: #8eb2c1;
    font-size: 0.65rem;
    line-height: 1.42;
  }

  #rk-frame-guide .rk-frame-result-card span {
    margin-bottom: 5px;
    font-weight: 900;
    letter-spacing: 0.045em;
    text-transform: uppercase;
  }

  #rk-frame-guide .rk-frame-result-card strong {
    display: block;
    margin-bottom: 4px;
    color: var(--rk-white);
    font-size: clamp(1.12rem, 2.2vw, 1.5rem);
    line-height: 1.14;
    overflow-wrap: anywhere;
  }

  #rk-frame-guide .rk-frame-result-card.is-cyan strong {
    color: #6feaff;
  }

  #rk-frame-guide .rk-frame-result-card.is-orange strong {
    color: #ff9b7f;
  }

  #rk-frame-guide .rk-frame-result-card.is-green strong {
    color: #64d9b8;
  }

  #rk-frame-guide .rk-frame-result-card.is-danger strong {
    color: #ff9287;
  }

  #rk-frame-guide .rk-frame-section-visual {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid #315a6e;
    border-radius: 17px;
    background: #0d2939;
  }

  #rk-frame-guide .rk-frame-section-visual h4 {
    color: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-section-visual > p {
    color: #9fc0cd;
    font-size: 0.76rem;
  }

  #rk-frame-guide .rk-frame-cross-section {
    display: block;
    width: 100%;
    height: auto;
    margin-top: 13px;
    border: 1px solid #416c7e;
    border-radius: 14px;
    background: #f4fafc;
  }

  #rk-frame-guide .rk-frame-result-note {
    margin-top: 13px;
    padding: 14px 16px;
    border-left: 4px solid var(--rk-cyan);
    border-radius: 0 11px 11px 0;
    color: #d3e8ef;
    background: rgba(41, 196, 218, 0.08);
    font-size: 0.76rem;
    line-height: 1.55;
  }

  #rk-frame-guide .rk-frame-protocol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
  }

  #rk-frame-guide .rk-frame-protocol article {
    padding: 20px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: var(--rk-soft);
  }

  #rk-frame-guide .rk-frame-protocol span {
    display: inline-flex;
    margin-bottom: 10px;
    padding: 5px 9px;
    border-radius: 999px;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 0.65rem;
    font-weight: 900;
    text-transform: uppercase;
  }

  #rk-frame-guide .rk-frame-definition {
    display: grid;
    grid-template-columns: minmax(170px, 0.42fr) minmax(0, 1fr);
    overflow: hidden;
    margin: 13px 0;
    border: 1px solid var(--rk-line);
    border-radius: 15px;
  }

  #rk-frame-guide .rk-frame-definition strong,
  #rk-frame-guide .rk-frame-definition div {
    padding: 16px 18px;
  }

  #rk-frame-guide .rk-frame-definition strong {
    color: var(--rk-navy-900);
    background: var(--rk-cyan-soft);
  }

  #rk-frame-guide .rk-frame-definition div {
    color: var(--rk-text);
    background: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-mini-formula {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 22px 0;
  }

  #rk-frame-guide .rk-frame-mini-formula div {
    padding: 18px;
    border: 1px dashed #91acb9;
    border-radius: 14px;
    color: var(--rk-navy-900);
    background: #f8fbfc;
    text-align: center;
  }

  #rk-frame-guide .rk-frame-mini-formula strong {
    display: block;
    margin-bottom: 5px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 1.02rem;
  }

  #rk-frame-guide .rk-frame-hero-action {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin: 0 0 26px;
  }

  #rk-frame-guide .rk-frame-hero-action small {
    max-width: 520px;
    color: #bcd6df;
    font-size: 0.7rem;
    line-height: 1.5;
  }

  #rk-frame-guide .rk-frame-zone-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 18px 0;
  }

  #rk-frame-guide .rk-frame-zone-button {
    min-height: 40px;
    padding: 8px 13px;
    border: 1px solid #4c7486;
    border-radius: 999px;
    color: #e8f8fc;
    background: #173c4e;
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1.3;
    cursor: pointer;
  }

  #rk-frame-guide .rk-frame-zone-button:hover,
  #rk-frame-guide .rk-frame-zone-button:focus-visible,
  #rk-frame-guide .rk-frame-zone-button.is-active {
    border-color: var(--rk-cyan);
    color: var(--rk-navy-950);
    background: var(--rk-cyan);
  }

  #rk-frame-guide .rk-frame-decision {
    display: grid;
    grid-template-columns: minmax(170px, 0.34fr) minmax(0, 1fr);
    gap: 0;
    overflow: hidden;
    margin-top: 12px;
    border: 1px solid #416c7e;
    border-radius: 16px;
    background: #0e2b3b;
  }

  #rk-frame-guide .rk-frame-decision-state {
    display: flex;
    min-height: 150px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 22px;
    color: var(--rk-white);
    background: #17627a;
    text-align: center;
  }

  #rk-frame-guide .rk-frame-decision[data-state="exclude"] .rk-frame-decision-state {
    background: #a84736;
  }

  #rk-frame-guide .rk-frame-decision[data-state="check"] .rk-frame-decision-state {
    color: var(--rk-navy-950);
    background: var(--rk-yellow);
  }

  #rk-frame-guide .rk-frame-decision[data-state="keep"] .rk-frame-decision-state {
    background: var(--rk-green);
  }

  #rk-frame-guide .rk-frame-decision-state strong {
    display: block;
    margin-bottom: 5px;
    font-size: 1.05rem;
    line-height: 1.25;
  }

  #rk-frame-guide .rk-frame-decision-state span {
    font-size: 0.67rem;
    font-weight: 850;
    line-height: 1.4;
    opacity: 0.88;
    text-transform: uppercase;
  }

  #rk-frame-guide .rk-frame-decision-body {
    padding: 22px;
  }

  #rk-frame-guide .rk-frame-decision-body h4 {
    color: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-decision-body p {
    color: #bcd7e1;
    font-size: 0.81rem;
    line-height: 1.57;
  }

  #rk-frame-guide .rk-frame-decision-body ul {
    margin-top: 9px;
    color: #bcd7e1;
    font-size: 0.76rem;
    line-height: 1.5;
  }

  #rk-frame-guide .rk-frame-map-wrap {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid #315a6e;
    border-radius: 17px;
    background: #0d2939;
  }

  #rk-frame-guide .rk-frame-map-wrap h4 {
    color: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-map-wrap > p {
    color: #9fc0cd;
    font-size: 0.76rem;
  }

  #rk-frame-guide .rk-frame-room-map {
    display: block;
    width: 100%;
    height: auto;
    margin-top: 14px;
    border: 1px solid #416c7e;
    border-radius: 14px;
    background: #f4fafc;
  }

  #rk-frame-guide .rk-frame-map-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 13px;
    color: #b8d3dd;
    font-size: 0.69rem;
    line-height: 1.45;
  }

  #rk-frame-guide .rk-frame-map-legend span {
    display: inline-flex;
    gap: 7px;
    align-items: center;
  }

  #rk-frame-guide .rk-frame-map-legend i {
    display: inline-block;
    width: 13px;
    height: 13px;
    border-radius: 4px;
    background: var(--rk-cyan);
  }

  #rk-frame-guide .rk-frame-map-legend .is-excluded {
    background: var(--rk-orange);
  }

  #rk-frame-guide .rk-frame-map-legend .is-check {
    background: var(--rk-yellow);
  }

  #rk-frame-guide .rk-frame-capacity {
    margin-top: 16px;
    padding: 16px;
    border: 1px solid #315a6e;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.035);
  }

  #rk-frame-guide .rk-frame-capacity-head {
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 9px;
    color: #d9eef5;
    font-size: 0.72rem;
    font-weight: 850;
  }

  #rk-frame-guide .rk-frame-capacity-track {
    overflow: hidden;
    height: 12px;
    border-radius: 999px;
    background: #274e61;
  }

  #rk-frame-guide .rk-frame-capacity-fill {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: var(--rk-cyan);
    transition: width 0.2s ease;
  }

  #rk-frame-guide .rk-frame-capacity[data-state="low"] .rk-frame-capacity-fill {
    background: var(--rk-red);
  }

  #rk-frame-guide .rk-frame-capacity small {
    display: block;
    margin-top: 8px;
    color: #8eb0be;
    font-size: 0.67rem;
    line-height: 1.5;
  }

  #rk-frame-guide .rk-frame-category-table strong {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 0.67rem;
    line-height: 1.3;
  }

  #rk-frame-guide .rk-frame-category-table .is-exclude {
    color: #8e3127;
    background: var(--rk-red-soft);
  }

  #rk-frame-guide .rk-frame-category-table .is-check {
    color: #775500;
    background: var(--rk-yellow-soft);
  }

  #rk-frame-guide .rk-frame-category-table .is-keep {
    color: #126a51;
    background: var(--rk-green-soft);
  }

  #rk-frame-guide .rk-frame-steps-six {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #rk-frame-guide .rk-frame-audit-panels {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
  }

  #rk-frame-guide .rk-frame-audit-panel {
    min-width: 0;
    padding: 18px;
    border: 1px solid #3d687b;
    border-top: 5px solid var(--rk-yellow);
    border-radius: 15px;
    background: #102e3e;
  }

  #rk-frame-guide .rk-frame-audit-panel[data-state="complete"] {
    border-top-color: var(--rk-green);
  }

  #rk-frame-guide .rk-frame-audit-panel[data-state="missing"] {
    border-top-color: var(--rk-red);
  }

  #rk-frame-guide .rk-frame-audit-panel span {
    display: block;
    margin-bottom: 7px;
    color: #82a9b9;
    font-size: 0.65rem;
    font-weight: 900;
    letter-spacing: 0.055em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  #rk-frame-guide .rk-frame-audit-panel strong {
    display: block;
    margin-bottom: 7px;
    color: var(--rk-white);
    font-size: 1rem;
    line-height: 1.3;
  }

  #rk-frame-guide .rk-frame-audit-panel p {
    color: #b8d1dc;
    font-size: 0.73rem;
    line-height: 1.5;
  }

  #rk-frame-guide .rk-frame-score {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    margin-top: 18px;
    padding: 16px;
    border: 1px solid #315a6e;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.035);
  }

  #rk-frame-guide .rk-frame-score strong {
    color: var(--rk-white);
    font-size: 0.9rem;
  }

  #rk-frame-guide .rk-frame-score-track {
    overflow: hidden;
    height: 12px;
    border-radius: 999px;
    background: #274e61;
  }

  #rk-frame-guide .rk-frame-score-fill {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--rk-orange), var(--rk-yellow), var(--rk-green));
    transition: width 0.22s ease;
  }

  #rk-frame-guide .rk-frame-house-wrap {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid #315a6e;
    border-radius: 17px;
    background: #0d2939;
  }

  #rk-frame-guide .rk-frame-house-wrap h4 {
    color: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-house-wrap > p {
    color: #9fc0cd;
    font-size: 0.76rem;
  }

  #rk-frame-guide .rk-frame-house-svg {
    display: block;
    width: 100%;
    height: auto;
    margin-top: 14px;
    border: 1px solid #416c7e;
    border-radius: 14px;
    background: #f4fafc;
  }

  #rk-frame-guide .rk-frame-level-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-top: 15px;
  }

  #rk-frame-guide .rk-frame-level-card {
    padding: 17px;
    border: 1px solid #3b6679;
    border-radius: 14px;
    background: #102f41;
  }

  #rk-frame-guide .rk-frame-level-card span {
    display: block;
    margin-bottom: 6px;
    color: #78dff0;
    font-size: 0.65rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  #rk-frame-guide .rk-frame-level-card strong {
    display: block;
    margin-bottom: 6px;
    color: var(--rk-white);
    line-height: 1.35;
  }

  #rk-frame-guide .rk-frame-level-card p {
    color: #b9d2dc;
    font-size: 0.75rem;
    line-height: 1.55;
  }

  #rk-frame-guide .rk-frame-audit-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-top: 18px;
  }

  #rk-frame-guide .rk-frame-audit-action {
    padding: 16px 18px;
    border-left: 4px solid var(--rk-yellow);
    border-radius: 0 12px 12px 0;
    color: #d4e8ef;
    background: rgba(243, 181, 27, 0.08);
    font-size: 0.76rem;
    line-height: 1.55;
  }

  #rk-frame-guide .rk-frame-audit-action.is-critical {
    border-left-color: var(--rk-red);
    background: rgba(216, 75, 75, 0.1);
  }

  #rk-frame-guide .rk-frame-audit-action.is-complete {
    border-left-color: var(--rk-green);
    background: rgba(21, 147, 111, 0.1);
  }

  #rk-frame-guide .rk-frame-audit-action strong {
    color: var(--rk-white);
  }

  #rk-frame-guide .rk-frame-floor-chip {
    display: inline-flex;
    margin: 4px 5px 4px 0;
    padding: 5px 9px;
    border-radius: 999px;
    color: #0b2a39;
    background: #7deaf8;
    font-size: 0.66rem;
    font-weight: 900;
    line-height: 1.3;
  }

  #rk-frame-guide .rk-frame-floor-chip.is-orange {
    color: #6d2a1c;
    background: #ffc2b2;
  }

  #rk-frame-guide .rk-frame-floor-chip.is-yellow {
    color: #624700;
    background: #ffe290;
  }

  @media (max-width: 960px) {
    #rk-frame-guide .rk-frame-grid-4,
    #rk-frame-guide .rk-frame-grid-3,
    #rk-frame-guide .rk-frame-steps {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-frame-guide .rk-frame-form-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-frame-guide .rk-frame-input-grid,
    #rk-frame-guide .rk-frame-results {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-frame-guide .rk-frame-audit-panels {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-frame-guide .rk-frame-author-layout {
      grid-template-columns: 270px minmax(0, 1fr);
    }

    #rk-frame-guide .rk-frame-cta {
      grid-template-columns: 1fr;
    }

    #rk-frame-guide .rk-frame-cta .rk-frame-button {
      justify-self: start;
    }
  }

  @media (max-width: 720px) {
    #rk-frame-guide {
      margin: 16px auto 42px;
      font-size: 16px;
    }

    #rk-frame-guide .rk-frame-shell {
      border-radius: 20px;
    }

    #rk-frame-guide .rk-frame-nav {
      gap: 7px;
      padding: 17px 16px;
    }

    #rk-frame-guide .rk-frame-nav-label {
      width: 100%;
    }

    #rk-frame-guide .rk-frame-nav a {
      min-height: 36px;
      padding: 7px 10px;
      font-size: 0.68rem;
    }

    #rk-frame-guide .rk-frame-grid-2,
    #rk-frame-guide .rk-frame-grid-3,
    #rk-frame-guide .rk-frame-grid-4,
    #rk-frame-guide .rk-frame-steps,
    #rk-frame-guide .rk-frame-form-grid,
    #rk-frame-guide .rk-frame-evidence-grid,
    #rk-frame-guide .rk-frame-checklist,
    #rk-frame-guide .rk-frame-author-layout {
      grid-template-columns: 1fr;
    }

    #rk-frame-guide .rk-frame-protocol,
    #rk-frame-guide .rk-frame-mini-formula {
      grid-template-columns: 1fr;
    }

    #rk-frame-guide .rk-frame-audit-actions,
    #rk-frame-guide .rk-frame-level-grid {
      grid-template-columns: 1fr;
    }

    #rk-frame-guide .rk-frame-definition {
      grid-template-columns: 1fr;
    }

    #rk-frame-guide .rk-frame-decision {
      grid-template-columns: 1fr;
    }

    #rk-frame-guide .rk-frame-decision-state {
      min-height: 105px;
    }

    #rk-frame-guide .rk-frame-layer-three,
    #rk-frame-guide .rk-frame-layer-five {
      grid-template-columns: 1fr;
    }

    #rk-frame-guide .rk-frame-layer {
      min-height: 54px;
    }

    #rk-frame-guide .rk-frame-myth {
      grid-template-columns: 1fr;
    }

    #rk-frame-guide .rk-frame-table-wrap {
      overflow: visible;
      border: 0;
      border-radius: 0;
    }

    #rk-frame-guide .rk-frame-table,
    #rk-frame-guide .rk-frame-table tbody,
    #rk-frame-guide .rk-frame-table tr,
    #rk-frame-guide .rk-frame-table td {
      display: block;
      width: 100%;
    }

    #rk-frame-guide .rk-frame-table thead {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
    }

    #rk-frame-guide .rk-frame-table tr {
      overflow: hidden;
      margin: 0 0 14px;
      border: 1px solid var(--rk-line);
      border-radius: 15px;
      background: var(--rk-white);
      box-shadow: 0 8px 18px rgba(16, 47, 66, 0.05);
    }

    #rk-frame-guide .rk-frame-table td,
    #rk-frame-guide .rk-frame-table tbody tr:nth-child(even) td {
      display: grid;
      grid-template-columns: minmax(110px, 0.75fr) minmax(0, 1.25fr);
      gap: 12px;
      padding: 13px 14px;
      border-bottom: 1px solid var(--rk-line);
      background: var(--rk-white);
    }

    #rk-frame-guide .rk-frame-table td::before {
      color: var(--rk-navy-900);
      font-size: 0.69rem;
      font-weight: 900;
      line-height: 1.4;
      content: attr(data-label);
    }

    #rk-frame-guide .rk-frame-table tr td:last-child {
      border-bottom: 0;
    }

    #rk-frame-guide .rk-frame-author-head {
      align-items: flex-start;
    }

    #rk-frame-guide .rk-frame-author-mark {
      display: none;
    }

    #rk-frame-guide .rk-frame-author-side {
      padding: 30px 22px;
    }

    #rk-frame-guide .rk-frame-author-main {
      padding: 28px 22px;
    }

    #rk-frame-guide .rk-frame-author-quote {
      padding: 50px 20px 20px;
    }

    #rk-frame-guide .rk-frame-author-quote::before {
      top: 8px;
      left: 20px;
    }
  }

  @media (max-width: 460px) {
    #rk-frame-guide .rk-frame-hero {
      padding: 34px 20px 31px;
    }

    #rk-frame-guide .rk-frame-main {
      padding: 0 18px;
    }

    #rk-frame-guide .rk-frame-status {
      grid-template-columns: 1fr;
    }

    #rk-frame-guide .rk-frame-result,
    #rk-frame-guide .rk-frame-tool-body,
    #rk-frame-guide .rk-frame-cta {
      padding: 18px;
    }

    #rk-frame-guide .rk-frame-input-grid,
    #rk-frame-guide .rk-frame-results,
    #rk-frame-guide .rk-frame-audit-panels {
      grid-template-columns: 1fr;
    }

    #rk-frame-guide .rk-frame-score {
      grid-template-columns: 1fr;
    }

    #rk-frame-guide .rk-frame-tool-group,
    #rk-frame-guide .rk-frame-section-visual,
    #rk-frame-guide .rk-frame-map-wrap {
      padding: 16px;
    }

    #rk-frame-guide .rk-frame-table td,
    #rk-frame-guide .rk-frame-table tbody tr:nth-child(even) td {
      grid-template-columns: 1fr;
      gap: 4px;
    }

    #rk-frame-guide .rk-frame-final-wrap {
      padding: 24px 18px;
    }
  }

  @media print {
    #rk-frame-guide .rk-frame-nav,
    #rk-frame-guide .rk-frame-tool-actions,
    #rk-frame-guide .rk-frame-cta,
    #rk-frame-guide .rk-frame-final-wrap {
      display: none !important;
    }

    #rk-frame-guide .rk-frame-shell {
      border: 0;
      box-shadow: none;
    }
  }
</style>

<article id="rk-frame-guide" itemscope itemtype="https://schema.org/TechArticle">
  <div class="rk-frame-shell">
    <header class="rk-frame-hero">
      <span class="rk-frame-eyebrow">Dom szkieletowy • aktualizacja 2026</span>
      <div class="rk-frame-hero-title">Podłogówka w domu szkieletowym — <span>dobór od konstrukcji, nie od etykiety</span></div>
      <p class="rk-frame-hero-lead">Parter na gruncie, drewniany strop i płyta CLT nie wymagają tego samego rozwiązania. Zobacz, kiedy sens ma system suchy, kiedy można zaprojektować podłogę z jastrychem oraz jakie dane trzeba sprawdzić, zanim wybierzesz rozstaw rur i temperaturę wody.</p>

      <div class="rk-frame-hero-tags" aria-label="Najważniejsze zagadnienia artykułu">
        <span class="rk-frame-hero-tag">parter na gruncie</span>
        <span class="rk-frame-hero-tag">strop drewniany</span>
        <span class="rk-frame-hero-tag">system suchy</span>
        <span class="rk-frame-hero-tag">system z jastrychem</span>
        <span class="rk-frame-hero-tag">audyt projektu</span>
      </div>

      <div class="rk-frame-byline">
        <span>Autor: <a href="https://projekt-ogrzewania.pl/author/admin3399/"><strong>Robert Kucharski</strong></a></span>
        <span>Czas czytania: około 25 minut</span>
        <span>Aktualizacja techniczna: 1 września 2026 r.</span>
      </div>
    </header>

    <nav class="rk-frame-nav" aria-label="Nawigacja po wszystkich nagłówkach H2">
      <span class="rk-frame-nav-label">Na skróty — wszystkie H2</span>
      <a href="#rk-frame-szybka-odpowiedz">Szybka odpowiedź</a>
      <a href="#rk-frame-kondygnacje">Dwie różne kondygnacje</a>
      <a href="#rk-frame-roznice">Co zmienia szkielet</a>
      <a href="#rk-frame-suchy-mokry">Suchy czy mokry</a>
      <a href="#rk-frame-parter">Parter na gruncie</a>
      <a href="#rk-frame-strop">Strop drewniany</a>
      <a href="#rk-frame-konstrukcja">Nośność i ugięcia</a>
      <a href="#rk-frame-wilgoc">Wilgoć i szczelność</a>
      <a href="#rk-frame-akustyka">Akustyka i pożar</a>
      <a href="#rk-frame-termika">Strata ciepła</a>
      <a href="#rk-frame-audyt">Audyt projektu</a>
      <a href="#rk-frame-parametry">Rozstaw i temperatura</a>
      <a href="#rk-frame-okladziny">Okładziny</a>
      <a href="#rk-frame-zrodlo">Źródło ciepła</a>
      <a href="#rk-frame-sterowanie">Sterowanie</a>
      <a href="#rk-frame-kolejnosc">Kolejność prac</a>
      <a href="#rk-frame-bledy">Błędy i mity</a>
      <a href="#rk-frame-checklista">Checklista</a>
      <a href="#rk-frame-faq">FAQ</a>
      <a href="#rk-frame-zrodla">Źródła</a>
      <a href="#rk-frame-author">Autor</a>
    </nav>

    <main class="rk-frame-main">
      <section class="rk-frame-section" id="rk-frame-szybka-odpowiedz">
        <h2>Czy ogrzewanie podłogowe sprawdzi się w domu szkieletowym?</h2>
        <p class="rk-frame-lead">Tak. Ogrzewanie podłogowe może pracować bardzo dobrze w domu szkieletowym, ale nie dobiera się go z samej nazwy technologii budynku. Osobno analizuje się podłogę parteru, strop międzykondygnacyjny, straty ciepła pomieszczeń, okładziny oraz hydraulikę źródła.</p>

        <div class="rk-frame-answer">
          <p><strong>Dom szkieletowy nie oznacza automatycznie systemu suchego.</strong> Na parterze wykonanym jako podłoga na gruncie albo płyta fundamentowa może być uzasadniony system z jastrychem. Na lekkim stropie belkowym często wybiera się system suchy, lecz ostateczną decyzję wyznaczają nośność, ugięcie, drgania, akustyka, wysokość warstw i potwierdzona wydajność cieplna.</p>
        </div>

        <div class="rk-frame-grid-4">
          <article class="rk-frame-card rk-frame-card-accent">
            <span class="rk-frame-tag">Krok 1</span>
            <h3>Rozdziel kondygnacje</h3>
            <p>Parter na gruncie i strop drewniany mogą mieć zupełnie inne przekroje, masę oraz sposób przekazywania obciążeń.</p>
          </article>
          <article class="rk-frame-card rk-frame-card-accent rk-frame-card-orange">
            <span class="rk-frame-tag">Krok 2</span>
            <h3>Sprawdź konstrukcję</h3>
            <p>Ciężaru warstw, ugięcia i drgań nie ocenia się na podstawie samej powierzchni domu ani katalogowej nazwy systemu.</p>
          </article>
          <article class="rk-frame-card rk-frame-card-accent rk-frame-card-green">
            <span class="rk-frame-tag">Krok 3</span>
            <h3>Policz wymaganą moc</h3>
            <p>Strata ciepła każdego pomieszczenia musi zostać odniesiona do rzeczywiście ogrzewanej powierzchni podłogi.</p>
          </article>
          <article class="rk-frame-card rk-frame-card-accent rk-frame-card-purple">
            <span class="rk-frame-tag">Krok 4</span>
            <h3>Skoordynuj źródło</h3>
            <p>Temperatura zasilania, minimalny przepływ, moc minimalna i sterowanie muszą tworzyć jeden układ.</p>
          </article>
        </div>

        <p>Najważniejsza zasada brzmi: <strong>najpierw przekrój budowlany i obliczenia, później nazwa systemu</strong>. Szczegółowe omówienie samego stropu znajdziesz w artykule <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-nadaje-sie-do-drewnianego-stropu/">ogrzewanie podłogowe na stropie drewnianym</a>.</p>
      </section>
 
      <section class="rk-frame-section" id="rk-frame-kondygnacje">
        <h2>Parter i piętro domu szkieletowego to często dwa różne projekty podłogi</h2>
        <p>Ściany w technologii szkieletowej nie przesądzają o konstrukcji każdej podłogi. W tym samym budynku parter może opierać się na gruncie albo płycie fundamentowej, a piętro na belkach drewnianych. Próba zastosowania jednego przekroju „dla całego domu” pomija zasadnicze różnice.</p>

        <div class="rk-frame-table-wrap">
          <table class="rk-frame-table">
            <thead>
              <tr>
                <th>Przegroda</th>
                <th>Najważniejsze pytanie</th>
                <th>Co może być odpowiednie?</th>
                <th>Co trzeba potwierdzić?</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td data-label="Przegroda"><strong>Podłoga na gruncie</strong></td>
                <td data-label="Pytanie">Czy cały przekrój spełnia wymagania cieplne i wysokościowe?</td>
                <td data-label="Rozwiązanie">System z jastrychem albo rozwiązanie suche — zależnie od projektu warstw.</td>
                <td data-label="Potwierdź">Izolację, hydroizolację, dylatacje, obciążenia i poziomy posadzki.</td>
              </tr>
              <tr>
                <td data-label="Przegroda"><strong>Płyta fundamentowa</strong></td>
                <td data-label="Pytanie">W której warstwie ma pracować ogrzewanie i jaka będzie jego bezwładność?</td>
                <td data-label="Rozwiązanie">Rury w rozwiązaniu przewidzianym projektem płyty albo osobna warstwa grzewcza nad nią.</td>
                <td data-label="Potwierdź">Projekt konstrukcyjny, strefy bez rur, przebicia, izolację i logikę regulacji.</td>
              </tr>
              <tr>
                <td data-label="Przegroda"><strong>Strop belkowy</strong></td>
                <td data-label="Pytanie">Czy strop przeniesie stałe obciążenie i zachowa wymaganą sztywność?</td>
                <td data-label="Rozwiązanie">Najczęściej lekki system suchy; wariant z wylewką tylko po pełnej weryfikacji.</td>
                <td data-label="Potwierdź">Nośność, ugięcie, drgania, akustykę, ogień i wilgoć technologiczną.</td>
              </tr>
              <tr>
                <td data-label="Przegroda"><strong>CLT lub strop masywny</strong></td>
                <td data-label="Pytanie">Jak warstwy ogrzewania współpracują z płytą i połączeniami?</td>
                <td data-label="Rozwiązanie">System suchy albo mokry zaprojektowany jako kompletna nadbudowa.</td>
                <td data-label="Potwierdź">Obciążenie, akustykę, wilgoć, mocowania i dokumentację systemową.</td>
              </tr>
            </tbody>
          </table>
        </div>

        <div class="rk-frame-note">
          <p><strong>Nie przenoś automatycznie rozwiązania z parteru na piętro.</strong> Jastrych, który jest racjonalny na podłodze na gruncie, może być niepotrzebnym lub niedopuszczalnym obciążeniem na stropie belkowym. Z kolei lekki system suchy nie musi być najlepszym wyborem wszędzie tylko dlatego, że budynek ma ściany szkieletowe.</p>
        </div>
      </section>

      <section class="rk-frame-section" id="rk-frame-roznice">
        <h2>Co naprawdę zmienia technologia szkieletowa?</h2>
        <p>Domy szkieletowe zwykle mają mniejszą masę akumulacyjną przegród niż budynki ciężkie, lecz nie pozwala to przypisać im jednej reakcji czasowej ani jednego sposobu sterowania. Na zachowanie cieplne wpływa komplet warstw: konstrukcja, poszycia, izolacja, jastrych lub płyty suche, okładzina i wyposażenie.</p>

        <div class="rk-frame-grid-3">
          <article class="rk-frame-card">
            <span class="rk-frame-tag">Konstrukcja</span>
            <h3>Masa i sztywność</h3>
            <p>Lekki strop jest bardziej wrażliwy na dodatkowe obciążenia, ugięcie i drgania. Nie oznacza to jednak, że każda mokra warstwa jest zakazana.</p>
          </article>
          <article class="rk-frame-card">
            <span class="rk-frame-tag">Fizyka budowli</span>
            <h3>Wilgoć i szczelność</h3>
            <p>Przebieg warstw kontrolujących przepływ powietrza i pary wodnej musi być ciągły, a przejścia instalacyjne — zaprojektowane.</p>
          </article>
          <article class="rk-frame-card">
            <span class="rk-frame-tag">Eksploatacja</span>
            <h3>Szybkie zyski ciepła</h3>
            <p>Nasłonecznienie i mała akumulacja mogą szybciej podnosić temperaturę wnętrza, dlatego ważne są przepływy i logika regulacji.</p>
          </article>
        </div>

        <h3>Współczynnik U nie jest oporem cieplnym</h3>
        <p>Współczynnik przenikania ciepła <strong>U</strong> opisuje przepływ ciepła przez przegrodę przy różnicy temperatur. Im mniejsza wartość U, tym mniejsze przenikanie ciepła i — w uproszczeniu — większy opór cieplny całej przegrody. Nie należy pisać, że niski współczynnik U oznacza niski opór. Obliczenia przegród można wstępnie sprawdzić w <a href="https://budowlaneabc.gov.pl/charakterystyka-energetyczna-budynkow/kalkulatory/calc-wpc/" target="_blank" rel="nofollow noopener noreferrer">rządowym kalkulatorze współczynnika przenikania ciepła</a>.</p>

        <p>Wymagania izolacyjności cieplnej wynikają z całego układu przegrody i aktualnych warunków technicznych, a nie z popularnej reguły „dom szkieletowy potrzebuje określonej liczby centymetrów izolacji”. Tekst jednolity przepisów udostępnia <a href="https://eli.gov.pl/eli/DU/2022/1225/ogl" target="_blank" rel="nofollow noopener noreferrer">Elektroniczny Dziennik Ustaw</a>.</p>
      </section>

      <section class="rk-frame-section" id="rk-frame-suchy-mokry">
        <h2>System suchy czy mokry w domu szkieletowym?</h2>
        <p class="rk-frame-lead">Oba rozwiązania mogą być technicznie poprawne. Różnią się masą, sposobem rozprowadzania ciepła, kolejnością prac, wymaganiami podłoża i czasem potrzebnym przed ułożeniem okładziny. Nie można wybrać systemu wyłącznie z tabeli „typ budynku → gotowa odpowiedź”.</p>

        <div class="rk-frame-table-wrap">
          <table class="rk-frame-table">
            <thead>
              <tr>
                <th>Cecha</th>
                <th>System suchy</th>
                <th>System z jastrychem</th>
                <th>Wniosek projektowy</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td data-label="Cecha">Obciążenie stałe</td>
                <td data-label="System suchy">Zwykle mniejsze, ale zależne od wszystkich płyt i okładziny.</td>
                <td data-label="System mokry">Zwykle większe; oblicza się je z grubości i gęstości warstw.</td>
                <td data-label="Wniosek">Porównuj kompletne przekroje, a nie tylko warstwę z rurą.</td>
              </tr>
              <tr>
                <td data-label="Cecha">Akumulacja i reakcja</td>
                <td data-label="System suchy">Zwykle mniejsza masa nad rurą i szybsza odpowiedź.</td>
                <td data-label="System mokry">Zwykle większa akumulacja i wolniejsza odpowiedź.</td>
                <td data-label="Wniosek">Czas reakcji zależy również od mocy, przepływu, okładziny i budynku.</td>
              </tr>
              <tr>
                <td data-label="Cecha">Rozprowadzenie ciepła</td>
                <td data-label="System suchy">Wymaga dobrze zaprojektowanych płyt przewodzących i kontaktu warstw.</td>
                <td data-label="System mokry">Jastrych otacza rurę i rozprowadza ciepło w swojej objętości.</td>
                <td data-label="Wniosek">Korzystaj z charakterystyki całego systemu dla konkretnego rozstawu i okładziny.</td>
              </tr>
              <tr>
                <td data-label="Cecha">Wilgoć technologiczna</td>
                <td data-label="System suchy">Brak jastrychu nie oznacza braku wszystkich procesów mokrych w budynku.</td>
                <td data-label="System mokry">Wymaga kontroli wilgotności i warunków przed zamknięciem wrażliwych warstw.</td>
                <td data-label="Wniosek">Procedurę wykonania uzgadnia się z projektem budowlanym i okładziną.</td>
              </tr>
              <tr>
                <td data-label="Cecha">Wysokość zabudowy</td>
                <td data-label="System suchy">Może być niski, lecz nie ma jednej uniwersalnej grubości.</td>
                <td data-label="System mokry">Zależy od średnicy rury, przykrycia, jastrychu i wymagań konstrukcyjnych.</td>
                <td data-label="Wniosek">Sprawdź drzwi, schody, progi i poziomy wszystkich pomieszczeń.</td>
              </tr>
            </tbody>
          </table>
        </div>

        <p>Więcej różnic opisujemy w poradniku <a href="https://projekt-ogrzewania.pl/system-mokry-czy-suchy-w-wodnym-ogrzewaniu-podlogowym-ktory-wybrac/">system mokry czy suchy</a> oraz w osobnym omówieniu <a href="https://projekt-ogrzewania.pl/czym-jest-system-suchy-w-wodnym-ogrzewaniu-podlogowym/">suchego ogrzewania podłogowego</a>.</p>
      </section>

      <section class="rk-frame-section" id="rk-frame-parter">
        <h2>Ogrzewanie podłogowe na parterze domu szkieletowego</h2>
        <p>Na parterze najpierw ustala się, czy mamy podłogę na gruncie, płytę fundamentową, czy strop nad przestrzenią nieogrzewaną. Każdy wariant ma inną drogę przepływu ciepła, mostki, warunki wilgotnościowe i wymagania konstrukcyjne.</p>

        <h3>Podłoga na gruncie</h3>
        <p>System z rurami w jastrychu może być racjonalny, jeżeli został przewidziany w przekroju. Grubość izolacji nie wynika z technologii ścian, lecz z obliczeń całej podłogi, jej obwodu, geometrii, połączeń z fundamentem i wymagań cieplnych. Ważne są też hydroizolacja, dylatacje, warstwa brzegowa i stabilność podłoża.</p>

        <h3>Płyta fundamentowa</h3>
        <p>Rury mogą znaleźć się w rozwiązaniu zintegrowanym z płytą albo w osobnej warstwie nad nią. To dwie różne instalacje pod względem akumulacji, dostępności, kolejności prac i sterowania. Każde przejście, strefa konstrukcyjna oraz miejsce planowanego kotwienia musi zostać skoordynowane przed betonowaniem.</p>

        <h3>Strop nad przestrzenią nieogrzewaną</h3>
        <p>Trzeba sprawdzić nie tylko moc oddawaną do pomieszczenia, ale też izolacyjność w dół i ryzyko lokalnych mostków. Sama obecność ogrzewania nie zastępuje projektu cieplnego przegrody.</p>

        <div class="rk-frame-warning">
          <p><strong>Nie dobieraj izolacji z tabeli „10, 15 czy 20 cm”.</strong> Materiały o tej samej grubości mogą mieć różne właściwości, a wynik zależy od kompletnego układu. Ostateczną grubość wyznacza projekt przegrody, dostępna wysokość i wymagania budynku.</p>
        </div>
      </section>

      <section class="rk-frame-section" id="rk-frame-strop">
        <h2>Podłogówka na drewnianym stropie</h2>
        <p class="rk-frame-lead">Na stropie belkowym system suchy jest częstym wyborem, ponieważ może ograniczyć dodatkową masę i wilgoć technologiczną. Nie jest jednak automatycznie poprawny: nadal wymaga oceny nośności, ugięcia, drgań, akustyki oraz sztywności podłoża pod okładzinę.</p>

        <div class="rk-frame-grid-3">
          <article class="rk-frame-card">
            <span class="rk-frame-tag">Warstwa grzewcza</span>
            <h3>Rura i rozdzielanie ciepła</h3>
            <p>Płyty przewodzące muszą współpracować ze średnicą rury, rozstawem i płytą rozkładającą obciążenie. Luźny kontakt pogarsza przewodzenie i może powodować odgłosy.</p>
          </article>
          <article class="rk-frame-card">
            <span class="rk-frame-tag">Podłoże</span>
            <h3>Sztywność i płaskość</h3>
            <p>Okładzina potrzebuje podłoża o wymaganej sztywności. Szczególnie płytki wymagają kontroli ugięcia całego układu, nie tylko nośności belek.</p>
          </article>
          <article class="rk-frame-card">
            <span class="rk-frame-tag">Przegroda</span>
            <h3>Akustyka i ogień</h3>
            <p>Warstwy podłogi uczestniczą w ochronie akustycznej i odporności ogniowej. Nie wolno usuwać ich wyłącznie po to, by zmieścić ogrzewanie.</p>
          </article>
        </div>

        <h3>Czy system suchy ma zawsze małą pojemność wodną?</h3>
        <p>Nie. Pojemność wodna wynika przede wszystkim ze średnicy wewnętrznej i całkowitej długości rur, a nie z tego, czy nad rurą znajduje się jastrych. System suchy ma zwykle mniejszą masę warstw przewodzących, lecz liczba pętli i objętość wody wymagają osobnych obliczeń.</p>

        <h3>Czy system suchy zawsze pracuje na niższej temperaturze?</h3>
        <p>Nie. Potrzebna temperatura zależy od wymaganej mocy, rozstawu, konstrukcji, płyt przewodzących, kontaktu warstw, okładziny i temperatury pomieszczenia. Typ systemu sam nie wyznacza temperatury zasilania.</p>
      </section>

      <section class="rk-frame-section" id="rk-frame-konstrukcja">
        <h2>Nośność, obciążenie, ugięcie i drgania stropu</h2>
        <p>Ocena stropu nie kończy się na stwierdzeniu, że „wytrzyma określoną liczbę kilogramów”. Konstruktor rozdziela obciążenia stałe od użytkowych, analizuje rozpiętość i przekrój belek, podparcie, połączenia, otwory oraz kryteria użytkowalności: ugięcie i drgania.</p>

        <span class="rk-frame-code-line">m<sub>A</sub> = d · ρ</span>
        <p>Orientacyjną masę powierzchniową jednorodnej warstwy można policzyć z grubości <strong>d</strong> i gęstości <strong>ρ</strong>, zachowując spójne jednostki. To tylko masa jednej warstwy — do stropu dochodzą płyty, podsypki, izolacja akustyczna, okładzina, sufity i wyposażenie.</p>

        <div class="rk-frame-mini-formula">
          <div><strong>obciążenia stałe</strong><span>warstwy podłogi, sufitu, instalacji i elementy trwale związane z budynkiem</span></div>
          <div><strong>obciążenia użytkowe</strong><span>ludzie, meble i użytkowanie przyjęte zgodnie z przeznaczeniem</span></div>
          <div><strong>użytkowalność</strong><span>ugięcie, drgania i warunki pracy przegród oraz okładzin</span></div>
        </div>

        <p>Zasady projektowania konstrukcji drewnianych obejmuje Eurokod 5. Materiał wprowadzający udostępnia <a href="https://eurocodes.jrc.ec.europa.eu/sites/default/files/2022-06/EN1995_4_Kreuzinger.pdf" target="_blank" rel="nofollow noopener noreferrer">Joint Research Centre Komisji Europejskiej</a>. Taki dokument nie zastępuje obliczeń konkretnego stropu.</p>

        <div class="rk-frame-warning">
          <p><strong>Kalkulator internetowy nie oceni bezpiecznie stropu.</strong> Bez geometrii, klasy i wilgotności drewna, schematu podparcia, połączeń, otworów oraz pełnego zestawu obciążeń wynik byłby pozornie precyzyjny. Dlatego narzędzie w tym artykule sprawdza kompletność danych, a nie nośność.</p>
        </div>
      </section>

      <section class="rk-frame-section" id="rk-frame-wilgoc">
        <h2>Wilgoć technologiczna, paroizolacja i szczelność powietrzna</h2>
        <p>W domu szkieletowym trzeba skoordynować instalację z warstwami odpowiedzialnymi za szczelność powietrzną i kontrolę przepływu pary wodnej. Ich położenie zależy od kompletnego przekroju ściany lub stropu, klimatu wewnętrznego oraz projektu fizyki budowli. Nie istnieje jedna poprawna lokalizacja „folii” dla każdego domu.</p>

        <div class="rk-frame-grid-3">
          <article class="rk-frame-card">
            <span class="rk-frame-tag">Ciągłość</span>
            <h3>Warstwa szczelna</h3>
            <p>Przejścia rur, kabli i mocowań powinny mieć zaprojektowane uszczelnienie. Przypadkowe przebicia mogą zniszczyć ciągłość warstwy.</p>
          </article>
          <article class="rk-frame-card">
            <span class="rk-frame-tag">Proces mokry</span>
            <h3>Kontrola wysychania</h3>
            <p>Przed zamknięciem drewna i płyt wrażliwych na wilgoć trzeba potwierdzić warunki oraz wilgotność zgodnie z projektem i technologią.</p>
          </article>
          <article class="rk-frame-card">
            <span class="rk-frame-tag">Uruchomienie</span>
            <h3>Procedura wygrzewania</h3>
            <p>Jastrych uruchamia się według jego dokumentacji i warunków wykonania. Próba szczelności instalacji nie jest tym samym co wygrzewanie.</p>
          </article>
        </div>

        <p>Przy systemie mokrym znaczenie ma rodzaj jastrychu, grubość, warunki dojrzewania, pomiar wilgotności i wymagania okładziny. Szczegóły opisuje przewodnik <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">wylewka na ogrzewanie podłogowe</a>.</p>
      </section>

      <section class="rk-frame-section" id="rk-frame-akustyka">
        <h2>Akustyka, odporność ogniowa i sztywność warstw</h2>
        <p>Warstwa ogrzewania nie działa w izolacji od reszty stropu. Płyty, podsypki, maty, sufity i połączenia wpływają jednocześnie na dźwięki uderzeniowe, dźwięki powietrzne, ochronę ogniową oraz zachowanie mechaniczne podłogi.</p>

        <div class="rk-frame-definition"><strong>Akustyka</strong><div>Przerwanie warstwy sprężystej, sztywne mostki przy ścianach albo mocowania przechodzące przez układ pływający mogą pogorszyć wynik całej przegrody.</div></div>
        <div class="rk-frame-definition"><strong>Ogień</strong><div>Okładziny i liczba warstw płyt mogą być częścią przebadanego lub obliczonego rozwiązania. Nie wolno dowolnie zmieniać ich grubości i sposobu mocowania.</div></div>
        <div class="rk-frame-definition"><strong>Sztywność</strong><div>Podłoże musi ograniczać odkształcenia w stopniu wymaganym przez system i okładzinę. Brak nadmiernego ugięcia belek nie gwarantuje jeszcze poprawnej pracy płytek.</div></div>

        <div class="rk-frame-note">
          <p><strong>Najlepszy przekrój jest skoordynowany wielobranżowo.</strong> Konstruktor, projektant instalacji, osoba odpowiedzialna za fizykę budowli i projektant wnętrz powinni pracować na tej samej wersji warstw oraz poziomów.</p>
        </div>
      </section>

      <section class="rk-frame-section" id="rk-frame-termika">
        <h2>Strata ciepła i powierzchnia czynna: od tego zaczyna się dobór</h2>
        <p>Wymaganą moc podłogi oblicza się dla każdego pomieszczenia. Strata ciepła salonu nie może zostać podzielona przez powierzchnię całej kondygnacji, a powierzchnia pod stałą zabudową nie powinna automatycznie zwiększać pola grzejnego.</p>

        <span class="rk-frame-code-line">q<sub>wym</sub> = Q<sub>pomieszczenia</sub> / A<sub>czynna</sub></span>

        <div class="rk-frame-mini-formula">
          <div><strong>Q<sub>pomieszczenia</sub> [W]</strong><span>projektowa strata ciepła konkretnego pomieszczenia</span></div>
          <div><strong>A<sub>czynna</sub> [m²]</strong><span>rzeczywiście ogrzewane pole bez uzgodnionych wyłączeń</span></div>
          <div><strong>q<sub>wym</sub> [W/m²]</strong><span>wymagana średnia moc z pola czynnego</span></div>
        </div>

        <p>Dopiero później sprawdza się, czy dany przekrój podłogi przy wybranym rozstawie, temperaturze wody, oporze okładziny i dopuszczalnej temperaturze powierzchni może oddać tę moc. Metodykę określania wydajności wodnych powierzchni grzewczych opisują między innymi <a href="https://www.iso.org/standard/74683.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-2</a> i seria EN 1264.</p>

        <p>Jeżeli nie masz obliczeń, możesz wykonać wstępny bilans w naszym <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">kalkulatorze strat ciepła</a>. Do ostatecznego doboru instalacji potrzebne są jednak dane pomieszczenie po pomieszczeniu.</p>
      </section>

      <section class="rk-frame-section" id="rk-frame-audyt">
        <h2>Interaktywny audyt projektu podłogówki w domu szkieletowym</h2>
        <p class="rk-frame-lead">Narzędzie nie wybiera za Ciebie systemu i nie ocenia nośności. Pokazuje, czy decyzja ma oparcie w czterech grupach danych: konstrukcji, termice, fizyce budowli oraz hydraulice. Opcjonalnie liczy wymaganą moc jednostkową z rzeczywistej straty pomieszczenia.</p>

        <div class="rk-frame-tool" id="rk-frame-audit-tool">
          <div class="rk-frame-tool-head">
            <span class="rk-frame-tool-kicker">Audyt kompletności • wynik na żywo</span>
            <h3>Sprawdź, czego jeszcze brakuje przed wyborem systemu</h3>
            <p>Wybierz konstrukcję każdej kondygnacji, etap uzgodnień i dane termiczne. Wynik nie jest świadectwem bezpieczeństwa — to uporządkowana lista decyzji potrzebnych do projektu.</p>
          </div>

          <div class="rk-frame-tool-body">
            <div class="rk-frame-tool-group">
              <div class="rk-frame-tool-group-head"><span class="rk-frame-tool-group-num">1</span><div><h4>Konstrukcja kondygnacji</h4><p>Rozdziel parter od stropu. W jednym domu mogą być potrzebne dwa różne systemy.</p></div></div>
              <div class="rk-frame-input-grid">
                <div class="rk-frame-field">
                  <label for="rk-frame-ground-type">Konstrukcja podłogi parteru</label>
                  <select id="rk-frame-ground-type">
                    <option value="ground">Podłoga na gruncie</option>
                    <option value="slab">Płyta fundamentowa</option>
                    <option value="unheated">Strop nad przestrzenią nieogrzewaną</option>
                    <option value="na">Nie dotyczy</option>
                  </select>
                </div>
                <div class="rk-frame-field">
                  <label for="rk-frame-ground-system">Planowany system na parterze</label>
                  <select id="rk-frame-ground-system">
                    <option value="undecided">Jeszcze nie wybrano</option>
                    <option value="wet">System z jastrychem</option>
                    <option value="dry">System suchy</option>
                    <option value="na">Nie dotyczy</option>
                  </select>
                </div>
                <div class="rk-frame-field">
                  <label for="rk-frame-upper-type">Konstrukcja stropu/piętra</label>
                  <select id="rk-frame-upper-type">
                    <option value="timber">Strop belkowy drewniany</option>
                    <option value="clt">Płyta CLT / strop masywny drewniany</option>
                    <option value="concrete">Strop betonowy</option>
                    <option value="none">Brak ogrzewanego piętra</option>
                  </select>
                </div>
                <div class="rk-frame-field">
                  <label for="rk-frame-upper-system">Planowany system na piętrze</label>
                  <select id="rk-frame-upper-system">
                    <option value="undecided">Jeszcze nie wybrano</option>
                    <option value="dry">System suchy</option>
                    <option value="wet">System z jastrychem</option>
                    <option value="na">Nie dotyczy</option>
                  </select>
                </div>
              </div>
            </div>

            <div class="rk-frame-tool-group">
              <div class="rk-frame-tool-group-head"><span class="rk-frame-tool-group-num">2</span><div><h4>Uzgodnienia projektowe</h4><p>Zaznacz „tak” tylko wtedy, gdy masz konkretny wynik lub uzgodniony detal — nie samo założenie.</p></div></div>
              <div class="rk-frame-input-grid">
                <div class="rk-frame-field">
                  <label for="rk-frame-struct-check">Konstruktor sprawdził warstwy i strop</label>
                  <select id="rk-frame-struct-check"><option value="no">Nie / jeszcze nie</option><option value="yes">Tak</option><option value="na">Nie dotyczy stropu</option></select>
                </div>
                <div class="rk-frame-field">
                  <label for="rk-frame-heatloss-check">Są straty ciepła dla pomieszczeń</label>
                  <select id="rk-frame-heatloss-check"><option value="no">Nie</option><option value="yes">Tak</option></select>
                </div>
                <div class="rk-frame-field">
                  <label for="rk-frame-covering-check">Znane są okładziny i ich opór</label>
                  <select id="rk-frame-covering-check"><option value="no">Nie</option><option value="yes">Tak</option></select>
                </div>
                <div class="rk-frame-field">
                  <label for="rk-frame-systemdata-check">Jest wydajność wybranego przekroju</label>
                  <select id="rk-frame-systemdata-check"><option value="no">Nie</option><option value="yes">Tak, dla rzeczywistych warunków</option></select>
                </div>
                <div class="rk-frame-field">
                  <label for="rk-frame-airtight-check">Skoordynowano wilgoć i szczelność</label>
                  <select id="rk-frame-airtight-check"><option value="no">Nie / jeszcze nie</option><option value="yes">Tak</option><option value="na">Nie dotyczy danego detalu</option></select>
                </div>
                <div class="rk-frame-field">
                  <label for="rk-frame-source-check">Znane są wymagania hydrauliczne źródła</label>
                  <select id="rk-frame-source-check"><option value="no">Nie</option><option value="yes">Tak</option></select>
                  <small>Minimalny przepływ, moc minimalna, sposób regulacji i ewentualne wymagania dotyczące pojemności.</small>
                </div>
              </div>
            </div>

            <div class="rk-frame-tool-group">
              <div class="rk-frame-tool-group-head"><span class="rk-frame-tool-group-num">3</span><div><h4>Opcjonalne sprawdzenie cieplne jednego pomieszczenia</h4><p>Wpisz dane z obliczeń i potwierdzoną moc wybranego systemu dla konkretnego rozstawu, temperatur oraz okładziny.</p></div></div>
              <div class="rk-frame-input-grid">
                <div class="rk-frame-field">
                  <label for="rk-frame-room-loss">Projektowa strata pomieszczenia [W]</label>
                  <input id="rk-frame-room-loss" type="number" min="0" step="10" value="900" inputmode="decimal">
                </div>
                <div class="rk-frame-field">
                  <label for="rk-frame-active-area">Rzeczywiście ogrzewana powierzchnia [m²]</label>
                  <input id="rk-frame-active-area" type="number" min="0.1" step="0.1" value="18" inputmode="decimal">
                  <small>Bez uzgodnionych stref trwałej zabudowy i innych wyłączeń.</small>
                </div>
                <div class="rk-frame-field">
                  <label for="rk-frame-available-output">Potwierdzona moc systemu [W/m²]</label>
                  <input id="rk-frame-available-output" type="number" min="0" step="1" value="0" inputmode="decimal">
                  <small>Pozostaw 0, jeżeli nie masz charakterystyki dla swoich warunków.</small>
                </div>
              </div>
            </div>

            <div class="rk-frame-results" aria-live="polite">
              <div class="rk-frame-result-card is-cyan"><span>Wymagana moc jednostkowa</span><strong id="rk-frame-out-required">50,0 W/m²</strong><small>Q pomieszczenia ÷ powierzchnia czynna</small></div>
              <div class="rk-frame-result-card"><span>Wymagana moc pomieszczenia</span><strong id="rk-frame-out-room">900 W</strong><small>wartość wpisana z obliczeń</small></div>
              <div class="rk-frame-result-card is-green"><span>Dostępna moc całkowita</span><strong id="rk-frame-out-capacity">Nie oceniono</strong><small id="rk-frame-out-capacity-note">wpisz potwierdzoną moc systemu</small></div>
              <div class="rk-frame-result-card" id="rk-frame-margin-card"><span>Bilans względem potrzeby</span><strong id="rk-frame-out-margin">Nie oceniono</strong><small id="rk-frame-out-margin-note">brak danych systemowych</small></div>
            </div>

            <div class="rk-frame-audit-panels" aria-live="polite">
              <article class="rk-frame-audit-panel" id="rk-frame-panel-structure" data-state="missing"><span>Konstrukcja</span><strong id="rk-frame-panel-structure-title">Do uzupełnienia</strong><p id="rk-frame-panel-structure-text">Strop i warstwy wymagają weryfikacji konstrukcyjnej.</p></article>
              <article class="rk-frame-audit-panel" id="rk-frame-panel-thermal" data-state="missing"><span>Termika</span><strong id="rk-frame-panel-thermal-title">Do uzupełnienia</strong><p id="rk-frame-panel-thermal-text">Potrzebne są straty ciepła i wydajność wybranego przekroju.</p></article>
              <article class="rk-frame-audit-panel" id="rk-frame-panel-physics" data-state="missing"><span>Fizyka budowli</span><strong id="rk-frame-panel-physics-title">Do uzupełnienia</strong><p id="rk-frame-panel-physics-text">Sprawdź okładziny, wilgoć i ciągłość warstw.</p></article>
              <article class="rk-frame-audit-panel" id="rk-frame-panel-hydraulics" data-state="missing"><span>Hydraulika i sterowanie</span><strong id="rk-frame-panel-hydraulics-title">Do uzupełnienia</strong><p id="rk-frame-panel-hydraulics-text">Brakuje wymagań źródła ciepła i obiegów.</p></article>
            </div>

            <div class="rk-frame-score">
              <strong>Kompletność danych: <span id="rk-frame-score-value">0/4</span></strong>
              <div class="rk-frame-score-track" aria-hidden="true"><div class="rk-frame-score-fill" id="rk-frame-score-fill"></div></div>
              <strong id="rk-frame-score-percent">0%</strong>
            </div>

            <div class="rk-frame-house-wrap">
              <h4>Dynamiczny przekrój domu</h4>
              <p>Schemat rozdziela parter i piętro. Kolory nie są oceną bezpieczeństwa — pokazują jedynie wybrany etap decyzji.</p>
              <svg class="rk-frame-house-svg" viewBox="0 0 920 520" role="img" aria-labelledby="rk-frame-house-title rk-frame-house-desc">
                <title id="rk-frame-house-title">Schemat kondygnacji domu szkieletowego</title>
                <desc id="rk-frame-house-desc">Parter oraz piętro z opisem wybranej konstrukcji i systemu ogrzewania.</desc>
                <rect x="0" y="0" width="920" height="520" fill="#eef7fa"/>
                <path d="M125 185 L460 48 L795 185" fill="none" stroke="#143e53" stroke-width="24" stroke-linecap="round" stroke-linejoin="round"/>
                <rect x="150" y="180" width="620" height="270" rx="8" fill="#ffffff" stroke="#143e53" stroke-width="10"/>
                <rect id="rk-frame-svg-upper-band" x="175" y="215" width="570" height="88" rx="12" fill="#f3b51b" opacity="0.82"/>
                <rect id="rk-frame-svg-ground-band" x="175" y="330" width="570" height="88" rx="12" fill="#29c4da" opacity="0.82"/>
                <line x1="150" y1="316" x2="770" y2="316" stroke="#143e53" stroke-width="9"/>
                <rect x="110" y="450" width="700" height="28" rx="10" fill="#829aa5"/>
                <rect x="70" y="478" width="780" height="25" rx="10" fill="#b98658"/>
                <text x="205" y="246" fill="#0b2232" font-size="24" font-weight="900" id="rk-frame-svg-upper-title">Strop belkowy drewniany</text>
                <text x="205" y="278" fill="#0b2232" font-size="18" font-weight="700" id="rk-frame-svg-upper-system">System jeszcze nie wybrany</text>
                <text x="205" y="361" fill="#0b2232" font-size="24" font-weight="900" id="rk-frame-svg-ground-title">Podłoga na gruncie</text>
                <text x="205" y="393" fill="#0b2232" font-size="18" font-weight="700" id="rk-frame-svg-ground-system">System jeszcze nie wybrany</text>
              </svg>

              <div class="rk-frame-level-grid">
                <article class="rk-frame-level-card"><span>Parter</span><strong id="rk-frame-ground-summary-title">Podłoga na gruncie</strong><p id="rk-frame-ground-summary-text">Ustal przekrój cieplny, wysokości, izolację, wilgoć i dylatacje przed wyborem systemu.</p></article>
                <article class="rk-frame-level-card" id="rk-frame-upper-summary-card"><span>Piętro / strop</span><strong id="rk-frame-upper-summary-title">Strop belkowy drewniany</strong><p id="rk-frame-upper-summary-text">Sprawdź nośność, ugięcie, drgania, akustykę i pełny ciężar warstw.</p></article>
              </div>
            </div>

            <div class="rk-frame-audit-actions" id="rk-frame-audit-actions" aria-live="polite"></div>

            <div class="rk-frame-tool-actions">
              <button class="rk-frame-reset" type="button" id="rk-frame-reset">Przywróć dane przykładowe</button>
            </div>

            <p class="rk-frame-tool-foot">Audyt ma charakter edukacyjny. Nie wykonuje obliczeń konstrukcyjnych, projektu fizyki budowli, OZC ani obliczeń hydraulicznych. Wynik „kompletne” oznacza wyłącznie, że użytkownik zadeklarował posiadanie danej grupy informacji.</p>
          </div>
        </div>

        <div class="rk-frame-cta">
          <div>
            <h3>Audyt wskazał luki? W projekcie trzeba połączyć je na jednym rzucie</h3>
            <p>Analizator może pokazać, że na parterze można rozważyć system z jastrychem, a na drewnianym stropie brakuje oceny konstrukcyjnej. Nie zna jednak przekrojów i rozpiętości belek, ugięć, drgań, warstw akustycznych, rzeczywistych strat pomieszczeń ani hydrauliki wybranego źródła. Te elementy trzeba skoordynować w indywidualnym projekcie.</p>
          </div>
          <a class="rk-frame-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt podłogówki do domu szkieletowego</a>
        </div>
      </section>
<section class="rk-frame-section" id="rk-frame-parametry">
        <h2>Rozstaw rur, moc i temperatura zasilania w domu szkieletowym</h2>
        <p>Technologia budynku nie wyznacza automatycznie rozstawu rur. Podłoga nie „wie”, czy znajduje się w domu murowanym czy szkieletowym. Jej wydajność zależy od geometrii systemu, średniej temperatury wody, temperatury pomieszczenia, oporu warstw nad rurą i dopuszczalnej temperatury powierzchni.</p>

        <h3>Rozstaw 10 czy 15 cm?</h3>
        <p>Najpierw trzeba znać wymaganą moc jednostkową. Następnie porównuje się warianty w identycznych warunkach: przy tej samej temperaturze zasilania i powrotu, tym samym przekroju podłogi oraz tej samej okładzinie. Samo stwierdzenie „pompa ciepła = 10 cm” albo „dom szkieletowy = 15 cm” nie jest metodą projektową. Zobacz osobne porównanie <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">rozstawu rur 10 i 15 cm</a>.</p>

        <h3>Temperatura zasilania</h3>
        <p>Nie ma jednej optymalnej temperatury dla wszystkich domów szkieletowych. Projekt określa ją na podstawie najbardziej wymagającego pomieszczenia, charakterystyki systemu i ograniczeń okładziny. Sterowanie pogodowe może później zmniejszać temperaturę wraz ze wzrostem temperatury zewnętrznej. Więcej wyjaśniamy w artykule o <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">maksymalnej temperaturze zasilania podłogówki</a>.</p>

        <h3>Długość pętli i opory</h3>
        <p>System suchy nie zwalnia z obliczeń hydraulicznych. Długość rury, przepływ, średnica wewnętrzna, opory rozdzielacza i dobiegów nadal wyznaczają stratę ciśnienia. Rozstaw wpływa na ilość rury w polu, ale nie zastępuje obliczenia krytycznej pętli. Pomocny jest przewodnik o <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">maksymalnej długości pętli ogrzewania podłogowego</a>.</p>

        <div class="rk-frame-note">
          <p><strong>Nie porównuj samych temperatur zasilania.</strong> Dwa systemy przy tej samej temperaturze mogą oddawać inną moc, jeżeli różnią się rozstawem, płytami przewodzącymi, oporem okładziny albo temperaturą powrotu.</p>
        </div>
      </section>

      <section class="rk-frame-section" id="rk-frame-okladziny">
        <h2>Panele, drewno i płytki na podłogówce w domu szkieletowym</h2>
        <p>Okładzinę dobiera się jako część całego przekroju. Liczy się deklarowany opór cieplny wykończenia wraz z podkładem, dopuszczenie do ogrzewania podłogowego, ograniczenie temperatury powierzchni oraz wymagania dotyczące wilgotności i odkształceń podłoża.</p>

        <div class="rk-frame-table-wrap">
          <table class="rk-frame-table">
            <thead>
              <tr>
                <th>Okładzina</th>
                <th>Co wpływa na wymianę ciepła?</th>
                <th>Co sprawdzić przed projektem?</th>
                <th>Typowy błąd</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td data-label="Okładzina"><strong>Płytki</strong></td>
                <td data-label="Wpływ">Zwykle niski opór wykończenia, ale wynik zależy też od kleju i płyt podkładowych.</td>
                <td data-label="Sprawdź">Sztywność, ugięcie, dylatacje, hydroizolację i zgodność całego układu.</td>
                <td data-label="Błąd">Założenie, że sama płytka rozwiązuje problem pracy drewnianego stropu.</td>
              </tr>
              <tr>
                <td data-label="Okładzina"><strong>Panele</strong></td>
                <td data-label="Wpływ">Opór panelu i podkładu; sposób ułożenia oraz kontakt z podłożem.</td>
                <td data-label="Sprawdź">Łączny opór, maksymalną temperaturę i wymagania montażowe konkretnego produktu.</td>
                <td data-label="Błąd">Dobór po samej grubości lub oznaczeniu „do podłogówki”.</td>
              </tr>
              <tr>
                <td data-label="Okładzina"><strong>Drewno</strong></td>
                <td data-label="Wpływ">Gatunek, grubość, budowa elementu i sposób montażu.</td>
                <td data-label="Sprawdź">Opór, wilgotność, dopuszczalne temperatury oraz stabilność wymiarową.</td>
                <td data-label="Błąd">Traktowanie każdego parkietu i każdej deski jako tej samej okładziny.</td>
              </tr>
              <tr>
                <td data-label="Okładzina"><strong>Dywan / wykładzina</strong></td>
                <td data-label="Wpływ">Łączny opór wykładziny i podkładu może wyraźnie ograniczać emisję.</td>
                <td data-label="Sprawdź">Dopuszczenie do ogrzewania i deklarowany opór kompletnego zestawu.</td>
                <td data-label="Błąd">Dodanie grubej warstwy po obliczeniu instalacji bez ponownej weryfikacji.</td>
              </tr>
            </tbody>
          </table>
        </div>

        <p>Sam rodzaj materiału nie daje gotowej odpowiedzi. Praktyczne porównanie zawiera artykuł <a href="https://projekt-ogrzewania.pl/czy-pod-ogrzewanie-podlogowe-nadaja-sie-panele-czy-tylko-plytki/">panele czy płytki na ogrzewanie podłogowe</a>, a znaczenie parametru wyjaśnia poradnik o <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%C2%B2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">oporze cieplnym R</a>.</p>
      </section>

      <section class="rk-frame-section" id="rk-frame-zrodlo">
        <h2>Pompa ciepła, kocioł i bufor w domu szkieletowym</h2>
        <p>Ogrzewanie podłogowe może współpracować z pompą ciepła, kotłem kondensacyjnym i innym źródłem wody grzewczej. Źródło wpływa na preferowane temperatury, wymagany przepływ, zakres modulacji oraz sposób sterowania, ale nie wybiera za projektanta konstrukcji podłogi.</p>

        <div class="rk-frame-grid-3">
          <article class="rk-frame-card">
            <span class="rk-frame-tag">Temperatura</span>
            <h3>Projektuj dla niskich parametrów, jeśli bilans na to pozwala</h3>
            <p>Niższa temperatura może sprzyjać sprawności źródła, ale system musi nadal pokrywać obciążenie pomieszczeń w warunkach projektowych.</p>
          </article>
          <article class="rk-frame-card">
            <span class="rk-frame-tag">Przepływ</span>
            <h3>Nie zamykaj przypadkowo wszystkich obiegów</h3>
            <p>Źródło i pompa obiegowa mogą wymagać minimalnego przepływu. Duża liczba siłowników musi być uwzględniona w hydraulice i automatyce.</p>
          </article>
          <article class="rk-frame-card">
            <span class="rk-frame-tag">Pojemność</span>
            <h3>Bufor nie jest automatycznym dodatkiem</h3>
            <p>Potrzebę bufora ocenia się z wymagań źródła, pojemności instalacji, minimalnej mocy, defrostu i sposobu rozdzielenia obiegów.</p>
          </article>
        </div>

        <p>Lekka konstrukcja budynku sama nie jest dowodem, że bufor jest konieczny ani że można go pominąć. Podobnie system suchy nie przesądza o liczbie uruchomień sprężarki. Liczy się zachowanie całego układu: zapotrzebowanie chwilowe, modulacja, objętość wody, przepływy, histereza i sterowanie.</p>
      </section>

      <section class="rk-frame-section" id="rk-frame-sterowanie">
        <h2>Sterowanie podłogówką i zyski słoneczne</h2>
        <p>Duże przeszklenia mogą szybko zwiększać temperaturę w pomieszczeniu, szczególnie w budynku o niewielkiej masie akumulacyjnej. Nie oznacza to jednak, że najlepszym rozwiązaniem jest agresywne włączanie i wyłączanie każdej pętli.</p>

        <h3>Sterowanie pogodowe jako baza</h3>
        <p>Krzywa grzewcza dostosowuje temperaturę wody do warunków zewnętrznych. Dobrze ustawiona zmniejsza ryzyko przegrzewania i pozwala instalacji pracować stabilniej niż przy stałej, zawyżonej temperaturze zasilania.</p>

        <h3>Regulacja pomieszczeniowa</h3>
        <p>Termostaty i siłowniki mogą ograniczać dopływ ciepła w pomieszczeniach z dużymi zyskami, lecz ich działanie trzeba skoordynować z minimalnym przepływem źródła, pompą obiegową i bezwładnością zastosowanego przekroju. Sterowanie nie naprawi źle dobranej mocy ani niewyrównanej hydrauliki.</p>

        <h3>Równoważenie przepływów</h3>
        <p>Każda pętla powinna otrzymać przepływ wynikający z jej obciążenia i projektowej różnicy temperatur. Takie nastawy są ważniejsze niż arbitralne ustawienie jednakowej wartości na wszystkich rotametrach. Więcej o sensie podziału na strefy przeczytasz w artykule <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">sterowanie strefowe ogrzewaniem</a>.</p>
      </section>

      <section class="rk-frame-section" id="rk-frame-kolejnosc">
        <h2>Kolejność projektowania i wykonania instalacji</h2>
        <p>Najwięcej problemów powstaje wtedy, gdy system ogrzewania jest wybierany po zamknięciu przekrojów konstrukcyjnych albo gdy instalator otrzymuje nieaktualny rzut. Bezpieczniejsza jest kolejność oparta na kolejnych uzgodnieniach.</p>

        <div class="rk-frame-steps rk-frame-steps-six">
          <article class="rk-frame-step"><span class="rk-frame-step-num">1</span><h3>Ustal konstrukcje</h3><p>Zidentyfikuj podłogę parteru, wszystkie stropy, rozpiętości, podparcia i planowane warstwy.</p></article>
          <article class="rk-frame-step"><span class="rk-frame-step-num">2</span><h3>Policz straty</h3><p>Wyznacz obciążenie cieplne każdego pomieszczenia i rzeczywistą powierzchnię czynną.</p></article>
          <article class="rk-frame-step"><span class="rk-frame-step-num">3</span><h3>Wybierz przekroje</h3><p>Porównaj system suchy i mokry pod kątem konstrukcji, wysokości, akustyki oraz wydajności.</p></article>
          <article class="rk-frame-step"><span class="rk-frame-step-num">4</span><h3>Oblicz instalację</h3><p>Dobierz rozstaw, temperatury, długości pętli, przepływy, opory i nastawy rozdzielacza.</p></article>
          <article class="rk-frame-step"><span class="rk-frame-step-num">5</span><h3>Skoordynuj detale</h3><p>Uzgodnij dylatacje, drzwi, schody, okładziny, strefy bez rur i wszystkie przebicia warstw.</p></article>
          <article class="rk-frame-step"><span class="rk-frame-step-num">6</span><h3>Wykonaj i odbierz</h3><p>Przeprowadź próbę, udokumentuj rury, kontroluj wilgotność i uruchom system zgodnie z procedurą.</p></article>
        </div>

        <h3>Co powinno znaleźć się na dokumentacji?</h3>
        <p>Rzut powinien pokazywać przebieg i numery pętli, rozstawy, strefy brzegowe, dobieg, rozdzielacz, dylatacje, powierzchnie wyłączone oraz przejścia przez przegrody. Zestawienie powinno zawierać długości, obciążenia, przepływy, straty ciśnienia i nastawy. Pełny zakres opisujemy w artykule <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">jak powinien wyglądać profesjonalny projekt podłogówki</a>.</p>
      </section>

      <section class="rk-frame-section" id="rk-frame-bledy">
        <h2>Najczęstsze błędy i mity</h2>

        <div class="rk-frame-myth"><div>Mit: dom szkieletowy zawsze wymaga systemu suchego.</div><div><strong>Fakt:</strong> o wyborze decyduje konkretna podłoga lub strop. Na parterze może być uzasadniony jastrych, a na stropie lekkie rozwiązanie suche.</div></div>
        <div class="rk-frame-myth"><div>Mit: jastrych jest zawsze zbyt ciężki dla stropu drewnianego.</div><div><strong>Fakt:</strong> nie wolno zakładać ani dopuszczalności, ani zakazu bez obliczeń. Konstruktor ocenia pełne obciążenie, ugięcie, drgania i detale.</div></div>
        <div class="rk-frame-myth"><div>Mit: system suchy ma z definicji określoną moc i temperaturę.</div><div><strong>Fakt:</strong> wydajność zależy od całego przekroju, rozstawu, temperatur wody, okładziny i warunków pomieszczenia.</div></div>
        <div class="rk-frame-myth"><div>Mit: 10 cm rozstawu jest obowiązkowe przy pompie ciepła.</div><div><strong>Fakt:</strong> rozstaw wynika z obciążenia i charakterystyki systemu. Źródło określa preferowane warunki pracy, ale nie zastępuje obliczeń podłogi.</div></div>
        <div class="rk-frame-myth"><div>Mit: niski U oznacza niski opór cieplny.</div><div><strong>Fakt:</strong> niższy współczynnik U oznacza mniejsze przenikanie ciepła i większą izolacyjność całej przegrody.</div></div>
        <div class="rk-frame-myth"><div>Mit: lekki dom potrzebuje bufora.</div><div><strong>Fakt:</strong> potrzebę bufora ocenia się z wymagań źródła, pojemności wodnej, mocy minimalnej, przepływu i logiki sterowania.</div></div>
        <div class="rk-frame-myth"><div>Mit: termostaty naprawią przegrzewanie.</div><div><strong>Fakt:</strong> sterowanie nie zastępuje prawidłowej mocy, temperatury zasilania, równoważenia i koordynacji zysków słonecznych.</div></div>
        <div class="rk-frame-myth"><div>Mit: panele „do podłogówki” nie wymagają dalszych danych.</div><div><strong>Fakt:</strong> potrzebny jest opór całego zestawu, dopuszczalna temperatura i wymagania dotyczące podłoża oraz montażu.</div></div>
      </section>

      <section class="rk-frame-section" id="rk-frame-checklista">
        <h2>Checklista przed zamówieniem i wykonaniem podłogówki</h2>
        <p>Jeżeli któregoś punktu nie można potwierdzić, nie oznacza to automatycznie błędu — oznacza decyzję, którą trzeba podjąć przed zamknięciem warstw.</p>

        <div class="rk-frame-checklist">
          <div class="rk-frame-check"><h3>Konstrukcja każdej podłogi</h3><p>Znane są przekroje parteru, stropów, rozpiętości, podparcia i dopuszczalne warstwy.</p></div>
          <div class="rk-frame-check"><h3>Pełne obciążenia</h3><p>Konstruktor otrzymał ciężar całego przekroju, a nie tylko nazwę ogrzewania podłogowego.</p></div>
          <div class="rk-frame-check"><h3>Ugięcie i drgania</h3><p>Sprawdzono kryteria użytkowalności odpowiednie dla stropu oraz planowanej okładziny.</p></div>
          <div class="rk-frame-check"><h3>Straty pomieszczeń</h3><p>Dostępne są obciążenia cieplne osobno dla każdego pomieszczenia.</p></div>
          <div class="rk-frame-check"><h3>Powierzchnia czynna</h3><p>Rzut uwzględnia trwałą zabudowę, schody, dylatacje i inne uzgodnione strefy bez rur.</p></div>
          <div class="rk-frame-check"><h3>Charakterystyka systemu</h3><p>Moc sprawdzono dla konkretnego rozstawu, temperatur, przekroju i oporu okładziny.</p></div>
          <div class="rk-frame-check"><h3>Okładziny</h3><p>Znany jest łączny opór, ograniczenia temperatury i wymagania montażowe wykończenia.</p></div>
          <div class="rk-frame-check"><h3>Wilgoć i szczelność</h3><p>Zaplanowano ciągłość warstw, przejścia instalacyjne, wysychanie i pomiary przed zamknięciem.</p></div>
          <div class="rk-frame-check"><h3>Akustyka i ogień</h3><p>Ogrzewanie nie narusza warstw wymaganych dla ochrony akustycznej i ogniowej stropu.</p></div>
          <div class="rk-frame-check"><h3>Hydraulika</h3><p>Policzono długości, przepływy, opory, nastawy i krytyczną pętlę rozdzielacza.</p></div>
          <div class="rk-frame-check"><h3>Źródło ciepła</h3><p>Znane są minimalny przepływ, moc minimalna, zakres temperatur i wymagania producenta źródła.</p></div>
          <div class="rk-frame-check"><h3>Dokumentacja wykonawcza</h3><p>Wykonawca otrzymał aktualny rzut, a przed zakryciem rur powstanie dokumentacja powykonawcza.</p></div>
        </div>
      </section>

      <section class="rk-frame-section" id="rk-frame-faq">
        <h2>FAQ: ogrzewanie podłogowe w domu szkieletowym</h2>
        <div class="rk-frame-faq">
          <details><summary>Czy ogrzewanie podłogowe nadaje się do domu szkieletowego?</summary><div class="rk-frame-faq-answer"><p>Tak. Trzeba jednak osobno zaprojektować podłogę parteru i każdy strop, uwzględniając konstrukcję, straty ciepła, powierzchnię czynną, okładziny oraz hydraulikę źródła.</p></div></details>
          <details><summary>Czy w domu szkieletowym musi być system suchy?</summary><div class="rk-frame-faq-answer"><p>Nie. System suchy jest częstym wyborem na lekkim stropie, ale parter na gruncie lub płyta fundamentowa mogą mieć system z jastrychem. Decyzja wynika z konkretnego przekroju, a nie z technologii ścian.</p></div></details>
          <details><summary>Czy w domu szkieletowym można wykonać wylewkę?</summary><div class="rk-frame-faq-answer"><p>Można, jeśli rozwiązanie przewiduje projekt konstrukcyjny i projekt warstw. Na stropie trzeba sprawdzić pełne obciążenie, ugięcie, drgania, wilgoć technologiczną, akustykę oraz wymagania okładziny.</p></div></details>
          <details><summary>Czy jastrych cementowy jest dopuszczalny na stropie drewnianym?</summary><div class="rk-frame-faq-answer"><p>Nie da się odpowiedzieć na podstawie samej nazwy stropu. Dopuszczalność zależy od jego konstrukcji, rozpiętości, podparcia, pełnego ciężaru warstw i kryteriów użytkowalności. Potrzebna jest ocena konstruktora.</p></div></details>
          <details><summary>Czy jastrych anhydrytowy jest obowiązkowy w domu szkieletowym?</summary><div class="rk-frame-faq-answer"><p>Nie. Rodzaj jastrychu dobiera się do kompletnego rozwiązania, wymagań konstrukcyjnych, wilgotnościowych, wykonawczych i okładziny. Sama technologia szkieletowa nie narzuca anhydrytu.</p></div></details>
          <details><summary>Jaka podłogówka na parterze domu szkieletowego?</summary><div class="rk-frame-faq-answer"><p>Najpierw trzeba ustalić, czy jest to podłoga na gruncie, płyta fundamentowa czy strop nad przestrzenią nieogrzewaną. Na tej podstawie projektuje się izolację, warstwy, dylatacje oraz system suchy albo z jastrychem.</p></div></details>
          <details><summary>Jaka podłogówka na stropie drewnianym?</summary><div class="rk-frame-faq-answer"><p>Często wybiera się lekki system suchy, lecz wymaga on odpowiedniej sztywności, rozprowadzania ciepła, akustyki i zgodności z okładziną. System z wylewką jest możliwy wyłącznie po pełnej weryfikacji konstrukcyjnej.</p></div></details>
          <details><summary>Ile waży ogrzewanie podłogowe na stropie?</summary><div class="rk-frame-faq-answer"><p>Nie ma jednej wartości. Trzeba zsumować masę rur z wodą, płyt, profili lub jastrychu, izolacji, podsypek, okładziny, klejów i pozostałych warstw. Konstruktor ocenia kompletne obciążenie stałe.</p></div></details>
          <details><summary>Jaka temperatura zasilania podłogówki w domu szkieletowym?</summary><div class="rk-frame-faq-answer"><p>Temperatura wynika z wymaganej mocy, charakterystyki konkretnego systemu, rozstawu, oporu okładziny, temperatury pomieszczenia i ograniczeń powierzchni. Nie ma jednej wartości właściwej dla wszystkich domów szkieletowych.</p></div></details>
          <details><summary>Jaki rozstaw rur stosować w domu szkieletowym?</summary><div class="rk-frame-faq-answer"><p>Rozstaw dobiera się po obliczeniu straty ciepła i powierzchni czynnej, a następnie sprawdza wydajność konkretnego przekroju przy projektowych temperaturach. Technologia szkieletowa ani pompa ciepła nie wyznaczają go samodzielnie.</p></div></details>
          <details><summary>Czy pompa ciepła wymaga systemu suchego?</summary><div class="rk-frame-faq-answer"><p>Nie. Pompa ciepła może współpracować z systemem suchym i mokrym. Istotne są możliwie niskie temperatury przy pokryciu obciążenia, wymagany przepływ, pojemność instalacji, zakres modulacji i sterowanie.</p></div></details>
          <details><summary>Czy do podłogówki w domu szkieletowym potrzebny jest bufor?</summary><div class="rk-frame-faq-answer"><p>Nie zawsze. Potrzebę bufora określa się z wymagań konkretnego źródła, minimalnego przepływu, mocy minimalnej, objętości wody, sposobu odszraniania i pracy stref. Sama lekka konstrukcja nie rozstrzyga.</p></div></details>
          <details><summary>Czy warto stosować sterowanie strefowe?</summary><div class="rk-frame-faq-answer"><p>Może pomagać przy różnych zyskach słonecznych i sposobach użytkowania, ale musi być skoordynowane z hydrauliką i minimalnym przepływem źródła. Nie zastąpi prawidłowego doboru mocy, temperatury i przepływów.</p></div></details>
          <details><summary>Czy panele i drewno nadają się na suche ogrzewanie podłogowe?</summary><div class="rk-frame-faq-answer"><p>Tak, jeśli producent dopuszcza takie zastosowanie, a łączny opór okładziny z podkładem, maksymalna temperatura, wilgotność i sposób montażu są zgodne z projektem systemu.</p></div></details>
          <details><summary>Jak obliczyć wymaganą moc podłogi?</summary><div class="rk-frame-faq-answer"><p>Projektową stratę ciepła pomieszczenia w watach dzieli się przez rzeczywiście ogrzewaną powierzchnię w metrach kwadratowych. Wynik w W/m² porównuje się z wydajnością wybranego przekroju dla konkretnych temperatur i okładziny.</p></div></details>
          <details><summary>Czy paroizolacja powinna być pod ogrzewaniem podłogowym?</summary><div class="rk-frame-faq-answer"><p>Nie ma jednej odpowiedzi dla każdego przekroju. Lokalizację warstw kontrolujących parę i szczelność powietrzną określa projekt fizyki budowli. Przejścia instalacyjne muszą zachować ich ciągłość.</p></div></details>
        </div>
      </section>

      <section class="rk-frame-section" id="rk-frame-zrodla">
        <h2>Normy i źródła techniczne</h2>
        <p>Artykuł opiera się na metodyce projektowania powierzchni grzewczych, zasadach projektowania konstrukcji drewnianych i obowiązujących wymaganiach budowlanych. Dostęp do pełnej treści części norm może być płatny.</p>
        <ol class="rk-frame-sources">
          <li><a href="https://knowledge.bsigroup.com/products/water-based-surface-embedded-heating-and-cooling-systems-floor-heating-methods-for-the-determination-of-the-thermal-output-using-calculations-and-experimental-tests" target="_blank" rel="nofollow noopener noreferrer">BSI — EN 1264-2: określanie mocy cieplnej ogrzewania podłogowego</a>.</li>
          <li><a href="https://knowledge.bsigroup.com/products/water-based-surface-embedded-heating-and-cooling-systems-dimensioning-1" target="_blank" rel="nofollow noopener noreferrer">BSI — EN 1264-3: wymiarowanie wodnych systemów powierzchniowych</a>.</li>
          <li><a href="https://knowledge.bsigroup.com/products/water-based-surface-embedded-heating-and-cooling-systems-installation-1" target="_blank" rel="nofollow noopener noreferrer">BSI — EN 1264-4: wymagania instalacyjne</a>.</li>
          <li><a href="https://www.iso.org/standard/74683.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-2: wyznaczanie wydajności powierzchni grzewczej i chłodzącej</a>.</li>
          <li><a href="https://www.iso.org/standard/74684.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-3: projektowanie i wymiarowanie</a>.</li>
          <li><a href="https://eurocodes.jrc.ec.europa.eu/sites/default/files/2022-06/EN1995_4_Kreuzinger.pdf" target="_blank" rel="nofollow noopener noreferrer">Joint Research Centre — wprowadzenie do Eurokodu 5 dla konstrukcji drewnianych</a>.</li>
          <li><a href="https://eli.gov.pl/eli/DU/2022/1225/ogl" target="_blank" rel="nofollow noopener noreferrer">Elektroniczny Dziennik Ustaw — warunki techniczne, jakim powinny odpowiadać budynki</a>.</li>
          <li><a href="https://budowlaneabc.gov.pl/charakterystyka-energetyczna-budynkow/kalkulatory/calc-wpc/" target="_blank" rel="nofollow noopener noreferrer">Budowlane ABC — rządowy kalkulator współczynnika przenikania ciepła przegród</a>.</li>
        </ol>
      </section>
    </main>

    <section class="rk-frame-author" id="rk-frame-author" aria-labelledby="rk-frame-author-title">
      <input type="radio" name="rk-frame-author-tabs" id="rk-frame-author-about" checked>
      <input type="radio" name="rk-frame-author-tabs" id="rk-frame-author-exp">
      <input type="radio" name="rk-frame-author-tabs" id="rk-frame-author-sites">

      <div class="rk-frame-author-head">
        <div><span>Autor opracowania</span><h2 id="rk-frame-author-title">Robert Kucharski</h2></div>
        <span class="rk-frame-author-mark">Projektowanie HVAC • praktyka i obliczenia</span>
      </div>

      <div class="rk-frame-author-layout">
        <aside class="rk-frame-author-side">
          <div class="rk-frame-author-photo"><img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski — projektant instalacji sanitarnych" width="162" height="162" loading="lazy"></div>
          <div class="rk-frame-author-name"><a href="https://projekt-ogrzewania.pl/author/admin3399/">Robert Kucharski</a></div>
          <div class="rk-frame-author-role">Projektant instalacji sanitarnych<br>specjalista HVAC i ogrzewania podłogowego</div>
          <div class="rk-frame-author-social-label">Profile autora</div>
          <div class="rk-frame-author-social">
            <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="nofollow noopener noreferrer" aria-label="Profil Roberta Kucharskiego na LinkedIn"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5.2 3.5A2.2 2.2 0 1 1 5.2 8a2.2 2.2 0 0 1 0-4.5ZM3.3 9.5h3.8V21H3.3V9.5Zm6.2 0h3.6v1.6h.1c.5-.9 1.7-2 3.6-2 3.9 0 4.6 2.6 4.6 5.9v6h-3.8v-5.3c0-1.3 0-2.9-1.8-2.9s-2.1 1.4-2.1 2.8V21H9.5V9.5Z"/></svg></a>
            <a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="nofollow noopener noreferrer" aria-label="Profil Projekt Ogrzewania na Facebooku"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M13.8 22v-8h2.7l.4-3h-3.1V9.1c0-.9.3-1.5 1.6-1.5H17V4.9c-.3 0-1.3-.1-2.4-.1-2.4 0-4 1.4-4 4.1V11H8v3h2.6v8h3.2Z"/></svg></a>
            <a href="https://x.com/Projekt_HVAC" target="_blank" rel="nofollow noopener noreferrer" aria-label="Profil Projekt HVAC w serwisie X"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M18.9 2H22l-6.8 7.8L23.2 22H17l-4.9-6.4L6.5 22H3.4l7.2-8.2L2.9 2h6.3l4.4 5.8L18.9 2Zm-1.1 17.9h1.7L8.3 4H6.5l11.3 15.9Z"/></svg></a>
          </div>
        </aside>

        <div class="rk-frame-author-main">
          <blockquote class="rk-frame-author-quote"><p>W domu szkieletowym nie projektuje się „jednej podłogówki”. Projektuje się konkretne podłogi i stropy, a dopiero potem łączy ich obiegi w spójny układ hydrauliczny.</p></blockquote>

          <div class="rk-frame-author-tabs" role="tablist" aria-label="Informacje o autorze">
            <label class="rk-frame-author-tab" for="rk-frame-author-about" role="tab">O autorze</label>
            <label class="rk-frame-author-tab" for="rk-frame-author-exp" role="tab">Doświadczenie</label>
            <label class="rk-frame-author-tab" for="rk-frame-author-sites" role="tab">Serwisy</label>
          </div>

          <div class="rk-frame-author-panel rk-frame-author-panel-about">
            <p><strong>Robert Kucharski</strong> opracowuje projekty ogrzewania podłogowego, obliczenia strat ciepła i hydrauliki instalacji oraz materiały techniczne dla inwestorów i wykonawców. W pracy łączy bilans cieplny pomieszczeń z rzeczywistą geometrią rzutu, konstrukcją podłogi, doborem pętli, przepływami i nastawami rozdzielacza.</p>
            <p>W artykułach rozdziela wartości wynikające z norm i obliczeń od uproszczeń orientacyjnych. Szczególną uwagę poświęca ograniczeniom narzędzi internetowych: kalkulator może uporządkować dane, ale nie zastąpi oceny konstrukcji, koordynacji międzybranżowej ani projektu wykonawczego.</p>
          </div>

          <div class="rk-frame-author-panel rk-frame-author-panel-exp">
            <p>Zakres opracowań autora obejmuje projektowe straty ciepła, wydajność ogrzewania powierzchniowego, długości i podział pętli, dobór przepływów, straty ciśnienia, równoważenie hydrauliczne, dobór pomp oraz współpracę instalacji z pompami ciepła i kotłami.</p>
            <p>W budynkach o lekkiej konstrukcji kluczowe jest połączenie projektu HVAC z przekrojami stropów, wymaganiami okładzin, ochroną przed wilgocią, akustyką i ograniczeniami konstrukcyjnymi. Dlatego w tym opracowaniu nie podano uniwersalnych ciężarów, czasów reakcji ani temperatur bez określenia warunków.</p>
          </div>

          <div class="rk-frame-author-panel rk-frame-author-panel-sites">
            <p>Robert Kucharski publikuje materiały techniczne w serwisie Projekt-Ogrzewania.pl oraz współtworzy treści branżowe w portalach <a href="https://remont.biz.pl/" target="_blank" rel="nofollow noopener noreferrer">Remont.biz.pl</a> i <a href="https://sobir.pl/" target="_blank" rel="nofollow noopener noreferrer">Sobir.pl</a>. Wszystkie wpisy autora na tej stronie znajdziesz w <a href="https://projekt-ogrzewania.pl/author/admin3399/">archiwum Roberta Kucharskiego</a>.</p>
          </div>
        </div>
      </div>
    </section>

    <div class="rk-frame-final-wrap">
      <div class="rk-frame-cta">
        <div>
          <h3>Przełóż przekroje domu szkieletowego na konkretny projekt podłogówki</h3>
          <p>Projekt obejmie układ pętli na parterze i piętrze, rozstawy rur, długości obwodów, wymagane przepływy oraz nastawy rozdzielacza — z uwzględnieniem rzeczywistej konstrukcji podłóg i stropów.</p>
        </div>
        <a class="rk-frame-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt podłogówki do domu szkieletowego</a>
      </div>
    </div>

    <div class="rk-frame-footnote">Materiał edukacyjny. Ostateczny dobór konstrukcji podłogi, obciążeń, warstw oraz parametrów instalacji powinien wynikać z dokumentacji konkretnego budynku i uzgodnień właściwych projektantów.</div>
  </div>
</article>

      
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#article",
      "url": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/",
      "headline": "Ogrzewanie podłogowe w domu szkieletowym: system suchy, strop i projekt",
      "description": "Projektowanie ogrzewania podłogowego w domu szkieletowym: parter na gruncie, drewniany strop, system suchy lub z jastrychem, obciążenie, moc, hydraulika i sterowanie.",
      "inLanguage": "pl-PL",
      "datePublished": "2026-09-01",
      "dateModified": "2026-09-01",
      "isPartOf": {"@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#webpage"},
      "mainEntityOfPage": {"@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#webpage"},
      "author": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"},
      "publisher": {"@id": "https://projekt-ogrzewania.pl/#organization"},
      "image": {"@type": "ImageObject", "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp"},
      "about": [
        "ogrzewanie podłogowe w domu szkieletowym",
        "system suchego ogrzewania podłogowego",
        "ogrzewanie podłogowe na stropie drewnianym",
        "projektowanie instalacji grzewczej"
      ],
      "keywords": "ogrzewanie podłogowe w domu szkieletowym, podłogówka w domu drewnianym, system suchy, strop drewniany, jastrych, pompa ciepła"
    },
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#webpage",
      "url": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/",
      "name": "Ogrzewanie podłogowe w domu szkieletowym: system suchy, strop i projekt",
      "description": "Sprawdź, jak zaprojektować podłogówkę w domu szkieletowym: parter na gruncie, strop drewniany, system suchy lub mokry, obciążenie i sterowanie.",
      "isPartOf": {"@id": "https://projekt-ogrzewania.pl/#website"},
      "breadcrumb": {"@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#breadcrumb"},
      "primaryImageOfPage": {"@type": "ImageObject", "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp"},
      "datePublished": "2026-09-01",
      "dateModified": "2026-09-01",
      "inLanguage": "pl-PL"
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#breadcrumb",
      "itemListElement": [
        {"@type": "ListItem", "position": 1, "name": "Strona główna", "item": "https://projekt-ogrzewania.pl/"},
        {"@type": "ListItem", "position": 2, "name": "Blog", "item": "https://projekt-ogrzewania.pl/blog/"},
        {"@type": "ListItem", "position": 3, "name": "Ogrzewanie podłogowe w domu szkieletowym", "item": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/"}
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#application",
      "name": "Interaktywny audyt projektu podłogówki w domu szkieletowym",
      "url": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#rk-frame-audyt",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "Dowolny system z nowoczesną przeglądarką internetową",
      "browserRequirements": "Włączona obsługa JavaScript",
      "isAccessibleForFree": true,
      "inLanguage": "pl-PL",
      "description": "Narzędzie porządkuje dane konstrukcyjne, cieplne, wilgotnościowe i hydrauliczne dla podłogówki w domu szkieletowym oraz oblicza wymaganą moc jednostkową z podanej straty pomieszczenia i powierzchni czynnej.",
      "featureList": [
        "oddzielna analiza parteru i stropu",
        "audyt danych konstrukcyjnych",
        "audyt strat ciepła i charakterystyki systemu",
        "audyt wilgoci, szczelności i okładzin",
        "audyt hydrauliki i sterowania źródła",
        "obliczenie wymaganej mocy W/m²",
        "porównanie z mocą wpisaną z dokumentacji",
        "dynamiczny przekrój domu i lista kolejnych działań"
      ],
      "author": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"},
      "publisher": {"@id": "https://projekt-ogrzewania.pl/#organization"}
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#howto",
      "name": "Jak zaplanować ogrzewanie podłogowe w domu szkieletowym",
      "description": "Kolejność projektowania podłogówki z uwzględnieniem konstrukcji parteru, stropu, strat ciepła, przekrojów podłogi i hydrauliki.",
      "totalTime": "PT2H",
      "step": [
        {"@type": "HowToStep", "position": 1, "name": "Ustal konstrukcję każdej podłogi", "text": "Zidentyfikuj podłogę parteru, stropy, rozpiętości, podparcia i planowane warstwy."},
        {"@type": "HowToStep", "position": 2, "name": "Policz straty ciepła pomieszczeń", "text": "Wyznacz projektową stratę ciepła i rzeczywiście ogrzewaną powierzchnię każdego pomieszczenia."},
        {"@type": "HowToStep", "position": 3, "name": "Porównaj kompletne przekroje", "text": "Oceń system suchy i system z jastrychem pod kątem obciążenia, wysokości, akustyki, wilgoci i wydajności."},
        {"@type": "HowToStep", "position": 4, "name": "Oblicz instalację", "text": "Dobierz rozstaw, temperatury, długości pętli, przepływy, straty ciśnienia oraz nastawy rozdzielacza."},
        {"@type": "HowToStep", "position": 5, "name": "Skoordynuj detale budowlane", "text": "Uzgodnij dylatacje, okładziny, strefy bez rur, poziomy, akustykę i przejścia przez warstwy szczelne."},
        {"@type": "HowToStep", "position": 6, "name": "Wykonaj próbę i dokumentację", "text": "Przeprowadź próbę instalacji, udokumentuj przebieg rur, kontroluj wilgotność i uruchom ogrzewanie zgodnie z procedurą."}
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#faq",
      "mainEntity": [
        {"@type": "Question", "name": "Czy ogrzewanie podłogowe nadaje się do domu szkieletowego?", "acceptedAnswer": {"@type": "Answer", "text": "Tak. Trzeba jednak osobno zaprojektować podłogę parteru i każdy strop, uwzględniając konstrukcję, straty ciepła, powierzchnię czynną, okładziny oraz hydraulikę źródła."}},
        {"@type": "Question", "name": "Czy w domu szkieletowym musi być system suchy?", "acceptedAnswer": {"@type": "Answer", "text": "Nie. System suchy jest częstym wyborem na lekkim stropie, ale parter na gruncie lub płyta fundamentowa mogą mieć system z jastrychem. Decyzja wynika z konkretnego przekroju, a nie z technologii ścian."}},
        {"@type": "Question", "name": "Czy w domu szkieletowym można wykonać wylewkę?", "acceptedAnswer": {"@type": "Answer", "text": "Można, jeśli rozwiązanie przewiduje projekt konstrukcyjny i projekt warstw. Na stropie trzeba sprawdzić pełne obciążenie, ugięcie, drgania, wilgoć technologiczną, akustykę oraz wymagania okładziny."}},
        {"@type": "Question", "name": "Czy jastrych cementowy jest dopuszczalny na stropie drewnianym?", "acceptedAnswer": {"@type": "Answer", "text": "Nie da się odpowiedzieć na podstawie samej nazwy stropu. Dopuszczalność zależy od jego konstrukcji, rozpiętości, podparcia, pełnego ciężaru warstw i kryteriów użytkowalności. Potrzebna jest ocena konstruktora."}},
        {"@type": "Question", "name": "Czy jastrych anhydrytowy jest obowiązkowy w domu szkieletowym?", "acceptedAnswer": {"@type": "Answer", "text": "Nie. Rodzaj jastrychu dobiera się do kompletnego rozwiązania, wymagań konstrukcyjnych, wilgotnościowych, wykonawczych i okładziny. Sama technologia szkieletowa nie narzuca anhydrytu."}},
        {"@type": "Question", "name": "Jaka podłogówka na parterze domu szkieletowego?", "acceptedAnswer": {"@type": "Answer", "text": "Najpierw trzeba ustalić, czy jest to podłoga na gruncie, płyta fundamentowa czy strop nad przestrzenią nieogrzewaną. Na tej podstawie projektuje się izolację, warstwy, dylatacje oraz system suchy albo z jastrychem."}},
        {"@type": "Question", "name": "Jaka podłogówka na stropie drewnianym?", "acceptedAnswer": {"@type": "Answer", "text": "Często wybiera się lekki system suchy, lecz wymaga on odpowiedniej sztywności, rozprowadzania ciepła, akustyki i zgodności z okładziną. System z wylewką jest możliwy wyłącznie po pełnej weryfikacji konstrukcyjnej."}},
        {"@type": "Question", "name": "Ile waży ogrzewanie podłogowe na stropie?", "acceptedAnswer": {"@type": "Answer", "text": "Nie ma jednej wartości. Trzeba zsumować masę rur z wodą, płyt, profili lub jastrychu, izolacji, podsypek, okładziny, klejów i pozostałych warstw. Konstruktor ocenia kompletne obciążenie stałe."}},
        {"@type": "Question", "name": "Jaka temperatura zasilania podłogówki w domu szkieletowym?", "acceptedAnswer": {"@type": "Answer", "text": "Temperatura wynika z wymaganej mocy, charakterystyki konkretnego systemu, rozstawu, oporu okładziny, temperatury pomieszczenia i ograniczeń powierzchni. Nie ma jednej wartości właściwej dla wszystkich domów szkieletowych."}},
        {"@type": "Question", "name": "Jaki rozstaw rur stosować w domu szkieletowym?", "acceptedAnswer": {"@type": "Answer", "text": "Rozstaw dobiera się po obliczeniu straty ciepła i powierzchni czynnej, a następnie sprawdza wydajność konkretnego przekroju przy projektowych temperaturach. Technologia szkieletowa ani pompa ciepła nie wyznaczają go samodzielnie."}},
        {"@type": "Question", "name": "Czy pompa ciepła wymaga systemu suchego?", "acceptedAnswer": {"@type": "Answer", "text": "Nie. Pompa ciepła może współpracować z systemem suchym i mokrym. Istotne są możliwie niskie temperatury przy pokryciu obciążenia, wymagany przepływ, pojemność instalacji, zakres modulacji i sterowanie."}},
        {"@type": "Question", "name": "Czy do podłogówki w domu szkieletowym potrzebny jest bufor?", "acceptedAnswer": {"@type": "Answer", "text": "Nie zawsze. Potrzebę bufora określa się z wymagań konkretnego źródła, minimalnego przepływu, mocy minimalnej, objętości wody, sposobu odszraniania i pracy stref. Sama lekka konstrukcja nie rozstrzyga."}},
        {"@type": "Question", "name": "Czy warto stosować sterowanie strefowe?", "acceptedAnswer": {"@type": "Answer", "text": "Może pomagać przy różnych zyskach słonecznych i sposobach użytkowania, ale musi być skoordynowane z hydrauliką i minimalnym przepływem źródła. Nie zastąpi prawidłowego doboru mocy, temperatury i przepływów."}},
        {"@type": "Question", "name": "Czy panele i drewno nadają się na suche ogrzewanie podłogowe?", "acceptedAnswer": {"@type": "Answer", "text": "Tak, jeśli producent dopuszcza takie zastosowanie, a łączny opór okładziny z podkładem, maksymalna temperatura, wilgotność i sposób montażu są zgodne z projektem systemu."}},
        {"@type": "Question", "name": "Jak obliczyć wymaganą moc podłogi?", "acceptedAnswer": {"@type": "Answer", "text": "Projektową stratę ciepła pomieszczenia w watach dzieli się przez rzeczywiście ogrzewaną powierzchnię w metrach kwadratowych. Wynik w W/m² porównuje się z wydajnością wybranego przekroju dla konkretnych temperatur i okładziny."}},
        {"@type": "Question", "name": "Czy paroizolacja powinna być pod ogrzewaniem podłogowym?", "acceptedAnswer": {"@type": "Answer", "text": "Nie ma jednej odpowiedzi dla każdego przekroju. Lokalizację warstw kontrolujących parę i szczelność powietrzną określa projekt fizyki budowli. Przejścia instalacyjne muszą zachować ich ciągłość."}}
      ]
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#robert-kucharski",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/admin3399/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista HVAC",
      "worksFor": {"@id": "https://projekt-ogrzewania.pl/#organization"},
      "knowsAbout": [
        "ogrzewanie podłogowe",
        "ogrzewanie podłogowe w domu szkieletowym",
        "obliczenia strat ciepła",
        "hydraulika instalacji grzewczych",
        "projektowanie pętli grzewczych",
        "dobór pomp obiegowych",
        "równoważenie hydrauliczne",
        "koordynacja instalacji HVAC"
      ],
      "sameAs": [
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt Ogrzewania",
      "url": "https://projekt-ogrzewania.pl/",
      "founder": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"}
    },
    {
      "@type": "Organization",
      "@id": "https://remont.biz.pl/#organization",
      "name": "Remont.biz.pl",
      "url": "https://remont.biz.pl/"
    },
    {
      "@type": "Organization",
      "@id": "https://sobir.pl/#organization",
      "name": "Sobir.pl",
      "url": "https://sobir.pl/"
    },
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt Ogrzewania",
      "publisher": {"@id": "https://projekt-ogrzewania.pl/#organization"},
      "inLanguage": "pl-PL"
    }
  ]
}
</script>

<script>
(function () {
  "use strict";

  var root = document.getElementById("rk-frame-guide");
  if (!root) {
    return;
  }

  var fields = {
    groundType: document.getElementById("rk-frame-ground-type"),
    groundSystem: document.getElementById("rk-frame-ground-system"),
    upperType: document.getElementById("rk-frame-upper-type"),
    upperSystem: document.getElementById("rk-frame-upper-system"),
    structure: document.getElementById("rk-frame-struct-check"),
    heatloss: document.getElementById("rk-frame-heatloss-check"),
    covering: document.getElementById("rk-frame-covering-check"),
    systemData: document.getElementById("rk-frame-systemdata-check"),
    airtight: document.getElementById("rk-frame-airtight-check"),
    source: document.getElementById("rk-frame-source-check"),
    roomLoss: document.getElementById("rk-frame-room-loss"),
    activeArea: document.getElementById("rk-frame-active-area"),
    availableOutput: document.getElementById("rk-frame-available-output")
  };

  var output = {
    required: document.getElementById("rk-frame-out-required"),
    room: document.getElementById("rk-frame-out-room"),
    capacity: document.getElementById("rk-frame-out-capacity"),
    capacityNote: document.getElementById("rk-frame-out-capacity-note"),
    margin: document.getElementById("rk-frame-out-margin"),
    marginNote: document.getElementById("rk-frame-out-margin-note"),
    marginCard: document.getElementById("rk-frame-margin-card"),
    scoreValue: document.getElementById("rk-frame-score-value"),
    scoreFill: document.getElementById("rk-frame-score-fill"),
    scorePercent: document.getElementById("rk-frame-score-percent")
  };

  var panels = {
    structure: {
      box: document.getElementById("rk-frame-panel-structure"),
      title: document.getElementById("rk-frame-panel-structure-title"),
      text: document.getElementById("rk-frame-panel-structure-text")
    },
    thermal: {
      box: document.getElementById("rk-frame-panel-thermal"),
      title: document.getElementById("rk-frame-panel-thermal-title"),
      text: document.getElementById("rk-frame-panel-thermal-text")
    },
    physics: {
      box: document.getElementById("rk-frame-panel-physics"),
      title: document.getElementById("rk-frame-panel-physics-title"),
      text: document.getElementById("rk-frame-panel-physics-text")
    },
    hydraulics: {
      box: document.getElementById("rk-frame-panel-hydraulics"),
      title: document.getElementById("rk-frame-panel-hydraulics-title"),
      text: document.getElementById("rk-frame-panel-hydraulics-text")
    }
  };

  var visual = {
    groundBand: document.getElementById("rk-frame-svg-ground-band"),
    upperBand: document.getElementById("rk-frame-svg-upper-band"),
    groundTitle: document.getElementById("rk-frame-svg-ground-title"),
    groundSystem: document.getElementById("rk-frame-svg-ground-system"),
    upperTitle: document.getElementById("rk-frame-svg-upper-title"),
    upperSystem: document.getElementById("rk-frame-svg-upper-system"),
    groundSummaryTitle: document.getElementById("rk-frame-ground-summary-title"),
    groundSummaryText: document.getElementById("rk-frame-ground-summary-text"),
    upperSummaryTitle: document.getElementById("rk-frame-upper-summary-title"),
    upperSummaryText: document.getElementById("rk-frame-upper-summary-text"),
    upperSummaryCard: document.getElementById("rk-frame-upper-summary-card"),
    description: document.getElementById("rk-frame-house-desc")
  };

  var actions = document.getElementById("rk-frame-audit-actions");
  var reset = document.getElementById("rk-frame-reset");

  var groundLabels = {
    ground: "Podłoga na gruncie",
    slab: "Płyta fundamentowa",
    unheated: "Strop nad przestrzenią nieogrzewaną",
    na: "Parter nieobjęty analizą"
  };

  var upperLabels = {
    timber: "Strop belkowy drewniany",
    clt: "Płyta CLT / strop masywny drewniany",
    concrete: "Strop betonowy",
    none: "Brak ogrzewanego piętra"
  };

  var systemLabels = {
    undecided: "System jeszcze nie wybrany",
    dry: "Planowany system suchy",
    wet: "Planowany system z jastrychem",
    na: "System nie dotyczy"
  };

  function numberValue(field) {
    var value = Number(String(field.value).replace(",", "."));
    if (!Number.isFinite(value)) {
      return 0;
    }
    return value;
  }

  function formatNumber(value, digits) {
    if (!Number.isFinite(value)) {
      return "—";
    }
    return value.toLocaleString("pl-PL", {
      minimumFractionDigits: digits,
      maximumFractionDigits: digits
    });
  }

  function setPanel(panel, state, title, textValue) {
    panel.box.setAttribute("data-state", state);
    panel.title.textContent = title;
    panel.text.textContent = textValue;
  }

  function actionItem(className, title, textValue) {
    var item = document.createElement("div");
    var strong = document.createElement("strong");
    var textNode = document.createTextNode(" " + textValue);
    item.className = "rk-frame-audit-action " + className;
    strong.textContent = title;
    item.appendChild(strong);
    item.appendChild(textNode);
    actions.appendChild(item);
  }

  function systemColor(value) {
    if (value === "dry") {
      return "#29c4da";
    }
    if (value === "wet") {
      return "#ff6846";
    }
    if (value === "na") {
      return "#9aabb3";
    }
    return "#f3b51b";
  }

  function groundDescription(value) {
    if (value === "slab") {
      return "Uzgodnij położenie rur, strefy konstrukcyjne, przebicia, izolację, akumulację i sposób regulacji.";
    }
    if (value === "unheated") {
      return "Sprawdź konstrukcję stropu, izolacyjność w dół, mostki, akustykę i pełne obciążenie warstw.";
    }
    if (value === "na") {
      return "Ta kondygnacja nie została objęta audytem. Wynik dotyczy pozostałych zaznaczonych części budynku.";
    }
    return "Ustal przekrój cieplny, izolację, hydroizolację, dylatacje, wysokości i stabilność podłoża.";
  }

  function upperDescription(value) {
    if (value === "clt") {
      return "Sprawdź obciążenie, połączenia, akustykę, wilgoć i sposób mocowania wszystkich warstw do płyty.";
    }
    if (value === "concrete") {
      return "Uzgodnij obciążenie, wysokość, akustykę, dylatacje i wilgoć technologiczną całego przekroju.";
    }
    if (value === "none") {
      return "Brak ogrzewanego piętra — część audytu dotycząca stropu jest traktowana jako nieobjęta zakresem.";
    }
    return "Sprawdź nośność, ugięcie, drgania, akustykę, odporność ogniową i pełny ciężar warstw.";
  }

  function updateVisual() {
    var groundType = fields.groundType.value;
    var upperType = fields.upperType.value;
    var groundSystem = fields.groundSystem.value;
    var upperSystem = fields.upperSystem.value;

    visual.groundTitle.textContent = groundLabels[groundType];
    visual.groundSystem.textContent = systemLabels[groundSystem];
    visual.upperTitle.textContent = upperLabels[upperType];
    visual.upperSystem.textContent = upperType === "none" ? "System nie dotyczy" : systemLabels[upperSystem];
    visual.groundSummaryTitle.textContent = groundLabels[groundType] + " — " + systemLabels[groundSystem].toLowerCase();
    visual.groundSummaryText.textContent = groundDescription(groundType);
    visual.upperSummaryTitle.textContent = upperLabels[upperType] + (upperType === "none" ? "" : " — " + systemLabels[upperSystem].toLowerCase());
    visual.upperSummaryText.textContent = upperDescription(upperType);
    visual.groundBand.setAttribute("fill", systemColor(groundSystem));

    if (upperType === "none") {
      visual.upperBand.setAttribute("fill", "#9aabb3");
      visual.upperBand.setAttribute("opacity", "0.25");
      visual.upperSummaryCard.style.opacity = "0.68";
    } else {
      visual.upperBand.setAttribute("fill", systemColor(upperSystem));
      visual.upperBand.setAttribute("opacity", "0.82");
      visual.upperSummaryCard.style.opacity = "1";
    }

    visual.description.textContent = groundLabels[groundType] + " z ustawieniem: " + systemLabels[groundSystem] + ". " + upperLabels[upperType] + (upperType === "none" ? "." : " z ustawieniem: " + systemLabels[upperSystem] + ".");
  }

  function updateThermalResults() {
    var loss = Math.max(0, numberValue(fields.roomLoss));
    var area = Math.max(0, numberValue(fields.activeArea));
    var available = Math.max(0, numberValue(fields.availableOutput));
    var required = 0;

    output.room.textContent = loss > 0 ? formatNumber(loss, 0) + " W" : "—";

    if (loss > 0) {
      if (area > 0) {
        required = loss / area;
        output.required.textContent = formatNumber(required, 1) + " W/m²";
      } else {
        output.required.textContent = "—";
      }
    } else {
      output.required.textContent = "—";
    }

    if (available > 0) {
      if (area > 0) {
        var capacity = available * area;
        var margin = capacity - loss;
        output.capacity.textContent = formatNumber(capacity, 0) + " W";
        output.capacityNote.textContent = formatNumber(available, 1) + " W/m² × " + formatNumber(area, 1) + " m²";

        if (loss > 0) {
          output.margin.textContent = (margin >= 0 ? "+" : "") + formatNumber(margin, 0) + " W";
          if (margin >= 0) {
            output.marginCard.className = "rk-frame-result-card is-green";
            output.marginNote.textContent = "bilans arytmetyczny nie zastępuje kontroli temperatury powierzchni";
          } else {
            output.marginCard.className = "rk-frame-result-card is-danger";
            output.marginNote.textContent = "wpisana moc nie pokrywa straty pomieszczenia";
          }
        } else {
          output.margin.textContent = "—";
          output.marginCard.className = "rk-frame-result-card";
          output.marginNote.textContent = "wpisz dodatnią stratę pomieszczenia";
        }
      } else {
        output.capacity.textContent = "—";
        output.capacityNote.textContent = "wpisz dodatnią powierzchnię czynną";
        output.margin.textContent = "—";
        output.marginCard.className = "rk-frame-result-card is-danger";
        output.marginNote.textContent = "brak poprawnej geometrii";
      }
    } else {
      output.capacity.textContent = "Nie oceniono";
      output.capacityNote.textContent = "wpisz potwierdzoną moc systemu";
      output.margin.textContent = "Nie oceniono";
      output.marginCard.className = "rk-frame-result-card";
      output.marginNote.textContent = "brak danych systemowych";
    }
  }

  function updateAudit() {
    var groundType = fields.groundType.value;
    var groundSystem = fields.groundSystem.value;
    var upperType = fields.upperType.value;
    var upperSystem = fields.upperSystem.value;
    var structureValue = fields.structure.value;
    var heatlossValue = fields.heatloss.value;
    var coveringValue = fields.covering.value;
    var systemDataValue = fields.systemData.value;
    var airtightValue = fields.airtight.value;
    var sourceValue = fields.source.value;
    var loss = Math.max(0, numberValue(fields.roomLoss));
    var area = Math.max(0, numberValue(fields.activeArea));
    var available = Math.max(0, numberValue(fields.availableOutput));
    var completeCount = 0;
    var structureState = "missing";
    var thermalState = "missing";
    var physicsState = "missing";
    var hydraulicsState = "missing";
    var groundDecided = groundSystem !== "undecided";
    var upperDecided = upperSystem !== "undecided";
    var upperPresent = upperType !== "none";
    var structuralNeeded = upperPresent;
    var wetSystem = groundSystem === "wet";
    var criticalWetStrop = false;

    if (upperPresent) {
      if (upperSystem === "wet") {
        wetSystem = true;
        if (upperType === "timber") {
          criticalWetStrop = true;
        }
        if (upperType === "clt") {
          criticalWetStrop = true;
        }
      }
    } else {
      upperDecided = true;
    }

    if (groundType === "unheated") {
      structuralNeeded = true;
    }

    if (structuralNeeded) {
      if (structureValue === "yes") {
        if (groundDecided) {
          if (upperDecided) {
            structureState = "complete";
            setPanel(panels.structure, "complete", "Dane zadeklarowane jako kompletne", "Konstrukcja i planowane typy systemów zostały wskazane. Zachowaj obliczenia oraz uzgodnione przekroje w dokumentacji.");
          } else {
            structureState = "partial";
            setPanel(panels.structure, "partial", "Konstrukcja sprawdzona, system nieustalony", "Wybierz przekrój piętra dopiero po porównaniu pełnych warstw i wydajności.");
          }
        } else {
          structureState = "partial";
          setPanel(panels.structure, "partial", "Konstrukcja sprawdzona, system nieustalony", "Wybierz przekrój parteru dopiero po porównaniu pełnych warstw i wydajności.");
        }
      } else {
        structureState = "missing";
        if (criticalWetStrop) {
          setPanel(panels.structure, "missing", "Krytyczna luka dla mokrego stropu", "Planowany jastrych na konstrukcji drewnianej wymaga sprawdzenia obciążeń, ugięcia, drgań i wszystkich warstw przez konstruktora.");
        } else {
          setPanel(panels.structure, "missing", "Brakuje oceny konstrukcyjnej", "Potwierdź obciążenia, ugięcie, drgania i komplet warstw dla stropu lub podłogi nad przestrzenią.");
        }
      }
    } else {
      if (groundDecided) {
        structureState = "complete";
        setPanel(panels.structure, "complete", "Zakres bez ogrzewanego stropu", "W audycie nie wskazano ogrzewanego piętra. Przekrój parteru nadal musi być zgodny z dokumentacją budowlaną.");
      } else {
        structureState = "partial";
        setPanel(panels.structure, "partial", "Ustal przekrój parteru", "Brak piętra nie zwalnia z zaprojektowania warstw podłogi parteru.");
      }
    }

    if (structureState === "complete") {
      completeCount += 1;
    }

    if (heatlossValue === "yes") {
      if (loss > 0) {
        if (area > 0) {
          if (systemDataValue === "yes") {
            if (available > 0) {
              thermalState = "complete";
              setPanel(panels.thermal, "complete", "Dane cieplne zadeklarowane jako kompletne", "Są straty pomieszczenia, powierzchnia czynna i wydajność systemu dla warunków, które należy zachować w projekcie.");
            } else {
              thermalState = "partial";
              setPanel(panels.thermal, "partial", "Brakuje wartości wydajności", "Zaznaczono posiadanie charakterystyki, ale nie wpisano dodatniej mocy systemu w W/m².");
            }
          } else {
            thermalState = "partial";
            setPanel(panels.thermal, "partial", "Obciążenie policzone, system niezweryfikowany", "Masz podstawę do wyznaczenia q wymaganego, lecz brakuje wydajności konkretnego przekroju dla rozstawu, temperatur i okładziny.");
          }
        } else {
          thermalState = "missing";
          setPanel(panels.thermal, "missing", "Brakuje powierzchni czynnej", "Wpisz dodatnią, rzeczywiście ogrzewaną powierzchnię pomieszczenia.");
        }
      } else {
        thermalState = "missing";
        setPanel(panels.thermal, "missing", "Brakuje straty pomieszczenia", "Wpisz dodatnią wartość Q wynikającą z obliczeń dla konkretnego pomieszczenia.");
      }
    } else {
      thermalState = "missing";
      setPanel(panels.thermal, "missing", "Brakuje obliczeń strat ciepła", "Nie dobieraj rozstawu i temperatury wyłącznie z powierzchni domu lub technologii ścian.");
    }

    if (thermalState === "complete") {
      completeCount += 1;
    }

    if (wetSystem) {
      if (coveringValue === "yes") {
        if (airtightValue === "yes") {
          physicsState = "complete";
          setPanel(panels.physics, "complete", "Okładziny i wilgoć skoordynowane", "Przy systemie mokrym zachowaj procedurę wysychania, pomiarów oraz ciągłość warstw budowlanych.");
        } else {
          physicsState = "missing";
          setPanel(panels.physics, "missing", "Mokry proces wymaga koordynacji", "Dla jastrychu potwierdź wilgoć technologiczną, warunki zamknięcia drewna i ciągłość warstw szczelnych.");
        }
      } else {
        physicsState = "missing";
        setPanel(panels.physics, "missing", "Brakuje danych okładziny", "Potwierdź opór, temperaturę, wilgotność i wymagania podłoża; przy jastrychu także plan wysychania.");
      }
    } else {
      if (coveringValue === "yes") {
        if (airtightValue === "yes") {
          physicsState = "complete";
          setPanel(panels.physics, "complete", "Dane zadeklarowane jako kompletne", "Okładziny oraz warstwy kontroli wilgoci i szczelności zostały wskazane jako uzgodnione.");
        } else if (airtightValue === "na") {
          physicsState = "complete";
          setPanel(panels.physics, "complete", "Dane zadeklarowane jako kompletne", "Okładziny są znane, a użytkownik oznaczył koordynację warstw jako nieobjętą danym detalem.");
        } else {
          physicsState = "partial";
          setPanel(panels.physics, "partial", "Okładzina znana, detal nieuzgodniony", "Sprawdź ciągłość warstw szczelnych i wszystkie przejścia instalacyjne w przekroju.");
        }
      } else {
        physicsState = "missing";
        setPanel(panels.physics, "missing", "Brakuje danych okładziny", "Bez oporu i ograniczeń wykończenia nie można potwierdzić mocy ani temperatury powierzchni.");
      }
    }

    if (physicsState === "complete") {
      completeCount += 1;
    }

    if (sourceValue === "yes") {
      hydraulicsState = "complete";
      setPanel(panels.hydraulics, "complete", "Wymagania źródła są znane", "Skoordynuj je z przepływami pętli, pompą obiegową, sterowaniem stref i zakresem temperatur.");
    } else {
      hydraulicsState = "missing";
      setPanel(panels.hydraulics, "missing", "Brakuje wymagań hydraulicznych", "Sprawdź minimalny przepływ, moc minimalną, pojemność, temperatury oraz logikę regulacji źródła.");
    }

    if (hydraulicsState === "complete") {
      completeCount += 1;
    }

    var percent = completeCount / 4 * 100;
    output.scoreValue.textContent = completeCount + "/4";
    output.scorePercent.textContent = formatNumber(percent, 0) + "%";
    output.scoreFill.style.width = String(percent) + "%";

    actions.textContent = "";

    if (structureState !== "complete") {
      if (criticalWetStrop) {
        actionItem("is-critical", "Najpierw konstruktor.", "Przed zatwierdzeniem jastrychu na drewnianym stropie potrzebne są pełne obliczenia warstw i użytkowalności.");
      } else {
        actionItem("", "Uzupełnij konstrukcję.", "Zatwierdź przekroje, obciążenia, ugięcie i drgania przed zamówieniem materiału.");
      }
    }

    if (thermalState !== "complete") {
      actionItem("", "Uzupełnij termikę.", "Policz straty pomieszczeń, powierzchnie czynne i zdobądź charakterystykę wybranego przekroju.");
    }

    if (physicsState !== "complete") {
      actionItem("", "Skoordynuj warstwy.", "Potwierdź okładziny, opór, wilgoć, szczelność, akustykę oraz kolejność zamykania przegród.");
    }

    if (hydraulicsState !== "complete") {
      actionItem("", "Sprawdź źródło i przepływy.", "Ustal wymagania źródła, oblicz pętle oraz zaplanuj pracę pompy i sterowania strefowego.");
    }

    if (completeCount === 4) {
      actionItem("is-complete", "Cztery grupy danych zadeklarowane.", "To dobry moment na weryfikację ich spójności na jednym rzucie i w zestawieniu hydraulicznym.");
      actionItem("", "Zachowaj dokumenty źródłowe.", "Wynik audytu nie potwierdza poprawności wartości — do projektu dołącz obliczenia, charakterystyki i uzgodnione przekroje.");
    }
  }

  function update() {
    updateVisual();
    updateThermalResults();
    updateAudit();
  }

  Object.keys(fields).forEach(function (key) {
    fields[key].addEventListener("input", update);
    fields[key].addEventListener("change", update);
  });

  reset.addEventListener("click", function () {
    fields.groundType.value = "ground";
    fields.groundSystem.value = "undecided";
    fields.upperType.value = "timber";
    fields.upperSystem.value = "undecided";
    fields.structure.value = "no";
    fields.heatloss.value = "no";
    fields.covering.value = "no";
    fields.systemData.value = "no";
    fields.airtight.value = "no";
    fields.source.value = "no";
    fields.roomLoss.value = "900";
    fields.activeArea.value = "18";
    fields.availableOutput.value = "0";
    update();
  });

  update();
})();
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/">Ogrzewanie podłogowe w domu szkieletowym – kluczowe różnice i pułapki.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Grubość wylewki betonowej na ogrzewanie podłogowe.</title>
		<link>https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 14 Mar 2026 14:21:33 +0000</pubDate>
				<category><![CDATA[Błędy wykonawcze]]></category>
		<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Kalkulatory budowlane]]></category>
		<category><![CDATA[Materiały budowlane]]></category>
		<category><![CDATA[Narzędzia i kalkulatory]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Posadzki i wylewki]]></category>
		<category><![CDATA[bezwładność cieplna]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[dylatacje]]></category>
		<category><![CDATA[grubość wylewki]]></category>
		<category><![CDATA[jastrych cementowy]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[opór cieplny]]></category>
		<category><![CDATA[plastyfikator do betonu]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[posadzki]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[wylewka anhydrytowa]]></category>
		<category><![CDATA[wylewka betonowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3831</guid>

					<description><![CDATA[<p>Decyzja o montażu „podłogówki” to zaledwie początek wyzwań, z jakimi musisz się zmierzyć podczas budowy lub remontu domu. Jednym z kluczowych parametrów, który bezpośrednio wpłynie na sprawność instalacji, wysokość rachunków za energię oraz trwałość samej posadzki, jest odpowiednia grubość wylewki betonowej na ogrzewanie podłogowe. Zbyt cienka warstwa to ogromne ryzyko pęknięć i nierównomiernego rozkładu temperatur (tzw. efekt „zebry”). Z kolei zbyt masywny jastrych drastycznie zwiększy bezwładność cieplną systemu, sprawiając, że dom będzie nagrzewał się wolno, a koszty eksploatacji niepotrzebnie wzrosną. W tym artykule rozkładamy na czynniki pierwsze fizykę przenikania ciepła, tłumaczymy obowiązujące normy i podpowiadamy, jak uniknąć kosztownych błędów wykonawczych.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/">Grubość wylewki betonowej na ogrzewanie podłogowe.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-screed-guide {
    --rk-dark: #102536;
    --rk-navy: #14384d;
    --rk-blue: #078fbe;
    --rk-cyan: #28c9da;
    --rk-cyan-soft: #eafcff;
    --rk-orange: #ff6238;
    --rk-red: #d83c2f;
    --rk-green: #178265;
    --rk-green-soft: #ebf8f3;
    --rk-yellow: #f2b441;
    --rk-ink: #1d2c3a;
    --rk-text: #465a6b;
    --rk-muted: #687b89;
    --rk-line: #d9e7ed;
    --rk-soft: #f5f9fb;
    --rk-warm: #fff4ef;
    --rk-white: #ffffff;
    width: 100%;
    max-width: 1480px;
    margin: 32px auto 70px;
    color: var(--rk-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 18px;
    line-height: 1.78;
  }

  #rk-screed-guide,
  #rk-screed-guide * {
    box-sizing: border-box;
  }

  #rk-screed-guide img,
  #rk-screed-guide svg {
    max-width: 100%;
  }

  #rk-screed-guide button,
  #rk-screed-guide input,
  #rk-screed-guide a,
  #rk-screed-guide summary {
    -webkit-tap-highlight-color: transparent;
  }

  #rk-screed-guide a {
    color: var(--rk-blue);
    font-weight: 780;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  #rk-screed-guide a:hover {
    color: var(--rk-red);
  }

  #rk-screed-guide h2,
  #rk-screed-guide h3,
  #rk-screed-guide h4 {
    margin-top: 0;
    color: var(--rk-dark);
    font-weight: 900;
    letter-spacing: -0.035em;
    line-height: 1.16;
  }

  #rk-screed-guide h2 {
    margin-bottom: 18px;
    font-size: clamp(1.65rem, 3.6vw, 2.65rem);
  }

  #rk-screed-guide h3 {
    margin-bottom: 12px;
    font-size: clamp(1.18rem, 2.5vw, 1.58rem);
  }

  #rk-screed-guide h4 {
    margin-bottom: 8px;
    font-size: 1.02rem;
    letter-spacing: -0.015em;
  }

  #rk-screed-guide h2::before,
  #rk-screed-guide h2::after,
  #rk-screed-guide h3::before,
  #rk-screed-guide h3::after,
  #rk-screed-guide h4::before,
  #rk-screed-guide h4::after {
    content: none !important;
    display: none !important;
  }

  #rk-screed-guide p {
    margin: 0 0 1.22em;
    color: var(--rk-text);
  }

  #rk-screed-guide strong {
    color: var(--rk-dark);
  }

  #rk-screed-guide section[id] {
    scroll-margin-top: 28px;
  }

  #rk-screed-guide .rk-screed-shell {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 30px;
    background: var(--rk-white);
    box-shadow: 0 25px 70px rgba(16, 37, 54, 0.12);
  }

  #rk-screed-guide .rk-screed-progress-track {
    position: sticky;
    z-index: 40;
    top: 0;
    width: 100%;
    height: 5px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.88);
  }

  #rk-screed-guide .rk-screed-progress {
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--rk-cyan), var(--rk-blue), var(--rk-orange));
  }

  #rk-screed-guide .rk-screed-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(38px, 6.5vw, 78px);
    color: var(--rk-white);
    background:
      radial-gradient(circle at 88% 13%, rgba(255, 98, 56, 0.31), transparent 28%),
      radial-gradient(circle at 78% 78%, rgba(40, 201, 218, 0.22), transparent 33%),
      linear-gradient(135deg, #0d2230 0%, #143b50 58%, #09647e 100%);
  }

  #rk-screed-guide .rk-screed-hero::before,
  #rk-screed-guide .rk-screed-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
  }

  #rk-screed-guide .rk-screed-hero::before {
    right: -120px;
    bottom: -175px;
    width: 400px;
    height: 400px;
    border: 58px solid rgba(255, 255, 255, 0.055);
  }

  #rk-screed-guide .rk-screed-hero::after {
    right: 145px;
    bottom: -125px;
    width: 235px;
    height: 235px;
    border: 34px solid rgba(255, 98, 56, 0.12);
  }

  #rk-screed-guide .rk-screed-badge {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    margin: 0 0 24px;
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    color: var(--rk-white);
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.73rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  #rk-screed-guide .rk-screed-badge::before {
    content: "";
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border-radius: 50%;
    background: var(--rk-orange);
    box-shadow: 0 0 0 6px rgba(255, 98, 56, 0.18);
  }

  #rk-screed-guide .rk-screed-hero h2 {
    max-width: 1040px;
    margin-bottom: 24px;
    color: var(--rk-white);
    font-size: clamp(2rem, 5.05vw, 3.85rem);
    letter-spacing: -0.055em;
  }

  #rk-screed-guide .rk-screed-hero h2 span {
    color: #83edf5;
  }

  #rk-screed-guide .rk-screed-hook {
    max-width: 930px;
    margin: 0 0 21px;
    padding: 19px 21px;
    border-left: 5px solid var(--rk-orange);
    border-radius: 0 15px 15px 0;
    background: rgba(255, 255, 255, 0.09);
  }

  #rk-screed-guide .rk-screed-hook p,
  #rk-screed-guide .rk-screed-hook strong,
  #rk-screed-guide .rk-screed-hero-lead {
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-hook p {
    margin: 0;
    font-size: clamp(1rem, 2vw, 1.16rem);
    line-height: 1.67;
  }

  #rk-screed-guide .rk-screed-hero-lead {
    max-width: 930px;
    font-size: 1.03rem;
  }

  #rk-screed-guide .rk-screed-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 24px;
    color: #cde0e7;
    font-size: 0.72rem;
    font-weight: 770;
  }

  #rk-screed-guide .rk-screed-hero-meta span::before {
    content: "•";
    margin-right: 8px;
    color: var(--rk-orange);
  }

  #rk-screed-guide .rk-screed-author-strip {
    display: flex;
    gap: 13px;
    align-items: center;
    margin-top: 26px;
  }

  #rk-screed-guide .rk-screed-author-strip img {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    border: 3px solid rgba(255, 255, 255, 0.85);
    border-radius: 50%;
    object-fit: cover;
  }

  #rk-screed-guide .rk-screed-author-strip b,
  #rk-screed-guide .rk-screed-author-strip small {
    display: block;
  }

  #rk-screed-guide .rk-screed-author-strip b {
    color: var(--rk-white);
    font-size: 0.88rem;
  }

  #rk-screed-guide .rk-screed-author-strip small {
    color: #cde0e7;
    font-size: 0.7rem;
    line-height: 1.45;
  }

  #rk-screed-guide .rk-screed-content {
    padding: clamp(30px, 5.7vw, 72px);
  }

  #rk-screed-guide .rk-screed-learn {
    margin-bottom: 36px;
  }

  #rk-screed-guide .rk-screed-learn > strong {
    display: block;
    margin-bottom: 16px;
    font-size: 1.12rem;
  }

  #rk-screed-guide .rk-screed-learn-grid,
  #rk-screed-guide .rk-screed-card-grid,
  #rk-screed-guide .rk-screed-error-grid,
  #rk-screed-guide .rk-screed-check-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  #rk-screed-guide .rk-screed-learn-card,
  #rk-screed-guide .rk-screed-card,
  #rk-screed-guide .rk-screed-error,
  #rk-screed-guide .rk-screed-check {
    min-width: 0;
    padding: 21px;
    border: 1px solid var(--rk-line);
    border-radius: 19px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-learn-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
  }

  #rk-screed-guide .rk-screed-no,
  #rk-screed-guide .rk-screed-card-icon,
  #rk-screed-guide .rk-screed-error-no,
  #rk-screed-guide .rk-screed-check-no {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 14px;
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: 0.72rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-learn-card h4,
  #rk-screed-guide .rk-screed-learn-card p,
  #rk-screed-guide .rk-screed-card h4,
  #rk-screed-guide .rk-screed-card p,
  #rk-screed-guide .rk-screed-error h4,
  #rk-screed-guide .rk-screed-error p,
  #rk-screed-guide .rk-screed-check h4,
  #rk-screed-guide .rk-screed-check p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-learn-card p,
  #rk-screed-guide .rk-screed-card p,
  #rk-screed-guide .rk-screed-error p,
  #rk-screed-guide .rk-screed-check p {
    margin-top: 6px;
    font-size: 0.84rem;
    line-height: 1.58;
  }

  #rk-screed-guide .rk-screed-nav {
    margin-bottom: 46px;
    padding: 22px;
    border: 1px solid #cce4ec;
    border-radius: 19px;
    background: var(--rk-cyan-soft);
  }

  #rk-screed-guide .rk-screed-nav > strong {
    display: block;
    margin-bottom: 12px;
  }

  #rk-screed-guide .rk-screed-nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  #rk-screed-guide .rk-screed-nav a {
    padding: 7px 11px;
    border: 1px solid #bfdbe5;
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: 0.72rem;
    text-decoration: none;
  }

  #rk-screed-guide .rk-screed-nav a:hover {
    color: var(--rk-white);
    border-color: var(--rk-blue);
    background: var(--rk-blue);
  }

  #rk-screed-guide .rk-screed-section {
    margin-top: 64px;
  }

  #rk-screed-guide .rk-screed-section-head {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 17px;
    align-items: start;
    margin-bottom: 25px;
  }

  #rk-screed-guide .rk-screed-section-head h2,
  #rk-screed-guide .rk-screed-section-head p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-section-head p {
    margin-top: 8px;
    font-size: 0.88rem;
  }

  #rk-screed-guide .rk-screed-section-no {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 16px;
    color: var(--rk-white);
    background: linear-gradient(145deg, var(--rk-orange), var(--rk-red));
    font-size: 0.78rem;
    font-weight: 900;
    box-shadow: 0 11px 23px rgba(216, 60, 47, 0.2);
  }

  #rk-screed-guide .rk-screed-answer,
  #rk-screed-guide .rk-screed-truth,
  #rk-screed-guide .rk-screed-warning,
  #rk-screed-guide .rk-screed-note,
  #rk-screed-guide .rk-screed-formula {
    margin: 24px 0;
    padding: 24px;
    border-radius: 20px;
  }

  #rk-screed-guide .rk-screed-answer {
    border: 1px solid #bde3eb;
    border-left: 6px solid var(--rk-cyan);
    background: var(--rk-cyan-soft);
  }

  #rk-screed-guide .rk-screed-truth {
    border: 1px solid #f2c5b6;
    border-left: 6px solid var(--rk-orange);
    background: var(--rk-warm);
  }

  #rk-screed-guide .rk-screed-warning {
    border: 1px solid #f0cfd0;
    border-left: 6px solid var(--rk-red);
    background: #fff5f5;
  }

  #rk-screed-guide .rk-screed-note {
    border: 1px solid #cbe6da;
    border-left: 6px solid var(--rk-green);
    background: var(--rk-green-soft);
  }

  #rk-screed-guide .rk-screed-answer p,
  #rk-screed-guide .rk-screed-truth p,
  #rk-screed-guide .rk-screed-warning p,
  #rk-screed-guide .rk-screed-note p,
  #rk-screed-guide .rk-screed-formula p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-card-grid.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #rk-screed-guide .rk-screed-card-grid.four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #rk-screed-guide .rk-screed-card {
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-card-icon {
    margin-bottom: 15px;
    background: linear-gradient(145deg, var(--rk-blue), var(--rk-cyan));
  }

  #rk-screed-guide .rk-screed-list {
    margin: 18px 0 24px;
    padding: 0;
    list-style: none;
  }

  #rk-screed-guide .rk-screed-list li {
    position: relative;
    margin: 9px 0;
    padding-left: 31px;
    color: var(--rk-text);
  }

  #rk-screed-guide .rk-screed-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0.08em;
    display: grid;
    width: 20px;
    height: 20px;
    place-items: center;
    border-radius: 50%;
    color: var(--rk-white);
    background: var(--rk-green);
    font-size: 0.66rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-table-wrap {
    margin: 24px 0;
  }

  #rk-screed-guide .rk-screed-table {
    width: 100%;
    border-spacing: 0;
    border-collapse: separate;
    table-layout: fixed;
    border: 1px solid var(--rk-line);
    border-radius: 19px;
    overflow: hidden;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-table th,
  #rk-screed-guide .rk-screed-table td {
    overflow-wrap: anywhere;
    padding: 15px 16px;
    border-right: 1px solid var(--rk-line);
    border-bottom: 1px solid var(--rk-line);
    text-align: left;
    vertical-align: top;
  }

  #rk-screed-guide .rk-screed-table th:last-child,
  #rk-screed-guide .rk-screed-table td:last-child {
    border-right: 0;
  }

  #rk-screed-guide .rk-screed-table tr:last-child td {
    border-bottom: 0;
  }

  #rk-screed-guide .rk-screed-table th {
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: 0.76rem;
    line-height: 1.4;
  }

  #rk-screed-guide .rk-screed-table td {
    color: var(--rk-text);
    font-size: 0.8rem;
    line-height: 1.55;
  }

  #rk-screed-guide .rk-screed-table tbody tr:nth-child(even) td {
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-flow {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 9px;
    margin: 25px 0 18px;
  }

  #rk-screed-guide .rk-screed-flow-step {
    min-width: 0;
    padding: 16px 12px;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font: inherit;
    font-size: 0.74rem;
    font-weight: 850;
    line-height: 1.4;
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-flow-step:hover,
  #rk-screed-guide .rk-screed-flow-step.is-active {
    color: var(--rk-white);
    border-color: var(--rk-blue);
    background: var(--rk-blue);
  }

  #rk-screed-guide .rk-screed-flow-detail {
    min-height: 150px;
    padding: 23px;
    border: 1px solid #cde5ec;
    border-radius: 19px;
    background: var(--rk-cyan-soft);
  }

  #rk-screed-guide .rk-screed-flow-detail h3,
  #rk-screed-guide .rk-screed-flow-detail p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-flow-detail p {
    margin-top: 9px;
  }

  #rk-screed-guide .rk-screed-formula {
    border: 1px solid #c6dce5;
    background: var(--rk-dark);
  }

  #rk-screed-guide .rk-screed-formula strong,
  #rk-screed-guide .rk-screed-formula p,
  #rk-screed-guide .rk-screed-formula code {
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-formula code {
    display: block;
    margin: 13px 0;
    padding: 15px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.07);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.82rem;
    line-height: 1.65;
    white-space: normal;
  }

  #rk-screed-guide .rk-screed-architectures {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
    margin: 25px 0;
  }

  #rk-screed-guide .rk-screed-architecture {
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-architecture > span {
    display: inline-flex;
    margin-bottom: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    color: var(--rk-white);
    background: var(--rk-orange);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  #rk-screed-guide .rk-screed-nodes {
    display: grid;
    gap: 8px;
    margin: 17px 0;
  }

  #rk-screed-guide .rk-screed-node {
    position: relative;
    padding: 12px;
    border: 1px solid #cbdde5;
    border-radius: 12px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: 0.76rem;
    font-weight: 820;
    text-align: center;
  }

  #rk-screed-guide .rk-screed-node + .rk-screed-node::before {
    content: "↓";
    position: absolute;
    top: -16px;
    left: 50%;
    color: var(--rk-orange);
    font-size: 1rem;
    transform: translateX(-50%);
  }

  #rk-screed-guide .rk-screed-architecture p {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.58;
  }

  #rk-screed-guide .rk-screed-lab {
    overflow: hidden;
    margin: 28px 0;
    border: 1px solid #c9e1e9;
    border-radius: 25px;
    background: var(--rk-white);
    box-shadow: 0 18px 45px rgba(16, 37, 54, 0.1);
  }

  #rk-screed-guide .rk-screed-lab-head {
    padding: 25px;
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-dark), var(--rk-navy));
  }

  #rk-screed-guide .rk-screed-lab-head h3,
  #rk-screed-guide .rk-screed-lab-head p {
    margin: 0;
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-lab-head p {
    margin-top: 8px;
    color: #cfe2e8;
    font-size: 0.87rem;
  }

  #rk-screed-guide .rk-screed-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 17px;
  }

  #rk-screed-guide .rk-screed-preset {
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 999px;
    color: var(--rk-white);
    background: rgba(255, 255, 255, 0.08);
    font: inherit;
    font-size: 0.7rem;
    font-weight: 850;
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-preset:hover,
  #rk-screed-guide .rk-screed-preset.is-active {
    color: var(--rk-dark);
    border-color: var(--rk-cyan);
    background: var(--rk-cyan);
  }

  #rk-screed-guide .rk-screed-lab-grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.92fr) minmax(0, 1.35fr);
    gap: 0;
  }

  #rk-screed-guide .rk-screed-controls {
    padding: 25px;
    border-right: 1px solid var(--rk-line);
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-control {
    margin-bottom: 19px;
  }

  #rk-screed-guide .rk-screed-control:last-child {
    margin-bottom: 0;
  }

  #rk-screed-guide .rk-screed-control label {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    color: var(--rk-dark);
    font-size: 0.76rem;
    font-weight: 850;
    line-height: 1.35;
  }

  #rk-screed-guide .rk-screed-control output {
    flex: 0 0 auto;
    padding: 4px 8px;
    border-radius: 8px;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 0.7rem;
  }

  #rk-screed-guide .rk-screed-control input[type="range"] {
    width: 100%;
    margin: 0;
    accent-color: var(--rk-orange);
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-visual {
    min-width: 0;
    padding: 25px;
  }

  #rk-screed-guide .rk-screed-results {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 16px;
  }

  #rk-screed-guide .rk-screed-result {
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-result span,
  #rk-screed-guide .rk-screed-result strong {
    display: block;
  }

  #rk-screed-guide .rk-screed-result span {
    color: var(--rk-muted);
    font-size: 0.66rem;
    font-weight: 760;
    line-height: 1.35;
  }

  #rk-screed-guide .rk-screed-result strong {
    margin-top: 5px;
    color: var(--rk-dark);
    font-size: 1.28rem;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  #rk-screed-guide .rk-screed-chart {
    width: 100%;
    min-height: 330px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: linear-gradient(180deg, #fbfeff, #f3f8fa);
  }

  #rk-screed-guide .rk-screed-chart .rk-grid-line {
    stroke: #d9e6ec;
    stroke-width: 1;
  }

  #rk-screed-guide .rk-screed-chart .rk-axis {
    stroke: #8194a1;
    stroke-width: 1.4;
  }

  #rk-screed-guide .rk-screed-chart .rk-axis-label,
  #rk-screed-guide .rk-screed-chart .rk-tick {
    fill: #5f7381;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 11px;
  }

  #rk-screed-guide .rk-screed-chart .rk-curve {
    fill: none;
    stroke: var(--rk-blue);
    stroke-width: 5;
    stroke-linecap: round;
  }

  #rk-screed-guide .rk-screed-chart .rk-dot {
    fill: var(--rk-orange);
    stroke: var(--rk-white);
    stroke-width: 4;
  }

  #rk-screed-guide .rk-screed-chart .rk-guide {
    stroke: var(--rk-orange);
    stroke-width: 1.5;
    stroke-dasharray: 5 5;
  }

  #rk-screed-guide .rk-screed-status {
    margin-top: 14px;
    padding: 15px;
    border-radius: 13px;
    color: var(--rk-dark);
    background: var(--rk-cyan-soft);
    font-size: 0.78rem;
    font-weight: 760;
    line-height: 1.55;
  }

  #rk-screed-guide .rk-screed-status.is-ok {
    color: #07553f;
    background: #e7f8f1;
  }

  #rk-screed-guide .rk-screed-status.is-warning {
    color: #71330d;
    background: #fff1e5;
  }

  #rk-screed-guide .rk-screed-disclaimer {
    padding: 0 25px 24px;
    color: var(--rk-muted);
    font-size: 0.72rem;
    line-height: 1.55;
  }

  #rk-screed-guide .rk-screed-number-input {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #bfd3dc;
    border-radius: 11px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 760;
  }

  #rk-screed-guide .rk-screed-number-input:focus-visible,
  #rk-screed-guide button:focus-visible,
  #rk-screed-guide a:focus-visible,
  #rk-screed-guide summary:focus-visible {
    outline: 3px solid rgba(40, 201, 218, 0.42);
    outline-offset: 3px;
  }

  #rk-screed-guide .rk-screed-plan-wrap {
    padding: 14px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: linear-gradient(180deg, #fbfeff, #f1f7fa);
  }

  #rk-screed-guide .rk-screed-plan {
    display: block;
    width: 100%;
    min-height: 330px;
    border-radius: 12px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-plan .rk-screed-room {
    fill: #f7fbfd;
    stroke: var(--rk-dark);
    stroke-width: 3;
  }

  #rk-screed-guide .rk-screed-plan .rk-screed-zone {
    fill: rgba(255, 98, 56, 0.19);
    stroke: var(--rk-orange);
    stroke-width: 2;
    stroke-dasharray: 7 5;
  }

  #rk-screed-guide .rk-screed-plan .rk-screed-glazing {
    stroke: var(--rk-blue);
    stroke-width: 9;
    stroke-linecap: round;
  }

  #rk-screed-guide .rk-screed-plan .rk-screed-pipe-zone {
    fill: none;
    stroke: var(--rk-orange);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  #rk-screed-guide .rk-screed-plan .rk-screed-pipe-main {
    fill: none;
    stroke: var(--rk-cyan);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  #rk-screed-guide .rk-screed-plan text {
    fill: var(--rk-dark);
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 13px;
    font-weight: 800;
  }

  #rk-screed-guide .rk-screed-plan-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 12px;
    color: var(--rk-muted);
    font-size: 0.7rem;
    font-weight: 780;
  }

  #rk-screed-guide .rk-screed-plan-legend span {
    display: inline-flex;
    gap: 7px;
    align-items: center;
  }

  #rk-screed-guide .rk-screed-plan-legend i {
    display: inline-block;
    width: 23px;
    height: 5px;
    border-radius: 999px;
    background: var(--rk-cyan);
  }

  #rk-screed-guide .rk-screed-plan-legend .zone i {
    background: var(--rk-orange);
  }

  #rk-screed-guide .rk-screed-plan-legend .glass i {
    background: var(--rk-blue);
  }

  #rk-screed-guide .rk-screed-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 16px;
  }

  #rk-screed-guide .rk-screed-metric {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-metric span,
  #rk-screed-guide .rk-screed-metric strong {
    display: block;
  }

  #rk-screed-guide .rk-screed-metric span {
    color: var(--rk-muted);
    font-size: 0.63rem;
    font-weight: 780;
    line-height: 1.35;
  }

  #rk-screed-guide .rk-screed-metric strong {
    margin-top: 5px;
    color: var(--rk-dark);
    font-size: 1.05rem;
    line-height: 1.2;
  }

  #rk-screed-guide .rk-screed-status.is-warning {
    color: #7c321d;
    background: var(--rk-warm);
  }

  #rk-screed-guide .rk-screed-small {
    color: var(--rk-muted);
    font-size: 0.78rem;
    line-height: 1.62;
  }

  #rk-screed-guide .rk-screed-howto {
    display: grid;
    gap: 12px;
    margin: 25px 0;
    padding: 0;
    list-style: none;
  }

  #rk-screed-guide .rk-screed-howto-step {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 20px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-howto-step > span {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 16px;
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: 0.8rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-howto-step h3,
  #rk-screed-guide .rk-screed-howto-step p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-howto-step p {
    margin-top: 7px;
    font-size: 0.87rem;
  }

  #rk-screed-guide .rk-screed-faq-list {
    display: grid;
    gap: 10px;
  }

  #rk-screed-guide .rk-screed-faq {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-faq summary {
    position: relative;
    padding: 19px 52px 19px 20px;
    color: var(--rk-dark);
    font-weight: 850;
    line-height: 1.45;
    cursor: pointer;
    list-style: none;
  }

  #rk-screed-guide .rk-screed-faq summary::-webkit-details-marker {
    display: none;
  }

  #rk-screed-guide .rk-screed-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 18px;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    color: var(--rk-white);
    background: var(--rk-blue);
    transform: translateY(-50%);
  }

  #rk-screed-guide .rk-screed-faq[open] summary::after {
    content: "−";
  }

  #rk-screed-guide .rk-screed-faq-answer {
    padding: 0 20px 19px;
  }

  #rk-screed-guide .rk-screed-faq-answer p {
    margin: 0;
    font-size: 0.88rem;
  }

  #rk-screed-guide .rk-screed-sources {
    margin-top: 28px;
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    color: var(--rk-muted);
    background: var(--rk-soft);
    font-size: 0.76rem;
    line-height: 1.7;
  }

  #rk-screed-guide .rk-screed-sources > strong {
    display: block;
    margin-bottom: 8px;
  }

  #rk-screed-guide .rk-screed-cta {
    margin-top: 58px;
    padding: clamp(28px, 5vw, 48px);
    border-radius: 26px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 92% 12%, rgba(255, 98, 56, 0.3), transparent 33%),
      linear-gradient(135deg, #102536, #174155);
    box-shadow: 0 20px 45px rgba(16, 37, 54, 0.16);
  }

  #rk-screed-guide .rk-screed-cta h3,
  #rk-screed-guide .rk-screed-cta p,
  #rk-screed-guide .rk-screed-cta strong {
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-cta p {
    max-width: 880px;
  }

  #rk-screed-guide .rk-screed-cta-kicker {
    display: block;
    margin-bottom: 10px;
    color: #7af0ff;
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-screed-guide .rk-screed-cta h2,
  #rk-screed-guide .rk-screed-cta h3 {
    color: #ffffff !important;
  }

  #rk-screed-guide .rk-screed-cta-link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 56px;
    margin-top: 7px;
    padding: 15px 24px;
    border-radius: 14px;
    color: var(--rk-white) !important;
    background: linear-gradient(90deg, var(--rk-orange), #f04432);
    box-shadow: 0 14px 28px rgba(216, 60, 47, 0.24);
    font-size: 0.88rem;
    font-weight: 900;
    text-align: center;
    text-decoration: none !important;
  }

  #rk-screed-guide .rk-screed-cta-link:hover {
    color: var(--rk-white) !important;
    filter: brightness(1.06);
    transform: translateY(-1px);
  }

  #rk-screed-guide .rk-screed-cta small {
    display: block;
    margin-top: 14px;
    color: #bdd1da;
    font-size: 0.7rem;
    line-height: 1.5;
  }

  #rk-screed-guide .rk-screed-author-box {
    overflow: hidden;
    margin-top: 30px;
    border: 1px solid var(--rk-line);
    border-radius: 26px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-author-head {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
    padding: 28px;
    color: var(--rk-white);
    border-bottom: 5px solid var(--rk-cyan);
    background: var(--rk-dark);
  }

  #rk-screed-guide .rk-screed-author-head h3,
  #rk-screed-guide .rk-screed-author-head p {
    margin: 0;
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-author-head p {
    margin-top: 6px;
    color: #cde0e7;
    font-size: 0.82rem;
  }

  #rk-screed-guide .rk-screed-author-mark {
    flex: 0 0 auto;
    padding: 10px 15px;
    border: 1px solid rgba(40, 201, 218, 0.35);
    border-radius: 13px;
    color: #84edf5;
    background: rgba(40, 201, 218, 0.08);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
  }

  #rk-screed-guide .rk-screed-author-main {
    display: grid;
    grid-template-columns: 310px minmax(0, 1fr);
  }

  #rk-screed-guide .rk-screed-author-profile {
    padding: 32px;
    border-right: 1px solid var(--rk-line);
    background: var(--rk-soft);
    text-align: center;
  }

  #rk-screed-guide .rk-screed-author-profile img {
    width: 174px;
    height: 174px;
    border: 8px solid var(--rk-white);
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 16px 34px rgba(16, 37, 54, 0.14);
  }

  #rk-screed-guide .rk-screed-author-profile h4 {
    margin: 18px 0 7px;
    font-size: 1.36rem;
  }

  #rk-screed-guide .rk-screed-author-role {
    display: block;
    color: var(--rk-blue);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    line-height: 1.6;
    text-transform: uppercase;
  }

  #rk-screed-guide .rk-screed-author-social-label {
    margin-top: 24px;
    color: var(--rk-muted);
    font-size: 0.66rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  #rk-screed-guide .rk-screed-author-social {
    display: flex;
    justify-content: center;
    gap: 9px;
    margin-top: 10px;
  }

  #rk-screed-guide .rk-screed-author-social a {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid var(--rk-line);
    border-radius: 50%;
    color: var(--rk-dark);
    background: var(--rk-white);
    text-decoration: none;
    transition: transform .2s ease, border-color .2s ease, color .2s ease;
  }

  #rk-screed-guide .rk-screed-author-social a:hover {
    color: var(--rk-blue);
    border-color: var(--rk-cyan);
    transform: translateY(-2px);
  }

  #rk-screed-guide .rk-screed-author-social svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
  }

  #rk-screed-guide .rk-screed-author-content {
    min-width: 0;
    padding: 32px;
  }

  #rk-screed-guide .rk-screed-quote {
    position: relative;
    margin-bottom: 22px;
    padding: 23px 23px 23px 61px;
    border-radius: 18px;
    background: var(--rk-cyan-soft);
  }

  #rk-screed-guide .rk-screed-quote::before {
    content: "“";
    position: absolute;
    top: 3px;
    left: 18px;
    color: var(--rk-cyan);
    font-family: Georgia, serif;
    font-size: 4rem;
    line-height: 1;
  }

  #rk-screed-guide .rk-screed-quote blockquote {
    margin: 0;
    color: var(--rk-dark);
    font-size: 1.03rem;
    font-style: italic;
    font-weight: 790;
    line-height: 1.7;
  }

  #rk-screed-guide .rk-screed-tab-buttons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--rk-line);
    border-radius: 14px 14px 0 0;
    overflow: hidden;
  }

  #rk-screed-guide .rk-screed-tab-button {
    min-width: 0;
    padding: 13px 10px;
    border: 0;
    border-right: 1px solid var(--rk-line);
    color: var(--rk-muted);
    background: var(--rk-soft);
    font: inherit;
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-tab-button:last-child {
    border-right: 0;
  }

  #rk-screed-guide .rk-screed-tab-button.is-active {
    color: var(--rk-blue);
    background: var(--rk-white);
    box-shadow: inset 0 -4px 0 var(--rk-blue);
  }

  #rk-screed-guide .rk-screed-tab-panel {
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-top: 0;
    border-radius: 0 0 14px 14px;
  }

  #rk-screed-guide .rk-screed-tab-panel[hidden] {
    display: none !important;
  }

  #rk-screed-guide .rk-screed-tab-panel p {
    margin: 0;
    font-size: 0.86rem;
  }

  #rk-screed-guide .rk-screed-portals {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 14px;
  }

  #rk-screed-guide .rk-screed-portals a {
    padding: 8px 12px;
    border: 1px solid #c8dbe4;
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: 0.75rem;
    text-decoration: none;
  }

  #rk-screed-guide .rk-screed-portals a:hover {
    color: var(--rk-white);
    border-color: var(--rk-blue);
    background: var(--rk-blue);
  }

  @media (max-width: 1120px) {
    #rk-screed-guide .rk-screed-card-grid.four {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-screed-guide .rk-screed-architectures,
    #rk-screed-guide .rk-screed-card-grid.three {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-author-main {
      grid-template-columns: 260px minmax(0, 1fr);
    }
  }

  @media (max-width: 880px) {
    #rk-screed-guide {
      font-size: 17px;
    }

    #rk-screed-guide .rk-screed-lab-grid,
    #rk-screed-guide .rk-screed-author-main {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-controls,
    #rk-screed-guide .rk-screed-author-profile {
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
    }

    #rk-screed-guide .rk-screed-flow {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-screed-guide .rk-screed-flow-step:last-child {
      grid-column: 1 / -1;
    }

    #rk-screed-guide .rk-screed-metrics {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 720px) {
    #rk-screed-guide {
      margin: 18px auto 50px;
      font-size: 16px;
    }

    #rk-screed-guide .rk-screed-shell {
      border-radius: 20px;
    }

    #rk-screed-guide .rk-screed-hero,
    #rk-screed-guide .rk-screed-content {
      padding: 25px 18px;
    }

    #rk-screed-guide .rk-screed-learn-grid,
    #rk-screed-guide .rk-screed-card-grid,
    #rk-screed-guide .rk-screed-card-grid.four,
    #rk-screed-guide .rk-screed-error-grid,
    #rk-screed-guide .rk-screed-check-grid,
    #rk-screed-guide .rk-screed-results {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-section {
      margin-top: 48px;
    }

    #rk-screed-guide .rk-screed-section-head {
      grid-template-columns: 44px minmax(0, 1fr);
      gap: 12px;
    }

    #rk-screed-guide .rk-screed-section-no {
      width: 42px;
      height: 42px;
      border-radius: 13px;
    }

    #rk-screed-guide .rk-screed-table,
    #rk-screed-guide .rk-screed-table tbody,
    #rk-screed-guide .rk-screed-table tr,
    #rk-screed-guide .rk-screed-table td {
      display: block;
      width: 100%;
    }

    #rk-screed-guide .rk-screed-table {
      border: 0;
      background: transparent;
    }

    #rk-screed-guide .rk-screed-table thead {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      white-space: nowrap;
    }

    #rk-screed-guide .rk-screed-table tr {
      margin-bottom: 13px;
      border: 1px solid var(--rk-line);
      border-radius: 16px;
      overflow: hidden;
      background: var(--rk-white);
    }

    #rk-screed-guide .rk-screed-table td,
    #rk-screed-guide .rk-screed-table tr:last-child td {
      display: grid;
      grid-template-columns: minmax(105px, 0.42fr) minmax(0, 0.58fr);
      gap: 10px;
      padding: 13px;
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
      background: var(--rk-white) !important;
    }

    #rk-screed-guide .rk-screed-table td:last-child {
      border-bottom: 0;
    }

    #rk-screed-guide .rk-screed-table td::before {
      content: attr(data-label);
      color: var(--rk-dark);
      font-weight: 900;
    }

    #rk-screed-guide .rk-screed-chart {
      min-height: 265px;
    }

    #rk-screed-guide .rk-screed-plan {
      min-height: 265px;
    }

    #rk-screed-guide .rk-screed-metrics {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-howto-step {
      grid-template-columns: 44px minmax(0, 1fr);
      gap: 12px;
      padding: 16px;
    }

    #rk-screed-guide .rk-screed-howto-step > span {
      width: 42px;
      height: 42px;
      border-radius: 13px;
    }

    #rk-screed-guide .rk-screed-author-head {
      align-items: flex-start;
      flex-direction: column;
      padding: 22px;
    }

    #rk-screed-guide .rk-screed-author-content,
    #rk-screed-guide .rk-screed-author-profile {
      padding: 22px;
    }

    #rk-screed-guide .rk-screed-tab-buttons {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-tab-button {
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
    }

    #rk-screed-guide .rk-screed-tab-button:last-child {
      border-bottom: 0;
    }

    #rk-screed-guide .rk-screed-cta-link {
      width: 100%;
    }
  }

  #rk-screed-guide .rk-screed-program-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
  }

  #rk-screed-guide .rk-screed-program-button {
    min-height: 52px;
    padding: 12px 15px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 13px;
    color: var(--rk-white);
    background: rgba(255, 255, 255, 0.08);
    font: inherit;
    font-size: 0.76rem;
    font-weight: 900;
    line-height: 1.35;
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-program-button:hover,
  #rk-screed-guide .rk-screed-program-button.is-active {
    color: var(--rk-dark);
    border-color: var(--rk-cyan);
    background: var(--rk-cyan);
  }

  #rk-screed-guide .rk-screed-program-panel[hidden] {
    display: none !important;
  }

  #rk-screed-guide .rk-screed-program-title {
    margin: 0 0 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--rk-line);
    color: var(--rk-dark);
    font-size: 0.88rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-select {
    width: 100%;
    min-height: 46px;
    padding: 10px 38px 10px 12px;
    border: 1px solid #bfd3dc;
    border-radius: 11px;
    color: var(--rk-dark);
    background-color: var(--rk-white);
    font: inherit;
    font-size: 0.8rem;
    font-weight: 760;
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-control-note {
    display: block;
    margin-top: 6px;
    color: var(--rk-muted);
    font-size: 0.66rem;
    line-height: 1.5;
  }

  #rk-screed-guide .rk-screed-estimate {
    position: relative;
    overflow: hidden;
    margin-bottom: 16px;
    padding: 25px;
    border-radius: 19px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 95% 0%, rgba(255, 98, 56, 0.31), transparent 36%),
      linear-gradient(135deg, var(--rk-dark), var(--rk-navy));
  }

  #rk-screed-guide .rk-screed-estimate span,
  #rk-screed-guide .rk-screed-estimate strong,
  #rk-screed-guide .rk-screed-estimate small {
    display: block;
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-estimate span {
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  #rk-screed-guide .rk-screed-estimate strong {
    margin-top: 7px;
    font-size: clamp(2rem, 5vw, 3.45rem);
    line-height: 1;
  }

  #rk-screed-guide .rk-screed-estimate small {
    max-width: 620px;
    margin-top: 12px;
    color: #cde0e7;
    font-size: 0.72rem;
    line-height: 1.55;
  }

  #rk-screed-guide .rk-screed-limit-bar {
    height: 12px;
    margin: 18px 0 8px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
  }

  #rk-screed-guide .rk-screed-limit-fill {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--rk-cyan), var(--rk-orange));
    transition: width 220ms ease;
  }

  #rk-screed-guide .rk-screed-result-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
  }

  #rk-screed-guide .rk-screed-result-card {
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-result-card span,
  #rk-screed-guide .rk-screed-result-card strong {
    display: block;
  }

  #rk-screed-guide .rk-screed-result-card span {
    color: var(--rk-muted);
    font-size: 0.65rem;
    font-weight: 760;
    line-height: 1.4;
  }

  #rk-screed-guide .rk-screed-result-card strong {
    margin-top: 5px;
    color: var(--rk-dark);
    font-size: 1.05rem;
    line-height: 1.3;
  }

  #rk-screed-guide .rk-screed-status-list {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #rk-screed-guide .rk-screed-status-list li {
    position: relative;
    margin: 7px 0;
    padding-left: 24px;
    color: var(--rk-text);
    font-size: 0.76rem;
    line-height: 1.55;
  }

  #rk-screed-guide .rk-screed-status-list li::before {
    content: "i";
    position: absolute;
    left: 0;
    top: 0.2em;
    display: grid;
    width: 16px;
    height: 16px;
    place-items: center;
    border-radius: 50%;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 0.58rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-status-list li.is-alert::before {
    content: "!";
    background: var(--rk-orange);
  }

  #rk-screed-guide .rk-screed-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0;
  }

  #rk-screed-guide .rk-screed-chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid #c6dce5;
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: 0.68rem;
    font-weight: 850;
    line-height: 1.35;
  }

  #rk-screed-guide .rk-screed-example-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
  }

  #rk-screed-guide .rk-screed-example {
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-top: 5px solid var(--rk-cyan);
    border-radius: 18px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-example:nth-child(2) {
    border-top-color: var(--rk-orange);
  }

  #rk-screed-guide .rk-screed-example:nth-child(3) {
    border-top-color: var(--rk-blue);
  }

  #rk-screed-guide .rk-screed-example h3,
  #rk-screed-guide .rk-screed-example p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-example p {
    margin-top: 8px;
    font-size: 0.8rem;
    line-height: 1.6;
  }

  #rk-screed-guide .rk-screed-example code {
    display: block;
    margin-top: 14px;
    padding: 13px;
    border-radius: 11px;
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: 0.75rem;
    line-height: 1.6;
    white-space: normal;
  }

  #rk-screed-guide .rk-screed-verdict {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.75fr);
    gap: 22px;
    align-items: center;
    margin: 26px 0;
    padding: 26px;
    border: 1px solid #f0c7b8;
    border-radius: 22px;
    background: var(--rk-warm);
  }

  #rk-screed-guide .rk-screed-verdict h3,
  #rk-screed-guide .rk-screed-verdict p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-verdict p {
    margin-top: 8px;
  }

  #rk-screed-guide .rk-screed-verdict-mark {
    padding: 22px;
    border-radius: 17px;
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-orange), var(--rk-red));
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
  }

  @media (max-width: 980px) {
    #rk-screed-guide .rk-screed-example-grid,
    #rk-screed-guide .rk-screed-verdict {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 720px) {
    #rk-screed-guide .rk-screed-program-switch,
    #rk-screed-guide .rk-screed-result-grid {
      grid-template-columns: 1fr;
    }
  }

  /* Elementy charakterystyczne dla opracowania o jastrychu grzejnym */
  #rk-screed-guide .rk-screed-term-grid,
  #rk-screed-guide .rk-screed-phase-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
  }

  #rk-screed-guide .rk-screed-term,
  #rk-screed-guide .rk-screed-phase {
    min-width: 0;
    padding: 21px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-term b,
  #rk-screed-guide .rk-screed-phase b {
    display: block;
    margin-bottom: 7px;
    color: var(--rk-dark);
    font-size: 0.96rem;
  }

  #rk-screed-guide .rk-screed-term p,
  #rk-screed-guide .rk-screed-phase p {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.62;
  }

  #rk-screed-guide .rk-screed-phase {
    position: relative;
    padding-top: 55px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-phase::before {
    content: attr(data-step);
    position: absolute;
    top: 17px;
    left: 20px;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 9px;
    color: var(--rk-white);
    background: var(--rk-orange);
    font-size: 0.7rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-lab-grid {
    grid-template-columns: minmax(300px, 0.88fr) minmax(0, 1.5fr);
  }

  #rk-screed-guide .rk-screed-input-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
  }

  #rk-screed-guide .rk-screed-input-grid .rk-screed-control {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-cross-wrap {
    display: grid;
    grid-template-columns: minmax(240px, 0.9fr) minmax(0, 1.1fr);
    gap: 16px;
    margin-top: 17px;
  }

  #rk-screed-guide .rk-screed-cross-card,
  #rk-screed-guide .rk-screed-energy-card {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: linear-gradient(180deg, #fbfeff, #f2f8fa);
  }

  #rk-screed-guide .rk-screed-cross-title,
  #rk-screed-guide .rk-screed-energy-title {
    display: block;
    margin-bottom: 11px;
    color: var(--rk-dark);
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1.4;
  }

  #rk-screed-guide .rk-screed-cross {
    display: block;
    width: 100%;
    min-height: 250px;
    border-radius: 12px;
    background: #fff;
  }

  #rk-screed-guide .rk-screed-cross text,
  #rk-screed-guide .rk-screed-energy-chart text {
    fill: #506777;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 11px;
    font-weight: 760;
  }

  #rk-screed-guide .rk-screed-cross .rk-screed-layer-floor {
    fill: #d9e3e7;
  }

  #rk-screed-guide .rk-screed-cross .rk-screed-layer-screed {
    fill: #c6d0d5;
  }

  #rk-screed-guide .rk-screed-cross .rk-screed-layer-insulation {
    fill: #eafcff;
    stroke: #28c9da;
    stroke-width: 1.5;
  }

  #rk-screed-guide .rk-screed-cross .rk-screed-pipe {
    fill: #ff6238;
    stroke: #ffffff;
    stroke-width: 4;
  }

  #rk-screed-guide .rk-screed-cross .rk-screed-dimension {
    stroke: #078fbe;
    stroke-width: 2;
    marker-start: url(#rk-screed-arrow-start);
    marker-end: url(#rk-screed-arrow-end);
  }

  #rk-screed-guide .rk-screed-energy-chart {
    display: block;
    width: 100%;
    min-height: 250px;
    border-radius: 12px;
    background: #fff;
  }

  #rk-screed-guide .rk-screed-energy-chart .rk-screed-bar {
    fill: url(#rk-screed-bar-gradient);
  }

  #rk-screed-guide .rk-screed-energy-chart .rk-screed-axis-line {
    stroke: #c8d9e1;
    stroke-width: 1;
  }

  #rk-screed-guide .rk-screed-results {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #rk-screed-guide .rk-screed-result.is-accent {
    border-color: #b6e9ef;
    background: var(--rk-cyan-soft);
  }

  #rk-screed-guide .rk-screed-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 14px;
    margin-top: 12px;
    color: var(--rk-muted);
    font-size: 0.67rem;
    font-weight: 760;
  }

  #rk-screed-guide .rk-screed-legend span {
    display: inline-flex;
    gap: 7px;
    align-items: center;
  }

  #rk-screed-guide .rk-screed-legend i {
    display: inline-block;
    width: 20px;
    height: 7px;
    border-radius: 999px;
    background: #c6d0d5;
  }

  #rk-screed-guide .rk-screed-legend .pipe i {
    background: var(--rk-orange);
  }

  #rk-screed-guide .rk-screed-legend .insulation i {
    background: var(--rk-cyan);
  }

  #rk-screed-guide .rk-screed-protocol {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 24px 0;
  }

  #rk-screed-guide .rk-screed-protocol-step {
    min-width: 0;
    padding: 19px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-protocol-step span {
    display: inline-flex;
    margin-bottom: 11px;
    padding: 5px 9px;
    border-radius: 999px;
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: 0.66rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-protocol-step h3,
  #rk-screed-guide .rk-screed-protocol-step p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-protocol-step p {
    margin-top: 7px;
    font-size: 0.8rem;
  }

  @media (max-width: 1120px) {
    #rk-screed-guide .rk-screed-term-grid,
    #rk-screed-guide .rk-screed-phase-grid,
    #rk-screed-guide .rk-screed-protocol {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-screed-guide .rk-screed-cross-wrap {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 880px) {
    #rk-screed-guide .rk-screed-lab-grid {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-results {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 720px) {
    #rk-screed-guide .rk-screed-term-grid,
    #rk-screed-guide .rk-screed-phase-grid,
    #rk-screed-guide .rk-screed-protocol,
    #rk-screed-guide .rk-screed-input-grid,
    #rk-screed-guide .rk-screed-results {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-cross,
    #rk-screed-guide .rk-screed-energy-chart {
      min-height: 215px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #rk-screed-guide *,
    #rk-screed-guide *::before,
    #rk-screed-guide *::after {
      scroll-behavior: auto !important;
      transition: none !important;
      animation: none !important;
    }
  }
</style>

<article id="rk-screed-guide" itemscope itemtype="https://schema.org/TechArticle">
  <div class="rk-screed-shell">
    <div class="rk-screed-progress-track" aria-hidden="true"><div class="rk-screed-progress"></div></div>

    <header class="rk-screed-hero">
      <div class="rk-screed-badge">Grubość jastrychu • aktualizacja 29 sierpnia 2026 r.</div>
      <h2 itemprop="headline">Grubość wylewki betonowej na ogrzewanie podłogowe — <span>ile cm nad rurą 16 mm?</span></h2>
      <div class="rk-screed-hook">
        <p><strong>Przy rurze 16 mm warstwa o grubości całkowitej 60 mm daje 44 mm jastrychu nad górną krawędzią rury — nie 30 mm.</strong> To poprawna geometria, ale jeszcze nie potwierdzenie, że układ spełnia wymagania wybranego produktu i konstrukcji podłogi.</p>
      </div>
      <p class="rk-screed-hero-lead" itemprop="description">Przewodnik rozdziela grubość całkowitą od otuliny nad rurą, pokazuje obliczenia dla 6, 6,5, 7 i 8 cm oraz wyjaśnia, dlaczego minimum trzeba odczytać z dokumentacji konkretnego jastrychu. Interaktywny analizator sprawdza geometrię, objętość, masę i pojemność cieplną warstwy.</p>
      <div class="rk-screed-hero-meta">
        <span>Autor: Robert Kucharski</span>
        <span>ISO 11855 • EN 13813 • dokumentacja systemu</span>
        <span>Rura 16 mm: obliczenia bez błędu 60 − 16</span>
      </div>
      <div class="rk-screed-author-strip" itemprop="author" itemscope itemtype="https://schema.org/Person">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski – projektant instalacji sanitarnych" width="54" height="54" loading="eager" itemprop="image">
        <div>
          <b itemprop="name">Robert Kucharski</b>
          <small itemprop="jobTitle">Projektant instalacji sanitarnych • specjalista HVAC i ogrzewania podłogowego</small>
        </div>
      </div>
    </header>

    <div class="rk-screed-content">
      <div class="rk-screed-warning">
        <p><strong>Najważniejsze zastrzeżenie techniczne:</strong> artykuł i analizator kontrolują geometrię oraz skutki masowe przyjętej grubości. Nie potwierdzają nośności ani zgodności całej podłogi. Ostateczną wartość ustala się z dokumentacji konkretnego jastrychu, obciążeń, klasy, ściśliwości izolacji i układu pól.</p>
      </div>

      <div class="rk-screed-learn" aria-label="Zakres artykułu">
        <strong>Po lekturze będziesz wiedzieć:</strong>
        <div class="rk-screed-learn-grid">
          <div class="rk-screed-learn-card"><div class="rk-screed-no">01</div><div><h4>Jak policzyć otulinę rury</h4><p>Dlaczego trzeba uwzględnić średnicę przewodu oraz jego rzeczywiste podniesienie nad warstwą odniesienia.</p></div></div>
          <div class="rk-screed-learn-card"><div class="rk-screed-no">02</div><div><h4>Co oznacza 6, 7 i 8 cm</h4><p>Ile materiału pozostaje nad rurą 16 mm oraz jak zmieniają się masa i pojemność cieplna.</p></div></div>
          <div class="rk-screed-learn-card"><div class="rk-screed-no">03</div><div><h4>Skąd wziąć minimum</h4><p>Jak odróżnić przykład producenta od uniwersalnej normy i czego szukać w karcie systemu.</p></div></div>
          <div class="rk-screed-learn-card"><div class="rk-screed-no">04</div><div><h4>Co sprawdzić przed wylaniem</h4><p>Poziomy, obciążenia, dylatacje, zamocowanie rur i próbę szczelności przed zakryciem instalacji.</p></div></div>
        </div>
      </div>

      <nav class="rk-screed-nav" aria-label="Nawigacja po artykule">
        <strong>Przejdź do sekcji</strong>
        <div class="rk-screed-nav-links">
          <a href="#rk-screed-odpowiedz">Szybka odpowiedź</a>
          <a href="#rk-screed-pojecia">Jastrych czy beton?</a>
          <a href="#rk-screed-grubosc">Grubość</a>
          <a href="#rk-screed-kalkulator">Analizator</a>
          <a href="#rk-screed-material">CT czy CA?</a>
          <a href="#rk-screed-klasy">Klasy i λ</a>
          <a href="#rk-screed-zbrojenie">Zbrojenie</a>
          <a href="#rk-screed-dylatacje">Dylatacje</a>
          <a href="#rk-screed-przed">Przed wylaniem</a>
          <a href="#rk-screed-wykonanie">Wykonanie</a>
          <a href="#rk-screed-wygrzewanie">Wygrzewanie</a>
          <a href="#rk-screed-posadzka">Okładzina</a>
          <a href="#rk-screed-bledy">Błędy</a>
          <a href="#rk-screed-kroki">Krok po kroku</a>
          <a href="#rk-screed-faq">FAQ</a>
        </div>
      </nav>

      <section class="rk-screed-section" id="rk-screed-odpowiedz" aria-labelledby="rk-screed-h2-1">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">01</div>
          <div><h2 id="rk-screed-h2-1">Ile powinna mieć wylewka na ogrzewanie podłogowe?</h2><p>Najpierw oddziel grubość całkowitą od warstwy nad rurą.</p></div>
        </div>

        <div class="rk-screed-answer">
          <p><strong>Nie ma jednej wartości poprawnej dla każdego jastrychu.</strong> Jeżeli rura 16 mm leży bezpośrednio na warstwie odniesienia, 60 mm grubości całkowitej oznacza 44 mm nad rurą, 65 mm — 49 mm, 70 mm — 54 mm, a 80 mm — 64 mm. Jeśli systemowa listwa, mata albo klips podnosi rurę, to podniesienie trzeba dodatkowo odjąć.</p>
        </div>

        <div class="rk-screed-card-grid three">
          <div class="rk-screed-card"><div class="rk-screed-card-icon">1</div><h4>Najpierw produkt</h4><p>Wymaganą otulinę i grubość odczytaj z aktualnej dokumentacji wybranego jastrychu oraz systemu podłogi.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">2</div><h4>Potem geometria</h4><p>Policz średnicę rury, jej podniesienie oraz warstwę nad najwyższym punktem przewodu.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">3</div><h4>Na końcu poziomy</h4><p>Sprawdź całą wysokość podłogi: izolację, jastrych, klej, okładzinę, progi i skrzydła drzwi.</p></div>
        </div>

        <div class="rk-screed-verdict">
          <div><h3>Wzór, który trzeba stosować na budowie</h3><p><strong>Otulina = grubość całkowita − średnica zewnętrzna rury − podniesienie spodu rury.</strong> Pomiar wykonuje się od tej samej warstwy odniesienia. Deklaracja „mamy 6 cm” nic nie mówi, jeśli nie wiadomo, od którego poziomu ją zmierzono.</p></div>
          <div class="rk-screed-verdict-mark">60 − 16 = 44 mm, nie 30 mm</div>
        </div>
      </section>

      <section class="rk-screed-section" id="rk-screed-pojecia" aria-labelledby="rk-screed-h2-2">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">02</div>
          <div><h2 id="rk-screed-h2-2">Beton, jastrych cementowy CT i jastrych anhydrytowy CA – co jest czym?</h2><p>Precyzyjna nazwa ułatwia zamówienie właściwego materiału i ocenę dokumentów.</p></div>
        </div>

        <p>Fraza <strong>wylewka betonowa na ogrzewanie podłogowe</strong> jest powszechnie używana przez inwestorów, lecz technicznie najczęściej opisuje <strong>jastrych cementowy</strong>, oznaczany skrótem CT. To warstwa podkładowa wykonywana na izolacji i oddzielona od konstrukcji budynku taśmą brzegową. Nie jest automatycznie tym samym co beton konstrukcyjny przeznaczony na strop, fundament albo płytę.</p>

        <div class="rk-screed-term-grid">
          <div class="rk-screed-term"><b>Jastrych cementowy – CT</b><p>Podkład na spoiwie cementowym. Może mieć konsystencję półsuchą albo płynną. Odmiana, skład i deklarowane parametry wpływają na skurcz, grubość, pielęgnację i termin nagrzewania.</p></div>
          <div class="rk-screed-term"><b>Jastrych na bazie siarczanu wapnia – CA</b><p>Potocznie nazywany anhydrytowym. Zwykle dobrze otacza rury i może ograniczać liczbę szczelin, ale nie jest rozwiązaniem automatycznie najlepszym dla każdego pomieszczenia.</p></div>
          <div class="rk-screed-term"><b>Beton konstrukcyjny</b><p>Materiał projektowany do elementów nośnych. Jego receptura, kruszywo i sposób wbudowania nie muszą odpowiadać wymaganiom cienkiej, pływającej i ogrzewanej warstwy podłogowej.</p></div>
        </div>

        <p>Jastrych grzejny działa jako płyta pływająca na warstwie izolacyjnej. Przenosi obciążenia, chroni przewody, rozprowadza energię między rurami i tworzy podłoże pod okładzinę. Jego duża masa zwiększa bezwładność: stabilizuje temperaturę, lecz spowalnia reakcję na zmianę nastaw. Dlatego strategia sterowania powinna uwzględniać budynek, źródło ciepła i <a href="https://projekt-ogrzewania.pl/sterownik-regulator-pogodowy/">regulację pogodową</a>, a nie opierać się na gwałtownym włączaniu i wyłączaniu obiegów.</p>

        <div class="rk-screed-truth"><p><strong>Ważne:</strong> folia leżąca bezpośrednio pod jastrychem nie działa jak „lustro ciepła” w taki sposób jak warstwa refleksyjna przy szczelinie powietrznej. W systemie mokrym może pełnić funkcję warstwy rozdzielającej, poślizgowej, przeciwwilgociowej albo nadruku montażowego. O ograniczeniu strat w dół decyduje przede wszystkim właściwa <a href="https://projekt-ogrzewania.pl/jakie-sa-najlepsze-sposoby-izolacji-pod-ogrzewanie-podlogowe/">izolacja pod ogrzewaniem podłogowym</a>.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-grubosc" aria-labelledby="rk-screed-h2-3">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">03</div>
          <div><h2 id="rk-screed-h2-3">Grubość 6, 6,5, 7 i 8 cm przy rurze 16 mm</h2><p>Prosta tabela ujawnia częsty błąd w odejmowaniu średnicy przewodu.</p></div>
        </div>

        <div class="rk-screed-formula">
          <p><strong>Podstawowa zależność geometryczna:</strong></p>
          <code>c = h − d − e</code>
          <p>gdzie: <strong>c</strong> — warstwa nad rurą, <strong>h</strong> — grubość całkowita mierzona od przyjętej warstwy odniesienia, <strong>d</strong> — średnica zewnętrzna rury, <strong>e</strong> — odległość spodu rury od tej warstwy. Gdy rura 16 mm leży bezpośrednio na niej, dla 60 mm jastrychu: <strong>c = 60 − 16 − 0 = 44 mm</strong>.</p>
        </div>

        <div class="rk-screed-table-wrap">
          <table class="rk-screed-table">
            <thead><tr><th>Grubość całkowita</th><th>Rura</th><th>Podniesienie spodu rury</th><th>Warstwa nad rurą</th><th>Orientacyjna masa przy 2100 kg/m³</th></tr></thead>
            <tbody>
              <tr><td data-label="Grubość"><strong>60 mm</strong></td><td data-label="Rura">16 mm</td><td data-label="Podniesienie">0 mm</td><td data-label="Nad rurą"><strong>44 mm</strong></td><td data-label="Masa">około 126 kg/m²</td></tr>
              <tr><td data-label="Grubość"><strong>65 mm</strong></td><td data-label="Rura">16 mm</td><td data-label="Podniesienie">0 mm</td><td data-label="Nad rurą"><strong>49 mm</strong></td><td data-label="Masa">około 137 kg/m²</td></tr>
              <tr><td data-label="Grubość"><strong>70 mm</strong></td><td data-label="Rura">16 mm</td><td data-label="Podniesienie">0 mm</td><td data-label="Nad rurą"><strong>54 mm</strong></td><td data-label="Masa">około 147 kg/m²</td></tr>
              <tr><td data-label="Grubość"><strong>80 mm</strong></td><td data-label="Rura">16 mm</td><td data-label="Podniesienie">0 mm</td><td data-label="Nad rurą"><strong>64 mm</strong></td><td data-label="Masa">około 168 kg/m²</td></tr>
            </tbody>
          </table>
        </div>

        <div class="rk-screed-note"><p><strong>Uwaga na maty i listwy:</strong> jeżeli spód rury znajduje się 5 mm nad warstwą, od każdego wyniku w kolumnie „nad rurą” odejmij kolejne 5 mm. Mierz rzeczywisty najwyższy punkt rury, a nie tylko wysokość reperu przy ścianie.</p></div>

        <h3>Co rzeczywiście wpływa na wymaganą grubość?</h3>
        <div class="rk-screed-card-grid four">
          <div class="rk-screed-card"><div class="rk-screed-card-icon">F</div><h4>Wytrzymałość na zginanie</h4><p>Klasa F opisuje odporność na naprężenia zginające, lecz sama nie wyznacza całej konstrukcji.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">Q</div><h4>Obciążenia użytkowe</h4><p>Inaczej analizuje się sypialnię, garaż, spiżarnię z regałami i przestrzeń z ciężkim urządzeniem.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">Δ</div><h4>Ściśliwość izolacji</h4><p>Podłoże podatne ugina się pod jastrychem. Liczy się nie tylko deklaracja samej płyty, ale cały układ warstw.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">G</div><h4>Geometria i szczeliny</h4><p>Długie, wąskie lub nieregularne pola generują inne naprężenia niż zwarty prostokąt.</p></div>
        </div>

        <p>Sam gęstszy <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">rozstaw rur 10 albo 15 cm</a> nie jest powodem, aby lokalnie pogrubiać jastrych. Rozstaw zmienia moc powierzchniową, długość przewodów i rozkład temperatur, natomiast grubość płyty ustala się według mechaniki oraz dokumentacji systemu.</p>

        <h3>Dlaczego nie podajemy jednego „minimum z normy”?</h3>
        <p>EN 13813 klasyfikuje właściwości materiałów na podkłady, lecz nie nadaje każdemu ogrzewanemu podkładowi jednej uniwersalnej grubości. Wymaganie trzeba odczytać dla wybranego wyrobu i konstrukcji. Przykładowo dokumentacja systemu <a href="https://www.uponor.com/getmedia/6acb6e75-f915-4729-bfa5-6fa8222d4164/uponor-tacker-technical-information-05-2014?disposition=attachment&amp;sitename=UponorInternational" target="_blank" rel="noopener nofollow">Uponor Tacker</a> pokazuje warianty obliczeniowe z 45 mm jastrychu cementowego nad rurą, natomiast aktualna karta <a href="https://knauf.com/api/download-center/v1/assets/ab2bf54d-e6b6-4af6-a615-8423f521a9c1?country=pl&amp;download=true" target="_blank" rel="noopener nofollow">Knauf FE 50 Largo</a> wymaga co najmniej 35 mm nad elementem grzejnym. To dwa przykłady systemowe, a nie wartości, które wolno przenosić na dowolny materiał.</p>
      </section>

      <section class="rk-screed-section" id="rk-screed-kalkulator" aria-labelledby="rk-screed-h2-4">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">04</div>
          <div><h2 id="rk-screed-h2-4">Interaktywny analizator przekroju jastrychu</h2><p>Sprawdź rzeczywistą warstwę nad rurą, wymaganą wysokość, masę i pojemność cieplną.</p></div>
        </div>

        <div class="rk-screed-lab" data-rk-screed-lab>
          <div class="rk-screed-lab-head">
            <h3>Analizator grubości i masy wylewki</h3>
            <p>Wartość minimalnej otuliny przepisz z aktualnej karty wybranego produktu. Narzędzie ocenia wyłącznie geometrię względem wpisanej wartości — nie wydaje oceny konstrukcyjnej.</p>
            <div class="rk-screed-presets" aria-label="Przykładowe grubości całkowite">
              <button class="rk-screed-preset" type="button" data-screed-preset="six">6 cm</button>
              <button class="rk-screed-preset is-active" type="button" data-screed-preset="standard">6,5 cm</button>
              <button class="rk-screed-preset" type="button" data-screed-preset="seven">7 cm</button>
              <button class="rk-screed-preset" type="button" data-screed-preset="eight">8 cm</button>
            </div>
          </div>

          <div class="rk-screed-lab-grid">
            <div class="rk-screed-controls">
              <div class="rk-screed-input-grid">
                <div class="rk-screed-control"><label for="rk-screed-total">Grubość całkowita <output id="rk-screed-total-out">65 mm</output></label><input id="rk-screed-total" type="range" min="35" max="100" step="1" value="65"></div>
                <div class="rk-screed-control"><label for="rk-screed-diameter">Średnica zewnętrzna rury <output id="rk-screed-diameter-out">16 mm</output></label><input id="rk-screed-diameter" type="range" min="10" max="25" step="1" value="16"></div>
                <div class="rk-screed-control"><label for="rk-screed-elevation">Podniesienie spodu rury <output id="rk-screed-elevation-out">0 mm</output></label><input id="rk-screed-elevation" type="range" min="0" max="20" step="1" value="0"></div>
                <div class="rk-screed-control"><label for="rk-screed-required">Minimum nad rurą z karty produktu <output id="rk-screed-required-out">45 mm</output></label><input id="rk-screed-required" type="range" min="15" max="70" step="1" value="45"></div>
                <div class="rk-screed-control"><label for="rk-screed-area">Analizowana powierzchnia <output id="rk-screed-area-out">100 m²</output></label><input id="rk-screed-area" type="range" min="5" max="300" step="1" value="100"></div>
                <div class="rk-screed-control"><label for="rk-screed-density">Gęstość wyrobu <output id="rk-screed-density-out">2100 kg/m³</output></label><input id="rk-screed-density" type="range" min="1600" max="2400" step="10" value="2100"></div>
                <div class="rk-screed-control"><label for="rk-screed-cp">Ciepło właściwe <output id="rk-screed-cp-out">0,88 kJ/kgK</output></label><input id="rk-screed-cp" type="range" min="0.70" max="1.10" step="0.01" value="0.88"></div>
                <div class="rk-screed-control"><label for="rk-screed-lambda">Przewodność λ <output id="rk-screed-lambda-out">1,40 W/mK</output></label><input id="rk-screed-lambda" type="range" min="0.60" max="2.20" step="0.05" value="1.40"></div>
              </div>
              <div class="rk-screed-status is-ok" id="rk-screed-lab-warning" role="status" aria-live="polite">Geometrycznie pozostaje 4 mm zapasu ponad wpisane minimum produktu.</div>
            </div>

            <div class="rk-screed-visual">
              <div class="rk-screed-results">
                <div class="rk-screed-result is-accent"><span>Rzeczywista warstwa nad rurą</span><strong id="rk-screed-cover-result">49 mm</strong></div>
                <div class="rk-screed-result"><span>Wymagana grubość całkowita</span><strong id="rk-screed-required-total-result">61 mm</strong></div>
                <div class="rk-screed-result"><span>Różnica względem wpisanego minimum</span><strong id="rk-screed-margin-result">+4 mm</strong></div>
                <div class="rk-screed-result"><span>Objętość brutto</span><strong id="rk-screed-volume-result">6,50 m³</strong></div>
                <div class="rk-screed-result"><span>Masa na 1 m²</span><strong id="rk-screed-load-result">137 kg/m²</strong></div>
                <div class="rk-screed-result"><span>Masa całkowita</span><strong id="rk-screed-mass-result">13,7 t</strong></div>
                <div class="rk-screed-result"><span>Pojemność na 1 K</span><strong id="rk-screed-capacity-result">3,3 kWh/K</strong></div>
                <div class="rk-screed-result"><span>Opór 1D samej warstwy</span><strong id="rk-screed-resistance-result">0,046 m²K/W</strong></div>
              </div>

              <div class="rk-screed-cross-wrap">
                <div class="rk-screed-cross-card">
                  <span class="rk-screed-cross-title">Dynamiczny przekrój — geometria poglądowa</span>
                  <svg class="rk-screed-cross" id="rk-screed-cross" viewBox="0 0 360 250" role="img" aria-labelledby="rk-screed-cross-svg-title rk-screed-cross-svg-desc">
                    <title id="rk-screed-cross-svg-title">Przekrój jastrychu z rurą ogrzewania podłogowego</title>
                    <desc id="rk-screed-cross-svg-desc">Schemat pokazuje grubość całkowitą, położenie rury i warstwę nad jej górną krawędzią.</desc>
                    <defs>
                      <marker id="rk-screed-arrow-start" markerWidth="8" markerHeight="8" refX="4" refY="4" orient="auto"><path d="M8,0 L0,4 L8,8 Z" fill="#078fbe"></path></marker>
                      <marker id="rk-screed-arrow-end" markerWidth="8" markerHeight="8" refX="4" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 Z" fill="#078fbe"></path></marker>
                    </defs>
                    <rect class="rk-screed-layer-floor" x="28" y="22" width="304" height="20" rx="4"></rect>
                    <rect class="rk-screed-layer-screed" id="rk-screed-svg-screed" x="28" y="42" width="304" height="148"></rect>
                    <rect class="rk-screed-layer-insulation" x="28" y="190" width="304" height="38"></rect>
                    <circle class="rk-screed-pipe" id="rk-screed-svg-pipe" cx="170" cy="161" r="18"></circle>
                    <line class="rk-screed-dimension" id="rk-screed-svg-cover-line" x1="277" y1="47" x2="277" y2="140"></line>
                    <text id="rk-screed-svg-cover-text" x="286" y="98">49 mm nad rurą</text>
                    <line class="rk-screed-dimension" id="rk-screed-svg-total-line" x1="56" y1="45" x2="56" y2="187"></line>
                    <text id="rk-screed-svg-total-text" x="65" y="118">65 mm łącznie</text>
                    <text x="38" y="36">okładzina</text><text x="38" y="73">jastrych</text><text x="38" y="215">warstwa odniesienia</text>
                  </svg>
                  <div class="rk-screed-legend"><span><i></i>jastrych</span><span class="pipe"><i></i>rura</span><span class="insulation"><i></i>warstwa odniesienia</span></div>
                </div>

                <div class="rk-screed-energy-card">
                  <span class="rk-screed-energy-title">Masa i pojemność cieplna przy zmianie grubości</span>
                  <svg class="rk-screed-energy-chart" id="rk-screed-energy-chart" viewBox="0 0 420 250" role="img" aria-labelledby="rk-screed-chart-title rk-screed-chart-desc">
                    <title id="rk-screed-chart-title">Wpływ grubości na masę jastrychu</title>
                    <desc id="rk-screed-chart-desc">Wykres pokazuje masę na metr kwadratowy dla warstw 50, 60, 70 i 80 milimetrów.</desc>
                    <defs><linearGradient id="rk-screed-bar-gradient" x1="0" y1="1" x2="0" y2="0"><stop offset="0" stop-color="#078fbe"></stop><stop offset="1" stop-color="#28c9da"></stop></linearGradient></defs>
                    <line class="rk-screed-axis-line" x1="46" y1="205" x2="396" y2="205"></line>
                    <line class="rk-screed-axis-line" x1="46" y1="30" x2="46" y2="205"></line>
                    <g id="rk-screed-bars"></g>
                    <text x="8" y="23">kg/m²</text>
                  </svg>
                </div>
              </div>
            </div>
          </div>
          <div class="rk-screed-disclaimer"><strong>Co oznacza wynik:</strong> komunikat „geometrycznie spełnia” odnosi się tylko do minimalnej warstwy nad rurą wpisanej przez użytkownika. Narzędzie nie zna klasy jastrychu, obciążeń, ściśliwości izolacji, lokalnych przewężeń, tolerancji wykonawczych, układu szczelin ani nośności stropu. Objętość jest wartością brutto bez potrącania rur i bez rezerwy technologicznej.</div>
        </div>

        <div class="rk-screed-formula">
          <p><strong>Wzory użyte w analizatorze:</strong></p>
          <code>c = h − d − e &nbsp; • &nbsp; hₘᵢₙ = d + e + cₘᵢₙ &nbsp; • &nbsp; V = A × h &nbsp; • &nbsp; m = ρ × V &nbsp; • &nbsp; C = m × cₚ / 3600 &nbsp; • &nbsp; R = h / λ</code>
          <p>Parametry ρ, cₚ i λ należy przepisać z dokumentacji wybranego wyrobu. Opór R jest prostym porównaniem jednowymiarowym samej warstwy, a nie pełnym obliczeniem wydajności podłogi według ISO 11855.</p>
        </div>

        <aside class="rk-screed-cta" aria-label="Projekt przed wykonaniem jastrychu">
          <span class="rk-screed-cta-kicker">Wynik analizatora kończy geometrię, ale nie projekt</span>
          <h3>Przed wylaniem trzeba skoordynować całą podłogę</h3>
          <p>Analizator nie zna obciążeń, ściśliwości izolacji, podziału na pola, temperatury powierzchni, oporu okładziny ani rzeczywistego przebiegu rur. Jeżeli wysokości są na granicy albo dokumentacja instalacji nie określa parametrów dla każdego pomieszczenia, korektę trzeba wykonać przed przyjazdem ekipy jastrychowej.</p>
          <a class="rk-screed-cta-link rk-screed-sales-cta" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt przed wykonaniem jastrychu</a>
          <small>Odnośnik prowadzi do strony sprzedażowej Projekt-Ogrzewania.pl — serwisu należącego do autora artykułu.</small>
        </aside>
      </section>

      <section class="rk-screed-section" id="rk-screed-material" aria-labelledby="rk-screed-h2-5">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">05</div>
          <div><h2 id="rk-screed-h2-5">Wylewka cementowa czy anhydrytowa na ogrzewanie podłogowe?</h2><p>Nie ma zwycięzcy niezależnego od warunków budowy i pomieszczenia.</p></div>
        </div>

        <div class="rk-screed-table-wrap">
          <table class="rk-screed-table">
            <thead><tr><th>Kryterium</th><th>Jastrych cementowy CT</th><th>Jastrych na bazie siarczanu wapnia CA</th><th>Decyzja projektowa</th></tr></thead>
            <tbody>
              <tr><td data-label="Kryterium"><strong>Spoiwo</strong></td><td data-label="CT">Cement; dostępne są mieszanki półsuche, płynne i modyfikowane.</td><td data-label="CA">Siarczan wapnia; często występuje w konsystencji płynnej.</td><td data-label="Decyzja">Nie porównuj wyłącznie nazw. Sprawdź deklarację konkretnego wyrobu.</td></tr>
              <tr><td data-label="Kryterium"><strong>Skurcz i pola</strong></td><td data-label="CT">Zwykle większa wrażliwość na skurcz wysychania; ważne są pielęgnacja i układ szczelin.</td><td data-label="CA">Zwykle mniejszy skurcz i możliwość większych pól, ale granice nadal określa system i geometria.</td><td data-label="Decyzja">Plan szczelin powinien istnieć przed układaniem rur.</td></tr>
              <tr><td data-label="Kryterium"><strong>Otoczenie rur</strong></td><td data-label="CT">Zależy od konsystencji i zagęszczenia. Półsuchy materiał wymaga starannego wbudowania wokół przewodów.</td><td data-label="CA">Płynna konsystencja zwykle dobrze otacza przewody i ogranicza pustki.</td><td data-label="Decyzja">Sposób wykonania musi odpowiadać konsystencji, a nie przyzwyczajeniu ekipy.</td></tr>
              <tr><td data-label="Kryterium"><strong>Wilgoć</strong></td><td data-label="CT">Dobrze sprawdza się także w pomieszczeniach mokrych, przy poprawnej hydroizolacji i okładzinie.</td><td data-label="CA">Wymaga ścisłego przestrzegania zakresu zastosowania i ochrony przed trwałym zawilgoceniem.</td><td data-label="Decyzja">Łazienka nie zwalnia z hydroizolacji podpłytkowej niezależnie od spoiwa.</td></tr>
              <tr><td data-label="Kryterium"><strong>Przewodność cieplna λ</strong></td><td data-label="CT">Zależy od receptury, gęstości, kruszywa i wilgotności.</td><td data-label="CA">Również zależy od konkretnego produktu; nie zawsze automatycznie przewyższa każdy CT.</td><td data-label="Decyzja">Do obliczeń wpisuj wartość deklarowaną, a nie zakres znaleziony w reklamie.</td></tr>
              <tr><td data-label="Kryterium"><strong>Wygrzewanie</strong></td><td data-label="CT">Dla standardowego cementowego jastrychu PN-EN 1264-4 przewiduje rozpoczęcie nagrzewania po okresie wiązania, zwykle nie wcześniej niż po 21 dniach.</td><td data-label="CA">Dla standardowego CA norma wskazuje zwykle co najmniej 7 dni.</td><td data-label="Decyzja">Mieszanki specjalne mogą mieć inny harmonogram i zawsze wymagają instrukcji wyrobu.</td></tr>
            </tbody>
          </table>
        </div>

        <div class="rk-screed-note"><p><strong>„Anhydryt jest zawsze najlepszy” to zbyt mocne zdanie.</strong> Może być bardzo dobrym rozwiązaniem w suchym wnętrzu i przy dobrze zorganizowanej budowie. Cementowy CT może być lepszy przy innym harmonogramie, wilgotności, obciążeniu albo dostępności wykonawców. Szersze porównanie materiałów, wykonania i dojrzewania znajdziesz w osobnym <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">przewodniku po wylewce na ogrzewanie podłogowe</a>; tutaj pozostajemy przy grubości i geometrii.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-klasy" aria-labelledby="rk-screed-h2-6">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">06</div>
          <div><h2 id="rk-screed-h2-6">Co oznacza CT-C20-F4, CA-C25-F5 i przewodność cieplna λ?</h2><p>Oznaczenie klasy jest punktem wyjścia, a nie kompletnym projektem warstwy.</p></div>
        </div>

        <p>Norma PN-EN 13813 klasyfikuje materiały na podkłady podłogowe. W oznaczeniu <strong>CT-C20-F4</strong> litery CT informują o spoiwie cementowym, C20 oznacza klasę wytrzymałości na ściskanie, a F4 klasę wytrzymałości na zginanie. W zapisie <strong>CA-C25-F5</strong> CA wskazuje jastrych na bazie siarczanu wapnia. Liczby nie mówią jednak, jaka grubość jest bezpieczna na konkretnej izolacji ani jak mają przebiegać szczeliny.</p>

        <div class="rk-screed-card-grid three">
          <div class="rk-screed-card"><div class="rk-screed-card-icon">C</div><h4>Ściskanie</h4><p>Wartość C opisuje wytrzymałość próbki na ściskanie w warunkach badania. Nie zastępuje analizy płyty pływającej.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">F</div><h4>Zginanie</h4><p>Klasa F jest szczególnie ważna, gdy podłoże jest podatne, występują obciążenia punktowe lub ogranicza się grubość.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">λ</div><h4>Przewodzenie ciepła</h4><p>λ [W/(m·K)] opisuje przepływ ciepła przez materiał. Do modelu podłogi należy przyjąć wartość wiarygodnie zadeklarowaną dla produktu.</p></div>
        </div>

        <div class="rk-screed-formula">
          <p><strong>Opór cieplny samego jastrychu:</strong></p>
          <code>R<sub>jastrychu</sub> = h / λ</code>
          <p>Dla 61 mm i λ = 1,40 W/(m·K) opór wynosi około 0,044 m²K/W. Nie jest to opór całej podłogi: trzeba dodać klej, okładzinę i pozostałe warstwy znajdujące się nad rurami.</p>
        </div>

        <p>Wysoka λ może poprawić przekazywanie ciepła, ale nie „usuwa” bezwładności wynikającej z masy. Dwa jastrychy o podobnej przewodności mogą inaczej reagować, jeśli różnią się grubością i gęstością. Moc podłogi należy obliczać razem z temperaturą wody, rozstawem rur i oporem okładziny. Właśnie dlatego <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">profesjonalny projekt ogrzewania podłogowego</a> powinien znać docelową konstrukcję posadzki.</p>
      </section>

      <section class="rk-screed-section" id="rk-screed-zbrojenie" aria-labelledby="rk-screed-h2-7">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">07</div>
          <div><h2 id="rk-screed-h2-7">Czy wylewkę cementową na podłogówkę trzeba zbroić?</h2><p>Odpowiedź „zawsze siatka” jest tak samo błędna jak „włókna zawsze wystarczą”.</p></div>
        </div>

        <p>Zbrojenie nie powstrzymuje skurczu chemicznego ani termicznego. Może ograniczać szerokość rys, zwiększać zdolność do przenoszenia naprężeń i pomagać utrzymać spójność pola po zarysowaniu. Skuteczność zależy od materiału, ilości, zakotwienia i przede wszystkim położenia. Siatka leżąca na izolacji pod rurami nie spełnia tej samej funkcji co zbrojenie umieszczone w zaprojektowanej strefie jastrychu.</p>

        <div class="rk-screed-table-wrap">
          <table class="rk-screed-table">
            <thead><tr><th>Rozwiązanie</th><th>Co może robić?</th><th>Czego nie załatwia?</th><th>Co sprawdzić?</th></tr></thead>
            <tbody>
              <tr><td data-label="Rozwiązanie"><strong>Siatka stalowa</strong></td><td data-label="Funkcja">Może kontrolować rozwój rys i współpracować z płytą po zarysowaniu.</td><td data-label="Ograniczenie">Położona przypadkowo albo dociśnięta do izolacji nie działa zgodnie z założeniem.</td><td data-label="Sprawdź">Średnicę, oczko, zakłady, dystanse, otulinę i kolizje z rurami.</td></tr>
              <tr><td data-label="Rozwiązanie"><strong>Włókna polimerowe</strong></td><td data-label="Funkcja">Mikrowłókna mogą ograniczać rysy skurczu plastycznego; inne włókna mogą mieć szerszą funkcję zadeklarowaną przez system.</td><td data-label="Ograniczenie">Nie każdy dodatek z worka zastępuje konstrukcyjną siatkę albo właściwy podział na pola.</td><td data-label="Sprawdź">Rodzaj włókna, dawkę i deklarowaną funkcję w recepturze jastrychu.</td></tr>
              <tr><td data-label="Rozwiązanie"><strong>Włókna stalowe lub makro</strong></td><td data-label="Funkcja">W zaprojektowanym systemie mogą zwiększyć ciągliwość i nośność po zarysowaniu.</td><td data-label="Ograniczenie">Nie wolno dobierać ich wyłącznie na podstawie podobieństwa nazwy.</td><td data-label="Sprawdź">Obliczenia, dokumentację wyrobu, dawkowanie i zgodność z posadzką.</td></tr>
              <tr><td data-label="Rozwiązanie"><strong>Brak dodatkowego zbrojenia</strong></td><td data-label="Funkcja">Możliwy w systemie, który dopuszcza taki układ przy właściwej klasie, grubości i geometrii.</td><td data-label="Ograniczenie">Nie zwalnia z pielęgnacji, szczelin i sprawdzenia obciążeń.</td><td data-label="Sprawdź">Jednoznaczny zapis w dokumentacji systemowej lub projekcie.</td></tr>
            </tbody>
          </table>
        </div>

        <div class="rk-screed-warning"><p><strong>Nie dodawaj przypadkowo wody do mieszanki, aby „lepiej się rozlała”.</strong> Zmiana wskaźnika woda–spoiwo może zwiększyć skurcz, porowatość i osłabić parametry. Plastyfikator, włókna i woda muszą należeć do kontrolowanej receptury, a nie do improwizacji na budowie.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-dylatacje" aria-labelledby="rk-screed-h2-8">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">08</div>
          <div><h2 id="rk-screed-h2-8">Dylatacje w wylewce na ogrzewaniu podłogowym</h2><p>Szczeliny należy skoordynować z geometrią pól i przebiegiem obwodów przed montażem rur.</p></div>
        </div>

        <div class="rk-screed-card-grid four">
          <div class="rk-screed-card"><div class="rk-screed-card-icon">O</div><h4>Obwodowa</h4><p>Taśma oddziela ogrzewaną płytę od ścian, słupów, progów i innych elementów pionowych.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">K</div><h4>Konstrukcyjna</h4><p>Szczelina istniejąca w konstrukcji budynku powinna być przeniesiona przez kolejne warstwy zgodnie z projektem.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">P</div><h4>Podziałowa</h4><p>Dzieli jastrych na pola o geometrii i wielkości dopuszczonej przez materiał oraz warunki pracy.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">R</div><h4>Robocza lub kontrolna</h4><p>Wynika z etapowania i technologii. Jej funkcji nie należy mylić z pełną szczeliną ruchową.</p></div>
        </div>

        <p>Popularna zasada „dylatacja powyżej 40 m² albo przy boku dłuższym niż 8 m” nie jest przepisem działającym dla każdego jastrychu. Ważne są proporcje pola, przewężenia, kształt litery L, przejścia drzwiowe, różne temperatury, sąsiednie strefy oraz dokumentacja produktu. Długi korytarz może wymagać innego podziału niż zwarty salon o podobnej powierzchni.</p>

        <div class="rk-screed-truth"><p><strong>Pętle nie powinny przechodzić przez szczeliny ruchowe.</strong> Jeżeli przez zaprojektowaną szczelinę muszą przejść przewody przyłączeniowe, prowadzi się je w odpowiednio długich tulejach ochronnych i ogranicza liczbę takich przejść. Rozwiązanie trzeba pokazać na rzucie. Szersze omówienie zawiera poradnik o <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacji brzegowej i dylatacjach podłogówki</a>.</p></div>

        <h3>Co dzieje się z okładziną nad szczeliną?</h3>
        <p>Szczelinę ruchową jastrychu co do zasady odwzorowuje się w okładzinie. Przykrycie jej sztywną płytką i klejem może przenieść naprężenie na gotową podłogę. Profile, elastyczne uszczelnienia i układ fug dobiera się wspólnie z wykonawcą posadzki. Nie każda nacięta rysa w jastrychu jest natomiast szczeliną konstrukcyjną; naprawa zależy od przyczyny i aktywności pęknięcia.</p>
      </section>

      <section class="rk-screed-section" id="rk-screed-przed" aria-labelledby="rk-screed-h2-9">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">09</div>
          <div><h2 id="rk-screed-h2-9">Co sprawdzić przed wylaniem jastrychu?</h2><p>Po zakryciu rur poprawka zwykle oznacza kucie albo trwały kompromis.</p></div>
        </div>

        <div class="rk-screed-check-grid">
          <div class="rk-screed-check"><div class="rk-screed-check-no">01</div><h4>Równość i nośność podłoża</h4><p>Izolacja musi leżeć stabilnie, bez pustek i klinowania. Instalacje pod nią powinny być wyrównane warstwą, a nie przykryte przypadkowo łamiącymi się płytami.</p></div>
          <div class="rk-screed-check"><div class="rk-screed-check-no">02</div><h4>Izolacja brzegowa</h4><p>Taśma ma tworzyć ciągłe oddzielenie także przy słupach, ościeżach, podejściach i innych elementach pionowych.</p></div>
          <div class="rk-screed-check"><div class="rk-screed-check-no">03</div><h4>Mocowanie i przebieg rur</h4><p>Przewody nie mogą wypływać ani zmieniać rozstawu. Trasy powinny odpowiadać projektowi i pozostawać z dala od przyszłych mocowań.</p></div>
          <div class="rk-screed-check"><div class="rk-screed-check-no">04</div><h4>Szczeliny i tuleje</h4><p>Podział pól oraz przejścia przyłączeń przez dylatacje muszą być przygotowane przed rozpoczęciem podawania mieszanki.</p></div>
          <div class="rk-screed-check"><div class="rk-screed-check-no">05</div><h4>Próba szczelności</h4><p>Obwody trzeba napełnić, odpowietrzyć, sprawdzić i udokumentować zgodnie z PN-EN 1264-4 oraz instrukcją systemu.</p></div>
          <div class="rk-screed-check"><div class="rk-screed-check-no">06</div><h4>Repery wysokościowe</h4><p>Poziomy powinny uwzględniać wszystkie pomieszczenia, progi, schody, odpływy i różne grubości docelowych okładzin.</p></div>
        </div>

        <h3>Jak rozumieć próbę ciśnieniową?</h3>
        <p>W typowym układzie wodnym próbę wykonuje się wodą przed przykryciem rur, przy ciśnieniu równym dwukrotności ciśnienia roboczego, nie mniejszym niż 6 bar, jeżeli dokumentacja systemu nie określa inaczej. Wynik i warunki zapisuje się w protokole. Podczas wykonywania jastrychu rury pozostawia się pod ciśnieniem, aby ograniczyć ryzyko zgniecenia i umożliwić zauważenie uszkodzenia, lecz nie oznacza to automatycznie utrzymywania pełnego ciśnienia próbnego przez cały okres dojrzewania. Szczegółowy przebieg opisuje materiał o <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próbie szczelności ogrzewania podłogowego</a>.</p>

        <div class="rk-screed-warning"><p><strong>Ryzyko zamarznięcia:</strong> jeśli budynek zimą nie jest ogrzewany, próba wodna wymaga zabezpieczenia instalacji. Środek przeciwzamrożeniowy, płukanie i późniejsze napełnienie muszą być zgodne z materiałami instalacji oraz źródłem ciepła. Nie wolno zostawić wody w przewodach i liczyć, że jastrych je ochroni.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-wykonanie" aria-labelledby="rk-screed-h2-10">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">10</div>
          <div><h2 id="rk-screed-h2-10">Wykonanie i pielęgnacja wylewki na podłogówce</h2><p>Konsystencja mieszanki narzuca technologię wbudowania.</p></div>
        </div>

        <div class="rk-screed-phase-grid">
          <div class="rk-screed-phase" data-step="01"><b>Przyjęcie mieszanki</b><p>Sprawdza się zamówiony typ, klasę, czas od przygotowania, warunki otoczenia i zgodność dodatków. Niedozwolona jest korekta wodą „na oko”.</p></div>
          <div class="rk-screed-phase" data-step="02"><b>Wbudowanie</b><p>Półsuchy CT rozkłada się i zagęszcza inaczej niż płynny CT albo CA. Wałek odpowietrzający nie jest uniwersalnym narzędziem dla każdego jastrychu.</p></div>
          <div class="rk-screed-phase" data-step="03"><b>Kontrola wysokości</b><p>Grubość sprawdza się w wielu punktach. Lokalna górka nad rurą i niedobór w sąsiedztwie mogą zmienić pracę pola oraz poziomy okładzin.</p></div>
          <div class="rk-screed-phase" data-step="04"><b>Ochrona świeżej powierzchni</b><p>Przeciąg, słońce i szybkie odparowanie sprzyjają naprężeniom. Warunki pielęgnacji zależą od spoiwa i karty produktu.</p></div>
          <div class="rk-screed-phase" data-step="05"><b>Ruch i obciążanie</b><p>Termin wejścia, składowania materiałów i wykonywania ścianek nie wynika wyłącznie z tego, że powierzchnia jest twarda w dotyku.</p></div>
          <div class="rk-screed-phase" data-step="06"><b>Dokumentacja</b><p>Zachowuje się deklarację, numer partii, datę wykonania, temperaturę, protokół próby, grubości i plan pól. To materiał do odbioru i ewentualnej diagnostyki.</p></div>
        </div>

        <p>W przypadku cementowego jastrychu półsuchego kluczowe jest równomierne zagęszczenie wokół rury. Pustka powietrzna pogarsza przekazywanie ciepła i tworzy lokalnie słabszą strefę. Płynna mieszanka ma inne ryzyka: nieszczelna warstwa rozdzielająca może dopuścić do ucieczki materiału, a wypływ rur zmieni ich położenie. Prace powinny być skoordynowane z instalatorem, wykonawcą jastrychu i osobą odpowiadającą za późniejszą posadzkę.</p>

        <div class="rk-screed-note"><p><strong>28 dni nie oznacza automatycznie „suche”.</strong> Jest to charakterystyczny punkt odniesienia dla dojrzewania wielu materiałów cementowych, ale czas osiągnięcia wilgotności wymaganej pod posadzkę zależy od grubości, receptury, temperatury, wilgotności powietrza i wentylacji.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-wygrzewanie" aria-labelledby="rk-screed-h2-11">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">11</div>
          <div><h2 id="rk-screed-h2-11">Wygrzewanie wylewki na ogrzewaniu podłogowym – prawidłowa kolejność</h2><p>Należy rozdzielić cztery procesy, które często wrzuca się do jednego worka.</p></div>
        </div>

        <div class="rk-screed-protocol">
          <div class="rk-screed-protocol-step"><span>ETAP 1</span><h3>Wiązanie i pielęgnacja</h3><p>Świeży materiał osiąga wytrzymałość w warunkach określonych przez producenta. Ogrzewanie nie służy do przyspieszania pierwszej fazy.</p></div>
          <div class="rk-screed-protocol-step"><span>ETAP 2</span><h3>Nagrzewanie funkcjonalne</h3><p>Sprawdza zachowanie jastrychu grzejnego i instalacji w cyklu temperatur zgodnym z normą oraz instrukcją wyrobu.</p></div>
          <div class="rk-screed-protocol-step"><span>ETAP 3</span><h3>Suszenie do okładziny</h3><p>Wymaga wentylacji i kontroli warunków. Sam ukończony protokół funkcjonalny nie dowodzi gotowości pod parkiet albo płytki.</p></div>
          <div class="rk-screed-protocol-step"><span>ETAP 4</span><h3>Pomiar CM i odbiór</h3><p>Wilgotność sprawdza się w oznaczonych miejscach bez rur i porównuje z wymaganiem systemu posadzkowego.</p></div>
        </div>

        <h3>Modelowy protokół według PN-EN 1264-4</h3>
        <p>Dla typowego jastrychu cementowego rozpoczęcie nagrzewania funkcjonalnego następuje po co najmniej 21 dniach, a dla jastrychu na bazie siarczanu wapnia po co najmniej 7 dniach, chyba że producent wyrobu jednoznacznie dopuszcza inny termin. Procedurę zaczyna się temperaturą zasilania około 25°C utrzymywaną przez 3 dni, następnie stosuje maksymalną projektową temperaturę zasilania przez co najmniej 4 dni. Nie jest to nakaz podnoszenia temperatury zawsze o 5°C na dobę ani pozwolenie na ustawienie arbitralnych 45°C. Maksimum wynika z projektu instalacji i ograniczeń materiału.</p>

        <div class="rk-screed-table-wrap">
          <table class="rk-screed-table">
            <thead><tr><th>Pytanie kontrolne</th><th>Prawidłowa odpowiedź</th><th>Błędny skrót</th></tr></thead>
            <tbody>
              <tr><td data-label="Pytanie"><strong>Kiedy zacząć?</strong></td><td data-label="Prawidłowo">Po minimalnym czasie wiązania właściwym dla materiału i po potwierdzeniu wykonawcy.</td><td data-label="Błędnie">„Gdy można już chodzić”.</td></tr>
              <tr><td data-label="Pytanie"><strong>Do jakiej temperatury?</strong></td><td data-label="Prawidłowo">Do maksymalnej projektowej temperatury zasilania, w granicach wyrobu i instalacji.</td><td data-label="Błędnie">„Każdą wylewkę grzejemy do 45–55°C”.</td></tr>
              <tr><td data-label="Pytanie"><strong>Czy po protokole jest sucho?</strong></td><td data-label="Prawidłowo">Nie wiadomo bez pomiaru wilgotności i kryterium docelowej posadzki.</td><td data-label="Błędnie">„Wygrzane znaczy gotowe do klejenia”.</td></tr>
              <tr><td data-label="Pytanie"><strong>Ile schnie?</strong></td><td data-label="Prawidłowo">Zależy od wyrobu, grubości i klimatu; kontroluje się pomiarem.</td><td data-label="Błędnie">„Zawsze 1 mm na dobę”.</td></tr>
            </tbody>
          </table>
        </div>

        <p>Przed uruchomieniem należy otworzyć wszystkie projektowane obwody, zapewnić przepływy i kontrolować temperaturę zasilania. Samo nagrzanie rozdzielacza bez przepływu przez część pętli nie jest pełnym protokołem. Warto zapisać datę, temperatury i czas każdego etapu, a po zakończeniu pozostawić dokument wykonawcy posadzki.</p>
      </section>

      <section class="rk-screed-section" id="rk-screed-posadzka" aria-labelledby="rk-screed-h2-12">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">12</div>
          <div><h2 id="rk-screed-h2-12">Wilgotność wylewki i wybór posadzki</h2><p>Najdroższe błędy często wychodzą dopiero po ułożeniu drewna, paneli albo płytek.</p></div>
        </div>

        <p>Nie istnieje jeden próg wilgotności właściwy dla każdego jastrychu i każdej okładziny. Kryterium zależy między innymi od spoiwa, ogrzewania, metody pomiaru, kleju, hydroizolacji i producenta posadzki. Wynik CM powinien być zapisany wraz z miejscem pobrania próbki. W projekcie instalacji warto wcześniej oznaczyć bezpieczne punkty pomiarowe, aby nie przewiercić rury.</p>

        <div class="rk-screed-card-grid three">
          <div class="rk-screed-card"><div class="rk-screed-card-icon">CM</div><h4>Pomiar, nie kalendarz</h4><p>Data wykonania nie potwierdza gotowości. Należy zmierzyć wilgotność metodą wymaganą przez system posadzkowy.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">R</div><h4>Opór okładziny</h4><p>Gruba deska, podkład i warstwa kleju zwiększają opór nad rurą oraz wymaganą temperaturę wody.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">J</div><h4>Szczeliny w wykończeniu</h4><p>Dylatacje ruchowe jastrychu trzeba skoordynować z fugami, profilami i kierunkiem ułożenia okładziny.</p></div>
        </div>

        <p>Podłogi drewniane i laminowane wymagają sprawdzenia dopuszczenia na ogrzewanie podłogowe, maksymalnej temperatury powierzchni i łącznego oporu cieplnego. Porównanie systemów znajduje się w analizie <a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/">podłogi drewniane a panele laminowane na podłogówce</a>. Przy płytkach liczy się również zgodność kleju i zaprawy do spoinowania z podłożem ogrzewanym oraz przeniesienie zaprojektowanych szczelin.</p>

        <div class="rk-screed-note"><p><strong>Nie wierć „na pamięć”.</strong> Dokumentacja fotograficzna i rzut rur nie dają stuprocentowej pewności po zmianie skali lub punktów odniesienia. Przed wykonaniem mocowania w podłodze instalację należy zlokalizować odpowiednią metodą.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-bledy" aria-labelledby="rk-screed-h2-13">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">13</div>
          <div><h2 id="rk-screed-h2-13">Pęknięcia, odspojenia i nierówne grzanie – najczęstsze przyczyny</h2><p>Rysa jest objawem; naprawę dobiera się dopiero po rozpoznaniu mechanizmu.</p></div>
        </div>

        <div class="rk-screed-error-grid">
          <div class="rk-screed-error"><div class="rk-screed-error-no">01</div><h4>Za dużo wody</h4><p>Ułatwia rozprowadzanie, lecz może zwiększyć skurcz, segregację, porowatość i spadek wytrzymałości.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">02</div><h4>Przypadkowa grubość</h4><p>Różnice poziomu tworzą miejsca o innej sztywności, masie i czasie reakcji cieplnej.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">03</div><h4>Brak ciągłej taśmy</h4><p>Kontakt ze ścianą lub słupem blokuje swobodną pracę pola i tworzy mostek akustyczny.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">04</div><h4>Zły podział pól</h4><p>Przewężenia, naroża wewnętrzne i długie kształty bez zaplanowanej szczeliny sprzyjają rysom.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">05</div><h4>Pusta przestrzeń przy rurze</h4><p>Niedostateczne otulenie pogarsza kontakt cieplny i może osłabić miejscowo jastrych.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">06</div><h4>Zbyt szybkie wysychanie</h4><p>Przeciąg, słońce lub przedwczesne grzanie tworzą gradient wilgotności i naprężenia.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">07</div><h4>Siatka na izolacji</h4><p>Zbrojenie bez właściwego położenia nie realizuje funkcji przyjętej w projekcie.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">08</div><h4>Okładzina bez pomiaru</h4><p>Zamknięcie wilgoci może powodować odspojenie, przebarwienia, deformacje lub rozwój pleśni w warstwach.</p></div>
        </div>

        <h3>Czy każdą rysę trzeba rozkuwać?</h3>
        <p>Nie. Najpierw ocenia się szerokość, głębokość, aktywność, przebieg względem szczelin i rur, różnicę wysokości krawędzi oraz nośność podłoża. Rysa skurczowa stabilna wymaga innego postępowania niż pracująca szczelina nad przewężeniem albo pęknięcie wynikające z osiadania izolacji. Zanim zastosuje się zszywanie, żywicę, matę odprężającą albo lokalną wymianę, należy znaleźć przyczynę.</p>

        <div class="rk-screed-truth"><p><strong>Nierówna temperatura powierzchni nie musi oznaczać złej wylewki.</strong> Przyczyną może być brak przepływu, zapowietrzenie, inny rozstaw, grubsza okładzina, strefa bez rury albo błąd nastaw. Diagnostykę zaczyna się od projektu, przepływów i obrazu termicznego, nie od kucia podłogi.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-kroki" aria-labelledby="rk-screed-h2-14">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">14</div>
          <div><h2 id="rk-screed-h2-14">Jak wykonać wylewkę na ogrzewanie podłogowe – kolejność prac</h2><p>Dziesięć etapów od projektu do odbioru posadzki.</p></div>
        </div>

        <ol class="rk-screed-howto">
          <li class="rk-screed-howto-step" id="rk-screed-step-1"><span>01</span><div><h3>Ustal konstrukcję podłogi</h3><p>Wybierz jastrych, klasę, grubość, izolację, okładzinę, obciążenia i wysokości. Sprawdź nośność stropu oraz ściśliwość warstw.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-2"><span>02</span><div><h3>Zaprojektuj ogrzewanie</h3><p>Oblicz obciążenie pomieszczeń, rozstaw, temperaturę zasilania, długości pętli, przepływy i przebieg bez kolizji ze szczelinami.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-3"><span>03</span><div><h3>Przygotuj równe podłoże i izolację</h3><p>Usuń luźne elementy, wyrównaj instalacje, ułóż warstwy bez pustek i wykonaj ciągłą izolację brzegową.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-4"><span>04</span><div><h3>Ułóż i zamocuj rury</h3><p>Zachowaj projektowany rozstaw, promienie gięcia i strefy bez mocowań. Oznacz przejścia, dylatacje i punkty pomiarowe.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-5"><span>05</span><div><h3>Wykonaj próbę szczelności</h3><p>Napełnij, odpowietrz i sprawdź obwody zgodnie z normą oraz systemem. Sporządź protokół i pozostaw instalację pod właściwym ciśnieniem podczas prac.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-6"><span>06</span><div><h3>Zbuduj podział na pola</h3><p>Wykonaj szczeliny, profile i tuleje ochronne zgodnie z planem. Skoordynuj je z progami oraz przyszłą okładziną.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-7"><span>07</span><div><h3>Wbuduj mieszankę</h3><p>Kontroluj recepturę, czas, konsystencję, zagęszczenie i poziomy. Nie dolewaj wody bez zgody technologicznej.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-8"><span>08</span><div><h3>Pielęgnuj i chroń</h3><p>Ogranicz przeciąg, słońce, mróz i przedwczesne obciążenie. Realizuj wymagania właściwe dla spoiwa i produktu.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-9"><span>09</span><div><h3>Przeprowadź nagrzewanie funkcjonalne</h3><p>Po wymaganym czasie uruchom wszystkie obwody, zapisz temperatury i zachowaj maksymalną temperaturę projektową przez wymagany okres.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-10"><span>10</span><div><h3>Zmierz wilgotność i odbierz podłoże</h3><p>Wykonaj pomiar w bezpiecznych punktach, oceń rysy, równość i wytrzymałość powierzchni, a następnie przekaż protokoły wykonawcy posadzki.</p></div></li>
        </ol>
      </section>

      <section class="rk-screed-section" id="rk-screed-faq" aria-labelledby="rk-screed-h2-15">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">15</div>
          <div><h2 id="rk-screed-h2-15">FAQ – wylewka betonowa na ogrzewanie podłogowe</h2><p>Odpowiedzi na najczęstsze pytania inwestorów i wykonawców.</p></div>
        </div>

        <div class="rk-screed-faq-list">
          <details class="rk-screed-faq"><summary>Ile centymetrów wylewki powinno być nad rurą ogrzewania podłogowego?</summary><div class="rk-screed-faq-answer"><p>Nie ma jednej wartości właściwej dla wszystkich produktów i podłóg. Warstwę nad rurą ustala się na podstawie typu i klasy jastrychu, obciążenia, podatności izolacji, średnicy przewodu, geometrii pól i dokumentacji systemu. Popularne 4,5 cm jest przykładem spotykanym w części rozwiązań, a nie uniwersalną normą.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy całkowita grubość 6 cm wystarczy przy rurze 16 mm?</summary><div class="rk-screed-faq-answer"><p>Przy 60 mm całkowitej grubości nad rurą 16 mm pozostaje 44 mm. Geometrycznie można to policzyć, ale bezpieczeństwa nie da się potwierdzić bez klasy materiału, obciążenia, rodzaju izolacji, układu szczelin i instrukcji konkretnego jastrychu.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy jastrych cementowy musi mieć siatkę?</summary><div class="rk-screed-faq-answer"><p>Nie zawsze. Dopuszczalne rozwiązanie powinno wynikać z projektu lub dokumentacji systemu. Siatka, włókna i brak dodatkowego zbrojenia mają różne warunki stosowania. Siatka położona bez dystansów na izolacji nie zastępuje prawidłowo zaprojektowanego zbrojenia.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy włókna zastępują siatkę w wylewce?</summary><div class="rk-screed-faq-answer"><p>Tylko wtedy, gdy rodzaj i dawka włókien mają taką funkcję w dokumentacji systemu. Mikrowłókna ograniczające skurcz plastyczny nie są automatycznie zamiennikiem siatki konstrukcyjnej. Nie wolno oceniać wszystkich włókien jako jednego materiału.</p></div></details>
          <details class="rk-screed-faq"><summary>Co jest lepsze na podłogówkę: cement czy anhydryt?</summary><div class="rk-screed-faq-answer"><p>Oba rozwiązania mogą działać bardzo dobrze. CT jest odporny na różne warunki wilgotnościowe i dostępny w wielu odmianach. CA zwykle dobrze otacza rury i ma mniejszy skurcz. Decyzję podejmuje się według pomieszczenia, produktu, harmonogramu, obciążeń, okładziny i jakości wykonawstwa.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy anhydryt ma zawsze lepszą przewodność cieplną?</summary><div class="rk-screed-faq-answer"><p>Nie należy tego zakładać na podstawie samej nazwy spoiwa. Przewodność zależy od receptury, gęstości i wilgotności. Do obliczeń trzeba przyjąć wartość λ deklarowaną dla konkretnego wyrobu w warunkach właściwych dla projektu.</p></div></details>
          <details class="rk-screed-faq"><summary>Po ilu dniach można włączyć ogrzewanie podłogowe?</summary><div class="rk-screed-faq-answer"><p>Dla standardowego jastrychu cementowego nagrzewanie funkcjonalne według PN-EN 1264-4 rozpoczyna się zwykle nie wcześniej niż po 21 dniach, a dla jastrychu na bazie siarczanu wapnia po co najmniej 7 dniach. Produkt specjalny może mieć inny harmonogram zapisany przez producenta.</p></div></details>
          <details class="rk-screed-faq"><summary>Jak wygląda pierwsze wygrzewanie wylewki?</summary><div class="rk-screed-faq-answer"><p>Modelowo stosuje się około 25°C temperatury zasilania przez 3 dni, a następnie maksymalną projektową temperaturę zasilania przez co najmniej 4 dni. Dokładny protokół musi uwzględniać rodzaj jastrychu, instrukcję produktu i parametry instalacji.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy wygrzanie oznacza, że można układać panele lub drewno?</summary><div class="rk-screed-faq-answer"><p>Nie. Wygrzewanie funkcjonalne nie jest dowodem osiągnięcia wilgotności wymaganej przez posadzkę. Gotowość potwierdza pomiar, najczęściej metodą CM, oraz kryterium producenta jastrychu, kleju i okładziny.</p></div></details>
          <details class="rk-screed-faq"><summary>Ile schnie wylewka o grubości 6 cm?</summary><div class="rk-screed-faq-answer"><p>Nie da się wiarygodnie odpowiedzieć regułą „1 mm na dobę”. Czas zależy od receptury, spoiwa, grubości, temperatury, wilgotności i wymiany powietrza. Należy śledzić warunki, przeprowadzić wymagany protokół i zmierzyć wilgotność.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy rury mogą przechodzić przez dylatację?</summary><div class="rk-screed-faq-answer"><p>Pętla grzewcza nie powinna przechodzić z pola do pola przez szczelinę ruchową. Jeśli muszą przejść przewody przyłączeniowe, prowadzi się je w odpowiednich tulejach ochronnych zgodnie z projektem i ogranicza liczbę przejść.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy trzeba utrzymywać 6–8 bar przez cały czas schnięcia?</summary><div class="rk-screed-faq-answer"><p>Nie należy stosować takiej uniwersalnej zasady. Próbę wykonuje się przed zakryciem rur według PN-EN 1264-4 i systemu. Podczas wylewania przewody pozostają pod ciśnieniem, lecz wartość oraz czas utrzymania po pracy powinny wynikać z instrukcji i protokołu, a nie z przypadkowej liczby.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy grubsza wylewka daje cieplejszą podłogę?</summary><div class="rk-screed-faq-answer"><p>Nie automatycznie. Większa masa magazynuje więcej energii i wolniej reaguje, ale moc ustalają także temperatura wody, rozstaw rur, przepływ, opór okładziny i straty pomieszczenia. Nadmierna grubość nie naprawi źle zaprojektowanej instalacji.</p></div></details>
          <details class="rk-screed-faq"><summary>Skąd wiadomo, gdzie później można wiercić?</summary><div class="rk-screed-faq-answer"><p>Trzeba zachować projekt, zdjęcia z punktami odniesienia i dokumentację powykonawczą, a przed wierceniem zlokalizować rury. Samo zdjęcie lub rzut może być niedokładny po zmianie skali, tynkach i przesunięciu osi pomieszczenia.</p></div></details>
        </div>

        <div class="rk-screed-sources">
          <strong>Podstawa techniczna i data weryfikacji</strong>
          Opracowanie zaktualizowano 29 sierpnia 2026 r. Podstawę stanowią oficjalne karty
          <a href="https://www.iso.org/standard/74685.html" target="_blank" rel="noopener nofollow">ISO 11855-5:2021 — wykonanie</a>,
          <a href="https://www.iso.org/standard/74683.html" target="_blank" rel="noopener nofollow">ISO 11855-2:2021 — obliczanie mocy</a>, zakres EN 13813 oraz dokumentacja wskazanych systemów Uponor i Knauf.
          Normy i przykłady producentów nie zastępują deklaracji, instrukcji i projektu konkretnego układu podłogi.
        </div>
      </section>

      <aside class="rk-screed-author-box" aria-label="Informacje o autorze" itemprop="author" itemscope itemtype="https://schema.org/Person">
        <div class="rk-screed-author-head">
          <div><h3>Autor opracowania</h3><p>Praktyka projektowa, wiedza techniczna i język zrozumiały dla inwestora.</p></div>
          <div class="rk-screed-author-mark">E-E-A-T • HVAC</div>
        </div>
        <div class="rk-screed-author-main">
          <div class="rk-screed-author-profile">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski – autor opracowania" width="174" height="174" loading="lazy" itemprop="image">
            <h4 itemprop="name">Robert Kucharski</h4>
            <span class="rk-screed-author-role" itemprop="jobTitle">Projektant instalacji sanitarnych • specjalista systemów HVAC i ogrzewania podłogowego</span>
            <div class="rk-screed-author-social-label">Znajdziesz mnie również:</div>
            <div class="rk-screed-author-social" aria-label="Profile Roberta Kucharskiego w mediach społecznościowych">
              <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener nofollow me" aria-label="Robert Kucharski na LinkedIn" title="LinkedIn"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5.2 7.7H1.6V22h3.6V7.7ZM3.4 2A2.1 2.1 0 1 0 3.4 6.2 2.1 2.1 0 0 0 3.4 2ZM22.4 13.8c0-4.3-2.3-6.3-5.4-6.3a4.7 4.7 0 0 0-4.2 2.3V7.7H9.2V22h3.6v-7.1c0-1.9.4-3.7 2.7-3.7 2.3 0 2.3 2.1 2.3 3.8v7h3.6l1-8.2Z"/></svg></a>
              <a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="noopener nofollow me" aria-label="Projekt-Ogrzewania.pl na Facebooku" title="Facebook"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M14.2 22v-9h3l.5-3.5h-3.5V7.3c0-1 .3-1.7 1.8-1.7h1.9V2.5c-.3 0-1.5-.1-2.8-.1-2.8 0-4.7 1.7-4.7 4.8v2.3H7.2V13h3.2v9h3.8Z"/></svg></a>
              <a href="https://x.com/Projekt_HVAC" target="_blank" rel="noopener nofollow me" aria-label="Projekt HVAC w serwisie X" title="X"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M18.9 2H22l-6.8 7.8L23.2 22H17l-4.9-6.4L6.5 22H3.3l7.3-8.4L2.8 2h6.4l4.4 5.8L18.9 2Zm-1.1 17.8h1.7L8.3 4.1H6.5l11.3 15.7Z"/></svg></a>
            </div>
          </div>
          <div class="rk-screed-author-content">
            <div class="rk-screed-quote"><blockquote>„Wylewka nie naprawi źle zaprojektowanej podłogówki. Może jedynie dobrze albo źle przenieść do pomieszczenia ciepło, które wcześniej trzeba policzyć.”</blockquote></div>
            <div class="rk-screed-tab-buttons" role="tablist" aria-label="Informacje o autorze">
              <button class="rk-screed-tab-button is-active" type="button" role="tab" aria-selected="true" aria-controls="rk-screed-author-about" id="rk-screed-author-about-tab" data-screed-author-tab="about">O autorze</button>
              <button class="rk-screed-tab-button" type="button" role="tab" aria-selected="false" aria-controls="rk-screed-author-experience" id="rk-screed-author-experience-tab" data-screed-author-tab="experience">Doświadczenie</button>
              <button class="rk-screed-tab-button" type="button" role="tab" aria-selected="false" aria-controls="rk-screed-author-portals" id="rk-screed-author-portals-tab" data-screed-author-tab="portals">Portale</button>
            </div>
            <div class="rk-screed-tab-panel" id="rk-screed-author-about" role="tabpanel" aria-labelledby="rk-screed-author-about-tab" data-screed-author-panel="about">
              <p itemprop="description">Specjalizuję się w projektowaniu wodnego ogrzewania podłogowego, obliczeniach obciążenia cieplnego i hydraulice instalacji. Łączę parametry źródła ciepła, rozstaw rur, przepływy i konstrukcję podłogi w jeden możliwy do wykonania układ.</p>
            </div>
            <div class="rk-screed-tab-panel" id="rk-screed-author-experience" role="tabpanel" aria-labelledby="rk-screed-author-experience-tab" data-screed-author-panel="experience" hidden>
              <p>Wieloletnią praktykę projektową uzupełniam tworzeniem technicznych publikacji dla inwestorów i wykonawców. Analizuję zależności między stratami budynku, temperaturą zasilania, mocą powierzchniową, rozstawem, długością pętli, przepływem, oporem hydraulicznym i bezwładnością jastrychu. W poradnikach oddzielam wymagania normowe od zwyczajów wykonawczych i materiałów sprzedażowych.</p>
            </div>
            <div class="rk-screed-tab-panel" id="rk-screed-author-portals" role="tabpanel" aria-labelledby="rk-screed-author-portals-tab" data-screed-author-panel="portals" hidden>
              <p>Jestem właścicielem trzech serwisów branżowych. Powiązanie podaję jawnie, aby czytelnik znał autorstwo i kontekst linkowania.</p>
              <div class="rk-screed-portals">
                <a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a>
                <a href="https://remont.biz.pl/" target="_blank" rel="noopener nofollow">Remont.biz.pl</a>
                <a href="https://sobir.pl/" target="_blank" rel="noopener nofollow">Sobir.pl</a>
              </div>
            </div>
          </div>
        </div>
      </aside>

      <section class="rk-screed-cta" aria-label="Końcowe zamówienie projektu ogrzewania podłogowego">
        <span class="rk-screed-cta-kicker">Zamknij wysokości przed wykonaniem podłogi</span>
        <h3>Otrzymaj projekt skoordynowany z jastrychem i okładziną</h3>
        <p>Dokumentacja określa obciążenie cieplne każdego pomieszczenia, rozstaw i przebieg rur, długości pętli, temperaturę zasilania, przepływy oraz nastawy rozdzielacza. Dzięki temu grubość podłogi, dylatacje i strefy bez rur można uzgodnić przed zakryciem instalacji.</p>
        <a class="rk-screed-cta-link rk-screed-sales-cta" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt ogrzewania podłogowego</a>
        <small>Odnośnik prowadzi do strony sprzedażowej Projekt-Ogrzewania.pl — serwisu należącego do autora artykułu.</small>
      </section>
    </div>
  </div>
</article>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webpage",
      "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/",
      "name": "Grubość wylewki betonowej na ogrzewanie podłogowe — ile cm nad rurą 16 mm?",
      "description": "Jak policzyć grubość całkowitą i warstwę nad rurą 16 mm, sprawdzić masę jastrychu oraz odczytać wymaganie z dokumentacji produktu.",
      "inLanguage": "pl-PL",
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/#website"
      },
      "about": [
        {
          "@type": "Thing",
          "name": "Grubość jastrychu na ogrzewaniu podłogowym"
        },
        {
          "@type": "Thing",
          "name": "Warstwa jastrychu nad rurą 16 mm"
        },
        {
          "@type": "Thing",
          "name": "Masa i pojemność cieplna jastrychu"
        }
      ],
      "mainEntity": {
        "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article"
      },
      "dateModified": "2026-08-29T12:00:00+02:00",
      "breadcrumb": {
        "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#breadcrumb"
      }
    },
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article",
      "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/",
      "headline": "Grubość wylewki betonowej na ogrzewanie podłogowe — ile cm nad rurą 16 mm?",
      "alternativeHeadline": "Grubość całkowita i otulina nad rurą ogrzewania podłogowego",
      "description": "Techniczny przewodnik po grubości jastrychu: obliczenia dla rury 16 mm, wpływ położenia przewodu, masa warstwy, wymagania produktu i kontrola przed wylaniem.",
      "inLanguage": "pl-PL",
      "dateModified": "2026-08-29T12:00:00+02:00",
      "author": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "publisher": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "copyrightHolder": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "copyrightYear": 2026,
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webpage"
      },
      "mainEntityOfPage": {
        "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webpage"
      },
      "wordCount": 4476,
      "proficiencyLevel": "Expert",
      "genre": [
        "poradnik techniczny",
        "ogrzewanie podłogowe",
        "budownictwo"
      ],
      "keywords": [
        "grubość wylewki betonowej na ogrzewanie podłogowe",
        "ile wylewki nad rurą 16 mm",
        "wylewka na podłogówkę 6 cm",
        "jastrych ogrzewany grubość",
        "masa wylewki na m2",
        "otulina rury ogrzewania podłogowego"
      ],
      "about": [
        {
          "@type": "DefinedTerm",
          "name": "Jastrych grzejny",
          "description": "Podkład podłogowy zawierający przewody wodnego ogrzewania powierzchniowego."
        },
        {
          "@type": "DefinedTerm",
          "name": "CT-C20-F4",
          "description": "Przykładowe oznaczenie jastrychu cementowego z klasą wytrzymałości na ściskanie C20 i na zginanie F4."
        },
        {
          "@type": "DefinedTerm",
          "name": "Nagrzewanie funkcjonalne",
          "description": "Kontrolowany cykl temperatur wykonywany po minimalnym okresie wiązania jastrychu grzejnego."
        }
      ],
      "mentions": [
        {
          "@type": "TechArticle",
          "name": "PN-EN 1264-4 – Wodne płaszczyznowe systemy ogrzewania i chłodzenia – Instalowanie"
        },
        {
          "@type": "TechArticle",
          "name": "PN-EN 13813 – Podkłady podłogowe oraz materiały do ich wykonania"
        },
        {
          "@type": "TechArticle",
          "name": "ISO 11855-5:2021 – Installation",
          "url": "https://www.iso.org/standard/74685.html"
        }
      ],
      "citation": [
        "PN-EN 1264-4: Wodne płaszczyznowe systemy ogrzewania i chłodzenia – Część 4: Instalowanie",
        "PN-EN 13813: Podkłady podłogowe oraz materiały do ich wykonania – Materiały – Właściwości i wymagania",
        "https://www.iso.org/standard/74685.html",
        "https://www.iso.org/standard/83785.html"
      ],
      "hasPart": [
        {
          "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#analyzer"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#howto"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#faq"
        }
      ],
      "audience": {
        "@type": "Audience",
        "audienceType": "Inwestorzy, projektanci i wykonawcy ogrzewania podłogowego"
      }
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#analyzer",
      "name": "Interaktywny analizator przekroju jastrychu",
      "description": "Narzędzie oblicza warstwę jastrychu nad rurą, wymaganą grubość całkowitą, różnicę względem wartości z karty produktu, objętość, masę, pojemność cieplną i opór jednowymiarowy.",
      "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-kalkulator",
      "applicationCategory": "EngineeringApplication",
      "applicationSubCategory": "Analizator techniczny",
      "operatingSystem": "Any",
      "browserRequirements": "JavaScript",
      "isAccessibleForFree": true,
      "inLanguage": "pl-PL",
      "creator": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "featureList": [
        "Obliczanie rzeczywistej warstwy nad rurą",
        "Uwzględnienie podniesienia spodu rury",
        "Porównanie z minimum wpisanym z karty produktu",
        "Objętość i masa jastrychu",
        "Pojemność cieplna i opór jednowymiarowy",
        "Dynamiczny przekrój i wykres masy"
      ],
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "PLN"
      }
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#howto",
      "name": "Jak przygotować podłogę i wykonać jastrych nad ogrzewaniem podłogowym",
      "description": "Dziesięć etapów od ustalenia konstrukcji podłogi do odbioru podłoża pod okładzinę.",
      "inLanguage": "pl-PL",
      "supply": [
        {
          "@type": "HowToSupply",
          "name": "Jastrych o zaprojektowanej klasie"
        },
        {
          "@type": "HowToSupply",
          "name": "Izolacja termiczna i brzegowa"
        },
        {
          "@type": "HowToSupply",
          "name": "Rury ogrzewania podłogowego"
        },
        {
          "@type": "HowToSupply",
          "name": "Profile dylatacyjne i tuleje ochronne"
        }
      ],
      "tool": [
        {
          "@type": "HowToTool",
          "name": "Narzędzia do kontroli poziomu i grubości"
        },
        {
          "@type": "HowToTool",
          "name": "Zestaw do próby ciśnieniowej"
        },
        {
          "@type": "HowToTool",
          "name": "Aparat CM do pomiaru wilgotności"
        }
      ],
      "step": [
        {
          "@type": "HowToStep",
          "position": 1,
          "name": "Ustal konstrukcję podłogi",
          "text": "Wybierz jastrych, klasę, grubość, izolację, okładzinę, obciążenia i wysokości. Sprawdź nośność stropu oraz ściśliwość warstw.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-1"
        },
        {
          "@type": "HowToStep",
          "position": 2,
          "name": "Zaprojektuj ogrzewanie",
          "text": "Oblicz obciążenie pomieszczeń, rozstaw, temperaturę zasilania, długości pętli, przepływy i przebieg bez kolizji ze szczelinami.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-2"
        },
        {
          "@type": "HowToStep",
          "position": 3,
          "name": "Przygotuj równe podłoże i izolację",
          "text": "Usuń luźne elementy, wyrównaj instalacje, ułóż warstwy bez pustek i wykonaj ciągłą izolację brzegową.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-3"
        },
        {
          "@type": "HowToStep",
          "position": 4,
          "name": "Ułóż i zamocuj rury",
          "text": "Zachowaj projektowany rozstaw, promienie gięcia i strefy bez mocowań. Oznacz przejścia, dylatacje i punkty pomiarowe.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-4"
        },
        {
          "@type": "HowToStep",
          "position": 5,
          "name": "Wykonaj próbę szczelności",
          "text": "Napełnij, odpowietrz i sprawdź obwody zgodnie z normą oraz systemem. Sporządź protokół i pozostaw instalację pod właściwym ciśnieniem podczas prac.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-5"
        },
        {
          "@type": "HowToStep",
          "position": 6,
          "name": "Zbuduj podział na pola",
          "text": "Wykonaj szczeliny, profile i tuleje ochronne zgodnie z planem. Skoordynuj je z progami oraz przyszłą okładziną.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-6"
        },
        {
          "@type": "HowToStep",
          "position": 7,
          "name": "Wbuduj mieszankę",
          "text": "Kontroluj recepturę, czas, konsystencję, zagęszczenie i poziomy. Nie dolewaj wody bez zgody technologicznej.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-7"
        },
        {
          "@type": "HowToStep",
          "position": 8,
          "name": "Pielęgnuj i chroń",
          "text": "Ogranicz przeciąg, słońce, mróz i przedwczesne obciążenie. Realizuj wymagania właściwe dla spoiwa i produktu.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-8"
        },
        {
          "@type": "HowToStep",
          "position": 9,
          "name": "Przeprowadź nagrzewanie funkcjonalne",
          "text": "Po wymaganym czasie uruchom wszystkie obwody, zapisz temperatury i zachowaj maksymalną temperaturę projektową przez wymagany okres.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-9"
        },
        {
          "@type": "HowToStep",
          "position": 10,
          "name": "Zmierz wilgotność i odbierz podłoże",
          "text": "Wykonaj pomiar w bezpiecznych punktach, oceń rysy, równość i wytrzymałość powierzchni, a następnie przekaż protokoły wykonawcy posadzki.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-10"
        }
      ]
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Projekt-Ogrzewania.pl",
          "item": "https://projekt-ogrzewania.pl/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Ogrzewanie podłogowe",
          "item": "https://projekt-ogrzewania.pl/category/ogrzewanie-podlogowe/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Grubość wylewki betonowej",
          "item": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/"
        }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#faq",
      "inLanguage": "pl-PL",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Ile centymetrów wylewki powinno być nad rurą ogrzewania podłogowego?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie ma jednej wartości właściwej dla wszystkich produktów i podłóg. Warstwę nad rurą ustala się na podstawie typu i klasy jastrychu, obciążenia, podatności izolacji, średnicy przewodu, geometrii pól i dokumentacji systemu. Popularne 4,5 cm jest przykładem spotykanym w części rozwiązań, a nie uniwersalną normą."
          }
        },
        {
          "@type": "Question",
          "name": "Czy całkowita grubość 6 cm wystarczy przy rurze 16 mm?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Przy 60 mm całkowitej grubości nad rurą 16 mm pozostaje 44 mm. Geometrycznie można to policzyć, ale bezpieczeństwa nie da się potwierdzić bez klasy materiału, obciążenia, rodzaju izolacji, układu szczelin i instrukcji konkretnego jastrychu."
          }
        },
        {
          "@type": "Question",
          "name": "Czy jastrych cementowy musi mieć siatkę?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie zawsze. Dopuszczalne rozwiązanie powinno wynikać z projektu lub dokumentacji systemu. Siatka, włókna i brak dodatkowego zbrojenia mają różne warunki stosowania. Siatka położona bez dystansów na izolacji nie zastępuje prawidłowo zaprojektowanego zbrojenia."
          }
        },
        {
          "@type": "Question",
          "name": "Czy włókna zastępują siatkę w wylewce?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Tylko wtedy, gdy rodzaj i dawka włókien mają taką funkcję w dokumentacji systemu. Mikrowłókna ograniczające skurcz plastyczny nie są automatycznie zamiennikiem siatki konstrukcyjnej. Nie wolno oceniać wszystkich włókien jako jednego materiału."
          }
        },
        {
          "@type": "Question",
          "name": "Co jest lepsze na podłogówkę: cement czy anhydryt?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Oba rozwiązania mogą działać bardzo dobrze. CT jest odporny na różne warunki wilgotnościowe i dostępny w wielu odmianach. CA zwykle dobrze otacza rury i ma mniejszy skurcz. Decyzję podejmuje się według pomieszczenia, produktu, harmonogramu, obciążeń, okładziny i jakości wykonawstwa."
          }
        },
        {
          "@type": "Question",
          "name": "Czy anhydryt ma zawsze lepszą przewodność cieplną?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie należy tego zakładać na podstawie samej nazwy spoiwa. Przewodność zależy od receptury, gęstości i wilgotności. Do obliczeń trzeba przyjąć wartość λ deklarowaną dla konkretnego wyrobu w warunkach właściwych dla projektu."
          }
        },
        {
          "@type": "Question",
          "name": "Po ilu dniach można włączyć ogrzewanie podłogowe?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Dla standardowego jastrychu cementowego nagrzewanie funkcjonalne według PN-EN 1264-4 rozpoczyna się zwykle nie wcześniej niż po 21 dniach, a dla jastrychu na bazie siarczanu wapnia po co najmniej 7 dniach. Produkt specjalny może mieć inny harmonogram zapisany przez producenta."
          }
        },
        {
          "@type": "Question",
          "name": "Jak wygląda pierwsze wygrzewanie wylewki?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Modelowo stosuje się około 25°C temperatury zasilania przez 3 dni, a następnie maksymalną projektową temperaturę zasilania przez co najmniej 4 dni. Dokładny protokół musi uwzględniać rodzaj jastrychu, instrukcję produktu i parametry instalacji."
          }
        },
        {
          "@type": "Question",
          "name": "Czy wygrzanie oznacza, że można układać panele lub drewno?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie. Wygrzewanie funkcjonalne nie jest dowodem osiągnięcia wilgotności wymaganej przez posadzkę. Gotowość potwierdza pomiar, najczęściej metodą CM, oraz kryterium producenta jastrychu, kleju i okładziny."
          }
        },
        {
          "@type": "Question",
          "name": "Ile schnie wylewka o grubości 6 cm?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie da się wiarygodnie odpowiedzieć regułą „1 mm na dobę”. Czas zależy od receptury, spoiwa, grubości, temperatury, wilgotności i wymiany powietrza. Należy śledzić warunki, przeprowadzić wymagany protokół i zmierzyć wilgotność."
          }
        },
        {
          "@type": "Question",
          "name": "Czy rury mogą przechodzić przez dylatację?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Pętla grzewcza nie powinna przechodzić z pola do pola przez szczelinę ruchową. Jeśli muszą przejść przewody przyłączeniowe, prowadzi się je w odpowiednich tulejach ochronnych zgodnie z projektem i ogranicza liczbę przejść."
          }
        },
        {
          "@type": "Question",
          "name": "Czy trzeba utrzymywać 6–8 bar przez cały czas schnięcia?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie należy stosować takiej uniwersalnej zasady. Próbę wykonuje się przed zakryciem rur według PN-EN 1264-4 i systemu. Podczas wylewania przewody pozostają pod ciśnieniem, lecz wartość oraz czas utrzymania po pracy powinny wynikać z instrukcji i protokołu, a nie z przypadkowej liczby."
          }
        },
        {
          "@type": "Question",
          "name": "Czy grubsza wylewka daje cieplejszą podłogę?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie automatycznie. Większa masa magazynuje więcej energii i wolniej reaguje, ale moc ustalają także temperatura wody, rozstaw rur, przepływ, opór okładziny i straty pomieszczenia. Nadmierna grubość nie naprawi źle zaprojektowanej instalacji."
          }
        },
        {
          "@type": "Question",
          "name": "Skąd wiadomo, gdzie później można wiercić?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Trzeba zachować projekt, zdjęcia z punktami odniesienia i dokumentację powykonawczą, a przed wierceniem zlokalizować rury. Samo zdjęcie lub rzut może być niedokładny po zmianie skali, tynkach i przesunięciu osi pomieszczenia."
          }
        }
      ]
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista HVAC",
      "description": "Projektant wodnego ogrzewania podłogowego, autor technicznych opracowań i właściciel serwisów Projekt-Ogrzewania.pl, Remont.biz.pl oraz Sobir.pl.",
      "knowsAbout": [
        "Ogrzewanie podłogowe",
        "Jastrychy grzejne",
        "Projektowanie instalacji sanitarnych",
        "Hydraulika instalacji grzewczych",
        "Obciążenie cieplne budynków",
        "Pompy ciepła",
        "Efektywność energetyczna budynków"
      ],
      "sameAs": [
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ],
      "affiliation": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "owns": [
        {
          "@id": "https://projekt-ogrzewania.pl/#website"
        },
        {
          "@id": "https://remont.biz.pl/#website"
        },
        {
          "@id": "https://sobir.pl/#website"
        }
      ],
      "worksFor": [
        {
          "@id": "https://projekt-ogrzewania.pl/#organization"
        },
        {
          "@id": "https://remont.biz.pl/#organization"
        },
        {
          "@id": "https://sobir.pl/#organization"
        }
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt-Ogrzewania.pl",
      "url": "https://projekt-ogrzewania.pl/",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Projekt-Ogrzewania-Logo.webp"
      },
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt-Ogrzewania.pl",
      "inLanguage": "pl-PL",
      "publisher": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "creator": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "copyrightHolder": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      }
    },
    {
      "@type": "Organization",
      "@id": "https://remont.biz.pl/#organization",
      "name": "Remont.biz.pl",
      "url": "https://remont.biz.pl/",
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      }
    },
    {
      "@type": "Organization",
      "@id": "https://sobir.pl/#organization",
      "name": "Sobir.pl",
      "url": "https://sobir.pl/",
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      }
    }
  ]
}
</script>

<script>
(function () {
  "use strict";

  function initScreedGuide() {
    var root = document.getElementById("rk-screed-guide");
    if (!root) {
      return;
    }
    if (root.getAttribute("data-rk-screed-ready") === "1") {
      return;
    }
    root.setAttribute("data-rk-screed-ready", "1");

    function one(selector) {
      return root.querySelector(selector);
    }

    function many(selector) {
      return Array.prototype.slice.call(root.querySelectorAll(selector));
    }

    function valueOf(element, fallback) {
      if (!element) {
        return fallback;
      }
      var value = Number.parseFloat(element.value);
      if (Number.isFinite(value)) {
        return value;
      }
      return fallback;
    }

    function format(value, digits) {
      return value.toLocaleString("pl-PL", {
        minimumFractionDigits: digits,
        maximumFractionDigits: digits
      });
    }

    function setText(selector, content) {
      var element = one(selector);
      if (element) {
        element.textContent = content;
      }
    }

    function svgElement(name, attributes, content) {
      var element = document.createElementNS("http://www.w3.org/2000/svg", name);
      Object.keys(attributes).forEach(function (key) {
        element.setAttribute(key, String(attributes[key]));
      });
      if (typeof content === "string") {
        element.textContent = content;
      }
      return element;
    }

    var fields = {
      total: one("#rk-screed-total"),
      diameter: one("#rk-screed-diameter"),
      elevation: one("#rk-screed-elevation"),
      required: one("#rk-screed-required"),
      area: one("#rk-screed-area"),
      density: one("#rk-screed-density"),
      cp: one("#rk-screed-cp"),
      lambda: one("#rk-screed-lambda")
    };

    var presets = {
      six: { total: 60 },
      standard: { total: 65 },
      seven: { total: 70 },
      eight: { total: 80 }
    };

    function updateCrossSection(total, diameter, elevation, cover) {
      var screed = one("#rk-screed-svg-screed");
      var pipe = one("#rk-screed-svg-pipe");
      var coverLine = one("#rk-screed-svg-cover-line");
      var totalLine = one("#rk-screed-svg-total-line");
      var coverText = one("#rk-screed-svg-cover-text");
      var totalText = one("#rk-screed-svg-total-text");
      if (!screed) {
        return;
      }

      var bottom = 190;
      var height = 92 + (total - 35) / 65 * 64;
      height = Math.min(Math.max(height, 92), 156);
      var top = bottom - height;
      var scale = height / total;
      var radius = Math.max(diameter / 2 * scale, 5);
      var pipeBottom = bottom - elevation * scale;
      var pipeCenter = pipeBottom - radius;
      var pipeTop = pipeCenter - radius;

      screed.setAttribute("y", top.toFixed(1));
      screed.setAttribute("height", height.toFixed(1));
      if (pipe) {
        pipe.setAttribute("cy", pipeCenter.toFixed(1));
        pipe.setAttribute("r", radius.toFixed(1));
      }
      if (coverLine) {
        coverLine.setAttribute("y1", (top + 5).toFixed(1));
        coverLine.setAttribute("y2", Math.max(pipeTop - 5, top + 6).toFixed(1));
      }
      if (totalLine) {
        totalLine.setAttribute("y1", (top + 4).toFixed(1));
        totalLine.setAttribute("y2", (bottom - 4).toFixed(1));
      }
      if (coverText) {
        coverText.setAttribute("y", (top + Math.max(cover, 0) * scale / 2 + 4).toFixed(1));
        coverText.textContent = format(cover, 0) + " mm nad rurą";
      }
      if (totalText) {
        totalText.setAttribute("y", (top + height / 2 + 4).toFixed(1));
        totalText.textContent = format(total, 0) + " mm łącznie";
      }
    }

    function updateMassChart(density, cp) {
      var group = one("#rk-screed-bars");
      var chart = one("#rk-screed-energy-chart");
      if (!group) {
        return;
      }
      while (group.firstChild) {
        group.removeChild(group.firstChild);
      }

      var thicknesses = [50, 60, 70, 80];
      var masses = thicknesses.map(function (thickness) {
        return thickness / 1000 * density;
      });
      var maxValue = Math.max.apply(null, masses) * 1.15;

      thicknesses.forEach(function (thickness, index) {
        var mass = masses[index];
        var x = 72 + index * 82;
        var barHeight = mass / maxValue * 145;
        var y = 205 - barHeight;
        group.appendChild(svgElement("rect", {
          x: x,
          y: y.toFixed(1),
          width: 48,
          height: barHeight.toFixed(1),
          rx: 8,
          "class": "rk-screed-bar"
        }));
        group.appendChild(svgElement("text", {
          x: x + 24,
          y: y - 8,
          "text-anchor": "middle"
        }, format(mass, 0)));
        group.appendChild(svgElement("text", {
          x: x + 24,
          y: 225,
          "text-anchor": "middle"
        }, thickness + " mm"));
      });

      if (chart) {
        var capacity80 = masses[3] * cp / 3600;
        chart.setAttribute("aria-label", "Masa od " + format(masses[0], 0) + " do " + format(masses[3], 0) + " kilogramów na metr kwadratowy. Warstwa 80 milimetrów magazynuje około " + format(capacity80, 3) + " kilowatogodziny na metr kwadratowy i kelwin.");
      }
    }

    function renderAnalyzer() {
      var total = valueOf(fields.total, 65);
      var diameter = valueOf(fields.diameter, 16);
      var elevation = valueOf(fields.elevation, 0);
      var required = valueOf(fields.required, 45);
      var area = valueOf(fields.area, 100);
      var density = valueOf(fields.density, 2100);
      var cp = valueOf(fields.cp, 0.88);
      var lambda = valueOf(fields.lambda, 1.40);

      var cover = total - diameter - elevation;
      var requiredTotal = diameter + elevation + required;
      var margin = cover - required;
      var heightMetres = total / 1000;
      var volume = area * heightMetres;
      var massPerArea = heightMetres * density;
      var mass = volume * density;
      var capacity = mass * cp / 3600;
      var resistance = heightMetres / lambda;

      setText("#rk-screed-total-out", format(total, 0) + " mm");
      setText("#rk-screed-diameter-out", format(diameter, 0) + " mm");
      setText("#rk-screed-elevation-out", format(elevation, 0) + " mm");
      setText("#rk-screed-required-out", format(required, 0) + " mm");
      setText("#rk-screed-area-out", format(area, 0) + " m²");
      setText("#rk-screed-density-out", format(density, 0) + " kg/m³");
      setText("#rk-screed-cp-out", format(cp, 2) + " kJ/kgK");
      setText("#rk-screed-lambda-out", format(lambda, 2) + " W/mK");

      setText("#rk-screed-cover-result", format(cover, 0) + " mm");
      setText("#rk-screed-required-total-result", format(requiredTotal, 0) + " mm");
      setText("#rk-screed-margin-result", (margin > 0 ? "+" : "") + format(margin, 0) + " mm");
      setText("#rk-screed-volume-result", format(volume, 2) + " m³");
      setText("#rk-screed-load-result", format(massPerArea, 0) + " kg/m²");
      setText("#rk-screed-mass-result", mass >= 1000 ? format(mass / 1000, 1) + " t" : format(mass, 0) + " kg");
      setText("#rk-screed-capacity-result", format(capacity, 1) + " kWh/K");
      setText("#rk-screed-resistance-result", format(resistance, 3) + " m²K/W");

      var status = one("#rk-screed-lab-warning");
      if (status) {
        status.classList.remove("is-ok");
        status.classList.remove("is-warning");
        if (cover < 0) {
          status.textContent = "Błąd geometrii: rura z podniesieniem nie mieści się w podanej grubości całkowitej.";
          status.classList.add("is-warning");
        } else if (margin < 0) {
          status.textContent = "Geometrycznie brakuje " + format(Math.abs(margin), 0) + " mm do minimum nad rurą wpisanego z karty produktu.";
          status.classList.add("is-warning");
        } else if (massPerArea > 170) {
          status.textContent = "Wpisane minimum jest geometrycznie zachowane, ale masa przekracza 170 kg/m². Zweryfikuj nośność stropu i warstw pod jastrychem.";
          status.classList.add("is-warning");
        } else {
          status.textContent = "Geometrycznie pozostaje " + format(margin, 0) + " mm zapasu ponad wpisane minimum produktu. To nie jest ocena nośności całej podłogi.";
          status.classList.add("is-ok");
        }
      }

      updateCrossSection(total, diameter, elevation, cover);
      updateMassChart(density, cp);
    }

    Object.keys(fields).forEach(function (key) {
      var field = fields[key];
      if (!field) {
        return;
      }
      field.addEventListener("input", renderAnalyzer);
      field.addEventListener("change", renderAnalyzer);
    });

    many("[data-screed-preset]").forEach(function (button) {
      button.addEventListener("click", function () {
        var key = button.getAttribute("data-screed-preset");
        var preset = presets[key];
        if (!preset) {
          return;
        }
        Object.keys(preset).forEach(function (fieldKey) {
          if (fields[fieldKey]) {
            fields[fieldKey].value = String(preset[fieldKey]);
          }
        });
        many("[data-screed-preset]").forEach(function (item) {
          item.classList.toggle("is-active", item === button);
        });
        renderAnalyzer();
      });
    });

    many(".rk-screed-nav a").forEach(function (link) {
      link.addEventListener("click", function (event) {
        var selector = link.getAttribute("href");
        if (!selector) {
          return;
        }
        var target = root.querySelector(selector);
        if (target) {
          event.preventDefault();
          target.scrollIntoView({ behavior: "smooth", block: "start" });
        }
      });
    });

    var tabButtons = many("[data-screed-author-tab]");
    var tabPanels = many("[data-screed-author-panel]");

    function activateAuthorTab(key) {
      tabButtons.forEach(function (button) {
        var active = button.getAttribute("data-screed-author-tab") === key;
        button.classList.toggle("is-active", active);
        button.setAttribute("aria-selected", active ? "true" : "false");
        button.tabIndex = active ? 0 : -1;
      });
      tabPanels.forEach(function (panel) {
        var active = panel.getAttribute("data-screed-author-panel") === key;
        panel.hidden = !active;
      });
    }

    tabButtons.forEach(function (button, index) {
      button.addEventListener("click", function () {
        activateAuthorTab(button.getAttribute("data-screed-author-tab"));
      });
      button.addEventListener("keydown", function (event) {
        if (event.key !== "ArrowRight") {
          if (event.key !== "ArrowLeft") {
            return;
          }
        }
        event.preventDefault();
        var movement = event.key === "ArrowRight" ? 1 : -1;
        var nextIndex = (index + movement + tabButtons.length) % tabButtons.length;
        var nextButton = tabButtons[nextIndex];
        activateAuthorTab(nextButton.getAttribute("data-screed-author-tab"));
        nextButton.focus();
      });
    });

    var progress = one(".rk-screed-progress");

    function updateProgress() {
      if (!progress) {
        return;
      }
      var articleTop = root.getBoundingClientRect().top + window.scrollY;
      var articleHeight = root.offsetHeight - window.innerHeight;
      var travelled = window.scrollY - articleTop;
      var percentage = articleHeight > 0 ? travelled / articleHeight * 100 : 0;
      percentage = Math.min(Math.max(percentage, 0), 100);
      progress.style.width = percentage.toFixed(2) + "%";
    }

    window.addEventListener("scroll", updateProgress, { passive: true });
    window.addEventListener("resize", updateProgress);
    renderAnalyzer();
    activateAuthorTab("about");
    updateProgress();
  }

  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", initScreedGuide);
  } else {
    initScreedGuide();
  }
  window.setTimeout(initScreedGuide, 500);
}());
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/">Grubość wylewki betonowej na ogrzewanie podłogowe.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Wylewka betonowa na ogrzewanie podłogowe.</title>
		<link>https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 27 Dec 2025 11:07:44 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Instalacja ogrzewania podłogowego]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Posadzki i wylewki]]></category>
		<category><![CDATA[dylatacje]]></category>
		<category><![CDATA[grubość wylewki]]></category>
		<category><![CDATA[jastrych anhydrytowy]]></category>
		<category><![CDATA[jastrych cementowy]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[przewodność cieplna]]></category>
		<category><![CDATA[wygrzewanie wylewki]]></category>
		<category><![CDATA[wylewka betonowa]]></category>
		<category><![CDATA[wylewka na podłogówkę]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2985</guid>

					<description><![CDATA[<p>Wydajność ogrzewania podłogowego nie zależy wyłącznie od rur i źródła ciepła. Kluczową rolę odgrywa wylewka betonowa na ogrzewanie podłogowe, która decyduje o komforcie, trwałości i reakcji całego systemu. W tym technicznym przewodniku krok po kroku wyjaśniamy, jak dobrać odpowiedni rodzaj wylewki, jaka grubość ma sens, czym różni się cement od anhydrytu oraz jak prawidłowo przeprowadzić suszenie i pierwsze uruchomienie ogrzewania. To praktyczna wiedza dla inwestorów, którzy chcą uniknąć kosztownych błędów i mieć system działający stabilnie przez lata.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">Wylewka betonowa na ogrzewanie podłogowe.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-screed-guide {
    --rk-dark: #102536;
    --rk-navy: #14384d;
    --rk-blue: #078fbe;
    --rk-cyan: #28c9da;
    --rk-cyan-soft: #eafcff;
    --rk-orange: #ff6238;
    --rk-red: #d83c2f;
    --rk-green: #178265;
    --rk-green-soft: #ebf8f3;
    --rk-yellow: #f2b441;
    --rk-ink: #1d2c3a;
    --rk-text: #465a6b;
    --rk-muted: #687b89;
    --rk-line: #d9e7ed;
    --rk-soft: #f5f9fb;
    --rk-warm: #fff4ef;
    --rk-white: #ffffff;
    width: 100%;
    max-width: 1480px;
    margin: 32px auto 70px;
    color: var(--rk-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 18px;
    line-height: 1.78;
  }

  #rk-screed-guide,
  #rk-screed-guide * {
    box-sizing: border-box;
  }

  #rk-screed-guide img,
  #rk-screed-guide svg {
    max-width: 100%;
  }

  #rk-screed-guide button,
  #rk-screed-guide input,
  #rk-screed-guide a,
  #rk-screed-guide summary {
    -webkit-tap-highlight-color: transparent;
  }

  #rk-screed-guide a {
    color: var(--rk-blue);
    font-weight: 780;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  #rk-screed-guide a:hover {
    color: var(--rk-red);
  }

  #rk-screed-guide h2,
  #rk-screed-guide h3,
  #rk-screed-guide h4 {
    margin-top: 0;
    color: var(--rk-dark);
    font-weight: 900;
    letter-spacing: -0.035em;
    line-height: 1.16;
  }

  #rk-screed-guide h2 {
    margin-bottom: 18px;
    font-size: clamp(1.65rem, 3.6vw, 2.65rem);
  }

  #rk-screed-guide h3 {
    margin-bottom: 12px;
    font-size: clamp(1.18rem, 2.5vw, 1.58rem);
  }

  #rk-screed-guide h4 {
    margin-bottom: 8px;
    font-size: 1.02rem;
    letter-spacing: -0.015em;
  }

  #rk-screed-guide h2::before,
  #rk-screed-guide h2::after,
  #rk-screed-guide h3::before,
  #rk-screed-guide h3::after,
  #rk-screed-guide h4::before,
  #rk-screed-guide h4::after {
    content: none !important;
    display: none !important;
  }

  #rk-screed-guide p {
    margin: 0 0 1.22em;
    color: var(--rk-text);
  }

  #rk-screed-guide strong {
    color: var(--rk-dark);
  }

  #rk-screed-guide section[id] {
    scroll-margin-top: 28px;
  }

  #rk-screed-guide .rk-screed-shell {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 30px;
    background: var(--rk-white);
    box-shadow: 0 25px 70px rgba(16, 37, 54, 0.12);
  }

  #rk-screed-guide .rk-screed-progress-track {
    position: sticky;
    z-index: 40;
    top: 0;
    width: 100%;
    height: 5px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.88);
  }

  #rk-screed-guide .rk-screed-progress {
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--rk-cyan), var(--rk-blue), var(--rk-orange));
  }

  #rk-screed-guide .rk-screed-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(38px, 6.5vw, 78px);
    color: var(--rk-white);
    background:
      radial-gradient(circle at 88% 13%, rgba(255, 98, 56, 0.31), transparent 28%),
      radial-gradient(circle at 78% 78%, rgba(40, 201, 218, 0.22), transparent 33%),
      linear-gradient(135deg, #0d2230 0%, #143b50 58%, #09647e 100%);
  }

  #rk-screed-guide .rk-screed-hero::before,
  #rk-screed-guide .rk-screed-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
  }

  #rk-screed-guide .rk-screed-hero::before {
    right: -120px;
    bottom: -175px;
    width: 400px;
    height: 400px;
    border: 58px solid rgba(255, 255, 255, 0.055);
  }

  #rk-screed-guide .rk-screed-hero::after {
    right: 145px;
    bottom: -125px;
    width: 235px;
    height: 235px;
    border: 34px solid rgba(255, 98, 56, 0.12);
  }

  #rk-screed-guide .rk-screed-badge {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    margin: 0 0 24px;
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    color: var(--rk-white);
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.73rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  #rk-screed-guide .rk-screed-badge::before {
    content: "";
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border-radius: 50%;
    background: var(--rk-orange);
    box-shadow: 0 0 0 6px rgba(255, 98, 56, 0.18);
  }

  #rk-screed-guide .rk-screed-hero h2 {
    max-width: 1040px;
    margin-bottom: 24px;
    color: var(--rk-white);
    font-size: clamp(2rem, 5.05vw, 3.85rem);
    letter-spacing: -0.055em;
  }

  #rk-screed-guide .rk-screed-hero h2 span {
    color: #83edf5;
  }

  #rk-screed-guide .rk-screed-hook {
    max-width: 930px;
    margin: 0 0 21px;
    padding: 19px 21px;
    border-left: 5px solid var(--rk-orange);
    border-radius: 0 15px 15px 0;
    background: rgba(255, 255, 255, 0.09);
  }

  #rk-screed-guide .rk-screed-hook p,
  #rk-screed-guide .rk-screed-hook strong,
  #rk-screed-guide .rk-screed-hero-lead {
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-hook p {
    margin: 0;
    font-size: clamp(1rem, 2vw, 1.16rem);
    line-height: 1.67;
  }

  #rk-screed-guide .rk-screed-hero-lead {
    max-width: 930px;
    font-size: 1.03rem;
  }

  #rk-screed-guide .rk-screed-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 24px;
    color: #cde0e7;
    font-size: 0.72rem;
    font-weight: 770;
  }

  #rk-screed-guide .rk-screed-hero-meta span::before {
    content: "•";
    margin-right: 8px;
    color: var(--rk-orange);
  }

  #rk-screed-guide .rk-screed-author-strip {
    display: flex;
    gap: 13px;
    align-items: center;
    margin-top: 26px;
  }

  #rk-screed-guide .rk-screed-author-strip img {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    border: 3px solid rgba(255, 255, 255, 0.85);
    border-radius: 50%;
    object-fit: cover;
  }

  #rk-screed-guide .rk-screed-author-strip b,
  #rk-screed-guide .rk-screed-author-strip small {
    display: block;
  }

  #rk-screed-guide .rk-screed-author-strip b {
    color: var(--rk-white);
    font-size: 0.88rem;
  }

  #rk-screed-guide .rk-screed-author-strip small {
    color: #cde0e7;
    font-size: 0.7rem;
    line-height: 1.45;
  }

  #rk-screed-guide .rk-screed-content {
    padding: clamp(30px, 5.7vw, 72px);
  }

  #rk-screed-guide .rk-screed-learn {
    margin-bottom: 36px;
  }

  #rk-screed-guide .rk-screed-learn > strong {
    display: block;
    margin-bottom: 16px;
    font-size: 1.12rem;
  }

  #rk-screed-guide .rk-screed-learn-grid,
  #rk-screed-guide .rk-screed-card-grid,
  #rk-screed-guide .rk-screed-error-grid,
  #rk-screed-guide .rk-screed-check-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  #rk-screed-guide .rk-screed-learn-card,
  #rk-screed-guide .rk-screed-card,
  #rk-screed-guide .rk-screed-error,
  #rk-screed-guide .rk-screed-check {
    min-width: 0;
    padding: 21px;
    border: 1px solid var(--rk-line);
    border-radius: 19px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-learn-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
  }

  #rk-screed-guide .rk-screed-no,
  #rk-screed-guide .rk-screed-card-icon,
  #rk-screed-guide .rk-screed-error-no,
  #rk-screed-guide .rk-screed-check-no {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 14px;
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: 0.72rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-learn-card h4,
  #rk-screed-guide .rk-screed-learn-card p,
  #rk-screed-guide .rk-screed-card h4,
  #rk-screed-guide .rk-screed-card p,
  #rk-screed-guide .rk-screed-error h4,
  #rk-screed-guide .rk-screed-error p,
  #rk-screed-guide .rk-screed-check h4,
  #rk-screed-guide .rk-screed-check p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-learn-card p,
  #rk-screed-guide .rk-screed-card p,
  #rk-screed-guide .rk-screed-error p,
  #rk-screed-guide .rk-screed-check p {
    margin-top: 6px;
    font-size: 0.84rem;
    line-height: 1.58;
  }

  #rk-screed-guide .rk-screed-nav {
    margin-bottom: 46px;
    padding: 22px;
    border: 1px solid #cce4ec;
    border-radius: 19px;
    background: var(--rk-cyan-soft);
  }

  #rk-screed-guide .rk-screed-nav > strong {
    display: block;
    margin-bottom: 12px;
  }

  #rk-screed-guide .rk-screed-nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  #rk-screed-guide .rk-screed-nav a {
    padding: 7px 11px;
    border: 1px solid #bfdbe5;
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: 0.72rem;
    text-decoration: none;
  }

  #rk-screed-guide .rk-screed-nav a:hover {
    color: var(--rk-white);
    border-color: var(--rk-blue);
    background: var(--rk-blue);
  }

  #rk-screed-guide .rk-screed-section {
    margin-top: 64px;
  }

  #rk-screed-guide .rk-screed-section-head {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 17px;
    align-items: start;
    margin-bottom: 25px;
  }

  #rk-screed-guide .rk-screed-section-head h2,
  #rk-screed-guide .rk-screed-section-head p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-section-head p {
    margin-top: 8px;
    font-size: 0.88rem;
  }

  #rk-screed-guide .rk-screed-section-no {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 16px;
    color: var(--rk-white);
    background: linear-gradient(145deg, var(--rk-orange), var(--rk-red));
    font-size: 0.78rem;
    font-weight: 900;
    box-shadow: 0 11px 23px rgba(216, 60, 47, 0.2);
  }

  #rk-screed-guide .rk-screed-answer,
  #rk-screed-guide .rk-screed-truth,
  #rk-screed-guide .rk-screed-warning,
  #rk-screed-guide .rk-screed-note,
  #rk-screed-guide .rk-screed-formula {
    margin: 24px 0;
    padding: 24px;
    border-radius: 20px;
  }

  #rk-screed-guide .rk-screed-answer {
    border: 1px solid #bde3eb;
    border-left: 6px solid var(--rk-cyan);
    background: var(--rk-cyan-soft);
  }

  #rk-screed-guide .rk-screed-truth {
    border: 1px solid #f2c5b6;
    border-left: 6px solid var(--rk-orange);
    background: var(--rk-warm);
  }

  #rk-screed-guide .rk-screed-warning {
    border: 1px solid #f0cfd0;
    border-left: 6px solid var(--rk-red);
    background: #fff5f5;
  }

  #rk-screed-guide .rk-screed-note {
    border: 1px solid #cbe6da;
    border-left: 6px solid var(--rk-green);
    background: var(--rk-green-soft);
  }

  #rk-screed-guide .rk-screed-answer p,
  #rk-screed-guide .rk-screed-truth p,
  #rk-screed-guide .rk-screed-warning p,
  #rk-screed-guide .rk-screed-note p,
  #rk-screed-guide .rk-screed-formula p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-card-grid.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #rk-screed-guide .rk-screed-card-grid.four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #rk-screed-guide .rk-screed-card {
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-card-icon {
    margin-bottom: 15px;
    background: linear-gradient(145deg, var(--rk-blue), var(--rk-cyan));
  }

  #rk-screed-guide .rk-screed-list {
    margin: 18px 0 24px;
    padding: 0;
    list-style: none;
  }

  #rk-screed-guide .rk-screed-list li {
    position: relative;
    margin: 9px 0;
    padding-left: 31px;
    color: var(--rk-text);
  }

  #rk-screed-guide .rk-screed-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0.08em;
    display: grid;
    width: 20px;
    height: 20px;
    place-items: center;
    border-radius: 50%;
    color: var(--rk-white);
    background: var(--rk-green);
    font-size: 0.66rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-table-wrap {
    margin: 24px 0;
  }

  #rk-screed-guide .rk-screed-table {
    width: 100%;
    border-spacing: 0;
    border-collapse: separate;
    table-layout: fixed;
    border: 1px solid var(--rk-line);
    border-radius: 19px;
    overflow: hidden;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-table th,
  #rk-screed-guide .rk-screed-table td {
    overflow-wrap: anywhere;
    padding: 15px 16px;
    border-right: 1px solid var(--rk-line);
    border-bottom: 1px solid var(--rk-line);
    text-align: left;
    vertical-align: top;
  }

  #rk-screed-guide .rk-screed-table th:last-child,
  #rk-screed-guide .rk-screed-table td:last-child {
    border-right: 0;
  }

  #rk-screed-guide .rk-screed-table tr:last-child td {
    border-bottom: 0;
  }

  #rk-screed-guide .rk-screed-table th {
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: 0.76rem;
    line-height: 1.4;
  }

  #rk-screed-guide .rk-screed-table td {
    color: var(--rk-text);
    font-size: 0.8rem;
    line-height: 1.55;
  }

  #rk-screed-guide .rk-screed-table tbody tr:nth-child(even) td {
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-flow {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 9px;
    margin: 25px 0 18px;
  }

  #rk-screed-guide .rk-screed-flow-step {
    min-width: 0;
    padding: 16px 12px;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font: inherit;
    font-size: 0.74rem;
    font-weight: 850;
    line-height: 1.4;
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-flow-step:hover,
  #rk-screed-guide .rk-screed-flow-step.is-active {
    color: var(--rk-white);
    border-color: var(--rk-blue);
    background: var(--rk-blue);
  }

  #rk-screed-guide .rk-screed-flow-detail {
    min-height: 150px;
    padding: 23px;
    border: 1px solid #cde5ec;
    border-radius: 19px;
    background: var(--rk-cyan-soft);
  }

  #rk-screed-guide .rk-screed-flow-detail h3,
  #rk-screed-guide .rk-screed-flow-detail p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-flow-detail p {
    margin-top: 9px;
  }

  #rk-screed-guide .rk-screed-formula {
    border: 1px solid #c6dce5;
    background: var(--rk-dark);
  }

  #rk-screed-guide .rk-screed-formula strong,
  #rk-screed-guide .rk-screed-formula p,
  #rk-screed-guide .rk-screed-formula code {
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-formula code {
    display: block;
    margin: 13px 0;
    padding: 15px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.07);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.82rem;
    line-height: 1.65;
    white-space: normal;
  }

  #rk-screed-guide .rk-screed-architectures {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
    margin: 25px 0;
  }

  #rk-screed-guide .rk-screed-architecture {
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-architecture > span {
    display: inline-flex;
    margin-bottom: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    color: var(--rk-white);
    background: var(--rk-orange);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  #rk-screed-guide .rk-screed-nodes {
    display: grid;
    gap: 8px;
    margin: 17px 0;
  }

  #rk-screed-guide .rk-screed-node {
    position: relative;
    padding: 12px;
    border: 1px solid #cbdde5;
    border-radius: 12px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: 0.76rem;
    font-weight: 820;
    text-align: center;
  }

  #rk-screed-guide .rk-screed-node + .rk-screed-node::before {
    content: "↓";
    position: absolute;
    top: -16px;
    left: 50%;
    color: var(--rk-orange);
    font-size: 1rem;
    transform: translateX(-50%);
  }

  #rk-screed-guide .rk-screed-architecture p {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.58;
  }

  #rk-screed-guide .rk-screed-lab {
    overflow: hidden;
    margin: 28px 0;
    border: 1px solid #c9e1e9;
    border-radius: 25px;
    background: var(--rk-white);
    box-shadow: 0 18px 45px rgba(16, 37, 54, 0.1);
  }

  #rk-screed-guide .rk-screed-lab-head {
    padding: 25px;
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-dark), var(--rk-navy));
  }

  #rk-screed-guide .rk-screed-lab-head h3,
  #rk-screed-guide .rk-screed-lab-head p {
    margin: 0;
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-lab-head p {
    margin-top: 8px;
    color: #cfe2e8;
    font-size: 0.87rem;
  }

  #rk-screed-guide .rk-screed-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 17px;
  }

  #rk-screed-guide .rk-screed-preset {
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 999px;
    color: var(--rk-white);
    background: rgba(255, 255, 255, 0.08);
    font: inherit;
    font-size: 0.7rem;
    font-weight: 850;
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-preset:hover,
  #rk-screed-guide .rk-screed-preset.is-active {
    color: var(--rk-dark);
    border-color: var(--rk-cyan);
    background: var(--rk-cyan);
  }

  #rk-screed-guide .rk-screed-lab-grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.92fr) minmax(0, 1.35fr);
    gap: 0;
  }

  #rk-screed-guide .rk-screed-controls {
    padding: 25px;
    border-right: 1px solid var(--rk-line);
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-control {
    margin-bottom: 19px;
  }

  #rk-screed-guide .rk-screed-control:last-child {
    margin-bottom: 0;
  }

  #rk-screed-guide .rk-screed-control label {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    color: var(--rk-dark);
    font-size: 0.76rem;
    font-weight: 850;
    line-height: 1.35;
  }

  #rk-screed-guide .rk-screed-control output {
    flex: 0 0 auto;
    padding: 4px 8px;
    border-radius: 8px;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 0.7rem;
  }

  #rk-screed-guide .rk-screed-control input[type="range"] {
    width: 100%;
    margin: 0;
    accent-color: var(--rk-orange);
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-visual {
    min-width: 0;
    padding: 25px;
  }

  #rk-screed-guide .rk-screed-results {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 16px;
  }

  #rk-screed-guide .rk-screed-result {
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-result span,
  #rk-screed-guide .rk-screed-result strong {
    display: block;
  }

  #rk-screed-guide .rk-screed-result span {
    color: var(--rk-muted);
    font-size: 0.66rem;
    font-weight: 760;
    line-height: 1.35;
  }

  #rk-screed-guide .rk-screed-result strong {
    margin-top: 5px;
    color: var(--rk-dark);
    font-size: 1.28rem;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  #rk-screed-guide .rk-screed-chart {
    width: 100%;
    min-height: 330px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: linear-gradient(180deg, #fbfeff, #f3f8fa);
  }

  #rk-screed-guide .rk-screed-chart .rk-grid-line {
    stroke: #d9e6ec;
    stroke-width: 1;
  }

  #rk-screed-guide .rk-screed-chart .rk-axis {
    stroke: #8194a1;
    stroke-width: 1.4;
  }

  #rk-screed-guide .rk-screed-chart .rk-axis-label,
  #rk-screed-guide .rk-screed-chart .rk-tick {
    fill: #5f7381;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 11px;
  }

  #rk-screed-guide .rk-screed-chart .rk-curve {
    fill: none;
    stroke: var(--rk-blue);
    stroke-width: 5;
    stroke-linecap: round;
  }

  #rk-screed-guide .rk-screed-chart .rk-dot {
    fill: var(--rk-orange);
    stroke: var(--rk-white);
    stroke-width: 4;
  }

  #rk-screed-guide .rk-screed-chart .rk-guide {
    stroke: var(--rk-orange);
    stroke-width: 1.5;
    stroke-dasharray: 5 5;
  }

  #rk-screed-guide .rk-screed-status {
    margin-top: 14px;
    padding: 15px;
    border-radius: 13px;
    color: var(--rk-dark);
    background: var(--rk-cyan-soft);
    font-size: 0.78rem;
    font-weight: 760;
    line-height: 1.55;
  }

  #rk-screed-guide .rk-screed-disclaimer {
    padding: 0 25px 24px;
    color: var(--rk-muted);
    font-size: 0.72rem;
    line-height: 1.55;
  }

  #rk-screed-guide .rk-screed-number-input {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #bfd3dc;
    border-radius: 11px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 760;
  }

  #rk-screed-guide .rk-screed-number-input:focus-visible,
  #rk-screed-guide button:focus-visible,
  #rk-screed-guide a:focus-visible,
  #rk-screed-guide summary:focus-visible {
    outline: 3px solid rgba(40, 201, 218, 0.42);
    outline-offset: 3px;
  }

  #rk-screed-guide .rk-screed-plan-wrap {
    padding: 14px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: linear-gradient(180deg, #fbfeff, #f1f7fa);
  }

  #rk-screed-guide .rk-screed-plan {
    display: block;
    width: 100%;
    min-height: 330px;
    border-radius: 12px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-plan .rk-screed-room {
    fill: #f7fbfd;
    stroke: var(--rk-dark);
    stroke-width: 3;
  }

  #rk-screed-guide .rk-screed-plan .rk-screed-zone {
    fill: rgba(255, 98, 56, 0.19);
    stroke: var(--rk-orange);
    stroke-width: 2;
    stroke-dasharray: 7 5;
  }

  #rk-screed-guide .rk-screed-plan .rk-screed-glazing {
    stroke: var(--rk-blue);
    stroke-width: 9;
    stroke-linecap: round;
  }

  #rk-screed-guide .rk-screed-plan .rk-screed-pipe-zone {
    fill: none;
    stroke: var(--rk-orange);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  #rk-screed-guide .rk-screed-plan .rk-screed-pipe-main {
    fill: none;
    stroke: var(--rk-cyan);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  #rk-screed-guide .rk-screed-plan text {
    fill: var(--rk-dark);
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 13px;
    font-weight: 800;
  }

  #rk-screed-guide .rk-screed-plan-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 12px;
    color: var(--rk-muted);
    font-size: 0.7rem;
    font-weight: 780;
  }

  #rk-screed-guide .rk-screed-plan-legend span {
    display: inline-flex;
    gap: 7px;
    align-items: center;
  }

  #rk-screed-guide .rk-screed-plan-legend i {
    display: inline-block;
    width: 23px;
    height: 5px;
    border-radius: 999px;
    background: var(--rk-cyan);
  }

  #rk-screed-guide .rk-screed-plan-legend .zone i {
    background: var(--rk-orange);
  }

  #rk-screed-guide .rk-screed-plan-legend .glass i {
    background: var(--rk-blue);
  }

  #rk-screed-guide .rk-screed-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 16px;
  }

  #rk-screed-guide .rk-screed-metric {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-metric span,
  #rk-screed-guide .rk-screed-metric strong {
    display: block;
  }

  #rk-screed-guide .rk-screed-metric span {
    color: var(--rk-muted);
    font-size: 0.63rem;
    font-weight: 780;
    line-height: 1.35;
  }

  #rk-screed-guide .rk-screed-metric strong {
    margin-top: 5px;
    color: var(--rk-dark);
    font-size: 1.05rem;
    line-height: 1.2;
  }

  #rk-screed-guide .rk-screed-status.is-warning {
    color: #7c321d;
    background: var(--rk-warm);
  }

  #rk-screed-guide .rk-screed-small {
    color: var(--rk-muted);
    font-size: 0.78rem;
    line-height: 1.62;
  }

  #rk-screed-guide .rk-screed-howto {
    display: grid;
    gap: 12px;
    margin: 25px 0;
    padding: 0;
    list-style: none;
  }

  #rk-screed-guide .rk-screed-howto-step {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 20px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-howto-step > span {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 16px;
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: 0.8rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-howto-step h3,
  #rk-screed-guide .rk-screed-howto-step p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-howto-step p {
    margin-top: 7px;
    font-size: 0.87rem;
  }

  #rk-screed-guide .rk-screed-faq-list {
    display: grid;
    gap: 10px;
  }

  #rk-screed-guide .rk-screed-faq {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-faq summary {
    position: relative;
    padding: 19px 52px 19px 20px;
    color: var(--rk-dark);
    font-weight: 850;
    line-height: 1.45;
    cursor: pointer;
    list-style: none;
  }

  #rk-screed-guide .rk-screed-faq summary::-webkit-details-marker {
    display: none;
  }

  #rk-screed-guide .rk-screed-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 18px;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    color: var(--rk-white);
    background: var(--rk-blue);
    transform: translateY(-50%);
  }

  #rk-screed-guide .rk-screed-faq[open] summary::after {
    content: "−";
  }

  #rk-screed-guide .rk-screed-faq-answer {
    padding: 0 20px 19px;
  }

  #rk-screed-guide .rk-screed-faq-answer p {
    margin: 0;
    font-size: 0.88rem;
  }

  #rk-screed-guide .rk-screed-sources {
    margin-top: 28px;
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    color: var(--rk-muted);
    background: var(--rk-soft);
    font-size: 0.76rem;
    line-height: 1.7;
  }

  #rk-screed-guide .rk-screed-sources > strong {
    display: block;
    margin-bottom: 8px;
  }

  #rk-screed-guide .rk-screed-cta {
    margin-top: 58px;
    padding: clamp(28px, 5vw, 48px);
    border-radius: 26px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 92% 12%, rgba(255, 98, 56, 0.3), transparent 33%),
      linear-gradient(135deg, #102536, #174155);
    box-shadow: 0 20px 45px rgba(16, 37, 54, 0.16);
  }

  #rk-screed-guide .rk-screed-cta h3,
  #rk-screed-guide .rk-screed-cta p,
  #rk-screed-guide .rk-screed-cta strong {
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-cta p {
    max-width: 880px;
  }

  #rk-screed-guide .rk-screed-cta-link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 56px;
    margin-top: 7px;
    padding: 15px 24px;
    border-radius: 14px;
    color: var(--rk-white) !important;
    background: linear-gradient(90deg, var(--rk-orange), #f04432);
    box-shadow: 0 14px 28px rgba(216, 60, 47, 0.24);
    font-size: 0.88rem;
    font-weight: 900;
    text-align: center;
    text-decoration: none !important;
  }

  #rk-screed-guide .rk-screed-cta-link:hover {
    color: var(--rk-white) !important;
    filter: brightness(1.06);
    transform: translateY(-1px);
  }

  #rk-screed-guide .rk-screed-cta small {
    display: block;
    margin-top: 14px;
    color: #bdd1da;
    font-size: 0.7rem;
    line-height: 1.5;
  }

  #rk-screed-guide .rk-screed-author-box {
    overflow: hidden;
    margin-top: 30px;
    border: 1px solid var(--rk-line);
    border-radius: 26px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-author-head {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
    padding: 28px;
    color: var(--rk-white);
    border-bottom: 5px solid var(--rk-cyan);
    background: var(--rk-dark);
  }

  #rk-screed-guide .rk-screed-author-head h3,
  #rk-screed-guide .rk-screed-author-head p {
    margin: 0;
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-author-head p {
    margin-top: 6px;
    color: #cde0e7;
    font-size: 0.82rem;
  }

  #rk-screed-guide .rk-screed-author-mark {
    flex: 0 0 auto;
    padding: 10px 15px;
    border: 1px solid rgba(40, 201, 218, 0.35);
    border-radius: 13px;
    color: #84edf5;
    background: rgba(40, 201, 218, 0.08);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
  }

  #rk-screed-guide .rk-screed-author-main {
    display: grid;
    grid-template-columns: 310px minmax(0, 1fr);
  }

  #rk-screed-guide .rk-screed-author-profile {
    padding: 32px;
    border-right: 1px solid var(--rk-line);
    background: var(--rk-soft);
    text-align: center;
  }

  #rk-screed-guide .rk-screed-author-profile img {
    width: 174px;
    height: 174px;
    border: 8px solid var(--rk-white);
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 16px 34px rgba(16, 37, 54, 0.14);
  }

  #rk-screed-guide .rk-screed-author-profile h4 {
    margin: 18px 0 7px;
    font-size: 1.36rem;
  }

  #rk-screed-guide .rk-screed-author-role {
    display: block;
    color: var(--rk-blue);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    line-height: 1.6;
    text-transform: uppercase;
  }

  #rk-screed-guide .rk-screed-author-content {
    min-width: 0;
    padding: 32px;
  }

  #rk-screed-guide .rk-screed-quote {
    position: relative;
    margin-bottom: 22px;
    padding: 23px 23px 23px 61px;
    border-radius: 18px;
    background: var(--rk-cyan-soft);
  }

  #rk-screed-guide .rk-screed-quote::before {
    content: "“";
    position: absolute;
    top: 3px;
    left: 18px;
    color: var(--rk-cyan);
    font-family: Georgia, serif;
    font-size: 4rem;
    line-height: 1;
  }

  #rk-screed-guide .rk-screed-quote blockquote {
    margin: 0;
    color: var(--rk-dark);
    font-size: 1.03rem;
    font-style: italic;
    font-weight: 790;
    line-height: 1.7;
  }

  #rk-screed-guide .rk-screed-tab-buttons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--rk-line);
    border-radius: 14px 14px 0 0;
    overflow: hidden;
  }

  #rk-screed-guide .rk-screed-tab-button {
    min-width: 0;
    padding: 13px 10px;
    border: 0;
    border-right: 1px solid var(--rk-line);
    color: var(--rk-muted);
    background: var(--rk-soft);
    font: inherit;
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-tab-button:last-child {
    border-right: 0;
  }

  #rk-screed-guide .rk-screed-tab-button.is-active {
    color: var(--rk-blue);
    background: var(--rk-white);
    box-shadow: inset 0 -4px 0 var(--rk-blue);
  }

  #rk-screed-guide .rk-screed-tab-panel {
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-top: 0;
    border-radius: 0 0 14px 14px;
  }

  #rk-screed-guide .rk-screed-tab-panel[hidden] {
    display: none !important;
  }

  #rk-screed-guide .rk-screed-tab-panel p {
    margin: 0;
    font-size: 0.86rem;
  }

  #rk-screed-guide .rk-screed-portals {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 14px;
  }

  #rk-screed-guide .rk-screed-portals a {
    padding: 8px 12px;
    border: 1px solid #c8dbe4;
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: 0.75rem;
    text-decoration: none;
  }

  #rk-screed-guide .rk-screed-portals a:hover {
    color: var(--rk-white);
    border-color: var(--rk-blue);
    background: var(--rk-blue);
  }

  @media (max-width: 1120px) {
    #rk-screed-guide .rk-screed-card-grid.four {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-screed-guide .rk-screed-architectures,
    #rk-screed-guide .rk-screed-card-grid.three {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-author-main {
      grid-template-columns: 260px minmax(0, 1fr);
    }
  }

  @media (max-width: 880px) {
    #rk-screed-guide {
      font-size: 17px;
    }

    #rk-screed-guide .rk-screed-lab-grid,
    #rk-screed-guide .rk-screed-author-main {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-controls,
    #rk-screed-guide .rk-screed-author-profile {
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
    }

    #rk-screed-guide .rk-screed-flow {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-screed-guide .rk-screed-flow-step:last-child {
      grid-column: 1 / -1;
    }

    #rk-screed-guide .rk-screed-metrics {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 720px) {
    #rk-screed-guide {
      margin: 18px auto 50px;
      font-size: 16px;
    }

    #rk-screed-guide .rk-screed-shell {
      border-radius: 20px;
    }

    #rk-screed-guide .rk-screed-hero,
    #rk-screed-guide .rk-screed-content {
      padding: 25px 18px;
    }

    #rk-screed-guide .rk-screed-learn-grid,
    #rk-screed-guide .rk-screed-card-grid,
    #rk-screed-guide .rk-screed-card-grid.four,
    #rk-screed-guide .rk-screed-error-grid,
    #rk-screed-guide .rk-screed-check-grid,
    #rk-screed-guide .rk-screed-results {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-section {
      margin-top: 48px;
    }

    #rk-screed-guide .rk-screed-section-head {
      grid-template-columns: 44px minmax(0, 1fr);
      gap: 12px;
    }

    #rk-screed-guide .rk-screed-section-no {
      width: 42px;
      height: 42px;
      border-radius: 13px;
    }

    #rk-screed-guide .rk-screed-table,
    #rk-screed-guide .rk-screed-table tbody,
    #rk-screed-guide .rk-screed-table tr,
    #rk-screed-guide .rk-screed-table td {
      display: block;
      width: 100%;
    }

    #rk-screed-guide .rk-screed-table {
      border: 0;
      background: transparent;
    }

    #rk-screed-guide .rk-screed-table thead {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      white-space: nowrap;
    }

    #rk-screed-guide .rk-screed-table tr {
      margin-bottom: 13px;
      border: 1px solid var(--rk-line);
      border-radius: 16px;
      overflow: hidden;
      background: var(--rk-white);
    }

    #rk-screed-guide .rk-screed-table td,
    #rk-screed-guide .rk-screed-table tr:last-child td {
      display: grid;
      grid-template-columns: minmax(105px, 0.42fr) minmax(0, 0.58fr);
      gap: 10px;
      padding: 13px;
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
      background: var(--rk-white) !important;
    }

    #rk-screed-guide .rk-screed-table td:last-child {
      border-bottom: 0;
    }

    #rk-screed-guide .rk-screed-table td::before {
      content: attr(data-label);
      color: var(--rk-dark);
      font-weight: 900;
    }

    #rk-screed-guide .rk-screed-chart {
      min-height: 265px;
    }

    #rk-screed-guide .rk-screed-plan {
      min-height: 265px;
    }

    #rk-screed-guide .rk-screed-metrics {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-howto-step {
      grid-template-columns: 44px minmax(0, 1fr);
      gap: 12px;
      padding: 16px;
    }

    #rk-screed-guide .rk-screed-howto-step > span {
      width: 42px;
      height: 42px;
      border-radius: 13px;
    }

    #rk-screed-guide .rk-screed-author-head {
      align-items: flex-start;
      flex-direction: column;
      padding: 22px;
    }

    #rk-screed-guide .rk-screed-author-content,
    #rk-screed-guide .rk-screed-author-profile {
      padding: 22px;
    }

    #rk-screed-guide .rk-screed-tab-buttons {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-tab-button {
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
    }

    #rk-screed-guide .rk-screed-tab-button:last-child {
      border-bottom: 0;
    }

    #rk-screed-guide .rk-screed-cta-link {
      width: 100%;
    }
  }

  #rk-screed-guide .rk-screed-program-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
  }

  #rk-screed-guide .rk-screed-program-button {
    min-height: 52px;
    padding: 12px 15px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 13px;
    color: var(--rk-white);
    background: rgba(255, 255, 255, 0.08);
    font: inherit;
    font-size: 0.76rem;
    font-weight: 900;
    line-height: 1.35;
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-program-button:hover,
  #rk-screed-guide .rk-screed-program-button.is-active {
    color: var(--rk-dark);
    border-color: var(--rk-cyan);
    background: var(--rk-cyan);
  }

  #rk-screed-guide .rk-screed-program-panel[hidden] {
    display: none !important;
  }

  #rk-screed-guide .rk-screed-program-title {
    margin: 0 0 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--rk-line);
    color: var(--rk-dark);
    font-size: 0.88rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-select {
    width: 100%;
    min-height: 46px;
    padding: 10px 38px 10px 12px;
    border: 1px solid #bfd3dc;
    border-radius: 11px;
    color: var(--rk-dark);
    background-color: var(--rk-white);
    font: inherit;
    font-size: 0.8rem;
    font-weight: 760;
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-control-note {
    display: block;
    margin-top: 6px;
    color: var(--rk-muted);
    font-size: 0.66rem;
    line-height: 1.5;
  }

  #rk-screed-guide .rk-screed-estimate {
    position: relative;
    overflow: hidden;
    margin-bottom: 16px;
    padding: 25px;
    border-radius: 19px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 95% 0%, rgba(255, 98, 56, 0.31), transparent 36%),
      linear-gradient(135deg, var(--rk-dark), var(--rk-navy));
  }

  #rk-screed-guide .rk-screed-estimate span,
  #rk-screed-guide .rk-screed-estimate strong,
  #rk-screed-guide .rk-screed-estimate small {
    display: block;
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-estimate span {
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  #rk-screed-guide .rk-screed-estimate strong {
    margin-top: 7px;
    font-size: clamp(2rem, 5vw, 3.45rem);
    line-height: 1;
  }

  #rk-screed-guide .rk-screed-estimate small {
    max-width: 620px;
    margin-top: 12px;
    color: #cde0e7;
    font-size: 0.72rem;
    line-height: 1.55;
  }

  #rk-screed-guide .rk-screed-limit-bar {
    height: 12px;
    margin: 18px 0 8px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
  }

  #rk-screed-guide .rk-screed-limit-fill {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--rk-cyan), var(--rk-orange));
    transition: width 220ms ease;
  }

  #rk-screed-guide .rk-screed-result-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
  }

  #rk-screed-guide .rk-screed-result-card {
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-result-card span,
  #rk-screed-guide .rk-screed-result-card strong {
    display: block;
  }

  #rk-screed-guide .rk-screed-result-card span {
    color: var(--rk-muted);
    font-size: 0.65rem;
    font-weight: 760;
    line-height: 1.4;
  }

  #rk-screed-guide .rk-screed-result-card strong {
    margin-top: 5px;
    color: var(--rk-dark);
    font-size: 1.05rem;
    line-height: 1.3;
  }

  #rk-screed-guide .rk-screed-status-list {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #rk-screed-guide .rk-screed-status-list li {
    position: relative;
    margin: 7px 0;
    padding-left: 24px;
    color: var(--rk-text);
    font-size: 0.76rem;
    line-height: 1.55;
  }

  #rk-screed-guide .rk-screed-status-list li::before {
    content: "i";
    position: absolute;
    left: 0;
    top: 0.2em;
    display: grid;
    width: 16px;
    height: 16px;
    place-items: center;
    border-radius: 50%;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 0.58rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-status-list li.is-alert::before {
    content: "!";
    background: var(--rk-orange);
  }

  #rk-screed-guide .rk-screed-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0;
  }

  #rk-screed-guide .rk-screed-chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid #c6dce5;
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: 0.68rem;
    font-weight: 850;
    line-height: 1.35;
  }

  #rk-screed-guide .rk-screed-example-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
  }

  #rk-screed-guide .rk-screed-example {
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-top: 5px solid var(--rk-cyan);
    border-radius: 18px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-example:nth-child(2) {
    border-top-color: var(--rk-orange);
  }

  #rk-screed-guide .rk-screed-example:nth-child(3) {
    border-top-color: var(--rk-blue);
  }

  #rk-screed-guide .rk-screed-example h3,
  #rk-screed-guide .rk-screed-example p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-example p {
    margin-top: 8px;
    font-size: 0.8rem;
    line-height: 1.6;
  }

  #rk-screed-guide .rk-screed-example code {
    display: block;
    margin-top: 14px;
    padding: 13px;
    border-radius: 11px;
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: 0.75rem;
    line-height: 1.6;
    white-space: normal;
  }

  #rk-screed-guide .rk-screed-verdict {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.75fr);
    gap: 22px;
    align-items: center;
    margin: 26px 0;
    padding: 26px;
    border: 1px solid #f0c7b8;
    border-radius: 22px;
    background: var(--rk-warm);
  }

  #rk-screed-guide .rk-screed-verdict h3,
  #rk-screed-guide .rk-screed-verdict p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-verdict p {
    margin-top: 8px;
  }

  #rk-screed-guide .rk-screed-verdict-mark {
    padding: 22px;
    border-radius: 17px;
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-orange), var(--rk-red));
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
  }

  @media (max-width: 980px) {
    #rk-screed-guide .rk-screed-example-grid,
    #rk-screed-guide .rk-screed-verdict {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 720px) {
    #rk-screed-guide .rk-screed-program-switch,
    #rk-screed-guide .rk-screed-result-grid {
      grid-template-columns: 1fr;
    }
  }

  /* Elementy charakterystyczne dla opracowania o jastrychu grzejnym */
  #rk-screed-guide .rk-screed-term-grid,
  #rk-screed-guide .rk-screed-phase-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
  }

  #rk-screed-guide .rk-screed-term,
  #rk-screed-guide .rk-screed-phase {
    min-width: 0;
    padding: 21px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-term b,
  #rk-screed-guide .rk-screed-phase b {
    display: block;
    margin-bottom: 7px;
    color: var(--rk-dark);
    font-size: 0.96rem;
  }

  #rk-screed-guide .rk-screed-term p,
  #rk-screed-guide .rk-screed-phase p {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.62;
  }

  #rk-screed-guide .rk-screed-phase {
    position: relative;
    padding-top: 55px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-phase::before {
    content: attr(data-step);
    position: absolute;
    top: 17px;
    left: 20px;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 9px;
    color: var(--rk-white);
    background: var(--rk-orange);
    font-size: 0.7rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-lab-grid {
    grid-template-columns: minmax(300px, 0.88fr) minmax(0, 1.5fr);
  }

  #rk-screed-guide .rk-screed-input-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
  }

  #rk-screed-guide .rk-screed-input-grid .rk-screed-control {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-cross-wrap {
    display: grid;
    grid-template-columns: minmax(240px, 0.9fr) minmax(0, 1.1fr);
    gap: 16px;
    margin-top: 17px;
  }

  #rk-screed-guide .rk-screed-cross-card,
  #rk-screed-guide .rk-screed-energy-card {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: linear-gradient(180deg, #fbfeff, #f2f8fa);
  }

  #rk-screed-guide .rk-screed-cross-title,
  #rk-screed-guide .rk-screed-energy-title {
    display: block;
    margin-bottom: 11px;
    color: var(--rk-dark);
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1.4;
  }

  #rk-screed-guide .rk-screed-cross {
    display: block;
    width: 100%;
    min-height: 250px;
    border-radius: 12px;
    background: #fff;
  }

  #rk-screed-guide .rk-screed-cross text,
  #rk-screed-guide .rk-screed-energy-chart text {
    fill: #506777;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 11px;
    font-weight: 760;
  }

  #rk-screed-guide .rk-screed-cross .rk-screed-layer-floor {
    fill: #d9e3e7;
  }

  #rk-screed-guide .rk-screed-cross .rk-screed-layer-screed {
    fill: #c6d0d5;
  }

  #rk-screed-guide .rk-screed-cross .rk-screed-layer-insulation {
    fill: #eafcff;
    stroke: #28c9da;
    stroke-width: 1.5;
  }

  #rk-screed-guide .rk-screed-cross .rk-screed-pipe {
    fill: #ff6238;
    stroke: #ffffff;
    stroke-width: 4;
  }

  #rk-screed-guide .rk-screed-cross .rk-screed-dimension {
    stroke: #078fbe;
    stroke-width: 2;
    marker-start: url(#rk-screed-arrow-start);
    marker-end: url(#rk-screed-arrow-end);
  }

  #rk-screed-guide .rk-screed-energy-chart {
    display: block;
    width: 100%;
    min-height: 250px;
    border-radius: 12px;
    background: #fff;
  }

  #rk-screed-guide .rk-screed-energy-chart .rk-screed-bar {
    fill: url(#rk-screed-bar-gradient);
  }

  #rk-screed-guide .rk-screed-energy-chart .rk-screed-axis-line {
    stroke: #c8d9e1;
    stroke-width: 1;
  }

  #rk-screed-guide .rk-screed-results {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #rk-screed-guide .rk-screed-result.is-accent {
    border-color: #b6e9ef;
    background: var(--rk-cyan-soft);
  }

  #rk-screed-guide .rk-screed-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 14px;
    margin-top: 12px;
    color: var(--rk-muted);
    font-size: 0.67rem;
    font-weight: 760;
  }

  #rk-screed-guide .rk-screed-legend span {
    display: inline-flex;
    gap: 7px;
    align-items: center;
  }

  #rk-screed-guide .rk-screed-legend i {
    display: inline-block;
    width: 20px;
    height: 7px;
    border-radius: 999px;
    background: #c6d0d5;
  }

  #rk-screed-guide .rk-screed-legend .pipe i {
    background: var(--rk-orange);
  }

  #rk-screed-guide .rk-screed-legend .insulation i {
    background: var(--rk-cyan);
  }

  #rk-screed-guide .rk-screed-protocol {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 24px 0;
  }

  #rk-screed-guide .rk-screed-protocol-step {
    min-width: 0;
    padding: 19px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-protocol-step span {
    display: inline-flex;
    margin-bottom: 11px;
    padding: 5px 9px;
    border-radius: 999px;
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: 0.66rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-protocol-step h3,
  #rk-screed-guide .rk-screed-protocol-step p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-protocol-step p {
    margin-top: 7px;
    font-size: 0.8rem;
  }

  @media (max-width: 1120px) {
    #rk-screed-guide .rk-screed-term-grid,
    #rk-screed-guide .rk-screed-phase-grid,
    #rk-screed-guide .rk-screed-protocol {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-screed-guide .rk-screed-cross-wrap {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 880px) {
    #rk-screed-guide .rk-screed-lab-grid {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-results {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 720px) {
    #rk-screed-guide .rk-screed-term-grid,
    #rk-screed-guide .rk-screed-phase-grid,
    #rk-screed-guide .rk-screed-protocol,
    #rk-screed-guide .rk-screed-input-grid,
    #rk-screed-guide .rk-screed-results {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-cross,
    #rk-screed-guide .rk-screed-energy-chart {
      min-height: 215px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #rk-screed-guide *,
    #rk-screed-guide *::before,
    #rk-screed-guide *::after {
      scroll-behavior: auto !important;
      transition: none !important;
      animation: none !important;
    }
  }
</style>

<article id="rk-screed-guide" itemscope="" itemtype="https://schema.org/TechArticle">
  <div class="rk-screed-shell">
    <div class="rk-screed-progress-track" aria-hidden="true"><div class="rk-screed-progress"></div></div>

    <header class="rk-screed-hero">
      <div class="rk-screed-badge">Jastrych grzejny • aktualizacja 24 sierpnia 2026 r.</div>
      <h2 itemprop="headline">Wylewka betonowa na ogrzewanie podłogowe – <span>grubość, zbrojenie, dylatacje i wygrzewanie</span></h2>
      <div class="rk-screed-hook">
        <p><strong>Nie istnieje jedna bezpieczna grubość wylewki, którą można wpisać do każdego domu.</strong> O wyniku decydują jednocześnie: rodzaj jastrychu, średnica rury, grubość warstwy nad rurą, klasa wytrzymałości, obciążenia, ściśliwość izolacji, geometria pól, okładzina oraz dokumentacja konkretnego systemu.</p>
      </div>
      <p class="rk-screed-hero-lead" itemprop="description">Ten techniczny przewodnik wyjaśnia, czym naprawdę jest potocznie nazywana wylewka betonowa na ogrzewanie podłogowe, jak czytać oznaczenia CT i CA, kiedy potrzebne jest zbrojenie, jak zaplanować szczeliny, próbę ciśnieniową, pielęgnację i pierwsze wygrzewanie. Interaktywny kalkulator szacuje ilość jastrychu, masę oraz pojemność cieplną, lecz nie zastępuje projektu konstrukcji podłogi.</p>
      <div class="rk-screed-hero-meta">
        <span>Autor: Robert Kucharski</span>
        <span>Oparte na PN-EN 1264 i PN-EN 13813</span>
        <span>Bez uniwersalnych recept „na oko”</span>
      </div>
      <div class="rk-screed-author-strip" itemprop="author" itemscope="" itemtype="https://schema.org/Person">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski – projektant instalacji sanitarnych" width="54" height="54" loading="eager" itemprop="image">
        <div>
          <b itemprop="name">Robert Kucharski</b>
          <small itemprop="jobTitle">Projektant instalacji sanitarnych • specjalista HVAC i ogrzewania podłogowego</small>
        </div>
      </div>
    </header>

    <div class="rk-screed-content">
      <div class="rk-screed-warning">
        <p><strong>Najważniejsze zastrzeżenie techniczne:</strong> wartości w tabelach są przykładami obliczeniowymi i typowymi zakresami spotykanymi w budownictwie mieszkaniowym, a nie projektem dla Twojej podłogi. Ostateczną grubość, klasę, układ szczelin, zbrojenie, pielęgnację i termin uruchomienia określa dokumentacja projektowa oraz instrukcja producenta wybranego jastrychu.</p>
      </div>

      <div class="rk-screed-learn" aria-label="Zakres artykułu">
        <strong>Po lekturze będziesz wiedzieć:</strong>
        <div class="rk-screed-learn-grid">
          <div class="rk-screed-learn-card"><div class="rk-screed-no">01</div><div><h4>Co naprawdę oznacza „wylewka betonowa”</h4><p>Dlaczego w domu najczęściej chodzi o cementowy jastrych CT, a nie o zwykły beton konstrukcyjny z betoniarni.</p></div></div>
          <div class="rk-screed-learn-card"><div class="rk-screed-no">02</div><div><h4>Jak ustala się grubość nad rurą</h4><p>Jak średnica przewodu, wytrzymałość, obciążenie i podatne podłoże tworzą jeden warunek projektowy.</p></div></div>
          <div class="rk-screed-learn-card"><div class="rk-screed-no">03</div><div><h4>Kiedy zbrojenie ma sens</h4><p>Dlaczego siatka, włókna i szczeliny pełnią różne funkcje i nie można ich wymieniać jednym zdaniem.</p></div></div>
          <div class="rk-screed-learn-card"><div class="rk-screed-no">04</div><div><h4>Jak bezpiecznie uruchomić podłogówkę</h4><p>Jak rozdzielić wiązanie, wysychanie, wygrzewanie funkcjonalne i pomiar wilgotności CM.</p></div></div>
        </div>
      </div>

      <nav class="rk-screed-nav" aria-label="Nawigacja po artykule">
        <strong>Przejdź do sekcji</strong>
        <div class="rk-screed-nav-links">
          <a href="#rk-screed-odpowiedz">Szybka odpowiedź</a>
          <a href="#rk-screed-pojecia">Jastrych czy beton?</a>
          <a href="#rk-screed-grubosc">Grubość</a>
          <a href="#rk-screed-kalkulator">Kalkulator</a>
          <a href="#rk-screed-material">CT czy CA?</a>
          <a href="#rk-screed-klasy">Klasy i λ</a>
          <a href="#rk-screed-zbrojenie">Zbrojenie</a>
          <a href="#rk-screed-dylatacje">Dylatacje</a>
          <a href="#rk-screed-przed">Przed wylaniem</a>
          <a href="#rk-screed-wykonanie">Wykonanie</a>
          <a href="#rk-screed-wygrzewanie">Wygrzewanie</a>
          <a href="#rk-screed-posadzka">Okładzina</a>
          <a href="#rk-screed-bledy">Błędy</a>
          <a href="#rk-screed-kroki">Krok po kroku</a>
          <a href="#rk-screed-faq">FAQ</a>
        </div>
      </nav>

      <section class="rk-screed-section" id="rk-screed-odpowiedz" aria-labelledby="rk-screed-h2-1">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">01</div>
          <div><h2 id="rk-screed-h2-1">Wylewka betonowa na ogrzewanie podłogowe – najkrótsza poprawna odpowiedź</h2><p>Najpierw trzy zasady, które chronią przed większością błędów.</p></div>
        </div>

        <div class="rk-screed-answer">
          <p><strong>Wylewka na podłogówkę musi jednocześnie otoczyć rury, rozprowadzić ciepło, przenieść obciążenia na izolację i pracować bez niekontrolowanych pęknięć.</strong> Nie dobiera się jej wyłącznie według metrażu. Najpierw ustala się system podłogi i parametry wyrobu, potem grubość całkowitą oraz warstwę nad rurą, a na końcu układ pól, zbrojenie i procedurę wykonania.</p>
        </div>

        <div class="rk-screed-card-grid three">
          <div class="rk-screed-card"><div class="rk-screed-card-icon">1</div><h4>Nie ma jednej wartości minimalnej</h4><p>Popularne 4,5 cm nad rurą nie jest uniwersalną odpowiedzią dla wszystkich mieszanek, klas, obciążeń i podłoży.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">2</div><h4>Nie każda wylewka wymaga siatki</h4><p>Zbrojenie ogranicza skutki zarysowania, ale jego rodzaj i położenie muszą wynikać z konstrukcji pola oraz zaleceń systemu.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">3</div><h4>Wygrzewanie nie zastępuje suszenia</h4><p>Protokół funkcjonalny sprawdza pracę jastrychu grzejnego. Gotowość pod okładzinę potwierdza pomiar wilgotności i wymagania kleju lub posadzki.</p></div>
        </div>

        <div class="rk-screed-verdict">
          <div><h3>Co powinno znaleźć się w dokumentacji?</h3><p>Typ jastrychu i jego klasa, grubość całkowita oraz nad rurą, dopuszczalne obciążenia, podział na pola, sposób przejścia przewodów przez szczeliny, zbrojenie, warunki pielęgnacji, protokół pierwszego nagrzewania i kryterium wilgotności przed okładziną.</p></div>
          <div class="rk-screed-verdict-mark">Grubość to wynik systemu, nie zwyczaj ekipy</div>
        </div>
      </section>

      <section class="rk-screed-section" id="rk-screed-pojecia" aria-labelledby="rk-screed-h2-2">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">02</div>
          <div><h2 id="rk-screed-h2-2">Beton, jastrych cementowy CT i jastrych anhydrytowy CA – co jest czym?</h2><p>Precyzyjna nazwa ułatwia zamówienie właściwego materiału i ocenę dokumentów.</p></div>
        </div>

        <p>Fraza <strong>wylewka betonowa na ogrzewanie podłogowe</strong> jest powszechnie używana przez inwestorów, lecz technicznie najczęściej opisuje <strong>jastrych cementowy</strong>, oznaczany skrótem CT. To warstwa podkładowa wykonywana na izolacji i oddzielona od konstrukcji budynku taśmą brzegową. Nie jest automatycznie tym samym co beton konstrukcyjny przeznaczony na strop, fundament albo płytę.</p>

        <div class="rk-screed-term-grid">
          <div class="rk-screed-term"><b>Jastrych cementowy – CT</b><p>Podkład na spoiwie cementowym. Może mieć konsystencję półsuchą albo płynną. Odmiana, skład i deklarowane parametry wpływają na skurcz, grubość, pielęgnację i termin nagrzewania.</p></div>
          <div class="rk-screed-term"><b>Jastrych na bazie siarczanu wapnia – CA</b><p>Potocznie nazywany anhydrytowym. Zwykle dobrze otacza rury i może ograniczać liczbę szczelin, ale nie jest rozwiązaniem automatycznie najlepszym dla każdego pomieszczenia.</p></div>
          <div class="rk-screed-term"><b>Beton konstrukcyjny</b><p>Materiał projektowany do elementów nośnych. Jego receptura, kruszywo i sposób wbudowania nie muszą odpowiadać wymaganiom cienkiej, pływającej i ogrzewanej warstwy podłogowej.</p></div>
        </div>

        <p>Jastrych grzejny działa jako płyta pływająca na warstwie izolacyjnej. Przenosi obciążenia, chroni przewody, rozprowadza energię między rurami i tworzy podłoże pod okładzinę. Jego duża masa zwiększa bezwładność: stabilizuje temperaturę, lecz spowalnia reakcję na zmianę nastaw. Dlatego strategia sterowania powinna uwzględniać budynek, źródło ciepła i <a href="https://projekt-ogrzewania.pl/sterownik-regulator-pogodowy/">regulację pogodową</a>, a nie opierać się na gwałtownym włączaniu i wyłączaniu obiegów.</p>

        <div class="rk-screed-truth"><p><strong>Ważne:</strong> folia leżąca bezpośrednio pod jastrychem nie działa jak „lustro ciepła” w taki sposób jak warstwa refleksyjna przy szczelinie powietrznej. W systemie mokrym może pełnić funkcję warstwy rozdzielającej, poślizgowej, przeciwwilgociowej albo nadruku montażowego. O ograniczeniu strat w dół decyduje przede wszystkim właściwa <a href="https://projekt-ogrzewania.pl/jakie-sa-najlepsze-sposoby-izolacji-pod-ogrzewanie-podlogowe/">izolacja pod ogrzewaniem podłogowym</a>.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-grubosc" aria-labelledby="rk-screed-h2-3">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">03</div>
          <div><h2 id="rk-screed-h2-3">Jaka grubość wylewki betonowej na ogrzewanie podłogowe?</h2><p>Trzeba odróżnić grubość całkowitą od otuliny nad rurą.</p></div>
        </div>

        <div class="rk-screed-formula">
          <p><strong>Podstawowa zależność geometryczna:</strong></p>
          <code>grubość całkowita jastrychu h = średnica zewnętrzna rury d + warstwa nad rurą c</code>
          <p>Dla przewodu 16 mm i warstwy 45 mm nad jego górną krawędzią całkowita wysokość jastrychu wynosi 61 mm. To wyłącznie działanie arytmetyczne, a nie potwierdzenie, że 45 mm jest właściwe dla wybranego produktu.</p>
        </div>

        <div class="rk-screed-table-wrap">
          <table class="rk-screed-table">
            <thead><tr><th>Średnica rury</th><th>Przyjęta warstwa nad rurą</th><th>Wynikowa grubość całkowita</th><th>Jak czytać wynik?</th></tr></thead>
            <tbody>
              <tr><td data-label="Średnica"><strong>16 mm</strong></td><td data-label="Nad rurą">30 mm</td><td data-label="Całkowita">46 mm</td><td data-label="Interpretacja">Przykład systemu cienkowarstwowego; wymaga produktu i dokumentacji dopuszczających taki układ.</td></tr>
              <tr><td data-label="Średnica"><strong>16 mm</strong></td><td data-label="Nad rurą">35 mm</td><td data-label="Całkowita">51 mm</td><td data-label="Interpretacja">Nie jest automatycznym minimum. Trzeba sprawdzić klasę, obciążenie i podłoże.</td></tr>
              <tr><td data-label="Średnica"><strong>16 mm</strong></td><td data-label="Nad rurą">45 mm</td><td data-label="Całkowita">61 mm</td><td data-label="Interpretacja">Często spotykany przykład geometryczny dla jastrychu pływającego, nadal zależny od systemu.</td></tr>
              <tr><td data-label="Średnica"><strong>20 mm</strong></td><td data-label="Nad rurą">45 mm</td><td data-label="Całkowita">65 mm</td><td data-label="Interpretacja">Większa rura przy tej samej otulinie zwiększa grubość, masę i bezwładność.</td></tr>
            </tbody>
          </table>
        </div>

        <h3>Co rzeczywiście wpływa na wymaganą grubość?</h3>
        <div class="rk-screed-card-grid four">
          <div class="rk-screed-card"><div class="rk-screed-card-icon">F</div><h4>Wytrzymałość na zginanie</h4><p>Klasa F opisuje odporność na naprężenia zginające, lecz sama nie wyznacza całej konstrukcji.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">Q</div><h4>Obciążenia użytkowe</h4><p>Inaczej analizuje się sypialnię, garaż, spiżarnię z regałami i przestrzeń z ciężkim urządzeniem.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">Δ</div><h4>Ściśliwość izolacji</h4><p>Podłoże podatne ugina się pod jastrychem. Liczy się nie tylko deklaracja samej płyty, ale cały układ warstw.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">G</div><h4>Geometria i szczeliny</h4><p>Długie, wąskie lub nieregularne pola generują inne naprężenia niż zwarty prostokąt.</p></div>
        </div>

        <p>Sam gęstszy <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">rozstaw rur 10 albo 15 cm</a> nie jest powodem, aby lokalnie pogrubiać jastrych. Rozstaw zmienia moc powierzchniową, długość przewodów i rozkład temperatur, natomiast grubość płyty ustala się według mechaniki oraz dokumentacji systemu. Zbyt duża grubość zwiększa ilość materiału i pojemność cieplną; zbyt mała może pogorszyć rozkład obciążeń i odporność na rysy.</p>
      </section>

      <section class="rk-screed-section" id="rk-screed-kalkulator" aria-labelledby="rk-screed-h2-4">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">04</div>
          <div><h2 id="rk-screed-h2-4">Kalkulator ilości, masy i bezwładności wylewki na podłogówkę</h2><p>Narzędzie pokazuje skutki przyjętej geometrii, ale nie zatwierdza grubości konstrukcyjnej.</p></div>
        </div>

        <div class="rk-screed-lab" data-rk-screed-lab="">
          <div class="rk-screed-lab-head">
            <h3>Laboratorium jastrychu grzejnego</h3>
            <p>Zmień parametry i zobacz orientacyjną objętość zamówienia, masę, długość rury, opór cieplny oraz energię magazynowaną przez warstwę.</p>
            <div class="rk-screed-presets" aria-label="Ustawienia przykładowe">
              <button class="rk-screed-preset is-active" type="button" data-screed-preset="standard">Dom 100 m²</button>
              <button class="rk-screed-preset" type="button" data-screed-preset="small">Mieszkanie 60 m²</button>
              <button class="rk-screed-preset" type="button" data-screed-preset="heavy">Duża masa 150 m²</button>
            </div>
          </div>

          <div class="rk-screed-lab-grid">
            <div class="rk-screed-controls">
              <div class="rk-screed-input-grid">
                <div class="rk-screed-control"><label for="rk-screed-area">Powierzchnia <output id="rk-screed-area-out">100 m²</output></label><input id="rk-screed-area" type="range" min="10" max="300" step="1" value="100"></div>
                <div class="rk-screed-control"><label for="rk-screed-diameter">Średnica rury <output id="rk-screed-diameter-out">16 mm</output></label><input id="rk-screed-diameter" type="range" min="12" max="20" step="1" value="16"></div>
                <div class="rk-screed-control"><label for="rk-screed-cover">Warstwa nad rurą <output id="rk-screed-cover-out">45 mm</output></label><input id="rk-screed-cover" type="range" min="25" max="70" step="1" value="45"></div>
                <div class="rk-screed-control"><label for="rk-screed-spacing">Rozstaw rur <output id="rk-screed-spacing-out">15 cm</output></label><input id="rk-screed-spacing" type="range" min="5" max="30" step="1" value="15"></div>
                <div class="rk-screed-control"><label for="rk-screed-density">Gęstość <output id="rk-screed-density-out">2100 kg/m³</output></label><input id="rk-screed-density" type="range" min="1700" max="2400" step="10" value="2100"></div>
                <div class="rk-screed-control"><label for="rk-screed-cp">Ciepło właściwe <output id="rk-screed-cp-out">0,88 kJ/kgK</output></label><input id="rk-screed-cp" type="range" min="0.70" max="1.10" step="0.01" value="0.88"></div>
                <div class="rk-screed-control"><label for="rk-screed-lambda">Przewodność λ <output id="rk-screed-lambda-out">1,40 W/mK</output></label><input id="rk-screed-lambda" type="range" min="0.70" max="2.20" step="0.05" value="1.40"></div>
                <div class="rk-screed-control"><label for="rk-screed-delta">Zmiana temperatury <output id="rk-screed-delta-out">5 K</output></label><input id="rk-screed-delta" type="range" min="1" max="15" step="1" value="5"></div>
                <div class="rk-screed-control"><label for="rk-screed-reserve">Rezerwa zamówienia <output id="rk-screed-reserve-out">5%</output></label><input id="rk-screed-reserve" type="range" min="0" max="15" step="1" value="5"></div>
              </div>
              <div class="rk-screed-status is-warning" id="rk-screed-lab-warning">Wpisana warstwa nad rurą jest parametrem do analizy, a nie zaleceniem wykonawczym.</div>
            </div>

            <div class="rk-screed-visual">
              <div class="rk-screed-results">
                <div class="rk-screed-result is-accent"><span>Grubość całkowita</span><strong id="rk-screed-total-result">61 mm</strong></div>
                <div class="rk-screed-result"><span>Objętość z rezerwą</span><strong id="rk-screed-volume-result">6,4 m³</strong></div>
                <div class="rk-screed-result"><span>Masa jastrychu</span><strong id="rk-screed-mass-result">12,7 t</strong></div>
                <div class="rk-screed-result"><span>Masa na 1 m²</span><strong id="rk-screed-load-result">127 kg/m²</strong></div>
                <div class="rk-screed-result"><span>Długość rury</span><strong id="rk-screed-pipe-result">700 m</strong></div>
                <div class="rk-screed-result"><span>Pojemność na 1 K</span><strong id="rk-screed-capacity-result">3,1 kWh/K</strong></div>
                <div class="rk-screed-result"><span>Energia dla ΔT</span><strong id="rk-screed-energy-result">15,5 kWh</strong></div>
                <div class="rk-screed-result"><span>Opór samej warstwy</span><strong id="rk-screed-resistance-result">0,044 m²K/W</strong></div>
              </div>

              <div class="rk-screed-cross-wrap">
                <div class="rk-screed-cross-card">
                  <span class="rk-screed-cross-title">Dynamiczny przekrój – geometria poglądowa</span>
                  <svg class="rk-screed-cross" id="rk-screed-cross" viewBox="0 0 360 250" role="img" aria-labelledby="rk-screed-cross-svg-title rk-screed-cross-svg-desc">
                    <title id="rk-screed-cross-svg-title">Przekrój jastrychu z rurą ogrzewania podłogowego</title>
                    <desc id="rk-screed-cross-svg-desc">Schemat pokazuje okładzinę, jastrych, rurę, warstwę nad rurą i izolację.</desc>
                    <defs>
                      <marker id="rk-screed-arrow-start" markerWidth="8" markerHeight="8" refX="4" refY="4" orient="auto"><path d="M8,0 L0,4 L8,8 Z" fill="#078fbe"></path></marker>
                      <marker id="rk-screed-arrow-end" markerWidth="8" markerHeight="8" refX="4" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 Z" fill="#078fbe"></path></marker>
                    </defs>
                    <rect class="rk-screed-layer-floor" x="28" y="22" width="304" height="20" rx="4"></rect>
                    <rect class="rk-screed-layer-screed" id="rk-screed-svg-screed" x="28" y="42" width="304" height="148"></rect>
                    <rect class="rk-screed-layer-insulation" x="28" y="190" width="304" height="38"></rect>
                    <circle class="rk-screed-pipe" id="rk-screed-svg-pipe" cx="170" cy="161" r="20"></circle>
                    <line class="rk-screed-dimension" id="rk-screed-svg-cover-line" x1="277" y1="47" x2="277" y2="141"></line>
                    <text id="rk-screed-svg-cover-text" x="286" y="98">45 mm nad rurą</text>
                    <line class="rk-screed-dimension" id="rk-screed-svg-total-line" x1="56" y1="45" x2="56" y2="187"></line>
                    <text id="rk-screed-svg-total-text" x="65" y="118">61 mm łącznie</text>
                    <text x="38" y="36">okładzina</text><text x="38" y="73">jastrych</text><text x="38" y="215">izolacja</text>
                  </svg>
                  <div class="rk-screed-legend"><span><i></i>jastrych</span><span class="pipe"><i></i>rura</span><span class="insulation"><i></i>izolacja</span></div>
                </div>

                <div class="rk-screed-energy-card">
                  <span class="rk-screed-energy-title">Energia magazynowana na 1 K przy różnych grubościach</span>
                  <svg class="rk-screed-energy-chart" id="rk-screed-energy-chart" viewBox="0 0 420 250" role="img" aria-labelledby="rk-screed-chart-title rk-screed-chart-desc">
                    <title id="rk-screed-chart-title">Porównanie pojemności cieplnej jastrychu</title>
                    <desc id="rk-screed-chart-desc">Wykres słupkowy pokazuje energię magazynowaną przez jastrych o grubości 45, 55, 65 i 75 milimetrów.</desc>
                    <defs><linearGradient id="rk-screed-bar-gradient" x1="0" y1="1" x2="0" y2="0"><stop offset="0" stop-color="#078fbe"></stop><stop offset="1" stop-color="#28c9da"></stop></linearGradient></defs>
                    <line class="rk-screed-axis-line" x1="46" y1="205" x2="396" y2="205"></line>
                    <line class="rk-screed-axis-line" x1="46" y1="30" x2="46" y2="205"></line>
                    <g id="rk-screed-bars"></g>
                    <text x="8" y="23">kWh/K</text>
                  </svg>
                </div>
              </div>
            </div>
          </div>
          <div class="rk-screed-disclaimer"><strong>Założenia i ograniczenia:</strong> długość rury jest szacowana jako powierzchnia podzielona przez rozstaw z 5% dodatkiem na nawroty; objętość rury odejmowana jest od objętości brutto jastrychu. Kalkulator nie uwzględnia stref bez rur, wnęk, szczelin, nierówności, grubości okładziny ani strat technologicznych innych niż ustawiona rezerwa. Nie dobiera klasy wytrzymałości, zbrojenia, nośności ani terminu wyschnięcia.</div>
        </div>

        <div class="rk-screed-formula">
          <p><strong>Wzory użyte w kalkulatorze:</strong></p>
          <code>V = A × h &nbsp; • &nbsp; m = ρ × V &nbsp; • &nbsp; C = m × cₚ / 3600 &nbsp; • &nbsp; E = C × ΔT &nbsp; • &nbsp; R = h / λ</code>
          <p>Parametry ρ, cₚ i λ należy brać z deklaracji wybranego wyrobu. Wartość λ nie wynika automatycznie z samego słowa „cementowy” albo „anhydrytowy”.</p>
        </div>
      </section>

      <section class="rk-screed-section" id="rk-screed-material" aria-labelledby="rk-screed-h2-5">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">05</div>
          <div><h2 id="rk-screed-h2-5">Wylewka cementowa czy anhydrytowa na ogrzewanie podłogowe?</h2><p>Nie ma zwycięzcy niezależnego od warunków budowy i pomieszczenia.</p></div>
        </div>

        <div class="rk-screed-table-wrap">
          <table class="rk-screed-table">
            <thead><tr><th>Kryterium</th><th>Jastrych cementowy CT</th><th>Jastrych na bazie siarczanu wapnia CA</th><th>Decyzja projektowa</th></tr></thead>
            <tbody>
              <tr><td data-label="Kryterium"><strong>Spoiwo</strong></td><td data-label="CT">Cement; dostępne są mieszanki półsuche, płynne i modyfikowane.</td><td data-label="CA">Siarczan wapnia; często występuje w konsystencji płynnej.</td><td data-label="Decyzja">Nie porównuj wyłącznie nazw. Sprawdź deklarację konkretnego wyrobu.</td></tr>
              <tr><td data-label="Kryterium"><strong>Skurcz i pola</strong></td><td data-label="CT">Zwykle większa wrażliwość na skurcz wysychania; ważne są pielęgnacja i układ szczelin.</td><td data-label="CA">Zwykle mniejszy skurcz i możliwość większych pól, ale granice nadal określa system i geometria.</td><td data-label="Decyzja">Plan szczelin powinien istnieć przed układaniem rur.</td></tr>
              <tr><td data-label="Kryterium"><strong>Otoczenie rur</strong></td><td data-label="CT">Zależy od konsystencji i zagęszczenia. Półsuchy materiał wymaga starannego wbudowania wokół przewodów.</td><td data-label="CA">Płynna konsystencja zwykle dobrze otacza przewody i ogranicza pustki.</td><td data-label="Decyzja">Sposób wykonania musi odpowiadać konsystencji, a nie przyzwyczajeniu ekipy.</td></tr>
              <tr><td data-label="Kryterium"><strong>Wilgoć</strong></td><td data-label="CT">Dobrze sprawdza się także w pomieszczeniach mokrych, przy poprawnej hydroizolacji i okładzinie.</td><td data-label="CA">Wymaga ścisłego przestrzegania zakresu zastosowania i ochrony przed trwałym zawilgoceniem.</td><td data-label="Decyzja">Łazienka nie zwalnia z hydroizolacji podpłytkowej niezależnie od spoiwa.</td></tr>
              <tr><td data-label="Kryterium"><strong>Przewodność cieplna λ</strong></td><td data-label="CT">Zależy od receptury, gęstości, kruszywa i wilgotności.</td><td data-label="CA">Również zależy od konkretnego produktu; nie zawsze automatycznie przewyższa każdy CT.</td><td data-label="Decyzja">Do obliczeń wpisuj wartość deklarowaną, a nie zakres znaleziony w reklamie.</td></tr>
              <tr><td data-label="Kryterium"><strong>Wygrzewanie</strong></td><td data-label="CT">Dla standardowego cementowego jastrychu PN-EN 1264-4 przewiduje rozpoczęcie nagrzewania po okresie wiązania, zwykle nie wcześniej niż po 21 dniach.</td><td data-label="CA">Dla standardowego CA norma wskazuje zwykle co najmniej 7 dni.</td><td data-label="Decyzja">Mieszanki specjalne mogą mieć inny harmonogram i zawsze wymagają instrukcji wyrobu.</td></tr>
            </tbody>
          </table>
        </div>

        <div class="rk-screed-note"><p><strong>„Anhydryt jest zawsze najlepszy” to zbyt mocne zdanie.</strong> Może być bardzo dobrym rozwiązaniem w suchym wnętrzu i przy dobrze zorganizowanej budowie. Cementowy CT może być lepszy przy innym harmonogramie, wilgotności, obciążeniu albo dostępności wykonawców. Wybór ma obejmować całą podłogę, a nie tylko łatwość rozlewania.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-klasy" aria-labelledby="rk-screed-h2-6">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">06</div>
          <div><h2 id="rk-screed-h2-6">Co oznacza CT-C20-F4, CA-C25-F5 i przewodność cieplna λ?</h2><p>Oznaczenie klasy jest punktem wyjścia, a nie kompletnym projektem warstwy.</p></div>
        </div>

        <p>Norma PN-EN 13813 klasyfikuje materiały na podkłady podłogowe. W oznaczeniu <strong>CT-C20-F4</strong> litery CT informują o spoiwie cementowym, C20 oznacza klasę wytrzymałości na ściskanie, a F4 klasę wytrzymałości na zginanie. W zapisie <strong>CA-C25-F5</strong> CA wskazuje jastrych na bazie siarczanu wapnia. Liczby nie mówią jednak, jaka grubość jest bezpieczna na konkretnej izolacji ani jak mają przebiegać szczeliny.</p>

        <div class="rk-screed-card-grid three">
          <div class="rk-screed-card"><div class="rk-screed-card-icon">C</div><h4>Ściskanie</h4><p>Wartość C opisuje wytrzymałość próbki na ściskanie w warunkach badania. Nie zastępuje analizy płyty pływającej.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">F</div><h4>Zginanie</h4><p>Klasa F jest szczególnie ważna, gdy podłoże jest podatne, występują obciążenia punktowe lub ogranicza się grubość.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">λ</div><h4>Przewodzenie ciepła</h4><p>λ [W/(m·K)] opisuje przepływ ciepła przez materiał. Do modelu podłogi należy przyjąć wartość wiarygodnie zadeklarowaną dla produktu.</p></div>
        </div>

        <div class="rk-screed-formula">
          <p><strong>Opór cieplny samego jastrychu:</strong></p>
          <code>R<sub>jastrychu</sub> = h / λ</code>
          <p>Dla 61 mm i λ = 1,40 W/(m·K) opór wynosi około 0,044 m²K/W. Nie jest to opór całej podłogi: trzeba dodać klej, okładzinę i pozostałe warstwy znajdujące się nad rurami.</p>
        </div>

        <p>Wysoka λ może poprawić przekazywanie ciepła, ale nie „usuwa” bezwładności wynikającej z masy. Dwa jastrychy o podobnej przewodności mogą inaczej reagować, jeśli różnią się grubością i gęstością. Moc podłogi należy obliczać razem z temperaturą wody, rozstawem rur i oporem okładziny. Właśnie dlatego <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">profesjonalny projekt ogrzewania podłogowego</a> powinien znać docelową konstrukcję posadzki.</p>
      </section>

      <section class="rk-screed-section" id="rk-screed-zbrojenie" aria-labelledby="rk-screed-h2-7">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">07</div>
          <div><h2 id="rk-screed-h2-7">Czy wylewkę cementową na podłogówkę trzeba zbroić?</h2><p>Odpowiedź „zawsze siatka” jest tak samo błędna jak „włókna zawsze wystarczą”.</p></div>
        </div>

        <p>Zbrojenie nie powstrzymuje skurczu chemicznego ani termicznego. Może ograniczać szerokość rys, zwiększać zdolność do przenoszenia naprężeń i pomagać utrzymać spójność pola po zarysowaniu. Skuteczność zależy od materiału, ilości, zakotwienia i przede wszystkim położenia. Siatka leżąca na izolacji pod rurami nie spełnia tej samej funkcji co zbrojenie umieszczone w zaprojektowanej strefie jastrychu.</p>

        <div class="rk-screed-table-wrap">
          <table class="rk-screed-table">
            <thead><tr><th>Rozwiązanie</th><th>Co może robić?</th><th>Czego nie załatwia?</th><th>Co sprawdzić?</th></tr></thead>
            <tbody>
              <tr><td data-label="Rozwiązanie"><strong>Siatka stalowa</strong></td><td data-label="Funkcja">Może kontrolować rozwój rys i współpracować z płytą po zarysowaniu.</td><td data-label="Ograniczenie">Położona przypadkowo albo dociśnięta do izolacji nie działa zgodnie z założeniem.</td><td data-label="Sprawdź">Średnicę, oczko, zakłady, dystanse, otulinę i kolizje z rurami.</td></tr>
              <tr><td data-label="Rozwiązanie"><strong>Włókna polimerowe</strong></td><td data-label="Funkcja">Mikrowłókna mogą ograniczać rysy skurczu plastycznego; inne włókna mogą mieć szerszą funkcję zadeklarowaną przez system.</td><td data-label="Ograniczenie">Nie każdy dodatek z worka zastępuje konstrukcyjną siatkę albo właściwy podział na pola.</td><td data-label="Sprawdź">Rodzaj włókna, dawkę i deklarowaną funkcję w recepturze jastrychu.</td></tr>
              <tr><td data-label="Rozwiązanie"><strong>Włókna stalowe lub makro</strong></td><td data-label="Funkcja">W zaprojektowanym systemie mogą zwiększyć ciągliwość i nośność po zarysowaniu.</td><td data-label="Ograniczenie">Nie wolno dobierać ich wyłącznie na podstawie podobieństwa nazwy.</td><td data-label="Sprawdź">Obliczenia, dokumentację wyrobu, dawkowanie i zgodność z posadzką.</td></tr>
              <tr><td data-label="Rozwiązanie"><strong>Brak dodatkowego zbrojenia</strong></td><td data-label="Funkcja">Możliwy w systemie, który dopuszcza taki układ przy właściwej klasie, grubości i geometrii.</td><td data-label="Ograniczenie">Nie zwalnia z pielęgnacji, szczelin i sprawdzenia obciążeń.</td><td data-label="Sprawdź">Jednoznaczny zapis w dokumentacji systemowej lub projekcie.</td></tr>
            </tbody>
          </table>
        </div>

        <div class="rk-screed-warning"><p><strong>Nie dodawaj przypadkowo wody do mieszanki, aby „lepiej się rozlała”.</strong> Zmiana wskaźnika woda–spoiwo może zwiększyć skurcz, porowatość i osłabić parametry. Plastyfikator, włókna i woda muszą należeć do kontrolowanej receptury, a nie do improwizacji na budowie.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-dylatacje" aria-labelledby="rk-screed-h2-8">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">08</div>
          <div><h2 id="rk-screed-h2-8">Dylatacje w wylewce na ogrzewaniu podłogowym</h2><p>Szczeliny należy skoordynować z geometrią pól i przebiegiem obwodów przed montażem rur.</p></div>
        </div>

        <div class="rk-screed-card-grid four">
          <div class="rk-screed-card"><div class="rk-screed-card-icon">O</div><h4>Obwodowa</h4><p>Taśma oddziela ogrzewaną płytę od ścian, słupów, progów i innych elementów pionowych.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">K</div><h4>Konstrukcyjna</h4><p>Szczelina istniejąca w konstrukcji budynku powinna być przeniesiona przez kolejne warstwy zgodnie z projektem.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">P</div><h4>Podziałowa</h4><p>Dzieli jastrych na pola o geometrii i wielkości dopuszczonej przez materiał oraz warunki pracy.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">R</div><h4>Robocza lub kontrolna</h4><p>Wynika z etapowania i technologii. Jej funkcji nie należy mylić z pełną szczeliną ruchową.</p></div>
        </div>

        <p>Popularna zasada „dylatacja powyżej 40 m² albo przy boku dłuższym niż 8 m” nie jest przepisem działającym dla każdego jastrychu. Ważne są proporcje pola, przewężenia, kształt litery L, przejścia drzwiowe, różne temperatury, sąsiednie strefy oraz dokumentacja produktu. Długi korytarz może wymagać innego podziału niż zwarty salon o podobnej powierzchni.</p>

        <div class="rk-screed-truth"><p><strong>Pętle nie powinny przechodzić przez szczeliny ruchowe.</strong> Jeżeli przez zaprojektowaną szczelinę muszą przejść przewody przyłączeniowe, prowadzi się je w odpowiednio długich tulejach ochronnych i ogranicza liczbę takich przejść. Rozwiązanie trzeba pokazać na rzucie. Szersze omówienie zawiera poradnik o <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacji brzegowej i dylatacjach podłogówki</a>.</p></div>

        <h3>Co dzieje się z okładziną nad szczeliną?</h3>
        <p>Szczelinę ruchową jastrychu co do zasady odwzorowuje się w okładzinie. Przykrycie jej sztywną płytką i klejem może przenieść naprężenie na gotową podłogę. Profile, elastyczne uszczelnienia i układ fug dobiera się wspólnie z wykonawcą posadzki. Nie każda nacięta rysa w jastrychu jest natomiast szczeliną konstrukcyjną; naprawa zależy od przyczyny i aktywności pęknięcia.</p>
      </section>

      <section class="rk-screed-section" id="rk-screed-przed" aria-labelledby="rk-screed-h2-9">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">09</div>
          <div><h2 id="rk-screed-h2-9">Co sprawdzić przed wylaniem jastrychu?</h2><p>Po zakryciu rur poprawka zwykle oznacza kucie albo trwały kompromis.</p></div>
        </div>

        <div class="rk-screed-check-grid">
          <div class="rk-screed-check"><div class="rk-screed-check-no">01</div><h4>Równość i nośność podłoża</h4><p>Izolacja musi leżeć stabilnie, bez pustek i klinowania. Instalacje pod nią powinny być wyrównane warstwą, a nie przykryte przypadkowo łamiącymi się płytami.</p></div>
          <div class="rk-screed-check"><div class="rk-screed-check-no">02</div><h4>Izolacja brzegowa</h4><p>Taśma ma tworzyć ciągłe oddzielenie także przy słupach, ościeżach, podejściach i innych elementach pionowych.</p></div>
          <div class="rk-screed-check"><div class="rk-screed-check-no">03</div><h4>Mocowanie i przebieg rur</h4><p>Przewody nie mogą wypływać ani zmieniać rozstawu. Trasy powinny odpowiadać projektowi i pozostawać z dala od przyszłych mocowań.</p></div>
          <div class="rk-screed-check"><div class="rk-screed-check-no">04</div><h4>Szczeliny i tuleje</h4><p>Podział pól oraz przejścia przyłączeń przez dylatacje muszą być przygotowane przed rozpoczęciem podawania mieszanki.</p></div>
          <div class="rk-screed-check"><div class="rk-screed-check-no">05</div><h4>Próba szczelności</h4><p>Obwody trzeba napełnić, odpowietrzyć, sprawdzić i udokumentować zgodnie z PN-EN 1264-4 oraz instrukcją systemu.</p></div>
          <div class="rk-screed-check"><div class="rk-screed-check-no">06</div><h4>Repery wysokościowe</h4><p>Poziomy powinny uwzględniać wszystkie pomieszczenia, progi, schody, odpływy i różne grubości docelowych okładzin.</p></div>
        </div>

        <h3>Jak rozumieć próbę ciśnieniową?</h3>
        <p>W typowym układzie wodnym próbę wykonuje się wodą przed przykryciem rur, przy ciśnieniu równym dwukrotności ciśnienia roboczego, nie mniejszym niż 6 bar, jeżeli dokumentacja systemu nie określa inaczej. Wynik i warunki zapisuje się w protokole. Podczas wykonywania jastrychu rury pozostawia się pod ciśnieniem, aby ograniczyć ryzyko zgniecenia i umożliwić zauważenie uszkodzenia, lecz nie oznacza to automatycznie utrzymywania pełnego ciśnienia próbnego przez cały okres dojrzewania. Szczegółowy przebieg opisuje materiał o <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próbie szczelności ogrzewania podłogowego</a>.</p>

        <div class="rk-screed-warning"><p><strong>Ryzyko zamarznięcia:</strong> jeśli budynek zimą nie jest ogrzewany, próba wodna wymaga zabezpieczenia instalacji. Środek przeciwzamrożeniowy, płukanie i późniejsze napełnienie muszą być zgodne z materiałami instalacji oraz źródłem ciepła. Nie wolno zostawić wody w przewodach i liczyć, że jastrych je ochroni.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-wykonanie" aria-labelledby="rk-screed-h2-10">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">10</div>
          <div><h2 id="rk-screed-h2-10">Wykonanie i pielęgnacja wylewki na podłogówce</h2><p>Konsystencja mieszanki narzuca technologię wbudowania.</p></div>
        </div>

        <div class="rk-screed-phase-grid">
          <div class="rk-screed-phase" data-step="01"><b>Przyjęcie mieszanki</b><p>Sprawdza się zamówiony typ, klasę, czas od przygotowania, warunki otoczenia i zgodność dodatków. Niedozwolona jest korekta wodą „na oko”.</p></div>
          <div class="rk-screed-phase" data-step="02"><b>Wbudowanie</b><p>Półsuchy CT rozkłada się i zagęszcza inaczej niż płynny CT albo CA. Wałek odpowietrzający nie jest uniwersalnym narzędziem dla każdego jastrychu.</p></div>
          <div class="rk-screed-phase" data-step="03"><b>Kontrola wysokości</b><p>Grubość sprawdza się w wielu punktach. Lokalna górka nad rurą i niedobór w sąsiedztwie mogą zmienić pracę pola oraz poziomy okładzin.</p></div>
          <div class="rk-screed-phase" data-step="04"><b>Ochrona świeżej powierzchni</b><p>Przeciąg, słońce i szybkie odparowanie sprzyjają naprężeniom. Warunki pielęgnacji zależą od spoiwa i karty produktu.</p></div>
          <div class="rk-screed-phase" data-step="05"><b>Ruch i obciążanie</b><p>Termin wejścia, składowania materiałów i wykonywania ścianek nie wynika wyłącznie z tego, że powierzchnia jest twarda w dotyku.</p></div>
          <div class="rk-screed-phase" data-step="06"><b>Dokumentacja</b><p>Zachowuje się deklarację, numer partii, datę wykonania, temperaturę, protokół próby, grubości i plan pól. To materiał do odbioru i ewentualnej diagnostyki.</p></div>
        </div>

        <p>W przypadku cementowego jastrychu półsuchego kluczowe jest równomierne zagęszczenie wokół rury. Pustka powietrzna pogarsza przekazywanie ciepła i tworzy lokalnie słabszą strefę. Płynna mieszanka ma inne ryzyka: nieszczelna warstwa rozdzielająca może dopuścić do ucieczki materiału, a wypływ rur zmieni ich położenie. Prace powinny być skoordynowane z instalatorem, wykonawcą jastrychu i osobą odpowiadającą za późniejszą posadzkę.</p>

        <div class="rk-screed-note"><p><strong>28 dni nie oznacza automatycznie „suche”.</strong> Jest to charakterystyczny punkt odniesienia dla dojrzewania wielu materiałów cementowych, ale czas osiągnięcia wilgotności wymaganej pod posadzkę zależy od grubości, receptury, temperatury, wilgotności powietrza i wentylacji.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-wygrzewanie" aria-labelledby="rk-screed-h2-11">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">11</div>
          <div><h2 id="rk-screed-h2-11">Wygrzewanie wylewki na ogrzewaniu podłogowym – prawidłowa kolejność</h2><p>Należy rozdzielić cztery procesy, które często wrzuca się do jednego worka.</p></div>
        </div>

        <div class="rk-screed-protocol">
          <div class="rk-screed-protocol-step"><span>ETAP 1</span><h3>Wiązanie i pielęgnacja</h3><p>Świeży materiał osiąga wytrzymałość w warunkach określonych przez producenta. Ogrzewanie nie służy do przyspieszania pierwszej fazy.</p></div>
          <div class="rk-screed-protocol-step"><span>ETAP 2</span><h3>Nagrzewanie funkcjonalne</h3><p>Sprawdza zachowanie jastrychu grzejnego i instalacji w cyklu temperatur zgodnym z normą oraz instrukcją wyrobu.</p></div>
          <div class="rk-screed-protocol-step"><span>ETAP 3</span><h3>Suszenie do okładziny</h3><p>Wymaga wentylacji i kontroli warunków. Sam ukończony protokół funkcjonalny nie dowodzi gotowości pod parkiet albo płytki.</p></div>
          <div class="rk-screed-protocol-step"><span>ETAP 4</span><h3>Pomiar CM i odbiór</h3><p>Wilgotność sprawdza się w oznaczonych miejscach bez rur i porównuje z wymaganiem systemu posadzkowego.</p></div>
        </div>

        <h3>Modelowy protokół według PN-EN 1264-4</h3>
        <p>Dla typowego jastrychu cementowego rozpoczęcie nagrzewania funkcjonalnego następuje po co najmniej 21 dniach, a dla jastrychu na bazie siarczanu wapnia po co najmniej 7 dniach, chyba że producent wyrobu jednoznacznie dopuszcza inny termin. Procedurę zaczyna się temperaturą zasilania około 25°C utrzymywaną przez 3 dni, następnie stosuje maksymalną projektową temperaturę zasilania przez co najmniej 4 dni. Nie jest to nakaz podnoszenia temperatury zawsze o 5°C na dobę ani pozwolenie na ustawienie arbitralnych 45°C. Maksimum wynika z projektu instalacji i ograniczeń materiału.</p>

        <div class="rk-screed-table-wrap">
          <table class="rk-screed-table">
            <thead><tr><th>Pytanie kontrolne</th><th>Prawidłowa odpowiedź</th><th>Błędny skrót</th></tr></thead>
            <tbody>
              <tr><td data-label="Pytanie"><strong>Kiedy zacząć?</strong></td><td data-label="Prawidłowo">Po minimalnym czasie wiązania właściwym dla materiału i po potwierdzeniu wykonawcy.</td><td data-label="Błędnie">„Gdy można już chodzić”.</td></tr>
              <tr><td data-label="Pytanie"><strong>Do jakiej temperatury?</strong></td><td data-label="Prawidłowo">Do maksymalnej projektowej temperatury zasilania, w granicach wyrobu i instalacji.</td><td data-label="Błędnie">„Każdą wylewkę grzejemy do 45–55°C”.</td></tr>
              <tr><td data-label="Pytanie"><strong>Czy po protokole jest sucho?</strong></td><td data-label="Prawidłowo">Nie wiadomo bez pomiaru wilgotności i kryterium docelowej posadzki.</td><td data-label="Błędnie">„Wygrzane znaczy gotowe do klejenia”.</td></tr>
              <tr><td data-label="Pytanie"><strong>Ile schnie?</strong></td><td data-label="Prawidłowo">Zależy od wyrobu, grubości i klimatu; kontroluje się pomiarem.</td><td data-label="Błędnie">„Zawsze 1 mm na dobę”.</td></tr>
            </tbody>
          </table>
        </div>

        <p>Przed uruchomieniem należy otworzyć wszystkie projektowane obwody, zapewnić przepływy i kontrolować temperaturę zasilania. Samo nagrzanie rozdzielacza bez przepływu przez część pętli nie jest pełnym protokołem. Warto zapisać datę, temperatury i czas każdego etapu, a po zakończeniu pozostawić dokument wykonawcy posadzki.</p>
      </section>

      <section class="rk-screed-section" id="rk-screed-posadzka" aria-labelledby="rk-screed-h2-12">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">12</div>
          <div><h2 id="rk-screed-h2-12">Wilgotność wylewki i wybór posadzki</h2><p>Najdroższe błędy często wychodzą dopiero po ułożeniu drewna, paneli albo płytek.</p></div>
        </div>

        <p>Nie istnieje jeden próg wilgotności właściwy dla każdego jastrychu i każdej okładziny. Kryterium zależy między innymi od spoiwa, ogrzewania, metody pomiaru, kleju, hydroizolacji i producenta posadzki. Wynik CM powinien być zapisany wraz z miejscem pobrania próbki. W projekcie instalacji warto wcześniej oznaczyć bezpieczne punkty pomiarowe, aby nie przewiercić rury.</p>

        <div class="rk-screed-card-grid three">
          <div class="rk-screed-card"><div class="rk-screed-card-icon">CM</div><h4>Pomiar, nie kalendarz</h4><p>Data wykonania nie potwierdza gotowości. Należy zmierzyć wilgotność metodą wymaganą przez system posadzkowy.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">R</div><h4>Opór okładziny</h4><p>Gruba deska, podkład i warstwa kleju zwiększają opór nad rurą oraz wymaganą temperaturę wody.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">J</div><h4>Szczeliny w wykończeniu</h4><p>Dylatacje ruchowe jastrychu trzeba skoordynować z fugami, profilami i kierunkiem ułożenia okładziny.</p></div>
        </div>

        <p>Podłogi drewniane i laminowane wymagają sprawdzenia dopuszczenia na ogrzewanie podłogowe, maksymalnej temperatury powierzchni i łącznego oporu cieplnego. Porównanie systemów znajduje się w analizie <a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/">podłogi drewniane a panele laminowane na podłogówce</a>. Przy płytkach liczy się również zgodność kleju i zaprawy do spoinowania z podłożem ogrzewanym oraz przeniesienie zaprojektowanych szczelin.</p>

        <div class="rk-screed-note"><p><strong>Nie wierć „na pamięć”.</strong> Dokumentacja fotograficzna i rzut rur nie dają stuprocentowej pewności po zmianie skali lub punktów odniesienia. Przed wykonaniem mocowania w podłodze instalację należy zlokalizować odpowiednią metodą.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-bledy" aria-labelledby="rk-screed-h2-13">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">13</div>
          <div><h2 id="rk-screed-h2-13">Pęknięcia, odspojenia i nierówne grzanie – najczęstsze przyczyny</h2><p>Rysa jest objawem; naprawę dobiera się dopiero po rozpoznaniu mechanizmu.</p></div>
        </div>

        <div class="rk-screed-error-grid">
          <div class="rk-screed-error"><div class="rk-screed-error-no">01</div><h4>Za dużo wody</h4><p>Ułatwia rozprowadzanie, lecz może zwiększyć skurcz, segregację, porowatość i spadek wytrzymałości.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">02</div><h4>Przypadkowa grubość</h4><p>Różnice poziomu tworzą miejsca o innej sztywności, masie i czasie reakcji cieplnej.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">03</div><h4>Brak ciągłej taśmy</h4><p>Kontakt ze ścianą lub słupem blokuje swobodną pracę pola i tworzy mostek akustyczny.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">04</div><h4>Zły podział pól</h4><p>Przewężenia, naroża wewnętrzne i długie kształty bez zaplanowanej szczeliny sprzyjają rysom.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">05</div><h4>Pusta przestrzeń przy rurze</h4><p>Niedostateczne otulenie pogarsza kontakt cieplny i może osłabić miejscowo jastrych.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">06</div><h4>Zbyt szybkie wysychanie</h4><p>Przeciąg, słońce lub przedwczesne grzanie tworzą gradient wilgotności i naprężenia.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">07</div><h4>Siatka na izolacji</h4><p>Zbrojenie bez właściwego położenia nie realizuje funkcji przyjętej w projekcie.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">08</div><h4>Okładzina bez pomiaru</h4><p>Zamknięcie wilgoci może powodować odspojenie, przebarwienia, deformacje lub rozwój pleśni w warstwach.</p></div>
        </div>

        <h3>Czy każdą rysę trzeba rozkuwać?</h3>
        <p>Nie. Najpierw ocenia się szerokość, głębokość, aktywność, przebieg względem szczelin i rur, różnicę wysokości krawędzi oraz nośność podłoża. Rysa skurczowa stabilna wymaga innego postępowania niż pracująca szczelina nad przewężeniem albo pęknięcie wynikające z osiadania izolacji. Zanim zastosuje się zszywanie, żywicę, matę odprężającą albo lokalną wymianę, należy znaleźć przyczynę.</p>

        <div class="rk-screed-truth"><p><strong>Nierówna temperatura powierzchni nie musi oznaczać złej wylewki.</strong> Przyczyną może być brak przepływu, zapowietrzenie, inny rozstaw, grubsza okładzina, strefa bez rury albo błąd nastaw. Diagnostykę zaczyna się od projektu, przepływów i obrazu termicznego, nie od kucia podłogi.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-kroki" aria-labelledby="rk-screed-h2-14">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">14</div>
          <div><h2 id="rk-screed-h2-14">Jak wykonać wylewkę na ogrzewanie podłogowe – kolejność prac</h2><p>Dziesięć etapów od projektu do odbioru posadzki.</p></div>
        </div>

        <ol class="rk-screed-howto">
          <li class="rk-screed-howto-step" id="rk-screed-step-1"><span>01</span><div><h3>Ustal konstrukcję podłogi</h3><p>Wybierz jastrych, klasę, grubość, izolację, okładzinę, obciążenia i wysokości. Sprawdź nośność stropu oraz ściśliwość warstw.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-2"><span>02</span><div><h3>Zaprojektuj ogrzewanie</h3><p>Oblicz obciążenie pomieszczeń, rozstaw, temperaturę zasilania, długości pętli, przepływy i przebieg bez kolizji ze szczelinami.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-3"><span>03</span><div><h3>Przygotuj równe podłoże i izolację</h3><p>Usuń luźne elementy, wyrównaj instalacje, ułóż warstwy bez pustek i wykonaj ciągłą izolację brzegową.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-4"><span>04</span><div><h3>Ułóż i zamocuj rury</h3><p>Zachowaj projektowany rozstaw, promienie gięcia i strefy bez mocowań. Oznacz przejścia, dylatacje i punkty pomiarowe.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-5"><span>05</span><div><h3>Wykonaj próbę szczelności</h3><p>Napełnij, odpowietrz i sprawdź obwody zgodnie z normą oraz systemem. Sporządź protokół i pozostaw instalację pod właściwym ciśnieniem podczas prac.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-6"><span>06</span><div><h3>Zbuduj podział na pola</h3><p>Wykonaj szczeliny, profile i tuleje ochronne zgodnie z planem. Skoordynuj je z progami oraz przyszłą okładziną.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-7"><span>07</span><div><h3>Wbuduj mieszankę</h3><p>Kontroluj recepturę, czas, konsystencję, zagęszczenie i poziomy. Nie dolewaj wody bez zgody technologicznej.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-8"><span>08</span><div><h3>Pielęgnuj i chroń</h3><p>Ogranicz przeciąg, słońce, mróz i przedwczesne obciążenie. Realizuj wymagania właściwe dla spoiwa i produktu.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-9"><span>09</span><div><h3>Przeprowadź nagrzewanie funkcjonalne</h3><p>Po wymaganym czasie uruchom wszystkie obwody, zapisz temperatury i zachowaj maksymalną temperaturę projektową przez wymagany okres.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-10"><span>10</span><div><h3>Zmierz wilgotność i odbierz podłoże</h3><p>Wykonaj pomiar w bezpiecznych punktach, oceń rysy, równość i wytrzymałość powierzchni, a następnie przekaż protokoły wykonawcy posadzki.</p></div></li>
        </ol>
      </section>

      <section class="rk-screed-section" id="rk-screed-faq" aria-labelledby="rk-screed-h2-15">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">15</div>
          <div><h2 id="rk-screed-h2-15">FAQ – wylewka betonowa na ogrzewanie podłogowe</h2><p>Odpowiedzi na najczęstsze pytania inwestorów i wykonawców.</p></div>
        </div>

        <div class="rk-screed-faq-list">
          <details class="rk-screed-faq"><summary>Ile centymetrów wylewki powinno być nad rurą ogrzewania podłogowego?</summary><div class="rk-screed-faq-answer"><p>Nie ma jednej wartości właściwej dla wszystkich produktów i podłóg. Warstwę nad rurą ustala się na podstawie typu i klasy jastrychu, obciążenia, podatności izolacji, średnicy przewodu, geometrii pól i dokumentacji systemu. Popularne 4,5 cm jest przykładem spotykanym w części rozwiązań, a nie uniwersalną normą.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy całkowita grubość 6 cm wystarczy przy rurze 16 mm?</summary><div class="rk-screed-faq-answer"><p>Przy 60 mm całkowitej grubości nad rurą 16 mm pozostaje 44 mm. Geometrycznie można to policzyć, ale bezpieczeństwa nie da się potwierdzić bez klasy materiału, obciążenia, rodzaju izolacji, układu szczelin i instrukcji konkretnego jastrychu.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy jastrych cementowy musi mieć siatkę?</summary><div class="rk-screed-faq-answer"><p>Nie zawsze. Dopuszczalne rozwiązanie powinno wynikać z projektu lub dokumentacji systemu. Siatka, włókna i brak dodatkowego zbrojenia mają różne warunki stosowania. Siatka położona bez dystansów na izolacji nie zastępuje prawidłowo zaprojektowanego zbrojenia.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy włókna zastępują siatkę w wylewce?</summary><div class="rk-screed-faq-answer"><p>Tylko wtedy, gdy rodzaj i dawka włókien mają taką funkcję w dokumentacji systemu. Mikrowłókna ograniczające skurcz plastyczny nie są automatycznie zamiennikiem siatki konstrukcyjnej. Nie wolno oceniać wszystkich włókien jako jednego materiału.</p></div></details>
          <details class="rk-screed-faq"><summary>Co jest lepsze na podłogówkę: cement czy anhydryt?</summary><div class="rk-screed-faq-answer"><p>Oba rozwiązania mogą działać bardzo dobrze. CT jest odporny na różne warunki wilgotnościowe i dostępny w wielu odmianach. CA zwykle dobrze otacza rury i ma mniejszy skurcz. Decyzję podejmuje się według pomieszczenia, produktu, harmonogramu, obciążeń, okładziny i jakości wykonawstwa.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy anhydryt ma zawsze lepszą przewodność cieplną?</summary><div class="rk-screed-faq-answer"><p>Nie należy tego zakładać na podstawie samej nazwy spoiwa. Przewodność zależy od receptury, gęstości i wilgotności. Do obliczeń trzeba przyjąć wartość λ deklarowaną dla konkretnego wyrobu w warunkach właściwych dla projektu.</p></div></details>
          <details class="rk-screed-faq"><summary>Po ilu dniach można włączyć ogrzewanie podłogowe?</summary><div class="rk-screed-faq-answer"><p>Dla standardowego jastrychu cementowego nagrzewanie funkcjonalne według PN-EN 1264-4 rozpoczyna się zwykle nie wcześniej niż po 21 dniach, a dla jastrychu na bazie siarczanu wapnia po co najmniej 7 dniach. Produkt specjalny może mieć inny harmonogram zapisany przez producenta.</p></div></details>
          <details class="rk-screed-faq"><summary>Jak wygląda pierwsze wygrzewanie wylewki?</summary><div class="rk-screed-faq-answer"><p>Modelowo stosuje się około 25°C temperatury zasilania przez 3 dni, a następnie maksymalną projektową temperaturę zasilania przez co najmniej 4 dni. Dokładny protokół musi uwzględniać rodzaj jastrychu, instrukcję produktu i parametry instalacji.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy wygrzanie oznacza, że można układać panele lub drewno?</summary><div class="rk-screed-faq-answer"><p>Nie. Wygrzewanie funkcjonalne nie jest dowodem osiągnięcia wilgotności wymaganej przez posadzkę. Gotowość potwierdza pomiar, najczęściej metodą CM, oraz kryterium producenta jastrychu, kleju i okładziny.</p></div></details>
          <details class="rk-screed-faq"><summary>Ile schnie wylewka o grubości 6 cm?</summary><div class="rk-screed-faq-answer"><p>Nie da się wiarygodnie odpowiedzieć regułą „1 mm na dobę”. Czas zależy od receptury, spoiwa, grubości, temperatury, wilgotności i wymiany powietrza. Należy śledzić warunki, przeprowadzić wymagany protokół i zmierzyć wilgotność.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy rury mogą przechodzić przez dylatację?</summary><div class="rk-screed-faq-answer"><p>Pętla grzewcza nie powinna przechodzić z pola do pola przez szczelinę ruchową. Jeśli muszą przejść przewody przyłączeniowe, prowadzi się je w odpowiednich tulejach ochronnych zgodnie z projektem i ogranicza liczbę przejść.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy trzeba utrzymywać 6–8 bar przez cały czas schnięcia?</summary><div class="rk-screed-faq-answer"><p>Nie należy stosować takiej uniwersalnej zasady. Próbę wykonuje się przed zakryciem rur według PN-EN 1264-4 i systemu. Podczas wylewania przewody pozostają pod ciśnieniem, lecz wartość oraz czas utrzymania po pracy powinny wynikać z instrukcji i protokołu, a nie z przypadkowej liczby.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy grubsza wylewka daje cieplejszą podłogę?</summary><div class="rk-screed-faq-answer"><p>Nie automatycznie. Większa masa magazynuje więcej energii i wolniej reaguje, ale moc ustalają także temperatura wody, rozstaw rur, przepływ, opór okładziny i straty pomieszczenia. Nadmierna grubość nie naprawi źle zaprojektowanej instalacji.</p></div></details>
          <details class="rk-screed-faq"><summary>Skąd wiadomo, gdzie później można wiercić?</summary><div class="rk-screed-faq-answer"><p>Trzeba zachować projekt, zdjęcia z punktami odniesienia i dokumentację powykonawczą, a przed wierceniem zlokalizować rury. Samo zdjęcie lub rzut może być niedokładny po zmianie skali, tynkach i przesunięciu osi pomieszczenia.</p></div></details>
        </div>

        <div class="rk-screed-sources">
          <strong>Podstawa techniczna i data weryfikacji</strong>
          Opracowanie zaktualizowano 24 sierpnia 2026 r. Podstawę stanowią: PN-EN 1264-4 dotycząca instalowania wodnych systemów ogrzewania powierzchniowego, PN-EN 13813 dotycząca materiałów na podkłady podłogowe oraz oficjalna karta normy
          <a href="https://www.iso.org/standard/74685.html" target="_blank" rel="noopener noreferrer">ISO 11855-5:2021 – Installation</a>
          wraz z
          <a href="https://www.iso.org/standard/83785.html" target="_blank" rel="noopener noreferrer">ISO 11855-5:2021/Amd 1:2023</a>.
          Normy nie zastępują deklaracji, instrukcji i projektu konkretnego systemu.
        </div>
      </section>

      <section class="rk-screed-cta" aria-label="Zamówienie projektu ogrzewania podłogowego">
        <h3>Chcesz ustalić parametry podłogi przed wylaniem jastrychu?</h3>
        <p>Projekt określa obciążenie cieplne pomieszczeń, rozstaw i przebieg rur, długości pętli, temperaturę zasilania, przepływy, opory oraz miejsca kolizji z planowanymi szczelinami. Dzięki temu wykonawca wylewki pracuje na znanym układzie, a nie na instalacji rozłożonej „na oko”.</p>
        <a class="rk-screed-cta-link" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt instalacji ogrzewania podłogowego</a>
        <small>To jedyne CTA sprzedażowe w artykule. Projekt-Ogrzewania.pl jest serwisem należącym do autora publikacji.</small>
      </section>

      <aside class="rk-screed-author-box" aria-label="Informacje o autorze" itemprop="author" itemscope="" itemtype="https://schema.org/Person">
        <div class="rk-screed-author-head">
          <div><h3>Autor opracowania</h3><p>Praktyka projektowa, wiedza techniczna i język zrozumiały dla inwestora.</p></div>
          <div class="rk-screed-author-mark">E-E-A-T • HVAC</div>
        </div>
        <div class="rk-screed-author-main">
          <div class="rk-screed-author-profile">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski – autor opracowania" width="174" height="174" loading="lazy" itemprop="image">
            <h4 itemprop="name">Robert Kucharski</h4>
            <span class="rk-screed-author-role" itemprop="jobTitle">CEO • specjalista systemów HVAC i ogrzewania podłogowego</span>
          </div>
          <div class="rk-screed-author-content">
            <div class="rk-screed-quote"><blockquote>„Wylewka nie naprawi źle zaprojektowanej podłogówki. Może jedynie dobrze albo źle przenieść do pomieszczenia ciepło, które wcześniej trzeba policzyć.”</blockquote></div>
            <div class="rk-screed-tab-buttons" role="tablist" aria-label="Informacje o autorze">
              <button class="rk-screed-tab-button is-active" type="button" role="tab" aria-selected="true" aria-controls="rk-screed-author-about" id="rk-screed-author-about-tab" data-screed-author-tab="about">O autorze</button>
              <button class="rk-screed-tab-button" type="button" role="tab" aria-selected="false" aria-controls="rk-screed-author-experience" id="rk-screed-author-experience-tab" data-screed-author-tab="experience">Doświadczenie</button>
              <button class="rk-screed-tab-button" type="button" role="tab" aria-selected="false" aria-controls="rk-screed-author-portals" id="rk-screed-author-portals-tab" data-screed-author-tab="portals">Portale</button>
            </div>
            <div class="rk-screed-tab-panel" id="rk-screed-author-about" role="tabpanel" aria-labelledby="rk-screed-author-about-tab" data-screed-author-panel="about">
              <p itemprop="description">Specjalizuję się w projektowaniu wodnego ogrzewania podłogowego, obliczeniach obciążenia cieplnego i hydraulice instalacji. Łączę parametry źródła ciepła, rozstaw rur, przepływy i konstrukcję podłogi w jeden możliwy do wykonania układ.</p>
            </div>
            <div class="rk-screed-tab-panel" id="rk-screed-author-experience" role="tabpanel" aria-labelledby="rk-screed-author-experience-tab" data-screed-author-panel="experience" hidden="">
              <p>Wieloletnią praktykę projektową uzupełniam tworzeniem technicznych publikacji dla inwestorów i wykonawców. Analizuję zależności między stratami budynku, temperaturą zasilania, mocą powierzchniową, rozstawem, długością pętli, przepływem, oporem hydraulicznym i bezwładnością jastrychu. W poradnikach oddzielam wymagania normowe od zwyczajów wykonawczych i materiałów sprzedażowych.</p>
            </div>
            <div class="rk-screed-tab-panel" id="rk-screed-author-portals" role="tabpanel" aria-labelledby="rk-screed-author-portals-tab" data-screed-author-panel="portals" hidden="">
              <p>Jestem właścicielem trzech serwisów branżowych. Powiązanie podaję jawnie, aby czytelnik znał autorstwo i kontekst linkowania.</p>
              <div class="rk-screed-portals">
                <a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a>
                <a href="https://remont.biz.pl/" target="_blank" rel="noopener noreferrer">Remont.biz.pl</a>
                <a href="https://sobir.pl/" target="_blank" rel="noopener noreferrer">Sobir.pl</a>
              </div>
            </div>
          </div>
        </div>
      </aside>
    </div>
  </div>
</article>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#webpage",
      "url": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/",
      "name": "Wylewka betonowa na ogrzewanie podłogowe – grubość, zbrojenie, dylatacje i wygrzewanie",
      "description": "Techniczny przewodnik po grubości jastrychu nad rurą, klasach CT i CA, zbrojeniu, dylatacjach, próbie szczelności, wygrzewaniu i wilgotności.",
      "inLanguage": "pl-PL",
      "isPartOf": { "@id": "https://projekt-ogrzewania.pl/#website" },
      "about": [
        { "@type": "Thing", "name": "Wylewka betonowa na ogrzewanie podłogowe" },
        { "@type": "Thing", "name": "Jastrych cementowy CT" },
        { "@type": "Thing", "name": "Jastrych na bazie siarczanu wapnia CA" },
        { "@type": "Thing", "name": "Wygrzewanie jastrychu grzejnego" }
      ],
      "mainEntity": { "@id": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#article" },
      "dateModified": "2026-08-24T20:30:00+02:00"
    },
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#article",
      "url": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/",
      "headline": "Wylewka betonowa na ogrzewanie podłogowe – grubość, zbrojenie, dylatacje i wygrzewanie",
      "alternativeHeadline": "Jaka wylewka na podłogówkę? Techniczny przewodnik po jastrychu CT i CA",
      "description": "Wylewka betonowa na ogrzewanie podłogowe: grubość nad rurą, klasy jastrychu, zbrojenie, szczeliny, próba ciśnieniowa, pielęgnacja, wygrzewanie i pomiar CM.",
      "inLanguage": "pl-PL",
      "dateModified": "2026-08-24T20:30:00+02:00",
      "author": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "copyrightHolder": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "copyrightYear": 2026,
      "isPartOf": { "@id": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#webpage" },
      "mainEntityOfPage": { "@id": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#webpage" },
      "wordCount": 4342,
      "proficiencyLevel": "Expert",
      "genre": ["poradnik techniczny", "ogrzewanie podłogowe", "budownictwo"],
      "keywords": [
        "wylewka betonowa na ogrzewanie podłogowe",
        "grubość wylewki na podłogówkę",
        "ile wylewki nad rurą ogrzewania podłogowego",
        "jastrych cementowy CT",
        "jastrych anhydrytowy CA",
        "zbrojenie wylewki na ogrzewaniu podłogowym",
        "dylatacje w ogrzewaniu podłogowym",
        "wygrzewanie wylewki",
        "wilgotność CM jastrychu",
        "kalkulator wylewki"
      ],
      "about": [
        { "@type": "DefinedTerm", "name": "Jastrych grzejny", "description": "Podkład podłogowy zawierający przewody wodnego ogrzewania powierzchniowego." },
        { "@type": "DefinedTerm", "name": "CT-C20-F4", "description": "Przykładowe oznaczenie jastrychu cementowego z klasą wytrzymałości na ściskanie C20 i na zginanie F4." },
        { "@type": "DefinedTerm", "name": "Nagrzewanie funkcjonalne", "description": "Kontrolowany cykl temperatur wykonywany po minimalnym okresie wiązania jastrychu grzejnego." }
      ],
      "mentions": [
        { "@type": "TechArticle", "name": "PN-EN 1264-4 – Wodne płaszczyznowe systemy ogrzewania i chłodzenia – Instalowanie" },
        { "@type": "TechArticle", "name": "PN-EN 13813 – Podkłady podłogowe oraz materiały do ich wykonania" },
        { "@type": "TechArticle", "name": "ISO 11855-5:2021 – Installation", "url": "https://www.iso.org/standard/74685.html" }
      ],
      "citation": [
        "PN-EN 1264-4: Wodne płaszczyznowe systemy ogrzewania i chłodzenia – Część 4: Instalowanie",
        "PN-EN 13813: Podkłady podłogowe oraz materiały do ich wykonania – Materiały – Właściwości i wymagania",
        "https://www.iso.org/standard/74685.html",
        "https://www.iso.org/standard/83785.html"
      ],
      "hasPart": [
        { "@id": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#calculator" },
        { "@id": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#howto" },
        { "@id": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#faq" }
      ],
      "audience": { "@type": "Audience", "audienceType": "Inwestorzy, projektanci i wykonawcy ogrzewania podłogowego" }
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#calculator",
      "name": "Kalkulator ilości i bezwładności wylewki na ogrzewanie podłogowe",
      "description": "Narzędzie szacuje grubość całkowitą, objętość, masę, długość rury, pojemność cieplną i opór warstwy jastrychu na podstawie parametrów użytkownika.",
      "url": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#rk-screed-kalkulator",
      "applicationCategory": "UtilitiesApplication",
      "applicationSubCategory": "Kalkulator budowlany",
      "operatingSystem": "Any",
      "browserRequirements": "JavaScript",
      "isAccessibleForFree": true,
      "inLanguage": "pl-PL",
      "creator": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "featureList": [
        "Obliczenie grubości całkowitej z warstwy nad rurą i średnicy przewodu",
        "Szacunek objętości i masy jastrychu",
        "Szacunek długości rury z rozstawu",
        "Obliczenie pojemności cieplnej i energii dla zadanej zmiany temperatury",
        "Obliczenie oporu cieplnego samej warstwy",
        "Dynamiczny przekrój i wykres pojemności cieplnej"
      ]
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#howto",
      "name": "Jak wykonać wylewkę na ogrzewanie podłogowe",
      "description": "Kolejność od ustalenia konstrukcji podłogi i projektu instalacji do nagrzewania funkcjonalnego, pomiaru wilgotności i odbioru podłoża.",
      "inLanguage": "pl-PL",
      "supply": [
        { "@type": "HowToSupply", "name": "Jastrych o zaprojektowanej klasie" },
        { "@type": "HowToSupply", "name": "Izolacja termiczna i brzegowa" },
        { "@type": "HowToSupply", "name": "Rury ogrzewania podłogowego" },
        { "@type": "HowToSupply", "name": "Profile dylatacyjne i tuleje ochronne" }
      ],
      "tool": [
        { "@type": "HowToTool", "name": "Narzędzia do kontroli poziomu i grubości" },
        { "@type": "HowToTool", "name": "Zestaw do próby ciśnieniowej" },
        { "@type": "HowToTool", "name": "Aparat CM do pomiaru wilgotności" }
      ],
      "step": [
        { "@type": "HowToStep", "position": 1, "name": "Ustal konstrukcję podłogi", "text": "Wybierz rodzaj i klasę jastrychu, grubość, izolację, okładzinę, obciążenia i poziomy.", "url": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#rk-screed-step-1" },
        { "@type": "HowToStep", "position": 2, "name": "Zaprojektuj ogrzewanie", "text": "Oblicz obciążenie cieplne, rozstaw, temperaturę zasilania, pętle i przepływy.", "url": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#rk-screed-step-2" },
        { "@type": "HowToStep", "position": 3, "name": "Przygotuj podłoże i izolację", "text": "Wyrównaj podłoże, ułóż stabilną izolację i ciągłą taśmę brzegową.", "url": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#rk-screed-step-3" },
        { "@type": "HowToStep", "position": 4, "name": "Ułóż i zamocuj rury", "text": "Zachowaj projektowany rozstaw, przebieg i miejsca planowanych szczelin.", "url": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#rk-screed-step-4" },
        { "@type": "HowToStep", "position": 5, "name": "Wykonaj próbę szczelności", "text": "Napełnij, odpowietrz i sprawdź obwody zgodnie z normą oraz dokumentacją systemu.", "url": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#rk-screed-step-5" },
        { "@type": "HowToStep", "position": 6, "name": "Zbuduj podział na pola", "text": "Wykonaj profile, szczeliny i tuleje ochronne zgodnie z planem.", "url": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#rk-screed-step-6" },
        { "@type": "HowToStep", "position": 7, "name": "Wbuduj mieszankę", "text": "Kontroluj recepturę, konsystencję, zagęszczenie i poziomy bez dolewania wody na oko.", "url": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#rk-screed-step-7" },
        { "@type": "HowToStep", "position": 8, "name": "Pielęgnuj i chroń", "text": "Zapewnij warunki właściwe dla produktu i nie obciążaj podłoża przed terminem.", "url": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#rk-screed-step-8" },
        { "@type": "HowToStep", "position": 9, "name": "Przeprowadź nagrzewanie funkcjonalne", "text": "Uruchom wszystkie obwody i zrealizuj zapisany protokół temperatur.", "url": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#rk-screed-step-9" },
        { "@type": "HowToStep", "position": 10, "name": "Zmierz wilgotność i odbierz podłoże", "text": "Sprawdź wilgotność, równość, rysy i przygotuj protokoły dla wykonawcy posadzki.", "url": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#rk-screed-step-10" }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/#faq",
      "inLanguage": "pl-PL",
      "mainEntity": [
        { "@type": "Question", "name": "Ile centymetrów wylewki powinno być nad rurą ogrzewania podłogowego?", "acceptedAnswer": { "@type": "Answer", "text": "Nie ma jednej wartości właściwej dla wszystkich produktów i podłóg. Warstwę nad rurą ustala się na podstawie typu i klasy jastrychu, obciążenia, podatności izolacji, średnicy przewodu, geometrii pól i dokumentacji systemu. Popularne 4,5 cm jest przykładem spotykanym w części rozwiązań, a nie uniwersalną normą." } },
        { "@type": "Question", "name": "Czy całkowita grubość 6 cm wystarczy przy rurze 16 mm?", "acceptedAnswer": { "@type": "Answer", "text": "Przy 60 mm całkowitej grubości nad rurą 16 mm pozostaje 44 mm. Geometrycznie można to policzyć, ale bezpieczeństwa nie da się potwierdzić bez klasy materiału, obciążenia, rodzaju izolacji, układu szczelin i instrukcji konkretnego jastrychu." } },
        { "@type": "Question", "name": "Czy jastrych cementowy musi mieć siatkę?", "acceptedAnswer": { "@type": "Answer", "text": "Nie zawsze. Dopuszczalne rozwiązanie powinno wynikać z projektu lub dokumentacji systemu. Siatka, włókna i brak dodatkowego zbrojenia mają różne warunki stosowania. Siatka położona bez dystansów na izolacji nie zastępuje prawidłowo zaprojektowanego zbrojenia." } },
        { "@type": "Question", "name": "Czy włókna zastępują siatkę w wylewce?", "acceptedAnswer": { "@type": "Answer", "text": "Tylko wtedy, gdy rodzaj i dawka włókien mają taką funkcję w dokumentacji systemu. Mikrowłókna ograniczające skurcz plastyczny nie są automatycznie zamiennikiem siatki konstrukcyjnej." } },
        { "@type": "Question", "name": "Co jest lepsze na podłogówkę: cement czy anhydryt?", "acceptedAnswer": { "@type": "Answer", "text": "Oba rozwiązania mogą działać bardzo dobrze. Decyzję podejmuje się według pomieszczenia, produktu, harmonogramu, obciążeń, okładziny i jakości wykonawstwa." } },
        { "@type": "Question", "name": "Czy anhydryt ma zawsze lepszą przewodność cieplną?", "acceptedAnswer": { "@type": "Answer", "text": "Nie należy tego zakładać na podstawie samej nazwy spoiwa. Przewodność zależy od receptury, gęstości i wilgotności. Do obliczeń trzeba przyjąć wartość lambda deklarowaną dla konkretnego wyrobu." } },
        { "@type": "Question", "name": "Po ilu dniach można włączyć ogrzewanie podłogowe?", "acceptedAnswer": { "@type": "Answer", "text": "Dla standardowego jastrychu cementowego nagrzewanie funkcjonalne według PN-EN 1264-4 rozpoczyna się zwykle nie wcześniej niż po 21 dniach, a dla jastrychu na bazie siarczanu wapnia po co najmniej 7 dniach. Produkt specjalny może mieć inny harmonogram." } },
        { "@type": "Question", "name": "Jak wygląda pierwsze wygrzewanie wylewki?", "acceptedAnswer": { "@type": "Answer", "text": "Modelowo stosuje się około 25°C temperatury zasilania przez 3 dni, a następnie maksymalną projektową temperaturę zasilania przez co najmniej 4 dni. Dokładny protokół musi uwzględniać rodzaj jastrychu, instrukcję produktu i parametry instalacji." } },
        { "@type": "Question", "name": "Czy wygrzanie oznacza, że można układać panele lub drewno?", "acceptedAnswer": { "@type": "Answer", "text": "Nie. Wygrzewanie funkcjonalne nie jest dowodem osiągnięcia wilgotności wymaganej przez posadzkę. Gotowość potwierdza pomiar oraz kryterium producenta jastrychu, kleju i okładziny." } },
        { "@type": "Question", "name": "Ile schnie wylewka o grubości 6 cm?", "acceptedAnswer": { "@type": "Answer", "text": "Nie da się wiarygodnie odpowiedzieć regułą 1 mm na dobę. Czas zależy od receptury, spoiwa, grubości, temperatury, wilgotności i wymiany powietrza. Należy zmierzyć wilgotność." } },
        { "@type": "Question", "name": "Czy rury mogą przechodzić przez dylatację?", "acceptedAnswer": { "@type": "Answer", "text": "Pętla grzewcza nie powinna przechodzić z pola do pola przez szczelinę ruchową. Jeśli muszą przejść przewody przyłączeniowe, prowadzi się je w odpowiednich tulejach ochronnych zgodnie z projektem." } },
        { "@type": "Question", "name": "Czy trzeba utrzymywać 6–8 bar przez cały czas schnięcia?", "acceptedAnswer": { "@type": "Answer", "text": "Nie należy stosować takiej uniwersalnej zasady. Próbę wykonuje się przed zakryciem rur według PN-EN 1264-4 i systemu. Podczas wylewania przewody pozostają pod ciśnieniem, lecz wartość oraz czas utrzymania powinny wynikać z instrukcji i protokołu." } },
        { "@type": "Question", "name": "Czy grubsza wylewka daje cieplejszą podłogę?", "acceptedAnswer": { "@type": "Answer", "text": "Nie automatycznie. Większa masa magazynuje więcej energii i wolniej reaguje, ale moc ustalają także temperatura wody, rozstaw rur, przepływ, opór okładziny i straty pomieszczenia." } },
        { "@type": "Question", "name": "Skąd wiadomo, gdzie później można wiercić?", "acceptedAnswer": { "@type": "Answer", "text": "Trzeba zachować projekt, zdjęcia z punktami odniesienia i dokumentację powykonawczą, a przed wierceniem zlokalizować rury. Samo zdjęcie lub rzut może być niedokładny po zmianie skali." } }
      ]
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista HVAC",
      "description": "Projektant wodnego ogrzewania podłogowego, autor technicznych opracowań i właściciel serwisów Projekt-Ogrzewania.pl, Remont.biz.pl oraz Sobir.pl.",
      "knowsAbout": [
        "Ogrzewanie podłogowe",
        "Jastrychy grzejne",
        "Projektowanie instalacji sanitarnych",
        "Hydraulika instalacji grzewczych",
        "Obciążenie cieplne budynków",
        "Pompy ciepła",
        "Efektywność energetyczna budynków"
      ],
      "sameAs": [
        "https://projekt-ogrzewania.pl/",
        "https://remont.biz.pl/",
        "https://sobir.pl/",
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy"
      ],
      "affiliation": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "owns": [
        { "@id": "https://projekt-ogrzewania.pl/#website" },
        { "@id": "https://remont.biz.pl/#website" },
        { "@id": "https://sobir.pl/#website" }
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt Ogrzewania",
      "url": "https://projekt-ogrzewania.pl/",
      "logo": { "@type": "ImageObject", "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Projekt-Ogrzewania-Logo.webp" },
      "founder": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" }
    },
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt Ogrzewania",
      "inLanguage": "pl-PL",
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "creator": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "copyrightHolder": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" }
    },
    {
      "@type": "WebSite",
      "@id": "https://remont.biz.pl/#website",
      "url": "https://remont.biz.pl/",
      "name": "Remont.biz.pl",
      "inLanguage": "pl-PL",
      "creator": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "copyrightHolder": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" }
    },
    {
      "@type": "WebSite",
      "@id": "https://sobir.pl/#website",
      "url": "https://sobir.pl/",
      "name": "Sobir.pl",
      "inLanguage": "pl-PL",
      "creator": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "copyrightHolder": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" }
    }
  ]
}
</script>

<script>
(function () {
  "use strict";

  function initScreedGuide() {
    var root = document.getElementById("rk-screed-guide");
    if (!root) {
      return;
    }
    if (root.getAttribute("data-rk-screed-ready") === "1") {
      return;
    }
    root.setAttribute("data-rk-screed-ready", "1");

    function one(selector) {
      return root.querySelector(selector);
    }

    function many(selector) {
      return Array.prototype.slice.call(root.querySelectorAll(selector));
    }

    function valueOf(element, fallback) {
      if (!element) {
        return fallback;
      }
      var value = Number.parseFloat(element.value);
      if (Number.isFinite(value)) {
        return value;
      }
      return fallback;
    }

    function format(value, digits) {
      return value.toLocaleString("pl-PL", {
        minimumFractionDigits: digits,
        maximumFractionDigits: digits
      });
    }

    function setText(selector, text) {
      var element = one(selector);
      if (element) {
        element.textContent = text;
      }
    }

    function svgElement(name, attributes, text) {
      var element = document.createElementNS("http://www.w3.org/2000/svg", name);
      Object.keys(attributes).forEach(function (key) {
        element.setAttribute(key, String(attributes[key]));
      });
      if (typeof text === "string") {
        element.textContent = text;
      }
      return element;
    }

    var fields = {
      area: one("#rk-screed-area"),
      diameter: one("#rk-screed-diameter"),
      cover: one("#rk-screed-cover"),
      spacing: one("#rk-screed-spacing"),
      density: one("#rk-screed-density"),
      cp: one("#rk-screed-cp"),
      lambda: one("#rk-screed-lambda"),
      delta: one("#rk-screed-delta"),
      reserve: one("#rk-screed-reserve")
    };

    var presets = {
      standard: { area: 100, diameter: 16, cover: 45, spacing: 15, density: 2100, cp: 0.88, lambda: 1.40, delta: 5, reserve: 5 },
      small: { area: 60, diameter: 16, cover: 45, spacing: 15, density: 2050, cp: 0.88, lambda: 1.35, delta: 5, reserve: 5 },
      heavy: { area: 150, diameter: 16, cover: 60, spacing: 15, density: 2200, cp: 0.90, lambda: 1.55, delta: 5, reserve: 7 }
    };

    function updateCrossSection(total, diameter, cover) {
      var screed = one("#rk-screed-svg-screed");
      var pipe = one("#rk-screed-svg-pipe");
      var coverLine = one("#rk-screed-svg-cover-line");
      var totalLine = one("#rk-screed-svg-total-line");
      var coverText = one("#rk-screed-svg-cover-text");
      var totalText = one("#rk-screed-svg-total-text");
      if (!screed) {
        return;
      }
      var bottom = 190;
      var height = 92 + (total - 37) / 53 * 64;
      height = Math.min(Math.max(height, 92), 156);
      var top = bottom - height;
      var scale = height / total;
      var radius = diameter / 2 * scale;
      var pipeCenter = top + cover * scale + radius;
      screed.setAttribute("y", top.toFixed(1));
      screed.setAttribute("height", height.toFixed(1));
      if (pipe) {
        pipe.setAttribute("cy", pipeCenter.toFixed(1));
        pipe.setAttribute("r", radius.toFixed(1));
      }
      if (coverLine) {
        coverLine.setAttribute("y1", (top + 5).toFixed(1));
        coverLine.setAttribute("y2", (pipeCenter - radius - 5).toFixed(1));
      }
      if (totalLine) {
        totalLine.setAttribute("y1", (top + 4).toFixed(1));
        totalLine.setAttribute("y2", (bottom - 4).toFixed(1));
      }
      if (coverText) {
        coverText.setAttribute("y", (top + cover * scale / 2 + 4).toFixed(1));
        coverText.textContent = format(cover, 0) + " mm nad rurą";
      }
      if (totalText) {
        totalText.setAttribute("y", (top + height / 2 + 4).toFixed(1));
        totalText.textContent = format(total, 0) + " mm łącznie";
      }
    }

    function updateEnergyChart(area, density, cp) {
      var group = one("#rk-screed-bars");
      var chart = one("#rk-screed-energy-chart");
      if (!group) {
        return;
      }
      while (group.firstChild) {
        group.removeChild(group.firstChild);
      }
      var thicknesses = [45, 55, 65, 75];
      var values = thicknesses.map(function (thickness) {
        return area * thickness / 1000 * density * cp / 3600;
      });
      var maxValue = Math.max.apply(null, values) * 1.15;
      thicknesses.forEach(function (thickness, index) {
        var value = values[index];
        var x = 72 + index * 82;
        var barHeight = value / maxValue * 145;
        var y = 205 - barHeight;
        group.appendChild(svgElement("rect", { x: x, y: y.toFixed(1), width: 48, height: barHeight.toFixed(1), rx: 8, "class": "rk-screed-bar" }));
        group.appendChild(svgElement("text", { x: x + 24, y: y - 8, "text-anchor": "middle" }, format(value, 1)));
        group.appendChild(svgElement("text", { x: x + 24, y: 225, "text-anchor": "middle" }, thickness + " mm"));
      });
      if (chart) {
        chart.setAttribute("aria-label", "Pojemność cieplna od " + format(values[0], 1) + " do " + format(values[3], 1) + " kilowatogodziny na kelwin dla powierzchni " + format(area, 0) + " metrów kwadratowych");
      }
    }

    function renderCalculator() {
      var area = valueOf(fields.area, 100);
      var diameter = valueOf(fields.diameter, 16);
      var cover = valueOf(fields.cover, 45);
      var spacing = valueOf(fields.spacing, 15);
      var density = valueOf(fields.density, 2100);
      var cp = valueOf(fields.cp, 0.88);
      var lambda = valueOf(fields.lambda, 1.4);
      var delta = valueOf(fields.delta, 5);
      var reserve = valueOf(fields.reserve, 5);
      var total = diameter + cover;
      var heightMetres = total / 1000;
      var grossVolume = area * heightMetres;
      var pipeLength = area / (spacing / 100) * 1.05;
      var pipeVolume = Math.PI * Math.pow(diameter / 1000, 2) / 4 * pipeLength;
      var netVolume = Math.max(grossVolume - pipeVolume, 0);
      var orderVolume = netVolume * (1 + reserve / 100);
      var mass = netVolume * density;
      var massPerArea = mass / area;
      var capacity = mass * cp / 3600;
      var energy = capacity * delta;
      var resistance = heightMetres / lambda;

      setText("#rk-screed-area-out", format(area, 0) + " m²");
      setText("#rk-screed-diameter-out", format(diameter, 0) + " mm");
      setText("#rk-screed-cover-out", format(cover, 0) + " mm");
      setText("#rk-screed-spacing-out", format(spacing, 0) + " cm");
      setText("#rk-screed-density-out", format(density, 0) + " kg/m³");
      setText("#rk-screed-cp-out", format(cp, 2) + " kJ/kgK");
      setText("#rk-screed-lambda-out", format(lambda, 2) + " W/mK");
      setText("#rk-screed-delta-out", format(delta, 0) + " K");
      setText("#rk-screed-reserve-out", format(reserve, 0) + "%");
      setText("#rk-screed-total-result", format(total, 0) + " mm");
      setText("#rk-screed-volume-result", format(orderVolume, 2) + " m³");
      setText("#rk-screed-mass-result", mass >= 1000 ? format(mass / 1000, 1) + " t" : format(mass, 0) + " kg");
      setText("#rk-screed-load-result", format(massPerArea, 0) + " kg/m²");
      setText("#rk-screed-pipe-result", format(pipeLength, 0) + " m");
      setText("#rk-screed-capacity-result", format(capacity, 1) + " kWh/K");
      setText("#rk-screed-energy-result", format(energy, 1) + " kWh");
      setText("#rk-screed-resistance-result", format(resistance, 3) + " m²K/W");

      var warning = one("#rk-screed-lab-warning");
      if (warning) {
        if (cover < 30) {
          warning.textContent = "Bardzo mała warstwa nad rurą: stosuj ją wyłącznie w systemie, który wprost dopuszcza taką konstrukcję.";
          warning.classList.add("is-warning");
        } else if (total > 80) {
          warning.textContent = "Duża grubość zwiększa masę i bezwładność. Sprawdź nośność oraz wpływ na regulację i wysokości budynku.";
          warning.classList.add("is-warning");
        } else if (massPerArea > 170) {
          warning.textContent = "Obciążenie stałe jest wysokie. Zweryfikuj nośność konstrukcji i ugięcie warstw pod jastrychem.";
          warning.classList.add("is-warning");
        } else {
          warning.textContent = "Wpisana warstwa nad rurą jest parametrem do analizy, a nie zaleceniem wykonawczym.";
          warning.classList.remove("is-warning");
        }
      }

      updateCrossSection(total, diameter, cover);
      updateEnergyChart(area, density, cp);
    }

    Object.keys(fields).forEach(function (key) {
      var field = fields[key];
      if (!field) {
        return;
      }
      field.addEventListener("input", renderCalculator);
      field.addEventListener("change", renderCalculator);
    });

    many("[data-screed-preset]").forEach(function (button) {
      button.addEventListener("click", function () {
        var key = button.getAttribute("data-screed-preset");
        var preset = presets[key];
        if (!preset) {
          return;
        }
        Object.keys(preset).forEach(function (fieldKey) {
          if (fields[fieldKey]) {
            fields[fieldKey].value = String(preset[fieldKey]);
          }
        });
        many("[data-screed-preset]").forEach(function (item) {
          item.classList.toggle("is-active", item === button);
        });
        renderCalculator();
      });
    });

    many(".rk-screed-nav a").forEach(function (link) {
      link.addEventListener("click", function (event) {
        var selector = link.getAttribute("href");
        if (!selector) {
          return;
        }
        var target = root.querySelector(selector);
        if (target) {
          event.preventDefault();
          target.scrollIntoView({ behavior: "smooth", block: "start" });
        }
      });
    });

    var tabButtons = many("[data-screed-author-tab]");
    var tabPanels = many("[data-screed-author-panel]");

    function activateAuthorTab(key) {
      tabButtons.forEach(function (button) {
        var active = button.getAttribute("data-screed-author-tab") === key;
        button.classList.toggle("is-active", active);
        button.setAttribute("aria-selected", active ? "true" : "false");
        button.tabIndex = active ? 0 : -1;
      });
      tabPanels.forEach(function (panel) {
        var active = panel.getAttribute("data-screed-author-panel") === key;
        panel.hidden = !active;
      });
    }

    tabButtons.forEach(function (button, index) {
      button.addEventListener("click", function () {
        activateAuthorTab(button.getAttribute("data-screed-author-tab"));
      });
      button.addEventListener("keydown", function (event) {
        if (event.key !== "ArrowRight") {
          if (event.key !== "ArrowLeft") {
            return;
          }
        }
        event.preventDefault();
        var movement = event.key === "ArrowRight" ? 1 : -1;
        var nextIndex = (index + movement + tabButtons.length) % tabButtons.length;
        var nextButton = tabButtons[nextIndex];
        activateAuthorTab(nextButton.getAttribute("data-screed-author-tab"));
        nextButton.focus();
      });
    });

    var progress = one(".rk-screed-progress");
    function updateProgress() {
      if (!progress) {
        return;
      }
      var articleTop = root.getBoundingClientRect().top + window.scrollY;
      var articleHeight = root.offsetHeight - window.innerHeight;
      var travelled = window.scrollY - articleTop;
      var percentage = articleHeight > 0 ? travelled / articleHeight * 100 : 0;
      percentage = Math.min(Math.max(percentage, 0), 100);
      progress.style.width = percentage.toFixed(2) + "%";
    }

    window.addEventListener("scroll", updateProgress, { passive: true });
    window.addEventListener("resize", updateProgress);
    renderCalculator();
    activateAuthorTab("about");
    updateProgress();
  }

  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", initScreedGuide);
  } else {
    initScreedGuide();
  }
  window.setTimeout(initScreedGuide, 500);
}());
</script>
<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>
