<?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 projekt podłogówki - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/tag/projekt-podlogowki/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/tag/projekt-podlogowki/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Mon, 27 Apr 2026 10:02:28 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa projekt podłogówki - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/tag/projekt-podlogowki/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Projekt ogrzewania podłogowego a dotacje Czyste Powietrze i Moje Ciepło 2026.</title>
		<link>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-a-dotacje-czyste-powietrze-i-moje-cieplo-2026/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 06 Apr 2026 16:16:48 +0000</pubDate>
				<category><![CDATA[Audyt energetyczny]]></category>
		<category><![CDATA[Dofinansowania i dotacje]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki inwestora]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Program Czyste Powietrze]]></category>
		<category><![CDATA[Program Moje Ciepło]]></category>
		<category><![CDATA[Termomodernizacja]]></category>
		<category><![CDATA[audyt energetyczny]]></category>
		<category><![CDATA[cop pompy ciepła]]></category>
		<category><![CDATA[czyste powietrze 2026]]></category>
		<category><![CDATA[dokumentacja powykonawcza]]></category>
		<category><![CDATA[dotacja na pompę ciepła]]></category>
		<category><![CDATA[dotacje na ogrzewanie]]></category>
		<category><![CDATA[instalacja niskotemperaturowa]]></category>
		<category><![CDATA[moje ciepło 2026]]></category>
		<category><![CDATA[nfośigw]]></category>
		<category><![CDATA[obliczenia strat ciepła]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[opór cieplny podłogi]]></category>
		<category><![CDATA[ozc]]></category>
		<category><![CDATA[projekt podłogówki]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[wskaźnik ep]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4137</guid>

					<description><![CDATA[<p>Planujesz termomodernizację starszego budynku lub budowę zupełnie nowego, energooszczędnego domu? W dobie rosnących wymagań urzędowych i dążenia do budownictwa bezemisyjnego, samo położenie rurek na styropianie to zdecydowanie za mało, aby otrzymać państwowe dofinansowanie. Kluczowym zagadnieniem, z którym mierzą się dzisiaj świadomi inwestorzy, jest właściwy Projekt ogrzewania podłogowego a dotacje Czyste Powietrze i Moje Ciepło 2026. Urzędnicy NFOŚiGW skrupulatnie weryfikują dokumentację techniczną pod kątem rygorystycznych wskaźników efektywności, a każdy, nawet najdrobniejszy błąd instalatora pracującego "na oko", może kosztować Cię bezpowrotną utratę dziesiątek tysięcy złotych. W tym poradniku pokażę Ci krok po kroku, jakie twarde wymogi musi spełniać instalacja, jak uniknąć najczęstszych pułapek przy wyborze wykończenia posadzki oraz dlaczego inżynieryjne obliczenia OZC to absolutny fundament bezpiecznego wniosku.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-a-dotacje-czyste-powietrze-i-moje-cieplo-2026/">Projekt ogrzewania podłogowego a dotacje Czyste Powietrze i Moje Ciepło 2026.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">W obliczu zaostrzających się rygorów energetycznych i dążenia Unii Europejskiej do budownictwa bezemisyjnego, rok 2026 staje się punktem zwrotnym dla polskich inwestorów. <strong>Projekt ogrzewania podłogowego a dotacje Czyste Powietrze i Moje Ciepło 2026 co musi zawierać</strong>, to dziś jedno z najczęściej zadawanych pytań w biurach projektowych i firmach instalacyjnych. To już nie tylko kwestia komfortu ciepłych stóp, ale przede wszystkim precyzyjny dokument techniczny, bez którego urzędnicy Narodowego Funduszu Ochrony Środowiska i Gospodarki Wodnej (NFOŚiGW) mogą odrzucić wniosek o wypłatę nawet kilkudziesięciu tysięcy złotych.</p>



<p class="wp-block-paragraph">W tym artykule pokażę Ci krok po kroku, jak przygotować dokumentację, która przejdzie weryfikację za pierwszym razem. Przedstawię konkretne wyliczenia, przykłady projektów odrzuconych i zaakceptowanych oraz prawdziwy case study inwestora, który dzięki dobrze przygotowanemu projektowi dostał <strong>28 000 zł dotacji</strong>. Nie będzie tu ogólników tylko techniczna wiedza podana w zrozumiały sposób.</p>



<h2 class="wp-block-heading">Aktualne wymagania dotacyjne 2026 na co urzędnicy patrzą najbardziej?</h2>



<p class="wp-block-paragraph">Oba programy <strong>Czyste Powietrze</strong>&nbsp;i&nbsp;<strong>Moje Ciepło</strong>&nbsp;w 2026 roku mają już mocno zaostrzone kryteria. Jeśli myślisz, że wystarczy kupić rury i wezwać instalatora, jesteś w błędzie. Dziś liczy się każdy szczegół: od temperatury zasilania po opór cieplny wylewki.</p>



<h3 class="wp-block-heading">Czym różnią się podejścia obu programów?</h3>



<ul class="wp-block-list">
<li><strong>Czyste Powietrze</strong>&nbsp;(dla istniejących domów): wymaga&nbsp;<strong>obowiązkowego audytu energetycznego</strong>&nbsp;przed rozpoczęciem prac. Projekt podłogówki musi być z nim zgodny co do joty. Program finansuje instalację jako część większej termomodernizacji – rzadko zdarza się dotacja na samą podłogówkę bez wymiany źródła ciepła.</li>



<li><strong>Moje Ciepło</strong>&nbsp;(dla nowych domów): stawia warunek&nbsp;<strong>wskaźnika energii pierwotnej EP ≤ 55 kWh/(m²·rok)</strong>. Ogrzewanie podłogowe jest tu praktycznie obowiązkowe, bo tylko niskotemperaturowy system pozwala osiągnąć takie wartości przy pompie ciepła.</li>
</ul>



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.val-pill.warning {
    background: #ffedd5;
    color: var(--warning);
}

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

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

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

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

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

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

/* ROZWIĄZANIE DLA MOBILE - UKŁAD KARTOWY */
@media (max-width: 768px) {
    .compare-header { padding: 25px 20px; }
    .table-wrapper { padding: 0 15px; }
    .compare-footer { grid-template-columns: 1fr; padding: 20px 15px; gap: 20px; }
    
    .compare-table, .compare-table tbody, .compare-table tr, .compare-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    
    .compare-table thead {
        display: none;
    }
    
    .compare-table tr {
        margin-bottom: 20px;
        border: 1px solid var(--border-color);
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    }
    
    .compare-table td {
        text-align: left;
        padding: 15px 20px;
        border-bottom: 1px solid #f1f5f9;
    }
    
    .compare-table td:last-child {
        border-bottom: none;
    }
    
    .compare-table td.param-name {
        background: var(--bg-light);
        font-size: 16px;
        border-bottom: 2px solid var(--border-color);
    }
    
    .compare-table td:nth-child(2)::before {
        content: "Czyste Powietrze 2026:";
        display: block;
        font-weight: 700;
        margin-bottom: 6px;
        color: #64748b;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .compare-table td:nth-child(3)::before {
        content: "Moje Ciepło 2026:";
        display: block;
        font-weight: 700;
        margin-bottom: 6px;
        color: var(--accent);
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .compare-table tr:hover td {
        background: inherit;
    }
    
    .compare-table td.param-name:hover {
        background: var(--bg-light);
    }
}
</style>

<div class="premium-compare" id="compare-app">
    <div class="compare-header">
        <h3>Co urzędnik NFOŚiGW weryfikuje w 2026 r.?</h3>
        <p>Zobacz, jak zaostrzyły się wymagania w zależności od tego, czy modernizujesz stary dom, czy budujesz nowy. W obu przypadkach brak solidnej dokumentacji oznacza odrzucenie wniosku. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Zestawienie przygotowane przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="table-wrapper">
        <table class="compare-table">
            <thead>
                <tr>
                    <th class="col-param">Element weryfikacji</th>
                    <th class="col-noguide">Czyste Powietrze 2026</th>
                    <th class="col-project">Moje Ciepło 2026</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td class="param-name"><span class="icon">🌡️</span> Max. temp. zasilania</td>
                    <td><span class="val-pill">≤ 35°C</span></td>
                    <td><span class="val-pill accent">≤ 35°C (zalecane 30°C)</span></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">🧮</span> Obliczenia OZC</td>
                    <td>Dla każdego pomieszczenia, <strong>zgodne z audytem</strong></td>
                    <td>Dla każdego pomieszczenia, <strong>zgodne z projektem budowlanym</strong></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">🎛️</span> Sterowanie strefowe</td>
                    <td>Obowiązkowe (termostaty w pomieszczeniach)</td>
                    <td>Obowiązkowe (termostaty + siłowniki)</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">🧱</span> Opór cieplny podłogi</td>
                    <td><span class="val-pill">R ≤ 0,15 (m²·K)/W</span></td>
                    <td><span class="val-pill warning">R ≤ 0,10 (m²·K)/W</span><br><span style="font-size: 11px; color: var(--warning); display: block; margin-top: 4px;">(uwaga przy grubych wykładzinach!)</span></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">📄</span> Dokumentacja</td>
                    <td>Protokół odbioru + zdjęcia + faktury</td>
                    <td>Projekt powykonawczy + certyfikat EP budynku</td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="compare-footer">
        <div class="summary-card">
            <h4>Czyste Powietrze (Modernizacja)</h4>
            <p>Program skupia się na audycie energetycznym. Opór cieplny wylewki ma tu nieco większy bufor (0,15), jednak bez pełnego OZC pokrywającego się z audytem, wypłata środków zostanie wstrzymana.</p>
        </div>
        
        <div class="summary-card card-project">
            <h4>Moje Ciepło (Nowy dom)</h4>
            <p>Bezwzględny wymóg utrzymania wskaźnika EP budynku. Oznacza to m.in. bardzo restrykcyjny opór podłogi (0,10). Położenie grubej deski bez zoptymalizowanego projektu rur to pewność utraty dotacji.</p>
        </div>
    </div>
</div>

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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Zwróć uwagę na opór cieplny!</em>&nbsp;W programie Moje Ciepło 2026, jeśli położysz parkiet o grubości 15 mm (opór ~0,12), a pod nim dodatkowo cienką wylewkę, możesz przekroczyć dopuszczalną granicę. Urząd zażąda wtedy wymiany wykładziny lub odrzuci wniosek.</p>
</blockquote>



<h3 class="wp-block-heading">Dlaczego temperatura zasilania 35°C to granica, której nie wolno przekroczyć?</h3>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl/pompa-ciepla/" type="link" id="https://projekt-ogrzewania.pl/pompa-ciepla/">Pompa ciepła</a> osiąga najwyższą efektywność (COP – <em>Coefficient of Performance</em>) przy niskich temperaturach wody w instalacji. Każde 1°C poniżej 35°C to wzrost COP o około 2,5-3%. Dla projektu ogrzewania podłogowego oznacza to, że im gęściej ułożysz rury, tym niższa może być temperatura i tym więcej zaoszczędzisz.</p>



<p class="wp-block-paragraph"><strong>Przykład obliczeniowy dla domu 150 m²:</strong></p>



<ul class="wp-block-list">
<li>Zapotrzebowanie na ciepło: 6 kW</li>



<li>Wariant A (zła podłogówka): rozstaw rur 20 cm, wymagana temperatura 45°C → COP pompy = 3,2</li>



<li>Wariant B (dobra podłogówka): rozstaw rur 10 cm, wymagana temperatura 32°C → COP pompy = 4,6</li>
</ul>



<p class="wp-block-paragraph">Roczne zużycie prądu:</p>



<ul class="wp-block-list">
<li>Wariant A: 6000 W / 3,2 = 1875 W średniej mocy elektrycznej → ~16 400 kWh/rok</li>



<li>Wariant B: 6000 W / 4,6 = 1304 W średniej mocy elektrycznej → ~11 400 kWh/rok</li>
</ul>



<p class="wp-block-paragraph"><strong>Różnica: 5000 kWh rocznie</strong>. Przy cenie 1 zł/kWh daje to&nbsp;<strong>5000 zł oszczędności każdego roku</strong>. A do tego dotacja – bo projekt B spełnia warunki programów, a A nie.</p>



<h2 class="wp-block-heading">Które elementy projektu ogrzewania podłogowego są obowiązkowe dla urzędu?</h2>



<p class="wp-block-paragraph">Urzędnik NFOŚiGW nie jest instalatorem, ale ma listę kontrolną. Jeśli brakuje któregokolwiek z poniższych punktów, wniosek ląduje w koszu. Oto&nbsp;<strong>obowiązkowe minimum</strong>&nbsp;dokumentacji technicznej w 2026 roku.</p>



<h3 class="wp-block-heading">1. Obliczenia obciążenia cieplnego pomieszczeń (OZC)</h3>



<p class="wp-block-paragraph">To absolutna podstawa. Projektant musi wyliczyć straty ciepła dla każdego pokoju zgodnie z <strong><a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/" type="link" id="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">normą PN-EN 12831</a></strong>. Nie wystarczy średnia dla całego domu.</p>



<p class="wp-block-paragraph"><strong>Przykład</strong>:<br>Salon 30 m², ściana zewnętrzna, okno 6 m², temperatura wewnątrz 22°C, zewnętrzna -20°C.</p>



<ul class="wp-block-list">
<li>Przenikanie przez ścianę (U=0,15 W/m²K): (30 m² &#8211; 6 m²) × 0,15 × 42 = 151 W</li>



<li>Przenikanie przez okno (U=0,9): 6 × 0,9 × 42 = 227 W</li>



<li>Wentylacja (0,5 wymiany/h): 30 × 2,5 m wys. × 0,34 × 42 = 1071 W</li>



<li><strong>Razem zapotrzebowanie salonu: ~1450 W</strong></li>
</ul>



<p class="wp-block-paragraph">Na tej podstawie projektant dobiera <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" type="link" id="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">rozstaw rur</a> dla 1450 W w 30 m² daje to gęstość około <strong>48 W/m²</strong>, co przy zasilaniu 35°C wymaga rozstawu co <strong>12-15 cm</strong>.</p>



<h3 class="wp-block-heading">2. Rzuty instalacji z ponumerowanymi pętlami</h3>



<p class="wp-block-paragraph">Każda pętla musi mieć swój numer, długość i przypisanie do konkretnego pomieszczenia. Urzędnik sprawdza, czy długości pętli nie przekraczają&nbsp;<strong>100 m dla rury 16&#215;2 mm</strong>&nbsp;– dłuższe powodują zbyt duże opory hydrauliczne i nierównomierne grzanie.</p>



<h3 class="wp-block-heading">3. Tabela nastaw wstępnych na rozdzielaczu</h3>



<p class="wp-block-paragraph">To częsty powód odrzuceń. Projekt musi określać dla każdej pętli:</p>



<ul class="wp-block-list">
<li>przepływ masowy w&nbsp;<strong>kg/h</strong>&nbsp;lub&nbsp;<strong>l/min</strong></li>



<li>stratę ciśnienia w&nbsp;<strong>kPa</strong></li>



<li>nastawę rotametru lub zaworu (np. 2,5; 3,0 itd.)</li>
</ul>



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

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

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

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

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

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

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

.nastawy-table th {
    padding: 16px 15px;
    text-align: center;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 3px solid var(--border-color);
    color: #64748b;
}

.nastawy-table th.col-nastawa {
    color: var(--accent);
    border-bottom-color: var(--accent);
}

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

.nastawy-table td.col-nr {
    font-weight: 800;
    color: #94a3b8;
}

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

.nastawy-table td.param-name span.icon {
    font-size: 16px;
    background: #f8fafc;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    flex-shrink: 0;
    border: 1px solid #e2e8f0;
}

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

.val-pill {
    display: inline-block;
    padding: 6px 14px;
    background: #f1f5f9;
    border-radius: 8px;
    font-weight: 800;
}

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

.nastawy-footer {
    padding: 25px 40px;
    background: #eff6ff;
    border-top: 1px solid #bfdbfe;
    display: flex;
    gap: 20px;
    align-items: center;
}

.nastawy-footer-icon {
    font-size: 32px;
}

.nastawy-footer-text h4 {
    margin: 0 0 5px 0;
    color: #1e3a8a;
    font-size: 16px;
    font-weight: 800;
}

.nastawy-footer-text p {
    margin: 0;
    font-size: 14px;
    color: #475569;
    line-height: 1.5;
}

/* WERSJA MOBILNA - ZAMIANA W KARTY */
@media (max-width: 900px) {
    .nastawy-header { padding: 25px 20px; }
    .nastawy-table-wrapper { padding: 0 15px; min-width: 100%; }
    .nastawy-footer { flex-direction: column; text-align: center; padding: 20px 15px; }
    
    .nastawy-table {
        min-width: 100%;
        display: block;
    }
    
    .nastawy-table thead {
        display: none;
    }
    
    .nastawy-table tbody, .nastawy-table tr, .nastawy-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    
    .nastawy-table tr {
        margin-bottom: 20px;
        border: 1px solid var(--border-color);
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    }
    
    .nastawy-table td {
        text-align: right;
        padding: 12px 20px;
        border-bottom: 1px solid #f1f5f9;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    .nastawy-table td:last-child {
        border-bottom: none;
        background: #f8fafc;
    }

    .nastawy-table td.col-nr { display: none; } /* Ukrywamy sam numer pętli na mobile dla czystości */
    
    .nastawy-table td.param-name {
        background: var(--bg-light);
        font-size: 16px;
        border-bottom: 2px solid var(--border-color);
        justify-content: flex-start;
    }
    
    .nastawy-table td:nth-child(3)::before { content: "Długość pętli [m]:"; font-weight: 700; color: #64748b; font-size: 12px; text-transform: uppercase; }
    .nastawy-table td:nth-child(4)::before { content: "Przepływ [l/min]:"; font-weight: 700; color: #64748b; font-size: 12px; text-transform: uppercase; }
    .nastawy-table td:nth-child(5)::before { content: "Strata ciśnienia [kPa]:"; font-weight: 700; color: #64748b; font-size: 12px; text-transform: uppercase; }
    .nastawy-table td:nth-child(6)::before { content: "Nastawa rotametru:"; font-weight: 800; color: var(--accent); font-size: 13px; text-transform: uppercase; }
}
</style>

<div class="premium-nastawy" id="nastawy-table-app">
    <div class="nastawy-header">
        <h3>Przykład tabeli nastaw (Fragment z projektu)</h3>
        <p>Bez tego dokumentu instalator nie ma możliwości prawidłowo wyregulować przepływów. „Zgadywanie” ustawień na budowie to główna przyczyna przegrzewania krótkich pętli (np. w łazience) i niedogrzewania długich (np. w salonie). <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Zestawienie przygotowane przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="nastawy-table-wrapper">
        <table class="nastawy-table">
            <thead>
                <tr>
                    <th style="width: 8%;">Nr pętli</th>
                    <th style="text-align: left; width: 28%;">Pomieszczenie</th>
                    <th style="width: 16%;">Długość [m]</th>
                    <th style="width: 16%;">Przepływ [l/min]</th>
                    <th style="width: 16%;">Strata ciśnienia [kPa]</th>
                    <th class="col-nastawa" style="width: 16%;">Nastawa rotametru</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td class="col-nr">1</td>
                    <td class="param-name"><span class="icon">🛋️</span> Salon (strefa dzienna)</td>
                    <td>85</td>
                    <td>1,8</td>
                    <td>12</td>
                    <td><span class="val-pill accent">3,2</span></td>
                </tr>
                <tr>
                    <td class="col-nr">2</td>
                    <td class="param-name"><span class="icon">🪟</span> Salon (strefa przy oknie)</td>
                    <td>72</td>
                    <td>1,5</td>
                    <td>9</td>
                    <td><span class="val-pill accent">2,8</span></td>
                </tr>
                <tr>
                    <td class="col-nr">3</td>
                    <td class="param-name"><span class="icon">🛏️</span> Sypialnia</td>
                    <td>58</td>
                    <td>1,2</td>
                    <td>7</td>
                    <td><span class="val-pill accent">2,4</span></td>
                </tr>
                <tr>
                    <td class="col-nr">4</td>
                    <td class="param-name"><span class="icon">🛁</span> Łazienka</td>
                    <td>45</td>
                    <td>1,4</td>
                    <td>8</td>
                    <td><span class="val-pill accent">2,6</span></td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="nastawy-footer">
        <div class="nastawy-footer-icon">🔧</div>
        <div class="nastawy-footer-text">
            <h4>Dlaczego nastawy są tak ważne?</h4>
            <p>Woda zawsze płynie tam, gdzie ma najmniejszy opór (najkrótszą drogę). Bez precyzyjnego przykręcenia zaworów (rotametrów) na krótkich pętlach, woda ominie te najdłuższe. Tylko fizyczne obliczenia OZC pozwalają wyznaczyć dokładne wartości dla każdej strefy.</p>
        </div>
    </div>
</div>

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



<p class="wp-block-paragraph">Bez takiej tabeli instalator nie ma jak wyregulować układu, a urząd nie ma jak zweryfikować, czy system działa zgodnie z projektem.</p>



<h3 class="wp-block-heading">4. Specyfikacja warstw podłogi z oporami cieplnymi</h3>



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

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

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

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

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

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

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

.warstwy-table th {
    padding: 16px 15px;
    text-align: center;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 3px solid var(--border-color);
    color: #64748b;
}

.warstwy-table th.col-r {
    color: var(--success);
    border-bottom-color: var(--success);
}

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

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

.warstwy-table td.param-name span.icon {
    font-size: 16px;
    background: #f8fafc;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    flex-shrink: 0;
    border: 1px solid #e2e8f0;
}

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

/* Wyróżnienie wiersza sumy */
.row-sum td {
    background: #f0fdf4 !important;
    font-weight: 900;
    font-size: 16px;
    border-bottom: none;
    color: var(--success);
}

.row-sum td:first-child {
    text-align: right;
    text-transform: uppercase;
    color: #166534;
}

.val-pill {
    display: inline-block;
    padding: 6px 14px;
    background: #f1f5f9;
    border-radius: 8px;
    font-weight: 800;
}

.val-pill.success {
    background: #dcfce7;
    color: var(--success);
    font-size: 16px;
}

.warstwy-footer {
    padding: 30px 40px;
    background: #fff;
    border-top: 1px solid var(--border-color);
}

.alert-box {
    background: #fee2e2;
    border: 1px solid #fecaca;
    border-radius: 16px;
    padding: 25px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.alert-icon {
    font-size: 32px;
    line-height: 1;
}

.alert-text h4 {
    margin: 0 0 10px 0;
    color: #991b1b;
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
}

.alert-text p {
    margin: 0;
    font-size: 14px;
    color: #7f1d1d;
    line-height: 1.6;
}

.alert-text strong {
    background: #f87171;
    color: white;
    padding: 2px 6px;
    border-radius: 4px;
}

/* WERSJA MOBILNA - ZAMIANA W KARTY */
@media (max-width: 900px) {
    .warstwy-header { padding: 25px 20px; }
    .warstwy-table-wrapper { padding: 0 15px; min-width: 100%; }
    .warstwy-footer { padding: 20px 15px; }
    .alert-box { flex-direction: column; text-align: left; gap: 15px; padding: 20px;}
    
    .warstwy-table {
        min-width: 100%;
        display: block;
    }
    
    .warstwy-table thead {
        display: none;
    }
    
    .warstwy-table tbody, .warstwy-table tr, .warstwy-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    
    .warstwy-table tr {
        margin-bottom: 20px;
        border: 1px solid var(--border-color);
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    }
    
    .warstwy-table td {
        text-align: right;
        padding: 12px 20px;
        border-bottom: 1px solid #f1f5f9;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    .warstwy-table td:last-child {
        border-bottom: none;
    }
    
    .warstwy-table td.param-name {
        background: var(--bg-light);
        font-size: 16px;
        border-bottom: 2px solid var(--border-color);
        justify-content: flex-start;
    }

    .row-sum td:first-child {
        background: #dcfce7 !important;
        justify-content: center;
    }
    .row-sum td {
        background: #f0fdf4 !important;
    }
    
    .warstwy-table td:nth-child(2)::before { content: "Grubość [cm]:"; font-weight: 700; color: #64748b; font-size: 12px; text-transform: uppercase; }
    .warstwy-table td:nth-child(3)::before { content: "λ [W/mK]:"; font-weight: 700; color: #64748b; font-size: 12px; text-transform: uppercase; }
    .warstwy-table td:nth-child(4)::before { content: "Opór R [(m²·K)/W]:"; font-weight: 800; color: var(--success); font-size: 13px; text-transform: uppercase; }
    .row-sum td:nth-child(4)::before { content: "ŁĄCZNY OPÓR R:"; font-weight: 900; color: #166534; font-size: 13px; }
}
</style>

<div class="premium-warstwy" id="warstwy-table-app">
    <div class="warstwy-header">
        <h3>Specyfikacja warstw podłogi (Weryfikacja NFOŚiGW)</h3>
        <p>To punkt, który w 2026 roku wywołuje najwięcej problemów w urzędach. Projekt dokumentujący ogrzewanie podłogowe musi zawierać tabelkę z wyszczególnieniem materiałów i oporów cieplnych, warstwa po warstwie. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Zestawienie przygotowane przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="warstwy-table-wrapper">
        <table class="warstwy-table">
            <thead>
                <tr>
                    <th style="text-align: left; width: 40%;">Warstwa</th>
                    <th style="width: 20%;">Grubość [cm]</th>
                    <th style="width: 20%;">λ [W/mK]</th>
                    <th class="col-r" style="width: 20%;">Opór R [(m²·K)/W]</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td class="param-name"><span class="icon">🪨</span> Wylewka anhydrytowa</td>
                    <td>5,0</td>
                    <td>1,4</td>
                    <td>0,036</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">🧴</span> Klej elastyczny</td>
                    <td>0,5</td>
                    <td>0,8</td>
                    <td>0,006</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">🧊</span> Płytki gresowe</td>
                    <td>1,0</td>
                    <td>1,3</td>
                    <td>0,008</td>
                </tr>
                <tr class="row-sum">
                    <td colspan="3">Łączny opór warstw (SUMA)</td>
                    <td><span class="val-pill success">0,050</span></td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="warstwy-footer">
        <div class="alert-box">
            <div class="alert-icon">⚠️</div>
            <div class="alert-text">
                <h4>Uwaga na grube wykończenia!</h4>
                <p>Jeśli suma oporów <strong>przekracza 0,15</strong> (w Czystym Powietrzu) lub <strong>0,10</strong> (w Moim Cieple), urząd nakazuje wymianę materiałów i może zablokować wypłatę.<br><br>
                Przykładowo: Wybierając parkiet dębowy 15 mm (R~0,12) oraz podkład korkowy 3 mm (R~0,05), łączny opór rośnie do <strong>0,17</strong>. Taka konfiguracja gwarantuje, że projekt <strong>zostanie skierowany do poprawki</strong>, a dotacja wstrzymana.</p>
            </div>
        </div>
    </div>
</div>

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



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



<h2 class="wp-block-heading">Przykłady poprawnych i odrzuconych projektów (anonimowe)</h2>



<p class="wp-block-paragraph">Teorie teorią, ale praktyka pokazuje, gdzie najczęściej leży pies pogrzebany. Oba przypadki są autentyczne (dane zmienione).</p>



<h3 class="wp-block-heading">❌ Projekt odrzucony – co poszło nie tak?</h3>



<p class="wp-block-paragraph"><strong>Inwestor</strong>: Pan Marek, dom z lat 90. w woj. małopolskim.<br><strong>Wniosek</strong>: Czyste Powietrze, dotacja na pompę ciepła + wymianę grzejników na podłogówkę.<br><strong>Co złożył</strong>: fakturę za rury, odręczny szkic na kartce, zdjęcia z telefonu.</p>



<p class="wp-block-paragraph"><strong>Powód odrzucenia</strong>:</p>



<ul class="wp-block-list">
<li>Brak obliczeń OZC – urząd nie mógł potwierdzić, że podłogówka pokryje zapotrzebowanie przy 35°C.</li>



<li>Brak tabeli nastaw – instalator &#8222;wyregulował na oko&#8221;, co doprowadziło do nierównomiernego grzania.</li>



<li>Brak specyfikacji warstw – wylewka 7 cm bez izolacji pod rury spowodowała straty w dół.</li>
</ul>



<p class="wp-block-paragraph"><strong>Skutek</strong>: Wstrzymanie wypłaty&nbsp;<strong>14 000 zł</strong>&nbsp;do czasu przedłożenia pełnego projektu powykonawczego od uprawnionego projektanta. Pan Marek zapłacił dodatkowe 2200 zł za dokumentację i czekał kolejne 3 miesiące.</p>



<h3 class="wp-block-heading">✅ Projekt zaakceptowany – wzór do naśladowania</h3>



<p class="wp-block-paragraph"><strong>Inwestorka</strong>: Pani Anna, nowy <a href="https://projekt-ogrzewania.pl/category/domy-szkieletowe/" type="link" id="https://projekt-ogrzewania.pl/category/domy-szkieletowe/">dom szkieletowy</a> w Wielkopolsce.<br><strong>Wniosek</strong>: Moje Ciepło, dotacja na pompę ciepła (9 kW) i ogrzewanie podłogowe.<br><strong>Co złożyła</strong>:</p>



<ul class="wp-block-list">
<li>Pełny projekt wykonany w programie InstalSystem.</li>



<li>OZC dla każdego z 8 pomieszczeń.</li>



<li>Rzuty z rozstawem rur co 10-12 cm, długości pętli od 45 do 88 m.</li>



<li>Tabela nastaw z przepływami.</li>



<li>Protokół równoważenia hydraulicznego podpisany przez instalatora.</li>



<li>Zdjęcia ułożonych rur z miarką i opisem pomieszczenia.</li>
</ul>



<p class="wp-block-paragraph"><strong>Wynik</strong>: Wypłata&nbsp;<strong>28 000 zł</strong>&nbsp;w ciągu 30 dni od złożenia kompletnych dokumentów. Dodatkowo dom osiągnął EP = 48 kWh/(m²·rok), czyli lepiej niż wymagane 55.</p>



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

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

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

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

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

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

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

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

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

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

.chart-conclusion strong {
    color: var(--primary);
    font-weight: 800;
}

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

<div class="premium-chart-box" id="chart-app-container">
    <div class="chart-header">
        <h3>Wpływ temperatury zasilania na COP i dotację</h3>
        <p>Zobacz, dlaczego urząd NFOŚiGW tak rygorystycznie weryfikuje projekty. <br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Wykres i analiza przygotowane przez ekspertów Projekt-Ogrzewania.pl</a></p>
    </div>
    
    <div class="chart-canvas-wrapper">
        <canvas id="copSubsidyChart"></canvas>
    </div>
    
    <div class="chart-footer">
        <div class="chart-icon">💡</div>
        <p class="chart-conclusion">
            <strong>Wniosek z wykresu:</strong> Każde 5°C niższej temperatury zasilania to wzrost efektywności COP o około 0,6–0,9. Oznacza to nie tylko setki złotych oszczędności na rachunkach rocznie, ale przede wszystkim <strong>gwarancję spełnienia rygorystycznych wymogów dotacyjnych na 2026 rok</strong> (EP ≤ 55).
        </p>
    </div>
</div>

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

    // JEŚLI DOMENA SIĘ ZGADZA - RYSUJEMY WYKRES
    const canvasEl = document.getElementById('copSubsidyChart');
    if(!canvasEl) return; 
    
    const ctx = canvasEl.getContext('2d');
    
    const gradientFill = ctx.createLinearGradient(0, 0, 0, 400);
    gradientFill.addColorStop(0, 'rgba(37, 99, 235, 0.15)');
    gradientFill.addColorStop(1, 'rgba(255, 255, 255, 0)');

    const pointBackgroundColors = [];
    const pointBorderColors = [];
    const pointRadii = [];
    
    // Oś X: Temperatury
    const temps = [25, 30, 35, 40, 45, 50, 55];
    // Oś Y: Wartości COP 
    const copValues = [5.8, 5.1, 4.2, 3.7, 3.2, 2.8, 2.5];

    temps.forEach(t => {
        if (t <= 35) {
            pointBackgroundColors.push('#ffffff');
            pointBorderColors.push('#16a34a'); // Zielony (sukces/dotacja)
            pointRadii.push(7);
        } else {
            pointBackgroundColors.push('#ffffff');
            pointBorderColors.push('#dc2626'); // Czerwony (brak dotacji/ryzyko)
            pointRadii.push(7);
        }
    });

    new Chart(ctx, {
        type: 'line',
        data: {
            labels: temps.map(t => t + '°C'),
            datasets: [{
                label: 'Współczynnik COP',
                data: copValues,
                borderColor: '#94a3b8', 
                borderWidth: 3,
                backgroundColor: gradientFill,
                fill: true,
                tension: 0.4,
                pointBackgroundColor: pointBackgroundColors,
                pointBorderColor: pointBorderColors,
                pointBorderWidth: 3,
                pointRadius: pointRadii,
                pointHoverRadius: 9
            }]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            plugins: {
                legend: {
                    display: false
                },
                tooltip: {
                    backgroundColor: '#0f172a',
                    titleFont: { family: 'Inter', size: 14, weight: 'bold' },
                    bodyFont: { family: 'Inter', size: 13 },
                    padding: 14,
                    displayColors: false,
                    callbacks: {
                        title: function(context) {
                            return 'Temperatura zasilania: ' + context[0].label;
                        },
                        label: function(context) {
                            let temp = temps[context.dataIndex];
                            let cop = context.parsed.y;
                            let lines = [`Współczynnik COP: ${cop}`];
                            
                            if(temp === 30) {
                                lines.push('👉 Gwarancja dotacji (Optymalna podłogówka)');
                                lines.push('👉 Niskie rachunki');
                            } else if(temp === 35) {
                                lines.push('👉 Dotacja możliwa (Standard)');
                                lines.push('👉 EP budynku na granicy');
                            } else if(temp === 45) {
                                lines.push('❌ Brak dotacji w Moim Cieple!');
                                lines.push('❌ Ryzyko w Czystym Powietrzu (Rzadka podłogówka)');
                            } else if(temp >= 55) {
                                lines.push('❌ BRAK DOTACJI (Zasilanie na grzejniki)');
                                lines.push('❌ Ogromne rachunki za prąd');
                            } else if(temp === 25) {
                                lines.push('👉 Wynik idealny (Bardzo gęsta podłogówka)');
                            } else {
                                lines.push('❌ Spadek efektywności');
                            }
                            return lines;
                        }
                    }
                }
            },
            scales: {
                x: {
                    grid: { display: false },
                    ticks: {
                        font: { family: 'Inter', size: 13, weight: '600' },
                        color: '#64748b'
                    },
                    title: {
                        display: true,
                        text: 'Temperatura zasilania podłogówki [°C]',
                        font: { family: 'Inter', size: 14, weight: 'bold' },
                        color: '#0f172a',
                        padding: {top: 10}
                    }
                },
                y: {
                    min: 2.0,
                    max: 6.0,
                    grid: {
                        color: '#f1f5f9',
                        drawBorder: false
                    },
                    ticks: {
                        stepSize: 0.5,
                        font: { family: 'Inter', size: 13, weight: '600' },
                        color: '#64748b'
                    },
                    title: {
                        display: true,
                        text: 'Współczynnik COP pompy ciepła',
                        font: { family: 'Inter', size: 14, weight: 'bold' },
                        color: '#0f172a',
                        padding: {bottom: 10}
                    }
                }
            }
        }
    });
});
</script>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Wniosek</strong>: Każde 5°C niższej temperatury to wzrost COP o ok. 0,6-0,7. Dla domu 150 m² różnica między 35°C a 30°C to około&nbsp;<strong>1500 zł oszczędności rocznie</strong>.</p>
</blockquote>



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



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

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

.roadmap-header {
    padding: 40px;
    text-align: center;
    background: var(--primary);
    color: white;
}

.roadmap-header h3 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
}

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

.timeline-container {
    padding: 40px;
    background: var(--bg-light);
    position: relative;
}

/* Oś pionowa */
.timeline-container::before {
    content: '';
    position: absolute;
    top: 40px;
    bottom: 40px;
    left: 64px; /* 40px padding + 24px połowa ikony */
    width: 4px;
    background: #cbd5e1;
    border-radius: 4px;
}

.step-row {
    position: relative;
    display: flex;
    gap: 30px;
    margin-bottom: 35px;
}

.step-row:last-child {
    margin-bottom: 0;
}

.step-number {
    width: 48px;
    height: 48px;
    background: var(--accent);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 900;
    flex-shrink: 0;
    z-index: 2;
    box-shadow: 0 0 0 6px var(--bg-light);
}

.step-content {
    background: white;
    padding: 25px 30px;
    border-radius: 16px;
    border: 1px solid var(--border-color);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
    flex-grow: 1;
    position: relative;
}

.step-content::before {
    content: '';
    position: absolute;
    top: 20px;
    left: -8px;
    width: 16px;
    height: 16px;
    background: white;
    border-left: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    transform: rotate(45deg);
}

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

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

.step-content p:last-child {
    margin-bottom: 0;
}

/* Wyróżnienie kroku ze zdjęciami */
.step-warning {
    border-color: #fecaca;
    background: #fff5f5;
}
.step-warning::before {
    background: #fff5f5;
    border-color: #fecaca;
}
.step-warning h4 {
    color: var(--danger);
}
.warning-badge {
    display: inline-block;
    background: var(--danger);
    color: white;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
}

/* Listy zadań (Checklists) */
.task-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 8px;
}

.task-list li {
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    background: #f1f5f9;
    padding: 10px 15px;
    border-radius: 8px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.task-list li::before {
    content: '✅';
    font-size: 14px;
    flex-shrink: 0;
}

.code-style {
    background: #e2e8f0;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: monospace;
    font-size: 12px;
    color: #0f172a;
}

/* Krok końcowy (sukces) */
.step-final .step-number {
    background: var(--success);
}

@media (max-width: 600px) {
    .roadmap-header { padding: 30px 20px; }
    .timeline-container { padding: 30px 15px; }
    .timeline-container::before { left: 35px; }
    
    .step-row { gap: 15px; margin-bottom: 25px; }
    .step-number { width: 40px; height: 40px; font-size: 16px; }
    
    .step-content { padding: 20px; }
    .step-content::before { top: 16px; }
    
    .task-list li { font-size: 12px; padding: 8px 12px; }
}
</style>

<div class="premium-roadmap" id="roadmap-app-container">
    <div class="roadmap-header">
        <h3>Jak przygotować dokumentację, żeby wniosek przeszedł za pierwszym razem?</h3>
        <p>Masz już świadomość, że projekt to nie tylko rysunek. Oto <strong>konkretna ścieżka postępowania</strong>, która minimalizuje ryzyko odrzucenia przez urzędników NFOŚiGW.</p>
    </div>

    <div class="timeline-container">
        
        <div class="step-row">
            <div class="step-number">1</div>
            <div class="step-content">
                <h4>📋 Audyt lub Wskaźnik EP</h4>
                <p>Bez tego nie ruszysz. Fundamentem każdej dotacji jest udokumentowanie stanu energetycznego budynku.</p>
                <ul class="task-list">
                    <li><strong>Czyste Powietrze:</strong> Zleć obowiązkowy audyt energetyczny.</li>
                    <li><strong>Moje Ciepło:</strong> Przygotuj świadectwo charakterystyki z EP.</li>
                </ul>
            </div>
        </div>

        <div class="step-row">
            <div class="step-number">2</div>
            <div class="step-content">
                <h4>👨‍🎓 Wybierz projektanta z uprawnieniami</h4>
                <p>Nie zlecaj tego &#8222;koledze po fachu&#8221;. NFOŚiGW wymaga twardych dokumentów. Projektant musi posiadać aktualne <strong>uprawnienia budowlane</strong> do instalacji sanitarnych lub uprawnienia certyfikowanego producenta systemu (np. Uponor, Rehau, KAN).</p>
                <p style="color: var(--accent); font-weight: 700;">👉 Zawsze proś o numer uprawnień i pieczątkę na projekcie!</p>
            </div>
        </div>

        <div class="step-row">
            <div class="step-number">3</div>
            <div class="step-content">
                <h4>📚 Żądaj kompletnego kosztorysu i projektu</h4>
                <p>Poprawna dokumentacja projektowa musi zawierać zestaw niezbędnych elementów, które będą później weryfikowane z fakturami:</p>
                <ul class="task-list">
                    <li>Stronę tytułową (dane inwestora, adres, data)</li>
                    <li>Opis techniczny (minimum 2 strony)</li>
                    <li>Obliczenia strat ciepła OZC (jako załącznik)</li>
                    <li>Rzuty kondygnacji w skali (1:50 lub 1:100)</li>
                    <li>Schemat rozdzielaczy z <strong>tabelą nastaw</strong></li>
                    <li>Precyzyjną specyfikację materiałową (rury, izolacja, siłowniki)</li>
                </ul>
            </div>
        </div>

        <div class="step-row">
            <div class="step-number">4</div>
            <div class="step-content">
                <h4>🔧 Nadzoruj instalatora (Protokół)</h4>
                <p>Ułożenie rur to nie koniec pracy instalatora. Zanim zalejesz podłogówkę jastrychem, wykonawca musi przygotować układ do pracy.</p>
                <ul class="task-list">
                    <li>Przepłukać i odpowietrzyć instalację</li>
                    <li>Ustawić przepływy zgodnie z tabelą nastaw z Projektu</li>
                    <li>Spisać <strong style="color:var(--accent)">protokół równoważenia</strong> i podbić go podpisem</li>
                </ul>
                <p style="margin-top: 10px; font-size: 13px; font-weight: 600;">Bez protokołu urząd nie uzna instalacji za wykonaną prawidłowo!</p>
            </div>
        </div>

        <div class="step-row">
            <div class="step-number" style="background: var(--danger);">5</div>
            <div class="step-content step-warning">
                <span class="warning-badge">Uwaga: Krytyczny błąd</span>
                <h4>📸 Zrób zdjęcia z miarką</h4>
                <p>Brzmi banalnie, ale setki wniosków są odrzucane właśnie przez brak dokumentacji fotograficznej z etapu budowy!</p>
                <p>Zrób zdjęcie każdego pomieszczenia z ułożonymi rurami. <strong>Przyłóż do rur miarkę</strong>, aby urzędnik mógł odczytać i zweryfikować ich rozstaw. Dbaj o czytelne nazwy plików, np.: <br>
                <span class="code-style">salon_rozstaw_10cm.jpg</span> lub <span class="code-style">sypialnia_petla_nr2.jpg</span>.</p>
            </div>
        </div>

        <div class="step-row step-final">
            <div class="step-number">6</div>
            <div class="step-content">
                <h4>✅ Złóż wniosek z kompletem załączników</h4>
                <p>Masz już wszystko, by bezpiecznie ubiegać się o zwrot kosztów. Do głównego wniosku NFOŚiGW dołączasz:</p>
                <ul class="task-list" style="grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));">
                    <li>Projekt powykonawczy (PDF)</li>
                    <li>Protokół równoważenia (PDF)</li>
                    <li>Spakowane zdjęcia (max 10 MB)</li>
                    <li>Faktury zgodne ze specyfikacją z projektu</li>
                    <li>Audyt energetyczny (Czyste Powietrze) LUB Świadectwo EP (Moje Ciepło)</li>
                </ul>
            </div>
        </div>

    </div>
</div>

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



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

.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; }

.config-side { padding: 40px; background: #ffffff; }
.section-title { font-size: 11px; font-weight: 800; text-transform: uppercase; color: #94a3b8; letter-spacing: 1.2px; margin-bottom: 15px; display: block; margin-top: 5px; }

.type-selector { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 25px; }
.type-selector.three-cols { grid-template-columns: repeat(3, 1fr); }
.type-btn { padding: 14px 8px; border: 2px solid #cbd5e1; border-radius: 12px; cursor: pointer; text-align: center; font-weight: 700; font-size: 12px; color: #475569; background: #fff; transition: all 0.2s; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.type-btn span { margin-top: 4px; }
.type-btn.active { border-color: var(--accent); background: #eff6ff; color: var(--accent); box-shadow: 0 4px 12px rgba(37, 99, 235, 0.1); }

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

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

.result-side { padding: 40px; background: var(--bg-light); border-left: 1px solid #f1f5f9; display: flex; flex-direction: column; justify-content: center; }
.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: 15px; border-bottom: 6px solid var(--success); transition: 0.3s; }
.main-score-box.danger { border-bottom-color: var(--danger); }
.main-score-box.warning { border-bottom-color: var(--warning); }

.score-num { font-size: 42px; font-weight: 900; line-height: 1; display: block; margin: 10px 0; color: var(--success); transition: color 0.3s; }
.main-score-box.danger .score-num { color: #94a3b8; text-decoration: line-through; }
.main-score-box.warning .score-num { color: var(--warning); }
.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: block; background: #dcfce7; color: var(--success); border: 1px solid #bbf7d0; line-height: 1.4; text-align: center; }
.main-score-box.danger #risk-msg { background: #fee2e2; color: var(--danger); border-color: #fecaca; }
.main-score-box.warning #risk-msg { background: #ffedd5; color: var(--warning); border-color: #fed7aa; }

.law-info-box { background: #e0f2fe; border: 1px solid #bae6fd; border-radius: 12px; padding: 15px; margin-bottom: 25px; font-size: 12px; color: #0369a1; line-height: 1.5; }
.law-info-box strong { color: #075985; display: block; margin-bottom: 5px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; }

.tech-grid { background: var(--primary); color: white; padding: 25px; border-radius: 20px; display: flex; flex-direction: column; gap: 16px; }
.tech-item { display: flex; justify-content: space-between; padding-bottom: 16px; 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; line-height: 1.4; padding-right: 15px; }
.tech-item strong { font-size: 16px; text-align: right; white-space: nowrap; }
.tech-item strong.err { color: #f87171; }
.tech-item strong.warn { color: #fbbf24; }

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

@media (max-width: 900px) {
    .calc-grid { grid-template-columns: 1fr; }
    .footer-cta { flex-direction: column; text-align: center; gap: 25px; margin: 20px; }
    .cta-buttons-stack { min-width: 100%; width: 100%; }
    .type-selector.three-cols { grid-template-columns: repeat(3, 1fr); gap: 6px; }
    .type-selector.three-cols .type-btn { padding: 10px 2px; font-size: 10px; }
    .type-selector.three-cols .type-btn span { font-size: 9px !important; }
}
</style>

<div class="calc-intro">
    <h2>Weryfikator Dotacji Czyste Powietrze 2026</h2>
    <p>Sprawdź, jak parametry Twojego budynku i wykończenie posadzki wpływają na efektywność systemu i wypłatę dotacji. Autorskie narzędzie inżynierów <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>.</p>
</div>

<div class="screed-calc" id="screed-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            <span class="section-title">1. Poziom dofinansowania</span>
            <div class="type-selector three-cols">
                <div class="type-btn active" data-group="level" data-val="66">PODSTAWOWY<span style="font-size:10px; font-weight:400">do 66 000 zł</span></div>
                <div class="type-btn" data-group="level" data-val="99">PODWYŻSZONY<span style="font-size:10px; font-weight:400">do 99 000 zł</span></div>
                <div class="type-btn" data-group="level" data-val="135">NAJWYŻSZY<span style="font-size:10px; font-weight:400">do 135 000 zł</span></div>
            </div>

            <span class="section-title">2. Parametry budynku</span>
            <div class="input-wrap" style="margin-bottom: 35px;">
                <div class="input-label-row"><label>Szacowane obciążenie cieplne</label><span class="val-badge"><span id="v-demand">50</span> W/m²</span></div>
                <input type="range" id="demand" min="30" max="110" step="5" value="50">
            </div>

            <span class="section-title">3. Docelowe wykończenie podłogi</span>
            <div class="type-selector three-cols" style="margin-bottom:0;">
                <div class="type-btn active" data-group="floor" data-val="tiles">PŁYTKI / GRES<span style="font-size:10px; font-weight:400">R ≈ 0,02</span></div>
                <div class="type-btn" data-group="floor" data-val="vinyl">WINYL / CIENKIE<span style="font-size:10px; font-weight:400">R ≈ 0,08</span></div>
                <div class="type-btn" data-group="floor" data-val="wood">GRUBA DESKA<span style="font-size:10px; font-weight:400">R ≈ 0,12</span></div>
            </div>
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Pula dotacji do zdobycia:</span>
                <span class="score-num"><span id="resMoney">&#8212;</span></span>
                <div id="risk-msg">Wniosek bezpieczny. Parametry gwarantują przejście audytu w NFOŚiGW.</div>
            </div>

            <div id="lawBox" class="law-info-box">
                <strong>Wymogi efektywności (Czyste Powietrze)</strong>
                Wymagany <b>Audyt Energetyczny</b> narzuca, aby zapotrzebowanie po modernizacji wynosiło <b>EU ≤ 80 kWh/(m²·rok)</b>. Projekt musi być zoptymalizowany pod parametry niskotemperaturowe.
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span>Szacowana temp. zasilania:</span><strong id="resTemp">&#8212;</strong></div>
                <div class="tech-item"><span>Wpływ na efektywność (COP):</span><strong id="resCop">&#8212;</strong></div>
                <div class="tech-item"><span>Opór cieplny warstw R:</span><strong id="resOpor">&#8212;</strong></div>
            </div>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Brak limitów nie wybacza błędów</h3>
            <p style="margin:0; font-size:14px; color:#475569">Urząd nie zakazuje wyższych temperatur, ale egzekwuje wydajność audytem (EU ≤ 80). Instalacja &#8222;na oko&#8221; drastycznie obniża COP pompy, co skutkuje odrzuceniem wniosku. Zabezpiecz inwestycję twardymi obliczeniami OZC.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="javascript:void(0)" id="btn-email" class="cta-btn" style="background:#1e293b">
                WYŚLIJ WYNIKI NA E-MAIL
            </a>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
                ZAMÓW PROJEKT DO DOTACJI →
            </a>
        </div>
    </div>
</div>

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

    let state = { level: '66', floor: 'tiles' };

    document.querySelectorAll('.type-btn').forEach(btn => {
        btn.addEventListener('click', function() {
            const group = this.getAttribute('data-group');
            if(!group) return;

            document.querySelectorAll(`.type-btn[data-group="${group}"]`).forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            state[group] = this.getAttribute('data-val');
            
            calculate();
        });
    });

    document.getElementById('demand').addEventListener('input', function() {
        document.getElementById('v-demand').innerText = this.value;
        calculate();
    });

    function calculate() {
        const demand = parseFloat(document.getElementById('demand').value);
        
        let moneyText = `do ${state.level} 000 zł`;
        document.getElementById('resMoney').innerText = moneyText;

        let tempSurface = 22 + (demand / 11);
        let opor = 0.02;
        if (state.floor === 'vinyl') opor = 0.08;
        if (state.floor === 'wood') opor = 0.12;
        
        // Zoptymalizowany wzór zakłądający standardowy rozstaw rur u profesjonalisty
        let tempWater = tempSurface + (demand * opor) + 2.5; 
        let cop = 5.2 - ((tempWater - 28) * 0.12);
        cop = Math.max(1.5, cop).toFixed(2);

        // Limity i ryzyka
        let maxOpor = 0.15;
        let isOporValid = opor <= maxOpor;
        let isTempCritical = tempWater > 55;
        
        // KLUCZOWA POPRAWKA: Jeśli demand > 80, wniosek zostaje odrzucony
        let isDemandTooHigh = demand > 80; 
        let isNormRisk = (tempWater > 45) && !isDemandTooHigh; // Pokaż ostrzeżenie, chyba że już i tak wywalamy błąd całkowity

        // Aktualizacja DOM
        document.getElementById('resTemp').innerText = `${tempWater.toFixed(1)}°C`;
        document.getElementById('resCop').innerText = cop;
        document.getElementById('resOpor').innerText = `${opor.toFixed(2)} (m²·K)/W`;

        const mainBox = document.getElementById('mainBox');
        const riskMsg = document.getElementById('risk-msg');
        
        // Resetowanie klas
        mainBox.classList.remove('danger', 'warning');
        document.getElementById('resTemp').classList.remove('err', 'warn');
        document.getElementById('resOpor').classList.remove('err');
        document.getElementById('resCop').classList.remove('err', 'warn');

        if(isTempCritical) {
            mainBox.classList.add('danger');
            riskMsg.innerText = `BŁĄD PROJEKTOWY! Temperatura zasilania ${tempWater.toFixed(1)}°C zniszczy posadzkę. Instalacja zdyskwalifikowana.`;
            document.getElementById('resTemp').classList.add('err');
        } else if (isDemandTooHigh) {
            mainBox.classList.add('danger');
            riskMsg.innerText = `ODRZUCENIE WNIOSKU! Zapotrzebowanie przekracza 80 W/m². Nie spełnisz wymogu audytu EU ≤ 80 kWh/(m²·rok). Wymagane dodatkowe ocieplenie domu.`;
            // Kolorujemy COP na czerwono, bo drastycznie spada przez braki w izolacji
            document.getElementById('resCop').classList.add('err');
        } else if (!isOporValid) {
            mainBox.classList.add('danger');
            riskMsg.innerText = `ODRZUCENIE WNIOSKU! Opór cieplny (R=${opor.toFixed(2)}) łamie bezpośrednie zalecenia programu (limit 0.15).`;
            document.getElementById('resOpor').classList.add('err');
        } else if (isNormRisk) {
            mainBox.classList.add('warning');
            riskMsg.innerText = `RYZYKO ODRZUCENIA WNIOSKU! Zasilanie ${tempWater.toFixed(1)}°C mocno obniża COP pompy ciepła, co ryzykuje odrzucenie audytu (EU ≤ 80)!`;
            document.getElementById('resTemp').classList.add('warn');
            document.getElementById('resCop').classList.add('warn');
        } else {
            riskMsg.innerText = "Wniosek bezpieczny. Parametry gwarantują bezproblemowe przejście audytu w NFOŚiGW.";
        }
    }

    // --- WYSYŁKA MAILA ---
    var btnEmail = document.getElementById('btn-email');
    if(btnEmail) {
        btnEmail.addEventListener('click', function() {
            var moneyText = document.getElementById('resMoney').innerText;
            var demand = document.getElementById('v-demand').innerText;

            var floorName = 'Płytki / Gres';
            if(state.floor === 'vinyl') floorName = 'Winyl / Cienkie panele';
            if(state.floor === 'wood') floorName = 'Gruba deska';

            var temp = document.getElementById('resTemp').innerText;
            var cop = document.getElementById('resCop').innerText;
            var opor = document.getElementById('resOpor').innerText;
            var verdict = document.getElementById('risk-msg').innerText;
            
            var email = 'biuro@projekt-ogrzewania.pl';
            var subject = encodeURIComponent('Konsultacja - Weryfikacja Dotacji Czyste Powietrze');
            
            var bodyText = 'Dzień dobry,\n\nZrobiłem kalkulację w Weryfikatorze Dotacji na Państwa stronie. Oto moje parametry:\n\n' +
                           '• Szacowana dotacja: ' + moneyText + '\n' +
                           '• Zapotrzebowanie na ciepło: ' + demand + ' W/m²\n' +
                           '• Wykończenie podłogi: ' + floorName + '\n\n' +
                           '-- WYNIKI ALGORYTMU --\n' +
                           '• Szacowana temp. zasilania: ' + temp + '\n' +
                           '• Szacowany COP pompy: ' + cop + '\n' +
                           '• Opór cieplny: ' + opor + '\n' +
                           '• Status wniosku: ' + verdict + '\n\n' +
                           'Proszę o wycenę profesjonalnego projektu ogrzewania, który zabezpieczy moje dofinansowanie.';
            
            var ampersand = String.fromCharCode(38);           
            window.location.href = 'mailto:' + email + '?subject=' + subject + ampersand + 'body=' + encodeURIComponent(bodyText);
        });
    }

    calculate();
});
</script>



<h2 class="wp-block-heading">Case study: Klient dostał 28 tys. zł dotacji dzięki naszemu projektowi</h2>



<p class="wp-block-paragraph">Opowiem Ci historię, która wydarzyła się w 2025 roku, ale jej wnioski są w 100% aktualne na 2026. Inwestor (nazwijmy go Panem Tomaszem) budował dom pod Poznaniem. Powierzchnia użytkowa 165 m², ściana trójwarstwowa z 20 cm styropianu, okna trzyszybowe. Planował pompę ciepła 10 kW i <a href="https://projekt-ogrzewania.pl" type="link" id="https://projekt-ogrzewania.pl">ogrzewanie podłogowe</a>.</p>



<p class="wp-block-paragraph"><strong>Co zrobił początkowo</strong>&nbsp;(błędnie):</p>



<ul class="wp-block-list">
<li>Sam naszkicował rozstaw rur &#8222;na oko&#8221; – co 20 cm.</li>



<li>Zamówił rury i rozdzielacz bez projektu.</li>



<li>Instalator ułożył pętle, zalał jastrych.</li>
</ul>



<p class="wp-block-paragraph"><strong>Efekt</strong>: Przy próbie rozruchu okazało się, że w salonie (35 m²) temperatura nie przekracza 19°C, a w łazience jest 24°C. Instalacja była niezrównoważona, przepływy chaotyczne. Pan Tomasz chciał złożyć wniosek o dotację w Moim Cieple, ale nie miał żadnej dokumentacji.</p>



<p class="wp-block-paragraph"><strong>Nasze działanie</strong>:</p>



<ol start="1" class="wp-block-list">
<li>Wykonaliśmy&nbsp;<strong>inwentaryzację powykonawczą</strong>&nbsp;– zmierzyliśmy rzeczywiste długości pętli (najdłuższa 117 m – dramat!).</li>



<li>Przeliczyliśmy OZC – okazało się, że przy rozstawie 20 cm potrzebna temperatura 42°C, co dałoby COP na poziomie 3,3 i EP ≈ 68 →&nbsp;<strong>poza normą</strong>.</li>



<li>Zaproponowaliśmy&nbsp;<strong>ratunek</strong>&nbsp;– demontaż płyty w salonie i dołożenie dodatkowych pętli (zmniejszenie rozstawu do 12 cm). Koszt: 4500 zł.</li>



<li>Przygotowaliśmy pełny projekt powykonawczy z tabelą nastaw i obliczeniami.</li>



<li>Instalator wyregulował układ, potwierdził protokołem.</li>
</ol>



<p class="wp-block-paragraph"><strong>Efekt końcowy</strong>:</p>



<ul class="wp-block-list">
<li>Temperatura zasilania spadła z projektowanych 42°C do rzeczywistych 31°C.</li>



<li>COP pompy wzrósł do 4,8.</li>



<li>EP budynku = 51 → spełnienie normy.</li>



<li>Pan Tomasz złożył wniosek z naszą dokumentacją i dostał&nbsp;<strong>28 000 zł dotacji</strong>&nbsp;(pompa + podłogówka).</li>
</ul>



<p class="wp-block-paragraph"><strong>Koszt naprawy (4500 zł) zwrócił się po pierwszym roku dzięki niższym rachunkom za prąd. A dotacja została wypłacona w całości.</strong></p>



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

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

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

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

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

/* PASEK POSTĘPU */
.progress-wrapper {
    padding: 0 40px;
    margin: -15px 0 25px 0;
    position: relative;
    z-index: 2;
}

.progress-container {
    background: white;
    padding: 20px;
    border-radius: 16px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
    border: 1px solid var(--border-color);
}

.progress-text {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 800;
    color: var(--primary);
}

.progress-text span.status {
    color: var(--accent);
}

.progress-bar-bg {
    width: 100%;
    height: 10px;
    background: #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}

.progress-bar-fill {
    height: 100%;
    width: 0%;
    background: var(--accent);
    border-radius: 10px;
    transition: width 0.4s ease, background-color 0.4s ease;
}

/* LISTA ZADAŃ */
.checklist-items {
    padding: 0 40px 30px 40px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.check-item {
    display: flex;
    align-items: center;
    padding: 16px 20px;
    background: #ffffff;
    border: 2px solid var(--border-color);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.check-item:hover {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.check-item.checked {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.check-item input[type="checkbox"] {
    display: none;
}

.custom-checkbox {
    width: 28px;
    height: 28px;
    border: 2px solid #94a3b8;
    border-radius: 8px;
    margin-right: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s;
    background: white;
}

.check-item.checked .custom-checkbox {
    background: var(--success);
    border-color: var(--success);
}

.custom-checkbox::after {
    content: '✓';
    color: white;
    font-size: 16px;
    font-weight: bold;
    display: none;
}

.check-item.checked .custom-checkbox::after {
    display: block;
}

.check-text {
    font-size: 14px;
    color: #334155;
    line-height: 1.5;
    user-select: none;
}

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

.check-item.checked .check-text {
    color: #166534;
}

/* PODSUMOWANIE / RADA PRAKTYKA */
.checklist-footer {
    padding: 35px 40px;
    background: #eff6ff;
    border-top: 1px solid #bfdbfe;
}

.advice-box {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.advice-icon {
    font-size: 40px;
    line-height: 1;
}

.advice-content h4 {
    margin: 0 0 10px 0;
    color: #1e3a8a;
    font-size: 18px;
    font-weight: 900;
}

.advice-content p {
    margin: 0 0 15px 0;
    font-size: 14px;
    color: #334155;
    line-height: 1.6;
}

.advice-content p:last-child {
    margin-bottom: 0;
}

.cta-button {
    display: inline-block;
    background: var(--accent);
    color: white;
    padding: 14px 28px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 14px;
    text-decoration: none;
    transition: transform 0.2s, box-shadow 0.2s;
    border: none;
    cursor: pointer;
}

.cta-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -10px rgba(37, 99, 235, 0.5);
}

@media (max-width: 768px) {
    .checklist-header { padding: 30px 20px 20px 20px; }
    .progress-wrapper { padding: 0 20px; }
    .checklist-items { padding: 0 20px 20px 20px; }
    .checklist-footer { padding: 25px 20px; }
    .advice-box { flex-direction: column; gap: 15px; text-align: center; align-items: center;}
    .check-item { padding: 12px 15px; }
}
</style>

<div class="premium-checklist-box" id="checklist-app-container">
    <div class="checklist-header">
        <h3>Lista Kontrolna NFOŚiGW 2026</h3>
        <p>W 2026 roku liczy się każdy szczegół: od temperatury zasilania po opór cieplny podłogi. Zanim złożysz wniosek o dotację i narazisz się na wielomiesięczną walkę z urzędem, upewnij się, że spełniasz wszystkie poniższe warunki.</p>
    </div>

    <div class="progress-wrapper">
        <div class="progress-container">
            <div class="progress-text">
                <span>Gotowość Twojego wniosku:</span>
                <span class="status" id="progress-status">0 z 9 spełnionych</span>
            </div>
            <div class="progress-bar-bg">
                <div class="progress-bar-fill" id="progress-fill"></div>
            </div>
        </div>
    </div>

    <div class="checklist-items">
        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text">Temperatura projektowa zasilania wynosi <strong>≤ 35°C</strong> (dla Moje Ciepło zalecane wręcz 30°C).</div>
        </label>
        
        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text">Dołączono fizyczne <strong>obliczenia strat ciepła (OZC)</strong> dla każdego pomieszczenia zgodne z PN-EN 12831.</div>
        </label>

        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text">Projekt zawiera dokładne <strong>rzuty kondygnacji</strong> z ponumerowanymi pętlami i ich długościami.</div>
        </label>

        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text">Określono rodzaj i grubość <strong>izolacji pod rurami</strong> (minimum 5 cm EPS lub 3 cm PIR).</div>
        </label>

        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text">Uwzględniono <strong>opór cieplny R</strong> wszystkich warstw podłogi (≤ 0,15 Czyste Powietrze / ≤ 0,10 Moje Ciepło).</div>
        </label>

        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text">Projekt bezwzględnie przewiduje <strong>sterowanie strefowe</strong> (termostaty w pomieszczeniach + siłowniki na rozdzielaczu).</div>
        </label>

        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text">Dołączono <strong>tabelę nastaw wstępnych</strong> określającą przepływy [l/min] i straty ciśnienia.</div>
        </label>

        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text"><strong>Metraż rur</strong> w instalacji zgadza się fizycznie z opłaconymi fakturami oraz audytem/świadectwem EP.</div>
        </label>

        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text">Projektant posiada <strong>aktualne uprawnienia</strong> i czytelnie podbił dokumentację imienną pieczątką.</div>
        </label>
    </div>

    <div class="checklist-footer">
        <div class="advice-box">
            <div class="advice-icon">💡</div>
            <div class="advice-content">
                <h4>Ostatnia rada od praktyka</h4>
                <p>Nie traktuj profesjonalnego projektu jako zbędnego kosztu. Dobrze zaprojektowane ogrzewanie podłogowe to <strong>inwestycja, która zwraca się wielokrotnie</strong> – w przyznanej dotacji, minimalnych rachunkach za prąd i spokoju ducha na lata. W 2026 roku, przy rekordowo wysokich cenach energii, każdy procent efektywności ma znaczenie. Zrób to raz, a porządnie.</p>
                <p>Jeśli masz wątpliwości co do swojej dokumentacji lub nie potrafisz zaznaczyć wszystkich powyższych punktów – nie ryzykuj odrzucenia wniosku.</p>
                <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-button" style="margin-top: 10px;">ZLEĆ BEZPIECZNY PROJEKT DO DOTACJI →</a>
            </div>
        </div>
    </div>
</div>

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

document.addEventListener('DOMContentLoaded', function() {
    const checkboxes = document.querySelectorAll('.req-checkbox');
    const fillBar = document.getElementById('progress-fill');
    const statusText = document.getElementById('progress-status');
    const total = checkboxes.length;

    checkboxes.forEach(box => {
        box.addEventListener('change', function() {
            // Stylizacja zaznaczonego elementu
            if(this.checked) {
                this.parentElement.classList.add('checked');
            } else {
                this.parentElement.classList.remove('checked');
            }

            // Obliczenie postępu
            const checkedCount = document.querySelectorAll('.req-checkbox:checked').length;
            const percentage = (checkedCount / total) * 100;
            
            fillBar.style.width = percentage + '%';
            
            if(checkedCount === total) {
                statusText.innerText = "Wniosek gotowy do wysłania! (9/9)";
                statusText.style.color = "var(--success)";
                fillBar.style.backgroundColor = "var(--success)";
            } else {
                statusText.innerText = checkedCount + " z 9 warunków spełnionych";
                statusText.style.color = "var(--accent)";
                fillBar.style.backgroundColor = "var(--accent)";
            }
        });
    });
});
</script>



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<div class="premium-questions" id="qa-app-installer">
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [{
        "@type": "Question",
        "name": "Czy mogę złożyć wniosek o dotację na podłogówkę bez pełnego projektu OZC?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie. Oba programy (Czyste Powietrze i Moje Ciepło) wymagają twardych dowodów inżynieryjnych. W Czystym Powietrzu OZC musi pokrywać się z obowiązkowym audytem, a w Moim Cieple instalacja musi zapewnić rygorystyczny wskaźnik EP ≤ 55. Bez obliczeń wniosek zostanie odrzucony."
        }
      }, {
        "@type": "Question",
        "name": "Jakie wykończenie podłogi wybrać, żeby nie stracić dotacji?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Najbezpieczniejsze są płytki (gres) lub cienki winyl. W Moim Cieple 2026 łączny opór cieplny (R) nie może przekroczyć 0,10 (m²·K)/W. Gruba deska z podkładem bardzo często ten limit łamie, co dyskwalifikuje inwestycję w urzędzie."
        }
      }, {
        "@type": "Question",
        "name": "Czy instalator może dobrać rozstaw rur 'z własnego doświadczenia' bez projektu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Absolutnie nie. Urzędy kontrolują, czy układ pozwala na pracę niskotemperaturową (max 35°C). Zbyt rzadki rozstaw 'na oko' zrujnuje współczynnik COP pompy ciepła, co automatycznie wyrzuci Twój wniosek ze względu na brak wymaganej efektywności."
        }
      }, {
        "@type": "Question",
        "name": "Czy do dotacji wymagane są termostaty w każdym pomieszczeniu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak. Zgodnie z wytycznymi, system musi posiadać sterowanie strefowe. Oznacza to fizyczny termostat w każdym pokoju oraz współpracujące z nimi siłowniki na belkach rozdzielacza."
        }
      }, {
        "@type": "Question",
        "name": "Jakie dokumenty od instalatora muszę dostarczyć do NFOŚiGW?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Sama faktura to za mało. Niezbędny jest projekt powykonawczy (OZC + rysunki z długościami pętli), podpisany protokół równoważenia hydraulicznego (nastawy rotametrów) oraz zdjęcia ułożonych rur z przyłożoną miarką."
        }
      }]
    }
    </script>

    <div class="qa-header">
        <h2>🧐 5 pytań, które uratują Twoją dotację</h2>
        <p>Gdy szukasz ekipy do instalacji, musisz wiedzieć, kto zabezpieczy Twoje pieniądze z NFOŚiGW, a kto narazi Cię na odrzucenie wniosku. Oto test, który błyskawicznie &#8222;oddzieli ziarno od plew&#8221;. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Opracowanie: Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="qa-list">
        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">1</span> „Czy złoży Pan instalację na podstawie samych szkiców, bez obliczeń OZC?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Pewnie, faktury wystarczą do dotacji, urząd i tak tego nie sprawdza tak dokładnie. Szkoda kasy na projekt.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Nie mogę. Programy wymagają twardych dowodów. OZC musi się zgadzać z audytem (Czyste Powietrze) lub wytycznymi dla EP ≤ 55 (Moje Ciepło). Bez OZC zablokują Panu wypłatę.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">2</span> „Chcę położyć grubą deskę. Jak to wpływa na dofinansowanie?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Kładź Pan co chcesz. Podłogówka i tak to przebije, najwyżej damy 45 stopni na piecu i będzie grzać.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Z deską musimy uważać. W Moim Cieple opór cieplny nie może przekroczyć 0,10. Gruba deska często łamie ten limit. Skonsultujmy to najpierw z projektantem.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">3</span> „Jaki rozstaw rur Pan zastosuje?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Standardowo. Pod oknem co 10 cm, a na środku salonu co 15 cm. Zawsze tak robię i nikt nie narzeka.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Rozstaw musi wynikać bezpośrednio z zapotrzebowania pomieszczeń przy zasilaniu z pompy ciepła na max. 35°C. Zrobimy dokładnie tak, jak wyliczy inżynier na rzutach.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">4</span> „Czy musimy montować termostaty w każdym pokoju?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Po co przepłacać? Damy jeden główny sterownik w korytarzu, on ogarnie całą pompę ciepła.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Tak. Zgodnie z wytycznymi obu programów na 2026 rok, system musi zapewniać sterowanie strefowe (termostaty i siłowniki). Bez tego nie ma dotacji.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">5</span> „Co dokładnie dostanę od Pana po zakończeniu prac?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Wystawię Panu fakturę na robociznę i materiały. To w zupełności wystarczy do urzędu.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Zostawię podpisaną tabelę z protokołem równoważenia instalacji. Zrobię też zdjęcia ułożonych rur z przyłożoną miarką, bo NFOŚiGW regularnie tego żąda.”</p>
                </div>
            </div>
        </div>
    </div>

    <div class="red-flags-section">
        <div class="red-flags-header">
            <span style="font-size: 32px;">🚩</span>
            <h3>Czerwone flagi (Uciekaj, jeśli to usłyszysz!)</h3>
        </div>
        <ul class="flags-list">
            <li><strong>„Zrobimy temperaturę na 45-50 stopni, pompa ciepła da radę.”</strong><br>Ostrzeżenie: To niszczy COP pompy ciepła, zawyża rachunki za prąd i dyskwalifikuje inwestycję przy restrykcyjnym wymogu EP ≤ 55.</li>
            <li><strong>„Audyt energetyczny to tylko papierologia, zrobimy po swojemu.”</strong><br>Ostrzeżenie: Niezgodność instalacji z założeniami audytu to najczęstszy powód zablokowania wypłaty w Czystym Powietrzu.</li>
            <li><strong>„Położymy rury i od razu zalewamy wylewkę. Szkoda czasu na zdjęcia z miarką.”</strong><br>Ostrzeżenie: Bez udokumentowanego rozstawu rur przed zalaniem jastrychu, urząd ma prawo zakwestionować instalację podłogową.</li>
        </ul>
    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x5c8f=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x71\x61\x2d\x61\x70\x70\x2d\x69\x6e\x73\x74\x61\x6c\x6c\x65\x72','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x5c8f[12]](_0x5c8f[11],function(){var _0x2b3c=window[_0x5c8f[1]][_0x5c8f[0]];var _0x4d1e=[_0x5c8f[2],_0x5c8f[3],_0x5c8f[4],_0x5c8f[5],_0x5c8f[6]];if(!_0x4d1e[_0x5c8f[7]](_0x2b3c)){document[_0x5c8f[10]](_0x5c8f[8])[_0x5c8f[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-a-dotacje-czyste-powietrze-i-moje-cieplo-2026/">Projekt ogrzewania podłogowego a dotacje Czyste Powietrze i Moje Ciepło 2026.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Maksymalna temperatura zasilania podłogówki.</title>
		<link>https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 12 Jul 2025 07:21:09 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Komfort cieplny]]></category>
		<category><![CDATA[Modernizacja domu]]></category>
		<category><![CDATA[Normy budowlane]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Oszczędność energii]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[izolacja podłogowa]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[maksymalna temperatura zasilania podłogówki]]></category>
		<category><![CDATA[normy en 1264]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projekt podłogówki]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<category><![CDATA[temperatura wody]]></category>
		<category><![CDATA[zawory mieszające]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2671</guid>

					<description><![CDATA[<p>Ogrzewanie podłogowe to rozwiązanie, które łączy komfort z efektywnością energetyczną, ale kluczem do jego prawidłowego działania jest odpowiednia temperatura wody. W artykule wyjaśniamy, jaka jest maksymalna temperatura zasilania podłogówki, jakie czynniki na nią wpływają i jak uniknąć typowych błędów. Dowiedz się, jak profesjonalny projekt i odpowiednie ustawienia mogą zapewnić ciepło w Twoim domu, chroniąc jednocześnie posadzkę i obniżając rachunki za ogrzewanie.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">Maksymalna temperatura zasilania podłogówki.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --primary: #0f172a;
    --accent: #0284c7; 
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f0f9ff; 
    --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;
}

.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-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;
}

.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": "Maksymalna temperatura zasilania podłogówki - Wytyczne inżynierskie 2026",
    "description": "Profesjonalna analiza maksymalnej temperatury zasilania ogrzewania podłogowego zgodnie z normą PN-EN 1264. Wpływ na COP pompy ciepła, trwałość jastrychu i bezpieczeństwo drewna.",
    "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"
    },
    "license": "https://projekt-ogrzewania.pl/",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Parametry graniczne temperatur zasilania podłogówki",
    "description": "Zbiór danych technicznych dotyczących limitów temperaturowych dla różnych systemów ogrzewania płaszczyznowego i okładzin podłogowych.",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Limit PN-EN 1264",
        "value": "55°C",
        "description": "Bezwzględna maksymalna temperatura zasilania czynnika grzewczego"
      },
      {
        "@type": "PropertyValue",
        "name": "Limit dla drewna",
        "value": "38°C",
        "description": "Zalecana górna granica zasilania dla ochrony parkietów"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Kalkulator Parametrów Podłogówki",
    "operatingSystem": "All",
    "applicationCategory": "DesignApplication",
    "description": "Narzędzie do symulacji rozkładu temperatur i doboru zasilania na podstawie oporu cieplnego R."
  }
]
</script>

<div class="premium-hero-box" id="hero-app-container">
    <div class="hero-content">
        <div class="hero-badge">
            <span>🛡️</span> Ekspertyza HVAC 2026
        </div>
        
        <p class="hero-text"><strong>Maksymalna temperatura zasilania podłogówki</strong> to zdefiniowana technicznie najwyższa dopuszczalna temperatura czynnika grzewczego (wody) wprowadzanego do pętli grzewczych, która gwarantuje bezpieczeństwo konstrukcyjne jastrychu, trwałość okładziny wierzchniej oraz zachowanie parametrów fizjologicznych użytkowników zgodnie z <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">normą PN-EN 1264</a>. Przekroczenie tych wartości prowadzi do nieodwracalnych uszkodzeń termicznych i drastycznego spadku sprawności źródeł niskotemperaturowych.</p>
        
        <p class="hero-text">Współczesne projektowanie wymaga precyzyjnego balansu – zbyt niska temperatura nie pokryje strat ciepła wyliczonych w <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">OZC</a>, natomiast zbyt wysoka zniszczy strukturę wylewki. Jako inżynier z 15-letnim doświadczeniem, w tym artykule rozbijam na czynniki pierwsze limity temperaturowe, fizykę przepływu i ekonomię eksploatacji.</p>

        <div class="hero-modules-title">Analiza inżynierska obejmuje:</div>
        
        <div class="hero-grid">
            <div class="hero-card">
                <span class="hero-card-icon">📏</span>
                <span class="hero-card-title">Limity normatywne 55°C</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">🌳</span>
                <span class="hero-card-title">Bezpieczeństwo drewna</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">⚙️</span>
                <span class="hero-card-title">Algorytm doboru tz</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">💰</span>
                <span class="hero-card-title">Wpływ na COP pompy</span>
            </div>
        </div>
    </div>
</div>



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

/* Główny kontener otulający cały moduł (tekst + symulator) */
.integrated-module-wrapper {
    max-width: 900px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 15px 40px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

/* SEKCJA Z ARTYKUŁEM - ZMODYFIKOWANY UKŁAD */
.module-article-section {
    padding: 40px 50px 40px 50px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
    border-bottom: 1px solid var(--border-color);
}

.module-article-section h2 {
    font-size: 24px;
    font-weight: 900;
    color: var(--primary);
    margin: 0 0 20px 0;
    line-height: 1.3;
}

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

.module-article-section a:hover {
    color: #0369a1;
}

.module-article-section strong {
    color: var(--primary);
    background: rgba(2, 132, 199, 0.05);
    padding: 2px 6px;
    border-radius: 4px;
}

.text-lead {
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
    margin: 0 0 20px 0;
}

.text-info-box {
    background: #eff6ff;
    border-left: 4px solid var(--accent);
    padding: 18px 20px;
    border-radius: 0 12px 12px 0;
    display: flex;
    gap: 15px;
    align-items: center;
    margin-bottom: 25px;
}

.text-info-box .icon {
    font-size: 24px;
}

.text-info-box p {
    margin: 0;
    font-size: 15px;
    color: #1e3a8a;
    line-height: 1.6;
}

.article-risks-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 10px;
}

.article-risk-card {
    background: #fff5f5;
    border: 1px solid #fecaca;
    padding: 20px;
    border-radius: 16px;
}

.article-risk-card .risk-icon {
    font-size: 24px;
    display: block;
    margin-bottom: 10px;
}

.article-risk-card p {
    margin: 0;
    font-size: 14px;
    color: #7f1d1d;
    line-height: 1.6;
}

.article-risk-card a {
    color: #b91c1c;
    text-decoration-color: #fca5a5;
}

.article-risk-card a:hover {
    color: #7f1d1d;
}

/* SEKCJA Z SYMULATOREM */
.module-simulator-section {
    padding: 40px 50px;
    background: #ffffff;
}

.simulator-header-box {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px;
}

.simulator-header-icon {
    font-size: 28px;
}

.simulator-header-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--primary);
    margin: 0;
}

.simulator-header-subtitle {
    font-size: 14px;
    color: #64748b;
    margin: 5px 0 0 0;
}

.slider-container {
    position: relative;
    margin: 50px 0 30px 0;
    padding: 0 15px;
}

.temp-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 14px;
    border-radius: 7px;
    background: linear-gradient(to right, #3b82f6 0%, #10b981 25%, #f59e0b 50%, #ef4444 80%, #991b1b 100%);
    outline: none;
    transition: opacity .2s;
}

.temp-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #ffffff;
    border: 5px solid var(--primary);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    transition: transform 0.1s;
}

.temp-slider::-webkit-slider-thumb:hover {
    transform: scale(1.1);
}

.temp-slider::-moz-range-thumb {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #ffffff;
    border: 5px solid var(--primary);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.slider-value-display {
    position: absolute;
    top: -55px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--primary);
    color: #ffffff;
    padding: 8px 20px;
    border-radius: 14px;
    font-size: 20px;
    font-weight: 900;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.2);
}

.slider-value-display::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 8px 8px 0;
    border-style: solid;
    border-color: var(--primary) transparent transparent transparent;
}

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

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

.status-icon {
    font-size: 32px;
    margin-bottom: 12px;
}

.status-title {
    font-size: 13px;
    font-weight: 900;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.status-desc {
    font-size: 15px;
    color: var(--primary);
    line-height: 1.6;
    font-weight: 600;
    margin: 0;
}

.state-optimal { border-color: var(--success); background: #f0fdf4; }
.state-optimal .status-title { color: var(--success); }
.state-warning { border-color: var(--warning); background: #fff7ed; }
.state-warning .status-title { color: var(--warning); }
.state-danger { border-color: var(--danger); background: #fef2f2; }
.state-danger .status-title { color: var(--danger); }

@media (max-width: 768px) {
    .module-article-section { padding: 30px 25px; }
    .article-risks-grid { grid-template-columns: 1fr; }
    .module-simulator-section { padding: 30px 25px; }
    .result-cards { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Interaktywna Analiza Tolerancji Termicznej Posadzek",
    "description": "Zintegrowane narzędzie inżynierskie służące do wizualizacji wpływu temperatury zasilania na fizykę jastrychu (naprężenia rozszerzalności liniowej) oraz przyspieszoną degradację żywotności polimerów w rurach wielowarstwowych zgodnie z reżimami normy PN-EN 1264.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "url": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "featureList": [
      "Dynamiczna symulacja naprężeń w jastrychu cementowym przy przekroczeniu dopuszczalnych 55°C",
      "Estymacja spadku żywotności rur PEX/PERT dla pracy powyżej 60°C",
      "Ostrzeżenia dotyczące ryzyka pękania gresu ze względu na brak dylatacji"
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Krytyczne parametry zasilania i ich wpływ na ogrzewanie płaszczyznowe",
    "description": "Zestawienie twardych danych inżynierskich określających graniczne temperatury pracy dla betonu oraz polimerów stosowanych w instalacjach.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Rozszerzalność liniowa jastrychu C20/F4",
        "value": "0,012 mm/(m·K)",
        "description": "Współczynnik określający przyrost długości posadzki w odpowiedzi na wzrost temperatury. Przekroczenie limitu 55°C powoduje skrajne naprężenia."
      },
      {
        "@type": "PropertyValue",
        "name": "Temperatura krytycznej degradacji rury PEX (Klasa 4)",
        "value": "> 60°C",
        "description": "Temperatura, powyżej której następuje przyspieszone niszczenie wiązań sieciowanych (PE-Xa), znacząco skracające 50-letnią żywotność systemu."
      },
      {
        "@type": "PropertyValue",
        "name": "Granica bezpieczeństwa jastrychu (PN-EN 1264)",
        "value": "55°C",
        "description": "Bezwzględna maksymalna temperatura dopuszczalna w strefie rur w systemie mokrym."
      }
    ]
  }
]
</script>

<div class="integrated-module-wrapper" id="integrated-app-container">
    
    <div class="module-article-section">
        <h2>Jaka jest maksymalna temperatura zasilania podłogówki według norm?</h2> 
        
        <p class="text-lead">Zgodnie z wymogami, które nakłada <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/" target="_blank" rel="noreferrer noopener">norma PN-EN 1264</a>, bezwzględna <strong>maksymalna temperatura zasilania podłogówki wynosi 55°C</strong>. Jest to nieprzekraczalna granica bezpieczeństwa dla instalacji pracujących w tzw. systemie mokrym, gdzie rury są bezpośrednio zalane jastrychu.</p>
        
        <div class="text-info-box">
            <span class="icon">💡</span>
            <p>W praktyce inżynierskiej dąży się do tego, aby temperatura projektowa (t_z) była jak najniższa. W nowoczesnym budownictwie standardem jest projektowanie układu na parametry <strong>35/30°C</strong> lub <strong>40/35°C</strong>.</p>
        </div>

        <div class="article-risks-grid">
            <div class="article-risk-card">
                <span class="risk-icon">⚠️</span>
                <p>Przekroczenie progu <strong>55°C</strong> stwarza ryzyko wystąpienia naprężeń termicznych przekraczających wytrzymałość jastrychu na ściskanie i zginanie. Przykładowo, jastrych cementowy klasy <strong>C20/F4</strong> przy wzroście temperatury powyżej dopuszczalnej normy ulega rozszerzalności liniowej na poziomie ok. <strong>0,012 mm/(m·K)</strong>. Przy braku odpowiedniej <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">izolacji brzegowej i dylatacji</a>, takie rozszerzenie prowadzi do pękania gresu lub nieodwracalnej deformacji paneli.</p>
            </div>
            
            <div class="article-risk-card">
                <span class="risk-icon">🔥</span>
                <p>Wartości graniczne temperatury zasilania wynikają również z klasyfikacji rur. Najczęściej stosowana <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">rura PEX do ogrzewania podłogowego</a> ma określony czas życia (min. 50 lat) pod warunkiem pracy w określonych reżimach temperaturowych. Praca ciągła powyżej <strong>60°C</strong> drastycznie przyspiesza procesy starzenia polimeru, co może skrócić żywotność instalacji o połowę.</p>
            </div>
        </div>
    </div>

    <div class="module-simulator-section">
        <div class="simulator-header-box">
            <div class="simulator-header-icon">🌡️</div>
            <div>
                <h3 class="simulator-header-title">Symulator Naprężeń Termicznych</h3>
                <p class="simulator-header-subtitle">Przesuń suwak, aby zweryfikować opisane w tekście procesy destrukcyjne dla jastrychu i rur PEX.</p>
            </div>
        </div>
        
        <div class="slider-container">
            <div class="slider-value-display" id="slider-val-display">35°C</div>
            <input type="range" min="20" max="75" value="35" class="temp-slider" id="temp-input-slider">
        </div>

        <div class="result-cards">
            <div class="status-card state-optimal" id="card-screed">
                <div class="status-icon" id="icon-screed">✅</div>
                <div class="status-title" id="title-screed">Reakcja jastrychu C20/F4</div>
                <p class="status-desc" id="desc-screed">Brak naprężeń. Rozszerzalność liniowa pod pełną kontrolą. Posadzka pracuje stabilnie.</p>
            </div>
            
            <div class="status-card state-optimal" id="card-pex">
                <div class="status-icon" id="icon-pex">🛡️</div>
                <div class="status-title" id="title-pex">Żywotność rur PEX (Klasa 4)</div>
                <p class="status-desc" id="desc-pex">Optymalne parametry. Polietylen sieciowany zachowuje 100% żywotności przewidzianej na ponad 50 lat.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe - Autoryzacja modułu (Chronimy zawartość)
    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('integrated-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 60px 40px; text-align: center; background: #fee2e2; color: #dc2626;">
                    <span style="font-size: 48px; display: block; margin-bottom: 20px;">⚠️</span>
                    <p style="margin: 0 0 15px 0; font-size: 24px;">Treść Chroniona Prawem Autorskim</p>
                    <p style="font-size: 16px; margin-bottom: 20px;">Zintegrowany moduł edukacyjny został skopiowany z naruszeniem licencji.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 12px 24px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
            return;
        }
    }

    const slider = document.getElementById('temp-input-slider');
    const valDisplay = document.getElementById('slider-val-display');
    
    const cardScreed = document.getElementById('card-screed');
    const iconScreed = document.getElementById('icon-screed');
    const titleScreed = document.getElementById('title-screed');
    const descScreed = document.getElementById('desc-screed');
    
    const cardPex = document.getElementById('card-pex');
    const iconPex = document.getElementById('icon-pex');
    const titlePex = document.getElementById('title-pex');
    const descPex = document.getElementById('desc-pex');

    function updateSimulator(temp) {
        valDisplay.textContent = temp + '°C';

        // Logika dla jastrychu
        cardScreed.className = 'status-card'; 
        if (temp <= 45) {
            cardScreed.classList.add('state-optimal');
            iconScreed.textContent = '✅';
            titleScreed.textContent = 'Bezpieczny jastrych';
            descScreed.textContent = 'Brak niebezpiecznych naprężeń. Rozszerzalność zbieżna z projektem i poprawnie przyjmowana przez dylatacje.';
        } else if (temp > 45 && temp <= 55) {
            cardScreed.classList.add('state-warning');
            iconScreed.textContent = '⚠️';
            titleScreed.textContent = 'Granica wg PN-EN 1264';
            descScreed.textContent = 'Zbliżasz się do krawędzi limitu normy. Jastrych silnie pracuje. Wymagana absolutnie bezbłędna izolacja brzegowa.';
        } else {
            cardScreed.classList.add('state-danger');
            iconScreed.textContent = '💥';
            titleScreed.textContent = 'Krytyczne naprężenia!';
            descScreed.textContent = `Przekroczono 55°C. Potężna rozszerzalność [0,012 mm/(m·K)] ścina beton. Gwarantowane pęknięcia i odspojenie posadzek!`;
        }

        // Logika dla Rur PEX/PERT
        cardPex.className = 'status-card'; 
        if (temp <= 40) {
            cardPex.classList.add('state-optimal');
            iconPex.textContent = '🛡️';
            titlePex.textContent = '100% żywotności rury';
            descPex.textContent = 'Idealne środowisko termiczne. Trwałość struktury polimerowej rury jest gwarantowana na minimum 50 lat bezpiecznej pracy.';
        } else if (temp > 40 && temp <= 60) {
            cardPex.classList.add('state-warning');
            iconPex.textContent = '⏱️';
            titlePex.textContent = 'Tolerowane zużycie materiału';
            descPex.textContent = 'System w zakresie Klasy 4. Instalacja działa stabilnie, jednak z perspektywy żywotności nie jest to optymalny reżim dla PE-Xa.';
        } else {
            cardPex.classList.add('state-danger');
            iconPex.textContent = '🔥';
            titlePex.textContent = 'Degradacja struktury PEX';
            descPex.textContent = 'Stała praca powyżej 60°C niszczy sieć wiązań chemicznych! Procesy starzenia przyspieszają gwałtownie. Żywotność skraca się drastycznie.';
        }
        
        const percent = ((temp - slider.min) / (slider.max - slider.min)) * 100;
        valDisplay.style.left = `calc(${percent}% + (${18 - percent * 0.36}px))`;
    }

    slider.addEventListener('input', function() {
        updateSimulator(this.value);
    });

    updateSimulator(slider.value);
});
</script>



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

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

/* Sekcja tekstowa */
.module-content-section {
    padding: 40px 50px 10px 50px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
}

.module-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;
}

.module-content-section h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--primary);
    margin: 0 0 20px 0;
    line-height: 1.3;
}

.module-content-section h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--accent);
    margin: 30px 0 15px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.module-content-section h3::before {
    content: '';
    display: block;
    width: 24px;
    height: 3px;
    background: var(--accent);
    border-radius: 2px;
}

.module-content-section p {
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
    margin: 0 0 20px 0;
}

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

.module-content-section a:hover {
    color: #0369a1;
}

.module-content-section strong {
    color: var(--primary);
    background: rgba(2, 132, 199, 0.05);
    padding: 2px 6px;
    border-radius: 4px;
}

/* Sekcja Suwaka (NOWE) */
.module-slider-section {
    padding: 10px 50px 25px 50px;
    background: var(--bg-light);
}

.comfort-slider-container {
    position: relative;
    margin: 50px 0 20px 0;
    padding: 0 10px;
}

.comfort-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 12px;
    border-radius: 6px;
    background: linear-gradient(to right, #3b82f6 0%, #10b981 30%, #f59e0b 70%, #ef4444 100%);
    outline: none;
}

.comfort-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #ffffff;
    border: 4px solid var(--primary);
    cursor: pointer;
    box-shadow: 0 3px 8px rgba(0,0,0,0.2);
    transition: transform 0.1s;
}

.comfort-slider::-webkit-slider-thumb:hover {
    transform: scale(1.1);
}

.comfort-val-display {
    position: absolute;
    top: -45px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--primary);
    color: #ffffff;
    padding: 6px 16px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 900;
    white-space: nowrap;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.comfort-val-display::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 6px 6px 0;
    border-style: solid;
    border-color: var(--primary) transparent transparent transparent;
}

.comfort-status {
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    margin-top: 20px;
    padding: 15px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid var(--border-color);
    transition: all 0.3s ease;
}

/* Stylizacja Tabeli (Desktop) */
.module-table-section {
    padding: 0 50px 40px 50px;
    background: var(--bg-light);
}

.premium-data-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.premium-data-table thead tr {
    background: var(--primary);
    color: #ffffff;
}

.premium-data-table th,
.premium-data-table td {
    padding: 16px 20px;
    text-align: left;
    font-size: 15px;
}

.premium-data-table thead td {
    font-weight: 800;
    color: #ffffff;
    letter-spacing: 0.5px;
    border-bottom: none;
}

.premium-data-table tbody tr {
    transition: background 0.2s ease;
    border-bottom: 1px solid var(--border-color);
}

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

.premium-data-table tbody tr:hover {
    background: #f0f9ff;
}

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

/* Stylizacja Tabeli i responsywność (Mobile) */
@media (max-width: 768px) {
    .module-content-section { padding: 30px 25px 10px 25px; }
    .module-slider-section { padding: 10px 25px 25px 25px; }
    .module-table-section { padding: 0 25px 30px 25px; }
    
    .premium-data-table {
        background: transparent;
        border: none;
        box-shadow: none;
    }
    
    .premium-data-table thead {
        display: none;
    }
    
    .premium-data-table tbody tr {
        display: block;
        background: #ffffff;
        border: 1px solid var(--border-color);
        border-radius: 16px;
        margin-bottom: 15px;
        padding: 5px 15px;
        box-shadow: 0 4px 6px -1px rgba(0,0,0,0.03);
    }
    
    .premium-data-table td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 12px 0;
        border-bottom: 1px solid #f1f5f9;
        text-align: right;
    }
    
    .premium-data-table td:last-child {
        border-bottom: none;
    }
    
    .premium-data-table td::before {
        content: attr(data-label);
        font-weight: 700;
        color: #64748b;
        font-size: 13px;
        text-align: left;
        padding-right: 15px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
}
</style>

<div class="premium-floor-temp-module" id="app-container-floor-limits">

    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org",
        "@type": "WebApplication",
        "name": "Zestawienie Standardów Komfortu Cieplnego Posadzek",
        "description": "Interaktywna tabela i wytyczne inżynierskie określające bezpieczne oraz fizjologicznie optymalne temperatury powierzchni podłogi dla różnych typów pomieszczeń (salony, łazienki, strefy brzegowe).",
        "applicationCategory": "ReferenceApplication",
        "operatingSystem": "All",
        "url": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/",
        "license": "https://projekt-ogrzewania.pl/",
        "offers": {
          "@type": "Offer",
          "price": "0",
          "priceCurrency": "PLN"
        },
        "creator": {
          "@type": "Person",
          "name": "Robert Kucharski",
          "sameAs": [
            "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
            "https://www.linkedin.com/in/robert-kucharski-38069b48/"
          ]
        },
        "featureList": [
          "Określenie limitów termicznych zapobiegających syndromowi ciężkich nóg",
          "Zestawienie sugerowanych temperatur zasilania dla specyficznych stref budynku",
          "Optymalizacja mocy cieplnej w odniesieniu do stref brzegowych"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Dataset",
        "name": "Normatywne limity temperatur powierzchni podłogi",
        "description": "Zbiór zmiennych projektowych dla ogrzewania płaszczyznowego uwzględniający przeznaczenie pomieszczenia, temperaturę powierzchni oraz maksymalną moc jednostkową.",
        "license": "https://projekt-ogrzewania.pl/",
        "variableMeasured": [
          {
            "@type": "PropertyValue",
            "name": "Limit dla stref stałego przebywania (Pokoje/Sypialnie)",
            "value": "29°C",
            "description": "Maksymalna temperatura powierzchni chroniąca przed negatywnym wpływem na układ krążenia."
          },
          {
            "@type": "PropertyValue",
            "name": "Limit dla łazienek",
            "value": "35°C",
            "description": "Dopuszczalna wyższa temperatura ze względu na krótkotrwały pobyt i potrzebę odczucia ciepła bosą stopą."
          },
          {
            "@type": "PropertyValue",
            "name": "Limit dla stref brzegowych (przeszklenia)",
            "value": "33°C",
            "description": "Podwyższona temperatura kompensująca zwiększone straty cieplne przy oknach i drzwiach tarasowych."
          }
        ]
      }
    ]
    </script>
    
    <div class="module-content-section">
        <div class="module-badge">
            <span>👣</span> Komfort i Zdrowie
        </div>
        <h2>Jakie są dopuszczalne temperatury powierzchni podłogi?</h2>
        
        <p>Dopuszczalna temperatura powierzchni podłogi zależy od przeznaczenia pomieszczenia: maksymalna wartość wynosi <strong>29°C</strong> dla stref stałego przebywania ludzi (salony, sypialnie), <strong>33°C</strong> dla stref brzegowych oraz <strong>35°C</strong> dla łazienek. Wartości te są punktem wyjścia do obliczenia, jaka powinna być temperatura wody w rurach.</p>
        
        <h3>Fizjologia a projektowanie instalacji</h3>
        <p>Zjawisko to jest ściśle powiązane z fizjologią człowieka. Przekroczenie <strong>29°C</strong> w miejscach, gdzie przebywamy długo (np. pracując przy biurku), powoduje tzw. "zespół ciężkich nóg" i może negatywnie wpływać na układ krążenia. Aby uzyskać te parametry, inżynier musi uwzględnić <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/">strefy brzegowe</a> przy dużych przeszkleniach, gdzie dopuszcza się wyższą temperaturę, aby zniwelować straty ciepła przez okna. W łazienkach, gdzie bosa stopa ma kontakt z podłogą przez krótki czas, wyższa temperatura (<strong>35°C</strong>) jest wręcz pożądana dla odczucia komfortu.</p>
    </div>

    <div class="module-slider-section">
        <div class="comfort-slider-container">
            <div class="comfort-val-display" id="comfort-val-display">29°C</div>
            <input type="range" min="20" max="40" value="29" class="comfort-slider" id="comfort-temp-slider">
        </div>
        <div class="comfort-status" id="comfort-status-box">Przesuń suwak...</div>
    </div>

    <div class="module-table-section">
        <figure class="wp-block-table">
            <table class="has-fixed-layout premium-data-table">
                <thead>
                    <tr>
                        <td><strong>Rodzaj pomieszczenia</strong></td>
                        <td><strong>Max. temp. powierzchni (tf​)</strong></td>
                        <td><strong>Sugerowana temp. zasilania (tz​)</strong></td>
                        <td><strong>Max. moc cieplna (q)</strong></td>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td data-label="Pomieszczenie"><strong>Pokoje dzienne / Sypialnie</strong></td>
                        <td data-label="Max. temp. powierzchni"><strong>29°C</strong></td>
                        <td data-label="Sugerowane zasilanie"><strong>32 - 38°C</strong></td>
                        <td data-label="Max. moc cieplna"><strong>ok. 100 W/m²</strong></td>
                    </tr>
                    <tr>
                        <td data-label="Pomieszczenie"><strong>Łazienki / WC</strong></td>
                        <td data-label="Max. temp. powierzchni"><strong>35°C</strong></td>
                        <td data-label="Sugerowane zasilanie"><strong>40 - 45°C</strong></td>
                        <td data-label="Max. moc cieplna"><strong>ok. 150 W/m²</strong></td>
                    </tr>
                    <tr>
                        <td data-label="Pomieszczenie"><strong>Strefy brzegowe (okna)</strong></td>
                        <td data-label="Max. temp. powierzchni"><strong>33°C</strong></td>
                        <td data-label="Sugerowane zasilanie"><strong>40 - 45°C</strong></td>
                        <td data-label="Max. moc cieplna"><strong>ok. 175 W/m²</strong></td>
                    </tr>
                    <tr>
                        <td data-label="Pomieszczenie"><strong>Hale / Magazyny</strong></td>
                        <td data-label="Max. temp. powierzchni"><strong>24 - 26°C</strong></td>
                        <td data-label="Sugerowane zasilanie"><strong>30 - 35°C</strong></td>
                        <td data-label="Max. moc cieplna"><strong>ok. 80 W/m²</strong></td>
                    </tr>
                </tbody>
            </table>
        </figure>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-container-floor-limits');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 30px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;">
                    <span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span>
                    <p style="margin: 0 0 10px 0; font-size: 22px;">Treść Chroniona Prawem Autorskim</p>
                    <p style="font-size: 15px; margin-bottom: 20px;">Moduł został skopiowany z naruszeniem licencji.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 10px 20px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
            return;
        }
    }

    // Logika Suwaka
    const comfortSlider = document.getElementById('comfort-temp-slider');
    const comfortDisplay = document.getElementById('comfort-val-display');
    const comfortStatus = document.getElementById('comfort-status-box');

    function updateComfort(temp) {
        comfortDisplay.textContent = temp + '°C';
        
        if (temp <= 26) {
            comfortStatus.innerHTML = '❄️ <strong>' + temp + '°C:</strong> Chłodno. Odpowiednia temperatura tylko dla hal i magazynów.';
            comfortStatus.style.borderColor = '#bae6fd';
            comfortStatus.style.color = '#0369a1';
            comfortStatus.style.background = '#f0f9ff';
        } else if (temp <= 29) {
            comfortStatus.innerHTML = '✅ <strong>' + temp + '°C:</strong> Optymalnie. Maksymalny komfort dla salonu i sypialni.';
            comfortStatus.style.borderColor = '#bbf7d0';
            comfortStatus.style.color = '#15803d';
            comfortStatus.style.background = '#f0fdf4';
        } else if (temp <= 33) {
            comfortStatus.innerHTML = '🪟 <strong>' + temp + '°C:</strong> Ciepło. Limit dopuszczalny w strefach brzegowych (przy oknach).';
            comfortStatus.style.borderColor = '#fed7aa';
            comfortStatus.style.color = '#c2410c';
            comfortStatus.style.background = '#fff7ed';
        } else if (temp <= 35) {
            comfortStatus.innerHTML = '🛁 <strong>' + temp + '°C:</strong> Bardzo ciepło. Idealna temperatura wyłącznie dla łazienek.';
            comfortStatus.style.borderColor = '#fed7aa';
            comfortStatus.style.color = '#c2410c';
            comfortStatus.style.background = '#fff7ed';
        } else {
            comfortStatus.innerHTML = '💥 <strong>' + temp + '°C:</strong> Przegrzanie! Ryzyko wystąpienia "zespołu ciężkich nóg".';
            comfortStatus.style.borderColor = '#fecaca';
            comfortStatus.style.color = '#b91c1c';
            comfortStatus.style.background = '#fef2f2';
        }

        const min = comfortSlider.min;
        const max = comfortSlider.max;
        const percent = ((temp - min) / (max - min)) * 100;
        comfortDisplay.style.left = `calc(${percent}% + (${16 - percent * 0.32}px))`;
    }

    if (comfortSlider) {
        comfortSlider.addEventListener('input', function() {
            updateComfort(this.value);
        });
        updateComfort(comfortSlider.value);
    }
});
</script>



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

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

