<?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 systemy grzewcze - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/tag/systemy-grzewcze/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/tag/systemy-grzewcze/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Wed, 13 May 2026 17:51:40 +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 systemy grzewcze - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/tag/systemy-grzewcze/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Zwrot z inwestycji w ogrzewanie podłogowe – realne wyliczenia na 2026 rok.</title>
		<link>https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 07 Mar 2026 14:43:41 +0000</pubDate>
				<category><![CDATA[Domy energooszczędne]]></category>
		<category><![CDATA[Energooszczędne budownictwo]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Koszty energii]]></category>
		<category><![CDATA[Koszty instalacji grzewczych]]></category>
		<category><![CDATA[Koszty ogrzewania]]></category>
		<category><![CDATA[Koszty ogrzewania podłogowego]]></category>
		<category><![CDATA[Modernizacja ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Pompy ciepła]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Technologia grzewcza]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[efektywność ogrzewania]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[koszty ogrzewania domu]]></category>
		<category><![CDATA[ogrzewanie domu 2026]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[podłogówka czy grzejniki]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<category><![CDATA[zwrot z inwestycji ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3718</guid>

					<description><![CDATA[<p>Rosnące ceny energii sprawiają, że inwestorzy coraz częściej analizują nie tylko koszt budowy instalacji grzewczej, ale także jej opłacalność w długiej perspektywie. Właśnie dlatego temat zwrot z inwestycji w ogrzewanie podłogowe budzi dziś ogromne zainteresowanie wśród właścicieli domów i osób planujących budowę. Nowoczesne systemy niskotemperaturowe, współpracujące z pompami ciepła, pozwalają znacząco obniżyć rachunki za ogrzewanie. Sprawdzamy realne wyliczenia na 2026 rok, porównujemy koszty z grzejnikami i pokazujemy, kiedy podłogówka zaczyna przynosić realny zysk.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/">Zwrot z inwestycji w ogrzewanie podłogowe – realne wyliczenia na 2026 rok.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Inwestycja w ogrzewanie podłogowe to jedna z tych decyzji, które dzielą inwestorów na dwa obozy: tych, którzy liczą każdą złotówkę wydaną „na starcie”, oraz tych, którzy patrzą na całkowity koszt posiadania domu przez dekady. W 2026 roku, w obliczu uwolnionych cen energii, taryf dynamicznych i rygorystycznych norm unijnych wynikających z dyrektywy EPBD, odpowiedź na pytanie o&nbsp;<strong>zwrot z inwestycji w ogrzewanie podłogowe</strong>&nbsp;nie jest już tylko kwestią komfortu, ale twardej matematyki, którą można precyzyjnie wyliczyć.</p>



<p class="wp-block-paragraph">Czy „podłogówka” to nadal luksus, czy może jedyna droga do przetrwania w dobie drogiego prądu? Sprawdzamy, ile realnie zaoszczędzisz po 10 latach i dlaczego tradycyjne grzejniki stają się dla pomp ciepła „kulą u nogi”. Wstępne koszty instalacji ogrzewania podłogowego są wyższe o około 30-40% w porównaniu do klasycznych grzejników, ale w 2026 roku kluczowym pojęciem jest&nbsp;<strong>COP (Coefficient of Performance)</strong>&nbsp;pompy ciepła.</p>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl/" type="link" id="https://projekt-ogrzewania.pl/">Ogrzewanie podłogowe</a> to system niskotemperaturowy (zasilanie ok. 30–35°C), podczas gdy grzejniki wymagają 50–55°C, by pracować efektywnie. Każdy stopień obniżenia temperatury zasilania to około 2-3% oszczędności na rachunku za prąd. W skali dekady, przy uwzględnieniu inflacji i rosnących opłat dystrybucyjnych, różnica ta staje się Twoim czystym zyskiem. <strong>Inwestycja w ogrzewanie podłogowe zwrot</strong> następuje zazwyczaj między 7. a 11. rokiem użytkowania, ale jeśli weźmiemy pod uwagę taryfy dynamiczne (ładowanie „bufora ciepła” w wylewce, gdy prąd jest tani), okres ten może skrócić się nawet do 5-6 lat.</p>



<h2 class="wp-block-heading">Jakie czynniki decydują o opłacalności podłogówki w 2026 roku?</h2>



<p class="wp-block-paragraph">Zanim przejdziemy do szczegółowych wyliczeń, musimy zrozumieć, dlaczego w ogóle ogrzewanie podłogowe może być bardziej ekonomiczne od tradycyjnych grzejników. Odpowiedź kryje się w dwóch słowach:&nbsp;<strong>temperatura zasilania</strong>.</p>



<h3 class="wp-block-heading">Niska temperatura to wyższa efektywność źródła ciepła.</h3>



<ul class="wp-block-list">
<li><strong><a href="https://projekt-ogrzewania.pl/pompa-ciepla/" type="link" id="https://projekt-ogrzewania.pl/pompa-ciepla/">Pompy ciepła</a></strong> osiągają tym wyższą efektywność (współczynnik COP), im niższa jest temperatura wody w instalacji. Dla podłogówki COP może wynosić nawet 4,2–4,5, podczas gdy przy grzejnikach spada do 2,8–3,2.</li>



<li><strong><a href="https://projekt-ogrzewania.pl/kociol-gazowy/" type="link" id="https://projekt-ogrzewania.pl/kociol-gazowy/">Kotły kondensacyjne</a></strong> w pełni wykorzystują zjawisko kondensacji pary wodnej właśnie przy niskich temperaturach powrotu. Im chłodniejsza woda wraca do kotła, tym więcej ciepła odzyskujemy ze spalin.</li>
</ul>



<h3 class="wp-block-heading">Taryfy dynamiczne i magazynowanie ciepła – nowość 2026 roku.</h3>



<p class="wp-block-paragraph">W 2026 roku taryfy dynamiczne pozwalają pompie pracować głównie w godzinach taniego prądu (np. między 11:00 a 15:00, gdy fotowoltaika sąsiadów generuje nadwyżki do sieci).&nbsp;<strong>Wylewka anhydrytowa o grubości 6-7 cm magazynuje to ciepło na wieczór</strong>, działając jak tani akumulator. Grzejniki takiej możliwości nie dają – muszą pracować wtedy, gdy jest zimno, czyli często w godzinach szczytu wieczornego, gdy prąd jest najdroższy.</p>



<h3 class="wp-block-heading">Koszt instalacji w 2026 roku – ile trzeba wydać na starcie?</h3>



<p class="wp-block-paragraph">Dla potrzeb naszych wyliczeń przyjmujemy następujące koszty instalacji wewnętrznej (bez źródła ciepła):</p>



<ul class="wp-block-list">
<li><strong>Dom 120 m²</strong>: podłogówka około 27 600 zł, grzejniki około 19 200 zł</li>



<li><strong>Dom 150 m²</strong>: podłogówka około 34 500 zł, grzejniki około 24 000 zł</li>



<li><strong>Dom 200 m²</strong>: podłogówka około 46 000 zł, grzejniki około 32 000 zł</li>
</ul>



<h2 class="wp-block-heading">Realne wyliczenia dla czterech scenariuszy inwestycyjnych (dane na 2026 rok).</h2>



<p class="wp-block-paragraph">Przyjmujemy średnią cenę prądu w 2026 roku na poziomie&nbsp;<strong>1,10 zł/kWh</strong>&nbsp;(z dystrybucją) oraz gazu na poziomie&nbsp;<strong>0,42 zł/kWh</strong>. Standard energetyczny domów: WT 2021 (około&nbsp;<strong>70 kWh/m²/rok</strong>).</p>



<h3 class="wp-block-heading">Scenariusz A: Mały dom (120 m²) + Pompa ciepła powietrzna.</h3>



<p class="wp-block-paragraph"><strong>Parametry</strong>: powierzchnia 120 m², zapotrzebowanie = 8 400 kWh/rok</p>



<p class="wp-block-paragraph"><strong>Koszty instalacji</strong>:</p>



<ul class="wp-block-list">
<li>Grzejniki + pompa ciepła: 19 200 zł + 35 000 zł = 54 200 zł</li>



<li>Podłogówka + pompa ciepła: 27 600 zł + 35 000 zł = 62 600 zł</li>



<li><strong>Różnica (dopłata do podłogówki)</strong>: 8 400 zł</li>
</ul>



<p class="wp-block-paragraph"><strong>Roczne koszty ogrzewania</strong>:</p>



<ul class="wp-block-list">
<li>Grzejniki (COP przy 55°C = 3,0): 8 400 / 3,0 = 2 800 kWh × 1,10 zł =&nbsp;<strong>3 080 zł</strong></li>



<li>Podłogówka (COP przy 35°C = 4,2): 8 400 / 4,2 = 2 000 kWh × 1,10 zł =&nbsp;<strong>2 200 zł</strong></li>



<li><strong>Roczna oszczędność</strong>: 3 080 – 2 200 =&nbsp;<strong>880 zł</strong></li>
</ul>



<p class="wp-block-paragraph"><strong>Prosty okres zwrotu</strong>: 8 400 zł / 880 zł ≈&nbsp;<strong>9,5 roku</strong></p>



<h3 class="wp-block-heading">Scenariusz B: Średni dom (150 m²) + Pompa ciepła + Taryfy dynamiczne.</h3>



<p class="wp-block-paragraph"><strong>Parametry</strong>: powierzchnia 150 m², zapotrzebowanie = 10 500 kWh/rok</p>



<p class="wp-block-paragraph"><strong>Koszty instalacji</strong>:</p>



<ul class="wp-block-list">
<li>Grzejniki + pompa ciepła: 24 000 zł + 35 000 zł = 59 000 zł</li>



<li>Podłogówka + pompa ciepła: 34 500 zł + 35 000 zł = 69 500 zł</li>



<li><strong>Różnica</strong>: 10 500 zł</li>
</ul>



<p class="wp-block-paragraph"><strong>Roczne koszty ogrzewania</strong>&nbsp;(z optymalizacją taryf dynamicznych):</p>



<ul class="wp-block-list">
<li>Grzejniki (COP 3,0, brak akumulacji): 10 500 / 3,0 = 3 500 kWh × 1,10 zł =&nbsp;<strong>3 850 zł</strong></li>



<li>Podłogówka (COP 4,2 + magazynowanie w wylewce pozwala wykorzystać 70% energii w tańszej taryfie 0,80 zł/kWh): 10 500 / 4,2 = 2 500 kWh, z czego 1 750 kWh po 0,80 zł i 750 kWh po 1,10 zł = 1 400 + 825 =&nbsp;<strong>2 225 zł</strong></li>



<li><strong>Roczna oszczędność</strong>: 3 850 – 2 225 =&nbsp;<strong>1 625 zł</strong>&nbsp;(dla uśrednienia przyjmijmy 1 450 zł, uwzględniając lata mniej słoneczne)</li>
</ul>



<p class="wp-block-paragraph"><strong>Okres zwrotu</strong>: 10 500 zł / 1 450 zł ≈&nbsp;<strong>7,2 roku</strong></p>



<h3 class="wp-block-heading">Scenariusz C: Duży dom (200 m²) + Pompa ciepła gruntowa.</h3>



<p class="wp-block-paragraph"><strong>Parametry</strong>: powierzchnia 200 m², zapotrzebowanie = 14 000 kWh/rok</p>



<p class="wp-block-paragraph"><strong>Koszty instalacji</strong>:</p>



<ul class="wp-block-list">
<li>Grzejniki + pompa gruntowa: 32 000 zł + 65 000 zł = 97 000 zł</li>



<li>Podłogówka + pompa gruntowa: 46 000 zł + 65 000 zł = 111 000 zł</li>



<li><strong>Różnica</strong>: 14 000 zł</li>
</ul>



<p class="wp-block-paragraph"><strong>Roczne koszty ogrzewania</strong>:</p>



<ul class="wp-block-list">
<li>Grzejniki (COP 4,0 dla gruntówki przy 55°C): 14 000 / 4,0 = 3 500 kWh × 1,10 zł =&nbsp;<strong>3 850 zł</strong></li>



<li>Podłogówka (COP 5,0 przy 35°C): 14 000 / 5,0 = 2 800 kWh × 1,10 zł =&nbsp;<strong>3 080 zł</strong></li>



<li><strong>Roczna oszczędność</strong>: 3 850 – 3 080 =&nbsp;<strong>770 zł</strong>&nbsp;(Uwaga: to mniej niż w scenariuszu B, bo gruntówka jest już bardzo efektywna nawet z grzejnikami)</li>
</ul>



<p class="wp-block-paragraph"><strong>Okres zwrotu</strong>: 14 000 zł / 770 zł ≈&nbsp;<strong>18 lat</strong>&nbsp;– to pokazuje, że przy gruntowej pompie głównym zyskiem jest komfort, a nie ekonomia.</p>



<h3 class="wp-block-heading">Scenariusz D: Dom 150 m² + Kocioł gazowy kondensacyjny (modernizacja).</h3>



<p class="wp-block-paragraph"><strong>Parametry</strong>: jak w scenariuszu B, 150 m², 10 500 kWh/rok</p>



<p class="wp-block-paragraph"><strong>Koszty instalacji</strong>:</p>



<ul class="wp-block-list">
<li>Grzejniki + kocioł: 24 000 zł + 18 000 zł = 42 000 zł</li>



<li>Podłogówka + kocioł: 34 500 zł + 18 000 zł = 52 500 zł</li>



<li><strong>Różnica</strong>: 10 500 zł</li>
</ul>



<p class="wp-block-paragraph"><strong>Roczne koszty ogrzewania</strong>:</p>



<ul class="wp-block-list">
<li>Grzejniki (sprawność 95%): 10 500 / 0,95 = 11 053 kWh gazu × 0,42 zł =&nbsp;<strong>4 642 zł</strong></li>



<li>Podłogówka (sprawność 105%): 10 500 / 1,05 = 10 000 kWh gazu × 0,42 zł =&nbsp;<strong>4 200 zł</strong></li>



<li><strong>Roczna oszczędność</strong>: 4 642 – 4 200 =&nbsp;<strong>442 zł</strong>&nbsp;(w zaokrągleniu 450 zł)</li>
</ul>



<p class="wp-block-paragraph"><strong>Okres zwrotu</strong>: 10 500 zł / 450 zł ≈&nbsp;<strong>23 lata</strong></p>



<p class="wp-block-paragraph"><strong>Wniosek</strong>: Przy gazie podłogówkę wybieramy głównie dla komfortu, a nie czystego zysku. To potwierdza, że prawdziwym beneficjentem niskotemperaturowej podłogówki jest pompa ciepła.</p>



<h2 class="wp-block-heading">Tabela rzeczywistego zwrotu w latach (z inflacją i taryfami dynamicznymi).</h2>



<p class="wp-block-paragraph">Poniższa tabela przedstawia skumulowane oszczędności z wyboru ogrzewania podłogowego nad grzejnikowym dla&nbsp;<strong>domu 150 m² z pompą ciepła i taryfami dynamicznymi</strong>&nbsp;(Scenariusz B). Założono średni wzrost cen energii o 4% rocznie oraz coroczną optymalizację taryfową.</p>



<style>
.roi-table-wrapper {
    width: 100%;
    overflow-x: auto;
    margin: 40px 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.roi-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0,0,0,0.06);
}

.roi-table thead {
    background: #1c7c54;
    color: #fff;
    position: sticky;
    top: 0;
    z-index: 2;
}

.roi-table th {
    padding: 18px;
    font-size: 14px;
    text-align: left;
    font-weight: 600;
}

.roi-table td {
    padding: 16px 18px;
    border-bottom: 1px solid #f0f0f0;
    font-size: 15px;
    vertical-align: middle;
}

.roi-table tr:nth-child(even) {
    background: #fafafa;
}

/* POPRAWKA: Selektor ograniczony tylko do ciała tabeli */
.roi-table tbody tr:hover:not(.roi-break) {
    background: #f2f7f5;
}

.roi-bold {
    font-weight: 700;
}

.roi-profit {
    color: #157a5b;
    font-weight: 700;
}

.roi-loss {
    color: #c0392b;
    font-weight: 600;
}

.roi-break {
    background: #fff3dc !important;
    font-weight: 700;
    box-shadow: inset 4px 0 0 #e0a94f;
}

.roi-progress {
    height: 8px;
    background: #e9f3ef;
    border-radius: 6px;
    margin-top: 6px;
    overflow: hidden;
}

.roi-bar {
    height: 100%;
    background: #1c7c54;
    border-radius: 6px;
}

@media(max-width:768px) {
    .roi-table th {
        font-size: 13px;
        padding: 14px;
    }
    .roi-table td {
        font-size: 14px;
        padding: 14px;
    }
}
</style>

<div class="roi-table-wrapper">
    <table class="roi-table">
        <thead>
            <tr>
                <th>Rok</th>
                <th>Koszt eksploatacji<br>(Grzejniki)</th>
                <th>Koszt eksploatacji<br>(Podłogówka)</th>
                <th>Skumulowana oszczędność</th>
                <th>Bilans inwestycji<br>(Nadwyżka / Strata)</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td class="roi-bold">Rok 0</td>
                <td>–</td>
                <td>–</td>
                <td>–</td>
                <td class="roi-loss">-10 500 zł</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 1</td>
                <td>3 850 zł</td>
                <td>2 225 zł</td>
                <td>1 625 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:8%"></div></div>
                </td>
                <td class="roi-loss">-8 875 zł</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 2</td>
                <td>4 004 zł</td>
                <td>2 314 zł</td>
                <td>3 315 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:17%"></div></div>
                </td>
                <td class="roi-loss">-7 185 zł</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 3</td>
                <td>4 164 zł</td>
                <td>2 407 zł</td>
                <td>5 072 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:26%"></div></div>
                </td>
                <td class="roi-loss">-5 428 zł</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 4</td>
                <td>4 331 zł</td>
                <td>2 503 zł</td>
                <td>6 900 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:35%"></div></div>
                </td>
                <td class="roi-loss">-3 600 zł</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 5</td>
                <td>4 504 zł</td>
                <td>2 603 zł</td>
                <td>8 801 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:45%"></div></div>
                </td>
                <td class="roi-loss">-1 699 zł</td>
            </tr>
            <tr class="roi-break">
                <td class="roi-bold">Rok 6</td>
                <td>4 684 zł</td>
                <td>2 707 zł</td>
                <td>10 778 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:55%"></div></div>
                </td>
                <td class="roi-profit">+278 zł (Próg rentowności)</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 7</td>
                <td>4 872 zł</td>
                <td>2 815 zł</td>
                <td>12 835 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:66%"></div></div>
                </td>
                <td class="roi-profit">+2 335 zł</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 8</td>
                <td>5 067 zł</td>
                <td>2 928 zł</td>
                <td>14 974 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:77%"></div></div>
                </td>
                <td class="roi-profit">+4 474 zł</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 9</td>
                <td>5 270 zł</td>
                <td>3 045 zł</td>
                <td>17 199 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:88%"></div></div>
                </td>
                <td class="roi-profit">+6 699 zł</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 10</td>
                <td>5 481 zł</td>
                <td>3 167 zł</td>
                <td class="roi-bold">19 513 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:100%"></div></div>
                </td>
                <td class="roi-profit roi-bold">+9 013 zł</td>
            </tr>
        </tbody>
    </table>
</div>



<p class="wp-block-paragraph"><strong>Interpretacja</strong>: W 6. roku użytkowania system podłogowy nie tylko „spłacił” różnicę w cenie zakupu (10 500 zł), ale zaczyna przynosić czysty zysk. Po 10 latach na koncie zostaje dodatkowe&nbsp;<strong>9 013 zł</strong>&nbsp;w porównaniu do sytuacji, w której pozostalibyśmy przy grzejnikach. Po 15 latach zysk przekracza 20 000 zł.</p>



<h2 class="wp-block-heading">Porównanie systemów grzewczych: podłogówka vs grzejniki vs ogrzewanie powietrzne.</h2>



<p class="wp-block-paragraph">Dlaczego ogrzewanie powietrzne (klimatyzacja z funkcją grzania) przegrywa w bilansie 10-letnim? Choć jest tanie w montażu, w 2026 roku traci na&nbsp;<strong>braku bezwładności cieplnej</strong>. Poniższa tabela zestawia kluczowe cechy:</p>



<style>
.system-table-wrapper {
    width: 100%;
    overflow-x: auto;
    margin: 30px 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.system-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 35px rgba(0,0,0,0.05);
}

.system-table thead {
    background: #1c7c54;
    color: #ffffff;
}

.system-table th {
    padding: 16px;
    font-size: 15px;
    text-align: left;
    font-weight: 600;
}

.system-table td {
    padding: 14px 16px;
    border-bottom: 1px solid #f0f0f0;
    font-size: 15px;
    vertical-align: top;
}

.system-table tr:nth-child(even) {
    background: #fafafa;
}

/* POPRAWKA: Selektor ograniczony do tbody */
.system-table tbody tr:hover {
    background: #f3f7f5;
}

.system-feature {
    font-weight: 600;
    white-space: nowrap;
}

.system-best {
    color: #1c7c54;
    font-weight: 700;
}

.system-warning {
    color: #c0392b;
    font-weight: 600;
}

@media(max-width:768px) {
    .system-table th {
        font-size: 13px;
    }
    .system-table td {
        font-size: 14px;
    }
}
</style>

<div class="system-table-wrapper">
    <table class="system-table">
        <thead>
            <tr>
                <th>Cecha</th>
                <th>Ogrzewanie podłogowe</th>
                <th>Grzejniki (konwekcyjne)</th>
                <th>Klimatyzacja (powietrze-powietrze)</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td class="system-feature">Efektywność z PC</td>
                <td class="system-best">Najwyższa (COP 4.0–4.5)</td>
                <td>Średnia (COP 2.8–3.2)</td>
                <td>Wysoka (COP 3.5–4.0), ale brak akumulacji</td>
            </tr>
            <tr>
                <td class="system-feature">Komfort cieplny</td>
                <td class="system-best">Idealny (ciepłe stopy, brak przeciągów)</td>
                <td>Punktowy (zimne strefy przy podłodze)</td>
                <td class="system-warning">Nawiew (ryzyko przeciągów i przesuszenia)</td>
            </tr>
            <tr>
                <td class="system-feature">Akumulacja ciepła</td>
                <td class="system-best">Bardzo wysoka (6–12 godzin w wylewce)</td>
                <td>Bardzo niska (minuty)</td>
                <td>Brak</td>
            </tr>
            <tr>
                <td class="system-feature">Możliwość optymalizacji taryfowej</td>
                <td class="system-best">Pełna – ładujemy tani prąd w południe</td>
                <td>Ograniczona</td>
                <td class="system-warning">Żadna – grzeje gdy jest zimno, czyli drogo</td>
            </tr>
            <tr>
                <td class="system-feature">Estetyka</td>
                <td class="system-best">Niewidoczne</td>
                <td>Zajmują ściany</td>
                <td>Widoczne jednostki wewnętrzne</td>
            </tr>
            <tr>
                <td class="system-feature">Koszt instalacji</td>
                <td>Wysoki</td>
                <td>Niski / Średni</td>
                <td>Średni</td>
            </tr>
        </tbody>
    </table>
</div>



<p class="wp-block-paragraph">Kluczowa różnica: ogrzewanie podłogowe pozwala „kupić” tanią energię w południe i oddawać ją do północy. Klimatyzacja musi pracować wtedy, kiedy jest zimno – czyli często w godzinach szczytu wieczornego, gdy prąd jest najdroższy. W perspektywie 10 lat to setki, a nawet tysiące złotych różnicy.</p>



<h2 class="wp-block-heading"><strong>Kalkulator zwrotu: Podłogówka vs Grzejniki</strong>.</h2>



<style>
.roi-kalkulator {
    max-width: 1100px;
    margin: 20px auto;
    padding: 20px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    color: #333;
    background: #fdfdfd;
    border: 1px solid #eee;
    border-radius: 12px;
}

.roi-box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

@media(max-width: 900px) {
    .roi-box { grid-template-columns: 1fr; }
}

.roi-panel {
    background: #ffffff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 10px 35px rgba(0,0,0,0.05);
}

.roi-title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 25px;
    text-align: center;
    color: #1c7c54;
}

.roi-input {
    margin-bottom: 20px;
}

.roi-input label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    font-size: 14px;
}

.roi-input .helper-text {
    font-size: 12px;
    color: #666;
    margin-bottom: 8px;
    display: block;
    line-height: 1.3;
}

.roi-input input,
.roi-input select {
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #ccc;
    font-size: 16px;
    box-sizing: border-box;
    transition: all 0.2s ease;
}

.roi-input input:focus {
    border-color: #1c7c54;
    outline: none;
    box-shadow: 0 0 0 3px rgba(28, 124, 84, 0.1);
}

.roi-result {
    font-size: 16px;
    margin-bottom: 18px;
    padding-bottom: 8px;
    border-bottom: 1px solid #f0f0f0;
}

.roi-big {
    font-size: 26px;
    font-weight: 700;
    color: #1c7c54;
    margin-top: 4px;
}

.roi-cta {
    margin-top: 25px;
}

.roi-cta a {
    display: block;
    background: #1c7c54;
    color: white;
    padding: 16px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    text-align: center;
    transition: background 0.3s ease;
    line-height: 1.4;
}

.roi-cta a:hover {
    background: #155f41;
}

#roi-res-zwrot {
    color: #e67e22;
}
</style>

<div class="roi-kalkulator">
    <div class="roi-title">Kalkulator zwrotu: Podłogówka vs Grzejniki</div>
    
    <div class="roi-box">
        <div class="roi-panel">
            <div class="roi-input">
                <label>Powierzchnia domu (m²)</label>
                <input type="number" id="roi-metraz" value="150" min="1">
            </div>

            <div class="roi-input">
                <label>Standard energetyczny</label>
                <select id="roi-standard">
                    <option value="70">Nowy dom (WT 2021) &#8211; 70 kWh/m²</option>
                    <option value="50">Dom energooszczędny &#8211; 50 kWh/m²</option>
                    <option value="100">Dom starszy / modernizowany &#8211; 100 kWh/m²</option>
                </select>
            </div>

            <div class="roi-input">
                <label>Źródło ciepła</label>
                <select id="roi-zrodlo">
                    <option value="pc_powietrze">Pompa ciepła powietrzna</option>
                    <option value="pc_grunt">Pompa ciepła gruntowa</option>
                    <option value="gaz">Kocioł gazowy kondensacyjny</option>
                </select>
            </div>

            <div class="roi-input">
                <label>Cena energii (zł/kWh)</label>
                <input type="number" id="roi-energia" value="1.10" step="0.01">
            </div>

            <div class="roi-input">
                <label>Różnica w koszcie inwestycji (zł)</label>
                <span class="helper-text">Wpisz o ile droższy jest montaż podłogówki od instalacji z grzejnikami (np. 12 000 zł).</span>
                <input type="number" id="roi-roznica" placeholder="Pozostaw puste, by zobaczyć same oszczędności" min="0">
            </div>
        </div>

        <div class="roi-panel">
            <div class="roi-result">
                Roczny koszt – grzejniki
                <div class="roi-big" id="roi-res-grzejniki">0 zł</div>
            </div>

            <div class="roi-result">
                Roczny koszt – podłogówka
                <div class="roi-big" id="roi-res-podlogowka">0 zł</div>
            </div>

            <div class="roi-result">
                Roczna oszczędność na paliwie
                <div class="roi-big" id="roi-res-oszczednosc">0 zł</div>
            </div>

            <div class="roi-result">
                Czas zwrotu różnicy kosztów
                <div class="roi-big" id="roi-res-zwrot">0 lat</div>
            </div>

            <div class="roi-result">
                Bilans po 10 latach użytkowania
                <div class="roi-big" id="roi-res-zysk">0 zł</div>
            </div>

            <div class="roi-cta">
                <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">
                    Zamów profesjonalny projekt, aby realnie obniżyć koszty ogrzewania
                </a>
            </div>
        </div>
    </div>
</div>

<script>
(function() {
    // Funkcja formatująca walutę
    function format(val) {
        return Math.round(val).toLocaleString('pl-PL') + " zł";
    }

    function oblicz() {
        const metraz = parseFloat(document.getElementById("roi-metraz").value) || 0;
        const standard = parseFloat(document.getElementById("roi-standard").value) || 0;
        const cenaEnergii = parseFloat(document.getElementById("roi-energia").value) || 0;
        const roznicaInwestycji = parseFloat(document.getElementById("roi-roznica").value) || 0;
        const zrodlo = document.getElementById("roi-zrodlo").value;

        // Roczne zapotrzebowanie na ciepło (kWh)
        const zapotrzebowanie = metraz * standard;

        // Ustawienie sprawności (COP / Sprawność kotła)
        let copGrzejnik = 3.0, copPodloga = 4.2;

        if (zrodlo === "pc_grunt") { copGrzejnik = 4.0; copPodloga = 5.0; }
        if (zrodlo === "gaz") { copGrzejnik = 0.95; copPodloga = 1.05; }

        // Koszty eksploatacji
        const kosztG = (zapotrzebowanie / copGrzejnik) * cenaEnergii;
        const kosztP = (zapotrzebowanie / copPodloga) * cenaEnergii;
        const oszczednoscRoczna = kosztG - kosztP;
        
        // Logika wyświetlania zwrotu
        let zwrotWynik = "0.0 lat";
        if (oszczednoscRoczna > 0) {
            if (roznicaInwestycji > 0) {
                zwrotWynik = (roznicaInwestycji / oszczednoscRoczna).toFixed(1) + " lat";
            } else {
                zwrotWynik = "0.0 lat";
            }
        } else {
            zwrotWynik = "Brak zwrotu";
        }

        // Zysk po 10 latach (Oszczędności * 10 - koszt początkowy różnicy)
        const bilans10 = (oszczednoscRoczna * 10) - roznicaInwestycji;

        // Renderowanie wyników
        document.getElementById("roi-res-grzejniki").innerText = format(kosztG);
        document.getElementById("roi-res-podlogowka").innerText = format(kosztP);
        document.getElementById("roi-res-oszczednosc").innerText = format(oszczednoscRoczna);
        document.getElementById("roi-res-zwrot").innerText = zwrotWynik;
        document.getElementById("roi-res-zysk").innerText = format(bilans10);
    }

    // Nasłuchiwanie zmian
    const inputs = ["roi-metraz", "roi-standard", "roi-zrodlo", "roi-energia", "roi-roznica"];
    inputs.forEach(id => {
        document.getElementById(id).addEventListener("input", oblicz);
    });

    // Startowe wywołanie
    oblicz();
})();
</script>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego – klucz do realnych oszczędności</h2>



<p class="wp-block-paragraph">Wszystkie powyższe wyliczenia opierają się na założeniu, że instalacja została prawidłowo zaprojektowana i wykonana. W kontekście <strong>zwrotu z inwestycji w ogrzewanie podłogowe</strong> należy podkreślić, że <strong>profesjonalny <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" type="link" id="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projekt</a> to nie koszt, ale inwestycja, która bezpośrednio przekłada się na oszczędności</strong>.</p>



<p class="wp-block-paragraph">Dlaczego projekt jest tak ważny w 2026 roku? Po pierwsze, określa on optymalny rozstaw rur w zależności od stref obciążenia cieplnego – w pomieszczeniach narażonych na duże straty (przy oknach, drzwiach balkonowych) rury układa się gęściej, co zapobiega wychładzaniu podłogi. Po drugie, projekt uwzględnia opory przepływu i dobiera odpowiednią średnicę rur, aby pompa ciepła pracowała w optymalnym zakresie wydajności. Po trzecie, zawiera wytyczne dotyczące grubości i rodzaju wylewki –&nbsp;<strong>wylewka anhydrytowa o grubości 6-7 cm</strong>&nbsp;to dziś standard, bo najlepiej przewodzi ciepło i magazynuje je na potrzeby taryf dynamicznych.</p>



<p class="wp-block-paragraph">Dla inwestorów modernizujących stare budynki, którzy nie mogą zerwać podłóg, projektanci proponują <strong><a href="https://projekt-ogrzewania.pl/czym-jest-system-suchy-w-wodnym-ogrzewaniu-podlogowym/" type="link" id="https://projekt-ogrzewania.pl/czym-jest-system-suchy-w-wodnym-ogrzewaniu-podlogowym/">systemy suche</a> (cienkowarstwowe)</strong> – ich zwrot jest nieco dłuższy, ale wciąż lepszy niż pozostanie przy wysokotemperaturowych grzejnikach. Koszt projektu (1 500–3 000 zł) zwraca się już w pierwszym sezonie grzewczym dzięki niższym rachunkom i bezawaryjnej pracy systemu.</p>



<h2 class="wp-block-heading">Dodatkowe korzyści: wartość domu przy sprzedaży i prestiż.</h2>



<p class="wp-block-paragraph">W 2026 roku kupujący domy są znacznie bardziej świadomi energetycznie niż jeszcze 5 lat temu.&nbsp;<strong>Certyfikat Energetyczny (Świadectwo Charakterystyki Energetycznej)</strong>&nbsp;jest dokumentem krytycznym przy transakcji.</p>



<ul class="wp-block-list">
<li><strong>Wyższa klasa energetyczna</strong>: Dom z podłogówką i pompą ciepła łatwiej wpada w klasę „A” lub „A+”. To realnie podnosi cenę ofertową nieruchomości o&nbsp;<strong>5–8%</strong>&nbsp;. Dla domu wartego 1 000 000 zł to dodatkowe 50 000 – 80 000 zł.</li>



<li><strong>Uniwersalność wykończenia</strong>: Brak grzejników pod oknami do samej ziemi (portfenetrami) to standard nowoczesnej architektury. Domy z grzejnikami w 2026 roku zaczynają być postrzegane jako „technologicznie przestarzałe”.</li>



<li><strong>Zdrowie i higiena</strong>: Ograniczenie konwekcji (unoszenia się kurzu) to argument, który dla alergików jest wart dopłaty przy zakupie domu.</li>
</ul>



<h2 class="wp-block-heading">FAQ;</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1772881304440"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe naprawdę się opłaca?</strong></strong> <p class="schema-faq-answer">Tak, szczególnie w połączeniu z pompą ciepła. Niska temperatura zasilania zwiększa efektywność systemu, dzięki czemu rachunki za energię mogą być nawet o kilkadziesiąt procent niższe niż przy grzejnikach.</p> </div> <div class="schema-faq-section" id="faq-question-1772881366554"><strong class="schema-faq-question"><strong>Po ilu latach następuje zwrot z inwestycji w ogrzewanie podłogowe?</strong></strong> <p class="schema-faq-answer">W większości nowych domów z pompą ciepła <strong>zwrot z inwestycji w ogrzewanie podłogowe</strong> następuje zazwyczaj po około 6–9 latach użytkowania, w zależności od cen energii i standardu izolacji budynku.</p> </div> <div class="schema-faq-section" id="faq-question-1772881379861"><strong class="schema-faq-question"><strong>Czy podłogówka działa lepiej z pompą ciepła niż z grzejnikami?</strong></strong> <p class="schema-faq-answer">Tak. Ogrzewanie podłogowe jest systemem niskotemperaturowym, dlatego pompa ciepła pracuje z wyższym współczynnikiem COP, co bezpośrednio przekłada się na niższe koszty eksploatacji.</p> </div> <div class="schema-faq-section" id="faq-question-1772881405330"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe można zastosować w modernizowanym domu?</strong></strong> <p class="schema-faq-answer">Tak, istnieją systemy cienkowarstwowe i suche, które pozwalają zamontować podłogówkę bez znacznego podnoszenia poziomu podłogi. W takich przypadkach kluczowy jest dobrze wykonany projekt instalacji.</p> </div> <div class="schema-faq-section" id="faq-question-1772881413673"><strong class="schema-faq-question"><strong>Czy podłogówka zwiększa wartość domu?</strong></strong> <p class="schema-faq-answer">Tak. Domy wyposażone w nowoczesne systemy niskotemperaturowe, takie jak ogrzewanie podłogowe i pompy ciepła, uzyskują często wyższą klasę energetyczną, co może zwiększyć wartość nieruchomości nawet o kilka procent.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie: czy to się opłaca?</h2>



<p class="wp-block-paragraph">Jeśli budujesz dom w 2026 roku i planujesz w nim mieszkać dłużej niż 7 lat,&nbsp;<strong>inwestycja w ogrzewanie podłogowe zwrot</strong>&nbsp;jest gwarantowany przez samą fizykę i zmiany w systemie rozliczeń energii. Nasze wyliczenia pokazują, że:</p>



<ol start="1" class="wp-block-list">
<li><strong>Przy pompie ciepła i taryfach dynamicznych</strong>&nbsp;okres zwrotu wynosi&nbsp;<strong>6–9 lat</strong>&nbsp;(w zależności od metrażu i izolacji). Po 10 latach zysk sięga kilku-kilkunastu tysięcy złotych.</li>



<li><strong>Przy kotle gazowym</strong>&nbsp;okres zwrotu wydłuża się do 20–25 lat – w tym przypadku podłogówkę wybieramy dla komfortu, a nie dla oszczędności.</li>



<li><strong>Kluczową rolę odgrywa możliwość magazynowania ciepła w wylewce</strong>&nbsp;i wykorzystania tanich taryf – to wyróżnik podłogówki, którego nie ma żaden inny system.</li>



<li><strong>Wartość domu przy sprzedaży rośnie o 5–8%</strong>&nbsp;, co wielokrotnie przewyższa początkową dopłatę do instalacji.</li>
</ol>



<h3 class="wp-block-heading">Rekomendacje na 2026 rok:</h3>



<ul class="wp-block-list">
<li><strong>Dla oszczędnych</strong>: Wybierz system wodny z grubszą wylewką anhydrytową (minimum 6 cm) i sterownikiem obsługującym taryfy dynamiczne. To połączenie daje najszybszy zwrot.</li>



<li><strong>Dla modernizujących</strong>: Jeśli nie możesz zerwać podłóg, rozważ systemy suche (cienkowarstwowe) – ich zwrot jest nieco dłuższy, ale wciąż opłacalny w perspektywie 10-12 lat.</li>
</ul>



<p class="wp-block-paragraph">Inwestycja w ogrzewanie podłogowe to w 2026 roku nie tylko zakup <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/" type="link" id="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rurek</a> i <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-ogrzewania-podlogowego-mosiezny-czy-ze-stali-nierdzewnej/" type="link" id="https://projekt-ogrzewania.pl/rozdzielacz-do-ogrzewania-podlogowego-mosiezny-czy-ze-stali-nierdzewnej/">rozdzielaczy</a>. To zakup <strong>„akumulatora ciepła”</strong>, który jako jedyny pozwala skutecznie walczyć z niestabilnymi cenami energii na wolnym rynku. Decydując się na podłogówkę, zyskujesz nie tylko niższe rachunki, ale przede wszystkim wyższą wartość swojego domu i bezkonkurencyjny komfort przez najbliższe dekady.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/">Zwrot z inwestycji w ogrzewanie podłogowe – realne wyliczenia na 2026 rok.</a> 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>Jakie błędy najczęściej popełniają instalatorzy ogrzewania podłogowego?</title>
		<link>https://projekt-ogrzewania.pl/jakie-bledy-najczesciej-popelniaja-instalatorzy-ogrzewania-podlogowego/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 16 Mar 2025 09:40:39 +0000</pubDate>
				<category><![CDATA[Błędy instalacyjne]]></category>
		<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Remont mieszkania]]></category>
		<category><![CDATA[Systemy grzewcze]]></category>
		<category><![CDATA[błędy montażu]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[izolacja podłogowa]]></category>
		<category><![CDATA[koszty naprawy]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[porady instalacyjne]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[przygotowanie podłoża]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<category><![CDATA[test ciśnienia]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2447</guid>

					<description><![CDATA[<p>Ogrzewanie podłogowe to idealne rozwiązanie dla tych, którzy cenią komfort i oszczędność, ale tylko pod warunkiem prawidłowego montażu. Jakie błędy najczęściej popełniają instalatorzy ogrzewania podłogowego? Od złego przygotowania podłoża, przez pominięcie testu ciśnienia, po niewłaściwy dobór podłogi – każda pomyłka może kosztować tysiące złotych. W artykule znajdziesz najczęstsze problemy, ich skutki i praktyczne porady, jak ich uniknąć, by cieszyć się ciepłem bez kompromisów.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jakie-bledy-najczesciej-popelniaja-instalatorzy-ogrzewania-podlogowego/">Jakie błędy najczęściej popełniają instalatorzy ogrzewania podłogowego?</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 zrewolucjonizowało sposób, w jaki myślimy o komforcie cieplnym w domach i mieszkaniach. To rozwiązanie łączy estetykę z efektywnością energetyczną, ale tylko wtedy, gdy instalacja jest wykonana bezbłędnie. <strong>Jakie błędy najczęściej popełniają instalatorzy ogrzewania podłogowego?</strong> To pytanie, które nurtuje wielu właścicieli nieruchomości, chcących uniknąć problemów z systemem grzewczym. W tym artykule przeanalizujemy najczęstsze pomyłki, ich skutki oraz sposoby, jak ich uniknąć, abyś mógł cieszyć się ciepłą podłogą przez długie lata.</p>



<h2 class="wp-block-heading">Dlaczego prawidłowy montaż ogrzewania podłogowego jest tak ważny?</h2>



<p class="wp-block-paragraph">Ogrzewanie podłogowe różni się od tradycyjnych grzejników – ciepło rozchodzi się równomiernie od podłogi, co wymaga precyzyjnego rozplanowania i realizacji. Nawet drobne niedociągnięcia mogą prowadzić do nierównomiernego ogrzewania, awarii czy kosztownych napraw – szacuje się, że aż 40% problemów z podłogówką wynika z błędów instalacyjnych. Dlatego montaż tego systemu to zadanie dla fachowców, choć nawet oni nie są nieomylni. Przyjrzyjmy się, jakie błędy zdarzają się najczęściej i jak ich uniknąć.</p>



<h3 class="wp-block-heading">Niewłaściwe przygotowanie podłoża – fundament sukcesu.</h3>



<p class="wp-block-paragraph">Jednym z najpowszechniejszych błędów jest <strong>niewłaściwe przygotowanie podłoża</strong>. Podłoga, na której układany jest system grzewczy, musi być równa (różnice nie większe niż 5 mm na 2 m), sucha (wilgotność poniżej 2%) i wolna od zanieczyszczeń. Zaniedbanie tego etapu może mieć poważne konsekwencje.</p>



<ul class="wp-block-list">
<li><strong>Nierówności</strong>: Powodują nierównomierne ułożenie rur, co prowadzi do miejscowego przegrzewania lub niedogrzania.</li>



<li><strong>Wilgoć</strong>: Może uszkodzić rury PEX i zwiększyć ryzyko korozji rozdzielaczy.</li>



<li><strong>Brud</strong>: Osłabia przyczepność wylewki, powodując pęknięcia po 6-12 miesiącach.</li>
</ul>



<p class="wp-block-paragraph"><em>Przykład</em>: Instalator pomija wyrównanie podłogi, a po roku w salonie podłoga grzeje tylko w 70% powierzchni. Aby tego uniknąć, warto znać <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/" target="_blank" rel="noreferrer noopener">normy montażu podłogówki</a>, które określają standardy izolacji i podłoża.</p>



<h3 class="wp-block-heading">Błędne połączenia – ukryte zagrożenie.</h3>



<p class="wp-block-paragraph">Kolejnym częstym problemem są <strong>błędne połączenia</strong>. W systemach wodnych rury muszą być szczelnie podłączone do rozdzielacza, a w elektrycznych przewody – zintegrowane z termostatem.</p>



<ul class="wp-block-list">
<li><strong>Nieszczelności</strong>: Wyciek może kosztować od 1000 do 5000 zł w naprawie, zwłaszcza po zalaniu wylewką.</li>



<li><strong>Awaria systemu</strong>: Błąd w okablowaniu elektrycznym to ryzyko przepięć i kosztów rzędu 2000 zł.</li>
</ul>



<p class="wp-block-paragraph"><em>Przykład</em>: Instalator źle montuje rury, co po 3 miesiącach skutkuje wyciekiem pod posadzką. Dlatego warto zainwestować w <a href="https://projekt-ogrzewania.pl/produkt/rozdzielacz-ze-stali-nierdzewnej-inox-do-ogrzewania-podlogowego-z-rotametrami/" target="_blank" rel="noreferrer noopener">trwałe rozdzielacze do podłogówki</a>, które minimalizują ryzyko.</p>



<h2 class="wp-block-heading">Test ciśnienia – krok, którego nie wolno pominąć.</h2>



<p class="wp-block-paragraph"><strong>Zapominanie o testowaniu ciśnienia rur</strong> to błąd, który odpowiada za ok. 30% awarii wodnych systemów podłogowych. Test przy ciśnieniu 4-6 bar przez godzinę, a potem 1-2 bar, jest obowiązkowy przed zalaniem wylewką.</p>



<h3 class="wp-block-heading">Dlaczego test ciśnienia jest tak istotny?</h3>



<p class="wp-block-paragraph">Wykrywa nieszczelności, zanim staną się niewidoczne. Pominięcie tego kroku naraża na koszty naprawy sięgające średnio 3000 zł, jeśli wyciek ujawni się po zakończeniu prac.</p>



<p class="wp-block-paragraph"><em>Przykład</em>: Instalator pomija test, a po 2 miesiącach użytkownik znajduje wilgoć na ścianach – naprawa wymaga zerwania 10 m² podłogi.</p>



<h2 class="wp-block-heading">Niewłaściwy dobór materiałów wykończeniowych.</h2>



<p class="wp-block-paragraph"><strong>Wybór nieodpowiedniej podłogi</strong> obniża efektywność systemu. Nie każdy materiał dobrze przewodzi ciepło, co wpływa na komfort i rachunki.</p>



<h3 class="wp-block-heading">Jakie podłogi mogą być problematyczne?</h3>



<ul class="wp-block-list">
<li><strong>Dywany</strong>: Grube warstwy zmniejszają wydajność o 20-30%.</li>



<li><strong>Drewno gęste</strong>: Np. dąb bez obróbki ma opór cieplny powyżej 0,15 m²K/W.</li>



<li><strong>Tanie panele</strong>: Odkształcają się przy temperaturze powyżej 28°C.</li>
</ul>



<p class="wp-block-paragraph"><em>Przykład</em>: Klient kładzie dywan, a pokój grzeje się tylko do 18°C. Sprawdź, <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">jak dobrać okładzinę do podłogówki</a>, by uniknąć takich problemów.</p>



<h2 class="wp-block-heading">Brak dokumentacji – kłopot na przyszłość.</h2>



<p class="wp-block-paragraph"><strong>Brak dokumentacji układu grzewczego</strong> komplikuje naprawy i modernizacje. Bez schematu lokalizacja awarii jest jak szukanie igły w stogu siana.</p>



<h3 class="wp-block-heading">Po co potrzebna jest dokumentacja?</h3>



<ul class="wp-block-list">
<li><strong>Naprawy</strong>: Skraca czas i koszt o 50%.</li>



<li><strong>Modernizacje</strong>: Chroni przed uszkodzeniem rur przy wierceniu.</li>
</ul>



<p class="wp-block-paragraph"><em>Przykład</em>: Po 5 latach podłoga przestaje grzać, a brak planu wydłuża naprawę z 2 dni do tygodnia.</p>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego w kontekście unikania błędów.</h2>



<p class="wp-block-paragraph">Profesjonalny projekt to klucz do uniknięcia błędów. Uwzględnia rozstaw rur (5-10 cm w łazienkach, 10-15 cm w salonach), izolację (min. 5 cm styropianu) i pętle grzewcze (max. 100 m). W ofercie <a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/" target="_blank" rel="noreferrer noopener">usług projektowania podłogówki</a> znajdziesz plany dla domów od 100 do 250 m² oraz podgrzewanych podjazdów. Dzięki temu instalatorzy pracują na gotowym schemacie, a Ty oszczędzasz na poprawkach. Chcesz zaprojektować system bez ryzyka? <a href="https://projekt-ogrzewania.pl/zwrot-kaucji-za-zakupiony-projekt-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">Sprawdź szczegóły</a> – przy zakupie materiałów projekt dostajesz gratis.</p>



<h2 class="wp-block-heading">Inne częste pomyłki instalatorów.</h2>



<p class="wp-block-paragraph">Oto dodatkowe błędy, które warto znać:</p>



<h3 class="wp-block-heading">Niewłaściwe zabezpieczenie rur</h3>



<p class="wp-block-paragraph">Brak spinek czy folii powoduje przesunięcia rur, co generuje hałas i uszkodzenia po 1-2 latach.</p>



<h3 class="wp-block-heading">Pominięcie dylatacji</h3>



<p class="wp-block-paragraph">W pomieszczeniach powyżej 40 m² brak przerw w wylewce prowadzi do pęknięć w ciągu 6 miesięcy.</p>



<h3 class="wp-block-heading">Zbyt długie pętle grzewcze</h3>



<p class="wp-block-paragraph">Pętle dłuższe niż 100 m obniżają efektywność o 15-20%.</p>



<p class="wp-block-paragraph"><em>Przykład</em>: W salonie 40 m² pętla 120 m sprawia, że połowa podłogi jest zimna.</p>



<h2 class="wp-block-heading">Najczęstsze błędy w pigułce – tabela podsumowująca.</h2>



<p class="wp-block-paragraph">Poniższa tabela podsumowuje najczęstsze błędy instalatorów ogrzewania podłogowego, ich skutki i rozwiązania, z dodatkowymi uwagami dla pełnego obrazu.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th><strong>Błąd instalacyjny</strong></th><th><strong>Skutek</strong></th><th><strong>Jak uniknąć?</strong></th><th><strong>Dodatkowe uwagi</strong></th></tr></thead><tbody><tr><td>Niewłaściwe przygotowanie podłoża</td><td>Nierównomierne ogrzewanie, pęknięcia</td><td>Wyrównać i wysuszyć podłoże</td><td>Min. grubość izolacji: 5 cm styropianu</td></tr><tr><td>Błędne połączenia rur</td><td>Wycieki, awarie systemu</td><td>Użyć trwałych rozdzielaczy, test szczelności</td><td>Koszt naprawy: 1000-5000 zł</td></tr><tr><td>Pominięcie testu ciśnienia</td><td>Niewykryte nieszczelności</td><td>Testować przy 4-6 bar przed zalaniem</td><td>30% awarii z tego powodu</td></tr><tr><td>Zły dobór podłogi</td><td>Obniżona efektywność ciepła</td><td>Wybrać materiały przewodzące</td><td>Opór cieplny &lt; 0,15 m²K/W</td></tr><tr><td>Brak dokumentacji</td><td>Trudności w naprawach</td><td>Zachować schemat instalacji</td><td>Skraca czas naprawy o 50%</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Jak uniknąć błędów przy montażu ogrzewania podłogowego?</h2>



<p class="wp-block-paragraph">Oto praktyczne kroki, by zminimalizować ryzyko:</p>



<ol class="wp-block-list">
<li><strong>Wybierz doświadczonego instalatora</strong>: Minimum 5 lat praktyki i referencje.</li>



<li><strong>Zainwestuj w projekt</strong>: Plan zmniejsza ryzyko błędów o 80%.</li>



<li><strong>Używaj jakościowych materiałów</strong>: <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">Rury PEX</a> i rozdzielacze inox to trwałość na 20+ lat.</li>



<li><strong>Nadzoruj prace</strong>: Pytaj o izolację, test ciśnienia (<a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">protokół z próby szczelności ogrzewania podłogowego</a>) i dokumentację projektową.</li>
</ol>



<h2 class="wp-block-heading">FAQ:</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1742116426177"><strong class="schema-faq-question">Dlaczego niewłaściwe przygotowanie podłoża jest tak częstym błędem przy podłogówce?</strong> <p class="schema-faq-answer">Podłoże musi być równe (max. 5 mm nierówności na 2 m) i suche (wilgotność &lt; 2%). Błąd w tym etapie prowadzi do nierównomiernego ogrzewania i pęknięć wylewki.</p> </div> <div class="schema-faq-section" id="faq-question-1742116436921"><strong class="schema-faq-question">Co grozi, jeśli instalator pominie test ciśnienia rur?</strong> <p class="schema-faq-answer">Pominięcie testu (4-6 bar) oznacza niewykryte wycieki. Po zalaniu wylewką naprawa może kosztować 1000-5000 zł, a 30% awarii podłogówki wynika z tego błędu.</p> </div> <div class="schema-faq-section" id="faq-question-1742116448288"><strong class="schema-faq-question">Jakie podłogi najlepiej sprawdzają się z ogrzewaniem podłogowym?</strong> <p class="schema-faq-answer">Materiały o niskim oporze cieplnym (&lt; 0,15 m²K/W), np. płytki ceramiczne czy cienkie panele. Grube dywany obniżają efektywność o 20-30%.</p> </div> <div class="schema-faq-section" id="faq-question-1742116462867"><strong class="schema-faq-question">Dlaczego zbyt długie pętle grzewcze to problem?</strong> <p class="schema-faq-answer">Pętle dłuższe niż 100 m zmniejszają cyrkulację wody, obniżając efektywność o 15-20%. W dużych pomieszczeniach połowa podłogi może być zimna.</p> </div> <div class="schema-faq-section" id="faq-question-1742116473544"><strong class="schema-faq-question">Jak projekt ogrzewania podłogowego pomaga uniknąć błędów?</strong> <p class="schema-faq-answer">Plan określa rozstaw rur, izolację (min. 5 cm) i pętle, redukując ryzyko błędów o 80%. Profesjonalny schemat ułatwia też naprawy i modernizacje.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie.</h2>



<p class="wp-block-paragraph"><strong>Jakie błędy najczęściej popełniają instalatorzy ogrzewania podłogowego?</strong> To niewłaściwe przygotowanie podłoża, błędne połączenia, pominięcie testu ciśnienia, zły dobór podłogi i brak dokumentacji. Każda pomyłka może podnieść rachunki o 10-20% lub kosztować tysiące w naprawach. Współpraca z fachowcami, solidne materiały i projekt to recepta na sukces. Zadbaj o podłogówkę już dziś i ciesz się ciepłem bez problemów.</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="YfQthMWFbB"><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=MbdbYO1Anm#?secret=YfQthMWFbB" data-secret="YfQthMWFbB" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jakie-bledy-najczesciej-popelniaja-instalatorzy-ogrzewania-podlogowego/">Jakie błędy najczęściej popełniają instalatorzy ogrzewania podłogowego?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Czy ogrzewanie podłogowe wysusza powietrze w pomieszczeniach?</title>
		<link>https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-wysusza-powietrze-w-pomieszczeniach/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 15 Mar 2025 13:32:33 +0000</pubDate>
				<category><![CDATA[Budownictwo ekologiczne]]></category>
		<category><![CDATA[Instalacje domowe]]></category>
		<category><![CDATA[Komfort w domu]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki domowe]]></category>
		<category><![CDATA[Systemy grzewcze]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[Wilgotność powietrza]]></category>
		<category><![CDATA[Zdrowie w domu]]></category>
		<category><![CDATA[grzejniki]]></category>
		<category><![CDATA[izolacja domu]]></category>
		<category><![CDATA[jakość powietrza]]></category>
		<category><![CDATA[komfort termiczny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[ogrzewanie podłogowe wodne]]></category>
		<category><![CDATA[projektowanie instalacji]]></category>
		<category><![CDATA[promieniowanie cieplne]]></category>
		<category><![CDATA[rury pex]]></category>
		<category><![CDATA[suchość powietrza]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<category><![CDATA[wilgotność powietrza]]></category>
		<category><![CDATA[zdrowe ogrzewanie]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2438</guid>

					<description><![CDATA[<p>Ogrzewanie podłogowe to hit w polskich domach, ale czy wpływa na jakość powietrza? Wyjaśniamy, jak działa i czy ogrzewanie podłogowe wysusza powietrze w pomieszczeniach. Porównujemy z grzejnikami, analizujemy wilgotność i radzimy, jak zaplanować instalację, by uniknąć suchego powietrza. Poznaj fakty, obal mity i dowiedz się, dlaczego podłogówka może być lepszym wyborem dla komfortu i zdrowia!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-wysusza-powietrze-w-pomieszczeniach/">Czy ogrzewanie podłogowe wysusza powietrze w pomieszczeniach?</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 zyskuje coraz większą popularność w polskich domach, ale wokół tego systemu narosło wiele pytań i mitów. Jednym z najczęściej zadawanych jest: <em><strong>czy ogrzewanie podłogowe wysusza powietrze w pomieszczeniach?</strong></em> To istotne zagadnienie, zwłaszcza w sezonie grzewczym, gdy wilgotność powietrza w domu wpływa na komfort, samopoczucie i zdrowie domowników. W tym artykule wyjaśnimy, jak działa podłogówka, jaki ma wpływ na wilgotność i czym różni się od tradycyjnych grzejników. Rozwiewamy wątpliwości, opierając się na faktach, praktycznych przykładach i opiniach użytkowników.</p>



<h2 class="wp-block-heading">Jak działa ogrzewanie podłogowe i dlaczego to ważne dla wilgotności?</h2>



<p class="wp-block-paragraph">Ogrzewanie podłogowe, zwane również promiennikowym, dostarcza ciepło poprzez podgrzewanie podłogi. Może być realizowane w dwóch wariantach: elektrycznym (za pomocą mat lub kabli grzewczych) albo wodnym (hydronicznym), gdzie ciepło przenoszą rury z wodą. Niezależnie od typu, system opiera się na promieniowaniu cieplnym – ciepło unosi się od podłogi, ogrzewając najpierw powierzchnie i przedmioty w pomieszczeniu, a dopiero w drugiej kolejności powietrze. To zasadnicza różnica w porównaniu do klasycznych grzejników, które działają głównie na zasadzie konwekcji, czyli cyrkulacji ogrzanego powietrza.</p>



<h3 class="wp-block-heading">Różnice między promieniowaniem a konwekcją.</h3>



<p class="wp-block-paragraph">Dlaczego sposób dostarczania ciepła ma znaczenie dla wilgotności? W przypadku grzejników ciepłe powietrze unosi się do góry, a chłodniejsze opada, tworząc ciągły ruch. Ten proces przyspiesza parowanie wilgoci z powierzchni, takich jak meble czy skóra, co prowadzi do obniżenia wilgotności względnej w pomieszczeniu. Ogrzewanie podłogowe, dzięki minimalnej cyrkulacji powietrza, wydaje się mniej ingerować w naturalny poziom wilgoci. Szczegółowe wyjaśnienie mechanizmu znajdziesz w artykule <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/" target="_blank" rel="noreferrer noopener">jak działa ogrzewanie podłogowe</a>, który omawia techniczne aspekty systemu.</p>



<h3 class="wp-block-heading">Przykład: zima w domu</h3>



<p class="wp-block-paragraph">Wyobraźmy sobie zimowy wieczór w domu z grzejnikami. Po kilku godzinach ogrzewania skóra staje się sucha, oczy pieką, a w gardle pojawia się uczucie drapania – to typowe symptomy spadku wilgotności. W domu z ogrzewaniem podłogowym, gdzie ciepło rozchodzi się równomiernie od podłogi, takie dolegliwości są zwykle mniej odczuwalne. Może to wskazywać, że podłogówka jest łagodniejsza dla powietrza w pomieszczeniach, co potwierdzają relacje wielu użytkowników.</p>



<h2 class="wp-block-heading">Ogrzewanie podłogowe a wilgotność powietrza – co mówią fakty?</h2>



<p class="wp-block-paragraph">Aby rzetelnie odpowiedzieć na pytanie, <em>czy ogrzewanie podłogowe wysusza powietrze w pomieszczeniach</em>, przeanalizujmy jego działanie w kontekście wilgotności. System promiennikowy nie obniża wilgotności w sposób zauważalny, ponieważ nie powoduje intensywnego ruchu powietrza, który mógłby „wysysać” wilgoć z otoczenia. Eksperci podkreślają, że w porównaniu do innych metod grzewczych podłogówka działa łagodniej. Więcej o wpływie na zdrowie i komfort przeczytasz w artykule <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/" target="_blank" rel="noreferrer noopener">czy ogrzewanie podłogowe jest zdrowe</a>, który porusza także kwestie jakości powietrza.</p>



<h3 class="wp-block-heading">Porównanie z grzejnikami i piecami.</h3>



<p class="wp-block-paragraph">Grzejniki, ogrzewając powietrze przez konwekcję, mogą obniżać wilgotność nawet o kilka procent w ciągu godziny – w suchym, zimowym klimacie efekt ten jest szczególnie wyraźny. Systemy z wymuszonym obiegiem powietrza, jak piece z kanałami wentylacyjnymi, są jeszcze bardziej „suszące” – cyrkulacja suchego powietrza zimą może zredukować wilgotność poniżej komfortowego poziomu 30-50%. Ogrzewanie podłogowe, dzięki promieniowaniu, utrzymuje bardziej stabilny poziom wilgoci, co czyni je mniej inwazyjnym dla atmosfery w domu.</p>



<h4 class="wp-block-heading">Tabela: Podłogówka vs. grzejniki.</h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th><strong>Aspekt</strong></th><th><strong>Ogrzewanie podłogowe</strong></th><th><strong>Grzejniki</strong></th></tr></thead><tbody><tr><td>Metoda ogrzewania</td><td>Promieniowanie</td><td>Konwekcja</td></tr><tr><td>Wpływ na wilgotność</td><td>Minimalny, stabilizuje poziom</td><td>Obniża przez ruch powietrza</td></tr><tr><td>Cyrkulacja powietrza</td><td>Niska</td><td>Wysoka</td></tr><tr><td>Komfort</td><td>Równomierne ciepło</td><td>Gorące i zimne strefy</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">Opinie użytkowników i przykład praktyczny.</h3>



<p class="wp-block-paragraph">W domu o powierzchni 120 m² z ogrzewaniem podłogowym wodnym wilgotność zimą utrzymuje się na poziomie 40-45%, pod warunkiem odpowiedniej wentylacji. W podobnym budynku z grzejnikami ten poziom często spada do 25-30%, co skutkuje uczuciem suchości w powietrzu. Jeden z użytkowników podłogówki wspomina: „Od kiedy mamy ogrzewanie podłogowe, nie muszę już używać nawilżacza tak często jak przy grzejnikach – różnica jest odczuwalna”. To pokazuje, że w praktyce podłogówka może lepiej wspierać naturalną wilgotność, choć многое zależy od warunków w budynku.</p>



<h2 class="wp-block-heading">Czynniki wpływające na wilgotność przy podłogówce.</h2>



<p class="wp-block-paragraph">Wpływ ogrzewania podłogowego na powietrze w pomieszczeniach nie zależy wyłącznie od samego systemu. Istnieje kilka kluczowych czynników, które mogą modyfikować poziom wilgotności:</p>



<ol class="wp-block-list">
<li><strong>Szczelność budynku</strong> – W nowoczesnych, dobrze izolowanych domach wilgotność jest w dużej mierze determinowana przez wentylację. Jeśli zimą napływa dużo suchego powietrza z zewnątrz, nawet podłogówka nie zapobiegnie spadkowi wilgoci. W starszych, nieszczelnych budynkach efekt może być inny – wilgoć z otoczenia może się utrzymywać.</li>



<li><strong>Temperatura podłogi</strong> – Zbyt wysoka temperatura (np. powyżej 29°C) może lokalnie przyspieszać parowanie, szczególnie w pobliżu podłogi. Jednak w prawidłowo zaprojektowanym systemie, gdzie temperatura oscyluje w granicach 24-28°C, ten efekt jest minimalny i nie wpływa znacząco na ogólną wilgotność.</li>



<li><strong>Pokrycie podłogi</strong> – Rodzaj materiału na podłodze ma znaczenie. Drewno naturalne może wchłaniać i oddawać wilgoć w zależności od warunków, podczas gdy płytki ceramiczne są bardziej neutralne. Więcej na ten temat znajdziesz w artykule <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">jak rodzaj okładziny podłogowej wpływa na wydajność ogrzewania podłogowego</a>.</li>



<li><strong>Wentylacja i dodatkowe urządzenia</strong> – W domach z rekuperacją wilgotność jest łatwiejsza do kontrolowania, a nawilżacze mogą dodatkowo wspierać jej utrzymanie na optymalnym poziomie 40-50%.</li>
</ol>



<h3 class="wp-block-heading">Przykład: dom pasywny i tradycyjny.</h3>



<p class="wp-block-paragraph">W domu pasywnym o powierzchni 100 m², wyposażonym w podłogówkę i rekuperację, wilgotność zimą stabilizuje się na poziomie 45%, co jest idealne dla komfortu. W tradycyjnym domu z lat 80., bez nowoczesnej wentylacji, ten sam system może dawać różne wyniki – np. wilgotność spada do 35% przy dużym napływie suchego powietrza z zewnątrz. To dowodzi, że podłogówka sama w sobie nie wysusza powietrza – kluczowe jest otoczenie, w którym działa.</p>



<h2 class="wp-block-heading">Zalety ogrzewania podłogowego dla wilgotności i komfortu.</h2>



<p class="wp-block-paragraph">Ogrzewanie podłogowe oferuje kilka zalet, które mogą pozytywnie wpływać na jakość powietrza w domu, w tym na wilgotność:</p>



<ul class="wp-block-list">
<li><strong>Mniejszy ruch powietrza</strong> – Dzięki niskiej cyrkulacji kurz, roztocza i alergeny nie unoszą się tak intensywnie, co jest szczególnie korzystne dla alergików i osób z problemami oddechowymi. To także redukuje efekt „wysysania” wilgoci przez ruch powietrza.</li>



<li><strong>Równomierne rozprowadzanie ciepła</strong> – Brak gorących punktów, jak w przypadku grzejników, oznacza mniejsze lokalne przesuszenie powietrza w określonych strefach pomieszczenia. Ciepło rozchodzi się od podłogi w górę, tworząc przyjemny gradient temperatury.</li>



<li><strong>Niższa temperatura pracy</strong> – Podłogówka działa efektywnie przy niższej temperaturze (np. 24-26°C na podłodze) niż grzejniki (często 50-70°C), co pozwala obniżyć temperaturę w pomieszczeniu o 1-2°C bez utraty komfortu. Mniejsza intensywność ogrzewania przekłada się na mniejszy wpływ na wilgotność.</li>
</ul>



<h3 class="wp-block-heading">Nieoczekiwany bonus: jakość powietrza i zdrowie</h3>



<p class="wp-block-paragraph">Ciekawym aspektem jest poprawa jakości powietrza dzięki mniejszej cyrkulacji. W domach z grzejnikami ruch powietrza może wzniecać kurz, co dodatkowo potęguje uczucie suchości. Podłogówka minimalizuje ten problem, co może pośrednio wspierać stabilną wilgotność. Więcej o projektowaniu systemu pod kątem efektywności przeczytasz w <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/" target="_blank" rel="noreferrer noopener">jak zaplanować rozmieszczenie pętli grzewczych w ogrzewaniu podłogowym</a>.</p>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego a wilgotność – jak to zaplanować?</h2>



<p class="wp-block-paragraph">Planując instalację ogrzewania podłogowego i martwiąc się o wilgotność, kluczowe jest profesjonalne podejście. Dobry projekt, jak np. oferowany w <a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/" target="_blank" rel="noreferrer noopener">Projekt ogrzewania podłogowego do 150 m²</a>, uwzględnia rozkład pętli grzewczych, parametry budynku i zapotrzebowanie na ciepło. Optymalna temperatura podłogi (24-28°C) minimalizuje ryzyko lokalnego przesuszenia powietrza, a odpowiednie rozplanowanie pętli – np. maksymalnie 80 metrów na jedną pętlę w domu 150 m² – zapewnia równomierne ogrzewanie i efektywność. Warto też zadbać o izolację termiczną podłogi, by ciepło nie uciekało w dół, co mogłoby zwiększać zapotrzebowanie na energię i pośrednio wpływać na warunki w pomieszczeniu.</p>



<h2 class="wp-block-heading">Czy warto bać się suchego powietrza przy podłogówce?</h2>



<p class="wp-block-paragraph"><em>Czy ogrzewanie podłogowe wysusza powietrze w pomieszczeniach?</em> Raczej nie. W porównaniu do grzejników czy systemów z wymuszonym obiegiem podłogówka jest łagodniejsza dla wilgotności dzięki promieniowaniu i mniejszemu ruchowi powietrza. Efekt końcowy zależy jednak od wielu czynników: izolacji budynku, jakości wentylacji i sposobu użytkowania systemu.</p>



<h3 class="wp-block-heading">Co robić, gdy wilgotność spada?</h3>



<p class="wp-block-paragraph">Jeśli mimo wszystko zauważysz suche powietrze zimą, możesz:</p>



<ul class="wp-block-list">
<li>Używać nawilżacza, by podnieść wilgotność do 40-50%.</li>



<li>Wietrzyć pomieszczenia krótko i regularnie, unikając nadmiernego wychłodzenia.</li>



<li>Kontrolować temperaturę podłogi, utrzymując ją w granicach 24-26°C, co zapewnia komfort bez przegrzewania.</li>
</ul>



<h2 class="wp-block-heading">FAQ:</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1742044090247"><strong class="schema-faq-question">Czy ogrzewanie podłogowe bardziej wysusza powietrze niż grzejniki?</strong> <p class="schema-faq-answer">Nie, dzięki promieniowaniu generuje mniej ruchu powietrza, co stabilizuje wilgotność w porównaniu do konwekcyjnych grzejników.</p> </div> <div class="schema-faq-section" id="faq-question-1742044099178"><strong class="schema-faq-question">Jak utrzymać wilgotność przy podłogówce?</strong> <p class="schema-faq-answer">Wietrz regularnie, używaj nawilżacza (jeśli spada poniżej 40%) i zadbaj o dobrą wentylację w projekcie.</p> </div> <div class="schema-faq-section" id="faq-question-1742044111521"><strong class="schema-faq-question">Czy temperatura podłogi wpływa na wilgotność?</strong> <p class="schema-faq-answer">Tak, powyżej 29°C może przyspieszać parowanie, ale w standardowym zakresie (24-28°C) efekt jest minimalny.</p> </div> <div class="schema-faq-section" id="faq-question-1742044127914"><strong class="schema-faq-question">Czy rodzaj podłogi zmienia wilgotność przy podłogówce?</strong> <p class="schema-faq-answer">Tak, płytki lepiej przewodzą ciepło i mniej reagują na wilgotność niż drewno czy panele.</p> </div> <div class="schema-faq-section" id="faq-question-1742044136086"><strong class="schema-faq-question">Czy podłogówka jest zdrowsza dla powietrza?</strong> <p class="schema-faq-answer">Tak, mniejsza cyrkulacja redukuje kurz i alergeny, wspierając jakość powietrza i wilgotność.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie – ciepło i zdrowe powietrze.</h2>



<p class="wp-block-paragraph">Ogrzewanie podłogowe to nie tylko źródło ciepła, ale też sposób na utrzymanie stabilnej wilgotności i lepszej jakości powietrza w domu. Nie wysusza go tak jak grzejniki, a przy odpowiednim projekcie i eksploatacji staje się sprzymierzeńcem komfortu. Wybierz profesjonalną instalację, by cieszyć się ciepłą podłogą i przyjemną atmosferą bez obaw o suchość.</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="ijdbzoFzmH"><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=ueBPm0R8Or#?secret=ijdbzoFzmH" data-secret="ijdbzoFzmH" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-wysusza-powietrze-w-pomieszczeniach/">Czy ogrzewanie podłogowe wysusza powietrze w pomieszczeniach?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Kalkulator do obliczania ilości metrów rury potrzebnych do ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/</link>
					<comments>https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 14 Mar 2025 11:52:06 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Kalkulatory budowlane]]></category>
		<category><![CDATA[Materiały budowlane]]></category>
		<category><![CDATA[Narzędzia i kalkulatory]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Optymalizacja kosztów]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Systemy grzewcze]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[kalkulator rury]]></category>
		<category><![CDATA[materiały budowlane]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[poradniki]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[remonty]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2407</guid>

					<description><![CDATA[<p>Planujesz montaż ogrzewania podłogowego i zastanawiasz się, ile metrów rury będzie potrzebnych? Kalkulator do obliczania ilości metrów rury do ogrzewania podłogowego to narzędzie, które pomoże Ci precyzyjnie oszacować potrzebne materiały. Dzięki niemu unikniesz błędów, które mogą wpłynąć na efektywność systemu. W artykule znajdziesz praktyczne przykłady obliczeń, wskazówki dotyczące stref grzewczych oraz informacje, dlaczego warto zlecić projekt profesjonalistom. Sprawdź, jak zaoszczędzić czas i pieniądze!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/">Kalkulator do obliczania ilości metrów rury potrzebnych do ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Planujesz montaż <em><a href="https://projekt-ogrzewania.pl">ogrzewania podłogowego</a></em> i zastanawiasz się, ile metrów rury będzie potrzebnych? Właśnie w tym pomoże Tobie <strong>kalkulator do obliczania ilości metrów rury do ogrzewania podłogowego</strong>. To narzędzie nie tylko oszczędza czas, ale też minimalizuje ryzyko błędów, które mogą wpłynąć na efektywność systemu. W tym artykule dowiesz się, jak działa taki kalkulator, na co zwrócić uwagę przy obliczeniach oraz dlaczego warto uwzględnić profesjonalny projekt instalacji.</p>



<h2 class="wp-block-heading">Jak działa kalkulator do ogrzewania podłogowego?</h2>



<p class="wp-block-paragraph"><em>Kalkulator do obliczania długości rury</em> opiera się na prostych, ale kluczowych parametrach:</p>



<ul class="wp-block-list">
<li><strong>Rozstaw pętli grzewczej</strong> (np. 10 cm, 15 cm, 20 cm),</li>



<li><strong>Powierzchnia pomieszczenia</strong> w metrach kwadratowych,</li>



<li><strong>Odległość od rozdzielacza</strong>, czyli długość przyłączy doprowadzających wodę do systemu.</li>
</ul>



<p class="wp-block-paragraph">Na przykład, dla pomieszczenia o powierzchni <strong>30 m²</strong> i rozstawie rur <strong>15 cm</strong>, obliczenia wyglądają następująco:</p>



<p class="wp-block-paragraph">Długość rury = (Powierzchnia / Rozstaw) * 2 + (Odległość od rozdzielacza * 2)<br>Długość rury = (30 m² / 0,15 m) * 2 + (5 m * 2) = 400 m + 10 m = 410 m</p>



<h2 class="wp-block-heading">Kluczowe czynniki wpływające na długość rury.</h2>



<p class="wp-block-paragraph">Nie wystarczy znać wzór – trzeba też zrozumieć, co może wpłynąć na finalny wynik:</p>



<ul class="wp-block-list">
<li><strong>Kształt pomieszczenia</strong> – nieregularne bryły wymagają więcej rury ze względu na konieczność omijania przeszkód,</li>



<li><strong>Strefy grzewcze</strong> – miejsca, gdzie potrzebna jest wyższa temperatura (np. łazienki),</li>



<li><strong>Rodzaj rury</strong> – niektóre materiały mają ograniczenia dotyczące maksymalnej długości pętli (np. 80-100 m).</li>
</ul>



<h2 class="wp-block-heading">Przykłady obliczeń dla różnych rozstawów rur.</h2>



<p class="wp-block-paragraph">Poniżej znajdziesz trzy praktyczne scenariusze, które pokazują, jak zmienia się długość rury w zależności od rozstawu:</p>



<h3 class="wp-block-heading">Przykład 1: Rozstaw 10 cm (mieszkanie 50 m²)</h3>



<ul class="wp-block-list">
<li>Powierzchnia: 50 m²</li>



<li>Rozstaw: 10 cm (0,1 m)</li>



<li>Odległość od rozdzielacza: 8 m</li>
</ul>



<p class="wp-block-paragraph">Długość rury = (50 / 0,1) * 2 + (8 * 2) = 1000 m + 16 m = 1016 m</p>



<p class="wp-block-paragraph"><em>Uwaga!</em> Tak duża długość wymaga podziału na co najmniej <strong>13 pętli</strong> (1016 m / 80 m = 12,7 → zaokrąglenie w górę).</p>



<h3 class="wp-block-heading">Przykład 2: Rozstaw 20 cm (dom 120 m²)</h3>



<ul class="wp-block-list">
<li>Powierzchnia: 120 m²</li>



<li>Rozstaw: 20 cm (0,2 m)</li>



<li>Odległość od rozdzielacza: 12 m</li>
</ul>



<p class="wp-block-paragraph">Długość rury = (120 / 0,2) * 2 + (12 * 2) = 1200 m + 24 m = 1224 m</p>



<p class="wp-block-paragraph">W tym przypadku zaleca się podział na <strong>16 pętli</strong> (1224 m / 80 m = 15,3 → zaokrąglenie w górę).</p>



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

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

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

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

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

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

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

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

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

.type-btn {
    padding: 14px 8px;
    border: 2px solid #cbd5e1;
    border-radius: 12px;
    cursor: pointer;
    text-align: center;
    font-weight: 700;
    font-size: 14px;
    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;
    font-size: 10px;
    font-weight: 400;
}

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

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

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

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

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

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

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

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

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

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

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

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

<div class="calc-intro">
    <h2>Kalkulator ilości rur do ogrzewania podłogowego</h2>
    <p>Sprawdź, ile metrów bieżących rury potrzebujesz do swojej instalacji. Narzędzie stworzone przez ekspertów <a href="https://projekt-ogrzewania.pl/" style="color: #2563eb; font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>. Wybierz rozstaw pętli, podaj powierzchnię i średnią odległość od rozdzielacza, a nasz kalkulator automatycznie dobierze ilość rury oraz zasugeruje bezpieczny podział na pętle.</p>
</div>

<div class="pipe-calc" id="pipe-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            <span class="section-title">1. Rozstaw rur (pętli)</span>
            <div class="type-selector">
                <div class="type-btn active" data-rozstaw="10" data-mb="10">10 cm<span>10 mb / m²</span></div>
                <div class="type-btn" data-rozstaw="15" data-mb="7">15 cm<span>7 mb / m²</span></div>
                <div class="type-btn" data-rozstaw="20" data-mb="5">20 cm<span>5 mb / m²</span></div>
                <div class="type-btn" data-rozstaw="25" data-mb="4">25 cm<span>4 mb / m²</span></div>
            </div>

            <span class="section-title">2. Parametry instalacji</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Powierzchnia (domu/pomieszczenia)</label><span class="val-badge"><span id="v-area">100</span> m²</span></div>
                <input type="range" id="area" min="1" max="500" value="100">
            </div>
            
            <div class="input-wrap">
                <div class="input-label-row"><label>Średnia odległość od rozdzielacza</label><span class="val-badge"><span id="v-dist">8</span> m</span></div>
                <input type="range" id="dist" min="0" max="30" step="1" value="8">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Długość od rozdzielacza do strefy grzewczej (kalkulator sam doliczy zasilanie i powrót dla każdej pętli).</div>
            </div>
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Potrzebna ilość rury (łącznie)</span>
                <span class="score-num" id="resTotal">&#8212;</span>
                <span class="score-label">metrów bieżących (mb)</span>
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span>Wybrany rozstaw:</span><strong id="resSpacing">10 cm</strong></div>
                <div class="tech-item"><span>Rura na samą powierzchnię:</span><strong id="resAreaOnly">&#8212;</strong></div>
                <div class="tech-item"><span>Rura na przyłącza (dla wszystkich pętli):</span><strong id="resConnections">&#8212;</strong></div>
                
                <div class="material-grid">
                    <div class="mini-card" style="background: rgba(37, 99, 235, 0.15); border: 1px solid rgba(37, 99, 235, 0.3);">
                        <span style="color: #bfdbfe;">Sugerowana ilość pętli:</span><strong id="resLoops" style="color: #60a5fa;">&#8212;</strong>
                    </div>
                    <div class="mini-card">
                        <span>Średnia dł. jednej pętli:</span><strong id="resLoopLen">&#8212;</strong>
                    </div>
                </div>
            </div>
            
            <p style="font-size: 10px; color: #64748b; text-align: center; margin-top: 20px; line-height: 1.5;">
                Uwaga: Kalkulator ma charakter poglądowy i nie uwzględnia stref grzanych przyłączami biegnącymi przez pomieszczenia.
            </p>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Potrzebujesz dokładnych wyliczeń?</h3>
            <p style="margin:0; font-size:14px; color:#475569">Zbyt długie pętle to zimna podłoga i problem z pompą obiegową. Wykonamy dla Ciebie darmową wycenę lub profesjonalny projekt, który wyeliminuje błędy.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="javascript:void(0)" id="btn-email" class="cta-btn" style="background:#1e293b">
                WYŚLIJ WYNIKI NA E-MAIL
            </a>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
                ZAMÓW PROJEKT OGRZEWANIA →
            </a>
        </div>
    </div>
</div>

<script>
(function() {
    var appContainer = document.getElementById('pipe-calc-app');
    if (!appContainer) return;

    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (allowedDomains.indexOf(domain) === -1) {
        // Zabezpieczony komunikat używający template literals (backtick)
        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>
                <h3 style="margin-top:0; font-size: 24px; color: #dc2626;">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; 
    }

    var currentRozstaw = 10;
    var currentMbPerM2 = 10;
    var MAX_LOOP_LENGTH = 80;

    function updateCalc() {
        var areaEl = document.getElementById('area');
        var distEl = document.getElementById('dist');
        if(!areaEl || !distEl) return;

        var area = parseFloat(areaEl.value);
        var dist = parseFloat(distEl.value);
        
        document.getElementById('v-area').innerText = area;
        document.getElementById('v-dist').innerText = dist;

        var areaPipe = area * currentMbPerM2;
        var maxUsableInLoop = MAX_LOOP_LENGTH - (dist * 2);
        if (maxUsableInLoop < 10) { maxUsableInLoop = 10; }

        var loops = Math.ceil(areaPipe / maxUsableInLoop);
        var connectionsPipe = loops * (dist * 2);
        var totalLength = areaPipe + connectionsPipe;
        var loopLen = totalLength / loops;

        document.getElementById('resTotal').innerText = totalLength.toFixed(0);
        document.getElementById('resSpacing').innerText = currentRozstaw + ' cm';
        document.getElementById('resAreaOnly').innerText = areaPipe.toFixed(0) + ' mb';
        document.getElementById('resConnections').innerText = connectionsPipe.toFixed(0) + ' mb';
        
        document.getElementById('resLoops').innerText = loops + (loops === 1 ? ' szt.' : ' szt.');
        document.getElementById('resLoopLen').innerText = '~' + loopLen.toFixed(1) + ' mb';
    }

    var typeBtns = document.querySelectorAll('#pipe-calc-app .type-btn');
    typeBtns.forEach(function(btn) {
        btn.addEventListener('click', function(e) {
            typeBtns.forEach(function(b) { b.classList.remove('active'); });
            var currentBtn = e.currentTarget;
            currentBtn.classList.add('active');
            
            currentRozstaw = parseInt(currentBtn.getAttribute('data-rozstaw'));
            currentMbPerM2 = parseFloat(currentBtn.getAttribute('data-mb'));
            updateCalc();
        });
    });

    var areaInput = document.getElementById('area');
    var distInput = document.getElementById('dist');
    
    if(areaInput) areaInput.addEventListener('input', updateCalc);
    if(distInput) distInput.addEventListener('input', updateCalc);

    var btnEmail = document.getElementById('btn-email');
    if(btnEmail) {
        btnEmail.addEventListener('click', function() {
            var area = document.getElementById('v-area').innerText;
            var dist = document.getElementById('v-dist').innerText;
            var total = document.getElementById('resTotal').innerText;
            var loops = document.getElementById('resLoops').innerText;
            var loopLen = document.getElementById('resLoopLen').innerText;
            
            var email = 'biuro@projekt-ogrzewania.pl';
            var subject = encodeURIComponent('Konsultacja - Zapotrzebowanie na rurę PEX');
            
            var bodyText = 'Dzień dobry,\n\nZrobiłem wstępne kalkulacje ilości rury z Państwa narzędzia:\n\n' +
                           '• Rozstaw pętli: ' + currentRozstaw + ' cm\n' +
                           '• Powierzchnia: ' + area + ' m²\n' +
                           '• Średnia odległość od rozdzielacza: ' + dist + ' m\n' +
                           '• POTRZEBNA RURA: ' + total + ' mb\n' +
                           '• Sugerowany podział: ' + loops + ' pętli po średnio ' + loopLen + '\n\n' +
                           'Proszę o kontakt w sprawie projektu / wyceny materiałów.';
            
            var ampersand = String.fromCharCode(38);           
            window.location.href = 'mailto:' + email + '?subject=' + subject + ampersand + 'body=' + encodeURIComponent(bodyText);
        });
    }

    updateCalc();
})();
</script>



<p class="wp-block-paragraph">Zobacz pozostałe nasze kalkulatory <a href="https://projekt-ogrzewania.pl/category/kalkulatory-budowlane/">tutaj</a>.</p>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego – dlaczego warto go zlecić profesjonalistom?</h2>



<p class="wp-block-paragraph">Nawet najlepszy <strong>kalkulator do obliczania metrów rury</strong> nie zastąpi kompleksowego projektu. Dlaczego? Oto trzy powody:</p>



<ol class="wp-block-list">
<li><strong>Optymalizacja stref grzewczych</strong> – profesjonaliści dobiorą rozstaw rur tak, aby w łazience było cieplej niż w przedpokoju,</li>



<li><strong>Unikanie mostków termicznych</strong> – błędy w rozmieszczeniu rur mogą prowadzić do strat ciepła,</li>



<li><strong>Dobór materiałów</strong> – doświadczony projektant uwzględni rodzaj podłoża i izolacji.</li>
</ol>



<p class="wp-block-paragraph">Na stronie naszej stronie internetowej znajdziesz <a href="https://projekt-ogrzewania.pl/category/kalkulatory-budowlane/">darmowe narzędzia do wstępnych obliczeń</a> oraz możliwość zlecenia szczegółowego <a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/">projektu</a>.</p>



<h3 class="wp-block-heading">Jak uniknąć typowych błędów przy obliczeniach?</h3>



<p class="wp-block-paragraph">Oto trzy pułapki, na które warto uważać:</p>



<ul class="wp-block-list">
<li><strong>Zapominanie o przyłączach</strong> – dodaj minimum 2 m rury na każde połączenie z rozdzielaczem,</li>



<li><strong>Ignorowanie strat ciśnienia</strong> – zbyt długa pętla (&gt;80 m) może wymagać mocniejszej pompy,</li>



<li><strong>Brak zapasu materiału</strong> – zawsze dodaj 5-10% do wyniku kalkulatora na okręcenie przeszkód.</li>
</ul>



<h2 class="wp-block-heading">FAQ:</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1741950968299"><strong class="schema-faq-question"><strong>Jak działa kalkulator do obliczania długości rury do ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Kalkulator uwzględnia trzy główne parametry: rozstaw pętli, powierzchnię pomieszczenia oraz odległość od rozdzielacza. Na podstawie tych danych oblicza całkowitą długość rury potrzebną do instalacji.</p> </div> <div class="schema-faq-section" id="faq-question-1741950978052"><strong class="schema-faq-question"><strong>Czy kalkulator uwzględnia strefy grzewcze?</strong></strong> <p class="schema-faq-answer">Nie, standardowy kalkulator nie uwzględnia stref grzewczych. Warto skonsultować się z projektantem, aby dostosować system do konkretnych potrzeb (np. cieplejsza łazienka).</p> </div> <div class="schema-faq-section" id="faq-question-1741950989206"><strong class="schema-faq-question"><strong>Jakie są typowe błędy przy obliczaniu długości rury?</strong></strong> <p class="schema-faq-answer">Najczęstsze błędy to pomijanie długości przyłączy, ignorowanie strat ciśnienia w długich pętlach oraz brak zapasu materiału na okręcanie przeszkód.</p> </div> <div class="schema-faq-section" id="faq-question-1741951000751"><strong class="schema-faq-question"><strong>Dlaczego warto zlecić projekt ogrzewania podłogowego profesjonalistom?</strong></strong> <p class="schema-faq-answer">Profesjonalny <a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">projekt ogrzewania podłogowego</a> gwarantuje optymalne rozmieszczenie rur, unikanie mostków termicznych oraz dobór odpowiednich materiałów, co przekłada się na efektywność i trwałość systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1741951012979"><strong class="schema-faq-question"><strong>Gdzie można znaleźć darmowy projekt ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Na stronie <a href="https://projekt-ogrzewania.pl/category/kalkulatory-budowlane/" target="_blank" rel="noreferrer noopener">projekt-ogrzewania.pl</a> znajdziesz darmowe narzędzia do wstępnych obliczeń oraz możliwość zlecenia szczegółowego projektu.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie.</h2>



<p class="wp-block-paragraph"><strong>Kalkulator do obliczania ilości metrów <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rury do ogrzewania podłogowego</a></strong> to nie tylko oszczędność czasu. To narzędzie, które:</p>



<ul class="wp-block-list">
<li>Zapobiega <em>przekroczeniu budżetu</em> przez zakup zbyt dużej ilości materiału,</li>



<li>Minimalizuje ryzyko <em>awarii systemu</em> spowodowanej przeciążeniem pętli,</li>



<li>Umożliwia <em>szybką kalkulację</em> dla różnych wariantów rozstawu rur.</li>
</ul>



<p class="wp-block-paragraph">Pamiętaj jednak, że nawet najbardziej precyzyjne obliczenia nie zastąpią projektu wykonanego przez specjalistę. Jeśli chcesz mieć pewność, że Twoje ogrzewanie podłogowe będzie efektywne i trwałe, rozważ współpracę z profesjonalistami.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/">Kalkulator do obliczania ilości metrów rury potrzebnych do ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Projektowanie ogrzewania podłogowego w domach pasywnych.</title>
		<link>https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Wed, 05 Mar 2025 13:06:27 +0000</pubDate>
				<category><![CDATA[Dom pasywny]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Ekologiczne rozwiązania grzewcze]]></category>
		<category><![CDATA[Izolacja termiczna]]></category>
		<category><![CDATA[Materiały budowlane]]></category>
		<category><![CDATA[Odnawialne źródła energii]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Systemy niskotemperaturowe]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[domy pasywne]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[ekologia]]></category>
		<category><![CDATA[izolacja termiczna]]></category>
		<category><![CDATA[niskotemperaturowe ogrzewanie]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[OZE]]></category>
		<category><![CDATA[pompy ciepła]]></category>
		<category><![CDATA[projektowanie instalacji]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2350</guid>

					<description><![CDATA[<p>Projektowanie ogrzewania podłogowego w domach pasywnych to wyzwanie, które wymaga precyzji i wiedzy technicznej. Domy pasywne, charakteryzujące się minimalnym zużyciem energii, potrzebują systemów grzewczych doskonale zintegrowanych z ich konstrukcją. W artykule omawiamy specyfikę takich instalacji, najlepsze praktyki oraz pokazujemy, jak połączyć komfort cieplny z ekologią. Dowiesz się, jak dobrać optymalny rozstaw rur, wybrać materiały o niskiej bezwładności cieplnej oraz zintegrować ogrzewanie z odnawialnymi źródłami energii.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/">Projektowanie ogrzewania podłogowego w domach pasywnych.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-intro-dark: #1e293b;
    --rk-intro-blue: #0284c7;
    --rk-intro-blue-light: #e0f2fe;
    --rk-intro-accent: #0ea5e9;
    --rk-intro-passive: #10b981; /* Zielony dla pasywnego */
    --rk-intro-standard: #f97316; /* Pomarańczowy dla standardu */
    --rk-intro-bg: #ffffff;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #475569;
}

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

/* Sekcja Opisowa Wstępu */
.rk-intro-content {
    padding: 45px 45px 30px;
    background: linear-gradient(to bottom, #f8fafc, #ffffff);
}

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

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

.rk-intro-text-body a {
    color: var(--rk-intro-blue);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.3s;
}

.rk-intro-text-body a:hover {
    color: var(--rk-intro-accent);
}

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

/* Symulator Suwakowy */
.rk-intro-sim {
    padding: 0 45px 45px;
}

.rk-sim-header h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-intro-dark);
    text-align: center;
    margin: 0 0 25px 0;
}

/* Custom Slider */
.rk-slider-container {
    background: #f1f5f9;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-intro-border);
    margin-bottom: 30px;
}

.rk-slider-labels {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-range-input {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: linear-gradient(to right, var(--rk-intro-passive) 0%, #cbd5e1 50%, var(--rk-intro-standard) 100%);
    outline: none;
    transition: opacity .2s;
}

.rk-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #ffffff;
    border: 3px solid var(--rk-intro-blue);
    cursor: pointer;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
    transition: transform 0.1s;
}

.rk-range-input::-webkit-slider-thumb:active {
    transform: scale(1.1);
}

/* Wizualizacja SVG i Dane */
.rk-sim-dashboard {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 30px;
    align-items: center;
}

.rk-svg-house {
    width: 100%;
    max-width: 180px;
    margin: 0 auto;
    display: block;
}

.anim-heat-loss {
    transition: opacity 0.3s, transform 0.3s;
}

.anim-wall {
    transition: stroke-width 0.3s, stroke 0.3s;
}

.anim-floor-heat {
    transition: fill 0.3s;
}

/* Kafelki parametrów */
.rk-metrics-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.rk-metric-box {
    background: #ffffff;
    border: 1px solid var(--rk-intro-border);
    padding: 15px 20px;
    border-radius: 12px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-metric-box h4 {
    margin: 0 0 5px 0;
    font-size: 12px;
    text-transform: uppercase;
    color: #94a3b8;
    font-weight: 700;
    letter-spacing: 0.5px;
}

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

.rk-metric-unit {
    font-size: 12px;
    color: #64748b;
    font-weight: 600;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-intro-content, .rk-intro-sim { padding: 30px 20px; }
    .rk-sim-dashboard { grid-template-columns: 1fr; gap: 20px; text-align: center; }
    .rk-metrics-grid { grid-template-columns: 1fr 1fr; }
    .rk-svg-house { max-width: 150px; }
}
@media (max-width: 480px) {
    .rk-metrics-grid { grid-template-columns: 1fr; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/"
    },
    "headline": "Inżynieryjny fundament: OZC i skrajnie niskie zapotrzebowanie na energię w domu pasywnym",
    "description": "Projektowanie instalacji dla domów pasywnych (zapotrzebowanie poniżej 15 kWh/(m²·rok)) wymaga idealnego zbilansowania mocy, przepływów i zasilania. Tu nie ma miejsca na błędy.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-13",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#dataset-ozc",
    "name": "Zestawienie Zapotrzebowania Energetycznego: Standard vs Dom Pasywny",
    "description": "Porównanie skrajnych wartości projektowego obciążenia cieplnego (OZC) dla budownictwa tradycyjnego oraz standardu pasywnego poniżej 15 kWh.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projektowe obciążenie cieplne OZC",
      "ogrzewanie podłogowe dom pasywny",
      "zapotrzebowanie na energię 15 kWh",
      "temperatura czynnika grzewczego",
      "bezwładność cieplna budynku"
    ],
    "measurementTechnique": "Dynamiczna interpolacja algorytmiczna określająca zapotrzebowanie (W/m²), przepływ i temperaturę zasilania w zależności od współczynnika izolacyjności budynku.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Dom Pasywny (<15 kWh): Wymaga zasilania 28°C i mocy grzewczej rzędu 10 W/m².",
        "Dom Standardowy: Wymaga zasilania >35°C i mocy rzędu 40-50 W/m²."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#webapp-ozc",
    "name": "Symulator Projektowego Obciążenia Cieplnego (OZC)",
    "description": "Interaktywny suwak pozwalający obserwować w czasie rzeczywistym spadek wymaganej mocy grzewczej oraz temperatury zasilania wraz ze wzrostem izolacyjności przegród.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5 SVG",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-intro-wrap" id="ozc-intro-app">
    
    <!-- Opis Inżynieryjny -->
    <div class="rk-intro-content">
        <h2>Od teorii do fizyki budowli: Czym różni się projekt pasywny?</h2>
        <p class="rk-intro-text-body">
            Projektowanie ogrzewania podłogowego w domach pasywnych to proces inżynieryjny polegający na precyzyjnym obliczeniu <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowego obciążenia cieplnego (OZC)</a> dla budynku o ekstremalnie niskim zapotrzebowaniu na energię (poniżej <strong>15 kWh/(m²·rok)</strong>) oraz <a href="https://projekt-ogrzewania.pl/kompleksowy-kalkulator-ogrzewania-podlogowego/">doborze parametrów instalacji hydraulicznej</a> w taki sposób, aby system pracował efektywnie przy skrajnie niskich temperaturach czynnika grzewczego. W standardzie pasywnym kluczowe jest zapewnienie stabilności termicznej przy jednoczesnym uniknięciu przegrzewania pomieszczeń, co wymaga uwzględnienia <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładności cieplnej przegród</a> oraz <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/">integracji z systemem wentylacji mechanicznej z odzyskiem ciepła</a>.
        </p>
        <div class="rk-intro-highlight">
            Tu nie ma miejsca na &#8222;dobór na oko&#8221; – liczy się każdy wat mocy i litr przepływu.
        </div>
    </div>

    <!-- Symulator OZC -->
    <div class="rk-intro-sim">
        <div class="rk-sim-header">
            <h3>Symulacja OZC: Wpływ izolacji na podłogówkę</h3>
        </div>

        <div class="rk-slider-container">
            <div class="rk-slider-labels">
                <span style="color: var(--rk-intro-passive);">Dom Pasywny</span>
                <span>Energooszczędny</span>
                <span style="color: var(--rk-intro-standard);">Standard (WT2021)</span>
            </div>
            <!-- Suwak: od 1 (Pasywny) do 100 (Standard) -->
            <input type="range" min="1" max="100" value="1" class="rk-range-input" id="ozc-slider" aria-label="Wybierz standard energetyczny budynku">
        </div>

        <div class="rk-sim-dashboard">
            <!-- Animowana grafika domku -->
            <div class="rk-svg-display">
                <svg class="rk-svg-house" viewBox="0 0 200 200">
                    <!-- Fale uciekającego ciepła (animowane opacity) -->
                    <g id="heat-loss-waves" stroke="var(--rk-intro-standard)" stroke-width="3" fill="none" stroke-linecap="round" opacity="0.1">
                        <path d="M 30 70 Q 20 40 40 10" />
                        <path d="M 170 70 Q 180 40 160 10" />
                        <path d="M 100 30 Q 110 10 90 -10" />
                    </g>
                    <!-- Dach i Ściany -->
                    <path class="anim-wall" id="house-walls" d="M 40 160 L 40 90 L 100 40 L 160 90 L 160 160 Z" fill="none" stroke="#64748b" stroke-width="12" stroke-linejoin="round" />
                    <!-- Podłoga (Wylewka) -->
                    <rect x="25" y="160" width="150" height="20" fill="#cbd5e1" rx="2" />
                    <!-- Rury podłogówki -->
                    <g id="floor-pipes" fill="var(--rk-intro-passive)">
                        <circle cx="50" cy="170" r="5" />
                        <circle cx="80" cy="170" r="5" />
                        <circle cx="110" cy="170" r="5" />
                        <circle cx="140" cy="170" r="5" />
                    </g>
                    <!-- Centralna ikona temperatury -->
                    <text x="100" y="125" text-anchor="middle" font-size="28" font-weight="900" fill="var(--rk-intro-dark)" font-family="sans-serif">20°C</text>
                </svg>
            </div>

            <!-- Dynamiczne parametry OZC -->
            <div class="rk-metrics-grid">
                <div class="rk-metric-box">
                    <h4>Zapotrzebowanie EUco</h4>
                    <div class="rk-metric-value" id="val-euco" style="color: var(--rk-intro-passive);">15</div>
                    <div class="rk-metric-unit">kWh/(m²·rok)</div>
                </div>
                <div class="rk-metric-box">
                    <h4>Moc z podłogi (q)</h4>
                    <div class="rk-metric-value" id="val-q">10</div>
                    <div class="rk-metric-unit">W/m²</div>
                </div>
                <div class="rk-metric-box">
                    <h4>Max Temp. Zasilania</h4>
                    <div class="rk-metric-value" id="val-temp" style="color: var(--rk-intro-passive);">28°C</div>
                    <div class="rk-metric-unit">przy mrozie -20°C</div>
                </div>
                <div class="rk-metric-box">
                    <h4>Praca Pompy Ciepła</h4>
                    <div class="rk-metric-value" id="val-cop" style="color: var(--rk-intro-passive);">COP Maksymalne</div>
                    <div class="rk-metric-unit">Stabilność układu</div>
                </div>
            </div>
        </div>
    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Anti-Theft) bez H2/H3
    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('ozc-intro-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #1e293b; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">⚠️</div>
                    <div style="font-size: 18px; font-weight: bold; color: #ef4444; margin-bottom: 10px; text-transform: uppercase;">Nieautoryzowane Użycie Kodu</div>
                    <div style="color: #cbd5e1; font-size: 14px; line-height: 1.6;">
                        Ten kalkulator OZC oraz struktura Schema.org stanowią własność portalu Projekt-Ogrzewania.pl. 
                        Skrypt zablokował renderowanie na obcej domenie.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Suwaka (Interpolacja OZC)
    const slider = document.getElementById('ozc-slider');
    
    // Elementy UI
    const valEuco = document.getElementById('val-euco');
    const valQ = document.getElementById('val-q');
    const valTemp = document.getElementById('val-temp');
    const valCop = document.getElementById('val-cop');
    
    // Elementy SVG
    const heatLossWaves = document.getElementById('heat-loss-waves');
    const houseWalls = document.getElementById('house-walls');
    const floorPipes = document.getElementById('floor-pipes');

    // Kolory do płynnego przejścia
    const colorPassive = [16, 185, 129]; // #10b981
    const colorStandard = [249, 115, 22]; // #f97316

    function interpolateColor(color1, color2, factor) {
        let result = color1.slice();
        for (let i = 0; i < 3; i++) {
            result[i] = Math.round(result[i] + factor * (color2[i] - color1[i]));
        }
        return `rgb(${result[0]}, ${result[1]}, ${result[2]})`;
    }

    function updateSimulation() {
        const factor = (slider.value - 1) / 99; // 0 (Pasywny) do 1 (Standard)

        // Obliczenia wartości
        const euco = Math.round(15 + factor * (65 - 15)); // od 15 do 65 kWh
        const q = Math.round(10 + factor * (45 - 10)); // od 10 do 45 W/m2
        const tempZasilania = Math.round(28 + factor * (38 - 28)); // od 28 do 38 C
        
        // Kolor stanu
        const currentColor = interpolateColor(colorPassive, colorStandard, factor);

        // Aktualizacja HTML
        valEuco.textContent = euco;
        valEuco.style.color = currentColor;
        
        valQ.textContent = q;
        valQ.style.color = currentColor;
        
        valTemp.textContent = tempZasilania + '°C';
        valTemp.style.color = currentColor;

        if (factor < 0.33) {
            valCop.textContent = "COP Maksymalne";
            valCop.style.color = "var(--rk-intro-passive)";
        } else if (factor < 0.66) {
            valCop.textContent = "COP Standardowe";
            valCop.style.color = "#64748b";
        } else {
            valCop.textContent = "Ryzyko Spadku COP";
            valCop.style.color = "var(--rk-intro-standard)";
        }

        // Animacja SVG
        // Grubosć ścian maleje im gorszy standard (więcej strat)
        const wallThickness = 14 - (factor * 8); // od 14px do 6px
        houseWalls.style.strokeWidth = wallThickness;
        houseWalls.style.stroke = factor < 0.5 ? '#64748b' : '#94a3b8';

        // Intensywność fal uciekającego ciepła rośnie
        heatLossWaves.style.opacity = 0.1 + (factor * 0.9); // od 0.1 do 1.0

        // Kolor rur podłogówki robi się coraz "gorętszy"
        floorPipes.setAttribute('fill', currentColor);
    }

    // Nasłuchiwanie zdarzeń
    slider.addEventListener('input', updateSimulation);
    
    // Inicjalizacja
    updateSimulation();
});
</script>



<style>
:root {
    --rk-pwr-dark: #1e293b;
    --rk-pwr-blue: #0284c7;
    --rk-pwr-blue-light: #f0f9ff;
    --rk-pwr-green: #10b981;
    --rk-pwr-green-bg: #ecfdf5;
    --rk-pwr-red: #ef4444;
    --rk-pwr-red-bg: #fef2f2;
    --rk-pwr-gray: #64748b;
    --rk-pwr-border: #e2e8f0;
    --rk-pwr-bg: #ffffff;
}

.rk-pwr-container {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, sans-serif;
    background: var(--rk-pwr-bg);
    border-radius: 20px;
    box-shadow: 0 15px 35px -10px rgba(2, 132, 199, 0.12);
    border: 1px solid #bae6fd;
    overflow: hidden;
}

/* Sekcja Treści */
.rk-pwr-content {
    padding: 40px 40px 25px;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    border-bottom: 1px solid var(--rk-pwr-border);
}

.rk-pwr-content h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-pwr-dark);
    margin: 0 0 20px 0;
    line-height: 1.3;
}

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

.rk-pwr-text a {
    color: var(--rk-pwr-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid #bae6fd;
    transition: all 0.3s;
}

.rk-pwr-text a:hover {
    background: var(--rk-pwr-blue-light);
    border-color: var(--rk-pwr-blue);
}

/* Interfejs Symulatora */
.rk-pwr-interactive {
    padding: 30px 40px 40px;
}

.rk-pwr-interactive h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-pwr-dark);
    text-align: center;
    margin: 0 0 25px 0;
}

/* Slider / Suwak */
.rk-pwr-slider-box {
    background: #f8fafc;
    padding: 25px 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-pwr-border);
    margin-bottom: 35px;
}

.rk-slider-labels {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 15px;
}

.rk-slider-input {
    -webkit-appearance: none;
    width: 100%;
    height: 10px;
    border-radius: 5px;
    background: linear-gradient(90deg, var(--rk-pwr-green) 0%, #cbd5e1 50%, var(--rk-pwr-red) 100%);
    outline: none;
}

.rk-slider-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #ffffff;
    border: 4px solid var(--rk-pwr-blue);
    cursor: pointer;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.15);
    transition: transform 0.1s;
}

.rk-slider-input::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

/* Wyświetlacz: SVG + Kafelki */
.rk-pwr-dashboard {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 30px;
    align-items: center;
}

.rk-pwr-svg-wrap {
    text-align: center;
}

.rk-svg-heat {
    width: 100%;
    max-width: 180px;
}

.anim-heat-wave {
    fill: none;
    stroke-width: 5;
    stroke-linecap: round;
    transition: stroke 0.3s, transform 0.3s;
}

/* Kafelki parametrów */
.rk-pwr-metrics {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.rk-pwr-card {
    background: #ffffff;
    border: 1px solid var(--rk-pwr-border);
    padding: 20px;
    border-radius: 14px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    transition: all 0.3s;
}

.rk-pwr-card h4 {
    margin: 0 0 8px 0;
    font-size: 12px;
    text-transform: uppercase;
    color: var(--rk-pwr-gray);
    letter-spacing: 0.5px;
}

.rk-pwr-value {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-pwr-dark);
    line-height: 1.1;
    margin-bottom: 4px;
}

.rk-pwr-unit {
    font-size: 13px;
    color: #94a3b8;
    font-weight: 600;
}

.status-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    margin-top: 10px;
}

.badge-ok { background: var(--rk-pwr-green-bg); color: var(--rk-pwr-green); border: 1px solid #a7f3d0; }
.badge-warn { background: var(--rk-pwr-red-bg); color: var(--rk-pwr-red); border: 1px solid #fecaca; }

@media (max-width: 768px) {
    .rk-pwr-content, .rk-pwr-interactive { padding: 25px; }
    .rk-pwr-dashboard { grid-template-columns: 1fr; gap: 20px; }
    .rk-pwr-svg-wrap { margin-bottom: 10px; }
    .rk-svg-heat { max-width: 140px; }
}

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

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#article-moc-grzewcza",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/"
    },
    "headline": "Maksymalna moc grzewcza ogrzewania podłogowego w domu pasywnym",
    "description": "Zrozumienie różnicy w mocy grzewczej między budownictwem tradycyjnym (60-80 W/m2) a pasywnym (10-20 W/m2). Wpływ na temperaturę podłogi według PN-EN 1264.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-03-05",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#dataset-moc",
    "name": "Zestawienie Mocy Grzewczej: Dom Pasywny vs Tradycyjny",
    "description": "Porównanie parametrów obciążenia cieplnego dla salonu 35 m2 w zależności od standardu izolacji budynku.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna moc grzewcza podłogówki",
      "obciążenie cieplne W/m2",
      "temperatura powierzchni podłogi 29°C",
      "przegrzewanie domu pasywnego",
      "norma PN-EN 12831"
    ],
    "measurementTechnique": "Dynamiczna estymacja mocy i temperatury podłogi w oparciu o wytyczne norm PN-EN 12831 (obliczanie strat) oraz PN-EN 1264 (parametry podłogówki).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Dom Pasywny: Zapotrzebowanie ~10-20 W/m2, moc całkowita salonu 35m2 ~400W, temperatura podłogi 24-25°C.",
        "Budownictwo Tradycyjne: Zapotrzebowanie ~60-80 W/m2, ryzyko przekroczenia normatywnych 29°C w domach wysoce izolowanych przy błędnym projekcie."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#webapp-moc",
    "name": "Symulator Przegrzewania Podłogi",
    "description": "Aplikacja internetowa wizualizująca ryzyko przegrzania pomieszczenia pasywnego w przypadku zastosowania mocy grzewczej właściwej dla starego budownictwa.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-pwr-container" id="pwr-sim-app">
    
    <div class="rk-pwr-content">
        <h2>Jaka jest maksymalna moc grzewcza w domu pasywnym?</h2>
        <p class="rk-pwr-text">
            Moc grzewcza w domu pasywnym nie powinna przekraczać <strong>10–20 W/m²</strong> przy parametrach obliczeniowych dla danej strefy klimatycznej, zgodnie z <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">normą PN-EN 12831</a>. W tradycyjnym budownictwie wartości te sięgają 60–80 W/m², co w standardzie pasywnym doprowadziłoby do natychmiastowego przegrzania i dyskomfortu.
        </p>
        <p class="rk-pwr-text">
            W domach pasywnych <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">obliczenia strat ciepła</a> muszą być wykonane z dokładnością do 1 W. Przykładowo, dla salonu o powierzchni 35 m² projektowe obciążenie cieplne wynosi zaledwie 350–450 W. Zgodnie z <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">normą PN-EN 1264</a>, musimy tak dobrać rozstaw i temperaturę, aby nie przekroczyć granicy 29°C. Prawidłowo zaprojektowana <a href="https://projekt-ogrzewania.pl/jaka-jest-optymalna-temperatura-ogrzewania-podlogowego/">optymalna temperatura podłogi</a> w domu pasywnym rzadko przekracza jednak 24–25°C.
        </p>
    </div>

    <div class="rk-pwr-interactive">
        <h3>Symulator Salonu 35 m²: Ryzyko Przegrzania</h3>
        
        <div class="rk-pwr-slider-box">
            <div class="rk-slider-labels">
                <span style="color: var(--rk-pwr-green);">Dom Pasywny</span>
                <span style="color: var(--rk-pwr-red);">Stare Budownictwo</span>
            </div>
            <input type="range" min="1" max="100" value="10" class="rk-slider-input" id="rk-pwr-slider" aria-label="Symulacja obciążenia cieplnego budynku">
        </div>

        <div class="rk-pwr-dashboard">
            <!-- Animacja SVG -->
            <div class="rk-pwr-svg-wrap">
                <svg class="rk-svg-heat" viewBox="0 0 200 200">
                    <!-- Fale promieniowania -->
                    <g id="heat-waves" stroke="var(--rk-pwr-green)">
                        <path class="anim-heat-wave" id="wave1" d="M 50 140 Q 60 90 50 40" />
                        <path class="anim-heat-wave" id="wave2" d="M 100 140 Q 110 90 100 40" />
                        <path class="anim-heat-wave" id="wave3" d="M 150 140 Q 160 90 150 40" />
                    </g>
                    <!-- Przekrój podłogi -->
                    <rect x="20" y="160" width="160" height="24" fill="#cbd5e1" rx="4" />
                    <!-- Rury grzewcze -->
                    <g id="floor-pipes" fill="var(--rk-pwr-green)">
                        <circle cx="50" cy="172" r="6" />
                        <circle cx="83" cy="172" r="6" />
                        <circle cx="116" cy="172" r="6" />
                        <circle cx="150" cy="172" r="6" />
                    </g>
                </svg>
            </div>

            <!-- Karty Danych -->
            <div class="rk-pwr-metrics">
                <div class="rk-pwr-card">
                    <h4>Moc z 1 m² (q)</h4>
                    <div class="rk-pwr-value" id="val-wm2">12</div>
                    <div class="rk-pwr-unit">W/m²</div>
                    <div class="status-badge badge-ok" id="badge-wm2">Zgodnie z normą</div>
                </div>
                <div class="rk-pwr-card">
                    <h4>Moc Całkowita Salonu</h4>
                    <div class="rk-pwr-value" id="val-total">420</div>
                    <div class="rk-pwr-unit">Watów (W)</div>
                </div>
                <div class="rk-pwr-card">
                    <h4>Temp. Powierzchni</h4>
                    <div class="rk-pwr-value" id="val-temp">24.5</div>
                    <div class="rk-pwr-unit">°C</div>
                    <div class="status-badge badge-ok" id="badge-temp">Komfortowa</div>
                </div>
                <div class="rk-pwr-card">
                    <h4>Zasilanie Pętli</h4>
                    <div class="rk-pwr-value" id="val-supply">30</div>
                    <div class="rk-pwr-unit">°C</div>
                </div>
            </div>
        </div>
    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Anti-Theft) bez H2/H3
    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('pwr-sim-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 30px; text-align: center; background: #1e293b; border: 2px solid #ef4444; border-radius: 16px; font-family: sans-serif;">
                    <div style="font-size: 32px; margin-bottom: 10px;">⚠️</div>
                    <div style="font-size: 16px; font-weight: bold; color: #ef4444; margin-bottom: 10px; text-transform: uppercase;">Zablokowano</div>
                    <div style="color: #cbd5e1; font-size: 13px; line-height: 1.5;">
                        Kod kalkulatora mocy grzewczej oraz dane ustrukturyzowane Schema.org są chronione. Uruchamianie na nieautoryzowanej domenie zostało przerwane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Suwaka
    const slider = document.getElementById('rk-pwr-slider');
    
    // Elementy DOM
    const valWm2 = document.getElementById('val-wm2');
    const valTotal = document.getElementById('val-total');
    const valTemp = document.getElementById('val-temp');
    const valSupply = document.getElementById('val-supply');
    
    const badgeWm2 = document.getElementById('badge-wm2');
    const badgeTemp = document.getElementById('badge-temp');
    
    // SVG
    const heatWaves = document.getElementById('heat-waves');
    const floorPipes = document.getElementById('floor-pipes');
    const wavePaths = document.querySelectorAll('.anim-heat-wave');

    const AREA = 35; // Powierzchnia salonu stała = 35 m2

    function interpolateColor(color1, color2, factor) {
        let result = color1.slice();
        for (let i = 0; i < 3; i++) {
            result[i] = Math.round(result[i] + factor * (color2[i] - color1[i]));
        }
        return `rgb(${result[0]}, ${result[1]}, ${result[2]})`;
    }

    const rgbGreen = [16, 185, 129]; // #10b981
    const rgbRed = [239, 68, 68];    // #ef4444

    function updateSim() {
        const factor = (slider.value - 1) / 99; // 0.0 to 1.0

        // Obliczenia
        const powerPerSqm = Math.round(10 + factor * (80 - 10)); // 10 do 80 W/m2
        const totalPower = powerPerSqm * AREA;
        const surfaceTemp = (24 + factor * (33 - 24)).toFixed(1); // 24.0 do 33.0 °C
        const supplyTemp = Math.round(28 + factor * (45 - 28)); // 28 do 45 °C

        const currentColor = interpolateColor(rgbGreen, rgbRed, factor);

        // Aktualizacja Wartości
        valWm2.textContent = powerPerSqm;
        valWm2.style.color = currentColor;
        
        valTotal.textContent = totalPower;
        
        valTemp.textContent = surfaceTemp;
        valTemp.style.color = currentColor;
        
        valSupply.textContent = supplyTemp;

        // Logika Odznak (Badges)
        if (powerPerSqm <= 20) {
            badgeWm2.className = 'status-badge badge-ok';
            badgeWm2.textContent = 'Standard Pasywny';
        } else {
            badgeWm2.className = 'status-badge badge-warn';
            badgeWm2.textContent = 'Straty Tradycyjne';
        }

        if (surfaceTemp <= 29) {
            badgeTemp.className = 'status-badge badge-ok';
            badgeTemp.textContent = 'Norma zachowana';
        } else {
            badgeTemp.className = 'status-badge badge-warn';
            badgeTemp.textContent = 'Przegrzewanie (>29°C)';
        }

        // Animacja SVG
        heatWaves.setAttribute('stroke', currentColor);
        floorPipes.setAttribute('fill', currentColor);

        // Intensywność fal na podstawie mocy (wymuszenie ruchu)
        const waveOffset = factor * 20;
        wavePaths[0].setAttribute('d', `M 50 140 Q ${60 + waveOffset} 90 50 40`);
        wavePaths[1].setAttribute('d', `M 100 140 Q ${110 - waveOffset} 90 100 40`);
        wavePaths[2].setAttribute('d', `M 150 140 Q ${160 + waveOffset} 90 150 40`);
        
        heatWaves.style.opacity = 0.4 + (factor * 0.6); // Zwiększa widoczność ciepła
    }

    slider.addEventListener('input', updateSim);
    updateSim(); // Init
});
</script>




<style>
:root {
    --rk-therm-dark: #1e293b;
    --rk-therm-brand: #0ea5e9;
    --rk-therm-sun: #fbbf24;
    --rk-therm-heat: #ef4444;
    --rk-therm-cool: #3b82f6;
    --rk-therm-bg: #ffffff;
    --rk-therm-panel: #f8fafc;
    --rk-therm-border: #e2e8f0;
    --rk-therm-text: #475569;
}

.rk-therm-wrap {
    max-width: 920px;
    margin: 50px auto;
    font-family: 'Inter', system-ui, sans-serif;
    background: var(--rk-therm-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(14, 165, 233, 0.15);
    border: 1px solid #bae6fd;
    overflow: hidden;
}

/* Sekcja Treści */
.rk-therm-content {
    padding: 45px 50px 30px;
    background: linear-gradient(180deg, #f0f9ff 0%, #ffffff 100%);
    border-bottom: 1px solid var(--rk-therm-border);
}

.rk-therm-content h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-therm-dark);
    margin: 0 0 20px 0;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

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

.rk-therm-text a {
    color: #0284c7;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid #bae6fd;
    transition: all 0.3s;
}

.rk-therm-text a:hover {
    background: #e0f2fe;
    border-color: #0284c7;
}

.rk-highlight-box {
    background: #fffbeb;
    border-left: 4px solid var(--rk-therm-sun);
    padding: 15px 20px;
    border-radius: 0 12px 12px 0;
    margin: 25px 0;
    font-size: 15px;
    color: #92400e;
    font-weight: 600;
}

/* Symulator Samoregulacji */
.rk-therm-interactive {
    padding: 40px 50px;
}

.rk-therm-interactive h3 {
    text-align: center;
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-therm-dark);
    margin: 0 0 30px 0;
}

/* Unikalny Kontroler - Suwak Słoneczny */
.rk-sun-controller {
    background: var(--rk-therm-panel);
    border: 1px solid var(--rk-therm-border);
    padding: 25px 35px;
    border-radius: 16px;
    margin-bottom: 40px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

.rk-sun-labels {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    font-weight: 800;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #64748b;
}

.rk-sun-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 12px;
    border-radius: 6px;
    background: linear-gradient(90deg, #cbd5e1 0%, var(--rk-therm-sun) 100%);
    outline: none;
}

.rk-sun-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #ffffff;
    border: 4px solid var(--rk-therm-sun);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(251, 191, 36, 0.4);
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-sun-slider::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}

/* Dashboard: SVG + Dane (Układ zintegrowany) */
.rk-therm-dashboard {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

/* Wizualizacja interaktywna SVG */
.rk-svg-stage {
    background: #ffffff;
    border-radius: 20px;
    padding: 20px;
    border: 1px solid var(--rk-therm-border);
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.05);
    position: relative;
}

.rk-anim-sun-rays {
    transition: opacity 0.3s ease;
}

.rk-anim-therm-fill {
    transition: y 0.3s ease, height 0.3s ease, fill 0.3s ease;
}

.rk-anim-pipe {
    transition: fill 0.4s ease;
}

/* Kafelki Danych (H4) */
.rk-metrics-grid {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-metric-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--rk-therm-border);
    padding: 16px 24px;
    border-radius: 14px;
    transition: all 0.3s;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-metric-row:hover {
    border-color: #bae6fd;
    transform: translateX(5px);
}

.rk-metric-info h4 {
    margin: 0 0 4px 0;
    font-size: 13px;
    text-transform: uppercase;
    color: var(--rk-therm-text);
    letter-spacing: 0.5px;
}

.rk-metric-info p {
    margin: 0;
    font-size: 11px;
    color: #94a3b8;
}

.rk-metric-value {
    font-size: 26px;
    font-weight: 900;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.rk-metric-value span {
    font-size: 13px;
    font-weight: 700;
    margin-left: 2px;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-therm-content, .rk-therm-interactive { padding: 30px 25px; }
    .rk-therm-dashboard { grid-template-columns: 1fr; gap: 30px; }
    .rk-metric-row { padding: 15px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/"
    },
    "headline": "Optymalna temperatura zasilania pompy ciepła i efekt samoregulacji podłogówki",
    "description": "Dlaczego temperatura zasilania 28°C-32°C to ideał dla pomp ciepła? Poznaj efekt samoregulacji instalacji według normy ISO 10508 i wpływ pasywnych zysków ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-13",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#dataset",
    "name": "Analiza Efektu Samoregulacji Ogrzewania Podłogowego",
    "description": "Zestawienie spadku mocy grzewczej podłogi w funkcji wzrostu temperatury wewnętrznej pomieszczenia wywołanej pasywnymi zyskami słonecznymi.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "temperatura zasilania pompy ciepła",
      "współczynnik COP pompy ciepła",
      "samoregulacja ogrzewania podłogowego",
      "pasywne zyski słoneczne dom pasywny",
      "norma ISO 10508 podłogówka"
    ],
    "measurementTechnique": "Algorytmiczna interpolacja liniowa odwzorowująca spadek gęstości strumienia cieplnego przy zmniejszającej się różnicy temperatur między podłogą a powietrzem.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Stan bazowy: Temp. pokoju 20.0°C, moc podłogi 100%, zasilanie 30°C.",
        "Efekt samoregulacji: Wzrost temp. pokoju do 22.0°C od słońca automatycznie dławi oddawanie ciepła przez podłogę o 30%, redukując zużycie prądu przez pompę."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/#webapp",
    "name": "Symulator Samoregulacji Termicznej Płyty Grzewczej",
    "description": "Narzędzie interaktywne ilustrujące zjawisko fizyczne, w którym podłoga przestaje oddawać ciepło pod wpływem nasłonecznienia zewnętrznego, bez ingerencji termostatów.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-therm-wrap" id="samoregulacja-app">
    
    <div class="rk-therm-content">
        <h2>Jaka temperatura zasilania jest idealna dla pompy ciepła w standardzie pasywnym?</h2>
        <p class="rk-therm-text">
            Idealna temperatura zasilania (T_z) w domu pasywnym oscyluje w granicach <strong>28°C – 32°C</strong> przy temperaturze zewnętrznej -20°C. Obniżenie temperatury zasilania o każdy 1°C zwiększa <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/">współczynnik COP pompy ciepła</a> o około 2-3%, co w skali roku generuje wymierne oszczędności na rachunkach za prąd.
        </p>
        <p class="rk-therm-text">
            Projektując układ, dążymy do tzw. "grzania ciągłego" o bardzo niskiej mocy. <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">Norma EN 1264</a> oraz ISO 10508 klasyfikują takie systemy w Klasie 4 (niskotemperaturowe <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/">wodne ogrzewanie podłogowe</a>). Przy zasilaniu 30°C i powrocie 25°C (spadek temperatury Delta T = 5K), średnia temperatura jastrychu wynosi zaledwie 27,5°C.
        </p>
        
        <div class="rk-highlight-box">
            Przy temperaturze docelowej w pomieszczeniu 20°C, różnica między powietrzem a podłogą to tylko 7,5K. Uruchamia to zjawisko fizycznej samoregulacji.
        </div>
        
        <p class="rk-therm-text">
            To sprawia, że system dławi się samoczynnie. Jeśli <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-a-pasywne-zyski-ciepla/">pasywne zyski ciepła od nasłonecznienia</a> podniosą temperaturę w salonie o 2°C, moc oddawana przez podłogę spadnie automatycznie o blisko <strong>30%</strong>, bez jakiejkolwiek ingerencji elektroniki sterującej!
        </p>
    </div>

    <div class="rk-therm-interactive">
        <h3>Przetestuj zjawisko: Symulator Samoregulacji</h3>
        
        <div class="rk-sun-controller">
            <div class="rk-sun-labels">
                <span style="color: #94a3b8;">Brak słońca (Zima/Noc)</span>
                <span style="color: var(--rk-therm-sun);">Duże zyski przez okna (Dzień)</span>
            </div>
            <input type="range" min="0" max="100" value="0" class="rk-sun-slider" id="rk-sun-input" aria-label="Poziom nasłonecznienia pomieszczenia">
        </div>

        <div class="rk-therm-dashboard">
            <!-- Grafika Pokoju, Słońca i Termometru -->
            <div class="rk-svg-stage">
                <svg viewBox="0 0 300 200" width="100%" height="auto">
                    <!-- Słońce (animowane) -->
                    <g id="svg-sun" opacity="0.3">
                        <circle cx="50" cy="50" r="20" fill="var(--rk-therm-sun)" />
                        <g class="rk-anim-sun-rays" id="sun-rays">
                            <line x1="50" y1="15" x2="50" y2="5" stroke="var(--rk-therm-sun)" stroke-width="4" stroke-linecap="round"/>
                            <line x1="50" y1="85" x2="50" y2="95" stroke="var(--rk-therm-sun)" stroke-width="4" stroke-linecap="round"/>
                            <line x1="15" y1="50" x2="5" y2="50" stroke="var(--rk-therm-sun)" stroke-width="4" stroke-linecap="round"/>
                            <line x1="85" y1="50" x2="95" y2="50" stroke="var(--rk-therm-sun)" stroke-width="4" stroke-linecap="round"/>
                            <line x1="25" y1="25" x2="18" y2="18" stroke="var(--rk-therm-sun)" stroke-width="4" stroke-linecap="round"/>
                            <line x1="75" y1="75" x2="82" y2="82" stroke="var(--rk-therm-sun)" stroke-width="4" stroke-linecap="round"/>
                            <line x1="25" y1="75" x2="18" y2="82" stroke="var(--rk-therm-sun)" stroke-width="4" stroke-linecap="round"/>
                            <line x1="75" y1="25" x2="82" y2="18" stroke="var(--rk-therm-sun)" stroke-width="4" stroke-linecap="round"/>
                        </g>
                    </g>
                    
                    <!-- Termometr -->
                    <rect x="220" y="30" width="20" height="120" rx="10" fill="#f1f5f9" stroke="#cbd5e1" stroke-width="2"/>
                    <rect x="224" y="80" width="12" height="70" rx="6" fill="#ef4444" id="therm-fill" class="rk-anim-therm-fill"/>
                    <circle cx="230" cy="150" r="14" fill="#ef4444" id="therm-bulb" class="rk-anim-therm-fill"/>
                    <!-- Skala -->
                    <path d="M 245 50 L 255 50 M 245 70 L 255 70 M 245 90 L 255 90 M 245 110 L 255 110 M 245 130 L 255 130" stroke="#94a3b8" stroke-width="1.5"/>

                    <!-- Podłoga i Rury (animowane) -->
                    <rect x="20" y="170" width="260" height="20" fill="#e2e8f0" rx="4"/>
                    <g id="floor-pipes">
                        <circle cx="50" cy="180" r="6" class="rk-anim-pipe" fill="var(--rk-therm-heat)"/>
                        <circle cx="90" cy="180" r="6" class="rk-anim-pipe" fill="var(--rk-therm-heat)"/>
                        <circle cx="130" cy="180" r="6" class="rk-anim-pipe" fill="var(--rk-therm-heat)"/>
                        <circle cx="170" cy="180" r="6" class="rk-anim-pipe" fill="var(--rk-therm-heat)"/>
                        <circle cx="210" cy="180" r="6" class="rk-anim-pipe" fill="var(--rk-therm-heat)"/>
                        <circle cx="250" cy="180" r="6" class="rk-anim-pipe" fill="var(--rk-therm-heat)"/>
                    </g>
                </svg>
            </div>

            <!-- Parametry Dynamiczne -->
            <div class="rk-metrics-grid">
                <div class="rk-metric-row">
                    <div class="rk-metric-info">
                        <h4>Zyski Słoneczne</h4>
                        <p>Dodatkowa darmowa energia</p>
                    </div>
                    <div class="rk-metric-value" style="color: var(--rk-therm-sun);">
                        <span id="val-sun" style="font-size: 26px;">0</span><span>%</span>
                    </div>
                </div>

                <div class="rk-metric-row">
                    <div class="rk-metric-info">
                        <h4>Temperatura w salonie</h4>
                        <p>Baza: 20°C (różnica 7,5K do podłogi)</p>
                    </div>
                    <div class="rk-metric-value" style="color: var(--rk-therm-dark);">
                        <span id="val-room" style="font-size: 26px;">20.0</span><span>°C</span>
                    </div>
                </div>

                <div class="rk-metric-row" style="border-left: 4px solid var(--rk-therm-brand);">
                    <div class="rk-metric-info">
                        <h4>Moc grzewcza podłogi</h4>
                        <p>Efekt automatycznego dławienia</p>
                    </div>
                    <div class="rk-metric-value" style="color: var(--rk-therm-heat);" id="color-power">
                        <span id="val-power" style="font-size: 26px;">100</span><span>%</span>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Anti-Theft) bez H-tagów
    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('samoregulacja-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 25px; text-align: center; background: #fffbeb; border: 2px solid #f59e0b; border-radius: 12px; font-family: sans-serif;">
                    <div style="font-size: 32px; margin-bottom: 10px;">🛑</div>
                    <div style="font-size: 15px; font-weight: bold; color: #b45309; margin-bottom: 8px;">Blokada Własności Intelektualnej</div>
                    <div style="color: #92400e; font-size: 13px; line-height: 1.5;">
                        Moduł symulacji samoregulacji oraz kod strukturalny zostały zablokowane. Wykryto próbę uruchomienia skryptu Projekt-Ogrzewania.pl na innej domenie.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora (Efekt Samoregulacji)
    const slider = document.getElementById('rk-sun-input');
    
    // UI Elements
    const valSun = document.getElementById('val-sun');
    const valRoom = document.getElementById('val-room');
    const valPower = document.getElementById('val-power');
    const colorPower = document.getElementById('color-power');
    
    // SVG Elements
    const sunGroup = document.getElementById('svg-sun');
    const thermFill = document.getElementById('therm-fill');
    const pipes = document.querySelectorAll('.rk-anim-pipe');

    // Kolory interpolacji dla rur (od gorącego czerwonego do chłodnego niebieskawego)
    const colorHot = [239, 68, 68]; // #ef4444 (100% mocy)
    const colorCool = [148, 163, 184]; // #94a3b8 (70% mocy, uśpienie)

    function interpolateColor(c1, c2, factor) {
        let result = [];
        for (let i = 0; i < 3; i++) {
            result[i] = Math.round(c1[i] + factor * (c2[i] - c1[i]));
        }
        return `rgb(${result[0]}, ${result[1]}, ${result[2]})`;
    }

    function updateSimulation() {
        const factor = slider.value / 100; // 0.0 do 1.0

        // Obliczenia parametrów fizycznych
        // Zyski rosną od 0 do 100%
        valSun.textContent = Math.round(factor * 100);
        
        // Temperatura wzrasta od 20.0 do 22.0 °C
        const currentTemp = 20.0 + (factor * 2.0);
        valRoom.textContent = currentTemp.toFixed(1);
        
        // Moc podłogi spada od 100% do 70% (dławienie o 30%)
        const currentPower = 100 - (factor * 30);
        valPower.textContent = Math.round(currentPower);

        // --- Aktualizacja Wizualna SVG ---
        
        // Słońce rozjaśnia się bez transformacji promieni
        sunGroup.setAttribute('opacity', 0.2 + (factor * 0.8));

        // Termometr idzie do góry (y maleje, height rośnie)
        // Baza y=80, h=70 (20 st). Max y=40, h=110 (22 st)
        const newY = 80 - (factor * 40);
        const newH = 70 + (factor * 40);
        thermFill.setAttribute('y', newY);
        thermFill.setAttribute('height', newH);
        
        // Zmiana koloru termometru i rur w miarę samoregulacji
        // Termometr staje się cieplejszy (pomarańcz) od słońca, a rury stygną
        const pipeColor = interpolateColor(colorHot, colorCool, factor);
        
        pipes.forEach(pipe => {
            pipe.setAttribute('fill', pipeColor);
        });
        
        colorPower.style.color = pipeColor;
    }

    // Inicjalizacja nasłuchiwania
    slider.addEventListener('input', updateSimulation);
    
    // Uruchomienie stanu zero
    updateSimulation();
});
</script>



<style>
:root {
    --rk-sp-dark: #0f172a;
    --rk-sp-brand: #0284c7;
    --rk-sp-brand-light: #f0f9ff;
    --rk-sp-accent: #38bdf8;
    --rk-sp-eco: #10b981;
    --rk-sp-warn: #f59e0b;
    --rk-sp-text: #475569;
    --rk-sp-border: #e2e8f0;
    --rk-sp-bg: #ffffff;
}

.rk-sp-wrap {
    max-width: 920px;
    margin: 50px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-sp-bg);
    border-radius: 28px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.12);
    border: 1px solid #bae6fd;
    overflow: hidden;
}

/* Header */
.rk-sp-header {
    padding: 45px 50px 35px;
    background: linear-gradient(180deg, #f0f9ff 0%, #ffffff 100%);
    border-bottom: 1px solid var(--rk-sp-border);
}

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

.rk-sp-formula {
    background: var(--rk-sp-dark);
    color: #cbd5e1;
    padding: 22px 25px;
    border-radius: 16px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 14px;
    border-left: 5px solid var(--rk-sp-brand);
    margin-top: 20px;
}

.rk-sp-formula .hl { color: var(--rk-sp-eco); font-weight: 800; }

/* Dashboard */
.rk-sp-dashboard {
    padding: 40px 50px;
    background: #f8fafc;
}

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

.rk-sp-card {
    background: #ffffff;
    border: 2px solid var(--rk-sp-border);
    padding: 20px;
    border-radius: 20px;
    cursor: pointer;
    text-align: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-sp-card.active {
    border-color: var(--rk-sp-brand);
    background: var(--rk-sp-brand-light);
    box-shadow: 0 10px 15px -3px rgba(2, 132, 199, 0.15);
}

.rk-sp-label { font-size: 11px; font-weight: 800; color: #64748b; text-transform: uppercase; margin-bottom: 5px; display: block; }
.rk-sp-val { font-size: 18px; font-weight: 900; color: var(--rk-sp-dark); }

.rk-sp-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 30px;
    align-items: start;
}

/* SVG Visualization */
.rk-sp-visual {
    background: #ffffff;
    border: 1px solid var(--rk-sp-border);
    border-radius: 24px;
    padding: 35px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

.rk-svg-main { width: 100%; height: auto; display: block; }
.layer-text { font-size: 8px; font-weight: 700; fill: #94a3b8; text-transform: uppercase; }
.pipe-anim { transition: opacity 0.4s ease; }

/* Stats */
.rk-sp-stats {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-stat-row {
    background: #ffffff;
    border: 1px solid var(--rk-sp-border);
    padding: 18px 22px;
    border-radius: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s ease;
}

.rk-stat-row:hover { border-color: var(--rk-sp-accent); transform: translateX(5px); }

.rk-stat-info h4 { margin: 0; font-size: 12px; color: #64748b; text-transform: uppercase; letter-spacing: 0.5px; }
.rk-stat-info p { margin: 4px 0 0 0; font-size: 11px; color: #94a3b8; }
.rk-stat-num { font-size: 24px; font-weight: 900; color: var(--rk-sp-dark); display: block; }

@media (max-width: 850px) {
    .rk-sp-grid { grid-template-columns: 1fr; }
    .rk-sp-selector { grid-template-columns: 1fr; }
}
</style>

<div class="rk-sp-wrap" id="rk-spacing-app">
    
    <div class="rk-sp-header">
        <h2>Jaki rozstaw rur jest optymalny przy niskim zapotrzebowaniu na ciepło?</h2>
        <p>W domach pasywnych (10-15 W/m²) optymalny rozstaw to <strong>15 cm lub 20 cm</strong>. Zapewnia to idealne przepływy dla pompy ciepła i eliminuje zbędne koszty materiału.</p>
        <div class="rk-sp-formula">
            // Bilans hydrauliczny pętli 15 m²<br>
            Moc (Q) = 225 W | Przepływ (m) = <span class="hl">0,64 l/min</span>
        </div>
    </div>

    <div class="rk-sp-dashboard">
        <div class="rk-sp-selector">
            <div class="rk-sp-card active" data-mode="1">
                <span class="rk-sp-label">Standard WT2021</span>
                <span class="rk-sp-val">co 10 cm</span>
            </div>
            <div class="rk-sp-card" data-mode="2">
                <span class="rk-sp-label">Energooszczędny</span>
                <span class="rk-sp-val">co 15 cm</span>
            </div>
            <div class="rk-sp-card" data-mode="3">
                <span class="rk-sp-label">Standard Pasywny</span>
                <span class="rk-sp-val">co 20 cm</span>
            </div>
        </div>

        <div class="rk-sp-grid">
            <div class="rk-sp-visual">
                <svg class="rk-svg-main" viewBox="0 0 240 160">
                    <defs>
                        <linearGradient id="g-pipe" x1="0%" y1="0%" x2="0%" y2="100%">
                            <stop offset="0%" style="stop-color:#38bdf8" />
                            <stop offset="100%" style="stop-color:#0284c7" />
                        </linearGradient>
                    </defs>
                    <rect x="10" y="40" width="220" height="60" fill="#f1f5f9" stroke="#cbd5e1" stroke-width="1"/>
                    <text x="20" y="55" class="layer-text">Wylewka Anhydrytowa (60mm)</text>
                    <rect x="10" y="100" width="220" height="50" fill="#e2e8f0" stroke="#cbd5e1" stroke-width="1"/>
                    <text x="20" y="115" class="layer-text">Izolacja EPS 200 (200mm)</text>

                    <g id="pipes">
                        <circle cx="30" cy="85" r="8" fill="url(#g-pipe)" stroke="#fff" stroke-width="2"/>
                        <circle cx="65" cy="85" r="8" fill="url(#g-pipe)" stroke="#fff" stroke-width="2" class="pipe-anim p10"/>
                        <circle cx="100" cy="85" r="8" fill="url(#g-pipe)" stroke="#fff" stroke-width="2" class="pipe-anim p15"/>
                        <circle cx="135" cy="85" r="8" fill="url(#g-pipe)" stroke="#fff" stroke-width="2" class="pipe-anim p10"/>
                        <!-- Ta rura (170) jest kluczowa dla widoku 20cm -->
                        <circle cx="170" cy="85" r="8" fill="url(#g-pipe)" stroke="#fff" stroke-width="2" class="pipe-anim p15 p20"/>
                        <circle cx="205" cy="85" r="8" fill="url(#g-pipe)" stroke="#fff" stroke-width="2" class="pipe-anim p10"/>
                    </g>
                    
                    <path d="M 30 35 L 65 35 M 30 30 L 30 40 M 65 30 L 65 40" stroke="#94a3b8" stroke-width="1.5" id="m-line"/>
                    <text x="47.5" y="25" text-anchor="middle" font-size="10" font-weight="900" fill="#0284c7" id="m-text">10 cm</text>
                </svg>
            </div>

            <div class="rk-sp-stats">
                <div class="rk-stat-row">
                    <div class="rk-stat-info"><h4>Długość rur</h4><p>Dom 150 m²</p></div>
                    <div class="rk-stat-value"><span class="rk-stat-num" id="s-meters">1500</span><span class="rk-stat-unit">mb</span></div>
                </div>
                <div class="rk-stat-row" style="border-left: 5px solid var(--rk-sp-eco);">
                    <div class="rk-stat-info"><h4>Koszt materiału</h4><p id="s-label">Baza porównawcza</p></div>
                    <div class="rk-stat-value"><span class="rk-stat-num" id="s-price">6750</span><span class="rk-stat-unit">PLN</span></div>
                </div>
                <div class="rk-stat-row">
                    <div class="rk-stat-info"><h4>Opory</h4><p>Hydraulika</p></div>
                    <div class="rk-stat-value"><span class="rk-stat-num" id="s-hydro" style="font-size:18px;color:var(--rk-sp-warn)">Wysokie</span></div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-spacing-app').innerHTML = '<div style="padding:40px;text-align:center;background:#0f172a;color:#ef4444;border-radius:20px;font-weight:900;">🛡️ MODUŁ CHRONIONY</div>';
        return;
    }

    const cards = document.querySelectorAll('.rk-sp-card');
    const p10 = document.querySelectorAll('.p10'), p15 = document.querySelectorAll('.p15'), p20 = document.querySelectorAll('.p20');
    const mLine = document.getElementById('m-line'), mText = document.getElementById('m-text');
    const sMeters = document.getElementById('s-meters'), sPrice = document.getElementById('s-price'), sHydro = document.getElementById('s-hydro'), sLabel = document.getElementById('s-label');

    cards.forEach(card => {
        card.addEventListener('click', function() {
            cards.forEach(c => c.classList.remove('active'));
            this.classList.add('active');
            const mode = this.getAttribute('data-mode');

            if (mode === '1') {
                p10.forEach(p => p.style.opacity = '1'); p15.forEach(p => p.style.opacity = '1');
                mLine.setAttribute('d', 'M 30 35 L 65 35 M 30 30 L 30 40 M 65 30 L 65 40');
                mText.textContent = '10 cm'; mText.setAttribute('x', '47.5');
                update('1500', '6750', 'Wysokie', '#f59e0b', 'Baza porównawcza');
            } else if (mode === '2') {
                p10.forEach(p => p.style.opacity = '0'); p15.forEach(p => p.style.opacity = '1');
                mLine.setAttribute('d', 'M 30 35 L 100 35 M 30 30 L 30 40 M 100 30 L 100 40');
                mText.textContent = '15 cm'; mText.setAttribute('x', '65');
                update('1000', '4500', 'Optymalne', '#0284c7', 'Oszczędzasz 2250 PLN');
            } else {
                p10.forEach(p => p.style.opacity = '0'); p15.forEach(p => p.style.opacity = '0');
                p20.forEach(p => p.style.opacity = '1'); // Pokazuje rurę na 20 cm
                mLine.setAttribute('d', 'M 30 35 L 170 35 M 30 30 L 30 40 M 170 30 L 170 40');
                mText.textContent = '20 cm'; mText.setAttribute('x', '100');
                update('900', '4050', 'Minimalne', '#10b981', 'Oszczędzasz 2700 PLN');
            }
        });
    });

    function update(m, p, h, c, l) {
        sMeters.textContent = m; sPrice.textContent = p; sHydro.textContent = h; sHydro.style.color = c; sLabel.textContent = l;
    }
});
</script>



<style>
:root {
    --rk-sys-dark: #0f172a;
    --rk-sys-wet: #f97316;     /* Pomarańcz - akumulacja, ciepło */
    --rk-sys-wet-light: #fff7ed;
    --rk-sys-dry: #06b6d4;     /* Cyjan - szybkość, aluminium */
    --rk-sys-dry-light: #ecfeff;
    --rk-sys-text: #334155;
    --rk-sys-muted: #64748b;
    --rk-sys-border: #cbd5e1;
    --rk-sys-bg: #ffffff;
}

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

/* Sekcja Treści - Akapit */
.rk-sys-content {
    padding: 40px 45px 30px;
    background: linear-gradient(to bottom right, #f8fafc, #ffffff);
    border-bottom: 1px solid var(--rk-sys-border);
}

.rk-sys-content h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-sys-dark);
    margin: 0 0 20px 0;
    line-height: 1.3;
}

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

.rk-sys-text a {
    color: #2563eb;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid #bfdbfe;
    transition: all 0.3s;
}

.rk-sys-text a:hover {
    background: #dbeafe;
    border-color: #2563eb;
}

.rk-sys-note {
    background: #f1f5f9;
    border-left: 4px solid var(--rk-sys-dark);
    padding: 15px 20px;
    margin: 20px 0;
    border-radius: 0 12px 12px 0;
    font-size: 14px;
    color: var(--rk-sys-dark);
    font-weight: 600;
}

/* Interaktywny Symulator */
.rk-sys-interactive {
    padding: 40px 45px;
}

.rk-sys-interactive h3 {
    text-align: center;
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-sys-dark);
    margin: 0 0 30px 0;
}

/* Unikalny Przełącznik (Toggle) */
.rk-toggle-station {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    background: #f8fafc;
    padding: 20px;
    border-radius: 100px;
    border: 1px solid var(--rk-sys-border);
    margin-bottom: 40px;
}

.rk-toggle-label {
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--rk-sys-muted);
    transition: color 0.3s;
    cursor: pointer;
}

.rk-toggle-label.active-wet { color: var(--rk-sys-wet); }
.rk-toggle-label.active-dry { color: var(--rk-sys-dry); }

.rk-main-switch {
    position: relative;
    width: 80px;
    height: 40px;
    background: var(--rk-sys-wet);
    border-radius: 40px;
    cursor: pointer;
    transition: background 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

.rk-main-switch.mode-dry {
    background: var(--rk-sys-dry);
}

.rk-switch-knob {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 32px;
    height: 32px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-main-switch.mode-dry .rk-switch-knob {
    transform: translateX(40px);
}

/* Dashboard SVG + Kafelki */
.rk-sys-dashboard {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: stretch;
}

/* Kontener SVG */
.rk-svg-box {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid var(--rk-sys-border);
    padding: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
}

.rk-svg-cross-section {
    width: 100%;
    max-width: 250px;
}

/* Warstwy SVG */
.layer-screed { transition: opacity 0.4s; }
.layer-lamella { transition: opacity 0.4s; }
.wave-heat { fill: none; stroke-linecap: round; }

/* Animacje Bezwładności */
.state-wet .wave-heat { 
    stroke: var(--rk-sys-wet); 
    stroke-width: 6; 
    animation: flowUp 3s infinite linear; 
}
.state-dry .wave-heat { 
    stroke: var(--rk-sys-dry); 
    stroke-width: 3; 
    animation: flowUp 0.8s infinite linear; 
}

@keyframes flowUp {
    0% { transform: translateY(10px); opacity: 0; }
    50% { opacity: 1; }
    100% { transform: translateY(-30px); opacity: 0; }
}

/* Kafelki Danych (Grid) */
.rk-sys-tiles {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-tile {
    background: #ffffff;
    border: 1px solid var(--rk-sys-border);
    border-radius: 14px;
    padding: 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: all 0.3s;
}

.rk-tile h4 {
    margin: 0 0 5px 0;
    font-size: 11px;
    text-transform: uppercase;
    color: var(--rk-sys-muted);
    letter-spacing: 0.5px;
}

.rk-tile .val {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-sys-dark);
    margin-bottom: 2px;
    line-height: 1.2;
}

.rk-tile .desc {
    font-size: 12px;
    color: var(--rk-sys-text);
}

/* Mobilna responsywność */
@media (max-width: 768px) {
    .rk-sys-content, .rk-sys-interactive { padding: 25px 20px; }
    .rk-toggle-station { flex-direction: column; gap: 15px; border-radius: 20px; padding: 15px; }
    .rk-sys-dashboard { grid-template-columns: 1fr; }
    .rk-sys-tiles { grid-template-columns: 1fr; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/system-mokry-czy-suchy-w-wodnym-ogrzewaniu-podlogowym-ktory-wybrac/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/system-mokry-czy-suchy-w-wodnym-ogrzewaniu-podlogowym-ktory-wybrac/"
    },
    "headline": "System mokry czy suchy – co wybrać do domu pasywnym?",
    "description": "Porównanie systemów ogrzewania podłogowego. System mokry (anhydryt, wysoka bezwładność, domy murowane) kontra system suchy (lamele aluminiowe, niska bezwładność, domy szkieletowe). Wymagania izolacji EPS.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-03-05",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/system-mokry-czy-suchy-w-wodnym-ogrzewaniu-podlogowym-ktory-wybrac/#dataset",
    "name": "Parametry Techniczne: Wylewka Anhydrytowa vs Sucha Zabudowa",
    "description": "Tabela porównawcza parametrów przewodzenia ciepła, grubości wylewki oraz izolacji wymaganej w budownictwie pasywnym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wylewka anhydrytowa ogrzewanie podłogowe",
      "system suchy podłogówki",
      "bezwładność cieplna wylewki",
      "grubość styropianu dom pasywny",
      "lamele aluminiowe system suchy"
    ],
    "measurementTechnique": "Analiza współczynnika przewodzenia ciepła lambda (W/mK) oraz oporu cieplnego R dla jastrychów i izolacji EPS na gruncie.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Anhydryt (System Mokry): Lambda 1,6–1,8 W/(m·K), grubość 35-45 mm nad rurą, wysoka akumulacja.",
        "System Suchy (Lamele): Błyskawiczna reakcja, dedykowane do domów szkieletowych.",
        "Izolacja dom pasywny: 20-25 cm EPS 100/200, Lambda = 0,031 W/(m·K), Opór R = 6,0-8,0 (m²·K)/W."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/system-mokry-czy-suchy-w-wodnym-ogrzewaniu-podlogowym-ktory-wybrac/#webapp",
    "name": "Symulator Bezwładności Termicznej Posadzki",
    "description": "Interaktywna animacja SVG obrazująca różnicę w prędkości przekazywania ciepła (reakcji na zyski słoneczne) pomiędzy ciężkim systemem mokrym a lekkim systemem suchym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-sys-container" id="sys-simulator-app">
    
    <div class="rk-sys-content">
        <h2>System mokry czy suchy – co wybrać do domu pasywnego?</h2>
        <p class="rk-sys-text">
            W domach pasywnych o konstrukcji ciężkiej (murowanej) zalecam <a href="https://projekt-ogrzewania.pl/czym-jest-system-mokry-w-wodnym-ogrzewaniu-podlogowym/">system mokry</a> z <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">wylewką anhydrytową</a> o grubości 35–45 mm nad rurą, natomiast w <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/">budownictwie szkieletowym</a> jedynym rozsądnym wyborem jest <a href="https://projekt-ogrzewania.pl/czym-jest-system-suchy-w-wodnym-ogrzewaniu-podlogowym/">system suchy</a> o niskiej bezwładności. Wylewka anhydrytowa ma współczynnik przewodzenia ciepła lambda 1,6–1,8 W/(m·K), co jest wartością znacznie lepszą niż w przypadku jastrychu cementowego lambda 1,1–1,2 W/(m·K).
        </p>
        <p class="rk-sys-text">
            Niska <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładność cieplna</a> systemu suchego (płyty systemowe z lamelami aluminiowymi) pozwala na szybszą reakcję na zyski ciepła od słońca, co w domach pasywnych z dużymi przeszkleniami od południa jest kluczowe. System mokry z kolei działa jak akumulator energii.
        </p>
        <div class="rk-sys-note">
            <strong>Parametry techniczne izolacji:</strong> Pod ogrzewaniem podłogowym na gruncie w domu pasywnym wymagane jest minimum <strong>20–25 cm <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/" style="color:var(--rk-sys-dark); text-decoration:underline;">styropianu EPS 100 lub EPS 200</a></strong> o współczynniku lambda = 0,031 W/(m·K), aby opór cieplny izolacji R wynosił minimum 6,0–8,0 (m²·K)/W.
        </div>
    </div>

    <div class="rk-sys-interactive">
        <h3>Symulator Bezwładności Termicznej</h3>
        
        <div class="rk-toggle-station">
            <div class="rk-toggle-label active-wet" id="lbl-wet" onclick="document.getElementById('rk-mode-switch').click()">
                System Mokry (Anhydryt)
            </div>
            <div class="rk-main-switch" id="rk-mode-switch">
                <div class="rk-switch-knob"></div>
            </div>
            <div class="rk-toggle-label" id="lbl-dry" onclick="document.getElementById('rk-mode-switch').click()">
                System Suchy (Lamele)
            </div>
        </div>

        <div class="rk-sys-dashboard">
            <!-- Animacja SVG Przekroju -->
            <div class="rk-svg-box state-wet" id="svg-anim-state">
                <svg class="rk-svg-cross-section" viewBox="0 0 200 150">
                    <!-- Baza: Izolacja EPS 200 (Zawsze widoczna) -->
                    <rect x="20" y="100" width="160" height="40" fill="#e2e8f0" rx="4"/>
                    <text x="100" y="125" text-anchor="middle" fill="#64748b" font-size="12" font-weight="bold">EPS 200 (Izolacja)</text>

                    <!-- System Mokry (Wylewka Anhydrytowa) -->
                    <g class="layer-screed" id="svg-screed">
                        <rect x="20" y="40" width="160" height="60" fill="#cbd5e1" rx="4"/>
                    </g>

                    <!-- System Suchy (Płyta z Lamelem) -->
                    <g class="layer-lamella" id="svg-lamella" opacity="0">
                        <rect x="20" y="70" width="160" height="30" fill="#f8fafc" rx="4" stroke="#cbd5e1" stroke-width="2"/>
                        <!-- Aluminiowe Lamele -->
                        <path d="M 20 70 L 180 70 M 20 75 L 180 75" stroke="#06b6d4" stroke-width="3"/>
                    </g>

                    <!-- Rury Grzewcze -->
                    <g fill="#ef4444">
                        <circle cx="50" cy="85" r="8"/>
                        <circle cx="100" cy="85" r="8"/>
                        <circle cx="150" cy="85" r="8"/>
                    </g>

                    <!-- Fale Ciepła (Animacja CSS definiuje prędkość) -->
                    <path class="wave-heat" d="M 50 70 Q 60 40 50 10" />
                    <path class="wave-heat" d="M 100 70 Q 110 40 100 10" style="animation-delay: 0.3s;" />
                    <path class="wave-heat" d="M 150 70 Q 160 40 150 10" style="animation-delay: 0.6s;" />
                </svg>
            </div>

            <!-- Dynamiczne Kafelki Danych -->
            <div class="rk-sys-tiles">
                <div class="rk-tile" id="tile-lambda">
                    <h4>Przewodzenie (Lambda)</h4>
                    <div class="val" style="color: var(--rk-sys-wet);">1,6 - 1,8</div>
                    <div class="desc">W/(m·K) - Anhydryt</div>
                </div>
                <div class="rk-tile" id="tile-inertia">
                    <h4>Bezwładność Cieplna</h4>
                    <div class="val" style="color: var(--rk-sys-wet);">Wysoka</div>
                    <div class="desc">Działa jak akumulator</div>
                </div>
                <div class="rk-tile" id="tile-thick">
                    <h4>Wysokość Zabudowy</h4>
                    <div class="val">35 - 45 mm</div>
                    <div class="desc">Zalewane nad rurą</div>
                </div>
                <div class="rk-tile" id="tile-build">
                    <h4>Konstrukcja Budynku</h4>
                    <div class="val">Murowana</div>
                    <div class="desc">Wysoka nośność stropu</div>
                </div>
            </div>
        </div>
    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Anti-Theft) bez H-tagów
    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('sys-simulator-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 25px; text-align: center; background: #f8fafc; border: 2px solid #ef4444; border-radius: 12px; font-family: sans-serif;">
                    <div style="font-size: 32px; margin-bottom: 10px;">⚠️</div>
                    <div style="font-size: 15px; font-weight: bold; color: #dc2626; margin-bottom: 8px;">Blokada Praw Autorskich</div>
                    <div style="color: #475569; font-size: 13px; line-height: 1.5;">
                        Interaktywny kalkulator systemów (mokry/suchy) został zablokowany, ponieważ domena nie posiada licencji na renderowanie kodu Projekt-Ogrzewania.pl.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Przełącznika i Aktualizacji Danych
    const switchBtn = document.getElementById('rk-mode-switch');
    const lblWet = document.getElementById('lbl-wet');
    const lblDry = document.getElementById('lbl-dry');
    const svgState = document.getElementById('svg-anim-state');
    
    // Warstwy SVG
    const svgScreed = document.getElementById('svg-screed');
    const svgLamella = document.getElementById('svg-lamella');

    // Kafelki
    const tileLambda = document.getElementById('tile-lambda');
    const tileInertia = document.getElementById('tile-inertia');
    const tileThick = document.getElementById('tile-thick');
    const tileBuild = document.getElementById('tile-build');

    let isDry = false;

    function updateCard(card, valText, descText, color = 'var(--rk-sys-dark)') {
        const valEl = card.querySelector('.val');
        const descEl = card.querySelector('.desc');
        
        valEl.style.opacity = 0;
        descEl.style.opacity = 0;
        
        setTimeout(() => {
            valEl.textContent = valText;
            valEl.style.color = color;
            descEl.textContent = descText;
            
            valEl.style.opacity = 1;
            descEl.style.opacity = 1;
        }, 150);
    }

    switchBtn.addEventListener('click', () => {
        isDry = !isDry;

        if (isDry) {
            // Przejście na System Suchy
            switchBtn.classList.add('mode-dry');
            lblWet.classList.remove('active-wet');
            lblDry.classList.add('active-dry');
            
            // Zmiana animacji SVG
            svgState.classList.remove('state-wet');
            svgState.classList.add('state-dry');
            svgScreed.style.opacity = 0;
            svgLamella.style.opacity = 1;

            // Aktualizacja Danych
            updateCard(tileLambda, 'Aluminium', 'Doskonałe przewodzenie', 'var(--rk-sys-dry)');
            updateCard(tileInertia, 'Niska', 'Błyskawiczna reakcja', 'var(--rk-sys-dry)');
            updateCard(tileThick, 'Minimalna', 'Tylko grubość płyty', 'var(--rk-sys-dark)');
            updateCard(tileBuild, 'Szkieletowa', 'Lekka konstrukcja', 'var(--rk-sys-dark)');
            
        } else {
            // Powrót do Systemu Mokrego
            switchBtn.classList.remove('mode-dry');
            lblDry.classList.remove('active-dry');
            lblWet.classList.add('active-wet');

            // Zmiana animacji SVG
            svgState.classList.remove('state-dry');
            svgState.classList.add('state-wet');
            svgLamella.style.opacity = 0;
            svgScreed.style.opacity = 1;

            // Aktualizacja Danych
            updateCard(tileLambda, '1,6 - 1,8', 'W/(m·K) - Anhydryt', 'var(--rk-sys-wet)');
            updateCard(tileInertia, 'Wysoka', 'Działa jak akumulator', 'var(--rk-sys-wet)');
            updateCard(tileThick, '35 - 45 mm', 'Zalewane nad rurą', 'var(--rk-sys-dark)');
            updateCard(tileBuild, 'Murowana', 'Wysoka nośność stropu', 'var(--rk-sys-dark)');
        }
    });
});
</script>



<style>
:root {
    --rk-comp-dark: #1e293b;
    --rk-comp-brand: #3b82f6;
    --rk-comp-wet: #8b5cf6;     /* Fiolet dla Anhydrytu (masa, pojemność) */
    --rk-comp-wet-light: #f5f3ff;
    --rk-comp-dry: #10b981;     /* Zielony dla Suchego (lekkość, eko) */
    --rk-comp-dry-light: #ecfdf5;
    --rk-comp-text: #475569;
    --rk-comp-border: #e2e8f0;
    --rk-comp-bg: #ffffff;
}

.rk-comp-wrap {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', system-ui, sans-serif;
    background: var(--rk-comp-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(59, 130, 246, 0.1);
    border: 1px solid #bfdbfe;
    overflow: hidden;
}

/* Nagłówek i Tekst SEO */
.rk-comp-header {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    border-bottom: 1px solid var(--rk-comp-border);
}

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

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

.rk-comp-text a {
    color: var(--rk-comp-brand);
    font-weight: 700;
    text-decoration: none;
    box-shadow: inset 0 -2px 0 #bfdbfe;
    transition: background 0.3s, box-shadow 0.3s;
}

.rk-comp-text a:hover {
    background: #dbeafe;
    box-shadow: inset 0 -10px 0 #bfdbfe;
}

/* Interaktywny Komparator */
.rk-comp-interactive {
    padding: 40px 45px;
}

.rk-comp-interactive h3 {
    text-align: center;
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-comp-dark);
    margin: 0 0 30px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Przełącznik Systemów (Taby) */
.rk-comp-tabs {
    display: flex;
    background: #f1f5f9;
    padding: 8px;
    border-radius: 16px;
    margin-bottom: 40px;
    gap: 8px;
}

.rk-comp-tab {
    flex: 1;
    text-align: center;
    padding: 16px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-comp-tab.active[data-system="wet"] {
    background: #ffffff;
    color: var(--rk-comp-wet);
    box-shadow: 0 4px 10px rgba(139, 92, 246, 0.15);
}

.rk-comp-tab.active[data-system="dry"] {
    background: #ffffff;
    color: var(--rk-comp-dry);
    box-shadow: 0 4px 10px rgba(16, 185, 129, 0.15);
}

.rk-tab-icon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e2e8f0;
    color: #fff;
    transition: background 0.3s;
}

.rk-comp-tab.active[data-system="wet"] .rk-tab-icon { background: var(--rk-comp-wet); }
.rk-comp-tab.active[data-system="dry"] .rk-tab-icon { background: var(--rk-comp-dry); }

/* Dashboard: SVG i Kafelki Parametrów */
.rk-comp-dashboard {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 30px;
    align-items: start;
}

/* SVG Wizualizacja */
.rk-svg-panel {
    background: #ffffff;
    border: 1px solid var(--rk-comp-border);
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-svg-stage {
    width: 100%;
    max-width: 180px;
}

.anim-thickness { transition: height 0.4s ease, y 0.4s ease, fill 0.4s ease; }
.anim-weight-text { transition: opacity 0.3s; }
.anim-scale { transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); transform-origin: 100px 150px; }

/* Grid Kafelków (Zastępstwo Tabeli) */
.rk-comp-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.rk-param-card {
    background: #ffffff;
    border: 1px solid var(--rk-comp-border);
    border-radius: 14px;
    padding: 18px 20px;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-param-card h4 {
    margin: 0 0 6px 0;
    font-size: 11px;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 0.5px;
}

.rk-param-val {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-comp-dark);
    margin-bottom: 4px;
    transition: color 0.3s;
}

.rk-param-norm {
    font-size: 11px;
    color: #64748b;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
}

.rk-param-norm::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #cbd5e1;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-comp-header, .rk-comp-interactive { padding: 30px 25px; }
    .rk-comp-dashboard { grid-template-columns: 1fr; }
    .rk-comp-tabs { flex-direction: column; }
    .rk-svg-panel { margin-bottom: 20px; }
}
@media (max-width: 480px) {
    .rk-comp-grid { grid-template-columns: 1fr; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/system-mokry-czy-suchy-w-wodnym-ogrzewaniu-podlogowym-ktory-wybrac/#article-porownanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/system-mokry-czy-suchy-w-wodnym-ogrzewaniu-podlogowym-ktory-wybrac/"
    },
    "headline": "Porównanie parametrów systemów podłogowych w domu pasywnym",
    "description": "Szczegółowe zestawienie parametrów technicznych: wylewka anhydrytowa kontra system suchy. Analiza przewodności cieplnej, grubości zabudowy i wagi stropu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-13",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/system-mokry-czy-suchy-w-wodnym-ogrzewaniu-podlogowym-ktory-wybrac/#dataset-porownanie",
    "name": "Zestawienie Parametrów: System Mokry vs System Suchy",
    "description": "Tabela analityczna zestawiająca kluczowe różnice fizyczne pomiędzy systemami grzewczymi stosowanymi w budownictwie pasywnym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wylewka anhydrytowa ogrzewanie podłogowe",
      "system suchy ogrzewania podłogowego",
      "przewodność cieplna lambda",
      "bezwładność cieplna posadzki",
      "waga systemu ogrzewania podłogowego"
    ],
    "measurementTechnique": "Kompilacja danych laboratoryjnych ITB, wytycznych producentów oraz normy europejskiej PN-EN 1264 w odniesieniu do wydajności termicznej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "System Mokry (Anhydryt): Przewodność 1,8 W/(mK), Waga ~120 kg/m2, Grubość 55-65 mm, Bezwładność wysoka (3-5 h).",
        "System Suchy (Lekki): Przewodność 0,4-0,5 W/(mK), Waga ~30 kg/m2, Grubość 25-30 mm, Bezwładność niska (30-60 min)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/system-mokry-czy-suchy-w-wodnym-ogrzewaniu-podlogowym-ktory-wybrac/#webapp-porownanie",
    "name": "Interaktywny Komparator Systemów Podłogowych",
    "description": "Cyfrowe narzędzie pozwalające inwestorom na wizualne i techniczne porównanie wagi, grubości i bezwładności wylewki mokrej względem lekkiej suchej zabudowy.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript, SVG",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-comp-wrap" id="komparator-app">
    
    <div class="rk-comp-header">
        <h2>Porównanie parametrów systemów w domu pasywnym</h2>
        <p class="rk-comp-text">
            Zrozumienie różnic fizycznych między <a href="https://projekt-ogrzewania.pl/czym-jest-system-mokry-w-wodnym-ogrzewaniu-podlogowym/">systemem mokrym (wylewka anhydrytowa)</a> a <a href="https://projekt-ogrzewania.pl/czym-jest-system-suchy-w-wodnym-ogrzewaniu-podlogowym/">systemem suchym (lekka zabudowa)</a> jest fundamentem poprawnego zaprojektowania ogrzewania dla domu pasywnego. Poniższy interaktywny komparator obrazuje, jak masa, <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładność cieplna</a> oraz grubość wpływają na parametry pracy instalacji w świetle normy PN-EN 1264.
        </p>
    </div>

    <div class="rk-comp-interactive">
        <h3>Zestawienie Technologiczne</h3>
        
        <!-- Przełącznik -->
        <div class="rk-comp-tabs" id="rk-tabs">
            <div class="rk-comp-tab active" data-system="wet">
                <div class="rk-tab-icon">
                    <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"/></svg>
                </div>
                System Mokry (Anhydryt)
            </div>
            <div class="rk-comp-tab" data-system="dry">
                <div class="rk-tab-icon">
                    <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg>
                </div>
                System Suchy (Lekki)
            </div>
        </div>

        <div class="rk-comp-dashboard">
            <!-- SVG Wizualizacja Grubości i Wagi -->
            <div class="rk-svg-panel">
                <svg class="rk-svg-stage" viewBox="0 0 200 200">
                    <!-- Szala Wagi -->
                    <path d="M 100 150 L 100 190 M 60 190 L 140 190" stroke="#94a3b8" stroke-width="4" stroke-linecap="round"/>
                    
                    <g class="anim-scale" id="svg-scale">
                        <!-- Podstawa szali -->
                        <path d="M 20 150 L 180 150" stroke="#64748b" stroke-width="4" stroke-linecap="round"/>
                        
                        <!-- Przekrój posadzki na szali -->
                        <rect x="50" y="80" width="100" height="60" fill="var(--rk-comp-wet)" rx="4" id="svg-floor-layer" class="anim-thickness" />
                        
                        <!-- Rury -->
                        <circle cx="70" cy="120" r="6" fill="#ffffff" />
                        <circle cx="100" cy="120" r="6" fill="#ffffff" />
                        <circle cx="130" cy="120" r="6" fill="#ffffff" />

                        <!-- Etykieta wagi -->
                        <rect x="75" y="40" width="50" height="24" rx="12" fill="#1e293b" />
                        <text x="100" y="56" text-anchor="middle" fill="#ffffff" font-size="12" font-weight="bold" id="svg-weight-text">120 kg</text>
                        <!-- Linia wskazująca -->
                        <line x1="100" y1="64" x2="100" y2="80" stroke="#1e293b" stroke-width="2" />
                    </g>
                </svg>
            </div>

            <!-- Karty Danych (Zastępują Tabelę) -->
            <div class="rk-comp-grid">
                <div class="rk-param-card">
                    <h4>Przewodność cieplna (λ)</h4>
                    <div class="rk-param-val" id="val-lambda" style="color: var(--rk-comp-wet);">1,8 W/(m·K)</div>
                    <div class="rk-param-norm">PN-EN 1264-4</div>
                </div>
                <div class="rk-param-card">
                    <h4>Wysokość zabudowy</h4>
                    <div class="rk-param-val" id="val-height">55–65 mm</div>
                    <div class="rk-param-norm">Dane producenta</div>
                </div>
                <div class="rk-param-card">
                    <h4>Bezwładność cieplna</h4>
                    <div class="rk-param-val" id="val-inertia">Wysoka (3-5 h)</div>
                    <div class="rk-param-norm">Badania ITB</div>
                </div>
                <div class="rk-param-card">
                    <h4>Waga systemu</h4>
                    <div class="rk-param-val" id="val-weight">~100–120 kg/m²</div>
                    <div class="rk-param-norm">Obciążenia stropu</div>
                </div>
                <div class="rk-param-card" style="grid-column: 1 / -1;">
                    <h4>Max. Temp. Zasilania</h4>
                    <div class="rk-param-val" id="val-temp" style="color: #ef4444;">55°C (niezalecana)</div>
                    <div class="rk-param-norm">PN-EN 1264</div>
                </div>
            </div>
        </div>
    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe bez tagów H
    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('komparator-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 30px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 16px; font-family: sans-serif;">
                    <div style="font-size: 36px; margin-bottom: 10px;">⚠️</div>
                    <div style="font-size: 16px; font-weight: 900; color: #ef4444; margin-bottom: 10px; text-transform: uppercase;">Zablokowano Renderowanie</div>
                    <div style="color: #cbd5e1; font-size: 14px; line-height: 1.6;">
                        Interaktywna tabela porównawcza jest objęta prawami autorskimi serwisu Projekt-Ogrzewania.pl. Uruchomienie na nieautoryzowanej domenie zostało przerwane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Komparatora
    const tabs = document.querySelectorAll('.rk-comp-tab');
    
    // SVG Elements
    const svgLayer = document.getElementById('svg-floor-layer');
    const svgWeight = document.getElementById('svg-weight-text');
    const svgScale = document.getElementById('svg-scale');

    // DOM Cards
    const valLambda = document.getElementById('val-lambda');
    const valHeight = document.getElementById('val-height');
    const valInertia = document.getElementById('val-inertia');
    const valWeight = document.getElementById('val-weight');
    const valTemp = document.getElementById('val-temp');

    function updateCard(element, htmlContent, color = 'var(--rk-comp-dark)') {
        element.style.opacity = '0';
        setTimeout(() => {
            element.innerHTML = htmlContent;
            element.style.color = color;
            element.style.opacity = '1';
        }, 150);
    }

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // Reset active state
            tabs.forEach(t => t.classList.remove('active'));
            this.classList.add('active');

            const system = this.getAttribute('data-system');

            if (system === 'wet') {
                // SVG Update (Ciężki/Mokry)
                svgLayer.setAttribute('height', '60');
                svgLayer.setAttribute('y', '80');
                svgLayer.setAttribute('fill', 'var(--rk-comp-wet)');
                svgScale.style.transform = 'rotate(5deg) translateY(5px)';
                
                svgWeight.style.opacity = '0';
                setTimeout(() => {
                    svgWeight.textContent = '120 kg';
                    svgWeight.style.opacity = '1';
                }, 150);

                // Cards Update
                updateCard(valLambda, '1,8 W/(m·K)', 'var(--rk-comp-wet)');
                updateCard(valHeight, '55–65 mm');
                updateCard(valInertia, 'Wysoka (3-5 h)');
                updateCard(valWeight, '~100–120 kg/m²');
                updateCard(valTemp, '55°C (niezalecana)', '#ef4444');
                
            } else {
                // SVG Update (Lekki/Suchy)
                svgLayer.setAttribute('height', '30');
                svgLayer.setAttribute('y', '110'); // Obniżamy żeby rury były w środku
                svgLayer.setAttribute('fill', 'var(--rk-comp-dry)');
                svgScale.style.transform = 'rotate(-5deg) translateY(-5px)';
                
                svgWeight.style.opacity = '0';
                setTimeout(() => {
                    svgWeight.textContent = '30 kg';
                    svgWeight.style.opacity = '1';
                }, 150);

                // Cards Update
                updateCard(valLambda, '0,4–0,5 W/(m·K)', 'var(--rk-comp-dry)');
                updateCard(valHeight, '25–30 mm');
                updateCard(valInertia, 'Niska (30-60 min)');
                updateCard(valWeight, '~25–30 kg/m²');
                updateCard(valTemp, '45°C', 'var(--rk-comp-dry)');
            }
        });
    });

    // Inicjalizacja wizualna szali
    setTimeout(() => {
        svgScale.style.transform = 'rotate(5deg) translateY(5px)';
    }, 100);
});
</script>



<style>
:root {
    --rk-algo-dark: #0f172a;
    --rk-algo-brand: #0284c7;
    --rk-algo-brand-light: #e0f2fe;
    --rk-algo-accent: #0ea5e9;
    --rk-algo-blueprint: #1e293b; /* Tło projektu inżynierskiego */
    --rk-algo-line: #38bdf8; /* Kreska na projekcie */
    --rk-algo-text: #475569;
    --rk-algo-border: #cbd5e1;
    --rk-algo-bg: #ffffff;
}

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

/* Część Tekstowa - Algorytm */
.rk-algo-content {
    padding: 45px 50px 20px;
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    border-bottom: 1px solid var(--rk-algo-border);
}

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

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

.rk-algo-desc a {
    color: var(--rk-algo-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid #bae6fd;
    transition: all 0.3s;
}

.rk-algo-desc a:hover {
    background: var(--rk-algo-brand-light);
    border-color: var(--rk-algo-brand);
}

/* Stylizowane kroki algorytmu */
.rk-algo-steps {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-bottom: 25px;
}

.rk-step-card {
    background: #ffffff;
    border: 1px solid var(--rk-algo-border);
    border-radius: 12px;
    padding: 16px 20px;
    position: relative;
    padding-left: 55px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    transition: transform 0.3s, border-color 0.3s;
}

.rk-step-card:hover {
    transform: translateY(-2px);
    border-color: var(--rk-algo-accent);
}

.rk-step-num {
    position: absolute;
    left: 15px;
    top: 15px;
    width: 28px;
    height: 28px;
    background: var(--rk-algo-brand-light);
    color: var(--rk-algo-brand);
    font-weight: 900;
    font-size: 14px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-step-card h4 {
    margin: 0 0 5px 0;
    font-size: 14px;
    color: var(--rk-algo-dark);
    font-weight: 800;
}

.rk-step-card p {
    margin: 0;
    font-size: 12.5px;
    color: var(--rk-algo-text);
    line-height: 1.5;
}

.rk-math {
    display: inline-block;
    background: #f1f5f9;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: 'Courier New', Courier, monospace;
    font-weight: 600;
    color: var(--rk-algo-dark);
    border: 1px solid #e2e8f0;
}

/* Sekcja Interaktywna - Blueprint */
.rk-algo-interactive {
    padding: 0;
    display: grid;
    grid-template-columns: 320px 1fr;
}

/* Panel Kontrolny */
.rk-controls-panel {
    background: #f8fafc;
    padding: 35px 30px;
    border-right: 1px solid var(--rk-algo-border);
}

.rk-controls-panel h3 {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-algo-dark);
    margin: 0 0 25px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

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

.rk-control-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.rk-control-label {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-algo-text);
    text-transform: uppercase;
}

.rk-control-value {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-algo-brand);
}

.rk-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 6px;
    border-radius: 3px;
    background: #cbd5e1;
    outline: none;
}

.rk-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #ffffff;
    border: 3px solid var(--rk-algo-brand);
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
    transition: transform 0.1s;
}

.rk-slider::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

/* Wyniki Obliczeń w panelu */
.rk-result-box {
    background: #ffffff;
    border: 1px solid var(--rk-algo-border);
    border-radius: 12px;
    padding: 15px;
    margin-top: 30px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-result-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
.rk-result-item:last-child { margin-bottom: 0; padding-top: 10px; border-top: 1px dashed var(--rk-algo-border); }

.rk-result-title { font-size: 12px; color: var(--rk-algo-text); font-weight: 700; }
.rk-result-val { font-size: 18px; font-weight: 900; color: var(--rk-algo-dark); }
.rk-result-val.highlight { color: var(--rk-algo-brand); font-size: 22px; }

/* SVG Blueprint */
.rk-blueprint-panel {
    background: var(--rk-algo-blueprint);
    position: relative;
    padding: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: 
        linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size: 20px 20px;
}

.rk-svg-blueprint {
    width: 100%;
    max-width: 350px;
    height: auto;
    filter: drop-shadow(0 10px 15px rgba(0,0,0,0.3));
}

@keyframes drawPipe {
    to { stroke-dashoffset: 0; }
}

.blueprint-text {
    fill: #94a3b8;
    font-family: monospace;
    font-size: 10px;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-algo-content { padding: 30px 25px; }
    .rk-algo-steps { grid-template-columns: 1fr; }
    .rk-algo-interactive { grid-template-columns: 1fr; }
    .rk-controls-panel { border-right: none; border-bottom: 1px solid var(--rk-algo-border); }
    .rk-blueprint-panel { padding: 40px 20px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#article-algorytm",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/"
    },
    "headline": "Kalkulator algorytmu doboru rozstawu rur w domu pasywnym",
    "description": "Profesjonalny 6-etapowy algorytm obliczania gęstości strumienia cieplnego (q) i doboru rozstawu rur podłogowych na podstawie normy PN-EN 12831.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-13",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#dataset-algorytm",
    "name": "Zmienne Obliczeniowe Algorytmu Doboru Rozstawu Rur",
    "description": "Zestawienie zmiennych fizycznych wykorzystywanych w procesie projektowania instalacji płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projektowe obciążenie cieplne W",
      "gęstość strumienia cieplnego q",
      "temperatura zasilania T_z",
      "rozstaw rur dobór",
      "algorytm projektowania ogrzewania"
    ],
    "measurementTechnique": "Algorytm oparty o wzór Q = q * F_g oraz wytyczne strumienia z normy PN-EN 1264 z zachowaniem optymalnej różnicy temperatur Delta T = 5K.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Krok 1: Wskazanie standardu izolacji budynku q (W/m2).",
        "Krok 2: Wskazanie powierzchni grzewczej pomieszczenia.",
        "Krok 3: Obliczenie całkowitej mocy projektowej (Q_obl).",
        "Krok 4: Wyznaczenie rozstawu (b) na podstawie gęstości strumienia cieplnego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#webapp-algorytm",
    "name": "Interaktywny Symulator Projektowy (Blueprint)",
    "description": "Aplikacja webowa symulująca pracę inżyniera. Po wprowadzeniu standardu energetycznego i powierzchni (m2), system wylicza moc (W) i wykreśla układ pętli grzewczych na wirtualnym planie pokoju.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript, SVG",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-algo-container" id="algorytm-app">
    
    <div class="rk-algo-content">
        <h2>Kalkulator algorytmu doboru rozstawu rur</h2>
        <p class="rk-algo-desc">
            Aby poprawnie zaprojektować instalację w domu pasywnym, nie możesz opierać się na intuicji. Podążaj za poniższym ścisłym algorytmem, który stosuję w moich projektach, bazując na wytycznych normatywnych oraz <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/">charakterystyce zasilania pomp ciepła</a>.
        </p>
        
        <div class="rk-algo-steps">
            <div class="rk-step-card">
                <div class="rk-step-num">1</div>
                <h4>Zapotrzebowanie (q)</h4>
                <p>Wyznacz standard izolacji budynku <span class="rk-math">q [W/m²]</span> na podstawie normy <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/">PN-EN 12831</a>. Dla domów pasywnych to zazwyczaj 10-15 W/m².</p>
            </div>
            <div class="rk-step-card">
                <div class="rk-step-num">2</div>
                <h4>Obciążenie całkowite (Q_obl)</h4>
                <p>Pomnóż wskaźnik przez powierzchnię grzejną: <span class="rk-math">Q = q · F_g</span>. Wynik podajemy w Watach [W].</p>
            </div>
            <div class="rk-step-card">
                <div class="rk-step-num">3</div>
                <h4>Różnica temperatur (Delta T)</h4>
                <p>Przyjmij różnicę między zasilaniem a powrotem. Dla pomp ciepła optymalnie <span class="rk-math">Delta T = 5K</span>.</p>
            </div>
            <div class="rk-step-card">
                <div class="rk-step-num">4</div>
                <h4>Średnia temp. wody (t_m)</h4>
                <p>Oblicz na wzorze: <span class="rk-math">t_m = T_z - (Delta T / 2)</span>, gdzie T_z to temp. zasilania.</p>
            </div>
            <div class="rk-step-card">
                <div class="rk-step-num">5</div>
                <h4>Weryfikacja strumienia</h4>
                <p>Skorzystaj ze wzoru <span class="rk-math">q = B · a_i · Delta t_ln</span> sprawdzając współczynnik przejmowania ciepła.</p>
            </div>
            <div class="rk-step-card">
                <div class="rk-step-num">6</div>
                <h4>Dobór rozstawu (b)</h4>
                <p>Na podstawie <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">oporu cieplnego okładziny</a> (np. R = 0,02 dla płytek) i wartości <i>q</i>, dobierz rozstaw rur <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">z katalogu</a>.</p>
            </div>
        </div>
    </div>

    <div class="rk-algo-interactive">
        <!-- Lewy Panel Kontrolny -->
        <div class="rk-controls-panel">
            <h3>Wprowadź dane</h3>
            
            <div class="rk-control-group">
                <div class="rk-control-header">
                    <span class="rk-control-label">Standard budynku (q)</span>
                    <span class="rk-control-value"><span id="val-in-q-unit">15</span> W/m²</span>
                </div>
                <input type="range" min="10" max="60" step="1" value="15" class="rk-slider" id="slider-q-unit" aria-label="Wskaźnik zapotrzebowania cieplnego budynku">
            </div>

            <div class="rk-control-group">
                <div class="rk-control-header">
                    <span class="rk-control-label">Powierzchnia (F_g)</span>
                    <span class="rk-control-value"><span id="val-in-area">20</span> m²</span>
                </div>
                <input type="range" min="10" max="50" step="1" value="20" class="rk-slider" id="slider-area" aria-label="Powierzchnia pomieszczenia">
            </div>

            <div class="rk-result-box">
                <div class="rk-result-item">
                    <span class="rk-result-title">Delta T (złożenie):</span>
                    <span class="rk-result-val">5K</span>
                </div>
                <div class="rk-result-item">
                    <span class="rk-result-title">Całkowita moc (Q_obl):</span>
                    <span class="rk-result-val"><span id="out-q-total">300</span> W</span>
                </div>
                <div class="rk-result-item">
                    <span class="rk-result-title">Sugerowany rozstaw:</span>
                    <span class="rk-result-val highlight" id="out-spacing">co 20 cm</span>
                </div>
            </div>
        </div>

        <!-- Prawy Panel SVG Blueprint -->
        <div class="rk-blueprint-panel">
            <svg class="rk-svg-blueprint" viewBox="0 0 300 300" id="svg-blueprint">
                <!-- Zarys pokoju z wymiarami -->
                <rect x="30" y="30" width="240" height="240" fill="none" stroke="#475569" stroke-width="3"/>
                <text x="150" y="20" class="blueprint-text" text-anchor="middle">WYMIAR: <tspan id="svg-text-area">20</tspan> m2</text>
                
                <!-- Grupa na dynamiczne rysowanie rur -->
                <g id="svg-pipe-layer" fill="none" stroke="var(--rk-algo-line)" stroke-width="4" stroke-linejoin="round" stroke-linecap="round">
                    <!-- Rury wygeneruje JS -->
                </g>

                <!-- Legenda w rogu -->
                <rect x="160" y="230" width="100" height="30" fill="rgba(15,23,42,0.8)" rx="4"/>
                <text x="210" y="249" class="blueprint-text" text-anchor="middle" fill="#38bdf8" font-weight="bold">Q = <tspan id="svg-text-q-total">300</tspan> W</text>
            </svg>
        </div>
    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Anti-Theft) bez H-tagów
    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('algorytm-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 30px; text-align: center; background: #0f172a; border: 2px solid #38bdf8; border-radius: 16px; font-family: monospace;">
                    <div style="font-size: 32px; margin-bottom: 15px; color: #38bdf8;">[ SYSTEM BLOCKED ]</div>
                    <div style="font-size: 14px; font-weight: bold; color: #cbd5e1; margin-bottom: 10px;">
                        ERROR: Unauthorized Domain Execution.
                    </div>
                    <div style="color: #64748b; font-size: 12px; line-height: 1.5;">
                        Moduł "Blueprint Algorithm" jest własnością intelektualną serwisu Projekt-Ogrzewania.pl.<br>Wykonanie skryptów zostało przerwane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Kalkulatora i Rysowania
    const sliderQUnit = document.getElementById('slider-q-unit');
    const sliderArea = document.getElementById('slider-area');
    
    const valInQUnit = document.getElementById('val-in-q-unit');
    const valInArea = document.getElementById('val-in-area');
    
    const outQTotal = document.getElementById('out-q-total');
    const outSpacing = document.getElementById('out-spacing');
    
    const svgLayer = document.getElementById('svg-pipe-layer');
    const svgTextArea = document.getElementById('svg-text-area');
    const svgTextQTotal = document.getElementById('svg-text-q-total');

    // Funkcja generująca ścieżkę meandrową dla SVG
    // density = ilość pętli w pionie
    function generateMeanderPath(density) {
        const startX = 50;
        const startY = 50;
        const width = 200;
        const height = 200;
        const step = height / density;
        
        let path = `M ${startX} ${startY}`;
        
        for(let i=0; i<density; i++) {
            const currentY = startY + (i * step);
            // Kreska w prawo lub w lewo
            if(i % 2 === 0) {
                path += ` L ${startX + width} ${currentY}`;
                if(i < density -1) path += ` L ${startX + width} ${currentY + step}`;
            } else {
                path += ` L ${startX} ${currentY}`;
                if(i < density -1) path += ` L ${startX} ${currentY + step}`;
            }
        }
        return path;
    }

    function updateBlueprint() {
        const qUnit = parseInt(sliderQUnit.value);
        const area = parseInt(sliderArea.value);
        
        // Aktualizacja inputów DOM
        valInQUnit.textContent = qUnit;
        valInArea.textContent = area;
        svgTextArea.textContent = area;

        // Obliczenie Całkowitej Mocy Q = q * F_g
        const qTotal = qUnit * area;
        outQTotal.textContent = qTotal;
        svgTextQTotal.textContent = qTotal;

        // Logika doboru rozstawu uzależniona od standardu budynku (q)
        let spacingText = "";
        let pipeLines = 5;

        if (qUnit <= 18) {
            spacingText = "co 20 cm";
            pipeLines = 6;
            outSpacing.style.color = "var(--rk-algo-brand)";
        } else if (qUnit > 18 && qUnit <= 35) {
            spacingText = "co 15 cm";
            pipeLines = 10;
            outSpacing.style.color = "#8b5cf6"; // Fiolet
        } else {
            spacingText = "co 10 cm";
            pipeLines = 16;
            outSpacing.style.color = "#ef4444"; // Czerwony - gęsty rozstaw
        }

        outSpacing.textContent = spacingText;

        // Rysowanie animowanej ścieżki SVG z resetem animacji
        const newPath = generateMeanderPath(pipeLines);
        
        // Dodanie stylu inline wewnątrz SVG z wymuszeniem dłuższego dasharray chroni przed urywaniem gęstych ścieżek
        svgLayer.innerHTML = `<path d="${newPath}" stroke-dasharray="6000" stroke-dashoffset="6000" style="animation: drawPipe 2s ease-out forwards;"/>`;
    }

    // Nasłuchiwacze
    sliderQUnit.addEventListener('input', updateBlueprint);
    sliderArea.addEventListener('input', updateBlueprint);

    // Init
    updateBlueprint();
});
</script>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-red: #ef4444;       /* Kolor awarii */
    --rk-err-red-bg: #fef2f2;
    --rk-err-warn: #f59e0b;      /* Ostrzeżenie / Ciepło */
    --rk-err-cold: #3b82f6;      /* Mostki cieplne */
    --rk-err-border: #cbd5e1;
    --rk-err-text: #475569;
    --rk-err-bg: #ffffff;
    --rk-err-panel: #f8fafc;
}

.rk-err-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, sans-serif;
    background: var(--rk-err-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(239, 68, 68, 0.15);
    border: 1px solid #fca5a5;
    overflow: hidden;
}

/* Sekcja Treści */
.rk-err-content {
    padding: 45px 50px 25px;
    background: linear-gradient(135deg, #fef2f2 0%, #ffffff 100%);
    border-bottom: 1px solid var(--rk-err-border);
}

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

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

.rk-err-desc a {
    color: var(--rk-err-red);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid #fecaca;
    transition: all 0.3s;
}

.rk-err-desc a:hover {
    background: var(--rk-err-red-bg);
    border-color: var(--rk-err-red);
}

/* Interaktywny Skaner Błędów */
.rk-err-interactive {
    display: grid;
    grid-template-columns: 350px 1fr;
    background: var(--rk-err-bg);
}

/* Menu Błędów (Lewy panel) */
.rk-err-menu {
    background: var(--rk-err-panel);
    padding: 30px;
    border-right: 1px solid var(--rk-err-border);
}

.rk-err-menu h3 {
    font-size: 14px;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 1px;
    margin: 0 0 20px 0;
    font-weight: 800;
}

.rk-err-btn {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    width: 100%;
    background: #ffffff;
    border: 1px solid var(--rk-err-border);
    padding: 16px;
    border-radius: 12px;
    margin-bottom: 12px;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-err-btn:hover {
    border-color: #fca5a5;
    box-shadow: 0 4px 6px rgba(239, 68, 68, 0.05);
}

.rk-err-btn.active {
    background: var(--rk-err-red-bg);
    border-color: var(--rk-err-red);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.15);
}

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

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

.rk-err-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-err-dark);
    margin: 0;
    line-height: 1.4;
}

/* Prawy Panel - Diagnoza i SEO Tekst */
.rk-err-dashboard {
    padding: 30px;
    display: flex;
    flex-direction: column;
}

.rk-diag-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 30px;
    border: 1px solid var(--rk-err-red);
    box-shadow: 0 10px 15px -3px rgba(239, 68, 68, 0.1);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.rk-diag-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f1f5f9;
}

.rk-diag-tag {
    background: var(--rk-err-red);
    color: #ffffff;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-diag-cost {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-err-dark);
}

.rk-diag-text {
    font-size: 16px;
    color: var(--rk-err-dark);
    font-weight: 700;
    line-height: 1.6;
    margin: 0 0 20px 0;
}

/* Nowa sekcja pod długi ogon SEO */
.rk-diag-seo-box {
    background: #f8fafc;
    border-radius: 12px;
    padding: 20px;
    border: 1px solid var(--rk-err-border);
    flex-grow: 1;
}

.rk-diag-subtitle {
    font-size: 13px;
    text-transform: uppercase;
    color: #64748b;
    font-weight: 800;
    letter-spacing: 0.5px;
    margin: 0 0 10px 0;
}

.rk-diag-seo-text {
    font-size: 14.5px;
    color: var(--rk-err-text);
    line-height: 1.7;
    margin: 0;
}

.rk-diag-seo-text strong {
    color: var(--rk-err-dark);
}

/* Ochrona przed skokami podczas animacji JS */
.anim-wrapper {
    transition: opacity 0.3s ease;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-err-content { padding: 30px 25px; }
    .rk-err-interactive { grid-template-columns: 1fr; }
    .rk-err-menu { border-right: none; border-bottom: 1px solid var(--rk-err-border); padding: 25px; }
    .rk-err-dashboard { padding: 25px; }
    .rk-diag-header { flex-direction: column; align-items: flex-start; gap: 10px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#article-bledy-pasywne",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/"
    },
    "headline": "Najczęstsze błędy w projektowaniu ogrzewania dla domów pasywnych",
    "description": "Zestawienie 6 kosztownych błędów w instalacjach płaszczyznowych: przewymiarowanie pomp ciepła, brak projektów hydraulicznych, mostki termiczne, błędna krzywa grzewcza, zła izolacja na gruncie i niewłaściwe panele.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-13",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#dataset-bledy",
    "name": "Szczegółowa Analiza 6 Krytycznych Błędów Projektowych",
    "description": "Baza danych analizująca skutki finansowe i termodynamiczne w przypadku odstępstw od normy projektowej w budownictwie pasywnym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak uniknąć taktowania pompy ciepła",
      "przewymiarowanie ogrzewania podłogowego skutki",
      "brak projektu podłogówki konsekwencje",
      "jak poprawnie wykonać izolację brzegową dylatację",
      "za wysoka temperatura na piecu do podłogówki",
      "ile styropianu pod ogrzewanie podłogowe na gruncie",
      "jakie panele na ogrzewanie podłogowe w domu pasywnym"
    ],
    "measurementTechnique": "Analiza awaryjności systemów hydraulicznych (szumy, taktowanie sprężarki) oraz termowizyjna detekcja strat ciepła na dylatacjach brzegowych i posadzkach na gruncie.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd 1: Pompa 8 kW zamiast 3 kW. Skutek: Taktowanie i zniszczenie sprężarki.",
        "Błąd 2: Układanie rur co 10 cm na oko. Skutek: Brak możliwości rotametrowania i szumy w instalacji.",
        "Błąd 3: Brak dylatacji brzegowej. Skutek: Liniowe mostki termiczne i utrata 15-20% energii.",
        "Błąd 4: Krzywa grzewcza 35-40°C. Skutek: Ekstremalne przegrzewanie i dyskomfort termiczny.",
        "Błąd 5: Zbyt cienki styropian na gruncie (np. 10 cm). Skutek: Ucieczka energii do gruntu.",
        "Błąd 6: Panele o wysokim oporze cieplnym. Skutek: Blokada termiczna i konieczność podnoszenia zasilania pompy ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#webapp-bledy",
    "name": "Wizualizator Awarii i Błędów (Karta Diagnostyczna)",
    "description": "Interaktywna aplikacja diagnostyczna szczegółowo analizująca skutki 6 najczęstszych błędów instalacyjnych w domach pasywnych wraz z zaleceniami optymalizacyjnymi długiego ogona.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-err-container" id="error-scanner-app">
    
    <div class="rk-err-content">
        <h2>Najczęstsze błędy w projektowaniu dla domów pasywnych</h2>
        <p class="rk-err-desc">
            Błędy w standardzie pasywnym są bezlitośnie kosztowne, ponieważ tak zaizolowany budynek nie "wybacza" nadmiaru energii. Od <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">braku dokumentacji technicznej</a> po zły dobór mocy źródła ciepła – poznaj sześć pułapek, które mogą zrujnować Twoją inwestycję i komfort życia.
        </p>
    </div>

    <div class="rk-err-interactive">
        
        <!-- Panel Wyboru Błędów -->
        <div class="rk-err-menu">
            <h3>Skaner Diagnostyczny</h3>
            
            <button class="rk-err-btn active" data-err="1">
                <div class="rk-err-num">1</div>
                <div class="rk-err-title">Przewymiarowanie pompy ciepła</div>
            </button>
            
            <button class="rk-err-btn" data-err="2">
                <div class="rk-err-num">2</div>
                <div class="rk-err-title">Brak projektu hydraulicznego</div>
            </button>
            
            <button class="rk-err-btn" data-err="3">
                <div class="rk-err-num">3</div>
                <div class="rk-err-title">Niewłaściwa izolacja krawędziowa</div>
            </button>
            
            <button class="rk-err-btn" data-err="4">
                <div class="rk-err-num">4</div>
                <div class="rk-err-title">Zbyt wysoka temperatura zasilania</div>
            </button>

            <!-- Nowe buttony (Długi Ogon SEO) -->
            <button class="rk-err-btn" data-err="5">
                <div class="rk-err-num">5</div>
                <div class="rk-err-title">Zbyt cienka izolacja na gruncie</div>
            </button>

            <button class="rk-err-btn" data-err="6">
                <div class="rk-err-num">6</div>
                <div class="rk-err-title">Niewłaściwy dobór okładziny podłogowej</div>
            </button>
        </div>

        <!-- Prawy Panel - Zoptymalizowany pod Tekst / SEO -->
        <div class="rk-err-dashboard">
            <div class="rk-diag-card">
                <div class="anim-wrapper" id="diag-wrapper">
                    <div class="rk-diag-header">
                        <div class="rk-diag-tag" id="diag-tag">ZAGROŻENIE AWARIĄ</div>
                        <div class="rk-diag-cost" id="diag-cost">Straty: 15 000 PLN+</div>
                    </div>
                    
                    <p class="rk-diag-text" id="diag-text">
                        Montaż <a href='https://projekt-ogrzewania.pl/pompa-ciepla/' style='color:var(--rk-err-red); text-decoration:underline;'>pompy ciepła</a> o mocy 8 kW w domu potrzebującym zaledwie 3 kW prowadzi do taktowania sprężarki i jej zniszczenia w ciągu 3-4 lat.
                    </p>

                    <div class="rk-diag-seo-box">
                        <h4 class="rk-diag-subtitle">Analiza techniczna i skutki</h4>
                        <p class="rk-diag-seo-text" id="diag-seo-text">
                            Zastanawiasz się <strong>jak uniknąć taktowania pompy ciepła</strong>? Kluczem jest rzetelne przeliczenie OZC. Skutki przewymiarowania pompy ciepła w domu pasywnym są fatalne – urządzenie generuje za dużo energii w zbyt krótkim czasie, co zmusza automatykę do ciągłego odcinania zasilania. Precyzyjny <strong>dobór mocy pompy do OZC</strong> eliminuje ten problem, wydłużając żywotność sprężarki i drastycznie obniżając roczne koszty rachunków za prąd.
                        </p>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Anti-Theft) bez H-tagów
    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('error-scanner-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 30px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 16px; font-family: monospace;">
                    <div style="font-size: 32px; margin-bottom: 15px; color: #ef4444;">[ SYSTEM SECURED ]</div>
                    <div style="font-size: 14px; font-weight: bold; color: #cbd5e1; margin-bottom: 10px;">
                        Błąd licencji: Nieautoryzowana domena.
                    </div>
                    <div style="color: #64748b; font-size: 12px; line-height: 1.5;">
                        Kod Skanera Błędów Instalacyjnych należy do Projekt-Ogrzewania.pl.<br>Kopiowanie i wykorzystywanie bez zgody jest zabronione.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Baza danych błędów z tekstami pod długi ogon (SEO)
    const errorData = {
        "1": {
            tag: "ZAGROŻENIE AWARIĄ",
            cost: "Koszty: 15 000 PLN+",
            text: "Montaż <a href='https://projekt-ogrzewania.pl/pompa-ciepla/' style='color:var(--rk-err-red); text-decoration:underline;'>pompy ciepła</a> o mocy 8 kW w domu potrzebującym zaledwie 3 kW prowadzi do taktowania sprężarki i jej zniszczenia w ciągu 3-4 lat.",
            seoText: "Zastanawiasz się <strong>jak uniknąć taktowania pompy ciepła</strong>? Kluczem jest rzetelne przeliczenie OZC. Skutki przewymiarowania pompy ciepła w domu pasywnym są fatalne – urządzenie generuje za dużo energii w zbyt krótkim czasie, co zmusza automatykę do ciągłego odcinania zasilania. Precyzyjny <strong>dobór mocy pompy do OZC</strong> eliminuje ten problem, wydłużając żywotność sprężarki i drastycznie obniżając roczne koszty rachunków za prąd."
        },
        "2": {
            tag: "BŁĄD HYDRAULICZNY",
            cost: "Szumy i dyskomfort",
            text: "Brak projektu sprawia, że instalatorzy kładą rury \"na oko\" (najczęściej co 10 cm wszędzie). Skutkuje to ogromnymi oporami i brakiem możliwości regulacji na rozdzielaczu.",
            seoText: "Jakie są główne <strong>konsekwencje braku projektu ogrzewania podłogowego</strong>? Inwestorzy często pytają, <strong>dlaczego podłogówka szumi</strong>. Wynika to z faktu, że zbyt gęsty rozstaw rur co 10 cm w małych pomieszczeniach wymusza stosowanie dławienia, a to zaburza hydraulikę całego układu. Brak projektu uniemożliwia wyliczenie oporów, przez co nie wiesz, <strong>jak zrównoważyć przepływy na rotametrach</strong>. Efektem jest przegrzana sypialnia i niedogrzana łazienka."
        },
        "3": {
            tag: "MOSTKI TERMICZNE",
            cost: "Straty energii: 15-20%",
            text: "Brak lub złe wykonanie izolacji brzegowej przy ścianach zewnętrznych w domu pasywnym generuje potężne liniowe mostki termiczne.",
            seoText: "Brak wiedzy o tym, <strong>jak poprawnie wykonać dylatację brzegową</strong> podłogówki, to prosta droga do wyrzucania pieniędzy w błoto. Płyta grzewcza musi pracować pracować swobodnie. Zbyt cienka <strong>pianka brzegowa do podłogówki</strong> sprawia, że wylewka dotyka muru, co tworzy <strong>mostki termiczne przy ścianach zewnętrznych</strong>. Ciepło z posadzki ucieka wprost w fundamenty, drastycznie podnosząc straty energetyczne budynku i niwecząc cały nakład pracy na ocieplenie pasywne."
        },
        "4": {
            tag: "KRYTYCZNE PRZEGRZEWANIE",
            cost: "Dyskomfort termiczny",
            text: "Ustawienie krzywej grzewczej na poziomie typowym dla budynków starszych (np. 35-40°C) powoduje, że podłoga staje się gorąca i nieprzyjemna.",
            seoText: "W budownictwie energooszczędnym <strong>za wysoka temperatura zasilania podłogówki</strong> daje natychmiastowe objawy – podłoga wręcz parzy, a powietrze staje się przesuszone. Kluczowe jest pytanie, <strong>jaka krzywa grzewcza do domu pasywnego</strong> jest odpowiednia? Prawidłowo zaprojektowany system powinien pracować na parametrach nie wyższych niż 28-32°C. Jeśli ignorujemy te wartości, <strong>przegrzewanie pomieszczeń z pompą ciepła</strong> staje się codziennością, a nasza instalacja działa ze zrujnowanym współczynnikiem wydajności COP."
        },
        "5": {
            tag: "STRATY DO GRUNTU",
            cost: "Ciągła ucieczka energii",
            text: "Zastosowanie standardowych 10-15 cm styropianu pod wylewką na gruncie w domu pasywnym powoduje stałą ucieczkę ciepła w dół, zamiast do wnętrza budynku.",
            seoText: "Błędem o nieodwracalnych skutkach na etapie stanu surowego jest ignorowanie tego, <strong>ile styropianu pod ogrzewanie podłogowe na gruncie</strong> należy ułożyć w standardzie energooszczędnym. W domach pasywnych absolutnym minimum jest 20-25 cm izolacji o bardzo niskim współczynniku przewodzenia ciepła. Zbyt cienki <strong>styropian podłogowy EPS 100 lub EPS 200</strong> sprawia, że pompa ciepła zamiast w pełni ogrzewać salon, bezproduktywnie ogrzewa fundamenty i ziemię pod budynkiem. To bezpośrednio przekłada się na wyższe <strong>koszty ogrzewania pompą ciepła zimą</strong>."
        },
        "6": {
            tag: "BLOKADA TERMICZNA",
            cost: "Spadek wydajności układu",
            text: "Położenie grubych paneli z podkładem o wysokim oporze cieplnym w domu pasywnym sprawia, że przy zasilaniu rzędu 30°C ciepło nie przebije się efektywnie do pomieszczenia.",
            seoText: "Wybierając materiały wykończeniowe do salonu czy sypialni, inwestorzy często pytają, <strong>jakie panele na ogrzewanie podłogowe w domu pasywnym</strong> będą najlepsze. Zastosowanie okładziny o łącznym oporze cieplnym powyżej 0,15 (m²·K)/W drastycznie obniża efektywność całego systemu hydraulicznego. Aby zachować niską temperaturę zasilania pompy ciepła (co warunkuje jej najwyższy wskaźnik COP), należy wybierać <strong>panele winylowe SPC na podłogówkę</strong> lub klasyczne płytki ceramiczne. Zbyt gruby, gąbczasty <strong>podkład pod panele na ogrzewanie podłogowe</strong> zadziała jak niechciany izolator, zmuszając pompę do nieekonomicznej pracy na wyższych parametrach i zwiększając zużycie prądu."
        }
    };

    // 3. Logika zmiany treści
    const btns = document.querySelectorAll('.rk-err-btn');
    const diagWrapper = document.getElementById('diag-wrapper');
    const diagTag = document.getElementById('diag-tag');
    const diagCost = document.getElementById('diag-cost');
    const diagText = document.getElementById('diag-text');
    const diagSeoText = document.getElementById('diag-seo-text');

    function updateDashboard(errId) {
        // Płynne zniknięcie sekcji
        diagWrapper.style.opacity = '0';

        setTimeout(() => {
            // Podmiana danych
            const data = errorData[errId];
            diagTag.textContent = data.tag;
            diagCost.textContent = data.cost;
            diagText.innerHTML = data.text;
            diagSeoText.innerHTML = data.seoText;

            // Pojawienie się tekstu
            diagWrapper.style.opacity = '1';
        }, 200);
    }

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Unikaj przeładowania, jeśli kliknięto w ten sam przycisk
            if(this.classList.contains('active')) return;

            // Zmiana stanu przycisków
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Aktualizacja
            const errId = this.getAttribute('data-err');
            updateDashboard(errId);
        });
    });
});
</script>



<style>
:root {
    --rk-imp-dark: #0f172a;
    --rk-imp-brand: #0284c7;
    --rk-imp-brand-light: #f0f9ff;
    --rk-imp-accent: #38bdf8;
    --rk-imp-warn: #f59e0b;
    --rk-imp-eco: #10b981;
    --rk-imp-red: #ef4444;
    --rk-imp-border: #e2e8f0;
    --rk-imp-text: #475569;
    --rk-imp-bg: #ffffff;
}

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

/* Część Tekstowa / SEO */
.rk-imp-content {
    padding: 45px 50px 30px;
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    border-bottom: 1px solid var(--rk-imp-border);
}

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

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

.rk-imp-desc strong {
    color: var(--rk-imp-dark);
}

.rk-imp-desc a {
    color: var(--rk-imp-brand);
    font-weight: 700;
    text-decoration: none;
    box-shadow: inset 0 -2px 0 #bae6fd;
    transition: all 0.3s;
}

.rk-imp-desc a:hover {
    background: var(--rk-imp-brand-light);
    box-shadow: inset 0 -10px 0 #bae6fd;
}

.rk-imp-grid-text {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
    margin-top: 30px;
}

.rk-imp-box {
    background: #f8fafc;
    border: 1px solid var(--rk-imp-border);
    padding: 20px;
    border-radius: 12px;
}

.rk-imp-box h4 {
    margin: 0 0 10px 0;
    color: var(--rk-imp-brand);
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-imp-box p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-imp-text);
}

/* Interaktywny Symulator */
.rk-imp-interactive {
    padding: 40px 50px;
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 40px;
    background: #ffffff;
}

/* Panel Kontrolny */
.rk-imp-controls {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-imp-controls h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-imp-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-ctrl-group {
    background: #f8fafc;
    border: 1px solid var(--rk-imp-border);
    padding: 20px;
    border-radius: 16px;
}

.rk-ctrl-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.rk-ctrl-label {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-imp-text);
}

.rk-ctrl-val {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-imp-warn);
}

/* Suwaki i Toggla */
.rk-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: #cbd5e1;
    outline: none;
}
.rk-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #ffffff;
    border: 4px solid var(--rk-imp-warn);
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: transform 0.1s;
}
.rk-slider::-webkit-slider-thumb:active { transform: scale(1.1); }

/* Switch Toggle */
.rk-switch-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.rk-switch {
    position: relative;
    width: 56px;
    height: 30px;
    background: #cbd5e1;
    border-radius: 30px;
    cursor: pointer;
    transition: background 0.3s;
}
.rk-switch.active { background: var(--rk-imp-warn); }
.rk-switch-knob {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 24px;
    height: 24px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.rk-switch.active .rk-switch-knob { transform: translateX(26px); }

/* Dashboard SVG + Wyniki */
.rk-imp-dashboard {
    display: flex;
    gap: 30px;
}

.rk-svg-room {
    flex: 1;
    background: #f1f5f9;
    border-radius: 16px;
    border: 1px dashed var(--rk-imp-border);
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.rk-svg-rotameter {
    width: 100px;
    background: #ffffff;
    border: 1px solid var(--rk-imp-border);
    border-radius: 16px;
    padding: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-rota-title {
    font-size: 10px;
    font-weight: 800;
    color: var(--rk-imp-text);
    text-transform: uppercase;
    margin-bottom: 10px;
    text-align: center;
}

/* Animacje SVG */
.anim-person { transition: opacity 0.3s ease; }
.anim-tv { transition: fill 0.3s ease, filter 0.3s ease; }
.anim-heat-glow { transition: opacity 0.3s ease, r 0.3s ease; }
.anim-float { transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); }

/* Kafelki Wynikowe */
.rk-result-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-top: 20px;
}

.rk-metric-card {
    background: #ffffff;
    border: 1px solid var(--rk-imp-border);
    padding: 15px;
    border-radius: 12px;
}
.rk-metric-card.highlight {
    border-color: var(--rk-imp-eco);
    background: #ecfdf5;
}

.rk-metric-card h5 { margin: 0 0 5px 0; font-size: 11px; color: var(--rk-imp-text); text-transform: uppercase; }
.rk-metric-card .val { font-size: 22px; font-weight: 900; color: var(--rk-imp-dark); }
.rk-metric-card.highlight .val { color: var(--rk-imp-eco); }

/* Mocne CTA */
.rk-imp-cta-box {
    background: var(--rk-imp-dark);
    padding: 45px 50px;
    text-align: center;
}

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

.rk-imp-cta-box p {
    color: #94a3b8;
    font-size: 16px;
    margin: 0 auto 30px;
    max-width: 600px;
    line-height: 1.6;
}

.rk-btn-massive {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--rk-imp-brand);
    color: #ffffff !important;
    padding: 18px 36px;
    border-radius: 14px;
    font-size: 18px;
    font-weight: 800;
    text-decoration: none !important;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.5);
    transition: all 0.3s;
    border: 2px solid transparent;
}

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

@media (max-width: 768px) {
    .rk-imp-content, .rk-imp-interactive, .rk-imp-cta-box { padding: 30px 25px; }
    .rk-imp-grid-text { grid-template-columns: 1fr; }
    .rk-imp-interactive { grid-template-columns: 1fr; gap: 30px; }
    .rk-imp-dashboard { flex-direction: column; }
    .rk-svg-rotameter { width: 100%; flex-direction: row; justify-content: space-around; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#article-wplyw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/"
    },
    "headline": "Jak dom pasywny wpływa na projekt ogrzewania podłogowego i OZC?",
    "description": "Dlaczego wskaźniki W/m2 'z sufitu' niszczą instalację. Analiza zysków bytowych, precyzyjnych przepływomierzy i doboru energooszczędnej pompy obiegowej.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-13",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#dataset-wplyw",
    "name": "Zestawienie Zysków Bytowych i Oporów Hydraulicznych",
    "description": "Baza danych określająca wpływ aktywności domowników na realne obciążenie cieplne oraz wymagany przepływ czynnika grzewczego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zapotrzebowanie na ciepło dla każdego pomieszczenia",
      "zyski ciepła od nasłonecznienia dom pasywny",
      "precyzyjne przepływomierze podłogówki",
      "kalkulator doboru pompy obiegowej",
      "obliczenia OZC dla podłogówki"
    ],
    "measurementTechnique": "Dynamiczna estymacja spadku zapotrzebowania grzewczego (W) w oparciu o sumowanie zysków od ludzi (100W/osoba) i elektroniki domowej, redukująca wymagany przepływ na rotametrach.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "OZC: W domu pasywnym 3 osoby i telewizor generują ~500W, pokrywając do 50% zapotrzebowania.",
        "Hydraulika: Niskie zapotrzebowanie wymusza rotametry o małym zakresie 0,5–2,5 l/min.",
        "Pompa obiegowa: Konieczność precyzyjnego doboru, aby zużycie prądu P < 20-30 W."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#webapp-wplyw",
    "name": "Symulator Bilansu Pasywnego i Hydrauliki",
    "description": "Interaktywne narzędzie wizualizujące, jak zyski ciepła od ludzi i elektroniki automatycznie dławią potrzebę grzewczą podłogi i obniżają przepływ wskaźnika na rotametrze.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript, SVG",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-imp-container" id="impact-simulator-app">
    
    <div class="rk-imp-content">
        <h2>Jak to wpływa na projekt ogrzewania podłogowego?</h2>
        <p class="rk-imp-desc">
            Projektowanie dla domu pasywnego wymusza całkowitą zmianę podejścia do OZC. Nie można posługiwać się wskaźnikami W/m² wyciągniętymi "z sufitu". Projektant musi otrzymać <strong>wyniki obliczeń <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/">zapotrzebowania na ciepło dla każdego pomieszczenia</a> z osobna</strong>. W przeciwnym razie system będzie skazany na porażkę.
        </p>

        <div class="rk-imp-grid-text">
            <div class="rk-imp-box">
                <h4>Zyski Bytowe w OZC</h4>
                <p>W <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-a-pasywne-zyski-ciepla/">obliczeniach OZC</a> musimy uwzględniać zyski od nasłonecznienia i urządzeń. W domu pasywnym 3 osoby i włączony telewizor to już ~500 W darmowej mocy grzewczej, co może pokryć nawet 50% zapotrzebowania w danym momencie!</p>
            </div>
            <div class="rk-imp-box">
                <h4>Precyzja Hydrauliczna</h4>
                <p>Niska moc to mały przepływ. Projektant musi wyliczyć opory tak, aby stosować <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">precyzyjne przepływomierze podłogówki</a> (zakres 0,5–2,5 l/min). Niezbędny jest też ścisły <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">kalkulator doboru pompy obiegowej</a>, by jej pobór prądu nie przekraczał 20-30 W.</p>
            </div>
        </div>
    </div>

    <div class="rk-imp-interactive">
        
        <!-- Panel Kontrolny -->
        <div class="rk-imp-controls">
            <h3>Symuluj Zyski Pasywne</h3>
            
            <div class="rk-ctrl-group">
                <div class="rk-ctrl-header">
                    <span class="rk-ctrl-label">Liczba osób w salonie</span>
                    <span class="rk-ctrl-val"><span id="val-people">0</span></span>
                </div>
                <input type="range" min="0" max="4" step="1" value="0" class="rk-slider" id="slider-people">
                <div style="font-size:11px; color:#94a3b8; margin-top:8px;">1 osoba = ~100W zysku</div>
            </div>

            <div class="rk-ctrl-group">
                <div class="rk-ctrl-header">
                    <span class="rk-ctrl-label">Telewizor / Elektronika</span>
                    <span class="rk-ctrl-val" id="val-tv-text" style="color:#94a3b8;">Wyłączone</span>
                </div>
                <div class="rk-switch-wrap">
                    <span style="font-size:12px; color:#64748b;">(~200W zysku)</span>
                    <div class="rk-switch" id="toggle-tv">
                        <div class="rk-switch-knob"></div>
                    </div>
                </div>
            </div>

            <div class="rk-result-metrics">
                <div class="rk-metric-card highlight">
                    <h5>Darmowe Zyski</h5>
                    <div class="val">+<span id="out-gains">0</span> W</div>
                </div>
                <div class="rk-metric-card">
                    <h5>Wymagana Moc Posadzki</h5>
                    <div class="val"><span id="out-power">1000</span> W</div>
                </div>
            </div>
        </div>

        <!-- Dashboard SVG -->
        <div class="rk-imp-dashboard">
            <!-- Pokój SVG -->
            <div class="rk-svg-room">
                <svg viewBox="0 0 200 200" style="width:100%; height:auto;">
                    <!-- Pokój -->
                    <rect x="10" y="10" width="180" height="180" fill="none" stroke="#cbd5e1" stroke-width="4" rx="8"/>
                    <!-- Łuna ciepła -->
                    <circle cx="100" cy="100" r="0" fill="rgba(245, 158, 11, 0.15)" id="svg-heat-glow" class="anim-heat-glow"/>
                    
                    <!-- Telewizor -->
                    <rect x="70" y="20" width="60" height="10" fill="#475569" rx="2"/>
                    <rect x="60" y="30" width="80" height="40" fill="#94a3b8" rx="4" id="svg-tv" class="anim-tv"/>
                    
                    <!-- Ludziki (4 sztuki ukryte domyślnie) -->
                    <g fill="#475569" id="person-1" class="anim-person" opacity="0">
                        <circle cx="50" cy="130" r="10"/>
                        <rect x="40" y="145" width="20" height="30" rx="4"/>
                    </g>
                    <g fill="#475569" id="person-2" class="anim-person" opacity="0">
                        <circle cx="85" cy="140" r="10"/>
                        <rect x="75" y="155" width="20" height="30" rx="4"/>
                    </g>
                    <g fill="#475569" id="person-3" class="anim-person" opacity="0">
                        <circle cx="120" cy="135" r="10"/>
                        <rect x="110" y="150" width="20" height="30" rx="4"/>
                    </g>
                    <g fill="#475569" id="person-4" class="anim-person" opacity="0">
                        <circle cx="155" cy="145" r="10"/>
                        <rect x="145" y="160" width="20" height="30" rx="4"/>
                    </g>
                </svg>
            </div>

            <!-- Rotametr SVG -->
            <div class="rk-svg-rotameter">
                <div class="rk-rota-title">Rotametr<br>(Przepływ)</div>
                <svg viewBox="0 0 60 160" style="height:140px;">
                    <!-- Rurka -->
                    <path d="M 20 20 L 40 20 L 35 140 L 25 140 Z" fill="#f1f5f9" stroke="#94a3b8" stroke-width="2"/>
                    <!-- Skala -->
                    <line x1="15" y1="30" x2="20" y2="30" stroke="#64748b" stroke-width="1.5"/>
                    <line x1="15" y1="60" x2="20" y2="60" stroke="#64748b" stroke-width="1.5"/>
                    <line x1="15" y1="90" x2="20" y2="90" stroke="#64748b" stroke-width="1.5"/>
                    <line x1="15" y1="120" x2="20" y2="120" stroke="#64748b" stroke-width="1.5"/>
                    <text x="5" y="34" font-size="10" fill="#64748b">2.5</text>
                    <text x="5" y="124" font-size="10" fill="#64748b">0.5</text>
                    
                    <!-- Pływak -->
                    <g id="svg-float" class="anim-float" transform="translate(0, 0)">
                        <polygon points="22,30 38,30 35,40 25,40" fill="#ef4444"/>
                    </g>
                </svg>
                <div style="font-size:14px; font-weight:900; color:var(--rk-imp-dark); margin-top:10px;">
                    <span id="out-flow">2.5</span> <span style="font-size:10px;">l/min</span>
                </div>
            </div>
        </div>
    </div>

    <!-- MOCNE CTA -->
    <div class="rk-imp-cta-box">
        <h3>Nie zgaduj. Powierz OZC inżynierom.</h3>
        <p>
            Błędy w obliczeniach zapotrzebowania i hydrauliki kosztują dziesiątki tysięcy złotych po wylaniu posadzki. Wybierz rozwiązanie, które gwarantuje bezpieczeństwo i najwyższy współczynnik COP dla Twojej pompy ciepła.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-massive">
            ZAMÓW PROFESJONALNY PROJEKT OGRZEWANIA
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
        </a>
    </div>

</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe bez tagów H
    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('impact-simulator-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 30px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 16px; font-family: monospace;">
                    <div style="font-size: 32px; margin-bottom: 15px; color: #ef4444;">[ SYSTEM SECURED ]</div>
                    <div style="font-size: 14px; font-weight: bold; color: #cbd5e1; margin-bottom: 10px;">
                        Błąd licencji: Nieautoryzowana domena.
                    </div>
                    <div style="color: #64748b; font-size: 12px; line-height: 1.5;">
                        Kod Symulatora Bilansu należy do Projekt-Ogrzewania.pl. Wykonanie przerwane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora
    const sliderPeople = document.getElementById('slider-people');
    const toggleTv = document.getElementById('toggle-tv');
    
    // UI Values
    const valPeople = document.getElementById('val-people');
    const valTvText = document.getElementById('val-tv-text');
    const outGains = document.getElementById('out-gains');
    const outPower = document.getElementById('out-power');
    const outFlow = document.getElementById('out-flow');
    
    // SVG Elements
    const svgTv = document.getElementById('svg-tv');
    const svgHeatGlow = document.getElementById('svg-heat-glow');
    const svgFloat = document.getElementById('svg-float');
    const persons = [
        document.getElementById('person-1'),
        document.getElementById('person-2'),
        document.getElementById('person-3'),
        document.getElementById('person-4')
    ];

    let isTvOn = false;
    const basePower = 1000; // Bazowe zapotrzebowanie salonu W
    const maxFlow = 2.5; // Max l/min
    const minFlow = 0.5; // Min l/min

    function updateSimulation() {
        const peopleCount = parseInt(sliderPeople.value);
        valPeople.textContent = peopleCount;

        // Obliczanie zysków
        const peopleGain = peopleCount * 100; // 100W na osobę
        const tvGain = isTvOn ? 200 : 0; // 200W z TV
        const totalGain = peopleGain + tvGain;

        // Zapotrzebowanie (nie mniej niż 0)
        let reqPower = basePower - totalGain;
        if (reqPower < 0) reqPower = 0;

        outGains.textContent = totalGain;
        outPower.textContent = reqPower;

        // Obliczanie Przepływu (Liniowa interpolacja)
        // Jeśli reqPower = 1000 -> 2.5 l/min
        // Jeśli reqPower = 0 -> 0.0 l/min (ale dla rotametru min to 0.5)
        let flow = (reqPower / basePower) * maxFlow;
        if (flow < minFlow) flow = minFlow;
        outFlow.textContent = flow.toFixed(1);

        // --- Aktualizacja SVG ---
        
        // 1. Ludzie (pojawiają się)
        persons.forEach((p, index) => {
            p.style.opacity = index < peopleCount ? '1' : '0';
            p.style.fill = index < peopleCount ? 'var(--rk-imp-warn)' : '#475569';
        });

        // 2. TV
        if (isTvOn) {
            svgTv.style.fill = '#fde047'; // Jasny ekran
            svgTv.style.filter = 'drop-shadow(0 0 10px rgba(253, 224, 71, 0.8))';
            valTvText.textContent = "Włączone";
            valTvText.style.color = "var(--rk-imp-warn)";
        } else {
            svgTv.style.fill = '#94a3b8'; // Zgaszony
            svgTv.style.filter = 'none';
            valTvText.textContent = "Wyłączone";
            valTvText.style.color = "#94a3b8";
        }

        // 3. Łuna ciepła
        // R zależy od totalGain (max 600W)
        const glowRadius = (totalGain / 600) * 100;
        svgHeatGlow.setAttribute('r', glowRadius);
        svgHeatGlow.style.opacity = glowRadius > 0 ? '1' : '0';

        // 4. Rotametr (Pływak)
        // translateY: 0 to góra (2.5 l/min), 90 to dół (0.5 l/min)
        // Odwrócona proporcja
        const flowPercent = (flow - minFlow) / (maxFlow - minFlow); // 1.0 = max, 0.0 = min
        const floatY = (1 - flowPercent) * 90; // max Y = 90
        svgFloat.style.transform = `translateY(${floatY}px)`;
    }

    // Nasłuchiwacze
    sliderPeople.addEventListener('input', updateSimulation);
    
    toggleTv.addEventListener('click', () => {
        isTvOn = !isTvOn;
        toggleTv.classList.toggle('active', isTvOn);
        updateSimulation();
    });

    // Init
    updateSimulation();
});
</script>



<style>
:root {
    --rk-quote-primary: #0f172a;
    --rk-quote-accent: #0284c7;
    --rk-quote-accent-light: #e0f2fe;
    --rk-quote-danger: #ef4444;
    --rk-quote-passive: #10b981;
    --rk-quote-bg: #f8fafc;
    --rk-quote-border: #e2e8f0;
}

.rk-expert-wrapper {
    max-width: 950px;
    margin: 50px auto 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
}

.rk-expert-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 25px;
}

.rk-expert-header h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-quote-primary);
    margin: 0;
}

.rk-expert-container {
    background: #ffffff;
    border-radius: 24px;
    padding: 35px 40px;
    display: flex;
    gap: 30px;
    align-items: flex-start;
    border: 1px solid var(--rk-quote-border);
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.1);
    position: relative;
    overflow: hidden;
}

/* Dekoracyjne tło */
.rk-expert-container::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 6px; height: 100%;
    background: linear-gradient(to bottom, var(--rk-quote-accent), #38bdf8);
}

.rk-expert-container::after {
    content: '”';
    position: absolute;
    top: -20px;
    right: 20px;
    font-family: serif;
    font-size: 140px;
    color: var(--rk-quote-bg);
    line-height: 1;
    z-index: 0;
}

/* Animowane zdjęcie */
.rk-expert-photo-wrap {
    flex-shrink: 0;
    width: 110px;
    height: 110px;
    position: relative;
    z-index: 1;
}

.rk-expert-photo-ring {
    position: absolute;
    top: -5px; left: -5px; right: -5px; bottom: -5px;
    border-radius: 50%;
    border: 2px dashed var(--rk-quote-accent);
    animation: spinRing 12s linear infinite;
}

@keyframes spinRing {
    100% { transform: rotate(360deg); }
}

.rk-expert-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 4px solid #ffffff;
    box-shadow: 0 8px 15px rgba(0,0,0,0.1);
    position: relative;
    z-index: 2;
}

.rk-expert-badge-icon {
    position: absolute;
    bottom: -5px;
    right: -5px;
    background: var(--rk-quote-accent);
    color: #ffffff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.4);
    z-index: 3;
}

/* Treść cytatu */
.rk-expert-content {
    flex-grow: 1;
    position: relative;
    z-index: 1;
}

.rk-expert-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 800;
    color: var(--rk-quote-accent);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
    background: var(--rk-quote-accent-light);
    padding: 4px 12px;
    border-radius: 20px;
}

.rk-expert-text {
    font-size: 17px;
    line-height: 1.7;
    color: var(--rk-quote-primary);
    font-style: italic;
    margin: 0 0 15px 0;
    font-weight: 500;
}

.rk-expert-text strong {
    color: var(--rk-quote-accent);
    font-weight: 800;
}

.rk-expert-text a {
    color: var(--rk-quote-primary);
    text-decoration: underline;
    text-decoration-color: var(--rk-quote-accent);
    text-underline-offset: 3px;
    font-weight: 700;
    transition: color 0.3s;
}

.rk-expert-text a:hover {
    color: var(--rk-quote-accent);
}

.rk-expert-signature {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #64748b;
    border-top: 1px solid var(--rk-quote-border);
    padding-top: 15px;
    margin-top: 15px;
}

/* Interaktywny Panel Ukryty */
.rk-expert-interactive {
    margin-top: 20px;
}

.rk-expert-btn {
    background: #ffffff;
    border: 2px solid var(--rk-quote-border);
    color: var(--rk-quote-primary);
    padding: 10px 20px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.rk-expert-btn:hover {
    border-color: var(--rk-quote-accent);
    color: var(--rk-quote-accent);
    background: var(--rk-quote-accent-light);
}

.rk-expert-btn svg {
    transition: transform 0.3s;
}

.rk-expert-btn.active svg {
    transform: rotate(180deg);
}

.rk-expert-data-panel {
    display: none;
    margin-top: 15px;
    padding: 20px;
    background: var(--rk-quote-bg);
    border-radius: 12px;
    border: 1px dashed var(--rk-quote-border);
    animation: fadeInDown 0.4s ease forwards;
}

.rk-expert-data-panel.active {
    display: grid;
    grid-template-columns: 100px 1fr 1fr 1fr;
    gap: 15px;
    align-items: center;
}

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

.rk-data-svg-box {
    display: flex;
    justify-content: center;
    align-items: center;
}

.rk-data-svg {
    width: 60px;
    height: 60px;
    filter: drop-shadow(0 4px 6px rgba(16, 185, 129, 0.2));
}

.anim-pulse-target {
    transform-origin: center;
    animation: targetPulse 2s infinite alternate ease-in-out;
}

@keyframes targetPulse {
    0% { transform: scale(0.9); opacity: 0.8; stroke: var(--rk-quote-accent); }
    100% { transform: scale(1.1); opacity: 1; stroke: var(--rk-quote-passive); }
}

.rk-data-stat {
    text-align: center;
    background: #ffffff;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    border: 1px solid transparent;
    transition: border-color 0.3s;
}

.rk-data-stat:hover {
    border-color: var(--rk-quote-accent-light);
}

.rk-data-val {
    display: block;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-quote-accent);
    margin-bottom: 5px;
}

.rk-data-lab {
    font-size: 11px;
    color: #64748b;
    text-transform: uppercase;
    font-weight: 700;
}

@media (max-width: 768px) {
    .rk-expert-container { flex-direction: column; text-align: center; padding: 30px 25px; align-items: center; }
    .rk-expert-header h2 { font-size: 22px; text-align: center; }
    .rk-expert-container::before { width: 100%; height: 6px; }
    .rk-expert-data-panel.active { grid-template-columns: 1fr; }
    .rk-data-svg-box { display: none; /* Hide icon on small mobile to save space */ }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#article-cytat",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/"
    },
    "headline": "Ekspercki punkt widzenia: Precyzja w standardzie pasywnym",
    "description": "Opinia inżyniera HVAC na temat konsekwencji braku rzetelnych obliczeń OZC i projektowania instalacji ogrzewania podłogowego na oko w budownictwie pasywnym.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-03-05",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Quotation",
    "license": "https://projekt-ogrzewania.pl/",
    "text": "Budownictwo pasywne nie wybacza inżynierskiej arogancji. Kopiowanie schematów ze starych domów i układanie rur 'na oko' to absolutna gwarancja przegrzewania pomieszczeń oraz morderczego taktowania pompy ciepła. Jeśli opierasz się na zgadywaniu, zamiast zamówić rzetelny projekt, niszczysz cały sens finansowy energooszczędnej inwestycji.",
    "spokenByCharacter": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "Inżynier HVAC & 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",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#dataset-cytat",
    "name": "Krytyczne parametry projektowe dla podłogówki pasywnej",
    "description": "Zestawienie inżynierskich wartości bazowych wymaganych do zachowania stabilności termicznej w budownictwie o ekstremalnie niskim zapotrzebowaniu na energię.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zapotrzebowanie cieplne domu pasywnego W/m2",
      "skutki braku projektu ogrzewania podłogowego",
      "projekt z obliczeniami OZC a projekt z głowy",
      "taktowanie pompy ciepła w nowym domu",
      "optymalny rozstaw rur 15-20 cm"
    ],
    "measurementTechnique": "Określenie krytycznych limitów mocy i przepływu zapobiegających przegrzewaniu izolowanych brył budynków.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zapotrzebowanie (q): Poniżej 15 W/m2",
        "Rozstaw rur bazowy: Od 15 cm do 20 cm",
        "Temperatura zasilania: Maksymalnie 28 - 32°C"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#webapp-cytat",
    "name": "Interaktywny Panel Ekspercki: Parametry Pasywne",
    "description": "Interfejs rozwijany przez użytkownika wyświetlający twarde dane liczbowe wynikające z norm i obliczeń OZC przytoczonych przez inżyniera.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-expert-wrapper" id="rk-expert-quote-app">
    <div class="rk-expert-header">
        <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="var(--rk-quote-accent)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg>
        <h3>Ekspercki punkt widzenia</h3>
    </div>
    
    <div class="rk-expert-container">
        <div class="rk-expert-photo-wrap">
            <div class="rk-expert-photo-ring"></div>
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski, Inżynier HVAC" class="rk-expert-photo" loading="lazy">
            <div class="rk-expert-badge-icon">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            </div>
        </div>
        
        <div class="rk-expert-content">
            <span class="rk-expert-label">
                <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
                Ostrzeżenie przed "Instalatorską Intuicją"
            </span>
            <p class="rk-expert-text">
                "Budownictwo pasywne nie wybacza inżynierskiej arogancji. Kopiowanie schematów ze starych domów i układanie rur w gęstym rozstawie to absolutna gwarancja nieznośnego przegrzewania pomieszczeń oraz morderczego taktowania pompy ciepła. Zastanawiasz się, <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-glowy-vs-projekt-z-obliczeniami-ile-mozesz-stracic-na-bledach/">ile możesz stracić na błędach robiąc projekt z głowy</a>? Jeśli nie opierasz swojego systemu na <a href="https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/">rzetelnym projekcie ogrzewania z wyliczeniem OZC</a> do jednego Wata, niszczysz cały finansowy i technologiczny sens energooszczędnej inwestycji."
            </p>
            <span class="rk-expert-signature">— Robert Kucharski, Inżynier HVAC Projekt-Ogrzewania.pl</span>
            
            <div class="rk-expert-interactive">
                <button class="rk-expert-btn" id="toggleDataBtn">
                    Rozwiń parametry krytyczne
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                
                <div class="rk-expert-data-panel" id="expertDataPanel">
                    <div class="rk-data-svg-box">
                        <svg class="rk-data-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
                            <circle cx="12" cy="12" r="10" class="anim-pulse-target"></circle>
                            <circle cx="12" cy="12" r="6"></circle>
                            <circle cx="12" cy="12" r="2"></circle>
                        </svg>
                    </div>
                    <div class="rk-data-stat">
                        <span class="rk-data-val" style="color: var(--rk-quote-passive);">&lt; 15 W/m²</span>
                        <span class="rk-data-lab">Max. Zapotrzebowanie</span>
                    </div>
                    <div class="rk-data-stat">
                        <span class="rk-data-val">15 - 20 cm</span>
                        <span class="rk-data-lab">Optymalny Rozstaw</span>
                    </div>
                    <div class="rk-data-stat">
                        <span class="rk-data-val" style="color: var(--rk-quote-danger);">32 °C</span>
                        <span class="rk-data-lab">Krytyczne Zasilanie</span>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <noscript>
        <div style="padding: 20px; background: #f8fafc; border-radius: 16px; margin-top: 20px; font-family: sans-serif;">
            <p style="font-size: 14px; font-weight: bold; color: #0f172a; margin-top:0;">Parametry graniczne weryfikacji (Robert Kucharski):</p>
            <ul style="font-size: 14px; color: #475569; margin-bottom:0;">
                <li>Zapotrzebowanie na moc: Poniżej 15 W/m²</li>
                <li>Optymalny rozstaw rur: Od 15 cm do 20 cm</li>
                <li>Krytyczna maksymalna temperatura zasilania: 32 °C</li>
            </ul>
        </div>
    </noscript>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE (DOMAIN LOCK)
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Zgodnie z wytycznymi - brak nagłówków H-tagów w alercie)
    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('rk-expert-quote-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #fef2f2; color: #dc2626; border-radius: 20px; border: 2px dashed #ef4444;">
                    <div style="font-size: 32px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 18px; font-weight: 800; text-transform: uppercase; margin-bottom: 10px;">Blokada bezpieczeństwa</div>
                    <div style="font-size: 14px; color: #7f1d1d;">Cytat inżynierski jest chroniony prawem autorskim serwisu Projekt-Ogrzewania.pl.</div>
                </div>
            `;
            // Usuwamy resztę styli z kontenera by nie zepsuć wyglądu komunikatu
            container.style.borderLeft = 'none';
            container.style.background = 'transparent';
            container.style.boxShadow = 'none';
            return;
        }
    }

    // 2. Interakcja z panelem danych
    const toggleBtn = document.getElementById('toggleDataBtn');
    const dataPanel = document.getElementById('expertDataPanel');

    if (toggleBtn && dataPanel) {
        toggleBtn.addEventListener('click', function() {
            this.classList.toggle('active');
            dataPanel.classList.toggle('active');
            
            if(this.classList.contains('active')) {
                this.innerHTML = `Zwiń parametry krytyczne <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>`;
            } else {
                this.innerHTML = `Rozwiń parametry krytyczne <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>`;
            }
        });
    }
});
</script>



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



<style>
:root {
    --rk-cs-dark: #0f172a;
    --rk-cs-brand: #0284c7;
    --rk-cs-accent: #38bdf8;
    --rk-cs-passive: #10b981; /* Kolor sukcesu/pasywny */
    --rk-cs-standard: #f59e0b; /* Kolor ostrzegawczy/standard */
    --rk-cs-cold: #3b82f6; /* Zima/Móz */
    --rk-cs-bg: #ffffff;
    --rk-cs-panel: #f8fafc;
    --rk-cs-border: #cbd5e1;
    --rk-cs-text: #475569;
}

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

.rk-cs-wrapper * {
    box-sizing: inherit;
}

/* ================= HEADER I METRYCZKA ================= */
.rk-cs-header {
    background: linear-gradient(135deg, var(--rk-cs-dark) 0%, #1e293b 100%);
    color: #ffffff;
    padding: 45px 50px 35px;
    position: relative;
}

.rk-cs-header::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(circle at 90% 10%, rgba(56, 189, 248, 0.15) 0%, transparent 50%);
    pointer-events: none;
}

.rk-cs-badge {
    display: inline-block;
    background: rgba(56, 189, 248, 0.15);
    border: 1px solid rgba(56, 189, 248, 0.3);
    color: var(--rk-cs-accent);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
}

.rk-cs-header h2 {
    font-size: 30px;
    font-weight: 900;
    margin: 0 0 30px 0;
    line-height: 1.2;
    letter-spacing: -0.5px;
}

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

.rk-cs-stat-item {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 18px 20px;
    border-radius: 14px;
    backdrop-filter: blur(8px);
    display: flex;
    flex-direction: column;
}

.rk-cs-stat-item span.label {
    font-size: 11px;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 800;
    margin-bottom: 6px;
    letter-spacing: 0.5px;
}

.rk-cs-stat-item span.value {
    font-size: 18px;
    font-weight: 900;
    color: #ffffff;
}

/* ================= OPIS WYZWANIA ================= */
.rk-cs-body {
    padding: 40px 50px 10px;
    background: #ffffff;
}

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

.rk-cs-story a {
    color: var(--rk-cs-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid #bae6fd;
    transition: all 0.3s;
}

.rk-cs-story a:hover {
    background: #e0f2fe;
    border-color: var(--rk-cs-brand);
}

.rk-cs-author {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    background: #f8fafc;
    border: 1px solid var(--rk-cs-border);
    padding: 15px 25px;
    border-radius: 100px;
    margin-bottom: 30px;
}

.rk-cs-author img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.rk-cs-author-info p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-cs-text);
    line-height: 1.4;
}

.rk-cs-author-info strong {
    color: var(--rk-cs-dark);
    font-weight: 800;
    display: block;
    font-size: 15px;
}

/* ================= SYMULATOR INTERAKTYWNY ================= */
.rk-cs-interactive {
    padding: 0 50px 45px;
}

.rk-sim-box {
    background: var(--rk-cs-panel);
    border: 1px solid var(--rk-cs-border);
    border-radius: 20px;
    padding: 30px;
}

.rk-sim-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 20px;
}

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

/* Toggle App Style */
.rk-toggle-app {
    display: flex;
    background: #e2e8f0;
    border-radius: 12px;
    padding: 4px;
    position: relative;
    width: 300px; /* Sztywna szerokość dla stabilności */
}

.rk-toggle-btn {
    flex: 1;
    text-align: center;
    padding: 10px 15px;
    font-size: 12px;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
    z-index: 2;
    transition: color 0.3s;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap; /* Zabezpieczenie przed łamaniem tekstu */
}

.rk-toggle-btn.active { color: #ffffff; }

.rk-toggle-slider {
    position: absolute;
    top: 4px;
    left: 4px;
    height: calc(100% - 8px);
    width: calc(50% - 4px);
    background: var(--rk-cs-passive);
    border-radius: 8px;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.4s;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

/* Dashboard SVG i Wyniki */
.rk-sim-dashboard {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) 1.2fr;
    gap: 25px;
    align-items: stretch;
}

/* SVG Animacje */
.rk-svg-viewport {
    background: #ffffff;
    border: 1px solid var(--rk-cs-border);
    border-radius: 16px;
    padding: 20px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    display: flex;
    justify-content: center;
    align-items: center;
}

.svg-snow { fill: #bae6fd; animation: snowfall linear infinite; }
.svg-heat-loss { fill: none; stroke-linecap: round; stroke-width: 4; transition: opacity 0.5s, stroke 0.5s; }

/* Stan: Pasywny */
.state-passive .svg-heat-loss { stroke: var(--rk-cs-passive); opacity: 0.2; animation: floatUp 3s infinite ease-in-out; }
.state-passive .svg-wall { stroke: var(--rk-cs-passive); stroke-width: 8; transition: stroke-width 0.5s; }
.state-passive .svg-therm-fill { fill: var(--rk-cs-passive); height: 60px; y: 40; transition: all 0.5s; }

/* Stan: Standard */
.state-standard .svg-heat-loss { stroke: var(--rk-cs-standard); opacity: 1; animation: floatUp 1s infinite ease-in-out; }
.state-standard .svg-wall { stroke: #94a3b8; stroke-width: 4; transition: stroke-width 0.5s; }
.state-standard .svg-therm-fill { fill: var(--rk-cs-standard); height: 90px; y: 10; transition: all 0.5s; }

@keyframes snowfall {
    0% { transform: translateY(-20px); opacity: 0; }
    50% { opacity: 1; }
    100% { transform: translateY(120px); opacity: 0; }
}

@keyframes floatUp {
    0% { transform: translateY(10px); }
    100% { transform: translateY(-20px); }
}

/* Wyniki (Kafelki) - PANZER CSS (Zabezpieczone przed globalnymi stylami motywu) */
.rk-sim-metrics {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.rk-metric-card {
    background: #ffffff;
    border: 1px solid var(--rk-cs-border);
    padding: 16px 20px;
    border-radius: 14px;
    transition: border-color 0.3s;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    text-align: left;
}

.rk-metric-card h4 {
    margin: 0 0 6px 0;
    font-size: 11px;
    color: var(--rk-cs-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.3;
    word-break: normal;
}

.rk-metric-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-cs-dark);
    margin: 0 0 4px 0;
    line-height: 1.1;
    white-space: nowrap; /* Zapobiega łamaniu wartości */
}

.rk-metric-sub {
    font-size: 12px;
    color: #94a3b8;
    font-weight: 600;
    margin: 0;
    line-height: 1.3;
}

.val-highlight { transition: color 0.3s; }
.state-passive .val-highlight { color: var(--rk-cs-passive); }
.state-standard .val-highlight { color: var(--rk-cs-standard); }

/* Responsywność */
@media (max-width: 768px) {
    .rk-cs-header { padding: 35px 25px; }
    .rk-cs-stats { grid-template-columns: 1fr 1fr; }
    .rk-cs-body { padding: 30px 25px 10px; }
    .rk-cs-interactive { padding: 0 25px 35px; }
    .rk-sim-box { padding: 20px; }
    .rk-sim-header { flex-direction: column; gap: 15px; align-items: stretch; text-align: center; }
    .rk-toggle-app { width: 100%; display: flex; }
    .rk-sim-dashboard { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 480px) {
    .rk-sim-metrics { grid-template-columns: 1fr; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/URL-ARTYKULU#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/URL-ARTYKULU"
    },
    "headline": "Case Study: Optymalizacja ogrzewania podłogowego w domu pasywnym (Zakopane)",
    "description": "Inżynieryjna analiza projektu instalacji podłogowej w domu pasywnym w Zakopanem. Zastosowanie pompy ciepła monoblok 3,5 kW, rur PERT i rozstawu 20 cm zaowocowało kosztem 640 PLN rocznie.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-03-05",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/URL-ARTYKULU#dataset-casestudy",
    "name": "Wyniki OZC i Koszty Eksploatacji - Dom Pasywny Zakopane 2025",
    "description": "Zestawienie parametrów wejściowych i wyników eksploatacyjnych dla budynku o pow. 162m2 zlokalizowanego w III strefie klimatycznej (-20°C).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "koszty ogrzewania pompą ciepła w górach",
      "projekt podłogówki do domu pasywnego",
      "średnia temperatura zasilania podłogówki",
      "rozstaw rur 20 cm ogrzewanie podłogowe",
      "pompa ciepła monoblok 3.5 kW"
    ],
    "measurementTechnique": "Monitoring rzeczywistego zużycia energii elektrycznej pompy ciepła w sezonie grzewczym 2025/2026 w odniesieniu do projektu OZC 1,94 kW.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zapotrzebowanie na moc (OZC): 1,94 kW przy -20°C na zewnątrz.",
        "System: Pompa ciepła monoblok 3,5 kW, rura PERT/AL/PERT 16x2,0 mm.",
        "Parametry zasilania: Średnia sezonowa temperatura Tz = 27,4°C.",
        "Roczny koszt ogrzewania: 640 PLN."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/URL-ARTYKULU#webapp-casestudy",
    "name": "Symulator Efektywności Termicznej (Pasywny vs Standard)",
    "description": "Interaktywny panel zestawiający wizualnie straty ciepła i roczne koszty ogrzewania w ekstremalnych warunkach zimowych dla dwóch standardów budowlanych.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-cs-wrapper" id="case-study-app">
    
    <div class="rk-cs-header">
        <div class="rk-cs-badge">Case Study z placu budowy</div>
        <h2>Inwestycja Stanisława, Zakopane</h2>
        
        <div class="rk-cs-stats">
            <div class="rk-cs-stat-item">
                <span class="label">Termin</span>
                <span class="value">Listopad 2025</span>
            </div>
            <div class="rk-cs-stat-item">
                <span class="label">Lokalizacja</span>
                <span class="value">Strefa III (-20°C)</span>
            </div>
            <div class="rk-cs-stat-item">
                <span class="label">Powierzchnia</span>
                <span class="value">162 m²</span>
            </div>
            <div class="rk-cs-stat-item">
                <span class="label">Wynikowy Koszt</span>
                <span class="value" style="color: var(--rk-cs-accent);">640 PLN / rok</span>
            </div>
        </div>
    </div>

    <div class="rk-cs-body">
        <div class="rk-cs-author">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" loading="lazy">
            <div class="rk-cs-author-info">
                <strong>Robert Kucharski</strong>
                <p>Nadzór Inżynierski HVAC</p>
            </div>
        </div>

        <p class="rk-cs-story">
            W listopadzie 2025 roku zakończyłem nadzór inżynierski nad <a href="https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/">projektem podłogówki do domu pasywnego</a> dla Pana Stanisława w Zakopanem. Wyzwaniem była wymagająca, III strefa klimatyczna. Budynek o powierzchni 162 m² został wykonany w rygorystycznej technologii (ściany U=0,09 W/(m²·K)). Realne zapotrzebowanie na moc grzewczą w najzimniejszym dniu zimy (-20°C) wyniosło zaledwie <strong>1,94 kW</strong> dla całego obiektu.
        </p>
        <p class="rk-cs-story">
            Zastosowaliśmy <a href="https://projekt-ogrzewania.pl/rura-pert-do-ogrzewania-podlogowego/">rurę PERT/AL/PERT</a> 16x2,0 mm w rzadkim, ale tu idealnym <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">rozstawie rur 20 cm</a> w strefach bytowych. Zintegrowaliśmy to z automatyką pogodową i <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompą ciepła typu monoblok 3,5 kW</a>. Efekt? <strong>Średnia temperatura zasilania podłogówki</strong> w sezonie wyniosła zaledwie 27,4°C, co zagwarantowało <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">koszty ogrzewania pompą ciepła w górach</a> na poziomie rewelacyjnych 640 PLN rocznie.
        </p>
    </div>

    <div class="rk-cs-interactive">
        <div class="rk-sim-box state-passive" id="rk-sim-container">
            
            <div class="rk-sim-header">
                <h3 class="rk-sim-title">Symulator Efektywności Termicznej</h3>
                <div class="rk-toggle-app">
                    <div class="rk-toggle-slider" id="rk-toggle-slider"></div>
                    <div class="rk-toggle-btn active" id="btn-passive">Dom Pasywny</div>
                    <div class="rk-toggle-btn" id="btn-standard">Dom Standard</div>
                </div>
            </div>

            <div class="rk-sim-dashboard">
                
                <!-- Wizualizacja SVG (Zima) -->
                <div class="rk-svg-viewport">
                    <svg viewBox="0 0 200 150" style="width:100%; max-width:200px; height:auto;">
                        <!-- Tło / Śnieg (generowany w js) -->
                        <g id="snow-layer"></g>

                        <!-- Budynek -->
                        <path class="svg-wall" d="M 40 130 L 40 70 L 100 30 L 160 70 L 160 130 Z" fill="#f8fafc" stroke-linejoin="round"/>
                        
                        <!-- Rury Grzewcze -->
                        <circle cx="70" cy="120" r="5" fill="#ef4444"/>
                        <circle cx="100" cy="120" r="5" fill="#ef4444"/>
                        <circle cx="130" cy="120" r="5" fill="#ef4444"/>

                        <!-- Uciekające Ciepło -->
                        <path class="svg-heat-loss" d="M 100 80 Q 110 50 100 20"/>
                        <path class="svg-heat-loss" d="M 70 80 Q 80 50 70 20" style="animation-delay: 0.3s;"/>
                        <path class="svg-heat-loss" d="M 130 80 Q 140 50 130 20" style="animation-delay: 0.6s;"/>

                        <!-- Termometr Zewnętrzny (-20C) -->
                        <rect x="10" y="40" width="10" height="60" rx="5" fill="#e2e8f0" stroke="#cbd5e1"/>
                        <rect x="12" y="80" width="6" height="20" rx="3" fill="#3b82f6"/>
                        <text x="15" y="35" font-size="10" font-weight="bold" fill="#3b82f6" text-anchor="middle">-20°C</text>

                        <!-- Termometr Wewnętrzny -->
                        <rect x="175" y="40" width="10" height="60" rx="5" fill="#e2e8f0" stroke="#cbd5e1"/>
                        <rect x="177" y="40" width="6" height="60" rx="3" class="svg-therm-fill"/>
                        <text x="180" y="35" font-size="10" font-weight="bold" fill="#ef4444" text-anchor="middle">21°C</text>
                    </svg>
                </div>

                <!-- Kafelki Wyników z zabezpieczeniem (flex-direction: column) -->
                <div class="rk-sim-metrics">
                    <div class="rk-metric-card">
                        <h4>Moc Projektowa (OZC)</h4>
                        <div class="rk-metric-val val-highlight" id="val-ozc">1.94 kW</div>
                        <div class="rk-metric-sub">Zapotrzebowanie przy -20°C</div>
                    </div>
                    <div class="rk-metric-card">
                        <h4>Śr. Temp. Zasilania</h4>
                        <div class="rk-metric-val val-highlight" id="val-temp">27.4°C</div>
                        <div class="rk-metric-sub">Idealne dla pompy ciepła</div>
                    </div>
                    <div class="rk-metric-card">
                        <h4>Rozstaw Rur PEX/PERT</h4>
                        <div class="rk-metric-val val-highlight" id="val-spacing">co 20 cm</div>
                        <div class="rk-metric-sub">Oszczędność materiału</div>
                    </div>
                    <div class="rk-metric-card">
                        <h4>Roczny Koszt Ogrzewania</h4>
                        <div class="rk-metric-val val-highlight" id="val-cost">640 PLN</div>
                        <div class="rk-metric-sub">W rachunkach za prąd</div>
                    </div>
                </div>

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

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. 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('case-study-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 16px; font-family: monospace;">
                    <div style="font-size: 32px; margin-bottom: 15px; color: #ef4444;">[ UNAUTHORIZED ACCESS ]</div>
                    <div style="font-size: 14px; font-weight: bold; color: #cbd5e1; margin-bottom: 10px;">
                        Brak licencji na wyświetlanie zawartości.
                    </div>
                    <div style="color: #64748b; font-size: 12px; line-height: 1.5;">
                        Moduł Case Study stanowi własność intelektualną Projekt-Ogrzewania.pl.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Generowanie śniegu w SVG
    const snowLayer = document.getElementById('snow-layer');
    let snowHtml = '';
    for(let i=0; i<15; i++) {
        const cx = Math.random() * 200;
        const delay = Math.random() * 3;
        const dur = 2 + Math.random() * 2;
        const r = 1 + Math.random() * 1.5;
        snowHtml += `<circle cx="${cx}" cy="-10" r="${r}" class="svg-snow" style="animation-delay: ${delay}s; animation-duration: ${dur}s;"/>`;
    }
    snowLayer.innerHTML = snowHtml;

    // 3. Logika Przełącznika
    const btnPassive = document.getElementById('btn-passive');
    const btnStandard = document.getElementById('btn-standard');
    const slider = document.getElementById('rk-toggle-slider');
    const container = document.getElementById('rk-sim-container');

    // Wartości DOM
    const valOzc = document.getElementById('val-ozc');
    const valTemp = document.getElementById('val-temp');
    const valSpacing = document.getElementById('val-spacing');
    const valCost = document.getElementById('val-cost');

    function animateValue(element, start, end, suffix, duration) {
        let startTimestamp = null;
        const step = (timestamp) => {
            if (!startTimestamp) startTimestamp = timestamp;
            const progress = Math.min((timestamp - startTimestamp) / duration, 1);
            const easeProgress = progress * (2 - progress);
            const current = start + (end - start) * easeProgress;
            
            if(Number.isInteger(end)) {
                element.textContent = Math.round(current) + suffix;
            } else {
                element.textContent = current.toFixed(2) + suffix;
            }
            
            if (progress < 1) {
                window.requestAnimationFrame(step);
            }
        };
        window.requestAnimationFrame(step);
    }

    btnPassive.addEventListener('click', () => {
        // UI Update
        btnStandard.classList.remove('active');
        btnPassive.classList.add('active');
        slider.style.transform = 'translateX(0)';
        slider.style.background = 'var(--rk-cs-passive)';
        
        container.classList.remove('state-standard');
        container.classList.add('state-passive');

        // Text & Animations
        valSpacing.textContent = 'co 20 cm';
        animateValue(valOzc, 8.5, 1.94, ' kW', 800);
        animateValue(valTemp, 38.0, 27.4, '°C', 800);
        animateValue(valCost, 3200, 640, ' PLN', 1000);
    });

    btnStandard.addEventListener('click', () => {
        // UI Update
        btnPassive.classList.remove('active');
        btnStandard.classList.add('active');
        slider.style.transform = 'translateX(100%)';
        slider.style.background = 'var(--rk-cs-standard)';
        
        container.classList.remove('state-passive');
        container.classList.add('state-standard');

        // Text & Animations
        valSpacing.textContent = 'co 10 cm';
        animateValue(valOzc, 1.94, 8.5, ' kW', 800);
        animateValue(valTemp, 27.4, 38.0, '°C', 800);
        animateValue(valCost, 640, 3200, ' PLN', 1000);
    });
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-brand: #0284c7;
    --rk-faq-brand-light: #f0f9ff;
    --rk-faq-accent: #38bdf8;
    --rk-faq-eco: #10b981;
    --rk-faq-warn: #f59e0b;
    --rk-faq-cold: #3b82f6;
    --rk-faq-border: #e2e8f0;
    --rk-faq-text: #475569;
    --rk-faq-bg: #ffffff;
    --rk-faq-panel: #f8fafc;
}

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

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

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

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

/* Interaktywny Akordeon */
.rk-faq-body {
    padding: 40px 45px;
    background: var(--rk-faq-panel);
}

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

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

/* Przycisk Pytania */
.rk-accordion-btn {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 30px;
    background: transparent;
    border: none;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
}

.rk-accordion-title {
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-faq-dark);
    line-height: 1.4;
    padding-right: 20px;
    transition: color 0.3s;
}

.rk-accordion-item.active .rk-accordion-title {
    color: var(--rk-faq-brand);
}

.rk-accordion-icon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--rk-faq-brand-light);
    color: var(--rk-faq-brand);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.rk-accordion-item.active .rk-accordion-icon {
    transform: rotate(135deg);
    background: var(--rk-faq-brand);
    color: #ffffff;
}

/* Rozwijana Treść */
.rk-accordion-content-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s ease-out;
}

.rk-accordion-item.active .rk-accordion-content-wrapper {
    grid-template-rows: 1fr;
}

.rk-accordion-content {
    overflow: hidden;
}

.rk-accordion-inner {
    padding: 0 30px 30px 30px;
    display: grid;
    grid-template-columns: 1fr 140px;
    gap: 30px;
    align-items: center;
    border-top: 1px dashed transparent;
    transition: border-color 0.4s;
}

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

/* Tekst i Linki SEO */
.rk-faq-text {
    font-size: 15.5px;
    line-height: 1.8;
    color: var(--rk-faq-text);
    margin: 0;
}

.rk-faq-text strong {
    color: var(--rk-faq-dark);
}

.rk-faq-text a {
    color: var(--rk-faq-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid #bae6fd;
    transition: all 0.3s;
}

.rk-faq-text a:hover {
    background: var(--rk-faq-brand-light);
    border-color: var(--rk-faq-brand);
}

/* Mini Infografiki SVG wewnątrz FAQ */
.rk-faq-svg-box {
    width: 100%;
    height: 120px;
    background: #f8fafc;
    border-radius: 12px;
    border: 1px solid var(--rk-faq-border);
    display: flex;
    justify-content: center;
    align-items: center;
}

.rk-faq-svg { width: 80%; height: auto; }

/* Animacje Q1, Q2, Q3 (Istniejące) */
.anim-heat-glow { opacity: 0; transform: translateY(10px); transition: all 0.8s ease; }
.rk-accordion-item.active .anim-heat-glow { opacity: 1; transform: translateY(0); animation: pulseHeat 2s infinite alternate; }

.anim-evoh { stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset 1s ease-in-out; }
.rk-accordion-item.active .anim-evoh { stroke-dashoffset: 0; }

.anim-panel { transform: translateY(-20px); opacity: 0; transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); }
.rk-accordion-item.active .anim-panel { transform: translateY(0); opacity: 1; }

/* Animacje Q4, Q5 (Nowe) */
.anim-reku-arrow { opacity: 0; transition: opacity 0.5s; }
.rk-accordion-item.active .anim-reku-arrow { opacity: 1; animation: flowReku 2s infinite linear; }
.anim-flake { transform-origin: center; opacity: 0; transition: opacity 0.5s; }
.rk-accordion-item.active .anim-flake { opacity: 1; animation: spinFlake 4s infinite linear; }

@keyframes pulseHeat {
    0% { filter: drop-shadow(0 -5px 5px rgba(245, 158, 11, 0.2)); }
    100% { filter: drop-shadow(0 -15px 15px rgba(245, 158, 11, 0.6)); }
}
@keyframes flowReku {
    0% { stroke-dashoffset: 20; }
    100% { stroke-dashoffset: 0; }
}
@keyframes spinFlake {
    100% { transform: rotate(360deg); }
}

@media (max-width: 768px) {
    .rk-faq-header, .rk-faq-body { padding: 30px 25px; }
    .rk-accordion-btn { padding: 20px; }
    .rk-accordion-inner { grid-template-columns: 1fr; padding: 0 20px 20px 20px; gap: 20px; }
    .rk-accordion-title { font-size: 15px; }
    .rk-faq-svg-box { height: 100px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/"
    },
    "headline": "Sekcja FAQ – Najczęstsze pytania o podłogówkę w domu pasywnym",
    "description": "Techniczne odpowiedzi eksperta: podłogówka jako jedyne źródło ciepła, rury PEX vs PERT, panele na ogrzewaniu, wpływ rekuperacji oraz chłodzenie płaszczyznowe.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-13",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy ogrzewanie podłogowe w domu pasywnym może być jedynym źródłem ciepła?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Absolutnie tak. Kluczem do sukcesu jest profesjonalnie wykonane projektowe obciążenie cieplne (OZC). W domach o ekstremalnie niskim zapotrzebowaniu energetycznym (często poniżej 15 kWh/(m2·rok)), prawidłowo zaprojektowana instalacja ogrzewania płaszczyznowego bez problemu pokryje straty ciepła, nawet gdy temperatura na zewnątrz spada poniżej -20°C."
        }
      },
      {
        "@type": "Question",
        "name": "Jaką rurę do ogrzewania podłogowego wybrać: PEX czy PERT?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "W przypadku domów pasywnych, gdzie zasilanie pompy ciepła oscyluje wokół 28-32°C, rura wielowarstwowa PERT/AL/PERT jest wyborem optymalnym i wystarczającym. Najważniejszym parametrem jest obecność bariery antydyfuzyjnej EVOH zgodnej z normą DIN 4726, która skutecznie blokuje przenikanie tlenu do zładu wody."
        }
      },
      {
        "@type": "Question",
        "name": "Czy można kłaść panele na ogrzewanie podłogowe w domu pasywnym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Oczywiście, ale wymaga to precyzji projektowej. Całkowity opór cieplny okładziny (paneli wraz z podkładem) nie może przekraczać 0,15 (m2·K)/W. W praktyce najlepiej sprawdzają się cienkie panele winylowe SPC na podłogówkę oraz dedykowane podkłady o dużej gęstości."
        }
      },
      {
        "@type": "Question",
        "name": "Jak wentylacja mechaniczna z rekuperacją współpracuje z podłogówką?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "W budownictwie pasywnym rekuperacja jest niezbędna do prawidłowego działania podłogówki. Eliminując grawitacyjne straty ciepła, drastycznie obniża zapotrzebowanie energetyczne budynku. Pozwala to na obniżenie temperatury zasilania z pompy ciepła, co maksymalizuje współczynnik COP."
        }
      },
      {
        "@type": "Question",
        "name": "Czy ogrzewaniem podłogowym można chłodzić dom pasywny latem?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, chłodzenie płaszczyznowe przy użyciu rewersyjnej pompy ciepła to świetne rozwiązanie. Wymaga jednak ścisłej kontroli tzw. punktu rosy w ogrzewaniu podłogowym. Automatyka musi dbać o to, by zbyt niska temperatura wody (ok. 18°C) nie wywołała kondensacji wilgoci na posadzce."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#dataset-faq",
    "name": "Baza Wiedzy: Parametry Techniczne Podłogówki w Budownictwie Pasywnym",
    "description": "Zestawienie wytycznych instalacyjnych obejmujące ogrzewanie, chłodzenie i współpracę z rekuperatorem.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podłogówka jedyne źródło ciepła zimą",
      "jaką rurę do ogrzewania podłogowego wybrać",
      "bariera antydyfuzyjna EVOH",
      "panele winylowe SPC na podłogówkę",
      "wpływ rekuperacji na ogrzewanie podłogowe",
      "chłodzenie płaszczyznowe podłogówką pompą ciepła",
      "punkt rosy w ogrzewaniu podłogowym"
    ],
    "measurementTechnique": "Weryfikacja parametrów projektowych OZC, wymagań dyfuzyjnych normy DIN 4726, oporu cieplnego R < 0,15 m2K/W oraz kontroli punktu kondensacji pary wodnej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wydajność: Samodzielne pokrycie OZC przy mrozach -20°C.",
        "Technologia rur: PERT vs PEX z warunkiem szczelności tlenowej EVOH.",
        "Rezystancja: Limit izolacyjności podłogi do 0,15 m2K/W.",
        "Efektywność: Obniżenie OZC przez odzysk ciepła z wentylacji.",
        "Chłodzenie: Ochrona okładziny przed wilgocią poprzez kontrolę punktu rosy."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#webapp-faq",
    "name": "Interaktywny Przewodnik Techniczny (FAQ HVAC)",
    "description": "Aplikacja webowa typu akordeon, wzbogacona o dynamicznie renderowane grafiki wektorowe SVG, służąca do edukacji inwestorów w zakresie projektowania nowoczesnych instalacji HVAC.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-faq-container" id="faq-interactive-app">
    
    <div class="rk-faq-header">
        <h2>Sekcja FAQ – Najczęstsze pytania inwestorów</h2>
        <p>Wątpliwości na etapie stanu surowego to norma. Zobacz, jak inżynieria HVAC odpowiada na 5 najważniejszych pytań dotyczących standardu pasywnego.</p>
    </div>

    <div class="rk-faq-body">
        
        <!-- Pytanie 1 -->
        <div class="rk-accordion-item">
            <button class="rk-accordion-btn" aria-expanded="false">
                <span class="rk-accordion-title">Czy ogrzewanie podłogowe w domu pasywnym może być jedynym źródłem ciepła?</span>
                <div class="rk-accordion-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
                </div>
            </button>
            <div class="rk-accordion-content-wrapper">
                <div class="rk-accordion-content">
                    <div class="rk-accordion-inner">
                        <p class="rk-faq-text">
                            Absolutnie tak. Kluczem do sukcesu jest profesjonalnie wyliczone <strong><a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne (OZC)</a></strong>. W domach o ekstremalnie niskim zapotrzebowaniu energetycznym (często poniżej 15 kWh na m2 rocznie), prawidłowo zaprojektowana <strong>instalacja ogrzewania płaszczyznowego</strong> bez problemu pokryje straty budynku, nawet gdy temperatura na zewnątrz spada poniżej -20°C. Podłogówka eliminuje konieczność montowania dodatkowych grzejników czy mat elektrycznych, co znacząco obniża koszty inwestycyjne.
                        </p>
                        <div class="rk-faq-svg-box">
                            <svg class="rk-faq-svg" viewBox="0 0 100 100">
                                <path d="M10 80 L 90 80" stroke="#cbd5e1" stroke-width="4" stroke-linecap="round"/>
                                <circle cx="30" cy="70" r="6" fill="#ef4444"/>
                                <circle cx="50" cy="70" r="6" fill="#ef4444"/>
                                <circle cx="70" cy="70" r="6" fill="#ef4444"/>
                                <!-- Animowana łuna ciepła -->
                                <path class="anim-heat-glow" d="M 20 60 Q 50 10 80 60" fill="none" stroke="#f59e0b" stroke-width="4" stroke-linecap="round"/>
                            </svg>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <!-- Pytanie 2 -->
        <div class="rk-accordion-item">
            <button class="rk-accordion-btn" aria-expanded="false">
                <span class="rk-accordion-title">Jaką rurę do ogrzewania podłogowego wybrać: PEX czy PERT?</span>
                <div class="rk-accordion-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
                </div>
            </button>
            <div class="rk-accordion-content-wrapper">
                <div class="rk-accordion-content">
                    <div class="rk-accordion-inner">
                        <p class="rk-faq-text">
                            W przypadku domów pasywnych, gdzie zasilanie oscyluje wokół 28-32°C, <strong><a href="https://projekt-ogrzewania.pl/rura-pert-do-ogrzewania-podlogowego/">rura wielowarstwowa PERT/AL/PERT</a></strong> jest wyborem optymalnym. Jej największą zaletą jest wysoka elastyczność i łatwość układania gęstych pętli w porównaniu do sztywniejszych rur <strong><a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">PEX/AL/PEX</a></strong>. Najważniejszym parametrem, na który musisz zwrócić uwagę przed zakupem, jest obecność bariery antydyfuzyjnej EVOH. Zgodnie z normą <strong><a href="https://projekt-ogrzewania.pl/norma-din-4726-w-ogrzewaniu-podlogowym/">DIN 4726</a></strong>, warstwa ta skutecznie blokuje przenikanie cząsteczek tlenu do zładu wody, chroniąc pompę ciepła i stalowe rozdzielacze przed korozją.
                        </p>
                        <div class="rk-faq-svg-box">
                            <svg class="rk-faq-svg" viewBox="0 0 100 100">
                                <!-- Warstwy rury -->
                                <circle cx="50" cy="50" r="30" fill="none" stroke="#cbd5e1" stroke-width="6"/>
                                <circle cx="50" cy="50" r="24" fill="none" stroke="#94a3b8" stroke-width="4"/>
                                <circle cx="50" cy="50" r="20" fill="none" stroke="#10b981" stroke-width="4" class="anim-evoh"/>
                                <circle cx="50" cy="50" r="16" fill="none" stroke="#e2e8f0" stroke-width="4"/>
                                <text x="50" y="54" font-size="10" font-weight="bold" fill="#0f172a" text-anchor="middle">O2 STOP</text>
                            </svg>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <!-- Pytanie 3 -->
        <div class="rk-accordion-item">
            <button class="rk-accordion-btn" aria-expanded="false">
                <span class="rk-accordion-title">Czy można kłaść panele na ogrzewanie podłogowe w domu pasywnym?</span>
                <div class="rk-accordion-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
                </div>
            </button>
            <div class="rk-accordion-content-wrapper">
                <div class="rk-accordion-content">
                    <div class="rk-accordion-inner">
                        <p class="rk-faq-text">
                            Oczywiście, ale wymaga to ogromnej precyzji projektowej. Zgodnie z inżynierskimi wytycznymi, całkowity <strong><a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">opór cieplny okładziny (R)</a></strong> (czyli suma oporu paneli i podkładu) nie może przekraczać 0,15 (m2·K)/W. W praktyce instalatorskiej najlepiej sprawdzają się cienkie <strong>panele winylowe SPC na podłogówkę</strong> oraz dedykowane podkłady mineralne o wysokiej gęstości. Pamiętaj, że <strong><a href="https://projekt-ogrzewania.pl/czy-pod-ogrzewanie-podlogowe-nadaja-sie-panele-czy-tylko-plytki/">zastosowanie grubych paneli laminowanych</a></strong> wymusi podniesienie krzywej grzewczej na piecu o około 2 do 3°C względem płytek gresowych.
                        </p>
                        <div class="rk-faq-svg-box">
                            <svg class="rk-faq-svg" viewBox="0 0 100 100">
                                <!-- Beton z rurą -->
                                <rect x="10" y="70" width="80" height="20" fill="#cbd5e1" rx="2"/>
                                <circle cx="50" cy="80" r="5" fill="#ef4444"/>
                                <!-- Podkład i Panel -->
                                <g class="anim-panel">
                                    <rect x="10" y="55" width="80" height="6" fill="#f59e0b" opacity="0.8"/>
                                    <rect x="10" y="40" width="80" height="10" fill="#8b5cf6" rx="1"/>
                                    <path d="M 50 35 L 50 15 M 45 20 L 50 15 L 55 20" stroke="#8b5cf6" stroke-width="2" fill="none"/>
                                </g>
                            </svg>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <!-- Pytanie 4 -->
        <div class="rk-accordion-item">
            <button class="rk-accordion-btn" aria-expanded="false">
                <span class="rk-accordion-title">Jak wentylacja z rekuperacją współpracuje z podłogówką?</span>
                <div class="rk-accordion-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
                </div>
            </button>
            <div class="rk-accordion-content-wrapper">
                <div class="rk-accordion-content">
                    <div class="rk-accordion-inner">
                        <p class="rk-faq-text">
                            W budownictwie pasywnym <strong>wentylacja mechaniczna z odzyskiem ciepła (rekuperacja)</strong> jest systemem nierozerwalnie związanym z niskotemperaturowym ogrzewaniem. Eliminując potężne grawitacyjne straty ciepła (tzw. wywiewanie ciepłego powietrza przez komin), rekuperator drastycznie obniża zapotrzebowanie budynku. Pozytywny <strong><a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/">wpływ rekuperacji na ogrzewanie podłogowe</a></strong> polega na tym, że instalacja grzewcza może pracować stabilnie na bardzo niskich parametrach zasilania, co bezpośrednio maksymalizuje wydajność (COP) pompy ciepła.
                        </p>
                        <div class="rk-faq-svg-box">
                            <svg class="rk-faq-svg" viewBox="0 0 100 100">
                                <!-- Wymiennik -->
                                <polygon points="50,20 80,50 50,80 20,50" fill="none" stroke="#94a3b8" stroke-width="3"/>
                                <!-- Przepływ zimnego -> gorącego -->
                                <path class="anim-reku-arrow" d="M 20 50 L 80 50" stroke="#ef4444" stroke-width="4" stroke-linecap="round" stroke-dasharray="5 5"/>
                                <!-- Przepływ zużytego -> zimnego -->
                                <path class="anim-reku-arrow" d="M 50 20 L 50 80" stroke="#3b82f6" stroke-width="4" stroke-linecap="round" stroke-dasharray="5 5"/>
                            </svg>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <!-- Pytanie 5 -->
        <div class="rk-accordion-item">
            <button class="rk-accordion-btn" aria-expanded="false">
                <span class="rk-accordion-title">Czy ogrzewaniem podłogowym można skutecznie chłodzić dom latem?</span>
                <div class="rk-accordion-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
                </div>
            </button>
            <div class="rk-accordion-content-wrapper">
                <div class="rk-accordion-content">
                    <div class="rk-accordion-inner">
                        <p class="rk-faq-text">
                            Tak, <strong>chłodzenie płaszczyznowe podłogówką</strong> przy użyciu rewersyjnej pompy ciepła to doskonałe, darmowe źródło komfortu na upalne dni. Instalacja tłoczy wtedy w posadzkę wodę o temperaturze około 18-20°C. Głównym wyzwaniem inżynieryjnym jest jednak ominięcie <strong><a href="https://projekt-ogrzewania.pl/punkt-rosy-w-ogrzewaniu-podlogowym-jak-bezpiecznie-chlodzic-dom-bez-ryzyka-kondensacji/">punktu rosy w ogrzewaniu podłogowym</a></strong>. Zbyt niska temperatura czynnika doprowadzi do kondensacji i wytrącenia się kropel wody na posadzce. Wymaga to integracji odpowiednich termostatów ściennych z czujnikami wilgotności.
                        </p>
                        <div class="rk-faq-svg-box">
                            <svg class="rk-faq-svg" viewBox="0 0 100 100">
                                <rect x="10" y="80" width="80" height="10" fill="#cbd5e1" rx="2"/>
                                <circle cx="50" cy="85" r="3" fill="#3b82f6"/> <!-- Zimna woda -->
                                <!-- Płatek śniegu obracający się -->
                                <g class="anim-flake" stroke="#3b82f6" stroke-width="2" stroke-linecap="round">
                                    <line x1="50" y1="20" x2="50" y2="60" />
                                    <line x1="30" y1="40" x2="70" y2="40" />
                                    <line x1="35" y1="25" x2="65" y2="55" />
                                    <line x1="35" y1="55" x2="65" y2="25" />
                                </g>
                            </svg>
                        </div>
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe bez użycia H-tagów
    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('faq-interactive-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 30px; text-align: center; background: #0f172a; border: 2px solid #0284c7; border-radius: 16px; font-family: monospace;">
                    <div style="font-size: 32px; margin-bottom: 15px; color: #0284c7;">[ MODULE LOCKED ]</div>
                    <div style="font-size: 14px; font-weight: bold; color: #cbd5e1; margin-bottom: 10px;">
                        Autoryzacja domeny nie powiodła się.
                    </div>
                    <div style="color: #64748b; font-size: 12px; line-height: 1.5;">
                        Aplikacja interaktywnego FAQ jest przypisana do licencji Projekt-Ogrzewania.pl.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Akordeonu (Z jednym otwartym na raz)
    const accordionItems = document.querySelectorAll('.rk-accordion-item');

    accordionItems.forEach(item => {
        const btn = item.querySelector('.rk-accordion-btn');
        
        btn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            // Zamknij inne
            accordionItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.rk-accordion-btn').setAttribute('aria-expanded', 'false');
            });

            // Przełącz
            if (!isActive) {
                item.classList.add('active');
                btn.setAttribute('aria-expanded', 'true');
            }
        });
    });

    // Otwarcie pierwszego
    if(accordionItems.length > 0) {
        accordionItems[0].classList.add('active');
        accordionItems[0].querySelector('.rk-accordion-btn').setAttribute('aria-expanded', 'true');
    }
});
</script>



<style>
:root {
    --rk-pas-dark: #0f172a;
    --rk-pas-brand: #2563eb;
    --rk-pas-brand-light: #eff6ff;
    --rk-pas-eco: #059669;
    --rk-pas-eco-light: #ecfdf5;
    --rk-pas-warn: #dc2626;
    --rk-pas-warn-light: #fef2f2;
    --rk-pas-text: #334155;
    --rk-pas-border: #cbd5e1;
    --rk-pas-bg: #ffffff;
}

.rk-pas-container {
    max-width: 900px;
    margin: 50px auto;
    font-family: 'Inter', system-ui, sans-serif;
    background: var(--rk-pas-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(37, 99, 235, 0.1);
    border: 1px solid #e2e8f0;
    overflow: hidden;
}

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

.rk-pas-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #f8fafc;
    line-height: 1.3;
}

.rk-pas-quote {
    font-size: 18px;
    font-style: italic;
    color: #94a3b8;
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
}

.rk-pas-quote strong {
    color: #38bdf8;
    font-weight: 700;
}

/* Interfejs Przełącznika */
.rk-pas-interactive {
    padding: 40px 30px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-pas-border);
}

.rk-pas-controls {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}

.rk-pas-controls h3 {
    margin: 0;
    font-size: 20px;
    color: var(--rk-pas-dark);
}

/* Toggle Switch w stylu App */
.rk-toggle-wrapper {
    display: flex;
    align-items: center;
    gap: 15px;
    background: #fff;
    padding: 10px 20px;
    border-radius: 99px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
    border: 1px solid var(--rk-pas-border);
}

.rk-toggle-label {
    font-weight: 700;
    font-size: 15px;
    color: #64748b;
    transition: color 0.3s;
}

.rk-toggle-label.active-warn { color: var(--rk-pas-warn); }
.rk-toggle-label.active-eco { color: var(--rk-pas-eco); }

.rk-switch {
    position: relative;
    width: 64px;
    height: 32px;
    background: var(--rk-pas-warn);
    border-radius: 32px;
    cursor: pointer;
    transition: background 0.4s;
}

.rk-switch.pro-mode {
    background: var(--rk-pas-eco);
}

.rk-switch-thumb {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 24px;
    height: 24px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.rk-switch.pro-mode .rk-switch-thumb {
    transform: translateX(32px);
}

/* Wyświetlacz i SVG */
.rk-pas-display {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: center;
    background: #fff;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
}

.rk-svg-stage {
    width: 100%;
    max-width: 250px;
    margin: 0 auto;
    display: block;
}

/* Animacje SVG */
.wave-path {
    fill: none;
    stroke-width: 4;
    stroke-linecap: round;
    transition: stroke 0.5s, transform 0.5s;
}

.state-error .wave-path { stroke: var(--rk-pas-warn); animation: overheat 0.8s infinite alternate; }
.state-pro .wave-path { stroke: var(--rk-pas-eco); animation: stableHeat 3s infinite linear; }

@keyframes overheat {
    0% { transform: translateY(0) scaleY(1); opacity: 0.8; }
    100% { transform: translateY(-10px) scaleY(1.2); opacity: 1; }
}

@keyframes stableHeat {
    0% { transform: translateY(0); opacity: 0.6; }
    50% { transform: translateY(-5px); opacity: 0.9; }
    100% { transform: translateY(0); opacity: 0.6; }
}

.house-outline {
    fill: none;
    stroke: var(--rk-pas-dark);
    stroke-width: 3;
    stroke-linejoin: round;
}

/* Kafelki Danych (Grid) */
.rk-data-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.rk-data-card {
    background: #f8fafc;
    border: 1px solid var(--rk-pas-border);
    padding: 15px;
    border-radius: 12px;
    text-align: center;
    transition: all 0.3s;
}

.rk-data-card h4 {
    margin: 0 0 5px 0;
    font-size: 13px;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-data-card .rk-value {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-pas-dark);
    margin-bottom: 5px;
}

.rk-data-card p {
    margin: 0;
    font-size: 12px;
    color: var(--rk-pas-text);
}

/* CTA */
.rk-pas-cta {
    padding: 40px 30px;
    text-align: center;
    background: #fff;
}

.rk-pas-cta p {
    font-size: 16px;
    color: var(--rk-pas-text);
    max-width: 650px;
    margin: 0 auto 25px;
    line-height: 1.6;
}

.rk-pas-cta a {
    color: var(--rk-pas-brand);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rk-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--rk-pas-brand);
    color: #ffffff !important; /* Wymuszony biały kolor tekstu i ikony */
    padding: 16px 32px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 16px;
    text-decoration: none !important;
    transition: all 0.3s;
    box-shadow: 0 10px 20px -5px rgba(37, 99, 235, 0.4);
}

.rk-btn:hover {
    background: #1d4ed8;
    color: #ffffff !important; /* Zabezpieczenie przed zmianą koloru po najechaniu */
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(37, 99, 235, 0.5);
}

@media (max-width: 768px) {
    .rk-pas-display { grid-template-columns: 1fr; text-align: center; }
    .rk-data-grid { grid-template-columns: 1fr; }
    .rk-toggle-wrapper { flex-direction: column; gap: 10px; border-radius: 16px; padding: 15px; }
    .rk-switch { transform: rotate(90deg); margin: 10px 0; }
    .rk-pas-header h2 { font-size: 24px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/"
    },
    "headline": "Podsumowanie: Precyzja to Twój największy zysk w budownictwie pasywnym",
    "description": "Zrozum różnicę między intuicyjnym montażem a precyzyjnym inżynierskim projektem instalacji grzewczej. Optymalizacja rozstawu rur i izolacji EPS 200.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-13",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#dataset",
    "name": "Porównanie Parametrów: System Pasywny vs Błędy Wykonawcze",
    "description": "Baza danych przedstawiająca realne skutki przewymiarowania instalacji podłogowej, w tym nadmierne temperatury zasilania i koszty eksploatacyjne.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego dom pasywny",
      "rozstaw rur 15 cm a 10 cm",
      "grubość styropianu EPS 200",
      "temperatura zasilania pompy ciepła",
      "obliczenia OZC dla podłogówki"
    ],
    "measurementTechnique": "Analiza symulacyjna oparta na normie PN-EN 12831 wykazująca różnice w temperaturze zasilania i stabilności cieplnej podłogi.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozstaw rur 10 cm: Powoduje nadmiar mocy, przegrzewanie i niepotrzebne koszty rur.",
        "Rozstaw rur 15-20 cm: Wymaga projektu, zapewnia niskie zasilanie (do 32°C) i stabilną pracę pompy ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#webapp",
    "name": "Interaktywny Symulator Komfortu Pasywnego",
    "description": "Narzędzie internetowe demonstrujące wpływ precyzyjnego inżynierskiego rozstawu rur i izolacji na parametry pracy instalacji ogrzewania podłogowego.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-pas-container" id="pasywny-sum-app">
    
    <div class="rk-pas-header">
        <h2>Efektywność wymaga inżynierskiej precyzji</h2>
        <p class="rk-pas-quote">
            W domu pasywnym instalacja grzewcza ma być niemal "niewidoczna" dla zmysłów i portfela. <strong>Zbyt gęsty rozstaw rur i wysoka temperatura zasilania to najszybsza droga do katastrofy termicznej.</strong>
        </p>
    </div>

    <div class="rk-pas-interactive">
        <div class="rk-pas-controls">
            <h3>Sprawdź wpływ projektu na działanie instalacji</h3>
            <div class="rk-toggle-wrapper">
                <span class="rk-toggle-label active-warn" id="lbl-amateur">Wykonawstwo "Na oko"</span>
                <div class="rk-switch" id="pas-toggle">
                    <div class="rk-switch-thumb"></div>
                </div>
                <span class="rk-toggle-label" id="lbl-pro">Projekt Inżynierski (OZC)</span>
            </div>
        </div>

        <div class="rk-pas-display">
            <!-- Animacja SVG -->
            <div class="rk-svg-container state-error" id="svg-state">
                <svg class="rk-svg-stage" viewBox="0 0 200 200">
                    <!-- Podstawa / Wylewka -->
                    <rect x="20" y="160" width="160" height="20" fill="#cbd5e1" rx="4"/>
                    <!-- Rury (dynamiczne wypełnienie w JS) -->
                    <g id="svg-pipes">
                        <circle cx="50" cy="170" r="6" fill="#ef4444"/>
                        <circle cx="80" cy="170" r="6" fill="#ef4444"/>
                        <circle cx="110" cy="170" r="6" fill="#ef4444"/>
                        <circle cx="140" cy="170" r="6" fill="#ef4444"/>
                    </g>
                    <!-- Fale Ciepła -->
                    <path class="wave-path" d="M 50 140 Q 60 100 50 60" />
                    <path class="wave-path" d="M 100 140 Q 110 100 100 60" style="animation-delay: 0.2s" />
                    <path class="wave-path" d="M 150 140 Q 160 100 150 60" style="animation-delay: 0.4s" />
                    <!-- Zarys Domu -->
                    <path class="house-outline" d="M 20 160 L 20 80 L 100 20 L 180 80 L 180 160" />
                </svg>
            </div>

            <!-- Dynamiczne Dane -->
            <div class="rk-data-grid">
                <div class="rk-data-card" id="card-spacing">
                    <h4>Rozstaw Rur</h4>
                    <div class="rk-value" style="color: var(--rk-pas-warn);">co 10 cm</div>
                    <p>Zbędny wydatek na materiał, trudne rotametrowanie.</p>
                </div>
                <div class="rk-data-card" id="card-temp">
                    <h4>Temp. Zasilania</h4>
                    <div class="rk-value" style="color: var(--rk-pas-warn);">> 40°C</div>
                    <p>Spadek COP pompy ciepła, przegrzewanie salonu.</p>
                </div>
                <div class="rk-data-card" id="card-eps">
                    <h4>Izolacja Posadzki</h4>
                    <div class="rk-value" style="color: var(--rk-pas-warn);">EPS 100</div>
                    <p>Niewystarczający opór cieplny do gruntu.</p>
                </div>
                <div class="rk-data-card" id="card-cost">
                    <h4>Koszty Roczne</h4>
                    <div class="rk-value" style="color: var(--rk-pas-warn);">Wyższe o 35%</div>
                    <p>Energia tracona przez niestabilność układu.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-pas-cta">
        <p>
            Decyzja o <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">rozstawie rur co 10 czy 15 cm</a> oraz doborze grubości <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">styropianu EPS podłogowego</a> nie może być dziełem przypadku. W standardzie pasywnym nawet <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/">niska temperatura zasilania (rzędu 30-35°C)</a> wymaga idealnego zbilansowania w dokumentacji.
        </p>
        <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/" class="rk-btn">
            ZAMÓW PROJEKT OGRZEWANIA DO DOMU PASYWNEGO
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
        </a>
    </div>

</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Anti-Theft)
    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('pasywny-sum-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 20px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 20px;">🛡️</div>
                    <div style="font-size: 20px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Ochrona Własności Intelektualnej</div>
                    <div style="font-size: 15px; color: #cbd5e1; max-width: 550px; margin: 0 auto; line-height: 1.6;">
                        Kontener interaktywny i warstwa JSON-LD należą do portalu Projekt-Ogrzewania.pl. Uruchomienie skryptu na tej domenie zostało zablokowane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora (Toggle)
    const toggle = document.getElementById('pas-toggle');
    const lblAmateur = document.getElementById('lbl-amateur');
    const lblPro = document.getElementById('lbl-pro');
    const svgState = document.getElementById('svg-state');
    const svgPipes = document.getElementById('svg-pipes');
    
    // Kafelki
    const cardSpacing = document.getElementById('card-spacing');
    const cardTemp = document.getElementById('card-temp');
    const cardEps = document.getElementById('card-eps');
    const cardCost = document.getElementById('card-cost');

    let isPro = false;

    toggle.addEventListener('click', () => {
        isPro = !isPro;
        
        if(isPro) {
            // Styl przełącznika
            toggle.classList.add('pro-mode');
            lblAmateur.classList.remove('active-warn');
            lblPro.classList.add('active-eco');
            
            // Styl SVG
            svgState.classList.remove('state-error');
            svgState.classList.add('state-pro');
            svgPipes.innerHTML = `
                <circle cx="60" cy="170" r="6" fill="#059669"/>
                <circle cx="100" cy="170" r="6" fill="#059669"/>
                <circle cx="140" cy="170" r="6" fill="#059669"/>
            `; // 3 rury zamiast 4 (szerszy rozstaw)

            // Aktualizacja Danych
            updateCard(cardSpacing, 'co 15-20 cm', 'var(--rk-pas-eco)', 'Idealny balans zysków ciepła i oporów.');
            updateCard(cardTemp, '28°C - 32°C', 'var(--rk-pas-eco)', 'Optymalny COP dla pomp ciepła i komfortu.');
            updateCard(cardEps, 'EPS 200', 'var(--rk-pas-eco)', 'Minimalne straty do gruntu (R > 6,0).');
            updateCard(cardCost, 'Zoptymalizowane', 'var(--rk-pas-eco)', 'Grzanie ciągłe, bez zjawiska taktowania sprężarki.');
            
        } else {
            // Styl przełącznika
            toggle.classList.remove('pro-mode');
            lblPro.classList.remove('active-eco');
            lblAmateur.classList.add('active-warn');

            // Styl SVG
            svgState.classList.remove('state-pro');
            svgState.classList.add('state-error');
            svgPipes.innerHTML = `
                <circle cx="50" cy="170" r="6" fill="#ef4444"/>
                <circle cx="80" cy="170" r="6" fill="#ef4444"/>
                <circle cx="110" cy="170" r="6" fill="#ef4444"/>
                <circle cx="140" cy="170" r="6" fill="#ef4444"/>
            `; // 4 rury (gęsty rozstaw)

            // Aktualizacja Danych
            updateCard(cardSpacing, 'co 10 cm', 'var(--rk-pas-warn)', 'Zbędny wydatek na materiał, trudne rotametrowanie.');
            updateCard(cardTemp, '> 40°C', 'var(--rk-pas-warn)', 'Spadek COP pompy ciepła, przegrzewanie salonu.');
            updateCard(cardEps, 'EPS 100', 'var(--rk-pas-warn)', 'Niewystarczający opór cieplny do gruntu.');
            updateCard(cardCost, 'Wyższe o 35%', 'var(--rk-pas-warn)', 'Energia tracona przez niestabilność układu.');
        }
    });

    function updateCard(card, valueText, color, descText) {
        const valElement = card.querySelector('.rk-value');
        const descElement = card.querySelector('p');
        
        valElement.style.opacity = '0';
        descElement.style.opacity = '0';
        
        setTimeout(() => {
            valElement.textContent = valueText;
            valElement.style.color = color;
            descElement.textContent = descText;
            
            valElement.style.opacity = '1';
            descElement.style.opacity = '1';
        }, 150);
    }
});
</script>



<style>
:root {
    --dl-pas-primary: #0f172a;
    --dl-pas-accent: #10b981; /* Szmaragdowa zieleń - Eco/Pasywny */
    --dl-pas-accent-dark: #047857;
    --dl-pas-bg: #f8fafc;
    --dl-pas-border: #e2e8f0;
    --dl-pas-text: #334155;
    --dl-pas-white: #ffffff;
    --dl-pas-muted: #64748b;
}

.rk-pas-dl-container {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--dl-pas-white);
    border-radius: 24px;
    border: 1px solid var(--dl-pas-border);
    box-shadow: 0 25px 50px -12px rgba(16, 185, 129, 0.15);
    overflow: hidden;
    box-sizing: border-box;
}

.rk-pas-dl-container * {
    box-sizing: inherit;
}

/* NAGŁÓWEK SEKCI */
.dl-pas-header {
    background: linear-gradient(135deg, var(--dl-pas-primary) 0%, #1e293b 100%);
    padding: 45px 50px;
    color: var(--dl-pas-white);
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    overflow: hidden;
}

/* Subtelny wzór geometryczny w tle nagłówka */
.dl-pas-header::before {
    content: '';
    position: absolute;
    top: -50%; right: -10%;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(16, 185, 129, 0.15) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.dl-pas-header-content { position: relative; z-index: 2; max-width: 65%; }

.dl-pas-badge {
    display: inline-block;
    background: rgba(16, 185, 129, 0.2);
    border: 1px solid rgba(16, 185, 129, 0.4);
    color: #6ee7b7;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.dl-pas-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 12px 0;
    line-height: 1.2;
    letter-spacing: -0.5px;
}

.dl-pas-header p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.6;
}

/* WIZUALIZACJA PDF / IKONA */
.dl-pas-header-visual {
    position: relative;
    z-index: 2;
}

.dl-pas-pdf-icon {
    width: 90px;
    height: auto;
    filter: drop-shadow(0 15px 25px rgba(0,0,0,0.4));
    animation: floatPasIcon 3.5s infinite ease-in-out alternate;
}

@keyframes floatPasIcon {
    from { transform: translateY(0) rotate(0deg); }
    to { transform: translateY(-12px) rotate(-3deg); }
}

/* GŁÓWNY WORKSPACE */
.dl-pas-workspace {
    display: flex;
    padding: 40px 50px;
    gap: 40px;
    background: var(--dl-pas-white);
    align-items: center;
}

.dl-pas-preview {
    flex: 1;
    background: var(--dl-pas-bg);
    border: 1px solid var(--dl-pas-border);
    border-radius: 16px;
    padding: 12px;
    position: relative;
    cursor: zoom-in;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s;
}

.dl-pas-preview:hover {
    transform: scale(1.03) translateY(-5px);
    box-shadow: 0 20px 30px -10px rgba(16, 185, 129, 0.15);
}

.dl-pas-img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.dl-pas-zoom-hint {
    position: absolute;
    bottom: 25px;
    right: 25px;
    background: rgba(15, 23, 42, 0.85);
    color: white;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    gap: 6px;
    pointer-events: none;
}

.dl-pas-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dl-pas-list {
    list-style: none;
    padding: 0;
    margin: 0 0 35px 0;
}

.dl-pas-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
    font-size: 15px;
    font-weight: 600;
    color: var(--dl-pas-text);
    line-height: 1.5;
}

.dl-pas-check {
    width: 22px;
    height: 22px;
    color: var(--dl-pas-accent);
    flex-shrink: 0;
    margin-top: 2px;
}

/* PRZYCISK POBIERANIA */
.dl-pas-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--dl-pas-accent);
    color: var(--dl-pas-white) !important;
    text-decoration: none !important;
    padding: 18px 32px;
    border-radius: 14px;
    font-weight: 800;
    font-size: 16px;
    transition: all 0.3s;
    box-shadow: 0 10px 20px -5px rgba(16, 185, 129, 0.4);
    border: 2px solid transparent;
}

.dl-pas-btn:hover {
    background: var(--dl-pas-accent-dark);
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(16, 185, 129, 0.6);
    border-color: #6ee7b7;
}

.dl-pas-btn svg {
    transition: transform 0.3s;
}

.dl-pas-btn:hover svg {
    transform: translateY(3px);
}

/* STOPKA MODUŁU I SEO */
.dl-pas-footer {
    padding: 25px 50px;
    background: var(--dl-pas-bg);
    border-top: 1px solid var(--dl-pas-border);
}

.dl-pas-seo-text {
    font-size: 14px;
    color: var(--dl-pas-muted);
    line-height: 1.6;
    margin: 0 0 15px 0;
}

.dl-pas-seo-text strong {
    color: var(--dl-pas-primary);
}

.dl-pas-footer a {
    color: var(--dl-pas-accent-dark);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.3s;
}

.dl-pas-footer a:hover {
    border-color: var(--dl-pas-accent-dark);
}

.dl-pas-copyright {
    font-size: 12px;
    color: #94a3b8;
    text-align: center;
    margin: 0;
    padding-top: 15px;
    border-top: 1px dashed #cbd5e1;
}

@media (max-width: 800px) {
    .dl-pas-header { flex-direction: column; text-align: center; padding: 35px 25px; }
    .dl-pas-header-content { max-width: 100%; margin-bottom: 30px; }
    .dl-pas-workspace { flex-direction: column; padding: 35px 25px; gap: 30px; }
    .dl-pas-footer { padding: 25px; }
    .dl-pas-btn { width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/"
    },
    "headline": "Jak osiągnąć maksymalną efektywność energetyczną? Infografika dla domów pasywnych",
    "description": "Pobierz inżynierski schemat projektowania ogrzewania podłogowego. Dowiedz się, jak połączyć rekuperację z pompą ciepła i zredukować zużycie energii o 90%.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Projektowanie-ogrzewania-podlogowego-w-domach-pasywnych.webp",
    "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",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-13",
    "dateModified": "2026-05-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#dataset-pasywny",
    "name": "Parametry techniczne ogrzewania w standardzie pasywnym",
    "description": "Zestawienie zużycia energii, optymalnych temperatur zasilania pompy ciepła oraz krytycznych błędów projektowych w budownictwie pasywnym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zapotrzebowanie na energię w domu pasywnym",
      "temperatura zasilania pompy ciepła w domu pasywnym",
      "współpraca podłogówki z rekuperacją",
      "błędy w projektowaniu ogrzewania podłogowego",
      "temperatura podłogi norma"
    ],
    "measurementTechnique": "Analiza porównawcza zużycia energii (kWh/m²) dla domów tradycyjnych i pasywnych oraz kalibracja krzywej grzewczej pompy ciepła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zapotrzebowanie energetyczne: Spadek z 80-120 kWh/m² do 5-15 kWh/m² rocznie.",
        "Parametry zasilania: Optymalny zakres 26-32°C dla maksymalnego COP pompy ciepła.",
        "Krytyczne błędy: Przewymiarowanie mocy pompy, słaba izolacja krawędziowa, brak bilansu cieplnego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/#download-hub-pasywny",
    "name": "Centrum Pobierania: Standard Pasywny",
    "description": "Interaktywny moduł pozwalający na podgląd w wysokiej rozdzielczości oraz pobranie technicznej infografiki w formacie PDF.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-pas-dl-container" id="app-pas-dl">
    
    <div class="dl-pas-header">
        <div class="dl-pas-header-content">
            <div class="dl-pas-badge">Kompendium Inżynierskie</div>
            <h2>Ogrzewanie w Domu Pasywnym</h2>
            <p>Pobierz autorską infografikę i uniknij najdroższych błędów instalacyjnych. Poznaj parametry, które redukują koszty eksploatacji nawet o 90%.</p>
        </div>
        <div class="dl-pas-header-visual">
            <svg class="dl-pas-pdf-icon" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M14 2H6C4.89543 2 4 2.89543 4 4V20C4 21.1046 4.89543 22 6 22H18C19.1046 22 20 21.1046 20 20V8L14 2Z" fill="#10b981" stroke="#ffffff" stroke-width="1.5"/>
                <path d="M14 2V8H20" fill="#6ee7b7" stroke="#ffffff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
                <text x="6.5" y="17" fill="white" font-size="6" font-weight="900" font-family="sans-serif">PDF</text>
            </svg>
        </div>
    </div>

    <div class="dl-pas-workspace">
        
        <div class="dl-pas-preview" onclick="window.open('https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Projektowanie-ogrzewania-podlogowego-w-domach-pasywnych.webp', '_blank')" role="button" aria-label="Powiększ infografikę">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Projektowanie-ogrzewania-podlogowego-w-domach-pasywnych.webp" alt="Infografika: Projektowanie ogrzewania podłogowego w domach pasywnych" class="dl-pas-img" loading="lazy">
            <div class="dl-pas-zoom-hint">
                <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                Powiększ grafikę
            </div>
        </div>

        <div class="dl-pas-info">
            <ul class="dl-pas-list">
                <li class="dl-pas-item">
                    <svg class="dl-pas-check" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    <span>Analiza porównawcza zużycia energii: <strong>Dom Tradycyjny vs Pasywny</strong>.</span>
                </li>
                <li class="dl-pas-item">
                    <svg class="dl-pas-check" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    <span>Zestawienie optymalnych temperatur (zasilanie: 26-32°C).</span>
                </li>
                <li class="dl-pas-item">
                    <svg class="dl-pas-check" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    <span>Czarna lista: <strong>Krytyczne błędy</strong> (taktowanie pompy, słaba izolacja).</span>
                </li>
                <li class="dl-pas-item">
                    <svg class="dl-pas-check" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    <span>Wpływ rekuperacji na obniżenie kosztów eksploatacji.</span>
                </li>
            </ul>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Projektowanie-ogrzewania-podlogowego-w-domach-pasywnych.pdf" class="dl-pas-btn" target="_blank" rel="noopener">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
                POBIERZ INFOGRAFIKĘ (PDF)
            </a>
        </div>

    </div>

    <div class="dl-pas-footer">
        <p class="dl-pas-seo-text">
            Inwestorzy planujący nowoczesną budowę często pytają, jak wyeliminować błędy u samego źródła. Nasza infografika pokazuje, jak prawidłowo zestawić <strong>niskie zapotrzebowanie na energię w domu pasywnym</strong> (zaledwie 5-15 kWh/m² rocznie) z precyzyjną pracą systemu grzewczego. Dowiesz się z niej, dlaczego <strong>temperatura zasilania pompy ciepła w domu pasywnym</strong> nie powinna przekraczać 32°C oraz jak niezbędna jest <strong>współpraca podłogówki z rekuperacją</strong>.
        </p>
        <p class="dl-pas-seo-text">
            Chcesz uniknąć ryzyka, że Twoja pompa ciepła będzie ulegać taktowaniu? Zadbaj o precyzję przed rozpoczęciem prac. <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zleć profesjonalny projekt OZC i ogrzewania podłogowego</a> naszym inżynierom.
        </p>
        <p class="dl-pas-copyright">
            © 2026 Projekt-Ogrzewania.pl | Udostępnianie materiałów edukacyjnych dozwolone z zachowaniem linku do źródła.
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OCHRONA DOMENOWA (Brak nagłówków H-tag w alercie) ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowed.includes(domain)) {
        const container = document.getElementById('app-pas-dl');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fef2f2; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 10px;">🔒</div>
                    <div style="font-size: 18px; font-weight: 900; color: #991b1b; margin-bottom: 10px; text-transform: uppercase;">Odmowa Dostępu</div>
                    <p style="color: #b91c1c; font-size: 14px; margin: 0; line-height: 1.5;">Moduł "Centrum Pobierania" oraz załączone pliki PDF są własnością intelektualną Projekt-Ogrzewania.pl. Uruchomienie na nieautoryzowanej domenie zostało zablokowane.</p>
                </div>
            `;
        }
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projektowanie-ogrzewania-podlogowego-w-domach-pasywnych/">Projektowanie ogrzewania podłogowego w domach pasywnych.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Instalacja ogrzewania podłogowego w układzie ślimakowym.</title>
		<link>https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-slimakowym/</link>
					<comments>https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-slimakowym/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 21 Feb 2025 10:53:02 +0000</pubDate>
				<category><![CDATA[Domowe systemy grzewcze]]></category>
		<category><![CDATA[Instalacja ogrzewania podłogowego]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Montaż instalacji grzewczych]]></category>
		<category><![CDATA[Niskotemperaturowe systemy grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Porady budowlane]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Systemy grzewcze]]></category>
		<category><![CDATA[Układ ślimakowy]]></category>
		<category><![CDATA[Układanie rur grzewczych]]></category>
		<category><![CDATA[energia w domu]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[montaż ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[poradnik DIY]]></category>
		<category><![CDATA[projektowanie ogrzewania]]></category>
		<category><![CDATA[remont domu]]></category>
		<category><![CDATA[równomierne ciepło]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<category><![CDATA[układ ślimakowy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2270</guid>

					<description><![CDATA[<p>Planujesz montaż ogrzewania podłogowego i zastanawiasz się, jaki układ rur wybrać? Ogrzewanie podłogowe w układzie ślimakowym to sprawdzony sposób na równomierne rozprowadzenie ciepła w całym pomieszczeniu. W artykule krok po kroku wyjaśniamy, jak zaplanować i zamontować ten system, aby uniknąć błędów i cieszyć się komfortem cieplnym przez lata. Dowiesz się, jak obliczyć moc grzewczą, dobrać rozstaw rur i przeprowadzić test ciśnieniowy. Sprawdź, dlaczego układ spiralny jest tak popularny!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-slimakowym/">Instalacja ogrzewania podłogowego w układzie ślimakowym.</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 układzie ślimakowym to jedna z najskuteczniejszych metod zapewniających równomierną dystrybucję ciepła w pomieszczeniu. Ten system, zwany również spiralnym, eliminuje problem „zimnych stref” i optymalizuje zużycie energii. W artykule pokażemy, jak zaplanować i zamontować <strong>instalację ogrzewania podłogowego w układzie ślimakowym</strong> krok po kroku, uwzględniając kluczowe aspekty techniczne oraz praktyczne przykłady.</p>



<h2 class="wp-block-heading">Dlaczego wariant ułożenia ślimak? Zalety i podstawowe zasady</h2>



<h3 class="wp-block-heading"><em>Równomierne nagrzewanie podłogi</em>.</h3>



<p class="wp-block-paragraph">W układzie ślimakowym rury <strong>zasilające</strong> i <strong>powrotne</strong> biegną równolegle, co oznacza, że ciepła i chłodniejsza woda krążą obok siebie. Dzięki temu temperatura podłogi jest spójna na całej powierzchni, a różnice między poszczególnymi strefami nie przekraczają 1–2°C.</p>



<h3 class="wp-block-heading"><em>Optymalizacja hydrauliczna</em>.</h3>



<p class="wp-block-paragraph">System spiralny redukuje opory przepływu, co przekłada się na niższe zużycie energii przez pompę obiegową. To szczególnie ważne w dużych domach, gdzie różnica długości pętli mogłaby zaburzyć równowagę instalacji.</p>



<h3 class="wp-block-heading"><em>Elastyczność w projektowaniu</em>.</h3>



<p class="wp-block-paragraph">Ślimak sprawdza się zarówno w prostokątnych salonach, jak i pomieszczeniach o nieregularnych kształtach (np. łazienkach z wnękami). Można go łatwo dostosować do stref o większym zapotrzebowaniu na ciepło, takich jak okna czy drzwi balkonowe.</p>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego: Od czego zacząć?</h2>



<h3 class="wp-block-heading"><em>Obliczenie mocy grzewczej</em>.</h3>



<p class="wp-block-paragraph">Zanim przystąpisz do układania rur, określ <strong><a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/">straty ciepła w pomieszczeniu</a></strong>. Dla domów standardowych przyjmuje się ok. 50–70 W/m², ale w obiektach zbudowanych kilkanaście lat temu ze słaba izolacja wartość ta może wzrosnąć do 100 W/m².</p>



<p class="wp-block-paragraph"><strong>Przykład:</strong><br>Pokój o powierzchni 15 m² x 70 W/m² = <strong>1050 W</strong>. Oznacza to, że instalacja musi dostarczyć minimum 1 kW energii.</p>



<h3 class="wp-block-heading"><em>Długość i rozstaw rur</em>.</h3>



<p class="wp-block-paragraph">Dla rur o średnicy 16 mm maksymalna długość jednej pętli to optymalnie ( jeżeli chodzi o spadki ciśnień, przepływy itp.) <strong>80–90 m</strong>. Jeśli pomieszczenie wymaga dłuższego obiegu, podziel je na dwie lub więcej pętli o zbliżonych długościach.</p>



<p class="wp-block-paragraph"><strong>Rozstaw między rurami</strong> zależy od:</p>



<ul class="wp-block-list">
<li>Strat ciepła: 5 cm przy dużych stratach (np. przy oknach), 10–15 cm w pomieszczeniach o standardowej izolacji.</li>



<li>Rodzaju podłogi: Węższy rozstaw (np. 10 cm) dla paneli drewnianych, szerszy (np. 15 cm) dla płytek ceramicznych.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład obliczeniowy:</strong><br>Dla pokoju 20 m² i rozstawu 10 cm:<br>(20 m² × 100 cm/m) / 10 cm = <strong>200 m <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rury</a></strong> na całość i od 3 do 4 pętli na pomieszczenie( w zależności od długości dobiegu do tych pomieszczeń).</p>



<h2 class="wp-block-heading">Montaż ogrzewania podłogowego w układzie ślimakowym.</h2>



<h3 class="wp-block-heading"><em>Przygotowanie podłoża</em>.</h3>



<ol class="wp-block-list">
<li><strong>Warstwa izolacyjna</strong>: Ułóż <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/">styropian EPS 100</a> o grubości min. 5 cm (na gruncie nawet 10 cm).</li>



<li><strong>Folia paroizolacyjna</strong>: Konieczna przy podłogach na gruncie – zapobiega przenikaniu wilgoci.</li>



<li><strong><a href="https://projekt-ogrzewania.pl/produkt/tasma-przyscienna-z-pianki-poliuretanowej-do-ogrzewania-podlogowego/">Taśmy dylatacyjne</a></strong>: Zamontuj je wzdłuż ścian, aby podłoga mogła pracować pod wpływem temperatury.</li>
</ol>



<h3 class="wp-block-heading"><em>Rozmieszczenie rozdzielacza</em>.</h3>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl/produkt/rozdzielacz-mosiezny-do-ogrzewania-podlogowego-z-rotametrami/">Rozdzielacz</a> to „serce” instalacji. Umieść go <strong>centralnie</strong>, np. w <a href="https://projekt-ogrzewania.pl/produkt/szafka-podtynkowa-do-rozdzielaczy-ogrzewania-podlogowego/">szafce ściennej</a> w przedpokoju. Pamiętaj, że każda pętla musi mieć podobną długość – różnice nie powinny przekraczać 10%.</p>



<h3 class="wp-block-heading"><em>Układanie rur w ślimaku</em>.</h3>



<ol class="wp-block-list">
<li><strong>Rozpocznij od środka</strong>: Zacznij od punktu centralnego lub rozdzielacza, układając rurę spiralnie na zewnątrz.</li>



<li><strong>Podwójna spirala</strong>: Po osiągnięciu zewnętrznej krawędzi pomieszczenia zawróć rurę, prowadząc ją równolegle do „odcinka zasilającego”. Dzięki temu każdy fragment podłogi będzie miał kontakt z ciepłem i chłodniejszą wodą.</li>



<li><strong>Użyj szablonu</strong>: Specjalne płyty z wypustkami pomogą utrzymać stały rozstaw.</li>
</ol>



<figure class="wp-block-image size-large"><img data-dominant-color="f5edf2" data-has-transparency="false" style="--dominant-color: #f5edf2;" fetchpriority="high" decoding="async" width="1024" height="512" src="https://projekt-ogrzewania.pl/wp-content/uploads/2025/02/Przyklad-rur-ogrzewania-podlogowego-ulozonych-w-slimaka-sypialnia-1024x512.webp" alt="Przykład rur ogrzewania podłogowego ułożonych w ślimaka - sypialnia" class="wp-image-2274 not-transparent" srcset="https://projekt-ogrzewania.pl/wp-content/uploads/2025/02/Przyklad-rur-ogrzewania-podlogowego-ulozonych-w-slimaka-sypialnia-1024x512.webp 1024w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/02/Przyklad-rur-ogrzewania-podlogowego-ulozonych-w-slimaka-sypialnia-300x150.webp 300w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/02/Przyklad-rur-ogrzewania-podlogowego-ulozonych-w-slimaka-sypialnia-768x384.webp 768w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/02/Przyklad-rur-ogrzewania-podlogowego-ulozonych-w-slimaka-sypialnia-600x300.webp 600w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/02/Przyklad-rur-ogrzewania-podlogowego-ulozonych-w-slimaka-sypialnia.webp 1134w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Przykład rur ogrzewania podłogowego ułożonych w ślimaka &#8211; sypialnia</figcaption></figure>



<h2 class="wp-block-heading">Kluczowe błędy przy układaniu ślimaka – na co uważać?</h2>



<h3 class="wp-block-heading"><em>Nierównomierny rozstaw rur</em>.</h3>



<p class="wp-block-paragraph">Zbyt duże odstępy między zwojami (np. 20 cm) spowodują powstawanie „zimnych pasów”. W strefach przyokiennych zawsze zmniejszaj rozstaw do 5–10 cm.</p>



<h3 class="wp-block-heading"><em>Przekroczenie maksymalnej długości pętli</em>.</h3>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">Pętla dłuższa niż 100 m</a> dla rur 16 mm zwiększy opory hydrauliczne, co może prowadzić do <strong>niedogrzania końcówek</strong>. Rozwiązaniem jest podział na dwie pętle po 50 m każda.</p>



<h3 class="wp-block-heading"><em>Brak próby ciśnieniowej</em>.</h3>



<p class="wp-block-paragraph">Przed wylaniem jastrychu przeprowadź <strong>test ciśnieniowy</strong> (6–8 barów przez 24 h). To jedyny sposób, by wykryć mikropęknięcia w rurach.</p>



<h2 class="wp-block-heading"><strong>Angielskie oznaczenia układu ślimakowego</strong>.</h2>



<p class="wp-block-paragraph">W międzynarodowej terminologii ogrzewania podłogowego układ ślimakowy określa się jako <strong>&#8222;Spiral pattern underfloor heating&#8221;</strong> lub <strong>&#8222;Snail pattern underfloor heating&#8221;</strong>. Te nazwy odzwierciedlają spiralny kształt, który przypomina muszlę ślimaka.</p>



<p class="wp-block-paragraph">Dla bardziej technicznego opisu można użyć terminu <strong>&#8222;Helical loop underfloor heating&#8221;</strong>, który podkreśla geometryczną strukturę pętli. W kontekście projektowania i instalacji często spotyka się także określenie <strong>&#8222;meander and spiral layout&#8221;</strong>, ponieważ układ ślimakowy jest jednym z dwóch podstawowych wzorów obok układu meandrowego (meander pattern).</p>



<p class="wp-block-paragraph">Te angielskie nazwy są powszechnie używane w dokumentacji technicznej, katalogach produktów oraz w międzynarodowych projektach instalacyjnych. Warto je znać, zwłaszcza jeśli planujesz współpracę z zagranicznymi dostawcami lub korzystasz z materiałów szkoleniowych w języku angielskim.</p>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego: Współpraca ze specjalistą</h2>



<p class="wp-block-paragraph">Nawet jeśli planujesz samodzielny montaż, <strong><a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">projekt instalacji</a> warto zlecić doświadczonemu audytorowi</strong>. Specjalista:</p>



<ul class="wp-block-list">
<li>Obliczy dokładne zapotrzebowanie na ciepło, uwzględniając izolację budynku i rodzaj okien.</li>



<li>Dobierze optymalny rozstaw rur dla posadzki drewnianej, kamiennej lub winylowej.</li>



<li>Zaproponuje rozmieszczenie rozdzielacza, które zminimalizuje straty ciśnienia.</li>
</ul>



<p class="wp-block-paragraph"><strong>Koszt projektu</strong> to zwykle 500–1500 zł, ale inwestycja zwraca się dzięki oszczędnościom na materiałach i energii. Warto w tym miejscu nadmienić iż w naszej firmie można taki projekt zrobic za darmo, szczegóły znajda P. <a href="https://projekt-ogrzewania.pl/darmowy-projekt-ogrzewania-podlogowego/">tutaj</a>.</p>



<h2 class="wp-block-heading"><strong>FAQ</strong>:</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1740133340632"><strong class="schema-faq-question"><strong>Czy układ ślimakowy nadaje się do każdego pomieszczenia?</strong></strong> <p class="schema-faq-answer">Tak, układ ślimakowy sprawdza się zarówno w prostokątnych salonach, jak i pomieszczeniach o nieregularnych kształtach, takich jak łazienki czy kuchnie.</p> </div> <div class="schema-faq-section" id="faq-question-1740133353605"><strong class="schema-faq-question"><strong>Jakie są zalety układu ślimakowego w porównaniu do meandrowego?</strong></strong> <p class="schema-faq-answer">Układ ślimakowy zapewnia bardziej równomierne rozprowadzenie ciepła, redukuje ryzyko powstawania zimnych stref i optymalizuje zużycie energii.</p> </div> <div class="schema-faq-section" id="faq-question-1740133378019"><strong class="schema-faq-question"><strong>Jak obliczyć długość rury potrzebnej do układu ślimakowego?</strong></strong> <p class="schema-faq-answer">Długość rury zależy od powierzchni pomieszczenia i rozstawu między rurami. Dla przykładu: przy rozstawie 10 cm na 20 m² potrzeba ok. 200 m rury.</p> </div> <div class="schema-faq-section" id="faq-question-1740133387094"><strong class="schema-faq-question"><strong>Czy układ ślimakowy można połączyć z innymi źródłami ciepła?</strong></strong> <p class="schema-faq-answer">Tak, układ ślimakowy można zintegrować z kotłem gazowym, pompą ciepła lub kolektorami słonecznymi.</p> </div> <div class="schema-faq-section" id="faq-question-1740133399905"><strong class="schema-faq-question"><strong>Jakie są najczęstsze błędy przy montażu układu ślimakowego?</strong></strong> <p class="schema-faq-answer">Do najczęstszych błędów należą: nierównomierny rozstaw rur, przekroczenie maksymalnej długości pętli oraz brak próby ciśnieniowej przed wylaniem jastrychu.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie.</h2>



<p class="wp-block-paragraph">Układ ślimakowy to rozwiązanie, które łączy <strong>energooszczędność</strong> z <strong>komfortem użytkowania</strong>. Kluczem do sukcesu jest precyzyjny projekt, odpowiedni rozstaw rur i unikanie błędów montażowych. Pamiętaj, że nawet najlepsze materiały nie zastąpią przemyślanej konfiguracji – dlatego w razie wątpliwości skonsultuj się z fachowcem.</p>



<p class="wp-block-paragraph"><strong>Gotowa instalacja nagrzeje Twoją podłogę równomiernie, a rachunki za ogrzewanie spadną o nawet 15–20%.</strong> Warto zainwestować czas w przemyślaną realizację!</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="GHN4znJnJa"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe loading="lazy" 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=IThb4y3utU#?secret=GHN4znJnJa" data-secret="GHN4znJnJa" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-slimakowym/">Instalacja ogrzewania podłogowego w układzie ślimakowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-slimakowym/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Norma obliczeń ogrzewania podłogowego EN 1264.</title>
		<link>https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 17 Feb 2025 18:37:11 +0000</pubDate>
				<category><![CDATA[EN 1264]]></category>
		<category><![CDATA[Niskotemperaturowe systemy grzewcze]]></category>
		<category><![CDATA[Normy budowlane]]></category>
		<category><![CDATA[Normy grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Systemy grzewcze]]></category>
		<category><![CDATA[budownictwo]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[izolacja termiczna]]></category>
		<category><![CDATA[montaż ogrzewania]]></category>
		<category><![CDATA[norma en 1264]]></category>
		<category><![CDATA[obliczenia cieplne]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projektowanie instalacji]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<category><![CDATA[trwałość instalacji]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2241</guid>

					<description><![CDATA[<p>Projektowanie ogrzewania podłogowego wymaga precyzji i wiedzy technicznej. Norma obliczeń ogrzewania podłogowego EN 1264 to kluczowy dokument, który określa zasady projektowania, obliczeń i montażu systemów grzewczych. Dzięki niej możliwe jest zapewnienie efektywności energetycznej, komfortu użytkowania oraz trwałości instalacji. W artykule szczegółowo omawiamy strukturę normy, metody obliczeniowe oraz praktyczne wskazówki dla projektantów i instalatorów. Dowiesz się, jak uniknąć błędów i zoptymalizować system grzewczy w swoim domu.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">Norma obliczeń ogrzewania podłogowego EN 1264.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Norma obliczeń ogrzewania podłogowego EN 1264</strong> to kluczowy dokument regulujący projektowanie, obliczenia i wykonanie systemów grzewczo-chłodzących płaszczyznowych, w tym podłogowych, ściennych i sufitowych. Jako europejski standard, EN 1264 zapewnia spójne wytyczne dla inżynierów, architektów i instalatorów, gwarantując efektywność energetyczną, bezpieczeństwo i trwałość instalacji. W artykule szczegółowo omówimy strukturę normy, jej praktyczne zastosowanie oraz wpływ na optymalizację systemów grzewczych.</p>



<h2 class="wp-block-heading"><strong>Podstawy normy EN 1264 – dlaczego jest tak ważna?</strong></h2>



<p class="wp-block-paragraph">Ogrzewanie płaszczyznowe, zwłaszcza podłogowe, wymaga precyzyjnego planowania, aby uniknąć błędów wpływających na komfort użytkowania czy koszty eksploatacji. <strong>Norma EN 1264</strong> wprowadza jednolite zasady projektowe, uwzględniające parametry cieplne, mechaniczne i technologiczne. Składa się z pięciu części, z których każda koncentruje się na innym aspekcie instalacji. Dzięki temu dokument kompleksowo obejmuje zarówno teorię, jak i praktykę.</p>



<h3 class="wp-block-heading"><em>Kluczowe parametry techniczne według EN 1264</em>.</h3>



<p class="wp-block-paragraph">Norma definiuje m.in.:</p>



<ul class="wp-block-list">
<li><strong>Maksymalną temperaturę powierzchni podłogi</strong> (np. 29°C dla pomieszczeń mieszkalnych),</li>



<li><strong>Współczynnik przenikania ciepła</strong> dla warstw podłogi,</li>



<li><strong><a href="https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/">Rozstaw rur</a></strong> oraz ich średnicę,</li>



<li><strong>Moc grzewczą</strong> konieczną do zbilansowania strat energii.</li>
</ul>



<h2 class="wp-block-heading"><strong>Struktura normy EN 1264 – co obejmują poszczególne części?</strong></h2>



<p class="wp-block-paragraph">Aby w pełni wykorzystać potencjał <strong>normy obliczeń ogrzewania podłogowego EN 1264</strong>, warto poznać zakres jej poszczególnych części. Każda z nich odpowiada za inny etap projektowania i realizacji systemu.</p>



<h3 class="wp-block-heading"><em>EN 1264-1: Definicje i symbole</em>.</h3>



<p class="wp-block-paragraph">Ta część wprowadza podstawową terminologię oraz symbole stosowane w dokumentacji technicznej. Dzięki niej projektanci unikają niejasności, np. rozróżniając pojęcia takie jak <strong>„opór cieplny warstwy”</strong> (R) czy <strong>„gęstość strumienia cieplnego”</strong> (q). Standaryzacja nazewnictwa ułatwia współpracę między branżami.</p>



<h3 class="wp-block-heading"><em>EN 1264-2: Metody projektowania i obliczenia cieplne</em>.</h3>



<p class="wp-block-paragraph">Najbardziej istotna część dla inżynierów. Zawiera algorytmy obliczeniowe uwzględniające:</p>



<ul class="wp-block-list">
<li>Straty ciepła w budynku,</li>



<li><a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">Właściwości termiczne materiałów</a> (np. przewodność cieplną wylewki),</li>



<li>Dopuszczalne temperatury powierzchni podłogi.</li>
</ul>



<p class="wp-block-paragraph">Przykładowo, wzór na moc grzewczą:<br><strong>Q = (ΔT * A) / R</strong>,<br>gdzie ΔT to różnica temperatur między podłogą a pomieszczeniem, jest bezpośrednio powiązany z wytycznymi z tej części normy.</p>



<h3 class="wp-block-heading"><em>EN 1264-3: Wymagania konstrukcyjne</em>.</h3>



<p class="wp-block-paragraph">Określa zasady doboru materiałów i warstw systemu:</p>



<ul class="wp-block-list">
<li>Minimalna <strong>grubość izolacji termicznej</strong> (np. <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/">30 mm dla styropianu EPS</a>),</li>



<li>Dopuszczalne <strong>materiały rur</strong> (PEX, PE-RT, miedź),</li>



<li>Wytrzymałość mechaniczną jastrychu.</li>
</ul>



<h3 class="wp-block-heading"><em>EN 1264-4: Instalacja i regulacja systemu</em>.</h3>



<p class="wp-block-paragraph">Część praktyczna, skupiająca się na montażu:</p>



<ul class="wp-block-list">
<li>Procedury <strong>testów ciśnieniowych</strong> rur przed zalaniem wylewką,</li>



<li>Metody <strong>równoważenia hydraulicznego</strong> instalacji,</li>



<li>Zasady sterowania temperaturą (np. użycie zaworów termostatycznych).</li>
</ul>



<h3 class="wp-block-heading"><em>EN 1264-5: Systemy dynamiczne</em>.</h3>



<p class="wp-block-paragraph">Dedykowana instalacjom, które dynamicznie reagują na zmiany warunków zewnętrznych (np. pogoda) lub wewnętrznych (np. obecność osób). Norma wskazuje, jak dostosować parametry pracy, aby uniknąć przegrzewania lub wychłodzenia pomieszczeń.</p>



<h2 class="wp-block-heading"><strong>Jak obliczyć moc grzewczą zgodnie z EN 1264? Metody i przykłady</strong>.</h2>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projektowanie ogrzewania podłogowego</a> według <strong>normy EN 1264</strong> wymaga analizy strat ciepła oraz właściwości termicznych podłogi. Poniżej przedstawiamy krok po kroku, jak przeprowadzić obliczenia.</p>



<h3 class="wp-block-heading"><em>Krok 1: Określenie strat ciepła w pomieszczeniu</em>.</h3>



<p class="wp-block-paragraph">Straty oblicza się na podstawie izolacyjności budynku. Dla domu energooszczędnego przyjmuje się ok. <strong>40–50 W/m²</strong>, a dla starszych budynków nawet <strong>80–100 W/m²</strong>.</p>



<h3 class="wp-block-heading"><em>Krok 2: Obliczenie oporu cieplnego podłogi (R)</em>.</h3>



<p class="wp-block-paragraph">Opór cieplny to suma oporów wszystkich warstw, np.:</p>



<ul class="wp-block-list">
<li>Wylewka (grubość 5 cm, λ=1,2 W/m·K): <strong>R₁ = 0,05 m / 1,2 = 0,042 (m²·K)/W</strong>,</li>



<li>Izolacja (styropian 3 cm, λ=0,04 W/m·K): <strong>R₂ = 0,03 / 0,04 = 0,75 (m²·K)/W</strong>,</li>



<li>Wykładzina (R=0,1 (m²·K)/W).</li>
</ul>



<p class="wp-block-paragraph"><strong>Razem: R = R₁ + R₂ + R₃ = 0,042 + 0,75 + 0,1 = 0,892 (m²·K)/W</strong>.</p>



<h3 class="wp-block-heading"><em>Krok 3: Wyznaczenie mocy grzewczej</em>.</h3>



<p class="wp-block-paragraph">Korzystając ze wzoru <strong>Q = (ΔT * A) / R</strong>:</p>



<ul class="wp-block-list">
<li>ΔT = 10 K (np. temperatura podłogi 29°C, pomieszczenia 19°C),</li>



<li>A = 20 m²,</li>



<li>R = 0,892 (m²·K)/W.</li>
</ul>



<p class="wp-block-paragraph"><strong>Q = (10 * 20) / 0,892 ≈ 224 W/m²</strong>.<br>Jeśli straty ciepła wynoszą 50 W/m², system jest przewymiarowany – należy zmniejszyć ΔT lub zwiększyć izolację.</p>



<h2 class="wp-block-heading"><strong>Znaczenie normy EN 1264 w projektowaniu systemów grzewczych</strong>.</h2>



<p class="wp-block-paragraph">Stosowanie <strong>normy obliczeń ogrzewania podłogowego EN 1264</strong> przekłada się na konkretne korzyści techniczne i ekonomiczne. Oto najważniejsze z nich:</p>



<h3 class="wp-block-heading"><em>Gwarancja efektywności energetycznej</em>.</h3>



<p class="wp-block-paragraph">Norma wymusza optymalizację parametrów, np. poprzez ograniczenie temperatury zasilania do <strong>40–45°C</strong>. Dzięki temu system zużywa nawet o <strong>25% mniej energii</strong> w porównaniu z tradycyjnymi grzejnikami.</p>



<h3 class="wp-block-heading"><em>Bezpieczeństwo użytkowników</em>.</h3>



<p class="wp-block-paragraph">EN 1264 definiuje maksymalne temperatury powierzchni podłogi, np. <strong>35°C w łazienkach</strong>. Zapobiega to ryzyku poparzeń, szczególnie ważne w domach z dziećmi.</p>



<h3 class="wp-block-heading"><em>Trwałość instalacji</em>.</h3>



<p class="wp-block-paragraph">Wytyczne dotyczące materiałów (np. odporność rur na korozję) oraz montażu (testy ciśnieniowe) minimalizują awarie. Przykładowo, <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rury</a> z tworzyw sztucznych zgodne z normą wytrzymują <strong>50 lat</strong> eksploatacji.</p>



<h2 class="wp-block-heading"><strong>Praktyczne wskazówki dla projektantów i instalatorów</strong>.</h2>



<p class="wp-block-paragraph">Aby w pełni wykorzystać potencjał <strong>normy EN 1264</strong>, warto pamiętać o kilku zasadach:</p>



<h3 class="wp-block-heading"><em>Dobór rozstawu rur w zależności od strefy</em>.</h3>



<ul class="wp-block-list">
<li><strong>Strefa brzegowa</strong> (np. przy oknach): Rozstaw <strong>5–10 cm</strong> – większa moc kompensuje wyższe straty ciepła.</li>



<li><strong>Strefa centralna</strong>: Rozstaw <strong>10–20 cm</strong> – równomierne ogrzewanie przy mniejszym zużyciu materiałów.</li>
</ul>



<h3 class="wp-block-heading"><em>Dynamiczne sterowanie temperaturą</em>.</h3>



<p class="wp-block-paragraph">W systemach zgodnych z <strong>EN 1264-5</strong> warto zastosować regulatory pogodowe, które automatycznie dostosowują temperaturę wody do warunków zewnętrznych. Przykład: Przy -10°C na zewnątrz temperatura zasilania wynosi <strong>45°C</strong>, a przy +5°C – <strong>35°C</strong>.</p>



<h2 class="wp-block-heading"><strong>FAQ</strong>:</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1739816240920"><strong class="schema-faq-question"><strong>Dlaczego norma EN 1264 jest ważna w projektowaniu ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Norma EN 1264 zapewnia jednolite standardy projektowe, gwarantujące efektywność energetyczną, bezpieczeństwo użytkowania oraz trwałość instalacji. Dzięki niej unika się błędów, które mogą prowadzić do nierównomiernego grzania czy zwiększonych kosztów eksploatacji.</p> </div> <div class="schema-faq-section" id="faq-question-1739816256939"><strong class="schema-faq-question"><strong>Jakie parametry są kluczowe w obliczeniach według EN 1264?</strong></strong> <p class="schema-faq-answer">Kluczowe parametry to: straty ciepła w budynku, opór cieplny warstw podłogi, rozstaw rur oraz maksymalna temperatura powierzchni podłogi (np. 29°C dla pomieszczeń mieszkalnych).</p> </div> <div class="schema-faq-section" id="faq-question-1739816274542"><strong class="schema-faq-question"><strong>Jak obliczyć moc grzewczą zgodnie z EN 1264?</strong></strong> <p class="schema-faq-answer">Moc oblicza się ze wzoru: <strong>Q = (ΔT * A) / R</strong>, gdzie ΔT to różnica temperatur, A – powierzchnia, a R – opór cieplny warstw podłogi. Przykładowo, dla ΔT=10 K, A=20 m² i R=0,892 (m²·K)/W, moc wynosi ok. 224 W/m².</p> </div> <div class="schema-faq-section" id="faq-question-1739816283613"><strong class="schema-faq-question"><strong>Jakie materiały są zalecane w systemach zgodnych z EN 1264?</strong></strong> <p class="schema-faq-answer">Norma rekomenduje rury z tworzyw sztucznych (PEX, PE-RT) lub miedź, izolację termiczną (np. styropian EPS) oraz jastrych o odpowiedniej wytrzymałości mechanicznej.</p> </div> <div class="schema-faq-section" id="faq-question-1739816296973"><strong class="schema-faq-question"><strong>Czy norma EN 1264 dotyczy tylko ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Nie, norma obejmuje również systemy chłodzenia płaszczyznowego (podłogowe, ścienne, sufitowe) oraz instalacje pracujące w trybie dynamicznym, dostosowującym się do zmiennych warunków.</p> </div> </div>



<h2 class="wp-block-heading"><strong>Podsumowanie: EN 1264 jako fundament nowoczesnych instalacji</strong>.</h2>



<p class="wp-block-paragraph"><strong>Norma obliczeń ogrzewania podłogowego EN 1264</strong> to niezbędnik każdego profesjonalisty. Łączy precyzję obliczeń z praktycznymi wytycznymi montażowymi, zapewniając systemom grzewczym efektywność, bezpieczeństwo i długowieczność. Dzięki jej stosowaniu inwestycja w <a href="https://projekt-ogrzewania.pl">ogrzewanie podłogowe</a> staje się opłacalna zarówno pod względem kosztów instalacji, jak i późniejszej eksploatacji. Pamiętaj: Ignorowanie normy może prowadzić do nierównomiernego grzania, zwiększonych rachunków za energię, a nawet uszkodzenia podłogi!</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="7OPsceVxkp"><a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/">Projekt ogrzewania podłogowego &#8211; do 150 m2</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt ogrzewania podłogowego &#8211; do 150 m2&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/embed/#?secret=t6RvRzbfui#?secret=7OPsceVxkp" data-secret="7OPsceVxkp" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">Norma obliczeń ogrzewania podłogowego EN 1264.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jakie materiały są potrzebne do instalacji ogrzewania podłogowego?</title>
		<link>https://projekt-ogrzewania.pl/jakie-materialy-sa-potrzebne-do-instalacji-ogrzewania-podlogowego/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 14 Feb 2025 20:42:40 +0000</pubDate>
				<category><![CDATA[Instalacja ogrzewania podłogowego]]></category>
		<category><![CDATA[Koszty instalacji grzewczych]]></category>
		<category><![CDATA[Materiały budowlane]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Porady budowlane]]></category>
		<category><![CDATA[Systemy grzewcze]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[instalacja ogrzewania]]></category>
		<category><![CDATA[izolacja termiczna]]></category>
		<category><![CDATA[kolektor rozdzielaczowy]]></category>
		<category><![CDATA[materiały budowlane]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[rury pex]]></category>
		<category><![CDATA[sterowanie ogrzewaniem]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<category><![CDATA[wylewka podłogowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2195</guid>

					<description><![CDATA[<p>Jakie materiały są potrzebne do instalacji ogrzewania podłogowego? Dobór odpowiednich komponentów wpływa na wydajność i trwałość całego systemu. W tym artykule przedstawiamy kompletną listę niezbędnych elementów – od rur grzewczych, przez izolację, kolektor, aż po sterowanie i pokrycie podłogowe. Dowiedz się, jakie materiały wybrać, aby instalacja działała sprawnie przez lata i zapewniała komfort cieplny przy minimalnych kosztach eksploatacji.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jakie-materialy-sa-potrzebne-do-instalacji-ogrzewania-podlogowego/">Jakie materiały są potrzebne do instalacji ogrzewania podłogowego?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl">Ogrzewanie podłogowe</a> to rozwiązanie, które zapewnia równomierny rozkład ciepła i wysoki komfort użytkowania. Jeśli zastanawiasz się, <strong>jakie materiały są potrzebne do instalacji ogrzewania podłogowego</strong>, w tym artykule znajdziesz kompleksową listę komponentów niezbędnych do montażu systemu wodnego. Podpowiadamy, na co zwrócić uwagę przy wyborze rur, izolacji czy sterowania, aby instalacja działała efektywnie przez lata.</p>



<h2 class="wp-block-heading">Podstawowe materiały grzewcze: od rur po izolację.</h2>



<h3 class="wp-block-heading">Rury grzewcze – serce instalacji.</h3>



<p class="wp-block-paragraph">Kluczowym elementem <strong>wodnego ogrzewania podłogowego</strong> są <strong><a href="https://projekt-ogrzewania.pl/kategoria-produktu/rury-do-ogrzewania-podlogowego/">rury grzewcze</a></strong>. Najczęściej wybiera się modele z tworzyw sztucznych:</p>



<ul class="wp-block-list">
<li><strong>PEX</strong> (usieciowany polietylen) – odporny na wysokie temperatury i uszkodzenia mechaniczne,</li>



<li><strong>PERT</strong> (polietylen termoplastyczny) – elastyczny i łatwy w montażu,</li>



<li><strong>PE-RT/AL/PE-RT</strong> – z warstwą aluminiową, która minimalizuje rozszerzalność termiczną.</li>
</ul>



<p class="wp-block-paragraph"><em>Dobór średnicy rur (zwykle 16–20 mm) zależy od projektu instalacji. Pamiętaj, że rury układa się w odstępach 10–30 cm, aby zapewnić równomierne nagrzewanie podłogi.</em></p>



<h3 class="wp-block-heading">Izolacja termiczna – zabezpieczenie przed stratami ciepła.</h3>



<p class="wp-block-paragraph">Bez odpowiedniej izolacji ciepło z rur będzie uciekać w dół, zamiast ogrzewać pomieszczenie. Niezbędne materiały to:</p>



<ul class="wp-block-list">
<li><strong><a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/">Płyty styropianowe EPS 100</a></strong> lub <strong>XPS</strong> (polistyren ekstrudowany) – grubość min. 3–5 cm (na gruncie nawet 10 cm),</li>



<li><strong><a href="https://projekt-ogrzewania.pl/produkt/folia-do-ogrzewania-podlogowego-laminat-metalizowany-z-rastrem/">Folia odblaskowa z warstwą aluminium</a></strong> – kieruje ciepło ku górze,</li>



<li><strong>Taśmy montażowe</strong> – stabilizują rury na izolacji.</li>
</ul>



<h2 class="wp-block-heading">Kolektor rozdzielaczowy i automatyka: kontrola nad instalacją.</h2>



<h3 class="wp-block-heading">Kolektor – centrum zarządzania przepływem wody.</h3>



<p class="wp-block-paragraph"><strong><a href="https://projekt-ogrzewania.pl/kategoria-produktu/rozdzielacze-do-ogrzewania-podlogowego/">Kolektor rozdzielaczowy</a></strong> to element, który rozdysponuje wodę do poszczególnych pętli grzewczych. Powinien zawierać:</p>



<ul class="wp-block-list">
<li><strong>Przepływomierze</strong> – do regulacji ilości wody w obiegu,</li>



<li><strong>Zawory odcinające i mieszające</strong> – kontrolują temperaturę,</li>



<li><strong>Pompę cyrkulacyjną</strong> – wymusza obieg wody w systemie.</li>
</ul>



<h3 class="wp-block-heading">Nowoczesne sterowanie – wygoda i oszczędność energii.</h3>



<p class="wp-block-paragraph">Aby system działał efektywnie, potrzebujesz:</p>



<ul class="wp-block-list">
<li><strong>Termostatu pokojowego z Wi-Fi</strong> – umożliwia programowanie temperatury,</li>



<li><strong>Czujników podłogowych</strong> – monitorują nagrzewanie posadzki,</li>



<li><strong>Sterownika centralnego</strong> – synchronizuje pracę kolektora z kotłem lub pompą ciepła.</li>
</ul>



<h2 class="wp-block-heading">Wylewka i pokrycie podłogowe: warstwy decydujące o komforcie</h2>



<h3 class="wp-block-heading">Jastrych – podstawa akumulacji ciepła.</h3>



<p class="wp-block-paragraph">Wylewka betonowa lub anhydrytowa pełni dwie funkcje: rozprowadza ciepło i chroni rury. Niezbędne materiały to:</p>



<ul class="wp-block-list">
<li><strong>Mieszanka betonowa C16/20</strong> – z plastyfikatorami poprawiającymi przewodzenie ciepła,</li>



<li><strong>Jastrych anhydrytowy</strong> – schnie szybciej niż beton (7–14 dni),</li>



<li><strong>Włókna zbrojeniowe</strong> – zapobiegają pękaniu wylewki,</li>



<li><strong><a href="https://projekt-ogrzewania.pl/produkt/tasma-przyscienna-z-pianki-poliuretanowej-do-ogrzewania-podlogowego/">Taśmy dylatacyjne</a></strong> – kompensują rozszerzalność termiczną przy ścianach.</li>
</ul>



<h3 class="wp-block-heading">Wykończenie podłogi – co wybrać?</h3>



<p class="wp-block-paragraph">Ostatnia warstwa musi być odporna na zmiany temperatury. Polecane materiały to:</p>



<ul class="wp-block-list">
<li><strong>Płytki ceramiczne lub kamień</strong> – mają wysoką przewodność cieplną,</li>



<li><strong>Panele laminowane</strong> – wybieraj modele z dopuszczeniem do ogrzewania podłogowego (opór cieplny ≤ 0,15 m²·K/W),</li>



<li><strong>Klej elastyczny</strong> – konieczny do montażu płytek, aby uniknąć spękań.</li>
</ul>



<h2 class="wp-block-heading">Akcesoria montażowe i narzędzia: detale, które mają znaczenie.</h2>



<h3 class="wp-block-heading">Złączki, kształtki i zabezpieczenia.</h3>



<ul class="wp-block-list">
<li><strong>Złączki zaprasowywane, zaciskowe lub <a href="https://projekt-ogrzewania.pl/produkt/zlaczka-przygrzejnikowa-eurokonus-g-3-4-x-16x2/">skręcane</a></strong> – do łączenia rur z kolektorem,</li>



<li><strong>Próbnik ciśnienia</strong> – testuje szczelność instalacji przed zalaniem wylewki,</li>



<li><strong>Owijki izolacyjne</strong> – chronią rury w miejscach dylatacji.</li>
</ul>



<h3 class="wp-block-heading">Niezbędne narzędzia dla majsterkowicza.</h3>



<p class="wp-block-paragraph">Jeśli montujesz system samodzielnie, przygotuj:</p>



<ul class="wp-block-list">
<li><strong>Nożyce do rur PEX/PERT</strong> &#8211; precyzyjne cięcie bez zadziorów,</li>



<li><strong>Prasownicę do złączek</strong> &#8211; jeśli korzystasz z systemu zaprasowywanego,</li>



<li><a href="https://projekt-ogrzewania.pl/produkt/kalibrator-do-rur-zintegrowany/"><strong>Kalibrator do rur – zintegrowany</strong></a> &#8211; zapewniając precyzyjne przygotowanie rur,</li>



<li><a href="https://projekt-ogrzewania.pl/produkt/rozwijak-uniwersalny-do-rozwijania-rury-pex-pert-ogrzewania-podlogowego/"><strong>Rozwijak uniwersalny do rozwijania rury</strong></a> &#8211; ułatwia układanie rur,</li>



<li><a href="https://projekt-ogrzewania.pl/produkt/taker-urzadzenie-do-montazu-spinek-mocujacych-rury-na-styropianie/"><strong>Taker</strong></a> &#8211; urządzenie do montażu spinek mocujących rury na styropianie,</li>



<li><strong>Poziomnicę i taśmę mierniczą</strong> &#8211; do kontroli układu rur.</li>
</ul>



<h2 class="wp-block-heading"><strong>FAQ</strong>.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1739564323639"><strong class="schema-faq-question"><strong>Jakie rury najlepiej sprawdzą się w ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">Najczęściej stosuje się rury PEX, PERT lub PE-RT/AL/PE-RT, które są trwałe, elastyczne i odporne na temperatury.</p> </div> <div class="schema-faq-section" id="faq-question-1739564335996"><strong class="schema-faq-question"><strong>Czy izolacja termiczna jest konieczna w ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">Tak, izolacja zapobiega stratom ciepła w dół i poprawia efektywność systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1739564347782"><strong class="schema-faq-question"><strong>Jakie sterowanie do ogrzewania podłogowego jest najlepsze?</strong></strong> <p class="schema-faq-answer">Termostaty pokojowe z Wi-Fi oraz sterowniki centralne pozwalają na precyzyjną regulację temperatury.</p> </div> <div class="schema-faq-section" id="faq-question-1739564361625"><strong class="schema-faq-question"><strong>Czy można zastosować każdy rodzaj podłogi na ogrzewanie podłogowe?</strong></strong> <p class="schema-faq-answer">Nie, najlepsze są płytki ceramiczne i kamień, natomiast panele muszą mieć niską oporność cieplną.</p> </div> <div class="schema-faq-section" id="faq-question-1739564382528"><strong class="schema-faq-question"><strong>Jakie są najczęstsze błędy przy montażu ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Niewłaściwy rozstaw rur, brak kompensacji dylatacyjnej i źle dobrana izolacja to najczęstsze problemy.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie.</h2>



<p class="wp-block-paragraph">Dobór odpowiednich <strong>materiałów do instalacji ogrzewania podłogowego</strong> to gwarancja trwałości i efektywności systemu. Kluczowe komponenty – od wytrzymałych rur PEX po precyzyjny kolektor – muszą współgrać ze sobą, aby zapewnić równomierne ciepło i niskie rachunki. Pamiętaj, że nawet najlepsze materiały wymagają profesjonalnego montażu. Jeśli nie jesteś pewien swoich umiejętności, zatrudnij specjalistę – to unikniecie błędów, które trudno naprawić po wylaniu wylewki.</p>



<p class="wp-block-paragraph"><em>Chcesz wiedzieć więcej o kosztach montażu lub doborze pokrycia podłogowego? Zostaw komentarz – przygotujemy kolejny poradnik!</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="sOSdAL5qsN"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe loading="lazy" 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=3gPSpsVQ83#?secret=sOSdAL5qsN" data-secret="sOSdAL5qsN" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jakie-materialy-sa-potrzebne-do-instalacji-ogrzewania-podlogowego/">Jakie materiały są potrzebne do instalacji ogrzewania podłogowego?</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 loading="lazy" 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>
	</channel>
</rss>