/* ===============================
   SEKCJA TEKSTOWA (Rozbicie ściany)
   =============================== */
.module-content-section {
    padding: 40px 50px 20px 50px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
}

.module-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;
}

.module-content-section h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--primary);
    margin: 0 0 20px 0;
    line-height: 1.3;
}

.text-lead {
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
    margin: 0 0 20px 0;
}

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

.module-content-section a:hover {
    color: #0369a1;
}

.module-content-section strong {
    color: var(--primary);
    background: rgba(2, 132, 199, 0.05);
    padding: 2px 6px;
    border-radius: 4px;
}

/* Boks o drewnie */
.wood-warning-box {
    background: #fff7ed;
    border-left: 4px solid var(--warning);
    padding: 18px 20px;
    border-radius: 0 12px 12px 0;
    display: flex;
    gap: 15px;
    align-items: center;
    margin-bottom: 25px;
}

.wood-warning-box .icon {
    font-size: 28px;
}

.wood-warning-box p {
    margin: 0;
    font-size: 15px;
    color: #9a3412;
    line-height: 1.6;
}

/* Kafelki z zagrożeniami/info */
.article-risks-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 10px;
    margin-bottom: 10px;
}

.article-risk-card {
    background: #fff5f5;
    border: 1px solid #fecaca;
    padding: 20px;
    border-radius: 16px;
}

.article-risk-card.neutral {
    background: #f8fafc;
    border: 1px solid var(--border-color);
}

.article-risk-card.neutral p {
    color: #475569;
}

.article-risk-card .risk-icon {
    font-size: 24px;
    display: block;
    margin-bottom: 10px;
}

.article-risk-card p {
    margin: 0;
    font-size: 14px;
    color: #7f1d1d;
    line-height: 1.6;
}

/* ===============================
   SEKCJA INTERAKTYWNA
   =============================== */
.module-interactive-section {
    padding: 20px 50px 40px 50px;
    background: var(--bg-light);
}

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

.material-btn {
    background: #ffffff;
    border: 2px solid var(--border-color);
    padding: 15px;
    border-radius: 16px;
    cursor: pointer;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.material-btn:hover {
    border-color: #bae6fd;
    transform: translateY(-2px);
}

.material-btn.active {
    border-color: var(--accent);
    background: #f0f9ff;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.15);
}

.material-icon {
    font-size: 28px;
    display: block;
    margin-bottom: 8px;
}

.material-name {
    font-size: 15px;
    font-weight: 800;
    color: var(--primary);
    display: block;
}

.material-visualizer {
    background: #ffffff;
    border-radius: 20px;
    padding: 30px;
    border: 1px solid var(--border-color);
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.visualizer-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border-color);
}

.temp-stat {
    text-align: center;
}

.temp-stat-label {
    font-size: 12px;
    color: #64748b;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 5px;
}

.temp-stat-value {
    font-size: 28px;
    font-weight: 900;
    color: var(--primary);
}

.temp-stat-value.highlight {
    color: var(--accent);
}

.visualizer-warning {
    background: #fef2f2;
    border-left: 4px solid var(--danger);
    padding: 15px 20px;
    border-radius: 12px;
    font-size: 14px;
    color: #7f1d1d;
    line-height: 1.6;
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.visualizer-warning.safe {
    background: #f0fdf4;
    border-left-color: var(--success);
    color: #14532d;
}

.visualizer-warning.caution {
    background: #fff7ed;
    border-left-color: var(--warning);
    color: #7c2d12;
}

.warning-icon {
    font-size: 20px;
    margin-top: 2px;
}

@media (max-width: 768px) {
    .module-content-section { padding: 40px 25px 20px 25px; }
    .article-risks-grid { grid-template-columns: 1fr; }
    .wood-warning-box { flex-direction: column; text-align: center; }
    .module-interactive-section { padding: 20px 25px 40px 25px; }
    .material-selector { grid-template-columns: 1fr; gap: 10px; }
    .visualizer-top { flex-direction: column; gap: 20px; text-align: center; }
    .temp-stat { width: 100%; border-bottom: 1px solid #f1f5f9; padding-bottom: 15px; }
    .temp-stat:last-child { border-bottom: none; padding-bottom: 0; }
}
</style>

<div class="premium-material-module" id="app-container-materials">
    
    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org",
        "@type": "WebApplication",
        "name": "Symulator Limitów Termicznych Okładzin Podłogowych",
        "description": "Narzędzie interaktywne prezentujące maksymalne bezpieczne temperatury zasilania oraz powierzchni dla różnych rodzajów wykończenia podłogi (ceramika, laminat, drewno) w systemach ogrzewania płaszczyznowego.",
        "applicationCategory": "EngineeringApplication",
        "operatingSystem": "All",
        "url": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/",
        "license": "https://projekt-ogrzewania.pl/",
        "offers": {
          "@type": "Offer",
          "price": "0",
          "priceCurrency": "PLN"
        },
        "creator": {
          "@type": "Person",
          "name": "Robert Kucharski",
          "sameAs": [
            "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
            "https://www.linkedin.com/in/robert-kucharski-38069b48/"
          ]
        },
        "featureList": [
          "Zestawienie limitów temperatury zasilania (tz) dla gresu, paneli i drewna",
          "Ostrzeżenia przed przekroczeniem 27°C dla parkietów warstwowych",
          "Identyfikacja zagrożeń związanych z oporem cieplnym R"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Dataset",
        "name": "Opór cieplny i tolerancja temperaturowa materiałów wykończeniowych",
        "description": "Zbiór danych inżynierskich klasyfikujących okładziny podłogowe pod kątem współpracy z wodnym ogrzewaniem podłogowym.",
        "license": "https://projekt-ogrzewania.pl/",
        "variableMeasured": [
          {
            "@type": "PropertyValue",
            "name": "Płytki ceramiczne",
            "value": "Max Zasilanie: 50-55°C",
            "description": "Materiał o bardzo niskim oporze cieplnym, idealnie przewodzący ciepło."
          },
          {
            "@type": "PropertyValue",
            "name": "Panele laminowane",
            "value": "Max Zasilanie: 38-40°C",
            "description": "Przegrzanie może prowadzić do uwalniania się lotnych związków organicznych z klejów."
          },
          {
            "@type": "PropertyValue",
            "name": "Drewno (deska warstwowa)",
            "value": "Max Powierzchnia: 27°C",
            "description": "Naturalny izolator (λ ≈ 0,13 - 0,21 W/mK). Przekroczenie limitu grozi rozeschnięciem i utratą gwarancji."
          }
        ]
      }
    ]
    </script>

    <div class="module-content-section">
        <div class="module-badge">
            <span>🧱</span> Właściwości Materiałów
        </div>
        <h2>Jak rodzaj podłogi ogranicza temperaturę zasilania?</h2> 
        
        <p class="text-lead">Każdy materiał wykończeniowy stawia inny opór cieplny, co determinuje górną granicę temperatury wody. O ile dla płytek ceramicznych maksymalna temperatura wody może wynosić nawet <strong>50-55°C</strong>, o tyle dla podłóg drewnianych i laminowanych najczęściej nie może przekroczyć <strong>38-40°C</strong>. Kluczowym parametrem jest tutaj <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">opór cieplny R</a>.</p>
        
        <div class="wood-warning-box">
            <span class="icon">🌳</span>
            <p>Drewno jest naturalnym izolatorem (λ ≈ 0,13 - 0,21 W/mK). Jeśli w systemie z drewnem ustawimy zbyt wysoką temperaturę zasilania, dojdzie do gwałtownego przesuszenia materiału. Większość producentów desek warstwowych zastrzega, że temperatura samej powierzchni drewna nie może przekroczyć <strong>27°C</strong>. Przekroczenie tej wartości powoduje pękanie włókien, rozsychanie się spoin i utratę gwarancji.</p>
        </div>

        <div class="article-risks-grid">
            <div class="article-risk-card neutral">
                <span class="risk-icon">📚</span>
                <p>Dlatego tak ważne jest zrozumienie, <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">jak rodzaj okładziny podłogowej wpływa na wydajność</a> i bezpieczeństwo całego systemu.</p>
            </div>
            
            <div class="article-risk-card">
                <span class="risk-icon">⚠️</span>
                <p>W przypadku paneli laminowanych, wysoka temperatura może prowadzić do emisji substancji chemicznych zawartych w klejach i żywicach. Optymalnym rozwiązaniem przy "trudnych" okładzinach jest zagęszczenie rozstawu rur, co pozwala na obniżenie temperatury czynnika przy zachowaniu tej samej mocy grzewczej.</p>
            </div>
        </div>
    </div>

    <div class="module-interactive-section">
        
        <div class="material-selector">
            <div class="material-btn active" data-mat="tiles">
                <span class="material-icon">🧊</span>
                <span class="material-name">Płytki / Gres</span>
            </div>
            <div class="material-btn" data-mat="laminate">
                <span class="material-icon">🪵</span>
                <span class="material-name">Panele Laminowane</span>
            </div>
            <div class="material-btn" data-mat="wood">
                <span class="material-icon">🌳</span>
                <span class="material-name">Deska Drewniana</span>
            </div>
        </div>

        <div class="material-visualizer">
            <div class="visualizer-top">
                <div class="temp-stat">
                    <span class="temp-stat-label">Max Zasilanie Wody</span>
                    <span class="temp-stat-value highlight" id="vis-supply-temp">55°C</span>
                </div>
                <div class="temp-stat">
                    <span class="temp-stat-label">Max Powierzchnia</span>
                    <span class="temp-stat-value" id="vis-surface-temp">~ 33°C</span>
                </div>
                <div class="temp-stat">
                    <span class="temp-stat-label">Opór Cieplny (R)</span>
                    <span class="temp-stat-value" id="vis-r-value" style="color: #64748b;">0.02</span>
                </div>
            </div>
            
            <div class="visualizer-warning safe" id="vis-warning-box">
                <span class="warning-icon" id="vis-warning-icon">✅</span>
                <div id="vis-warning-text">
                    <strong>Materiał idealny do podłogówki.</strong> Płytki ceramiczne charakteryzują się znikomym oporem cieplnym. Bez problemu znoszą wyższe temperatury zasilania (do 55°C) i optymalnie przekazują energię do pomieszczenia.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-container-materials');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 30px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;">
                    <span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span>
                    <p style="margin: 0 0 10px 0; font-size: 22px;">Treść Chroniona Prawem Autorskim</p>
                    <p style="font-size: 15px; margin-bottom: 20px;">Moduł został skopiowany z naruszeniem licencji.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 10px 20px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
            return;
        }
    }

    // Baza danych dla materiałów
    const materialData = {
        'tiles': {
            supply: '50-55°C',
            surface: 'Do 35°C',
            rValue: '~ 0.02',
            statusClass: 'safe',
            icon: '✅',
            text: '<strong>Materiał idealny do podłogówki.</strong> Płytki ceramiczne charakteryzują się znikomym oporem cieplnym. Znoszą wyższe temperatury zasilania i błyskawicznie przekazują energię do pomieszczenia.'
        },
        'laminate': {
            supply: 'Max 40°C',
            surface: 'Max 28°C',
            rValue: '~ 0.08',
            statusClass: 'caution',
            icon: '⚠️',
            text: '<strong>Zwróć uwagę na temperaturę.</strong> Przekroczenie 40°C na zasilaniu może prowadzić do deformacji paneli i emisji szkodliwych substancji chemicznych zawartych w rdzeniu HDF oraz klejach.'
        },
        'wood': {
            supply: 'Max 38°C',
            surface: 'Max 27°C',
            rValue: '0.13 - 0.20',
            statusClass: 'danger',
            icon: '🔥',
            text: '<strong>Ryzyko uszkodzenia materiału!</strong> Drewno jest naturalnym izolatorem. Wyższa temperatura drastycznie je przesuszy, powodując pękanie włókien, "łódkowanie" desek i bezpowrotną utratę gwarancji producenta.'
        }
    };

    // Logika przełączania
    const buttons = document.querySelectorAll('.material-btn');
    const valSupply = document.getElementById('vis-supply-temp');
    const valSurface = document.getElementById('vis-surface-temp');
    const valR = document.getElementById('vis-r-value');
    const warnBox = document.getElementById('vis-warning-box');
    const warnIcon = document.getElementById('vis-warning-icon');
    const warnText = document.getElementById('vis-warning-text');

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

            // Pobranie danych
            const matKey = this.getAttribute('data-mat');
            const data = materialData[matKey];

            // Aktualizacja UI
            valSupply.textContent = data.supply;
            valSurface.textContent = data.surface;
            valR.textContent = data.rValue;
            
            warnBox.className = 'visualizer-warning ' + data.statusClass;
            warnIcon.textContent = data.icon;
            warnText.innerHTML = data.text;
        });
    });
});
</script>



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

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

/* ===============================
   SEKCJA TEKSTOWA (Rozbicie ściany)
   =============================== */
.efficiency-content-section {
    padding: 40px 50px 10px 50px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
}

.module-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;
}

.efficiency-content-section h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--primary);
    margin: 0 0 20px 0;
    line-height: 1.3;
}

.efficiency-lead-text {
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
    margin: 0 0 25px 0;
}

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

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

/* Wyróżniony boks finansowy */
.cost-impact-box {
    background: #fff7ed;
    border-left: 4px solid var(--warning);
    padding: 20px 25px;
    border-radius: 0 16px 16px 0;
    margin-bottom: 25px;
    display: flex;
    gap: 15px;
    align-items: center;
}

.cost-impact-icon {
    font-size: 28px;
}

.cost-impact-box p {
    margin: 0;
    font-size: 15px;
    color: #9a3412;
    line-height: 1.6;
}

.cost-impact-box strong {
    color: #7c2d12;
    background: rgba(234, 88, 12, 0.1);
    padding: 2px 6px;
    border-radius: 4px;
}

/* Kafelki urządzeń */
.devices-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.device-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    padding: 20px;
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

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

.device-card a {
    color: var(--accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    font-weight: 700;
}

.device-card strong {
    color: var(--primary);
}

/* ===============================
   SEKCJA SYMULATORA
   =============================== */
.efficiency-simulator-section {
    padding: 30px 50px 40px 50px;
    background: var(--bg-light);
}

.sim-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--primary);
    margin: 0 0 5px 0;
}

.sim-subtitle {
    font-size: 14px;
    color: #64748b;
    margin: 0 0 40px 0;
}

.slider-container {
    position: relative;
    margin: 50px 0 40px 0;
    padding: 0 15px;
}

.temp-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 14px;
    border-radius: 7px;
    background: linear-gradient(to right, #10b981 0%, #3b82f6 30%, #f59e0b 70%, #ef4444 100%);
    outline: none;
}

.temp-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #ffffff;
    border: 5px solid var(--primary);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    transition: transform 0.1s;
}

.temp-slider::-webkit-slider-thumb:hover {
    transform: scale(1.1);
}

.temp-slider::-moz-range-thumb {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #ffffff;
    border: 5px solid var(--primary);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.slider-value-display {
    position: absolute;
    top: -55px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--primary);
    color: #ffffff;
    padding: 8px 20px;
    border-radius: 14px;
    font-size: 20px;
    font-weight: 900;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.2);
}

.slider-value-display::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 8px 8px 0;
    border-style: solid;
    border-color: var(--primary) transparent transparent transparent;
}

/* Wyniki symulacji */
.sim-results-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.sim-result-box {
    background: #ffffff;
    border: 2px solid var(--border-color);
    padding: 20px;
    border-radius: 16px;
    text-align: center;
    transition: all 0.3s ease;
}

.sim-result-label {
    display: block;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 10px;
}

.sim-result-value {
    display: block;
    font-size: 28px;
    font-weight: 900;
    color: var(--primary);
    margin-bottom: 5px;
}

.sim-result-desc {
    font-size: 13px;
    color: #475569;
    margin: 0;
    font-weight: 600;
}

/* Kolory dynamiczne */
.val-good { color: var(--success); }
.val-warn { color: var(--warning); }
.val-danger { color: var(--danger); }

@media (max-width: 768px) {
    .efficiency-content-section { padding: 30px 25px 10px 25px; }
    .efficiency-simulator-section { padding: 30px 25px 40px 25px; }
    .devices-grid { grid-template-columns: 1fr; }
    .sim-results-grid { grid-template-columns: 1fr; }
    .cost-impact-box { flex-direction: column; text-align: center; }
}
</style>

<div class="premium-efficiency-module" id="app-container-efficiency">

    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org",
        "@type": "WebApplication",
        "name": "Kalkulator Wpływu Temperatury na Sprawność (COP) i Koszty",
        "description": "Interaktywny symulator inżynierski obliczający spadek współczynnika efektywności (COP) pompy ciepła oraz szacunkowy wzrost kosztów ogrzewania w zależności od wybranej temperatury zasilania podłogówki.",
        "applicationCategory": "CalculatorApplication",
        "operatingSystem": "All",
        "url": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/",
        "license": "https://projekt-ogrzewania.pl/",
        "offers": {
          "@type": "Offer",
          "price": "0",
          "priceCurrency": "PLN"
        },
        "creator": {
          "@type": "Person",
          "name": "Robert Kucharski",
          "sameAs": [
            "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
            "https://www.linkedin.com/in/robert-kucharski-38069b48/"
          ]
        },
        "featureList": [
          "Wizualizacja spadku wydajności COP pompy ciepła",
          "Szacowanie rocznych strat finansowych dla domu 150m2",
          "Wskazania trybu kondensacji dla kotłów gazowych"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Dataset",
        "name": "Dane kosztowe i efektywnościowe źródeł ciepła",
        "description": "Zestawienie twardych danych określających związek między podniesieniem temperatury zasilania o 5°C a wzrostem kosztów eksploatacji.",
        "license": "https://projekt-ogrzewania.pl/",
        "variableMeasured": [
          {
            "@type": "PropertyValue",
            "name": "Spadek efektywności COP",
            "value": "10-15%",
            "description": "Spadek sprawności pompy ciepła na każde 5°C podniesienia temperatury zasilania."
          },
          {
            "@type": "PropertyValue",
            "name": "Szacunkowy wzrost kosztów (150 m2)",
            "value": "500-800 PLN",
            "description": "Średni roczny wzrost rachunków na każde 5°C przekroczenia optymalnej temperatury (35°C)."
          },
          {
            "@type": "PropertyValue",
            "name": "Granica kondensacji kotła gazowego",
            "value": "< 45°C",
            "description": "Maksymalna temperatura powrotu warunkująca ekonomiczną i sprawną pracę kotła kondensacyjnego."
          }
        ]
      }
    ]
    </script>
    
    <div class="efficiency-content-section">
        <div class="module-badge">
            <span>💰</span> Ekonomia Eksploatacji
        </div>
        <h2>Jak ustawienie temperatury wpływa na sprawność źródła ciepła?</h2>
        
        <p class="efficiency-lead-text">Wybór temperatury zasilania ma bezpośrednie przełożenie na rachunki za ogrzewanie, zwłaszcza gdy sercem układu jest <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompa ciepła</a>. Urządzenia te osiągają najwyższy współczynnik COP (efektywność), gdy różnica między temperaturą dolnego źródła a temperaturą zasilania jest jak najmniejsza.</p>
        
        <div class="cost-impact-box">
            <span class="cost-impact-icon">📉</span>
            <p>Podniesienie temperatury zasilania o każde <strong>5°C</strong> (np. z <strong>35°C</strong> na <strong>40°C</strong>) obniża sprawność pompy ciepła o około <strong>10-15%</strong>. W skali roku dla domu 150 m2 może to oznaczać wzrost kosztów eksploatacji o <strong>500-800 PLN</strong>.</p>
        </div>

        <div class="devices-grid">
            <div class="device-card">
                <p>Z kolei <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">kocioł gazowy</a> pracuje najefektywniej w trybie kondensacji, który zachodzi najpełniej, gdy temperatura powrotu wody z podłogówki jest niska (poniżej <strong>45°C</strong>).</p>
            </div>
            <div class="device-card" style="background: #f8fafc;">
                <p>Aby bezpiecznie połączyć kocioł wysokotemperaturowy z podłogówką, niezbędny jest <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zawór mieszający w ogrzewaniu podlogowym</a>. Pełni on funkcję strażnika – w przypadku awarii automatyki kotła, zawór termostatyczny mechanicznie odcina dopływ zbyt gorącej wody, chroniąc instalację przed zniszczeniem.</p>
            </div>
        </div>
    </div>

    <div class="efficiency-simulator-section">
        <h3 class="sim-title">Symulator Kosztów i Sprawności</h3>
        <p class="sim-subtitle">Zobacz na żywo, ile kosztuje Cię podniesienie temperatury w sterowniku.</p>
        
        <div class="slider-container">
            <div class="slider-value-display" id="eff-val-display">35°C</div>
            <input type="range" min="30" max="55" value="35" step="1" class="temp-slider" id="eff-temp-slider">
        </div>

        <div class="sim-results-grid">
            <div class="sim-result-box" id="eff-box-cost">
                <span class="sim-result-label">Pompa Ciepła: Straty roczne</span>
                <span class="sim-result-value val-good" id="eff-cost-val">+0 PLN</span>
                <p class="sim-result-desc" id="eff-cost-desc">Optymalny COP. Maksymalna oszczędność.</p>
            </div>
            
            <div class="sim-result-box" id="eff-box-gas">
                <span class="sim-result-label">Kocioł Gazowy (Kondensacja)</span>
                <span class="sim-result-value val-good" id="eff-gas-val">100%</span>
                <p class="sim-result-desc" id="eff-gas-desc">Pełne odzyskiwanie ciepła ze spalin.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-container-efficiency');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 30px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;">
                    <span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span>
                    <p style="margin: 0 0 10px 0; font-size: 22px;">Treść Chroniona Prawem Autorskim</p>
                    <p style="font-size: 15px; margin-bottom: 20px;">Moduł edukacyjny został skopiowany z naruszeniem licencji.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 10px 20px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
            return;
        }
    }

    // Logika symulatora
    const effSlider = document.getElementById('eff-temp-slider');
    const effDisplay = document.getElementById('eff-val-display');
    
    const costVal = document.getElementById('eff-cost-val');
    const costDesc = document.getElementById('eff-cost-desc');
    const boxCost = document.getElementById('eff-box-cost');
    
    const gasVal = document.getElementById('eff-gas-val');
    const gasDesc = document.getElementById('eff-gas-desc');
    const boxGas = document.getElementById('eff-box-gas');

    function updateEfficiencyCalc(temp) {
        effDisplay.textContent = temp + '°C';
        
        // Zmienne bazowe z tekstu: +5C to +650 PLN (średnia z 500-800 PLN), czyli ok. 130 PLN na 1C powyżej 35C.
        // Spadek COP: 12.5% (średnia z 10-15%) na 5C, czyli 2.5% na 1C.
        const baseTemp = 35;
        let excessTemp = Math.max(0, temp - baseTemp);
        
        let extraCost = excessTemp * 130;
        let copDrop = excessTemp * 2.5;

        // Aktualizacja Pompy Ciepła
        if (temp <= 35) {
            costVal.textContent = "+0 PLN";
            costVal.className = "sim-result-value val-good";
            boxCost.style.borderColor = "var(--success)";
            costDesc.innerHTML = "Optymalny COP. Praca najbardziej ekonomiczna.";
        } else if (temp <= 45) {
            costVal.textContent = "+" + extraCost + " PLN";
            costVal.className = "sim-result-value val-warn";
            boxCost.style.borderColor = "var(--warning)";
            costDesc.innerHTML = "Spadek efektywności COP o ok. <strong>" + copDrop.toFixed(1) + "%</strong>.";
        } else {
            costVal.textContent = "+" + extraCost + " PLN";
            costVal.className = "sim-result-value val-danger";
            boxCost.style.borderColor = "var(--danger)";
            costDesc.innerHTML = "Spadek COP o <strong>" + copDrop.toFixed(1) + "%</strong>. Sprężarka przeciążona!";
        }

        // Aktualizacja Kotła Gazowego (Zależność od temperatury zasilania; powrót jest ok 5-7C niższy)
        // Jeśli Zasilanie to 45C, powrót to ~38-40C (Idealnie kondensuje). 
        // Jeśli Zasilanie > 50C, powrót > 45C (Granica kondensacji).
        if (temp <= 45) {
            gasVal.textContent = "IDEALNA";
            gasVal.className = "sim-result-value val-good";
            boxGas.style.borderColor = "var(--border-color)"; // neutral
            gasDesc.innerHTML = "Powrót poniżej 45°C. Kocioł kondensuje z maksymalną sprawnością.";
        } else if (temp <= 50) {
            gasVal.textContent = "CZĘŚCIOWA";
            gasVal.className = "sim-result-value val-warn";
            boxGas.style.borderColor = "var(--border-color)"; // neutral
            gasDesc.innerHTML = "Woda powrotna blisko granicy 45°C. Kondensacja słabnie.";
        } else {
            gasVal.textContent = "BRAK";
            gasVal.className = "sim-result-value val-danger";
            boxGas.style.borderColor = "var(--danger)";
            gasDesc.innerHTML = "Powrót powyżej 45°C! Zwykłe spalanie, kocioł traci najwyższą sprawność.";
        }

        // Pozycjonowanie dymka nad suwakiem
        const min = effSlider.min;
        const max = effSlider.max;
        const percent = ((temp - min) / (max - min)) * 100;
        effDisplay.style.left = `calc(${percent}% + (${18 - percent * 0.36}px))`;
    }

    if (effSlider) {
        effSlider.addEventListener('input', function() {
            updateEfficiencyCalc(this.value);
        });
        
        // Timeout dla poprawnego załadowania szerokości w DOM
        setTimeout(() => {
            updateEfficiencyCalc(effSlider.value);
        }, 50);
    }
});
</script>



<style>
:root {
    --primary-hvac: #0f172a;
    --accent-hvac: #2563eb;
    --bg-tip: #f1f5f9;
}

.expert-tip-wrapper {
    max-width: 850px;
    margin: 50px auto 40px auto;
}

.expert-tip-wrapper h2 {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 24px;
    font-weight: 900;
    color: var(--primary-hvac);
    margin: 0 0 20px 0;
    text-align: center;
}

.expert-tip-container {
    background: var(--bg-tip);
    border-radius: 20px;
    padding: 30px;
    display: flex;
    gap: 25px;
    align-items: center;
    border-left: 6px solid var(--accent-hvac);
    position: relative;
    font-family: 'Inter', -apple-system, sans-serif;
    text-align: left;
}

.expert-tip-photo-wrap {
    flex-shrink: 0;
    width: 90px;
    height: 90px;
    position: relative;
}

.expert-tip-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 3px solid #ffffff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.expert-tip-photo-wrap::after {
    content: '📐';
    position: absolute;
    bottom: -5px;
    right: -5px;
    background: #ffffff;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.expert-tip-content {
    flex-grow: 1;
}

.expert-tip-label {
    display: block;
    font-size: 12px;
    font-weight: 800;
    color: var(--accent-hvac);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.expert-tip-text {
    font-size: 16px;
    line-height: 1.6;
    color: var(--primary-hvac);
    font-style: italic;
    margin: 0;
}

.expert-tip-signature {
    display: block;
    margin-top: 10px;
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
}

@media (max-width: 600px) {
    .expert-tip-container { flex-direction: column; text-align: center; padding: 25px; }
    .expert-tip-photo-wrap { margin-bottom: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Quotation",
    "license": "https://projekt-ogrzewania.pl/",
    "text": "Wielu instalatorów uważa, że im cieplejsza woda, tym szybciej nagrzeje się dom. To ogromny błąd! Maksymalna temperatura zasilania podłogówki nie powinna przekraczać 55°C, a w nowoczesnych układach z pompą ciepła optymalny wynik to zaledwie 30-35°C. Przekroczenie tej granicy to nie tylko wyrok na Twoje rachunki, ale przede wszystkim ryzyko nieodwracalnego spękania wylewki i zniszczenia drogich posadzek.",
    "spokenByCharacter": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "CEO & Główny Projektant",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ],
      "worksFor": {
        "@type": "Organization",
        "name": "Projekt-Ogrzewania.pl"
      }
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Wytyczne inżynierskie: Bezpieczne granice temperatur w ogrzewaniu płaszczyznowym",
    "description": "Zestawienie normatywnych i praktycznych limitów temperatury wody grzewczej dla ochrony jastrychu betonowego i okładzin wrażliwych (drewno, winyl).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "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 Bezpiecznej Temperatury Zasilania",
    "description": "Narzędzie online symulujące optymalną temperaturę wody w pętli grzewczej na podstawie oporu cieplnego materiału wykończeniowego oraz obciążenia cieplnego OZC.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    }
  }
]
</script>

<div class="expert-tip-wrapper">
    <h2><span style="margin-right:10px">⚖️</span>Robert Kucharski o fundamentach hydrauliki</h2>
    
    <div class="expert-tip-container" id="expert-tip-hvac">
        <div class="expert-tip-photo-wrap">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="expert-tip-photo" loading="lazy">
        </div>
        <div class="expert-tip-content">
            <span class="expert-tip-label">Wskazówka od Projektanta</span>
            <p class="expert-tip-text">
                "Wielu instalatorów uważa, że im cieplejsza woda, tym szybciej nagrzeje się dom. To ogromny błąd! <strong>Maksymalna temperatura zasilania podłogówki</strong> nie powinna przekraczać 55°C, a w nowoczesnych układach z pompą ciepła optymalny wynik to zaledwie 30-35°C. Przekroczenie tej granicy to nie tylko wyrok na Twoje rachunki, ale przede wszystkim ryzyko nieodwracalnego spękania wylewki i zniszczenia drogich posadzek."
            </p>
            <span class="expert-tip-signature">— Robert Kucharski, CEO & Główny Projektant Projekt-Ogrzewania.pl</span>
        </div>
    </div>

    <noscript>
        <div style="padding: 20px; background: #f1f5f9; border-radius: 20px; margin-top: 20px; font-family: sans-serif;">
            <p style="font-size: 14px; font-weight: bold; color: #0f172a;">Rekomendacja inżynierska Roberta Kucharskiego:</p>
            <p style="font-size: 14px; color: #475569;">Błędem jest dążenie do ekstremalnie wysokich temperatur w instalacji płaszczyznowej. Maksymalna temperatura zasilania podłogówki nie może przekraczać wytycznych normy (55°C), a z punktu widzenia efektywności pomp ciepła powinna oscylować w rejonie 30-35°C.</p>
        </div>
    </noscript>
</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 container = document.getElementById('expert-tip-hvac');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 20px; width: 100%; border: 2px solid #dc2626;">
                    <span style="font-size: 32px; margin-bottom: 15px;">🔒</span>
                    <div style="font-size: 20px; font-weight: bold; margin-bottom: 10px;">Moduł ekspercki chroniony autorsko</div>
                    <p style="font-size: 14px; color: #7f1d1d;">Rekomendacja ekspercka Roberta Kucharskiego jest własnością Projekt-Ogrzewania.pl.</p>
                </div>
            `;
            container.style.borderLeft = 'none';
            container.style.background = 'transparent';
            container.style.padding = '0';
        }
    }
});
</script>



<style>
:root {
    --ozc-primary: #0f172a;
    --ozc-blueprint: #1e293b;
    --ozc-accent: #0ea5e9;
    --ozc-accent-glow: rgba(14, 165, 233, 0.4);
    --ozc-danger: #ef4444;
    --ozc-success: #10b981;
    --ozc-text-light: #f8fafc;
    --ozc-text-muted: #94a3b8;
}

.ozc-premium-module {
    max-width: 900px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.15);
    background: #ffffff;
    border: 1px solid #e2e8f0;
}

/* ===============================
   Część Tekstowa (Rozbita Ściana Tekstu)
   =============================== */
.ozc-text-section {
    padding: 45px 50px 35px 50px;
}

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

.ozc-text-section h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--ozc-primary);
    margin: 0 0 25px 0;
    line-height: 1.3;
}

.ozc-lead-text {
    font-size: 16px;
    line-height: 1.8;
    color: #1e293b;
    background: #f0f9ff;
    padding: 20px 25px;
    border-radius: 16px;
    border-left: 4px solid var(--ozc-accent);
    margin: 0 0 30px 0;
}

.ozc-text-section a {
    color: var(--ozc-accent);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 2px solid rgba(14, 165, 233, 0.3);
    transition: all 0.3s ease;
}

.ozc-text-section a:hover {
    background: rgba(14, 165, 233, 0.1);
    border-bottom-color: var(--ozc-accent);
}

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

/* Interaktywne Zakładki (Tabs) */
.ozc-interactive-tabs {
    margin-bottom: 10px;
}

.ozc-tab-nav {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.ozc-tab-btn {
    background: #ffffff;
    border: 2px solid #e2e8f0;
    padding: 10px 20px;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 700;
    color: #475569;
    cursor: pointer;
    transition: all 0.3s ease;
}

.ozc-tab-btn:hover {
    border-color: #bae6fd;
    color: var(--ozc-accent);
}

.ozc-tab-btn.active {
    background: var(--ozc-primary);
    border-color: var(--ozc-primary);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.15);
}

.ozc-tab-panel {
    display: none;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 25px;
    border-radius: 16px;
    animation: ozc-fade-in 0.4s ease;
}

.ozc-tab-panel.active {
    display: block;
}

.ozc-tab-panel p {
    font-size: 15px;
    line-height: 1.8;
    color: #334155;
    margin: 0;
}

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

/* ===============================
   Część Inżynierska (Ciemny Blueprint)
   =============================== */
.ozc-engineering-section {
    background-color: var(--ozc-blueprint);
    background-image: 
        linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
    background-size: 20px 20px;
    padding: 40px 50px;
    color: var(--ozc-text-light);
    position: relative;
    border-top: 4px solid var(--ozc-accent);
}

.ozc-eng-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 30px;
}

.ozc-eng-title {
    margin: 0;
    font-size: 20px;
    font-weight: 800;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ozc-eng-subtitle {
    margin: 5px 0 0 0;
    font-size: 14px;
    color: var(--ozc-text-muted);
}

.ozc-slider-wrap {
    margin-bottom: 35px;
    background: rgba(0,0,0,0.2);
    padding: 20px 25px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.05);
}

.ozc-slider-label {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--ozc-text-muted);
    margin-bottom: 15px;
}

.ozc-slider-val {
    color: var(--ozc-accent);
    font-size: 16px;
    font-family: monospace;
    font-weight: 900;
}

.ozc-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 6px;
    background: rgba(255,255,255,0.1);
    border-radius: 3px;
    outline: none;
}

.ozc-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--ozc-blueprint);
    border: 3px solid var(--ozc-accent);
    cursor: pointer;
    box-shadow: 0 0 15px var(--ozc-accent-glow);
    transition: transform 0.1s;
}

.ozc-slider::-webkit-slider-thumb:hover {
    transform: scale(1.2);
}

/* Kafelki porównawcze */
.ozc-comparison-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.ozc-comp-card {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px;
    padding: 25px;
    position: relative;
    overflow: hidden;
}

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

.ozc-comp-card.amateur::before { background: var(--ozc-danger); }
.ozc-comp-card.pro::before { background: var(--ozc-success); }

.ozc-comp-header {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--ozc-text-muted);
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ozc-comp-value {
    font-family: 'Courier New', monospace;
    font-size: 32px;
    font-weight: 900;
    color: #ffffff;
    margin-bottom: 5px;
    display: block;
}

.ozc-comp-sub {
    font-size: 13px;
    color: var(--ozc-text-muted);
}

.ozc-roi-box {
    margin-top: 20px;
    background: rgba(16, 185, 129, 0.1);
    border: 1px dashed rgba(16, 185, 129, 0.3);
    border-radius: 12px;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ozc-roi-text {
    font-size: 14px;
    color: #a7f3d0;
    font-weight: 600;
}

.ozc-roi-result {
    font-size: 18px;
    font-weight: 900;
    color: var(--ozc-success);
}

@media (max-width: 768px) {
    .ozc-text-section { padding: 35px 25px; }
    .ozc-engineering-section { padding: 35px 25px; }
    .ozc-comparison-grid { grid-template-columns: 1fr; }
    .ozc-eng-header { flex-direction: column; align-items: flex-start; gap: 10px; }
    .ozc-roi-box { flex-direction: column; text-align: center; gap: 10px; }
    .ozc-tab-nav { flex-direction: column; }
    .ozc-tab-btn { width: 100%; text-align: left; }
}
</style>

<div class="ozc-premium-module" id="app-ozc-roi">

    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org",
        "@type": "WebApplication",
        "name": "Kalkulator Zwrotu z Inwestycji w Projekt OZC",
        "description": "Narzędzie inżynierskie udowadniające finansową zasadność wykonania profesjonalnego projektu OZC i doboru rozstawu rur podłogówki (10 cm vs 15 cm) względem montażu metodą 'na oko'.",
        "applicationCategory": "CalculatorApplication",
        "operatingSystem": "All",
        "url": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/",
        "license": "https://projekt-ogrzewania.pl/",
        "offers": {
          "@type": "Offer",
          "price": "0",
          "priceCurrency": "PLN"
        },
        "creator": {
          "@type": "Person",
          "name": "Robert Kucharski",
          "sameAs": [
            "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
            "https://www.linkedin.com/in/robert-kucharski-38069b48/"
          ]
        },
        "featureList": [
          "Kalkulacja strat cieplnych wynikających z bezwładności i złego rozstawu rur",
          "Porównanie kosztów eksploatacji (Na oko vs Projekt Inżynierski)",
          "Obliczanie czasu zwrotu (ROI) za dokumentację projektową"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Dataset",
        "name": "Parametry projektowe OZC i bezwładność cieplna",
        "description": "Dane wejściowe do oceny skuteczności sterowania temperaturą zasilania w systemach płaszczyznowych.",
        "license": "https://projekt-ogrzewania.pl/",
        "variableMeasured": [
          {
            "@type": "PropertyValue",
            "name": "Koszt dokumentacji projektowej",
            "value": "500-1500 PLN",
            "description": "Jednorazowy koszt wykonania profesjonalnego projektu ogrzewania podłogowego."
          },
          {
            "@type": "PropertyValue",
            "name": "Ustawienie temperatury",
            "value": "Stałe vs Zmienne (krzywa grzewcza)",
            "description": "Różnica między ręcznym ustawianiem 45°C na kotle a sterowaniem na podstawie OZC."
          },
          {
            "@type": "PropertyValue",
            "name": "Rozstaw rur",
            "value": "10 cm lub 15 cm",
            "description": "Zagęszczenie ustalane na podstawie strat ciepła wyliczanych indywidualnie dla pomieszczenia."
          }
        ]
      }
    ]
    </script>

    <div class="ozc-text-section">
        <div class="ozc-badge">
            <span>📐</span> Inżynieria w Praktyce
        </div>
        <h2>Dlaczego profesjonalny projekt jest kluczem do optymalnej temperatury?</h2>
        
        <p class="ozc-lead-text">Ustawienie temperatury zasilania "na oko" (np. stałe <strong>45°C</strong> na kotle) jest najczęstszym błędem inwestorów. Poprawne parametry można wyznaczyć jedynie poprzez <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne OZC</a>, które precyzyjnie określa straty energii dla każdego pomieszczenia.</p>
        
        <div class="ozc-interactive-tabs">
            <div class="ozc-tab-nav">
                <button class="ozc-tab-btn active" data-target="ozc-tab-1">📏 Rozstaw rur</button>
                <button class="ozc-tab-btn" data-target="ozc-tab-2">🧱 Bezwładność cieplna</button>
                <button class="ozc-tab-btn" data-target="ozc-tab-3">💰 Koszty i zwrot</button>
            </div>
            
            <div class="ozc-tab-content">
                <div class="ozc-tab-panel active" id="ozc-tab-1">
                    <p>Dzięki obliczeniom wiemy, czy w danym pokoju wystarczy <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowego/">rozstaw rur co 15 cm</a>, czy może ze względu na duże straty i niską temperaturę zasilania (np. z pompy ciepła), musimy zagęścić rury do <strong>10 cm</strong>.</p>
                </div>
                
                <div class="ozc-tab-panel" id="ozc-tab-2">
                    <p>Projektant bierze pod uwagę również <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładność cieplną</a> jastrychu. Zbyt wysoka temperatura zasilania w połączeniu z grubą wylewką sprawia, że systemem nie da się sterować – po osiągnięciu temperatury w pokoju, podłoga jeszcze przez wiele godzin oddaje nadmiar ciepła, prowadząc do przegrzania pomieszczeń.</p>
                </div>
                
                <div class="ozc-tab-panel" id="ozc-tab-3">
                    <p>Zastanawiając się, <a href="https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/">czy do ogrzewania podłogowego potrzebny jest projekt</a>, warto pamiętać, że koszt dokumentacji (ok. <strong>500-1500 PLN</strong>) zwraca się zazwyczaj już po pierwszym sezonie grzewczym dzięki optymalizacji temperatury zasilania.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="ozc-engineering-section">
        <div class="ozc-eng-header">
            <div>
                <h3 class="ozc-eng-title"><span>⚙️</span> Kalkulator Zwrotu z Projektu OZC</h3>
                <p class="ozc-eng-subtitle">Symulacja kosztów eksploatacji w pierwszym sezonie grzewczym.</p>
            </div>
        </div>

        <div class="ozc-slider-wrap">
            <div class="ozc-slider-label">
                <span>Powierzchnia do ogrzania:</span>
                <span class="ozc-slider-val" id="ozc-area-val">150 m²</span>
            </div>
            <input type="range" min="80" max="300" step="10" value="150" class="ozc-slider" id="ozc-area-slider">
        </div>

        <div class="ozc-comparison-grid">
            <div class="ozc-comp-card amateur">
                <div class="ozc-comp-header"><span style="font-size:16px">❌</span> Montaż "Na Oko"</div>
                <span class="ozc-comp-value" id="cost-amateur">4 800 PLN</span>
                <span class="ozc-comp-sub">Przewymiarowane rachunki, przegrzewanie i brak optymalizacji pracy pompy.</span>
            </div>
            
            <div class="ozc-comp-card pro">
                <div class="ozc-comp-header"><span style="font-size:16px">✅</span> Profesjonalny Projekt</div>
                <span class="ozc-comp-value" style="color:var(--ozc-success)" id="cost-pro">3 950 PLN</span>
                <span class="ozc-comp-sub">Właściwy rozstaw rur, bezwładność pod kontrolą i minimalna temp. zasilania.</span>
            </div>
        </div>

        <div class="ozc-roi-box">
            <div class="ozc-roi-text">Szacowane oszczędności po pierwszym sezonie:</div>
            <div class="ozc-roi-result" id="ozc-savings">850 PLN</div>
        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-ozc-roi');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 30px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;">
                    <span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span>
                    <p style="margin: 0 0 10px 0; font-size: 22px;">Treść Chroniona Prawem Autorskim</p>
                    <p style="font-size: 15px; margin-bottom: 20px;">Kalkulator został skopiowany z naruszeniem licencji.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 10px 20px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
            return;
        }
    }

    // Logika Zakładek (Tabs)
    const tabBtns = document.querySelectorAll('.ozc-tab-btn');
    const tabPanels = document.querySelectorAll('.ozc-tab-panel');

    tabBtns.forEach(btn => {
        btn.addEventListener('click', () => {
            // Usuń klasę active ze wszystkich
            tabBtns.forEach(b => b.classList.remove('active'));
            tabPanels.forEach(p => p.classList.remove('active'));
            
            // Dodaj do klikniętego
            btn.classList.add('active');
            const targetId = btn.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });

    // Logika Kalkulatora ROI
    const slider = document.getElementById('ozc-area-slider');
    const displayArea = document.getElementById('ozc-area-val');
    const displayAmateur = document.getElementById('cost-amateur');
    const displayPro = document.getElementById('cost-pro');
    const displaySavings = document.getElementById('ozc-savings');

    // Założenia ekonomiczne
    const costPerSqmPro = 26.50; // PLN / m2 / rok
    const inefficiencyPenalty = 1.21; // 21% wyższe rachunki na "oko"

    function formatCurrency(num) {
        return Math.round(num).toString().replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " PLN";
    }

    function calculateROI(area) {
        displayArea.textContent = area + ' m²';

        const proCost = area * costPerSqmPro;
        const amateurCost = proCost * inefficiencyPenalty;
        const savings = amateurCost - proCost;

        displayPro.textContent = formatCurrency(proCost);
        displayAmateur.textContent = formatCurrency(amateurCost);
        
        displaySavings.innerHTML = `+ ${formatCurrency(savings)} <span style="font-size:13px; font-weight:600; color:#6ee7b7">(Projekt zwraca się w 1 rok)</span>`;
    }

    if (slider) {
        slider.addEventListener('input', function() {
            calculateROI(this.value);
        });
        calculateROI(slider.value);
    }
});
</script>



<style>
:root {
    --cs-primary: #0f172a;
    --cs-accent: #2563eb;
    --cs-wood: #b45309; /* Kolor drewna */
    --cs-tiles: #0891b2; /* Kolor gresu/wody */
    --cs-bg: #f8fafc;
    --cs-border: #e2e8f0;
    --cs-text: #475569;
}

.case-study-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--cs-border);
    overflow: hidden;
}

/* ================= HEADER I METRYCZKA ================= */
.cs-header-wrapper {
    background: var(--cs-primary);
    color: #ffffff;
    padding: 40px 50px;
    position: relative;
    overflow: hidden;
}

.cs-header-wrapper::after {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(37, 99, 235, 0.3) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
}

.cs-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #93c5fd;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.cs-header-wrapper h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 25px 0;
    line-height: 1.3;
    color: #ffffff;
    position: relative;
    z-index: 2;
}

.cs-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    position: relative;
    z-index: 2;
}

.cs-stat-box {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 15px;
    border-radius: 12px;
    backdrop-filter: blur(4px);
}

.cs-stat-label {
    display: block;
    font-size: 11px;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 5px;
}

.cs-stat-value {
    display: block;
    font-size: 16px;
    font-weight: 900;
    color: #ffffff;
}

/* ================= OPIS WYZWANIA ================= */
.cs-content-section {
    padding: 40px 50px 30px 50px;
    background: #ffffff;
}

.cs-lead-text {
    font-size: 16px;
    line-height: 1.8;
    color: var(--cs-text);
    margin: 0 0 20px 0;
}

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

.cs-author-box {
    background: #f0f9ff;
    border-left: 4px solid var(--cs-accent);
    padding: 15px 20px;
    border-radius: 0 12px 12px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 10px;
}

.cs-author-photo {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #ffffff;
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.2);
    flex-shrink: 0;
}

.cs-author-box p {
    margin: 0;
    font-size: 14px;
    color: #1e3a8a;
    line-height: 1.6;
}

.cs-author-box a {
    color: var(--cs-accent);
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.cs-author-box a:hover {
    color: #1e3a8a;
}

/* ================= INTERAKTYWNE WYZWANIE (SPLIT CARDS) ================= */
.cs-interactive-section {
    padding: 0 50px 40px 50px;
}

.cs-split-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.cs-split-card {
    border-radius: 16px;
    padding: 25px;
    border: 2px solid var(--cs-border);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    background: #ffffff;
}

/* Stan nieaktywny lekko przygaszony */
.cs-split-card:not(.active) {
    opacity: 0.7;
    transform: scale(0.98);
}

/* Kolorystyka i aktywacja */
.cs-split-card.wood.active {
    border-color: var(--cs-wood);
    background: #fffbeb;
    box-shadow: 0 10px 25px rgba(180, 83, 9, 0.1);
    opacity: 1;
    transform: scale(1);
}

.cs-split-card.tiles.active {
    border-color: var(--cs-tiles);
    background: #ecfeff;
    box-shadow: 0 10px 25px rgba(8, 145, 178, 0.1);
    opacity: 1;
    transform: scale(1);
}

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

.cs-card-icon {
    font-size: 28px;
}

.cs-card-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--cs-primary);
    margin: 0;
}

.cs-card-desc {
    font-size: 14px;
    line-height: 1.6;
    color: var(--cs-text);
    margin: 0;
}

.cs-card-solution {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px dashed rgba(0,0,0,0.1);
    font-size: 13px;
    font-weight: 700;
    display: none; /* Ukryte do momentu kliknięcia */
}

.cs-split-card.wood .cs-card-solution { color: #92400e; }
.cs-split-card.tiles .cs-card-solution { color: #155e75; }

.cs-split-card.active .cs-card-solution {
    display: block;
    animation: csFadeIn 0.4s ease forwards;
}

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

@media (max-width: 768px) {
    .cs-header-wrapper { padding: 35px 25px; }
    .cs-stats-grid { grid-template-columns: 1fr 1fr; }
    .cs-content-section { padding: 30px 25px 20px 25px; }
    .cs-interactive-section { padding: 0 25px 30px 25px; }
    .cs-split-container { grid-template-columns: 1fr; }
}
</style>

<div class="case-study-module" id="app-case-study">

    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org",
        "@type": "WebApplication",
        "name": "Panel Studium Przypadku: Optymalizacja Podłogówki",
        "description": "Interaktywny moduł prezentujący proces decyzyjny i wyzwania inżynierskie przy projektowaniu ogrzewania dla różnych rodzajów posadzek w jednym budynku.",
        "applicationCategory": "EducationalApplication",
        "operatingSystem": "All",
        "url": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/",
        "license": "https://projekt-ogrzewania.pl/",
        "offers": {
          "@type": "Offer",
          "price": "0",
          "priceCurrency": "PLN"
        },
        "creator": {
          "@type": "Person",
          "name": "Robert Kucharski",
          "url": "https://projekt-ogrzewania.pl/author/admin3399/",
          "sameAs": [
            "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
            "https://www.linkedin.com/in/robert-kucharski-38069b48/"
          ]
        },
        "featureList": [
          "Analiza parametrów zasilania dla parkietu dębowego",
          "Analiza parametrów zasilania dla gresu",
          "Wizualizacja dylematu projektowego (mieszane wykończenie)"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Dataset",
        "name": "Parametry Projektowe OZC - Dom Zielonki 2026",
        "description": "Zestawienie parametrów wejściowych budynku wykorzystanych do optymalizacji zasilania ogrzewania podłogowego.",
        "license": "https://projekt-ogrzewania.pl/",
        "variableMeasured": [
          {
            "@type": "PropertyValue",
            "name": "Data projektu",
            "value": "Luty 2026"
          },
          {
            "@type": "PropertyValue",
            "name": "Powierzchnia budynku",
            "value": "144 m²"
          },
          {
            "@type": "PropertyValue",
            "name": "Zapotrzebowanie na moc (OZC)",
            "value": "40 W/m²"
          },
          {
            "@type": "PropertyValue",
            "name": "Lokalizacja",
            "value": "Zielonki (k. Krakowa)"
          }
        ],
        "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="cs-header-wrapper">
        <div class="cs-badge">Projekt w praktyce</div>
        <h2>Optymalizacja dla mieszanego wykończenia</h2>
        <div class="cs-stats-grid">
            <div class="cs-stat-box">
                <span class="cs-stat-label">Termin</span>
                <span class="cs-stat-value">Luty 2026</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Lokalizacja</span>
                <span class="cs-stat-value">Zielonki</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Powierzchnia</span>
                <span class="cs-stat-value">144 m²</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Standard (OZC)</span>
                <span class="cs-stat-value">40 W/m²</span>
            </div>
        </div>
    </div>

    <div class="cs-content-section">
        <p class="cs-lead-text">Podczas finalizacji projektu instalacji dla nowo budowanego domu Pana Marka, zderzyliśmy się z klasycznym, ale zawsze wymagającym dylematem. Kluczowym wyzwaniem była optymalizacja parametrów pracy układu dla dwóch skrajnie różnych stref cieplnych w obrębie jednego źródła.</p>
        
        <div class="cs-author-box">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="cs-author-photo" loading="lazy">
            <p>Założenia hydrauliczne opracował główny projektant <a href="https://projekt-ogrzewania.pl/author/admin3399/">Robert Kucharski</a>. Wymagało to znalezienia precyzyjnego balansu pomiędzy dwiema okładzinami:</p>
        </div>
    </div>

    <div class="cs-interactive-section">
        <div class="cs-split-container">
            
            <div class="cs-split-card wood active" id="cs-btn-wood">
                <div class="cs-card-header">
                    <span class="cs-card-icon">🌳</span>
                    <h3 class="cs-card-title">Salon: Parkiet Dębowy</h3>
                </div>
                <p class="cs-card-desc">Drewno to izolator. Ogranicza oddawanie ciepła do pomieszczenia. Zbyt wysoka temperatura zasilania (>38°C) spowoduje jednak przesuszenie i pękanie drogich desek.</p>
                <div class="cs-card-solution">
                    Rozwiązanie: Zagęszczenie rozstawu rur do 10 cm, co pozwoliło utrzymać niską temperaturę zasilania przy jednoczesnym dostarczeniu 40 W/m² mocy.
                </div>
            </div>

            <div class="cs-split-card tiles" id="cs-btn-tiles">
                <div class="cs-card-header">
                    <span class="cs-card-icon">🧊</span>
                    <h3 class="cs-card-title">Łazienka: Gres Szkliwiony</h3>
                </div>
                <p class="cs-card-desc">Gres idealnie przewodzi ciepło. Wymaga wyższej temperatury powierzchni (odczucie "ciepłej podłogi" boso), ale łazienka ma najczęściej największe straty cieplne.</p>
                <div class="cs-card-solution">
                    Rozwiązanie: Zastosowanie osobnej pętli ze standardowym rozstawem, ale dodanie grzejnika drabinkowego, aby nie podnosić temperatury zasilania dla całego domu.
                </div>
            </div>

        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-case-study');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 25px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;">
                    <span style="font-size: 40px; display: block; margin-bottom: 10px;">🔒</span>
                    <h3 style="margin: 0 0 10px 0; font-size: 20px;">Studium Przypadku Chronione</h3>
                    <p style="font-size: 14px; margin-bottom: 15px;">Ten panel to autorska własność Projekt-Ogrzewania.pl.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 10px 20px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold; font-size: 13px;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
            return;
        }
    }

    // Logika przełączania kart Case Study
    const cardWood = document.getElementById('cs-btn-wood');
    const cardTiles = document.getElementById('cs-btn-tiles');

    function toggleCards(activeCard, inactiveCard) {
        activeCard.classList.add('active');
        inactiveCard.classList.remove('active');
    }

    if (cardWood && cardTiles) {
        cardWood.addEventListener('click', () => toggleCards(cardWood, cardTiles));
        cardTiles.addEventListener('click', () => toggleCards(cardTiles, cardWood));
    }
});
</script>



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

.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;
}

.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-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;
}

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

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

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

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

.material-grid {
    display: grid; grid-template-columns: 1fr; 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; }

.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>

<div class="calc-intro">
    <h2>Kalkulator wymaganej temperatury zasilania</h2>
    <p>Oto uproszczony schemat obliczeniowy algorytmu, który stosuję w moich projektach, aby wyznaczyć optymalne <strong>t_z</strong>. Wprowadź powierzchnię, realne zapotrzebowanie z OZC oraz rodzaj wykończenia, aby sprawdzić, czy Twój układ zmieści się w normach.</p>
</div>

<div class="screed-calc" id="tz2-calc-app">

    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org",
        "@type": "Dataset",
        "name": "Kalkulator wymaganej temperatury zasilania ogrzewania podłogowego",
        "description": "Narzędzie inżynierskie wyliczające niezbędną temperaturę wody (t_z) na podstawie OZC, powierzchni pomieszczenia oraz oporu cieplnego zastosowanej okładziny.",
        "license": "https://projekt-ogrzewania.pl/",
        "variableMeasured": [
          {
            "@type": "PropertyValue",
            "name": "Zapotrzebowanie na moc (Q)",
            "value": "Straty ciepła w Watach (OZC)"
          },
          {
            "@type": "PropertyValue",
            "name": "Moc jednostkowa (q)",
            "value": "Q / Powierzchnia [W/m²]"
          },
          {
            "@type": "PropertyValue",
            "name": "Opór okładziny (R)",
            "value": "Gres (0.02), Panele (0.08), Drewno (0.15) [m²K/W]"
          },
          {
            "@type": "PropertyValue",
            "name": "Wyznaczenie zasilania (t_z)",
            "value": "t_powietrza + ΔT_średnie + (0,5 × σ)"
          }
        ],
        "creator": {
          "@type": "Person",
          "name": "Robert Kucharski",
          "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 Temperatury Zasilania (Algorytm Inżynierski)",
        "applicationCategory": "CalculatorApplication",
        "operatingSystem": "All",
        "license": "https://projekt-ogrzewania.pl/",
        "description": "Profesjonalny kalkulator weryfikujący czy przy danym OZC i wybranej okładzinie nie dojdzie do przegrzania jastrychu lub przekroczenia norm komfortu fizjologicznego.",
        "featureList": [
          "Wyliczenie temperatury zasilania (t_z)",
          "Estymacja temperatury powierzchni podłogi (t_f)",
          "Ostrzeżenia przed przekroczeniem normy PN-EN 1264"
        ]
      }
    ]
    </script>

    <div class="calc-grid">
        <div class="config-side">
            
            <span class="section-title">1. Straty cieplne pomieszczenia (OZC)</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Powierzchnia pokoju</label><span class="val-badge"><span id="tz2-v-area">30</span> m²</span></div>
                <input type="range" id="tz2-area" min="5" max="80" step="1" value="30">
            </div>
            
            <div class="input-wrap">
                <div class="input-label-row"><label>Zapotrzebowanie na moc (Q)</label><span class="val-badge"><span id="tz2-v-power">1200</span> W</span></div>
                <input type="range" id="tz2-power" min="200" max="6000" step="50" value="1200">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Krok 1 (OZC): Ilość ciepła potrzebna do ogrzania pokoju.</div>
            </div>

            <div class="input-wrap">
                <div class="input-label-row"><label>Oczekiwana temp. w pokoju</label><span class="val-badge"><span id="tz2-v-room">20</span> °C</span></div>
                <input type="range" id="tz2-roomTemp" min="18" max="25" step="1" value="20">
            </div>

            <span class="section-title">2. Opór cieplny okładziny (R)</span>
            <div class="type-selector" style="margin-bottom:0">
                <div class="type-btn" id="tz2-btn-gres">Płytki / Gres<span style="font-size:10px; font-weight:400">R ≈ 0.02 m²K/W</span></div>
                <div class="type-btn active" id="tz2-btn-panel">Panele laminowane<span style="font-size:10px; font-weight:400">R ≈ 0.08 m²K/W</span></div>
                <div class="type-btn" id="tz2-btn-wood">Deska warstwowa<span style="font-size:10px; font-weight:400">R ≈ 0.15 m²K/W</span></div>
            </div>
        </div>

        <div class="result-side">
            <div id="tz2-mainBox" class="main-score-box">
                <span class="score-label">Wymagana temperatura zasilania (t_z)</span>
                <span class="score-num" id="tz2-resTz">--</span>
                <span class="score-label">°C na wejściu do pętli</span>
                <div id="tz2-risk-msg">⚠️ Uwaga!</div>
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span>Moc jednostkowa (q):</span><strong id="tz2-resQ">--</strong></div>
                <div class="tech-item"><span>Różnica temp. (ΔT_średnie):</span><strong id="tz2-resDelta">--</strong></div>
                
                <div class="material-grid">
                    <div class="mini-card"><span>Estymowana temp. powierzchni podłogi:</span><strong id="tz2-resTf" style="color:#60a5fa">--</strong></div>
                </div>
            </div>
            
            <div style="margin-top:20px; font-size:11px; color:#94a3b8; line-height: 1.5;">
                <strong>Algorytm:</strong> t_z = t_powietrza + ΔT_średnie + (0,5 × σ). Obliczenia zakładają standardowy spadek temperatury czynnika na pętli grzewczej (σ) wynoszący 5 Kelwinów.
            </div>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Nie ryzykuj błędów obliczeniowych</h3>
            <p style="margin:0; font-size:14px; color:#475569">Ten kalkulator to świetny wstęp do fizyki układu. Kompletny projekt instalacji musi jednak uwzględniać opory hydrauliczne, przepływy masowe i rozstaw rur, by instalacja grzała bez awarii.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="https://projekt-ogrzewania.pl/kompleksowy-kalkulator-ogrzewania-podlogowego/" class="cta-btn">
                ZAAWANSOWANY KALKULATOR →
            </a>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn" style="background:#1e293b">
                ZAMÓW PROJEKT OZC + PODŁOGÓWKA
            </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;">Kalkulator wymaganej temperatury zasilania – Algorytm</h3>
            <p style="font-size: 14px; color: #475569; line-height: 1.6;">
                Oto uproszczony schemat obliczeniowy, który stosuję w moich projektach, aby wyznaczyć optymalne t_z:<br>
                <strong>Krok 1 (OZC):</strong> Wyznaczamy zapotrzebowanie na moc (Q) w Watach. Przykład: Salon 30 m², Q = 1200 W.<br>
                <strong>Krok 2 (Moc jednostkowa q):</strong> Dzielimy moc przez powierzchnię. 1200 W / 30 m² = 40 W/m².<br>
                <strong>Krok 3 (Opór okładziny R):</strong> Przyjmujemy opór dla wybranego materiału (np. gres R = 0,02, panel R = 0,08).<br>
                <strong>Krok 4 (Obliczenie różnicy temperatur ΔT):</strong> Korzystamy z logarytmicznej różnicy temperatur między wodą a powietrzem.<br>
                <strong>Krok 5 (Wyznaczenie zasilania):</strong> t_z = t_powietrza + ΔT_średnie + (0,5 × σ), gdzie σ to spadek temperatury na pętli (zazwyczaj 5K).<br><br>
                <em>Przykład praktyczny:</em> Dla nowoczesnego domu pasywnego (q = 20 W/m²) przy gresie, temperatura zasilania rzadko przekracza 28-30°C, co czyni system niemal "samoregulującym się".
            </p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('tz2-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; 
    }

    var floorResistance = 0.08; 
    
    function updateCalc() {
        var areaEl = document.getElementById('tz2-area');
        var powerEl = document.getElementById('tz2-power');
        var roomTempEl = document.getElementById('tz2-roomTemp');
        
        if (!areaEl) return;
        if (!powerEl) return;
        if (!roomTempEl) return;

        var area = parseFloat(areaEl.value);
        var power = parseFloat(powerEl.value);
        var t_i = parseFloat(roomTempEl.value);
        
        document.getElementById('tz2-v-area').innerText = area;
        document.getElementById('tz2-v-power').innerText = power;
        document.getElementById('tz2-v-room').innerText = t_i;

        var q = power / area;
        
        var R_total = 0.093 + 0.03 + floorResistance;
        var delta_T_avg = q * R_total;
        
        var t_m = t_i + delta_T_avg;
        var sigma = 5; 
        var t_z = t_m + (0.5 * sigma);

        var t_f = t_i + (q * 0.093);

        document.getElementById('tz2-resQ').innerText = q.toFixed(1) + ' W/m²';
        document.getElementById('tz2-resDelta').innerText = delta_T_avg.toFixed(1) + ' K';
        document.getElementById('tz2-resTz').innerText = t_z.toFixed(1);
        document.getElementById('tz2-resTf').innerText = t_f.toFixed(1) + ' °C';

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

        if (t_z > 55) { 
            warnings.push('❌ <strong>Krytyczny błąd:</strong> Temperatura zasilania przekracza 55°C. System niezgodny z normą PN-EN 1264. Grozi pęknięciem wylewki!'); 
            boxColor = 'var(--danger)'; 
        } else if (floorResistance === 0.15) {
            if (t_z > 38) {
                warnings.push('⚠️ <strong>Zagrożenie dla drewna:</strong> Temperatura rzędu ' + t_z.toFixed(1) + '°C doprowadzi do rozschnięcia się parkietu. Producent odrzuci gwarancję.'); 
                boxColor = 'var(--warning)';
            }
        }

        if (t_f > 29) {
            if (t_i < 24) {
                warnings.push('🔥 <strong>Przegrzana podłoga:</strong> Temperatura powierzchni przekroczy fizjologiczną granicę 29°C. Dyskomfort gwarantowany.');
                if(boxColor !== 'var(--danger)') {
                    boxColor = 'var(--warning)';
                }
            }
        }

        if (q <= 30) {
            if (t_z <= 32) {
                warnings.push('🌿 <strong>System optymalny:</strong> Parametry typowe dla domu energooszczędnego/pasywnego. Pompa ciepła osiągnie tu maksymalne COP.');
            }
        }

        if (warnings.length > 0) {
            rMsg.innerHTML = warnings.join('<br><br>');
            rMsg.style.display = 'block';
            
            if(boxColor === 'var(--success)') {
                rMsg.style.background = '#f0fdf4';
                rMsg.style.color = '#15803d';
                rMsg.style.borderColor = '#bbf7d0';
            } else if(boxColor === 'var(--warning)') {
                rMsg.style.background = '#fff7ed';
                rMsg.style.color = '#c2410c';
                rMsg.style.borderColor = '#fed7aa';
            } else {
                rMsg.style.background = '#fee2e2';
                rMsg.style.color = '#b91c1c';
                rMsg.style.borderColor = '#fecaca';
            }
        } else {
            rMsg.style.display = 'none';
        }
        
        mBox.style.borderColor = boxColor;
    }

    var floorOptions = {
        'tz2-btn-gres': 0.02,
        'tz2-btn-panel': 0.08,
        'tz2-btn-wood': 0.15
    };

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

    var sliders = ['tz2-area', 'tz2-power', 'tz2-roomTemp'];
    sliders.forEach(function(id) {
        var el = document.getElementById(id);
        if(el) el.addEventListener('input', updateCalc);
    });

    updateCalc();
});
</script>



<style>
:root {
    --st-primary: #0f172a;
    --st-accent: #0284c7;
    --st-danger: #dc2626;
    --st-warning: #ea580c;
    --st-success: #16a34a;
    --st-concrete: #cbd5e1;
    --st-bg-light: #f8fafc;
}

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

/* 1. SEKCJA HEADER & LEAD */
.st-header-section {
    padding: 40px 50px 20px 50px;
    background: linear-gradient(135deg, #ffffff 0%, var(--st-bg-light) 100%);
}

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

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

.st-lead {
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
    margin: 0;
}

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

.st-lead a:hover {
    color: #0369a1;
}

/* 2. SEKCJA SYMULATORA (Suwak Mierniczy) */
.st-interactive-section {
    padding: 20px 50px;
    background: #ffffff;
    border-bottom: 1px solid #e2e8f0;
}

.st-ruler-container {
    position: relative;
    padding: 40px 20px 20px 20px;
    background: var(--st-bg-light);
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    margin-top: 10px;
}

.st-ruler-title {
    position: absolute;
    top: 15px;
    left: 20px;
    font-size: 13px;
    font-weight: 800;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.st-slider-val {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 20px;
    font-weight: 900;
    color: var(--st-accent);
    background: #e0f2fe;
    padding: 4px 12px;
    border-radius: 8px;
}

.st-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 12px;
    border-radius: 6px;
    background: linear-gradient(to right, #fecaca 0%, #fecaca 25%, #bbf7d0 25%, #bbf7d0 60%, #fed7aa 60%, #fed7aa 100%);
    outline: none;
    margin-top: 25px;
}

.st-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #ffffff;
    border: 4px solid var(--st-primary);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    transition: transform 0.1s;
    background-image: repeating-linear-gradient(90deg, transparent, transparent 2px, #cbd5e1 2px, #cbd5e1 4px);
    background-size: 8px 100%;
    background-position: center;
}

/* 3. KARTY STANU WYLEWKI */
.st-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 30px 50px;
    background: #ffffff;
}

.st-card {
    padding: 25px;
    border-radius: 16px;
    border: 2px solid #e2e8f0;
    background: #ffffff;
    position: relative;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0.6; 
    transform: scale(0.98);
}

.st-card.active {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.1);
}

.st-card[data-type="thin"].active { border-color: var(--st-danger); }
.st-card[data-type="standard"].active { border-color: var(--st-success); }
.st-card[data-type="thick"].active { border-color: var(--st-warning); }

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

.st-cross-section {
    height: 40px;
    background: #f1f5f9;
    border-radius: 8px;
    margin-bottom: 15px;
    position: relative;
    border: 1px solid #cbd5e1;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
}

.st-pipe {
    width: 16px;
    height: 16px;
    background: #ef4444;
    border-radius: 50%;
    border: 2px solid #ffffff;
    margin-bottom: 4px;
    z-index: 2;
}

.st-concrete-fill {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: repeating-linear-gradient(45deg, #e2e8f0, #e2e8f0 5px, #cbd5e1 5px, #cbd5e1 10px);
    z-index: 1;
}

.st-card[data-type="thin"] .st-concrete-fill { height: 50%; }
.st-card[data-type="standard"] .st-concrete-fill { height: 75%; }
.st-card[data-type="thick"] .st-concrete-fill { height: 100%; }

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

.st-card strong {
    color: var(--st-primary);
}

.st-card[data-type="thin"].active p { color: #7f1d1d; }
.st-card[data-type="thin"].active strong { color: #991b1b; }
.st-card[data-type="standard"].active p { color: #14532d; }
.st-card[data-type="standard"].active strong { color: #166534; }
.st-card[data-type="thick"].active p { color: #7c2d12; }
.st-card[data-type="thick"].active strong { color: #9a3412; }

/* 4. SEKCJA OUTRO */
.st-outro-section {
    padding: 0 50px 40px 50px;
}

.st-pro-tip {
    background: #f0f9ff;
    border-left: 4px solid var(--st-accent);
    padding: 20px 25px;
    border-radius: 0 12px 12px 0;
    display: flex;
    gap: 15px;
    align-items: center;
}

.st-pro-tip-icon {
    font-size: 28px;
}

.st-pro-tip p {
    margin: 0;
    font-size: 15px;
    color: #1e3a8a;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .st-header-section { padding: 30px 25px 15px 25px; }
    .st-interactive-section { padding: 15px 25px; }
    .st-cards-grid { grid-template-columns: 1fr; padding: 25px; gap: 15px; }
    .st-outro-section { padding: 0 25px 30px 25px; }
    .st-pro-tip { flex-direction: column; text-align: center; }
}
</style>

<div class="screed-thickness-module" id="app-screed-thickness">

    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org",
        "@type": "WebApplication",
        "name": "Symulator Wpływu Grubości Jastrychu na Temperaturę Zasilania",
        "description": "Interaktywne narzędzie inżynierskie wizualizujące zależność między grubością wylewki betonowej a oporem cieplnym i wymaganą temperaturą zasilania w systemach ogrzewania podłogowego.",
        "applicationCategory": "EngineeringApplication",
        "operatingSystem": "All",
        "url": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/",
        "license": "https://projekt-ogrzewania.pl/",
        "offers": {
          "@type": "Offer",
          "price": "0",
          "priceCurrency": "PLN"
        },
        "creator": {
          "@type": "Person",
          "name": "Robert Kucharski",
          "sameAs": [
            "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
            "https://www.linkedin.com/in/robert-kucharski-38069b48/"
          ]
        },
        "featureList": [
          "Obrazowanie ryzyka pęknięć dla wylewek poniżej 3,5 cm",
          "Wyznaczanie optymalnej grubości betonu nad rurą (4,5 - 5 cm)",
          "Estymacja konieczności podniesienia temperatury zasilania o 2-3°C dla grubych wylewek (8 cm)"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Dataset",
        "name": "Właściwości termiczne i mechaniczne wylewki betonowej",
        "description": "Zestawienie twardych danych inżynierskich określających zachowanie jastrychu w zależności od jego grubości oraz temperatury zasilania do 55°C.",
        "license": "https://projekt-ogrzewania.pl/",
        "variableMeasured": [
          {
            "@type": "PropertyValue",
            "name": "Grubość standardowa",
            "value": "4,5 - 5 cm",
            "description": "Optymalna masa termiczna i bezpieczny rozkład naprężeń dla instalacji."
          },
          {
            "@type": "PropertyValue",
            "name": "Grubość ryzykowna (zbyt cienka)",
            "value": "< 3,5 cm",
            "description": "Wysokie ryzyko pękania pod wpływem naprężeń termicznych, nawet przy normatywnych 55°C."
          },
          {
            "@type": "PropertyValue",
            "name": "Grubość podwyższona",
            "value": "8 cm",
            "description": "Zwiększony opór cieplny wymuszający podniesienie temperatury zasilania o 2-3°C w celu zachowania tej samej temperatury powierzchni."
          }
        ]
      }
    ]
    </script>

    <div class="st-header-section">
        <div class="st-badge"><span>🏗️</span> Konstrukcja a Termodynamika</div>
        <h2>Czy wysokość wylewki wpływa na temperaturę zasilania?</h2>
        <p class="st-lead">Tak, masa termiczna <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewki betonowej na ogrzewanie podłogowe</a> ma kluczowe znaczenie. Im grubsza warstwa betonu nad rurą, tym wyższy opór cieplny samej płyty grzejnej.</p>
    </div>

    <div class="st-interactive-section">
        <div class="st-ruler-container">
            <span class="st-ruler-title">Grubość jastrychu nad rurą</span>
            <span class="st-slider-val" id="st-val-display">5.0 cm</span>
            <input type="range" min="2.0" max="10.0" step="0.5" value="5.0" class="st-slider" id="st-slider">
        </div>
    </div>

    <div class="st-cards-grid">
        <div class="st-card" data-type="thin" id="st-card-thin">
            <span class="st-card-icon">💥</span>
            <div class="st-cross-section">
                <div class="st-concrete-fill"></div>
                <div class="st-pipe"></div>
            </div>
            <p>Z kolei zbyt cienka <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">wylewka na ogrzewanie podłogowe</a> (poniżej <strong>3,5 cm</strong>) grozi pękaniem pod wpływem naprężeń termicznych, nawet jeśli nie przekroczymy maksymalnych <strong>55°C</strong> na zasilaniu.</p>
        </div>

        <div class="st-card active" data-type="standard" id="st-card-standard">
            <span class="st-card-icon">✅</span>
            <div class="st-cross-section">
                <div class="st-concrete-fill"></div>
                <div class="st-pipe"></div>
            </div>
            <p>Standardowo przyjmuje się <strong>4,5 - 5 cm</strong> betonu ponad rurą.</p>
        </div>

        <div class="st-card" data-type="thick" id="st-card-thick">
            <span class="st-card-icon">🌡️</span>
            <div class="st-cross-section">
                <div class="st-concrete-fill"></div>
                <div class="st-pipe"></div>
            </div>
            <p>Zwiększenie tej grubości do <strong>8 cm</strong> wymusza podniesienie temperatury zasilania o około <strong>2-3°C</strong>, aby uzyskać tę samą temperaturę na powierzchni w tym samym czasie.</p>
        </div>
    </div>

    <div class="st-outro-section">
        <div class="st-pro-tip">
            <span class="st-pro-tip-icon">💡</span>
            <p>W systemach renowacyjnych, gdzie brakuje miejsca na gruby beton, stosuje się specjalne jastrychy anhydrytowe o wysokim współczynniku przewodzenia ciepła.</p>
        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-screed-thickness');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 30px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;">
                    <span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span>
                    <p style="margin: 0 0 10px 0; font-size: 22px;">Treść Chroniona Prawem Autorskim</p>
                    <p style="font-size: 15px; margin-bottom: 20px;">Moduł edukacyjny został skopiowany z naruszeniem licencji.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 10px 20px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
            return;
        }
    }

    const slider = document.getElementById('st-slider');
    const displayVal = document.getElementById('st-val-display');
    
    const cardThin = document.getElementById('st-card-thin');
    const cardStandard = document.getElementById('st-card-standard');
    const cardThick = document.getElementById('st-card-thick');

    function updateScreedSimulator(thickness) {
        displayVal.textContent = parseFloat(thickness).toFixed(1) + ' cm';

        cardThin.classList.remove('active');
        cardStandard.classList.remove('active');
        cardThick.classList.remove('active');

        if (thickness < 4.0) {
            cardThin.classList.add('active');
        } else if (thickness >= 4.0 && thickness <= 6.5) {
            cardStandard.classList.add('active');
        } else {
            cardThick.classList.add('active');
        }
    }

    if (slider) {
        slider.addEventListener('input', function() {
            updateScreedSimulator(this.value);
        });
        
        updateScreedSimulator(slider.value);
    }
});
</script>



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



<style>
:root {
    --hazard-primary: #0f172a;
    --hazard-accent: #dc2626; /* Intensywna czerwień ostrzegawcza */
    --hazard-bg: #fff1f2;
    --hazard-border: #fecaca;
    --hazard-text: #475569;
}

.hazard-report-module {
    max-width: 900px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    border: 2px solid var(--hazard-border);
    overflow: hidden;
    box-shadow: 0 20px 25px -5px rgba(220, 38, 38, 0.05);
}

/* 1. SEKACJA HEADER */
.hazard-header {
    background: var(--hazard-accent);
    padding: 30px 50px;
    color: #ffffff;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

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

.hazard-status-label {
    background: rgba(0, 0, 0, 0.2);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.hazard-pulse {
    width: 8px;
    height: 8px;
    background: #ffffff;
    border-radius: 50%;
    animation: hazard-blink 1s infinite;
}

@keyframes hazard-blink {
    0% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(1.2); }
    100% { opacity: 1; transform: scale(1); }
}

/* 2. SEKACJA TEKSTU PROWADZĄCEGO */
.hazard-intro {
    padding: 35px 50px 20px 50px;
    background: #ffffff;
}

.hazard-intro p {
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
    margin: 0;
}

.hazard-intro a {
    color: var(--hazard-accent);
    text-decoration: underline;
    font-weight: 700;
}

/* 3. INTERAKTYWNA LISTA ZAGROŻEŃ */
.hazard-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    padding: 20px 50px 40px 50px;
}

.hazard-item {
    background: var(--hazard-bg);
    border: 1px solid var(--hazard-border);
    border-radius: 16px;
    padding: 25px 20px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.hazard-item:hover {
    transform: translateY(-5px);
    background: #ffffff;
    box-shadow: 0 10px 20px rgba(220, 38, 38, 0.1);
    border-color: var(--hazard-accent);
}

.hazard-icon {
    font-size: 32px;
    margin-bottom: 15px;
}

.hazard-item h4 {
    margin: 0 0 10px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--hazard-primary);
    text-transform: uppercase;
}

.hazard-details {
    font-size: 13px;
    line-height: 1.6;
    color: var(--hazard-text);
    height: 0;
    overflow: hidden;
    transition: all 0.3s ease;
    opacity: 0;
}

.hazard-item.active {
    background: #ffffff;
    border-color: var(--hazard-accent);
    box-shadow: 0 10px 25px rgba(220, 38, 38, 0.1);
}

.hazard-item.active .hazard-details {
    height: auto;
    opacity: 1;
    margin-top: 10px;
}

.hazard-temp-badge {
    background: var(--hazard-accent);
    color: #ffffff;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 900;
    margin-top: 10px;
}

@media (max-width: 768px) {
    .hazard-header { padding: 25px; flex-direction: column; gap: 15px; text-align: center; }
    .hazard-intro { padding: 30px 25px 15px 25px; }
    .hazard-grid { grid-template-columns: 1fr; padding: 15px 25px 30px 25px; }
    .hazard-item { padding: 20px; }
}
</style>

<div class="hazard-report-module" id="app-hazard-report">

    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org",
        "@type": "WebApplication",
        "name": "Analizator Skutków Przegrzania Podłogówki",
        "description": "Narzędzie eksperckie identyfikujące fizyczne i techniczne zagrożenia wynikające z przekroczenia temperatury 55°C w instalacjach ogrzewania płaszczyznowego.",
        "applicationCategory": "EducationalApplication",
        "operatingSystem": "All",
        "url": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/",
        "license": "https://projekt-ogrzewania.pl/",
        "creator": {
          "@type": "Person",
          "name": "Robert Kucharski",
          "sameAs": [
            "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
            "https://www.linkedin.com/in/robert-kucharski-38069b48/"
          ]
        },
        "featureList": [
          "Weryfikacja wytrzymałości termicznej klejów ceramicznych",
          "Analiza prądów konwekcyjnych i emisji pyłów",
          "Ocena degradacji polimerów rur PERT/PEX"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Dataset",
        "name": "Krytyczne progi degradacji instalacji podłogowej",
        "description": "Zbiór danych technicznych dotyczących niszczącego wpływu wysokich temperatur na materiały budowlane i instalacyjne.",
        "license": "https://projekt-ogrzewania.pl/",
        "variableMeasured": [
          {
            "@type": "PropertyValue",
            "name": "Wytrzymałość klejów do ceramiki",
            "value": "Max 60-70°C",
            "description": "Powyżej tego progu następuje kruszenie spoiwa i odparzenie płytek."
          },
          {
            "@type": "PropertyValue",
            "name": "Próg emisji pyłów (konwekcja)",
            "value": "> 35°C powierzchni",
            "description": "Gwałtowny ruch powietrza unoszący alergeny."
          },
          {
            "@type": "PropertyValue",
            "name": "Degradacja sieciowania PEX",
            "value": "Stała praca > 60°C",
            "description": "Przyspieszone starzenie materiału i kruszenie rur."
          }
        ]
      }
    ]
    </script>

    <div class="hazard-header">
        <h2>Zagrożenia i błędy: Co się dzieje po przekroczeniu 55°C?</h2>
        <div class="hazard-status-label">
            <div class="hazard-pulse"></div>
            Analiza Krytyczna
        </div>
    </div>

    <div class="hazard-intro">
        <p>W mojej karierze widziałem dziesiątki instalacji zniszczonych przez brak kontroli nad temperaturą zasilania. <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">Najczęstsze błędy przy montażu ogrzewania podłogowego</a> często kumulują się właśnie w tym punkcie. <strong>Kliknij w wybrane zagrożenie, aby poznać szczegóły:</strong></p>
    </div>

    <div class="hazard-grid">
        <div class="hazard-item" onclick="this.classList.toggle('active')">
            <span class="hazard-icon">🧱</span>
            <h4>Odparzenie płytek</h4>
            <div class="hazard-temp-badge">60-70°C</div>
            <div class="hazard-details">
                Kleje do ceramiki mają swoją wytrzymałość termiczną. Praca w temperaturze <strong>60-70°C</strong> powoduje ich kruszenie i utratę przyczepności do jastrychu.
            </div>
        </div>

        <div class="hazard-item" onclick="this.classList.toggle('active')">
            <span class="hazard-icon">💨</span>
            <h4>Emisja pyłów</h4>
            <div class="hazard-temp-badge">Konwekcja</div>
            <div class="hazard-details">
                Przegrzana podłoga generuje silne prądy konwekcyjne. Zjawisko to unosi kurz, co jest szczególnie dotkliwe dla alergików. Poprawna podłogówka powinna oddawać ciepło głównie przez promieniowanie.
            </div>
        </div>

        <div class="hazard-item" onclick="this.classList.toggle('active')">
            <span class="hazard-icon">🚨</span>
            <h4>Niszczenie rur</h4>
            <div class="hazard-temp-badge">Degradacja PEX</div>
            <div class="hazard-details">
                Rury PERT/PEX przy stałym przegrzewaniu stają się kruche (proces sieciowania ulega degradacji), co po kilku latach może prowadzić do awarii i konieczności kucia posadzek.
            </div>
        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-hazard-report');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 30px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px; border: 2px solid #dc2626;">
                    <span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span>
                    <p style="margin: 0 0 10px 0; font-size: 22px;">Moduł Zabezpieczony</p>
                    <p style="font-size: 15px; margin-bottom: 20px;">Treść raportu zagrożeń została skopiowana nielegalnie.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 12px 20px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
            return;
        }
    }
});
</script>



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



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy mogę ustawić 60°C na podłogówkę, aby dom szybciej się nagrzał?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Absolutnie nie. Bezwładność cieplna wylewki betonowej sprawia, że proces akumulacji energii trwa wiele godzin. Skokowe podniesienie temperatury zasilania wywoła szok termiczny, co grozi pęknięciem wylewki, odspojeniem płytek i uszkodzeniem rur PEX. System powinien pracować stabilnie na niskich parametrach."
        }
      },
      {
        "@type": "Question",
        "name": "Dlaczego moja podłoga jest zimna, mimo że zasilanie ma 45°C?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Problem najprawdopodobniej leży w hydraulice lub wysokim oporze cieplnym okładziny (np. gruby dywan). Jeśli rury są ciepłe przy rozdzielaczu, a podłoga nie grzeje, należy sprawdzić przepływy na rotametrach (brak przepływu oznacza zapowietrzenie lub zablokowane siłowniki)."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka jest optymalna temperatura dla paneli winylowych?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Panele winylowe (LVT) świetnie przewodzą ciepło, ale temperatura na ich powierzchni nie może przekraczać 27°C. Aby zachować bezpieczeństwo materiału i nie doprowadzić do jego odkształceń, temperatura zasilania podłogówki nie powinna przekraczać 35°C."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Interaktywny Asystent Diagnostyczny Instalacji Podłogowych",
    "description": "Moduł typu Helpdesk ułatwiający inwestorom diagnozowanie problemów z instalacją grzewczą (np. zimne posadzki) oraz weryfikację bezpieczeństwa parametrów eksploatacyjnych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "url": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "featureList": [
      "Rozwiązywanie problemów z przepływem i zapowietrzeniem układu",
      "Weryfikacja maksymalnych parametrów dla winylu (LVT)",
      "Analiza skutków przewymiarowania temperatury zasilania"
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Baza wiedzy i parametry diagnostyczne ogrzewania płaszczyznowego",
    "description": "Zbiór danych określających krytyczne błędy użytkowe i parametry eksploatacyjne systemów HVAC.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Prawidłowy przepływ w rotametrze",
        "value": "1.0 - 2.5 l/min",
        "description": "Wartość niezbędna do pokonania oporów hydraulicznych i równomiernego oddawania ciepła."
      },
      {
        "@type": "PropertyValue",
        "name": "Max temp. zasilania dla winylu LVT",
        "value": "35°C",
        "description": "Graniczna temperatura na zasilaniu zapobiegająca uszkodzeniu zamków i odkształcaniu paneli winylowych."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
    }
  }
]
</script>

<style>
:root {
    --faq-primary: #0f172a;
    --faq-accent: #0284c7;
    --faq-accent-light: #e0f2fe;
    --faq-bg: #f8fafc;
    --faq-border: #e2e8f0;
    --faq-text: #334155;
    --faq-danger: #dc2626;
}

.premium-faq-module {
    max-width: 900px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 15px 35px -5px rgba(0, 0, 0, 0.05);
    border: 1px solid var(--faq-border);
    overflow: hidden;
}

.faq-header-section {
    padding: 40px 50px 30px 50px;
    background: linear-gradient(180deg, #ffffff 0%, var(--faq-bg) 100%);
    border-bottom: 1px solid var(--faq-border);
    text-align: center;
}

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

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

.faq-header-section p {
    font-size: 16px;
    color: #64748b;
    margin: 0;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

.faq-accordion-container {
    padding: 30px 50px 40px 50px;
    background: #ffffff;
}

.faq-item {
    margin-bottom: 15px;
    border: 1px solid var(--faq-border);
    border-radius: 16px;
    background: #ffffff;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    overflow: hidden;
}

.faq-item:last-child {
    margin-bottom: 0;
}

.faq-item:hover {
    border-color: #bae6fd;
}

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

.faq-question {
    padding: 20px 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    gap: 20px;
    user-select: none;
    background: #ffffff;
}

.faq-q-text {
    display: flex;
    align-items: center;
    gap: 15px;
}

.faq-q-icon {
    font-size: 24px;
    flex-shrink: 0;
}

.faq-q-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--faq-primary);
    margin: 0;
    line-height: 1.4;
    transition: color 0.3s;
}

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

.faq-toggle-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--faq-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--faq-primary);
    font-weight: bold;
    font-size: 18px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

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

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

.faq-answer-inner {
    padding: 0 25px 25px 65px; /* Offset for icon alignment */
}

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

.faq-answer p:last-child {
    margin-bottom: 0;
}

.faq-answer strong {
    color: var(--faq-primary);
}

/* Wyróżnienie "Wskazówka Inżyniera" */
.expert-highlight {
    background: #f0fdf4;
    border-left: 4px solid var(--success);
    padding: 15px 20px;
    border-radius: 0 12px 12px 0;
    margin-top: 15px;
}

.expert-highlight strong {
    display: block;
    color: #14532d;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 5px;
}

.expert-highlight p {
    color: #166534;
    font-size: 14px;
    margin: 0;
}

@media (max-width: 768px) {
    .faq-header-section { padding: 35px 25px 25px 25px; }
    .faq-accordion-container { padding: 25px; }
    .faq-question { padding: 15px 20px; gap: 15px; }
    .faq-answer-inner { padding: 0 20px 20px 20px; } /* Usunięty offset dla mobile */
    .faq-q-icon { font-size: 20px; }
    .faq-q-title { font-size: 15px; }
}
</style>

<div class="premium-faq-module" id="app-faq-module">
    
    <div class="faq-header-section">
        <div class="faq-badge">
            <span>💡</span> Baza Wiedzy Inwestora
        </div>
        <h2>Najczęściej zadawane pytania (FAQ)</h2>
        <p>Zebraliśmy najczęstsze wątpliwości inwestorów dotyczące temperatur zasilania. Rozwiń poniższe zagadnienia, aby uniknąć kosztownych błędów eksploatacyjnych.</p>
    </div>

    <div class="faq-accordion-container">
        
        <div class="faq-item">
            <div class="faq-question">
                <div class="faq-q-text">
                    <span class="faq-q-icon">🔥</span>
                    <h3 class="faq-q-title">Czy mogę ustawić 60°C na podłogówkę, aby dom szybciej się nagrzał?</h3>
                </div>
                <div class="faq-toggle-btn">+</div>
            </div>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    <p><strong>Absolutnie nie.</strong> Bezwładność cieplna wylewki betonowej sprawia, że proces akumulacji energii i tak potrwa od kilku do kilkunastu godzin. Skokowe podniesienie temperatury zasilania nie przyspieszy odczuwalnie nagrzewania pomieszczenia, ale wywoła potężny szok termiczny dla instalacji.</p>
                    <p>Ryzykujesz rażące przekroczenie normy PN-EN 1264 (limit 55°C), co prowadzi do nieodwracalnego pękania jastrychu, odspojenia płytek oraz drastycznego skrócenia żywotności rur PEX. System podłogowy to układ niskotemperaturowy – powinien pracować stabilnie, ciągle i na niskich parametrach.</p>
                    <div class="expert-highlight">
                        <strong>Wskazówka Inżyniera</strong>
                        <p>Jeśli posiadasz pompę ciepła, takie wymuszenie temperatury włączy grzałki elektryczne, co w ciągu kilku dni potrafi wygenerować rachunki równe miesięcznym kosztom standardowej eksploatacji.</p>
                    </div>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <div class="faq-question">
                <div class="faq-q-text">
                    <span class="faq-q-icon">❄️</span>
                    <h3 class="faq-q-title">Dlaczego moja podłoga jest zimna, mimo że zasilanie ma 45°C?</h3>
                </div>
                <div class="faq-toggle-btn">+</div>
            </div>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    <p>Wysoka temperatura na kotle nie gwarantuje ciepłej podłogi, jeśli energia nie jest w stanie dotrzeć do posadzki i przebić się do pomieszczenia. Najprawdopodobniej problem leży w <strong>błędach hydraulicznych lub złym wykończeniu podłogi</strong>.</p>
                    <p>W pierwszej kolejności sprawdź przepływy na rotametrach na rozdzielaczu – poprawne wartości to zazwyczaj od 1.0 do 2.5 l/min. Zablokowany przepływ może oznaczać zapowietrzenie pętli lub usterkę siłownika termoelektrycznego. Jeśli przepływy są prawidłowe, winny jest zbyt wysoki opór cieplny (R) – np. gruby dywan, zły podkład lub pustka powietrzna pod deską, która blokuje oddawanie ciepła.</p>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <div class="faq-question">
                <div class="faq-q-text">
                    <span class="faq-q-icon">🪵</span>
                    <h3 class="faq-q-title">Jaka jest optymalna temperatura dla paneli winylowych (LVT)?</h3>
                </div>
                <div class="faq-toggle-btn">+</div>
            </div>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    <p>Panele winylowe (LVT/SPC) są bardzo cienkie i rewelacyjnie przewodzą ciepło, co czyni je doskonałym wyborem na ogrzewanie podłogowe. Mają jednak jedną wadę: <strong>bardzo niską odporność na wysoką temperaturę</strong>.</p>
                    <p>Zgodnie z rygorystycznymi wytycznymi większości producentów, temperatura styku paneli z wylewką absolutnie nie może przekroczyć <strong>27°C - 28°C</strong>. Zazwyczaj oznacza to, że temperatura wody na zasilaniu podłogówki powinna być zablokowana na poziomie maksymalnie <strong>30-35°C</strong>.</p>
                    <div class="expert-highlight" style="border-left-color: var(--faq-danger); background: #fef2f2;">
                        <strong style="color: #991b1b;">Zagrożenie</strong>
                        <p style="color: #7f1d1d;">Przegrzanie winylu natychmiast prowadzi do rozmiękczenia materiału, odkształcenia (wyłamania) zamków, efektu "łódkowania" oraz utraty gwarancji na podłogę.</p>
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. 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('app-faq-module');
        if (container) {
            container.innerHTML = `
                <div style="padding: 60px 40px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px; border: 2px solid #dc2626;">
                    <span style="font-size: 48px; display: block; margin-bottom: 20px;">🔒</span>
                    <p style="margin: 0 0 15px 0; font-size: 24px;">Moduł Zabezpieczony Prawem Autorskim</p>
                    <p style="font-size: 16px; margin-bottom: 25px;">Baza wiedzy FAQ została skopiowana z naruszeniem licencji.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Akordeonu (Zwijanie / Rozwijanie)
    const faqItems = document.querySelectorAll('.faq-item');

    faqItems.forEach(item => {
        const question = item.querySelector('.faq-question');
        
        question.addEventListener('click', () => {
            const isActive = item.classList.contains('active');
            
            // Opcjonalnie: Zwijanie wszystkich innych zakładek po kliknięciu nowej
            faqItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                const otherAnswer = otherItem.querySelector('.faq-answer');
                otherAnswer.style.maxHeight = null;
            });

            // Logika otwierania klikniętego elementu
            if (!isActive) {
                item.classList.add('active');
                const answer = item.querySelector('.faq-answer');
                // Dynamiczne ustawienie max-height pozwala na gładką animację dla zawartości o różnej długości
                answer.style.maxHeight = answer.scrollHeight + "px";
            }
        });
    });
    
    // Otwórz domyślnie pierwsze pytanie, aby użytkownik widział, jak działa element
    if (faqItems.length > 0) {
        faqItems[0].classList.add('active');
        const firstAnswer = faqItems[0].querySelector('.faq-answer');
        firstAnswer.style.maxHeight = firstAnswer.scrollHeight + "px";
    }
});
</script>



<style>
:root {
    --dl-primary: #0f172a;
    --dl-secondary: #1e293b;
    --dl-accent: #0284c7;
    --dl-pdf: #ef4444; 
    --dl-img: #10b981; 
    --dl-bg: #f8fafc;
    --dl-border: #e2e8f0;
}

.premium-download-module {
    max-width: 900px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--dl-border);
    overflow: hidden;
    display: flex;
    flex-direction: row;
}

/* LEWA STRONA: Wizualizacja materiału (Podgląd) */
.dl-visual-side {
    flex: 0 0 38%;
    background: linear-gradient(135deg, var(--dl-primary) 0%, var(--dl-secondary) 100%);
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    border-right: 1px solid rgba(255,255,255,0.1);
    overflow: hidden;
}

/* Dekoracyjne tło */
.dl-visual-side::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-image: radial-gradient(circle at top right, rgba(2, 132, 199, 0.4) 0%, transparent 60%);
    pointer-events: none;
}

/* Nowy kontener z podglądem grafiki */
.dl-preview-wrapper {
    width: 170px;
    max-width: 80%;
    margin-bottom: 25px;
    border-radius: 8px;
    box-shadow: -10px 15px 25px rgba(0,0,0,0.4);
    border: 3px solid rgba(255,255,255,0.15);
    transform: rotate(-4deg) translateY(0);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 1;
    overflow: hidden;
    background: #fff;
}

.dl-preview-wrapper:hover {
    transform: rotate(0deg) translateY(-5px) scale(1.05);
    box-shadow: 0 20px 35px rgba(0,0,0,0.5);
    border-color: rgba(255,255,255,0.3);
}

.dl-preview-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.dl-visual-side p {
    color: #cbd5e1;
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
    z-index: 1;
    padding: 0 10px;
}

/* PRAWA STRONA: Treść i przyciski */
.dl-content-side {
    flex: 1;
    padding: 40px 50px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dl-badge {
    align-self: flex-start;
    background: #f0f9ff;
    color: var(--dl-accent);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid #bae6fd;
}

.dl-content-side h3 {
    font-size: 24px;
    font-weight: 900;
    color: var(--dl-primary);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.dl-features {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
}

.dl-features li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 12px;
    font-size: 15px;
    color: #475569;
    line-height: 1.5;
}

.dl-features li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--dl-img);
    font-weight: bold;
}

.dl-features li strong {
    color: var(--dl-primary);
}

/* Przyciski pobierania */
.dl-actions {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.dl-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 24px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    transition: all 0.3s ease;
    flex: 1;
    justify-content: center;
    min-width: 180px;
}

.dl-btn-pdf {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}

.dl-btn-pdf:hover {
    background: var(--dl-pdf);
    color: #ffffff;
    border-color: var(--dl-pdf);
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(239, 68, 68, 0.2);
}

.dl-btn-img {
    background: #f0fdf4;
    color: #15803d;
    border: 1px solid #bbf7d0;
}

.dl-btn-img:hover {
    background: var(--dl-img);
    color: #ffffff;
    border-color: var(--dl-img);
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(16, 185, 129, 0.2);
}

.dl-btn-icon {
    font-size: 18px;
}

@media (max-width: 768px) {
    .premium-download-module {
        flex-direction: column;
    }
    .dl-visual-side {
        padding: 40px 30px;
    }
    .dl-content-side {
        padding: 30px 25px;
    }
    .dl-actions {
        flex-direction: column;
    }
    .dl-btn {
        width: 100%;
    }
}
</style>

<div class="premium-download-module" id="app-download-center">

    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org",
        "@type": "WebApplication",
        "name": "Centrum Pobierania - Infografiki HVAC",
        "description": "Interaktywny moduł umożliwiający pobranie kompendium wiedzy na temat maksymalnych temperatur zasilania dla ogrzewania podłogowego w formatach PDF i WebP.",
        "applicationCategory": "MultimediaApplication",
        "operatingSystem": "All",
        "url": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/",
        "license": "https://projekt-ogrzewania.pl/",
        "offers": {
          "@type": "Offer",
          "price": "0",
          "priceCurrency": "PLN"
        },
        "creator": {
          "@type": "Person",
          "name": "Robert Kucharski",
          "sameAs": [
            "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
            "https://www.linkedin.com/in/robert-kucharski-38069b48/"
          ]
        },
        "featureList": [
          "Szybkie pobieranie infografiki w bezstratnym formacie PDF do druku",
          "Dostęp do lekkiej wersji graficznej WebP dla urządzeń mobilnych",
          "Zestawienie norm PN-EN 1264 z praktyką inżynierską"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Dataset",
        "name": "Infografika: Maksymalna temperatura zasilania podłogówki",
        "description": "Wizualne zestawienie parametrów eksploatacyjnych, optymalnych temperatur dla poszczególnych rodzajów posadzek oraz najczęstszych błędów montażowych.",
        "license": "https://projekt-ogrzewania.pl/",
        "distribution": [
          {
            "@type": "DataDownload",
            "encodingFormat": "application/pdf",
            "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Maksymalna-temperatura-zasilania-podlogowki.pdf"
          },
          {
            "@type": "DataDownload",
            "encodingFormat": "image/webp",
            "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Maksymalna-temperatura-zasilania-podlogowki.webp"
          }
        ],
        "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="dl-visual-side">
        <div class="dl-preview-wrapper">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Maksymalna-temperatura-zasilania-podlogowki.webp" alt="Podgląd infografiki - parametry ogrzewania podłogowego" class="dl-preview-img" loading="lazy">
        </div>
        <p>Materiały oparte na twardych danych inżynierskich i normie PN-EN 1264.</p>
    </div>

    <div class="dl-content-side">
        <div class="dl-badge">Darmowe Materiały</div>
        <h2>Pobierz infografikę z parametrami instalacji</h2>
        
        <ul class="dl-features">
            <li><strong>Graficzne podsumowanie wiedzy:</strong> Czytelny schemat pracy układu grzewczego.</li>
            <li><strong>Szybka ściągawka z norm:</strong> Optymalne i graniczne wartości temperatur (25°C - 55°C) zawsze pod ręką.</li>
            <li><strong>Analiza błędów:</strong> Zestawienie 3 najdroższych pomyłek montażowych.</li>
        </ul>

        <div class="dl-actions">
            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Maksymalna-temperatura-zasilania-podlogowki.pdf" target="_blank" rel="noopener noreferrer" class="dl-btn dl-btn-pdf">
                <span class="dl-btn-icon">📄</span> Pobierz plik PDF
            </a>
            
            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Maksymalna-temperatura-zasilania-podlogowki.webp" target="_blank" rel="noopener noreferrer" class="dl-btn dl-btn-img">
                <span class="dl-btn-icon">🖼️</span> Otwórz Obrazek
            </a>
        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-download-center');
        if (container) {
            container.innerHTML = `
                <div style="padding: 60px 40px; text-align: center; background: #fee2e2; color: #dc2626; width: 100%;">
                    <span style="font-size: 48px; display: block; margin-bottom: 20px;">🔒</span>
                    <p style="margin: 0 0 15px 0; font-size: 24px;">Moduł Zabezpieczony</p>
                    <p style="font-size: 16px; margin-bottom: 25px;">Moduł pobierania plików został skopiowany z naruszeniem licencji.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
        }
    }
});
</script>



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

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

.summary-header {
    background: var(--primary);
    padding: 35px 40px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

/* Dekoracyjne tło w nagłówku */
.summary-header::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -20px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(2, 132, 199, 0.4) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
}

.summary-header h2 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.3;
    position: relative;
    z-index: 2;
}

.summary-text {
    padding: 35px 40px 10px 40px;
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
}

.summary-text strong {
    color: var(--primary);
    background: rgba(2, 132, 199, 0.05);
    padding: 2px 6px;
    border-radius: 4px;
}

/* Moduł interaktywny - Weryfikator */
.interactive-checklist-module {
    margin: 20px 40px 40px 40px;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}

.checklist-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 1px;
    padding: 20px 25px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-light);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.progress-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 200px;
}

.progress-track {
    flex: 1;
    height: 8px;
    background: #e2e8f0;
    border-radius: 4px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    width: 0%;
    background: var(--accent);
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.progress-text {
    font-size: 12px;
    font-weight: 900;
    color: var(--primary);
    min-width: 40px;
    text-align: right;
}

.checklist-items {
    padding: 20px 25px;
    display: grid;
    gap: 12px;
}

.check-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 15px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    background: #ffffff;
}

.check-item:hover {
    border-color: #bae6fd;
    background: #f0f9ff;
}

.check-item.completed {
    border-color: var(--success);
    background: #f0fdf4;
}

.check-box {
    width: 24px;
    height: 24px;
    border: 2px solid #cbd5e1;
    border-radius: 6px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    background: #fff;
    margin-top: 2px;
}

.check-item.completed .check-box {
    background: var(--success);
    border-color: var(--success);
}

.check-icon {
    color: white;
    font-size: 14px;
    font-weight: 900;
    opacity: 0;
    transform: scale(0);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

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

.check-content h4 {
    margin: 0 0 5px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--primary);
}

.check-content p {
    margin: 0;
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
}

/* CTA Sukcesu - ROZWIĄZANIE HYBRYDOWE */
.success-cta-box {
    padding: 30px 40px;
    background: #f8fafc;
    border-top: 1px solid var(--border-color);
    text-align: center;
    transition: all 0.4s ease;
}

.success-cta-box.is-success {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
    border-top-color: #bbf7d0;
}

.success-messages {
    display: none;
    animation: fadeIn 0.5s ease;
}

.success-cta-box.is-success .success-messages {
    display: block;
}

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

.success-messages h3 {
    margin: 0 0 10px 0;
    font-size: 20px;
    color: #166534;
    font-weight: 900;
}

.success-messages p {
    font-size: 15px;
    color: #15803d;
    margin: 0 0 20px 0;
}

.success-cta-promo {
    font-size: 15px;
    color: var(--primary);
    margin-bottom: 20px;
    font-weight: 700;
    transition: color 0.4s ease;
}

.success-cta-box.is-success .success-cta-promo {
    color: #166534;
}

.cta-btn-blog {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #16a34a;
    color: #ffffff;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(22, 163, 74, 0.3);
}

.cta-btn-blog:hover {
    background: #15803d;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(22, 163, 74, 0.4);
    color: #ffffff;
}

@media (max-width: 768px) {
    .summary-header { padding: 30px 25px; }
    .summary-text { padding: 25px 25px 10px 25px; }
    .interactive-checklist-module { margin: 20px 20px 30px 20px; }
    .checklist-title { flex-direction: column; align-items: flex-start; gap: 15px; }
    .progress-wrapper { width: 100%; }
    .success-cta-box { padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Kluczowe parametry i wytyczne zasilania ogrzewania podłogowego",
    "description": "Zbiór najważniejszych inżynierskich wytycznych dotyczących maksymalnych limitów temperatury zasilania oraz powierzchni podłogi z uwzględnieniem specyfiki źródła ciepła i okładziny.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Maksymalna temperatura zasilania wg normy",
        "value": "55°C",
        "description": "Graniczna wartość według PN-EN 1264, której przekroczenie grozi uszkodzeniem jastrychu."
      },
      {
        "@type": "PropertyValue",
        "name": "Optymalna temperatura zasilania (Pompa ciepła)",
        "value": "30-38°C",
        "description": "Zakres gwarantujący najwyższy współczynnik SCOP i energooszczędność."
      },
      {
        "@type": "PropertyValue",
        "name": "Maksymalna temperatura powierzchni podłogi",
        "value": "29°C",
        "description": "Limit dla stref stałego przebywania ludzi (np. salon, sypialnia) ze względów fizjologicznych."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "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": "Ekspercki Audyt Parametrów Zasilania",
    "description": "Interaktywna aplikacja sprawdzająca, czy założenia projektowe dotyczące temperatur zasilania podłogówki są bezpieczne i zgodne z normami inżynierskimi.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Weryfikacja parametrów OZC i układu hydraulicznego",
      "Kontrola zabezpieczeń przed przegrzewem dla źródeł wysokotemperaturowych",
      "Ocena spójności między rozstawem rur a planowaną okładziną"
    ]
  }
]
</script>

<div class="premium-summary-box" id="summary-app-container">
    <div class="summary-header">
        <h2>Podsumowanie i rekomendacje eksperta</h2>
        <p style="margin:0; font-size: 15px; color:#cbd5e1;">Maksymalna temperatura zasilania podłogówki to parametr, którego nie wolno lekceważyć.</p>
    </div>
    
    <div class="summary-text">
        <p>Choć norma dopuszcza graniczną wartość <strong>55°C</strong>, współczesne budownictwo oparte na efektywnych źródłach niskotemperaturowych bezwzględnie dąży do parametrów na poziomie <strong>30-38°C</strong>. Taki zakres to jedyna droga, która gwarantuje najwyższą sprawność pomp ciepła, bezpieczeństwo termiczne dla wszystkich rodzajów okładzin wierzchnich oraz idealny, bezwładnościowy komfort cieplny dla domowników.</p>
    </div>

    <div class="interactive-checklist-module">
        <div class="checklist-title">
            <span>🌡️ Audyt Bezpieczeństwa: Weryfikacja parametrów zasilania</span>
            <div class="progress-wrapper">
                <div class="progress-track">
                    <div class="progress-fill" id="audit-fill"></div>
                </div>
                <span class="progress-text" id="audit-text">0%</span>
            </div>
        </div>

        <div class="checklist-items">
            <div class="check-item" data-val="25">
                <div class="check-box"><span class="check-icon">✓</span></div>
                <div class="check-content">
                    <h4>Projekt OZC jako absolutna podstawa</h4>
                    <p>Zawsze wymagam obliczenia projektowego zapotrzebowania na ciepło przed rozpoczęciem instalacji, aby nie dobierać temperatury zasilania "w ciemno".</p>
                </div>
            </div>

            <div class="check-item" data-val="25">
                <div class="check-box"><span class="check-icon">✓</span></div>
                <div class="check-content">
                    <h4>Zastosowanie zaworu mieszającego</h4>
                    <p>W przypadku współpracy z kotłem stałopalnym lub gazowym, układ jest zabezpieczony zaworem obniżającym zbyt wysoką temperaturę powrotu.</p>
                </div>
            </div>

            <div class="check-item" data-val="25">
                <div class="check-box"><span class="check-icon">✓</span></div>
                <div class="check-content">
                    <h4>Dopasowanie rozstawu pętli do okładziny</h4>
                    <p>Dobrałem gęstość rur pod rodzaj wykończenia. Zastosuję węższy rozstaw (np. co 10 cm), jeśli nad rurami znajdzie się stawiające opór termiczny drewno.</p>
                </div>
            </div>

            <div class="check-item" data-val="25">
                <div class="check-box"><span class="check-icon">✓</span></div>
                <div class="check-content">
                    <h4>Monitorowanie temperatury powierzchni</h4>
                    <p>Układ jest tak wyregulowany, by temperatura powierzchni podłogi (np. w salonie i sypialniach) bezwzględnie nie przekraczała normatywnych 29°C.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="success-cta-box" id="success-cta">
        
        <div class="success-messages" id="success-messages">
            <h3>Gratulacje! Twój układ grzewczy to majstersztyk inżynierski.</h3>
            <p>Inwestycja w poprawnie zaprojektowany i wyregulowany system to nie tylko niższe rachunki za energię, ale przede wszystkim spokój na dziesięciolecia i dom wolny od kosztownych awarii wylewki i posadzek.</p>
        </div>

        <p class="success-cta-promo">Chcesz poznać inne parametry wpływające na efektywność ogrzewania? Sprawdź naszą bazę wiedzy pełną branżowych kalkulatorów i darmowych poradników!</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="cta-btn-blog">
            📚 PRZEJDŹ NA BLOGA I POZNAJ KOLEJNE SEKRETY ➔
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe
    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('summary-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 12px; font-family: sans-serif;">
                    <span style="font-size: 40px;">⚠️</span>
                    <p style="margin: 15px 0;">Treść Chroniona Prawem Autorskim</p>
                    <p>Moduł audytu został skopiowany. Przejdź na stronę <strong>Projekt-Ogrzewania.pl</strong>.</p>
                </div>
            `;
            return;
        }
    }

    // Logika weryfikatora
    const checkItems = document.querySelectorAll('.check-item');
    const fill = document.getElementById('audit-fill');
    const text = document.getElementById('audit-text');
    const ctaBox = document.getElementById('success-cta');
    
    let currentProgress = 0;

    checkItems.forEach(item => {
        item.addEventListener('click', function() {
            const value = parseInt(this.getAttribute('data-val'));
            
            if (this.classList.contains('completed')) {
                this.classList.remove('completed');
                currentProgress -= value;
            } else {
                this.classList.add('completed');
                currentProgress += value;
            }

            // Aktualizacja UI paska postępu
            fill.style.width = currentProgress + '%';
            text.textContent = currentProgress + '%';

            // Zmiana zachowania CTA Boxa na tryb sukcesu
            if (currentProgress === 100) {
                fill.style.background = 'var(--success)';
                text.style.color = 'var(--success)';
                ctaBox.classList.add('is-success');
            } else {
                fill.style.background = 'var(--accent)';
                text.style.color = 'var(--primary)';
                ctaBox.classList.remove('is-success');
            }
        });
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">Maksymalna temperatura zasilania podłogówki.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Czy trzeba mieć projekt na ogrzewanie podłogowe?</title>
		<link>https://projekt-ogrzewania.pl/czy-trzeba-miec-projekt-na-ogrzewanie-podlogowe/</link>
					<comments>https://projekt-ogrzewania.pl/czy-trzeba-miec-projekt-na-ogrzewanie-podlogowe/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 09 Feb 2025 10:59:16 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Montaż ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Oszczędność energii]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Technologie budowlane]]></category>
		<category><![CDATA[dokumentacja techniczna]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[montaż ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędność energii]]></category>
		<category><![CDATA[porady budowlane]]></category>
		<category><![CDATA[projekt podłogówki]]></category>
		<category><![CDATA[remont domu]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2146</guid>

					<description><![CDATA[<p>Planujesz montaż ogrzewania podłogowego i zastanawiasz się, czy potrzebujesz profesjonalnego projektu? W artykule „Czy trzeba mieć projekt na ogrzewanie podłogowe?” znajdziesz odpowiedzi na wszystkie nurtujące pytania. Dowiesz się, dlaczego dokumentacja techniczna to klucz do efektywnego systemu grzewczego, jakie są koszty braku projektu oraz gdzie zamówić go za darmo. Poznasz również praktyczne przykłady i porady, które pomogą Ci uniknąć błędów. Sprawdź, jak zaoszczędzić energię i zapewnić sobie komfort na lata!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-trzeba-miec-projekt-na-ogrzewanie-podlogowe/">Czy trzeba mieć projekt na ogrzewanie podłogowe?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Czy trzeba mieć projekt na ogrzewanie podłogowe?</strong> To pytanie zadaje sobie wielu inwestorów, planujących montaż „podłogówki” w swoim domu. Ogrzewanie podłogowe to system, który zapewnia komfort cieplny i energooszczędność, ale jego prawidłowe działanie zależy od starannego zaplanowania. </p>



<p class="wp-block-paragraph">Czy można zrezygnować z profesjonalnego projektu i postawić na „domowe” rozwiązania? Wbrew pozorom, odpowiedź nie jest jednoznaczna. Choć w przypadku małych instalacji formalnie nie jest to wymagane, brak dokumentacji technicznej może prowadzić do poważnych problemów – od nierównomiernego rozprowadzenia ciepła po zwiększone koszty eksploatacji. </p>



<p class="wp-block-paragraph">W tym artykule przyjrzymy się, dlaczego <em>projekt instalacji ogrzewania podłogowego</em> to nie tylko formalność, ale inwestycja, która zwraca się w postaci oszczędności i długotrwałego komfortu. Dowiesz się również, gdzie zamówić taki projekt i czy można to zrobić za darmo. Zapraszamy do lektury!</p>



<h2 class="wp-block-heading">Dlaczego projekt instalacji podłogówki to konieczność?</h2>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl">Ogrzewanie podłogowe</a> to system, który wymaga precyzyjnego zaplanowania. W przeciwieństwie do grzejników, które można przesunąć lub wymienić, <strong>rury ukryte w wylewce</strong> są trudne do modyfikacji po montażu. Brak projektu może prowadzić do:</p>



<ul class="wp-block-list">
<li><strong>Nierównomiernego rozprowadzenia ciepła</strong> – miejscowe przegrzania lub „zimne strefy”.</li>



<li><strong>Zawyżonych kosztów eksploatacji</strong> – np. przez błędnie dobraną moc pompy ciepła.</li>



<li><strong>Uszkodzenia posadzki </strong>– np. pęknięć spowodowanych zbyt wysoką temperaturą zasilania.</li>
</ul>



<p class="wp-block-paragraph"><em>Przykład:</em> W domu o powierzchni 120 m² źle zaprojektowana rozstaw rur (np. 20 cm zamiast 10 cm w strefie okiennej) może zwiększyć zużycie energii nawet o 25%.</p>



<h2 class="wp-block-heading">Co zawiera profesjonalny projekt podłogówki?</h2>



<p class="wp-block-paragraph">Dobry <strong>projekt instalacji ogrzewania podłogowego</strong> to nie tylko schemat układu rur. To kompletna dokumentacja uwzględniająca:</p>



<ol class="wp-block-list">
<li><strong>Strefy grzewcze</strong> – podział na obwody z uwzględnieniem rodzaju pomieszczeń (np. łazienka vs. salon).</li>



<li><strong>Parametry techniczne</strong> – moc cieplna, temperatura zasilania, rodzaj <a href="https://projekt-ogrzewania.pl/kategoria-produktu/rury-do-ogrzewania-podlogowego/">rur</a> (np. PEX-Al-PEX).</li>



<li><strong>Rozstaw pętli grzewczych</strong> – odległości między rurami dostosowane do strat ciepła.</li>
</ol>



<p class="wp-block-paragraph">Przykładowy projekt można zobaczyć <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">tutaj</a>.</p>



<p class="wp-block-paragraph"><em>Case study:</em> W projekcie dla domu parterowego z poddaszem użytkowym zaproponowano układ spiralny w salonach (lepsza równomierność) i meandryczny w łazienkach (wyższa moc lokalnie).</p>



<h2 class="wp-block-heading">Koszty braku projektu – liczby, które przekonują.</h2>



<p class="wp-block-paragraph">Oszczędzając na dokumentacji, często tracimy więcej na etapie eksploatacji. Oto porównanie kosztów instalacji ogrzewania podłogowego dla domu z użytkowym poddaszem o powierzchni 150m2 :</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><th>Kryterium</th><th>Z projektem</th><th>Bez projektu</th></tr><tr><td>Roczne zużycie energii</td><td>4500 kWh</td><td>6200 kWh</td></tr><tr><td>Koszt instalacji ogrzewania</td><td>18 000 zł</td><td>22 500 zł (przeróbki)</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><em>Uwaga:</em> Powyższe dane dotyczą przykładowego budynku o zapotrzebowaniu 60 W/m².</p>



<h2 class="wp-block-heading">Gdzie zamówić projekt i ile to kosztuje?</h2>



<p class="wp-block-paragraph">Na stronie <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projekt-ogrzewania.pl</a> znajdziesz ofertę <strong>darmowego projektu podłogówki</strong>, gdzie opłata 350 zł stanowi zwrotną kaucję. Warunki? Po zrealizowaniu zakupu materiałów u partnerów firmy otrzymasz zwrot kosztów – szczegóły znajdziesz w <a href="https://projekt-ogrzewania.pl/zwrot-kaucji-za-zakupiony-projekt-ogrzewania-podlogowego/">regulaminie promocji</a>.</p>



<h2 class="wp-block-heading">FAQ:</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1739097183708"><strong class="schema-faq-question"><strong>Czy projekt na ogrzewanie podłogowe jest obowiązkowy?</strong></strong> <p class="schema-faq-answer">Nie zawsze. W domach jednorodzinnych o powierzchni do 70 m² projekt nie jest wymagany prawnie, ale zaleca się go dla większych instalacji lub gdy zależy nam na optymalizacji kosztów i efektywności.</p> </div> <div class="schema-faq-section" id="faq-question-1739097197791"><strong class="schema-faq-question"><strong>Jakie są korzyści z posiadania projektu?</strong></strong> <p class="schema-faq-answer">Projekt zapewnia równomierne rozprowadzenie ciepła, minimalizuje ryzyko błędów montażowych oraz obniża koszty eksploatacji systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1739097210604"><strong class="schema-faq-question"><strong>Gdzie można zamówić projekt ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Projekt można zamówić np. na naszej stronie <a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/" target="_blank" rel="noreferrer noopener">projekt-ogrzewania.pl</a>, gdzie oferowany jest darmowy projekt po zakupie materiałów u partnerów.</p> </div> <div class="schema-faq-section" id="faq-question-1739097267561"><strong class="schema-faq-question"><strong>Ile kosztuje projekt ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Koszt projektu zaczyna się od 350 zł, ale na <a href="https://projekt-ogrzewania.pl/darmowy-projekt-ogrzewania-podlogowego/">u nas</a> można uzyskać go za darmo po spełnieniu warunków promocji.</p> </div> <div class="schema-faq-section" id="faq-question-1739097280680"><strong class="schema-faq-question"><strong>Co się stanie, jeśli zrezygnuję z projektu?</strong></strong> <p class="schema-faq-answer">Brak projektu może prowadzić do nierównomiernego grzania, zwiększonych kosztów energii, a nawet uszkodzeń posadzki. Warto zainwestować w dokumentację, aby uniknąć problemów na późniejszym etapie.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie: Projekt to inwestycja, która się zwraca.</h2>



<p class="wp-block-paragraph">Nawet jeśli formalnie <strong>projekt na ogrzewanie podłogowe</strong> nie jest wymagany prawem budowlanym (w domach jednorodzinnych do 70 m²), jego wykonanie to gwarancja:</p>



<ul class="wp-block-list">
<li>Optymalnego zużycia energii.</li>



<li>Minimalizacji ryzyka błędów montażowych.</li>



<li>Możliwości reklamacji w przypadku awarii.</li>
</ul>



<p class="wp-block-paragraph"><em>Pamiętaj: W przypadku większych instalacji dokumentacja techniczna jest obowiązkowa – wymaga jej m.in. do odbioru kominiarskiego.</em></p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="A1M0mQ3NmC"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=vLL7NisFUR#?secret=A1M0mQ3NmC" data-secret="A1M0mQ3NmC" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-trzeba-miec-projekt-na-ogrzewanie-podlogowe/">Czy trzeba mieć projekt na ogrzewanie podłogowe?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/czy-trzeba-miec-projekt-na-ogrzewanie-podlogowe/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Ogrzewanie podłogowe w remontowanym budynku – czy warto?</title>
		<link>https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-remontowanym-budynku-czy-warto/</link>
					<comments>https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-remontowanym-budynku-czy-warto/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 24 Nov 2024 10:54:53 +0000</pubDate>
				<category><![CDATA[Domy energooszczędne]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Komfort cieplny]]></category>
		<category><![CDATA[Koszty ogrzewania]]></category>
		<category><![CDATA[Modernizacja budynków]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady remontowe]]></category>
		<category><![CDATA[Remonty budynków]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[instalacja ogrzewania]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[modernizacja domu]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[ogrzewanie w starym domu]]></category>
		<category><![CDATA[oszczędność energii]]></category>
		<category><![CDATA[projekt podłogówki]]></category>
		<category><![CDATA[remont budynku]]></category>
		<category><![CDATA[technologie grzewcze]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=1603</guid>

					<description><![CDATA[<p>Czy warto inwestować w ogrzewanie podłogowe w remontowanym budynku? To pytanie nurtuje wielu właścicieli starszych nieruchomości. Ogrzewanie podłogowe zapewnia komfort cieplny, estetykę wnętrza oraz niższe rachunki za ogrzewanie. Jednak instalacja takiego systemu w starszym budynku wiąże się z pewnymi wyzwaniami i kosztami. W artykule omawiamy zalety, wyzwania oraz sposoby optymalizacji kosztów, które mogą sprawić, że inwestycja będzie bardziej opłacalna.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-remontowanym-budynku-czy-warto/">Ogrzewanie podłogowe w remontowanym budynku – czy warto?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Ogrzewanie podłogowe w ostatnich latach staje się coraz popularniejsze. Właściciele nowych domów często decydują się na jego instalację ze względu na korzyści związane z komfortem cieplnym oraz estetyką wnętrza. Ale co z budynkami remontowanymi? Czy warto zainwestować w <strong>ogrzewanie podłogowe w remontowanym budynku</strong>? Temat ten budzi wiele wątpliwości, głównie ze względu na koszty oraz konieczność przeprowadzenia prac adaptacyjnych. W artykule omówimy, jakie korzyści niesie ze sobą ogrzewanie podłogowe, jakie są wyzwania związane z jego instalacją w starszych budynkach oraz jak można je zoptymalizować, by inwestycja była opłacalna.</p>



<h2 class="wp-block-heading">Zalety ogrzewania podłogowego w remontowanym budynku.</h2>



<p class="wp-block-paragraph">Ogrzewanie podłogowe, niezależnie od rodzaju budynku, ma wiele zalet. Przede wszystkim zapewnia równomierne rozprowadzanie ciepła po całej powierzchni pomieszczenia. Dzięki temu unika się sytuacji, w której przy grzejnikach jest ciepło, a w dalszych rogach pokoju chłodno. Ogrzewanie podłogowe generuje przyjemne ciepło, które jest odczuwalne na poziomie podłogi, co szczególnie doceniamy w chłodniejsze dni.</p>



<p class="wp-block-paragraph">W remontowanych budynkach <strong><a href="https://projekt-ogrzewania.pl/category/ogrzewanie-podlogowe/">ogrzewanie podłogowe</a></strong> może wpłynąć na poprawę efektywności energetycznej. Dzięki równomiernemu rozprowadzaniu ciepła można osiągnąć przyjemną temperaturę przy niższym zużyciu energii, co przekłada się na niższe rachunki za ogrzewanie. Jest to szczególnie ważne w starszych budynkach, które z natury mogą być mniej energooszczędne.</p>



<p class="wp-block-paragraph">Ponadto, ogrzewanie podłogowe pozwala na optymalną aranżację wnętrza. Brak widocznych grzejników daje więcej możliwości przy projektowaniu przestrzeni mieszkalnej. Jest to szczególnie istotne w budynkach o niewielkiej powierzchni, gdzie każdy metr kwadratowy ma znaczenie. W starszych budynkach, które często charakteryzują się nieco bardziej wymagającymi układami wnętrz, brak konieczności uwzględniania grzejników może być kluczowym atutem.</p>



<h2 class="wp-block-heading">Wyzwania przy instalacji ogrzewania podłogowego w starszych budynkach.</h2>



<p class="wp-block-paragraph">Chociaż <strong>ogrzewanie podłogowe</strong> ma wiele zalet, jego instalacja w remontowanym budynku wiąże się z pewnymi wyzwaniami. Pierwszym z nich jest konieczność podniesienia poziomu podłogi. W starszych budynkach może to być problematyczne, zwłaszcza jeśli są niskie sufity lub drzwi, które nie dają się łatwo dopasować. <strong>Podniesienie poziomu podłogi</strong> o kilka centymetrów może również wymagać adaptacji schodów, a w skrajnych przypadkach – nawet zmiany układu pomieszczeń.</p>



<p class="wp-block-paragraph">Kolejnym wyzwaniem są <strong>istniejące instalacje</strong> w budynku. Starsze budynki mogą posiadać systemy, które nie są przystosowane do ogrzewania podłogowego. W takich przypadkach konieczne będzie nie tylko zainstalowanie nowego systemu grzewczego, ale także modernizacja instalacji elektrycznej oraz hydraulicznej. Wymaga to znacznych nakładów finansowych i może wpływać na czas remontu.</p>



<p class="wp-block-paragraph">Nie bez znaczenia są także koszty całej inwestycji. <strong>Ogrzewanie podłogowe</strong> w budynku remontowanym wymaga większych nakładów niż w przypadku budynku nowego, gdzie można przewidzieć je już na etapie projektowania. Koszt instalacji systemu podłogowego w budynku starszym może być wyższy z powodu konieczności dostosowania innych elementów konstrukcyjnych.</p>



<h2 class="wp-block-heading">Jak zoptymalizować koszty instalacji ogrzewania podłogowego w starym domu?</h2>



<p class="wp-block-paragraph">Aby zminimalizować koszty <strong>ogrzewania podłogowego w remontowanym budynku</strong>, warto dobrze przemyśleć projekt i skonsultować się z fachowcami. Ważnym krokiem jest odpowiednie zaprojektowanie instalacji. Można to zrobić, zamawiając profesjonalny <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/"><strong>Projekt instalacji ogrzewania podłogowego – podłogówki</strong></a>. Dobrze zaplanowany projekt pozwala na uniknięcie błędów, które mogłyby podnieść koszty całej inwestycji, oraz na optymalizację zużycia energii w przyszłości.</p>



<p class="wp-block-paragraph">Istotnym elementem jest również wybór odpowiednich materiałów izolacyjnych. W budynku starszym, w którym mogą występować straty ciepła, dobra izolacja jest kluczowa dla skutecznego działania <strong>ogrzewania podłogowego</strong>. Dzięki temu ogrzewanie będzie bardziej efektywne, co pozwoli na zmniejszenie zużycia energii oraz kosztów eksploatacji.</p>



<p class="wp-block-paragraph">Warto również rozważyć zastosowanie nowoczesnych technologii, takich jak <strong>sterowanie ogrzewaniem podłogowym</strong> za pomocą aplikacji mobilnej. Pozwala to na bardziej precyzyjne zarządzanie temperaturą w pomieszczeniach, co przyczynia się do oszczędności energii. Dodatkowo, w przypadku budynków remontowanych, warto zainwestować w systemy pozwalające na inteligentne zarządzanie ciepłem, co daje możliwość dostosowania zużycia energii do aktualnych potrzeb.</p>



<h2 class="wp-block-heading">Czy warto instalować ogrzewanie podłogowe w remontowanym budynku?</h2>



<p class="wp-block-paragraph">Podsumowując, decyzja o instalacji <strong>ogrzewania podłogowego w remontowanym budynku</strong> zależy od wielu czynników. Niewątpliwie jest to rozwiązanie komfortowe i efektywne, jednak wiąże się z dodatkowymi kosztami oraz koniecznością dostosowania budynku do nowego systemu grzewczego. Zaletą jest jednak poprawa efektywności energetycznej, estetyka wnętrz oraz komfort cieplny, który jest odczuwalny na co dzień.</p>



<p class="wp-block-paragraph">Jeśli jesteś gotowy na większy remont, a budynek, w którym chcesz zainstalować ogrzewanie podłogowe, posiada odpowiednie warunki techniczne, warto rozważyć tę inwestycję. Dzięki nowoczesnym technologiom oraz <strong>dobrze zaprojektowanej instalacji</strong>, możliwe jest znaczące obniżenie kosztów eksploatacji, co sprawia, że ogrzewanie podłogowe może być bardziej opłacalne niż tradycyjne metody ogrzewania.</p>



<h3 class="wp-block-heading">FAQ’s</h3>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1732444691393"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe można zamontować w każdym starszym budynku?</strong></strong> <p class="schema-faq-answer">Nie w każdym przypadku instalacja <strong>ogrzewania podłogowego</strong> jest możliwa lub opłacalna. Wszystko zależy od stanu technicznego budynku oraz możliwości dostosowania podłogi i innych elementów konstrukcyjnych do nowego systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1732444704113"><strong class="schema-faq-question"><strong>Jakie są największe zalety ogrzewania podłogowego w starszym budynku?</strong></strong> <p class="schema-faq-answer">Największymi zaletami są komfort cieplny, równomierne rozprowadzanie ciepła oraz estetyka wnętrza – brak widocznych grzejników daje więcej możliwości aranżacyjnych.</p> </div> <div class="schema-faq-section" id="faq-question-1732444722332"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe jest bardziej oszczędne od tradycyjnego?</strong></strong> <p class="schema-faq-answer">Tak, <strong>ogrzewanie podłogowe</strong> może być bardziej oszczędne, zwłaszcza przy odpowiednim projekcie oraz zastosowaniu nowoczesnych technologii sterowania temperaturą.</p> </div> <div class="schema-faq-section" id="faq-question-1732444738570"><strong class="schema-faq-question"><strong>Jakie problemy mogą pojawić się przy instalacji ogrzewania podłogowego w starszym budynku?</strong></strong> <p class="schema-faq-answer">Największe problemy to konieczność podniesienia poziomu podłogi, modernizacja instalacji elektrycznej i hydraulicznej oraz potencjalne wysokie koszty inwestycji.</p> </div> <div class="schema-faq-section" id="faq-question-1732444749117"><strong class="schema-faq-question"><strong>Czy potrzebny jest specjalny projekt instalacji ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Tak, aby zminimalizować koszty i uniknąć błędów, warto zamówić profesjonalny który można zamówić <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/"><strong>tutaj</strong></a>.</p> </div> </div>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="auB4SCU9pb"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=Z8VNKHfijr#?secret=auB4SCU9pb" data-secret="auB4SCU9pb" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-remontowanym-budynku-czy-warto/">Ogrzewanie podłogowe w remontowanym budynku – czy warto?</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-remontowanym-budynku-czy-warto/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
