<?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 wylewka - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/tag/wylewka/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/tag/wylewka/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Sun, 10 May 2026 10:30:05 +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 wylewka - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/tag/wylewka/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Instalacja ogrzewania podłogowego w układzie meandrowym.</title>
		<link>https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-meandrowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 11 May 2025 15:30:59 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje budowlane]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Komfort cieplny]]></category>
		<category><![CDATA[Materiały budowlane]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[Remont domu]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[koszty instalacji]]></category>
		<category><![CDATA[montaż podłogówki]]></category>
		<category><![CDATA[normy ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rozdzielacz]]></category>
		<category><![CDATA[rury grzewcze]]></category>
		<category><![CDATA[rury pex]]></category>
		<category><![CDATA[strefy brzegowe]]></category>
		<category><![CDATA[układ meandrowy]]></category>
		<category><![CDATA[wylewka]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2575</guid>

					<description><![CDATA[<p>Chcesz cieszyć się ciepłem w domu przez cały rok? Poznaj zalety instalacji ogrzewania podłogowego w układzie meandrowym – prostego i efektywnego systemu grzewczego. Dowiedz się, jak zaplanować montaż, dobrać rury i okładziny oraz uniknąć błędów. Sprawdź praktyczne porady, koszty i przykłady zastosowań, aby stworzyć komfortowy i energooszczędny dom. Zainspiruj się i zacznij działać już dziś!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-meandrowym/">Instalacja ogrzewania podłogowego w układzie meandrowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Instalacja ogrzewania podłogowego w układzie meandrowym</strong> to jedno z rozwiązań zapewniających komfort cieplny w domach i mieszkaniach. Dzięki prostocie montażu i możliwości dostosowania do specyficznych potrzeb pomieszczeń, ten system jest idealny dla salonów z dużymi oknami, łazienek czy kuchni. W tym artykule wyjaśnimy, jak prawidłowo zaplanować i zrealizować <strong>montaż ogrzewania podłogowego w układzie meandrowym</strong>, jakie są jego zalety, koszty i jak wybrać odpowiednie materiały. Dowiedz się, dlaczego warto postawić na ten system i jak uniknąć typowych błędów.</p>



<h2 class="wp-block-heading">Dlaczego warto wybrać ogrzewanie podłogowe w układzie meandrowym?</h2>



<p class="wp-block-paragraph">Ogrzewanie podłogowe w układzie meandrowym to sposób na równomierne rozprowadzenie ciepła od podłogi, co zapewnia wyjątkowy komfort, szczególnie w chłodne dni. W porównaniu do tradycyjnych grzejników, ten system jest bardziej energooszczędny i estetyczny, ponieważ eliminuje widoczne elementy grzewcze. Układ meandrowy wyróżnia się prostotą, co czyni go atrakcyjnym wyborem dla osób szukających efektywnego rozwiązania w przystępnej cenie.</p>



<h3 class="wp-block-heading">Zalety układu meandrowego.</h3>



<ul class="wp-block-list">
<li><strong>Łatwość montażu</strong>: Rury układane są równolegle w kształt węża, co przyspiesza instalację i obniża koszty robocizny.</li>



<li><strong>Skuteczność w strefach brzegowych</strong>: Idealny do pomieszczeń z dużymi stratami ciepła, np. przy oknach czy ścianach zewnętrznych.</li>



<li><strong>Elastyczność</strong>: Możliwość zagęszczenia rur w kluczowych miejscach, np. wzdłuż drzwi balkonowych.</li>



<li><strong>Zdrowie i komfort</strong>: Ciepło rozprowadzane od podłogi zmniejsza cyrkulację kurzu, co jest korzystne dla alergików. Więcej o tym w artykule <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/">Czy ogrzewanie podłogowe jest zdrowe?</a>.</li>
</ul>



<h3 class="wp-block-heading">Ograniczenia układu meandrowego.</h3>



<p class="wp-block-paragraph">Główną wadą układu meandrowego jest nierównomierny rozkład temperatury – woda traci ciepło w miarę przepływu, co może sprawić, że podłoga będzie cieplejsza na początku pętli. W większych pomieszczeniach lepszym wyborem może być układ ślimakowy, który zapewnia bardziej jednolite ogrzewanie. Jednak odpowiednie planowanie pętli może zminimalizować ten problem.</p>



<h2 class="wp-block-heading"><strong>Rodzaje układu meandrowego: pojedynczy i podwójny</strong>.</h2>



<p class="wp-block-paragraph">Układ meandrowy w ogrzewaniu podłogowym występuje w dwóch wariantach: <strong>meander pojedynczy</strong> i <strong>meander podwójny</strong>. Oba bazują na tym samym schemacie układania rur w równoległe pasy z zakrętami o 180°, ale różnią się sposobem prowadzenia rur zasilających i powrotnych, co ma istotny wpływ na równomierność ogrzewania.</p>



<h3 class="wp-block-heading"><strong>Meander pojedynczy</strong>.</h3>



<p class="wp-block-paragraph"><strong>Meander pojedynczy</strong> to klasyczny układ, w którym rura biegnie od rozdzielacza wzdłuż jednej strony pomieszczenia i wraca drugą stroną. To proste rozwiązanie, tanie i szybkie w montażu. Jednak jego wadą może być <strong>nierównomierny rozkład temperatury</strong> – początek pętli jest cieplejszy, a koniec – chłodniejszy. Dlatego najlepiej sprawdza się w mniejszych pomieszczeniach lub tam, gdzie różnice temperatur nie mają kluczowego znaczenia.</p>



<h3 class="wp-block-heading"><strong>Meander podwójny</strong>.</h3>



<p class="wp-block-paragraph"><strong>Meander podwójny</strong> to bardziej zaawansowana wersja, w której rury zasilająca i powrotna biegną parami – obok siebie – przez całą długość pętli. Dzięki temu ciepło rozprowadzane jest <strong>bardziej równomiernie</strong>, co znacznie poprawia komfort cieplny w pomieszczeniach o większej powierzchni lub dużych stratach ciepła, np. z dużymi przeszkleniami. Choć ten układ jest nieco trudniejszy w wykonaniu i może wymagać więcej materiału, zapewnia <strong>lepszy balans termiczny</strong> w całej strefie grzewczej.</p>



<p class="wp-block-paragraph"><em>Wybór między meandrem pojedynczym a podwójnym zależy przede wszystkim od <strong>układu pomieszczenia, rodzaju źródła ciepła oraz wymaganej równomierności temperatury</strong>.</em></p>



<h2 class="wp-block-heading"><strong>Gdzie warto zastosować układ meandrowy w ogrzewaniu podłogowym?</strong></h2>



<p class="wp-block-paragraph">Układ meandrowy najlepiej sprawdza się w <strong>pomieszczeniach o mniejszej powierzchni</strong>, gdzie różnice temperatury między początkiem a końcem pętli nie są aż tak odczuwalne. To idealne rozwiązanie do <strong>łazienek, korytarzy, kuchni</strong>, a także <strong>pomieszczeń o regularnym kształcie</strong>, bez dużej liczby wnęk czy przeszkód architektonicznych.</p>



<p class="wp-block-paragraph">Dzięki możliwości lokalnego zagęszczenia rur, meander dobrze radzi sobie także w <strong>strefach brzegowych</strong>, czyli wzdłuż ścian zewnętrznych, przy oknach i drzwiach balkonowych – tam, gdzie występują największe straty ciepła. W tych miejscach można z powodzeniem zmniejszyć rozstaw rur do 10 cm, uzyskując silniejszy strumień cieplny.</p>



<p class="wp-block-paragraph">Układ meandrowy jest również często stosowany w <strong>pomieszczeniach pomocniczych</strong> (spiżarnie, garderoby, pralnie), gdzie nie zależy nam na idealnej równomierności ciepła, ale ważna jest prostota montażu i niskie koszty. W przypadku większych przestrzeni – salonów, pokoi dziennych – <strong>lepszym wyborem może być układ ślimakowy lub podwójny meander</strong>, które zapewniają bardziej jednorodny rozkład temperatury.</p>



<h2 class="wp-block-heading">Jak wygląda ogrzewanie podłogowe ułożone w meander bądź podwójny meander.</h2>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-8f761849 wp-block-group-is-layout-flex">
<figure class="wp-block-image size-full"><img data-dominant-color="f3f2f2" data-has-transparency="false" style="--dominant-color: #f3f2f2;" fetchpriority="high" decoding="async" width="945" height="945" src="https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Pojedynczy-meander.webp" alt="Pojedynczy meander" class="wp-image-2583 not-transparent" srcset="https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Pojedynczy-meander.webp 945w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Pojedynczy-meander-300x300.webp 300w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Pojedynczy-meander-150x150.webp 150w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Pojedynczy-meander-768x768.webp 768w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Pojedynczy-meander-600x600.webp 600w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Pojedynczy-meander-100x100.webp 100w" sizes="(max-width: 945px) 100vw, 945px" /><figcaption class="wp-element-caption">Pojedynczy meander</figcaption></figure>



<figure class="wp-block-image size-full"><img data-dominant-color="f3f3f3" data-has-transparency="false" style="--dominant-color: #f3f3f3;" decoding="async" width="945" height="945" src="https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Podwojny-meander.webp" alt="Podwójny meander" class="wp-image-2585 not-transparent" srcset="https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Podwojny-meander.webp 945w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Podwojny-meander-300x300.webp 300w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Podwojny-meander-150x150.webp 150w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Podwojny-meander-768x768.webp 768w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Podwojny-meander-600x600.webp 600w, https://projekt-ogrzewania.pl/wp-content/uploads/2025/05/Podwojny-meander-100x100.webp 100w" sizes="(max-width: 945px) 100vw, 945px" /><figcaption class="wp-element-caption">Podwójny meander</figcaption></figure>
</div>



<h2 class="wp-block-heading">Jak działa instalacja ogrzewania podłogowego w układzie meandrowym?</h2>



<p class="wp-block-paragraph">W układzie meandrowym rury grzewcze są układane równolegle, tworząc pętle przypominające węża z zakrętami o 180 stopni. Gorąca woda przepływa przez rury, oddając ciepło do podłogi, a następnie wraca do rozdzielacza. System działa zgodnie z normą <strong>EN 1264</strong>, która określa wymagania dla wodnego ogrzewania podłogowego, zapewniając bezpieczeństwo i efektywność.</p>



<h3 class="wp-block-heading">Kluczowe komponenty systemu.</h3>



<p class="wp-block-paragraph">Aby <strong>zainstalować ogrzewanie podłogowe w układzie meandrowym</strong>, potrzebne są następujące elementy:</p>



<ol class="wp-block-list">
<li><strong>Rury grzewcze</strong>: Najczęściej stosuje się rury PEX lub PE-RT o średnicy 16 mm, zgodne z normą <strong>EN ISO 15875</strong>. Przykładem jest rura wielowarstwowa KAN-therm BluePERT, która zapewnia trwałość i elastyczność.</li>



<li><strong>Rozdzielacz</strong>: Umożliwia regulację przepływu wody. Polecamy <a href="https://projekt-ogrzewania.pl/produkt/rozdzielacz-ze-stali-nierdzewnej-inox-do-ogrzewania-podlogowego-z-rotametrami/">rozdzielacz ze stali nierdzewnej INOX</a> dla precyzyjnej kontroli.</li>



<li><strong>Grupa pompowo-mieszająca</strong>: Kluczowa w systemach z grzejnikami, dostępna jako <a href="https://projekt-ogrzewania.pl/produkt/grupa-pompowo-mieszajaca-trinnity/">grupa pompowo-mieszająca Trinnity</a>.</li>



<li><strong>Izolacja termiczna</strong>: Styropian EPS 100 lub <a href="https://projekt-ogrzewania.pl/produkt/mata-mocujaca-do-ogrzewania-podlogowego/">mata mocująca do ogrzewania podłogowego</a> zapobiega stratom ciepła.</li>



<li><strong>Wylewka</strong>: Betonowa lub anhydrytowa warstwa otaczająca rury, zgodna z normą <strong>DIN 4726</strong> dla rur PEX.</li>
</ol>



<h3 class="wp-block-heading">Planowanie rozmieszczenia pętli.</h3>



<p class="wp-block-paragraph">Kluczowe jest odpowiednie zaprojektowanie trasy rur, aby zapewnić efektywność systemu:</p>



<ul class="wp-block-list">
<li><strong>Strefy brzegowe</strong>: Rozpocznij układanie rur wzdłuż ścian zewnętrznych lub okien, z odstępem 10 cm, aby zwiększyć strumień ciepła.</li>



<li><strong>Unikanie zabudowy</strong>: Nie umieszczaj rur pod szafkami, wannami czy wyspami kuchennymi.</li>



<li><strong>Odstępy</strong>: Standardowy rozstaw to 10-20 cm, ale w newralgicznych miejscach można go zmniejszyć.</li>



<li><strong>Długość pętli</strong>: Maksymalnie 80-100 m, aby uniknąć spadku ciśnienia.</li>
</ul>



<p class="wp-block-paragraph">Sprawdź, jak to zrobić, w poradniku <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">Jak zaplanować rozmieszczenie pętli grzewczych w ogrzewaniu podłogowym</a>.</p>



<h2 class="wp-block-heading">Profesjonalny projekt ogrzewania podłogowego.</h2>



<p class="wp-block-paragraph">Sukces instalacji zależy od precyzyjnego projektu, który uwzględnia straty ciepła, rodzaj podłogi i potrzeby mieszkańców. Oferujemy kompleksowe projekty, np. <a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-200-m2/">projekt ogrzewania podłogowego do 200 m²</a>, dostosowane do większych domów. Ich projekty <strong>EN 1264</strong>, zapewniając optymalny rozkład pętli i dobór materiałów. Przy zakupie komponentów w <a href="https://projekt-ogrzewania.pl/sklep/">sklepie projekt-ogrzewania.pl</a>, projekt można otrzymać gratis, co obniża koszty inwestycji.</p>



<h2 class="wp-block-heading">Etapy montażu ogrzewania podłogowego w układzie meandrowym.</h2>



<h3 class="wp-block-heading">1. Przygotowanie podłoża.</h3>



<p class="wp-block-paragraph">Podłoże musi być równe, czyste i suche. Wszelkie nierówności mogą wpłynąć na jakość wylewki. Następnie układana jest izolacja, np. <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-200-z-wypustkami/">płyta styropianowa EPS 200 z wypustkami</a>.</p>



<h3 class="wp-block-heading">2. Układanie rur.</h3>



<p class="wp-block-paragraph">Rury mocuje się za pomocą spinek lub mat. W układzie meandrowym kluczowe jest rozpoczęcie od stref brzegowych i zachowanie odpowiedniego rozstawu.</p>



<h3 class="wp-block-heading">3. Montaż rozdzielacza.</h3>



<p class="wp-block-paragraph">Rozdzielacz jest podłączany do rur i montowany w <a href="https://projekt-ogrzewania.pl/produkt/szafka-podtynkowa-do-rozdzielaczy-ogrzewania-podlogowego/">szafce podtynkowej</a>.</p>



<h3 class="wp-block-heading">4. Próba szczelności.</h3>



<p class="wp-block-paragraph">System wypełnia się wodą pod ciśnieniem i sprawdza przez 24-48 godzin, zgodnie z normą <strong>EN 1264</strong>. Zobacz szczegóły w <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">Próba szczelności ogrzewania podłogowego</a>.</p>



<h3 class="wp-block-heading">5. Wylewka i wykończenie.</h3>



<p class="wp-block-paragraph">Wylewka (21-28 dni schnięcia) otacza rury, a następnie układana jest okładzina podłogowa.</p>



<h2 class="wp-block-heading">Porównanie układu meandrowego z innymi systemami</h2>



<h3 class="wp-block-heading">Układ meandrowy vs ślimakowy.</h3>



<p class="wp-block-paragraph">Układ meandrowy jest tańszy i prostszy w montażu, ale mniej równomiernie rozprowadza ciepło. Ślimakowy, z rurami w spiralnym wzorze, lepiej sprawdza się w dużych pomieszczeniach. Przeczytaj więcej w <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-slimakowym/">Instalacja ogrzewania podłogowego w układzie ślimakowym</a>.</p>



<h3 class="wp-block-heading">Układ meandrowy vs ogrzewanie elektryczne.</h3>



<p class="wp-block-paragraph">Wodne ogrzewanie podłogowe w układzie meandrowym jest bardziej ekonomiczne w eksploatacji niż elektryczne, szczególnie z pompą ciepła. Elektryczne systemy są łatwiejsze w instalacji, ale droższe w użytkowaniu.</p>



<h2 class="wp-block-heading">Koszty instalacji ogrzewania podłogowego w układzie meandrowym.</h2>



<p class="wp-block-paragraph">Koszty zależą od materiałów, robocizny i wielkości powierzchni. Oto szacunkowy rozkład:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th><strong>Element</strong></th><th><strong>Koszt (zł/m²)</strong></th></tr></thead><tbody><tr><td>Materiały (styropian, rury, folia)</td><td>15-25</td></tr><tr><td>Robocizna</td><td>25-35</td></tr><tr><td>Rozdzielacz i automatyka</td><td>10-20</td></tr><tr><td><strong>Całkowity koszt</strong></td><td>80-180 (średnio 110-120)</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Dla domu 100 m² koszt wynosi 8000-18 000 zł. Sprawdź szczegóły w <a href="https://projekt-ogrzewania.pl/ile-kosztuje-100-m%c2%b2-ogrzewania-podlogowego/">Ile kosztuje 100 m² ogrzewania podłogowego?</a>.</p>



<h2 class="wp-block-heading">Przykłady zastosowania.</h2>



<ol class="wp-block-list">
<li><strong>Salon 30 m²</strong>: Pętle zaczynają się przy oknach (odstęp 10 cm), a w centrum odstęp wynosi 15 cm.</li>



<li><strong>Łazienka 6 m²</strong>: Rury omijają wannę, koncentrując się na otwartych przestrzeniach.</li>



<li><strong>Kuchnia 15 m²</strong>: Pętle omijają wyspę kuchenną, zapewniając ciepło w strefach użytkowych.</li>
</ol>



<h2 class="wp-block-heading">Jak wybrać okładzinę podłogową?</h2>



<ul class="wp-block-list">
<li><strong>Płytki ceramiczne</strong>: Niski opór termiczny, idealne do łazienek.</li>



<li><strong>Kamień naturalny</strong>: Droższy, ale efektywny.</li>



<li><strong>Panele laminowane</strong>: Odpowiednie, jeśli oznaczone do podłogówki.</li>



<li><strong>Drewno</strong>: Cienkie deski (do 10 mm) z odpowiednim klejem.</li>
</ul>



<p class="wp-block-paragraph">Przeczytaj więcej w artykule <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ść ogrzewania podłogowego</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-1746973842792"><strong class="schema-faq-question">Czym różni się układ meandrowy od ślimakowego?</strong> <p class="schema-faq-answer">Układ meandrowy układa rury w kształt węża, jest prostszy i tańszy, ale mniej równomiernie rozprowadza ciepło. Ślimakowy, z rurami w spirali, lepiej sprawdza się w dużych pomieszczeniach.</p> </div> <div class="schema-faq-section" id="faq-question-1746973851571"><strong class="schema-faq-question">Jakie odstępy między rurami są najlepsze w układzie meandrowym?</strong> <p class="schema-faq-answer">Standardowy rozstaw to 10-20 cm, ale w strefach brzegowych (np. przy oknach) zaleca się nawet 5 cm, aby zwiększyć efektywność ogrzewania.</p> </div> <div class="schema-faq-section" id="faq-question-1746973884709"><strong class="schema-faq-question">Czy mogę samodzielnie zamontować ogrzewanie podłogowe w układzie meander?</strong> <p class="schema-faq-answer">Samodzielny montaż jest możliwy, ale wymaga wiedzy o rozmieszczeniu rur, próbie szczelności i normach (np. EN 1264). Profesjonalny projekt i ekipa minimalizują ryzyko błędów.</p> </div> <div class="schema-faq-section" id="faq-question-1746973925299"><strong class="schema-faq-question">Czy ogrzewanie podłogowe w układzie meandrowym jest energooszczędne?</strong> <p class="schema-faq-answer">Tak, szczególnie w połączeniu z pompą ciepła. Układ meandrowy działa w niskich temperaturach (35-45°C), co obniża zużycie energii w porównaniu do grzejników.</p> </div> <div class="schema-faq-section" id="faq-question-1746973943964"><strong class="schema-faq-question">Jak uniknąć błędów przy montażu podłogówki w układzie meandrowym?</strong> <p class="schema-faq-answer">Kluczowe jest profesjonalne projektowanie, unikanie rur pod zabudową, prawidłowa próba szczelności i zgodność z normami, np. EN 1264. Sprawdź najczęstsze błędy przy montażu ogrzewania podłogowego.</p> </div> </div>



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



<p class="wp-block-paragraph"><strong>Instalacja ogrzewania podłogowego w układzie meandrowym</strong> to efektywne rozwiązanie, które łączy prostotę, komfort i oszczędności. Kluczowe jest staranne planowanie pętli, wybór materiałów i profesjonalny projekt. Dzięki temu system zapewni ciepło i obniży rachunki za ogrzewanie.</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="5pGDJnlkuc"><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=NaCy7BiX3w#?secret=5pGDJnlkuc" data-secret="5pGDJnlkuc" 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-meandrowym/">Instalacja ogrzewania podłogowego w układzie meandrowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Kiedy najlepiej planować montaż ogrzewania podłogowego w nowym domu?</title>
		<link>https://projekt-ogrzewania.pl/kiedy-najlepiej-planowac-montaz-ogrzewania-podlogowego-w-nowym-domu/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Tue, 11 Mar 2025 08:50:26 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Dom pasywny]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Harmonogram budowy]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Komfort cieplny]]></category>
		<category><![CDATA[Nowoczesne technologie grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady budowlane]]></category>
		<category><![CDATA[Projektowanie domu]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[dom pasywny]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[faza projektowa]]></category>
		<category><![CDATA[harmonogram budowy]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[izolacja termiczna]]></category>
		<category><![CDATA[koordynacja prac]]></category>
		<category><![CDATA[materiały grzewcze]]></category>
		<category><![CDATA[nowy dom]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[planowanie instalacji]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[wylewka]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2395</guid>

					<description><![CDATA[<p>Budowa nowego domu to idealny moment, by zadbać o komfort cieplny na lata. W tym artykule znajdziesz praktyczne porady, jak zaplanować instalację ogrzewania podłogowego, aby uniknąć opóźnień i dodatkowych kosztów. Dowiesz się, dlaczego faza projektowa jest kluczowa, jak zsynchronizować prace z harmonogramem budowy i kiedy najlepiej planować montaż ogrzewania podłogowego w nowym domu. Poznaj kroki, przykłady i błędy do uniknięcia, by Twój system działał efektywnie!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kiedy-najlepiej-planowac-montaz-ogrzewania-podlogowego-w-nowym-domu/">Kiedy najlepiej planować montaż ogrzewania podłogowego w nowym domu?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Planowanie montażu ogrzewania podłogowego w nowym domu to decyzja, która może znacząco wpłynąć na komfort życia, efektywność energetyczną i harmonogram budowy. Odpowiednie wyczucie czasu jest kluczowe, aby instalacja przebiegła sprawnie i bez zbędnych komplikacji. W tym artykule dowiesz się, <strong>kiedy najlepiej planować montaż ogrzewania podłogowego w nowym domu</strong>, jakie etapy budowy są do tego odpowiednie i dlaczego wczesne planowanie może zaoszczędzić Ci czasu oraz pieniędzy. Przyjrzymy się także praktycznym aspektom, takim jak wybór materiałów czy koordynacja z innymi pracami budowlanymi, abyś mógł podjąć świadomą decyzję.</p>



<h2 class="wp-block-heading">Dlaczego czas ma znaczenie przy instalacji ogrzewania podłogowego?</h2>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl">Ogrzewanie podłogowe</a>, zwane potocznie <em>podłogówką</em>, to rozwiązanie, które wymaga precyzyjnego dopasowania do projektu domu. W przeciwieństwie do tradycyjnych grzejników, jego instalacja jest bardziej złożona i musi być zsynchronizowana z konkretnymi etapami budowy. Jeśli zaplanujesz to zbyt późno, możesz narazić się na dodatkowe koszty związane z przeróbkami lub opóźnieniami. Z kolei zbyt wczesne decyzje bez odpowiedniego przygotowania mogą prowadzić do wyboru niewłaściwego systemu czy materiałów.</p>



<p class="wp-block-paragraph">Wczesne planowanie pozwala również na lepsze oszacowanie budżetu. Na przykład, system mokry (z rurami zatopionymi w wylewce) wymaga miejsca na grubszą warstwę podłogi, co może wpłynąć na projekt architektoniczny. Dlatego im wcześniej zaczniesz, tym łatwiej unikniesz niespodzianek.</p>



<h3 class="wp-block-heading">Kluczowe korzyści wczesnego planowania.</h3>



<ul class="wp-block-list">
<li><strong>Dopasowanie do projektu domu</strong>: Możesz uwzględnić specyficzne wymagania, takie jak rozstaw rur czy rodzaj izolacji.</li>



<li><strong>Oszczędność czasu</strong>: Unikasz konieczności wstrzymywania budowy na rzecz instalacji.</li>



<li><strong>Lepsza koordynacja</strong>: Łatwiej zsynchronizujesz pracę hydraulików, budowlańców i projektantów.</li>
</ul>



<h2 class="wp-block-heading">Najlepszy moment na planowanie: faza projektowa.</h2>



<h3 class="wp-block-heading">Dlaczego warto zacząć od projektu?</h3>



<p class="wp-block-paragraph">Najlepszym momentem na planowanie montażu ogrzewania podłogowego jest faza projektowania domu – zanim jeszcze wylejesz fundamenty. To wtedy podejmujesz decyzje o układzie pomieszczeń, izolacji termicznej i źródle ciepła, co ma bezpośredni wpływ na efektywność systemu grzewczego. Na przykład, jeśli planujesz dom pasywny, projekt ogrzewania podłogowego musi być precyzyjnie dopasowany do minimalnego zapotrzebowania energetycznego, co wymaga specjalistycznej wiedzy już na starcie.</p>



<p class="wp-block-paragraph">Taki <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projekt</a>, uwzględniający rozmieszczenie pętli grzewczych i obliczenia strat ciepła, jest fundamentem udanej instalacji – więcej o tym, jak powinien wyglądać, znajdziesz w artykule <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">Jak powinien wyglądać profesjonalny projekt do ogrzewania podłogowego?</a>.</p>



<h3 class="wp-block-heading">Co powinno się znaleźć w planie?</h3>



<ul class="wp-block-list">
<li><strong>Rodzaj systemu</strong>: <a href="https://projekt-ogrzewania.pl/czym-jest-system-mokry-w-wodnym-ogrzewaniu-podlogowym/">Mokry (wodny)</a> czy elektryczny – każdy ma inne wymagania instalacyjne.</li>



<li><strong>Źródło ciepła</strong>: Pompa ciepła, kocioł gazowy czy inny system – to wpływa na parametry rur i rozdzielaczy.</li>



<li><strong>Układ pętli</strong>: Precyzyjne rozmieszczenie rur, np. <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-slimakowym/">w systemie ślimakowym</a> lub meandrowym, dostosowane do pomieszczeń.</li>
</ul>



<p class="wp-block-paragraph">Przykładowo, w salonie o powierzchni 30 m² możesz potrzebować 3-4 pętli grzewczych o długości maksymalnie 100 metrów każda, co zależy od rozstawu rur (np. co 10 lub 15 cm). Takie szczegóły najlepiej ustalić na etapie projektu, aby uniknąć późniejszych poprawek.</p>



<h2 class="wp-block-heading">Harmonogram budowy a instalacja podłogówki.</h2>



<h3 class="wp-block-heading">Etap przygotowania podłogi.</h3>



<p class="wp-block-paragraph">W praktyce instalacja ogrzewania podłogowego zaczyna się po przygotowaniu podłogi – czyli po wylaniu płyty fundamentowej lub ułożeniu stropu w przypadku domów piętrowych. To moment, w którym kładzie się izolację termiczną, np. <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-200-z-wypustkami/" target="_blank" rel="noreferrer noopener">płytę styropianową EPS 200 z wypustkami</a>, a następnie układa rury lub maty grzewcze. Zanim jednak dojdzie do tego etapu, musisz mieć gotowy projekt i zamówione materiały, co wymaga planowania z wyprzedzeniem co najmniej 2-3 miesięcy.</p>



<p class="wp-block-paragraph">Przykładowy harmonogram dla domu o powierzchni 150 m²:</p>



<ol class="wp-block-list">
<li><strong>Miesiąc 1-2</strong>: Projekt domu i decyzja o systemie grzewczym.</li>



<li><strong>Miesiąc 3</strong>: Zamówienie materiałów, np. rur wielowarstwowych.</li>



<li><strong>Miesiąc 5</strong>: Przygotowanie podłogi i izolacji.</li>



<li><strong>Miesiąc 6</strong>: Układanie rur i testy szczelności.</li>



<li><strong>Miesiąc 7</strong>: Wylanie wylewki i schnięcie (ok. 4 tygodnie).</li>
</ol>



<h3 class="wp-block-heading">Przed wylaniem wylewki.</h3>



<p class="wp-block-paragraph">Kluczowym momentem jest instalacja rur przed wylaniem wylewki. To wtedy układane są pętle grzewcze, mocowane za pomocą spinek do styropianu lub mat z wypustkami. Po tym etapie następuje próba szczelności, która potwierdza, że system jest gotowy do zalania betonem. Warto zaplanować ten krok tak, aby ekipa budowlana mogła od razu przejść do wylewki, co wymaga ścisłej koordynacji.</p>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego w kontekście planowania.</h2>



<p class="wp-block-paragraph">W kontekście tego artykułu warto podkreślić, jak istotną rolę odgrywa profesjonalny projekt ogrzewania podłogowego. Taki dokument, przygotowany przez specjalistów, nie tylko określa optymalny układ rur, ale także pomaga zsynchronizować instalację z harmonogramem budowy. Na przykład, <a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-250-m2/">tutaj</a><a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-250-m2/" target="_blank" rel="noreferrer noopener"> </a>znajdziesz ofertę projektów dla domów do 250 m², które obejmują rysunki techniczne, obliczenia i zestawienie materiałów. Taki projekt pozwala zaplanować instalację już na etapie projektowania domu, co jest zgodne z rekomendowanym podejściem opisanym w tym artykule. Co więcej, zamówienie projektu z wyprzedzeniem daje Ci czas na wybór odpowiednich komponentów, takich jak rozdzielacze czy taśmy przyścienne, co dodatkowo usprawnia proces.</p>



<h2 class="wp-block-heading">Czynniki, które mogą wpłynąć na timing.</h2>



<h3 class="wp-block-heading">Dostępność materiałów.</h3>



<p class="wp-block-paragraph">Jednym z praktycznych aspektów, który należy uwzględnić, jest czas dostawy materiałów. Rury, rozdzielacze czy izolacja mogą mieć różną dostępność w zależności od sezonu. Na przykład, w okresie jesienno-zimowym, kiedy budownictwo jest w szczycie, terminy realizacji mogą się wydłużyć – dlatego warto zapoznać się z naszą ofertą <a href="https://projekt-ogrzewania.pl/sklep/" target="_blank" rel="noreferrer noopener">materiałów do ogrzewania podłogowego</a> i zamówić je z wyprzedzeniem.</p>



<h3 class="wp-block-heading">Warunki pogodowe.</h3>



<p class="wp-block-paragraph">Choć instalacja podłogówki może odbywać się przez cały rok, warunki zimowe mogą skomplikować proces. Niskie temperatury wydłużają czas wiązania wylewki – standardowo 28 dni w temperaturze 20°C, ale przy 5°C może to być nawet 40 dni. Planowanie na wiosnę lub lato może więc przyspieszyć prace, choć nie jest to warunek konieczny.</p>



<h3 class="wp-block-heading">Koordynacja z ekipą budowlaną.</h3>



<p class="wp-block-paragraph">Harmonogram zależy także od dostępności fachowców. Hydraulicy, którzy montują system, muszą współpracować z ekipą wylewającą posadzkę. Jeśli nie zaplanujesz tego z wyprzedzeniem, możesz czekać na wolny termin, co opóźni budowę. Przykładowo, w małym domu (100 m²) instalacja zajmuje ok. 2-3 dni, ale w większym (200 m²) może potrwać tydzień.</p>



<h2 class="wp-block-heading">Jak zaplanować montaż ogrzewania podłogowego krok po kroku?</h2>



<p class="wp-block-paragraph">Aby ułatwić Ci organizację, oto tabela podsumowująca kluczowe kroki w planowaniu montażu ogrzewania podłogowego w nowym domu. Każdy etap zawiera wskazówki i linki do dalszej lektury na blogu, które pomogą Ci zgłębić temat:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th><strong>Krok</strong></th><th><strong>Czas</strong></th><th><strong>Działanie</strong></th><th><strong>Dodatkowe informacje</strong></th></tr></thead><tbody><tr><td>Wybór systemu</td><td>Przed budową</td><td>Zdecyduj: mokry czy elektryczny, określ źródło ciepła</td><td><a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/" target="_blank" rel="noreferrer noopener">Jak działa ogrzewanie podłogowe?</a></td></tr><tr><td>Projekt instalacji</td><td>Miesiąc 1-2</td><td>Zamów projekt z układem pętli i obliczeniami</td><td><a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">Jak powinien wyglądać projekt?</a></td></tr><tr><td>Zamówienie materiałów</td><td>Miesiąc 3</td><td>Kup rury, izolację, rozdzielacze</td><td>Sprawdź ofertę w <a href="https://projekt-ogrzewania.pl/sklep/" target="_blank" rel="noreferrer noopener">sklepie</a></td></tr><tr><td>Przygotowanie podłogi</td><td>Miesiąc 5</td><td>Ułóż izolację i przygotuj podłoże</td><td>Dowiedz się więcej o izolacji na blogu</td></tr><tr><td>Instalacja i testy</td><td>Miesiąc 6</td><td>Ułóż rury, wykonaj próbę szczelności</td><td><a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">Próba szczelności podłogówki</a></td></tr><tr><td>Wylewka i wykończenie</td><td>Miesiąc 7-8</td><td>Wylej posadzkę i połóż podłogę</td><td>Sprawdź wytyczne na blogu</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Te kroki to uniwersalny plan, który możesz dostosować do swojego harmonogramu. Więcej szczegółów znajdziesz na <a href="https://projekt-ogrzewania.pl/blog/" target="_blank" rel="noreferrer noopener">blogu Projekt Ogrzewania</a>, gdzie eksperci dzielą się praktycznymi poradami.</p>



<h2 class="wp-block-heading">Praktyczne przykłady planowania.</h2>



<h3 class="wp-block-heading">Dom jednorodzinny 120 m².</h3>



<p class="wp-block-paragraph">Pan Kowalski buduje dom o powierzchni 120 m² z pompą ciepła. W lutym 2025 r. wybiera projekt domu i decyduje się na mokre ogrzewanie podłogowe. W marcu zamawia projekt instalacji i materiały, takie jak rury i rozdzielacz mosiężny z rotametrami. W maju, po wylaniu płyty fundamentowej, ekipa układa izolację i rury, a w czerwcu wylewa posadzkę. Dzięki planowaniu na etapie projektowym unika opóźnień i ma gotowy system przed zimą.</p>



<h3 class="wp-block-heading">Dom pasywny 200 m².</h3>



<p class="wp-block-paragraph">Pani Nowak buduje dom pasywny. Już w grudniu 2024 r., na etapie projektowania, konsultuje się z inżynierem od ogrzewania podłogowego. Wybiera system o niskiej bezwładności cieplnej, co wymaga precyzyjnego rozstawu rur. W kwietniu 2025 r. zamawia materiały, a w lipcu instalacja jest gotowa do wylewki. Wczesne planowanie pozwala jej zoptymalizować koszty energii.</p>



<h2 class="wp-block-heading">Jakie błędy unikać podczas planowania?</h2>



<ul class="wp-block-list">
<li><strong>Zbyt późna decyzja</strong>: Czekanie do etapu wykańczania wnętrz może wymagać przeróbek, np. podnoszenia podłogi.</li>



<li><strong>Brak projektu</strong>: Instalacja „na oko” prowadzi do nierównomiernego ogrzewania lub za długich pętli.</li>



<li><strong>Ignorowanie izolacji</strong>: Słaba izolacja pod rurami zwiększa straty ciepła, co obniża efektywność.</li>
</ul>



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



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1741682234591"><strong class="schema-faq-question">Czy mogę zaplanować ogrzewanie podłogowe po rozpoczęciu budowy?</strong> <p class="schema-faq-answer">Tak, ale najlepiej zrobić to przed budową, w fazie projektowej. Późniejsze planowanie może wymagać przeróbek, np. dostosowania podłogi, co zwiększa koszty i opóźnia prace.</p> </div> <div class="schema-faq-section" id="faq-question-1741682246163"><strong class="schema-faq-question">Jak długo trzeba czekać na materiały do ogrzewania podłogowego?</strong> <p class="schema-faq-answer">To zależy od sezonu i dostawcy. W szczycie budowlanym (jesień-zima) może to być 6-8 tygodni, dlatego warto zamówić je z wyprzedzeniem, np. 2-3 miesiące przed instalacją.</p> </div> <div class="schema-faq-section" id="faq-question-1741682257035"><strong class="schema-faq-question">Czy zima to dobry czas na instalację podłogówki?</strong> <p class="schema-faq-answer">Instalacja jest możliwa, ale niskie temperatury wydłużają wiązanie wylewki (nawet do 40 dni przy 5°C). Wiosna lub lato mogą przyspieszyć proces, choć nie jest to konieczne.</p> </div> <div class="schema-faq-section" id="faq-question-1741682270580"><strong class="schema-faq-question">Czy projekt ogrzewania podłogowego jest konieczny?</strong> <p class="schema-faq-answer">Tak, profesjonalny projekt zapewnia optymalny układ rur i zgodność z harmonogramem budowy. Bez niego ryzykujesz nierównomierne ogrzewanie lub problemy techniczne.</p> </div> <div class="schema-faq-section" id="faq-question-1741682284635"><strong class="schema-faq-question">Jakie materiały są kluczowe przy planowaniu podłogówki?</strong> <p class="schema-faq-answer">Potrzebne są rury (np. PERT), izolacja (np. styropian EPS), rozdzielacze i taśmy przyścienne. Wybór zależy od projektu – warto skonsultować się ze specjalistą na etapie planowania.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie: kiedy zacząć?</h2>



<p class="wp-block-paragraph">Planowanie montażu ogrzewania podłogowego w nowym domu najlepiej rozpocząć na etapie projektowania – czyli zanim jeszcze ruszy budowa. To pozwala na precyzyjne dopasowanie systemu do domu, wybór odpowiednich materiałów i zsynchronizowanie instalacji z harmonogramem. W praktyce prace instalacyjne zaczynają się po przygotowaniu podłogi, ale kluczowe decyzje i zakupy powinny być zrobione wcześniej – najlepiej 2-3 miesiące przed tym etapem. Uwzględniając dostępność materiałów, warunki pogodowe i współpracę z ekipą, możesz zapewnić sobie sprawną realizację i komfort cieplny na lata.</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="98ZFGMMHc9"><a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-100-m2/">Projekt ogrzewania podłogowego &#8211; do 100 m2</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt ogrzewania podłogowego &#8211; do 100 m2&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-100-m2/embed/#?secret=oahlJRVCEl#?secret=98ZFGMMHc9" data-secret="98ZFGMMHc9" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kiedy-najlepiej-planowac-montaz-ogrzewania-podlogowego-w-nowym-domu/">Kiedy najlepiej planować montaż ogrzewania podłogowego w nowym domu?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Wylewka na ogrzewanie podłogowe – kompletny przewodnik.</title>
		<link>https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/</link>
					<comments>https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Tue, 18 Feb 2025 19:48:37 +0000</pubDate>
				<category><![CDATA[Budowa i remont]]></category>
		<category><![CDATA[Jastrych]]></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[Porady budowlane]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Remonty i budowa]]></category>
		<category><![CDATA[Wylewka]]></category>
		<category><![CDATA[Wylewka anhydrytowa]]></category>
		<category><![CDATA[Wylewka cementowa]]></category>
		<category><![CDATA[grubość wylewki]]></category>
		<category><![CDATA[izolacja termiczna]]></category>
		<category><![CDATA[jastrych]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[podkład podłogowy]]></category>
		<category><![CDATA[porady budowlane]]></category>
		<category><![CDATA[system grzewczy]]></category>
		<category><![CDATA[wylewka]]></category>
		<category><![CDATA[wylewka anhydrytowa]]></category>
		<category><![CDATA[wylewka cementowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2254</guid>

					<description><![CDATA[<p>Planujesz montaż ogrzewania podłogowego? Wylewka na ogrzewanie podłogowe to kluczowy element, który wpływa na efektywność i trwałość całego systemu. W naszym artykule dowiesz się, jak wybrać odpowiedni rodzaj wylewki (cementową lub anhydrytową), jaką grubość zastosować oraz na co zwrócić uwagę podczas jej wykonywania. Poznasz również najczęstsze błędy i praktyczne wskazówki, które pomogą Ci uniknąć kosztownych pomyłek. Sprawdź, jak prawidłowo przygotować podłoże i ciesz się równomiernym ciepłem w swoim domu!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">Wylewka na ogrzewanie podłogowe – kompletny przewodnik.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-blue: #2563eb;
    --rk-intro-cyan: #06b6d4;
    --rk-intro-red: #dc2626;
    --rk-intro-green: #16a34a;
    --rk-intro-bg: #ffffff;
    --rk-intro-surface: #f8fafc;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
}

.rk-intro-app {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-intro-bg);
    border-radius: 20px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-intro-border);
    overflow: hidden;
}

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

.rk-intro-title {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    margin: 0 0 25px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-intro-title svg {
    color: var(--rk-intro-blue);
}

.rk-intro-text-block {
    font-size: 17px;
    line-height: 1.8;
    color: var(--rk-intro-text);
    margin-bottom: 20px;
}

.rk-intro-text-block strong {
    color: var(--rk-intro-dark);
    font-weight: 700;
}

.rk-intro-text-block a {
    color: var(--rk-intro-blue);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 2px solid rgba(37, 99, 235, 0.2);
    transition: all 0.3s ease;
}

.rk-intro-text-block a:hover {
    border-bottom-color: var(--rk-intro-blue);
    background: rgba(37, 99, 235, 0.05);
}

.rk-intro-alert {
    background: #fff1f2;
    border-left: 4px solid var(--rk-intro-red);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin: 25px 0 0 0;
    font-size: 16px;
    line-height: 1.6;
    color: #881337;
}

/* Sekcja Interaktywna - Skaner */
.rk-intro-scanner {
    padding: 40px 50px;
    background: var(--rk-intro-dark);
    color: #ffffff;
}

.rk-scanner-header {
    text-align: center;
    margin-bottom: 30px;
}

.rk-scanner-header h3 {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 10px 0;
    color: #f8fafc;
}

.rk-scanner-header p {
    color: #94a3b8;
    font-size: 15px;
    margin: 0;
}

/* Suwak w stylu aplikacji */
.rk-slider-container {
    padding: 20px 0;
    margin-bottom: 30px;
}

.rk-range-input {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: linear-gradient(90deg, var(--rk-intro-red) 0%, var(--rk-intro-cyan) 50%, var(--rk-intro-green) 100%);
    border-radius: 10px;
    outline: none;
    cursor: grab;
}

.rk-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 0 15px rgba(255,255,255,0.5);
    border: 4px solid var(--rk-intro-dark);
    cursor: grabbing;
    transition: transform 0.1s;
}

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

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

.rk-label-bad { color: #f87171; }
.rk-label-good { color: #4ade80; }

/* Ekran diagnostyczny */
.rk-diag-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: center;
}

.rk-diag-svg {
    width: 100%;
    max-width: 350px;
    margin: 0 auto;
    background: #1e293b;
    border-radius: 16px;
    padding: 20px;
    box-shadow: inset 0 4px 6px rgba(0,0,0,0.3);
}

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

.rk-stat-item {
    margin-bottom: 20px;
}
.rk-stat-item:last-child { margin-bottom: 0; }

.rk-stat-title {
    font-size: 13px;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 5px;
}

.rk-stat-value {
    font-size: 24px;
    font-weight: 900;
    display: flex;
    align-items: baseline;
    gap: 5px;
    transition: color 0.3s;
}

.rk-stat-value small {
    font-size: 14px;
    font-weight: 600;
    opacity: 0.7;
}

/* Dynamika klas JS */
.status-critical .rk-stat-value { color: var(--rk-intro-red); }
.status-warning .rk-stat-value { color: var(--rk-intro-cyan); }
.status-optimal .rk-stat-value { color: var(--rk-intro-green); }

/* SVG Animacje wewnątrz Skanera */
.anim-heat-ray {
    stroke-dasharray: 10;
    animation: flowHeat 2s linear infinite;
}

@keyframes flowHeat {
    to { stroke-dashoffset: -20; }
}

@media (max-width: 768px) {
    .rk-intro-content, .rk-intro-scanner { padding: 30px 20px; }
    .rk-diag-grid { grid-template-columns: 1fr; }
    .rk-intro-title { font-size: 22px; }
    .rk-diag-svg { padding: 10px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/"
    },
    "headline": "Rola jastrychu grzejnego w systemie ogrzewania podłogowego",
    "description": "Czym jest wylewka na ogrzewanie podłogowe? Wyjaśniamy funkcje jastrychu grzejnego, normę PN-EN 1264-4 oraz zagrożenia płynące ze złego wykonawstwa (cisi zabójcy budżetu).",
    "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-02-18",
    "dateModified": "2026-05-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#dataset-wstep",
    "name": "Parametry Prawidłowego Jastrychu wg PN-EN 1264-4",
    "description": "Baza wiedzy definiująca techniczne uwarunkowania wylewki grzejnej, z naciskiem na bezwładność, dylatacje i straty energii.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jastrych grzejny grubość 50-80mm",
      "norma PN-EN 1264-4 otulina rury",
      "bezwładność cieplna wylewki",
      "dylatacje ogrzewania podłogowego",
      "cisi zabójcy sprawności energetycznej"
    ],
    "measurementTechnique": "Analiza zgodności warstwy jastrychu z normami budowlanymi i termodynamiką.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Płyta akumulacyjna: Optymalna grubość to 50-80 mm dla zachowania balansu bezwładności.",
        "Otulina rury: Brak szczelnego przylegania betonu powoduje powstawanie izolatora powietrznego.",
        "Ryzyka awarii: Pęknięcia z powodu braku dylatacji zmniejszają przewodność i uszkadzają posadzkę."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#webapp-skaner",
    "name": "Inżynierski Skaner Jakości Jastrychu",
    "description": "Interaktywna aplikacja typu suwak (slider) pozwalająca użytkownikowi zobaczyć różnicę między wylewką wadliwą (pęcherze powietrza, pęknięcia) a zgodną z normą PN-EN 1264-4.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 Range Input and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-intro-app" id="wylewka-intro-app">
    
    <!-- Treść Wstępu -->
    <div class="rk-intro-content">
        <h2 class="rk-intro-title">
            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect><line x1="8" y1="21" x2="16" y2="21"></line><line x1="12" y1="17" x2="12" y2="21"></line></svg>
            Fundament sprawności systemu
        </h2>
        
        <p class="rk-intro-text-block">
            <strong>Wylewka na ogrzewanie podłogowe</strong>, fachowo nazywana <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">jastrychem grzejnym</a>, to warstwa podkładu podłogowego o grubości zazwyczaj od <strong>50 mm do 80 mm</strong>, pełniąca funkcję emitora ciepła, ochrony mechanicznej przewodów oraz płyty akumulacyjnej. 
        </p>
        
        <p class="rk-intro-text-block">
            Według normy <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">PN-EN 1264-4</a>, jastrych musi szczelnie otaczać rury grzejne, aby zapewnić maksymalną przewodność cieplną i równomierny rozkład temperatury na powierzchni posadzki (T<sub>surf</sub>).
        </p>

        <div class="rk-intro-alert">
            <strong>Problem z wylewką to nie tylko kwestia estetyki, ale przede wszystkim sprawności energetycznej.</strong> Zbyt duża <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładność cieplna</a>, pęknięcia wynikające z braku <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">dylatacji</a> czy niska przewodność materiału to „cisi zabójcy” Twojego portfela. Poniżej rozbijam ten temat na czynniki pierwsze.
        </div>
    </div>

    <!-- Interaktywny Skaner -->
    <div class="rk-intro-scanner">
        <div class="rk-scanner-header">
            <h3>Skaner Jakości Wylewki (Symulator)</h3>
            <p>Przesuń suwak, aby zobaczyć, co dzieje się wewnątrz posadzki.</p>
        </div>

        <div class="rk-slider-container">
            <input type="range" min="0" max="100" value="100" class="rk-range-input" id="rkQualitySlider">
            <div class="rk-slider-labels">
                <span class="rk-label-bad">Błędy Wykonawcze</span>
                <span class="rk-label-good">Norma PN-EN 1264</span>
            </div>
        </div>

        <div class="rk-diag-grid" id="rkDiagGrid">
            
            <!-- Grafika SVG -->
            <div class="rk-diag-svg">
                <svg viewBox="0 0 300 200" xmlns="http://www.w3.org/2000/svg">
                    <!-- Izolacja EPS -->
                    <rect x="0" y="160" width="300" height="40" fill="#334155"/>
                    <text x="10" y="185" fill="#64748b" font-size="12" font-family="sans-serif">EPS (Izolacja)</text>
                    
                    <!-- Rury -->
                    <circle cx="80" cy="130" r="14" fill="#ef4444" stroke="#ffffff" stroke-width="2"/>
                    <circle cx="220" cy="130" r="14" fill="#ef4444" stroke="#ffffff" stroke-width="2"/>
                    
                    <!-- Dylatacja brzegowa -->
                    <rect x="290" y="50" width="10" height="110" fill="#0ea5e9" id="svgDylatacja" opacity="1"/>

                    <!-- Zły Jastrych (Widoczny przy niskiej jakości) -->
                    <g id="svgBadScreed" opacity="0">
                        <path d="M0 50 H290 V160 H0 Z" fill="#475569"/>
                        <!-- Pęknięcie z powodu braku dylatacji -->
                        <path d="M150 50 L140 80 L160 110 L150 160" fill="none" stroke="#0f172a" stroke-width="3"/>
                        <!-- Pęcherze powietrza (Izolator) wokół rur -->
                        <circle cx="80" cy="130" r="22" fill="none" stroke="#94a3b8" stroke-width="2" stroke-dasharray="4"/>
                        <circle cx="220" cy="130" r="22" fill="none" stroke="#94a3b8" stroke-width="2" stroke-dasharray="4"/>
                        <text x="100" y="100" fill="#f87171" font-size="10" font-weight="bold">Powietrze = Izolator</text>
                        <!-- Zaburzony strumień ciepła -->
                        <path d="M80 100 Q60 70 90 40" fill="none" stroke="#ef4444" stroke-width="2" opacity="0.3"/>
                    </g>

                    <!-- Dobry Jastrych (Widoczny przy wysokiej jakości) -->
                    <g id="svgGoodScreed" opacity="1">
                        <path d="M0 50 H290 V160 H0 Z" fill="#94a3b8"/>
                        <!-- Prawidłowy otulina -->
                        <circle cx="80" cy="130" r="18" fill="none" stroke="#10b981" stroke-width="2"/>
                        <circle cx="220" cy="130" r="18" fill="none" stroke="#10b981" stroke-width="2"/>
                        <!-- Idealny strumień ciepła -->
                        <path class="anim-heat-ray" d="M80 110 V30" fill="none" stroke="#ef4444" stroke-width="3"/>
                        <path class="anim-heat-ray" d="M220 110 V30" fill="none" stroke="#ef4444" stroke-width="3"/>
                    </g>
                </svg>
            </div>

            <!-- Dane diagnostyczne -->
            <div class="rk-diag-stats">
                <div class="rk-stat-item">
                    <div class="rk-stat-title">Straty energetyczne</div>
                    <div class="rk-stat-value" id="valLoss">0<small>%</small></div>
                </div>
                <div class="rk-stat-item">
                    <div class="rk-stat-title">Zgodność z normą PN-EN</div>
                    <div class="rk-stat-value" id="valNorm">Pełna <small>(Akceptacja)</small></div>
                </div>
                <div class="rk-stat-item">
                    <div class="rk-stat-title">Ocena ryzyka awarii</div>
                    <div class="rk-stat-value" id="valRisk">Brak <small>(Dylatacje aktywne)</small></div>
                </div>
            </div>

        </div>
    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE (DOMAIN LOCK)
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez nagłówków H-tag)
    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('wylewka-intro-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 30px; text-align: center; background: #fff1f2; color: #be123c; border: 2px solid #f43f5e; border-radius: 16px; font-family: sans-serif; margin: 20px;">
                    <div style="font-size: 32px; margin-bottom: 10px;">⚠️</div>
                    <div style="font-size: 16px; font-weight: 800; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 14px; margin-top: 10px;">
                        Moduł "Skaner Jakości" i dane JSON-LD są przypisane do domeny Projekt-Ogrzewania.pl. Uruchomienie zablokowane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Skanera Jakości
    const slider = document.getElementById('rkQualitySlider');
    const svgGood = document.getElementById('svgGoodScreed');
    const svgBad = document.getElementById('svgBadScreed');
    const svgDylatacja = document.getElementById('svgDylatacja');
    
    const valLoss = document.getElementById('valLoss');
    const valNorm = document.getElementById('valNorm');
    const valRisk = document.getElementById('valRisk');
    const diagGrid = document.getElementById('rkDiagGrid');

    function updateScanner(val) {
        // Przeliczenie na skale 0-1
        const goodOpacity = val / 100;
        const badOpacity = 1 - goodOpacity;

        // Aktualizacja SVG
        svgGood.style.opacity = goodOpacity;
        svgBad.style.opacity = badOpacity;
        
        // Dylatacja zanika poniżej 40% jakości
        if(val < 40) {
            svgDylatacja.style.opacity = '0.2';
            svgDylatacja.setAttribute('fill', '#ef4444');
        } else {
            svgDylatacja.style.opacity = '1';
            svgDylatacja.setAttribute('fill', '#0ea5e9');
        }

        // Aktualizacja tekstów i klas kolorów
        diagGrid.classList.remove('status-optimal', 'status-warning', 'status-critical');

        if (val >= 80) {
            diagGrid.classList.add('status-optimal');
            valLoss.innerHTML = `${Math.round((100 - val) * 0.2)}<small>%</small>`;
            valNorm.innerHTML = `Pełna <small>(Akceptacja)</small>`;
            valRisk.innerHTML = `Niskie <small>(Otulina OK)</small>`;
        } else if (val >= 40) {
            diagGrid.classList.add('status-warning');
            valLoss.innerHTML = `${Math.round((100 - val) * 0.4)}<small>%</small>`;
            valNorm.innerHTML = `Częściowa <small>(Ostrzeżenie)</small>`;
            valRisk.innerHTML = `Średnie <small>(Pęcherze powietrza)</small>`;
        } else {
            diagGrid.classList.add('status-critical');
            valLoss.innerHTML = `${Math.round((100 - val) * 0.6)}<small>%</small>`;
            valNorm.innerHTML = `Brak <small>(Odrzucenie)</small>`;
            valRisk.innerHTML = `Krytyczne <small>(Pęknięcia/Izolator)</small>`;
        }
    }

    // Inicjalizacja nasłuchu na suwak
    slider.addEventListener('input', (e) => {
        updateScanner(e.target.value);
    });

    // Uruchomienie początkowe
    updateScanner(slider.value);
});
</script>



<style>
:root {
    --rk-vs-dark: #0f172a;
    --rk-vs-panel: #1e293b;
    --rk-vs-anhydrite: #fbbf24; /* Ciepły, płynny kolor */
    --rk-vs-cement: #94a3b8; /* Chłodny, betonowy szary */
    --rk-vs-heat: #ef4444;
    --rk-vs-bg: #ffffff;
    --rk-vs-border: #e2e8f0;
    --rk-vs-text: #334155;
}

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

/* Nagłówek Sekcji */
.rk-vs-header {
    padding: 40px 50px 25px;
    background: linear-gradient(to right, #ffffff, #f8fafc);
    border-bottom: 1px solid var(--rk-vs-border);
}

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

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

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

.rk-vs-desc a {
    color: #2563eb;
    font-weight: 600;
    text-decoration: none;
    box-shadow: inset 0 -2px 0 rgba(37, 99, 235, 0.2);
    transition: all 0.2s;
}

.rk-vs-desc a:hover {
    box-shadow: inset 0 -10px 0 rgba(37, 99, 235, 0.1);
}

/* Interfejs Symulatora */
.rk-vs-app {
    display: grid;
    grid-template-columns: 350px 1fr;
    background: var(--rk-vs-panel);
    color: #ffffff;
}

/* Panel Boczny z Wyborem */
.rk-vs-sidebar {
    padding: 30px;
    border-right: 1px solid rgba(255,255,255,0.1);
    background: #0f172a;
}

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

.rk-type-btn {
    display: block;
    width: 100%;
    padding: 20px;
    margin-bottom: 15px;
    background: rgba(255,255,255,0.03);
    border: 2px solid rgba(255,255,255,0.1);
    border-radius: 16px;
    color: #ffffff;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.rk-type-btn:hover {
    background: rgba(255,255,255,0.08);
}

.rk-type-btn.active[data-target="anhydrite"] {
    background: rgba(251, 191, 36, 0.1);
    border-color: var(--rk-vs-anhydrite);
}

.rk-type-btn.active[data-target="cement"] {
    background: rgba(148, 163, 184, 0.1);
    border-color: var(--rk-vs-cement);
}

.rk-type-name {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 5px;
    display: block;
}

.rk-type-hint {
    font-size: 13px;
    color: #94a3b8;
}

/* Główny Ekran Symulacji */
.rk-vs-main {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Wizualizacja SVG */
.rk-vs-visual {
    width: 100%;
    max-width: 400px;
    margin: 0 auto 30px auto;
    position: relative;
}

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

/* Animacje fal ciepła */
.heat-wave {
    opacity: 0;
    transform-origin: bottom center;
}

.state-anhydrite .heat-wave {
    animation: flowUpFast 1.5s infinite linear;
    stroke: var(--rk-vs-anhydrite);
}

.state-cement .heat-wave {
    animation: flowUpSlow 3s infinite linear;
    stroke: #fca5a5;
}

/* Opóźnienia dla płynności */
.hw-1 { animation-delay: 0.0s !important; }
.hw-2 { animation-delay: 0.5s !important; }
.hw-3 { animation-delay: 1.0s !important; }

@keyframes flowUpFast {
    0% { transform: translateY(10px) scale(0.8); opacity: 0; }
    50% { opacity: 0.8; }
    100% { transform: translateY(-40px) scale(1.2); opacity: 0; }
}

@keyframes flowUpSlow {
    0% { transform: translateY(10px) scale(0.8); opacity: 0; }
    50% { opacity: 0.5; }
    100% { transform: translateY(-20px) scale(1.1); opacity: 0; }
}

/* Zmienne elementy SVG za pomocą klas */
.mesh-layer { transition: opacity 0.3s; }
.state-anhydrite .mesh-layer { opacity: 0; }
.state-cement .mesh-layer { opacity: 1; }

.screed-mass { transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); }
.state-anhydrite .screed-mass { height: 50px; y: 70; fill: #fef3c7; }
.state-cement .screed-mass { height: 65px; y: 55; fill: #cbd5e1; }

/* Tabela Parametrów (Dynamiczna) */
.rk-params-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.rk-param-box {
    background: rgba(0,0,0,0.2);
    padding: 15px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.05);
}

.rk-param-label {
    font-size: 12px;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 8px;
    display: block;
}

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

.rk-param-value small {
    font-size: 12px;
    font-weight: 400;
    color: #94a3b8;
}

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

.badge-pro { background: rgba(16, 185, 129, 0.2); color: #34d399; }
.badge-con { background: rgba(239, 68, 68, 0.2); color: #f87171; }

@media (max-width: 768px) {
    .rk-vs-app { grid-template-columns: 1fr; }
    .rk-vs-sidebar { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); padding: 25px; }
    .rk-params-grid { grid-template-columns: 1fr; }
    .rk-vs-header { padding: 30px 25px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#article-wybor",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/"
    },
    "headline": "Jaka wylewka na ogrzewanie podłogowe jest najlepsza? Anhydryt vs Cement",
    "description": "Porównanie jastrychu anhydrytowego i cementowego pod ogrzewanie podłogowe. Poznaj współczynniki lambda (przewodność cieplna), grubości oraz klasy wytrzymałości.",
    "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-02-18",
    "dateModified": "2026-05-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#dataset-materialy",
    "name": "Baza Danych: Właściwości termiczne jastrychów grzejnych 2026",
    "description": "Zestawienie parametrów inżynierskich określających wydajność ogrzewania płaszczyznowego w zależności od użytej wylewki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "współczynnik przewodzenia ciepła lambda",
      "jastrych anhydrytowy parametry",
      "wylewka cementowa plastyfikator",
      "wytrzymałość na ściskanie C20/F4",
      "bezwładność cieplna podłogówki"
    ],
    "measurementTechnique": "Określanie parametrów fizycznych (Lambda, MPa) na podstawie testów laboratoryjnych materiałów budowlanych oraz normy PN-EN.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Jastrych Anhydrytowy: Przewodność cieplna λ ≈ 1,6 - 2,0 W/(m·K), brak konieczności zbrojenia, grubość nad rurką min. 35mm.",
        "Jastrych Cementowy: Przewodność cieplna λ ≈ 1,1 - 1,4 W/(m·K), wysoka bezwładność, wymaga zbrojenia i plastyfikatorów."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#webapp-lambda",
    "name": "Symulator Przewodności Cieplnej (Lambda) i Doboru Wylewki",
    "description": "Interaktywny widget inżynierski analizujący przepływ ciepła i wymagania konstrukcyjne dla wylewek anhydrytowych i betonowych (cementowych).",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and SVG Support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-vs-container" id="wylewka-vs-app">
    
    <!-- Nagłówek merytoryczny -->
    <div class="rk-vs-header">
        <h2 class="rk-vs-title">Jaka wylewka na ogrzewanie podłogowe jest najlepsza?</h2>
        <p class="rk-vs-desc">
            Najlepsza wylewka to taka, która posiada wysoki <strong>współczynnik przewodzenia ciepła (lambda)</strong> oraz wysoką wytrzymałość na ściskanie (klasa minimum <strong>C20/F4</strong>). W nowoczesnym budownictwie wybieramy między jastrychem anhydrytowym (płynnym) a <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">cementowym (półsuchym z miksokreta)</a>. Zrozumienie, <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/">jak działa ogrzewanie podłogowe</a>, zaczyna się od wyboru tego materiału, ponieważ anhydryt dominuje w salonach i sypialniach ze względu na bezkonkurencyjne parametry termiczne.
        </p>
    </div>

    <!-- Moduł Interaktywny -->
    <div class="rk-vs-app state-anhydrite" id="rkVsEngine">
        
        <!-- Sidebar wyboru -->
        <div class="rk-vs-sidebar">
            <h3>Wybierz technologię</h3>
            
            <button class="rk-type-btn active" data-target="anhydrite">
                <span class="rk-type-name">Jastrych Anhydrytowy</span>
                <span class="rk-type-hint">System płynny, samopoziomujący</span>
            </button>
            
            <button class="rk-type-btn" data-target="cement">
                <span class="rk-type-name">Jastrych Cementowy</span>
                <span class="rk-type-hint">System półsuchy (miksokret)</span>
            </button>
        </div>

        <!-- Obszar symulacji i wyników -->
        <div class="rk-vs-main">
            
            <!-- Wizualizacja przekroju SVG -->
            <div class="rk-vs-visual">
                <svg viewBox="0 0 400 160" class="rk-svg-cross" xmlns="http://www.w3.org/2000/svg">
                    <!-- Fale Ciepła (Animowane klasy CSS) -->
                    <g class="heat-waves-group">
                        <path class="heat-wave hw-1" d="M100 110 Q110 70 100 20" fill="none" stroke-width="4" stroke-linecap="round"/>
                        <path class="heat-wave hw-2" d="M200 110 Q190 70 200 20" fill="none" stroke-width="4" stroke-linecap="round"/>
                        <path class="heat-wave hw-3" d="M300 110 Q310 70 300 20" fill="none" stroke-width="4" stroke-linecap="round"/>
                    </g>

                    <!-- Płytki / Wykończenie -->
                    <rect x="20" y="45" width="360" height="8" fill="#334155" rx="2"/>

                    <!-- Zmienna masa wylewki -->
                    <rect x="20" class="screed-mass" width="360" rx="3"/>

                    <!-- Siatka Zbrojeniowa (Widoczna tylko w cemencie) -->
                    <g class="mesh-layer" stroke="#64748b" stroke-width="1.5" opacity="0">
                        <line x1="20" y1="80" x2="380" y2="80" stroke-dasharray="8 4"/>
                        <line x1="20" y1="90" x2="380" y2="90" stroke-dasharray="8 4"/>
                    </g>

                    <!-- Rury PEX -->
                    <circle cx="100" cy="110" r="12" fill="#ef4444" stroke="#ffffff" stroke-width="3"/>
                    <circle cx="200" cy="110" r="12" fill="#ef4444" stroke="#ffffff" stroke-width="3"/>
                    <circle cx="300" cy="110" r="12" fill="#ef4444" stroke="#ffffff" stroke-width="3"/>

                    <!-- Izolacja EPS z folią -->
                    <rect x="20" y="125" width="360" height="4" fill="#3b82f6"/> <!-- Folia -->
                    <rect x="20" y="129" width="360" height="25" fill="#475569" rx="2"/> <!-- EPS -->
                </svg>
            </div>

            <!-- Dynamiczne parametry inżynierskie -->
            <div class="rk-params-grid">
                <div class="rk-param-box">
                    <span class="rk-param-label">Przewodność (Lambda)</span>
                    <span class="rk-param-value" id="valLambda">1,6 &#8211; 2,0 <small>W/(m·K)</small></span>
                    <div class="status-badge badge-pro" id="badgeLambda">Wysoka (Szybki nagrzew)</div>
                </div>
                <div class="rk-param-box">
                    <span class="rk-param-label">Wymagane zbrojenie</span>
                    <span class="rk-param-value" id="valZbroj">Brak</span>
                    <div class="status-badge badge-pro" id="badgeZbroj">Oszczędność czasu</div>
                </div>
                <div class="rk-param-box">
                    <span class="rk-param-label">Min. otulina nad rurą</span>
                    <span class="rk-param-value" id="valGrubosc">35 mm</span>
                    <div class="status-badge badge-pro" id="badgeGrubosc">Mniejsze obciążenie</div>
                </div>
            </div>

        </div>
    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE (DOMAIN LOCK)
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Dyskretne zabezpieczenie domenowe (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('wylewka-vs-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif; max-width: 950px; margin: 40px auto;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Ochrona Własności Intelektualnej</div>
                    <div style="font-size: 14px; color: #cbd5e1; line-height: 1.6;">
                        Moduł interaktywny "Symulator Przewodności Cieplnej" stanowi własność Projekt-Ogrzewania.pl. Wykryto użycie na nieautoryzowanej domenie.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Silnika Symulacji
    const engine = document.getElementById('rkVsEngine');
    const buttons = document.querySelectorAll('.rk-type-btn');
    
    // Elementy DOM do aktualizacji danych
    const vLambda = document.getElementById('valLambda');
    const vZbroj = document.getElementById('valZbroj');
    const vGrubosc = document.getElementById('valGrubosc');
    
    const bLambda = document.getElementById('badgeLambda');
    const bZbroj = document.getElementById('badgeZbroj');
    const bGrubosc = document.getElementById('badgeGrubosc');

    // Baza danych materiałów (Zgodna z wytycznymi)
    const materialsData = {
        anhydrite: {
            lambda: "1,6 - 2,0",
            zbroj: "Brak",
            grubosc: "35 mm",
            bLText: "Wysoka (Szybki nagrzew)",
            bLClass: "badge-pro",
            bZText: "Oszczędność czasu",
            bZClass: "badge-pro",
            bGText: "Mniejsze obciążenie",
            bGClass: "badge-pro"
        },
        cement: {
            lambda: "1,1 - 1,4",
            zbroj: "Siatka / Włókna",
            grubosc: "Min. 45 mm",
            bLText: "Wysoka bezwładność",
            bLClass: "badge-con",
            bZText: "Wymaga plastyfikatorów",
            bZClass: "badge-con",
            bGText: "Większa masa stropu",
            bGClass: "badge-con"
        }
    };

    function updateSimulator(type) {
        const data = materialsData[type];
        
        // Aktualizacja Wartości
        vLambda.innerHTML = `${data.lambda} <small>W/(m·K)</small>`;
        vZbroj.innerHTML = data.zbroj;
        vGrubosc.innerHTML = data.grubosc;

        // Aktualizacja Etykiet (Badges)
        bLambda.textContent = data.bLText;
        bLambda.className = `status-badge ${data.bLClass}`;
        
        bZbroj.textContent = data.bZText;
        bZbroj.className = `status-badge ${data.bZClass}`;
        
        bGrubosc.textContent = data.bGText;
        bGrubosc.className = `status-badge ${data.bGClass}`;

        // Zmiana klas silnika dla animacji SVG
        engine.className = `rk-vs-app state-${type}`;
    }

    // Nasłuchiwanie na kliknięcia
    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            // Zarządzanie stanem 'active'
            buttons.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Pobranie celu i aktualizacja
            const target = this.getAttribute('data-target');
            updateSimulator(target);
        });
    });
});
</script>



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



<style>
:root {
    --rk-thick-dark: #0f172a;
    --rk-thick-panel: #f8fafc;
    --rk-thick-primary: #3b82f6; /* Techniczny niebieski */
    --rk-thick-success: #10b981; /* Optymalnie */
    --rk-thick-warning: #f59e0b; /* Zbyt grubo */
    --rk-thick-danger: #ef4444; /* Zbyt cienko - ryzyko */
    --rk-thick-border: #cbd5e1;
    --rk-thick-text: #334155;
    --rk-thick-bg: #ffffff;
}

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

/* Nagłówek i Treść */
.rk-thick-header {
    padding: 45px 50px 30px;
    background: var(--rk-thick-bg);
    border-bottom: 2px dashed var(--rk-thick-border);
}

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

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

.rk-thick-text strong {
    color: var(--rk-thick-dark);
}

.rk-thick-text a {
    color: var(--rk-thick-primary);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid rgba(59, 130, 246, 0.2);
    transition: all 0.3s;
}

.rk-thick-text a:hover {
    border-bottom-color: var(--rk-thick-primary);
    background: rgba(59, 130, 246, 0.05);
}

/* Aplikacja: Kalibrator Bezwładności */
.rk-thick-app {
    background: var(--rk-thick-dark);
    color: #ffffff;
    padding: 40px 50px;
}

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

.rk-app-header h3 {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 10px 0;
    color: #f1f5f9;
}

/* Przełącznik Materiału */
.rk-material-switch {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 35px;
}

.rk-mat-btn {
    background: rgba(255,255,255,0.05);
    border: 2px solid rgba(255,255,255,0.1);
    color: #94a3b8;
    padding: 12px 24px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.3s;
}

.rk-mat-btn.active {
    background: rgba(59, 130, 246, 0.2);
    border-color: var(--rk-thick-primary);
    color: #ffffff;
    box-shadow: 0 0 20px rgba(59, 130, 246, 0.3);
}

/* Sekcja Suwaka */
.rk-slider-wrapper {
    position: relative;
    padding: 20px 0 40px;
}

.rk-range-input {
    -webkit-appearance: none;
    width: 100%;
    height: 12px;
    background: #334155;
    border-radius: 10px;
    outline: none;
    cursor: ew-resize;
    position: relative;
    z-index: 2;
}

.rk-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #ffffff;
    border: 5px solid var(--rk-thick-primary);
    box-shadow: 0 0 15px rgba(0,0,0,0.5);
    cursor: grab;
    transition: transform 0.1s;
}

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

/* Strefy optymalne wizualizacja pod suwakiem */
.rk-slider-zones {
    position: absolute;
    top: 20px;
    left: 0;
    width: 100%;
    height: 12px;
    border-radius: 10px;
    z-index: 1;
    overflow: hidden;
    display: flex;
    opacity: 0.5;
}

/* Ekran Wyników */
.rk-results-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: center;
}

/* SVG Wizualizacja */
.rk-svg-box {
    background: #1e293b;
    border-radius: 16px;
    padding: 30px 15px;
    box-shadow: inset 0 10px 20px rgba(0,0,0,0.2);
    position: relative;
}

.rk-svg-scene {
    width: 100%;
    height: auto;
    max-width: 320px;
    margin: 0 auto;
    display: block;
}

.anim-screed-level {
    transition: all 0.3s ease-out;
}

.rk-alert-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 6px;
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.3s;
    z-index: 10;
}

.rk-alert-badge.show {
    opacity: 1;
    transform: translateY(0);
}

/* Dynamiczne stany dla kalibratora */
.state-danger-low .rk-range-input::-webkit-slider-thumb { border-color: var(--rk-thick-danger); }
.state-danger-low .anim-screed-level { fill: #7f1d1d; }
.state-danger-low .rk-alert-badge { background: rgba(239, 68, 68, 0.2); color: #fca5a5; }

.state-optimal .rk-range-input::-webkit-slider-thumb { border-color: var(--rk-thick-success); }
.state-optimal .anim-screed-level { fill: #064e3b; }
.state-optimal .rk-alert-badge { background: rgba(16, 185, 129, 0.2); color: #6ee7b7; }

.state-danger-high .rk-range-input::-webkit-slider-thumb { border-color: var(--rk-thick-warning); }
.state-danger-high .anim-screed-level { fill: #78350f; }
.state-danger-high .rk-alert-badge { background: rgba(245, 158, 11, 0.2); color: #fcd34d; }

/* Panel Danych */
.rk-data-panel {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-data-row {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.05);
    padding: 15px 20px;
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-data-label {
    font-size: 14px;
    color: #94a3b8;
    font-weight: 600;
}

.rk-data-val {
    font-size: 22px;
    font-weight: 900;
    color: #ffffff;
    font-variant-numeric: tabular-nums;
}

.rk-data-val small {
    font-size: 14px;
    font-weight: 500;
    color: #64748b;
    margin-left: 4px;
}

@media (max-width: 768px) {
    .rk-thick-header, .rk-thick-app { padding: 30px 20px; }
    .rk-results-grid { grid-template-columns: 1fr; }
    .rk-data-row { flex-direction: column; align-items: flex-start; gap: 5px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#article-grubosc",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/"
    },
    "headline": "Optymalna grubość wylewki na ogrzewanie podłogowe - Złoty środek inżynierii",
    "description": "Zgodnie z normą PN-EN 1264 optymalna grubość jastrychu to 65 mm (cement) i 50-60 mm (anhydryt). Sprawdź, jak każdy dodatkowy centymetr wpływa na bezwładność termiczną i obciążenie 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": "2025-02-18",
    "dateModified": "2026-05-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#dataset-bezwladnosc",
    "name": "Tabela Bezwładności i Obciążeń Wylewek 2026",
    "description": "Zestawienie wzrostu masy jastrychu (kg/m2) oraz opóźnienia w reakcji systemu na zmianę temperatury w funkcji grubości warstwy przykrywającej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "optymalna grubość wylewki na podłogówkę",
      "norma obliczeń ogrzewania podłogowego EN 1264",
      "minimalna warstwa przykrycia rury sd",
      "obciążenie stropu ogrzewanie podłogowe",
      "czas reakcji ogrzewania bezwładność"
    ],
    "measurementTechnique": "Algorytmiczne obliczenia inżynierskie przyrostu masy (ok. 18 kg na każde 10mm) i czasu nagrzewania (ok. 38 minut na każde 10mm) w stosunku do wylewki odniesienia.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Jastrych Cementowy: Całkowita optymalna grubość 65 mm (min. przykrycie 45 mm).",
        "Jastrych Anhydrytowy: Całkowita optymalna grubość 50-60 mm (min. przykrycie 35 mm).",
        "Konsekwencje: Zwiększenie grubości o 10 mm to +15-20 kg obciążenia/m² i +30-45 min. opóźnienia."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#webapp-kalibrator",
    "name": "Inżynierski Kalibrator Bezwładności Wylewki",
    "description": "Interaktywny suwak obliczający w czasie rzeczywistym wpływ grubości jastrychu (w mm) na obciążenie stropu, czas odpowiedzi termostatu oraz zgodność grubości sd z normą PN-EN 1264.",
    "applicationCategory": "EngineeringCalculator",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 Range Input, JavaScript and SVG animations",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-thick-container" id="grubosc-app-core">
    
    <div class="rk-thick-header">
        <h2 class="rk-thick-title">Jaka jest optymalna grubość wylewki na ogrzewanie podłogowe?</h2>
        
        <p class="rk-thick-text">
            Optymalna całkowita <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/">grubość wylewki</a> wynosi <strong>65 mm dla jastrychu cementowego</strong> oraz <strong>50-60 mm dla anhydrytowego</strong>, licząc od warstwy izolacji termicznej. Zgodnie z <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">normą PN-EN 1264</a>, minimalna warstwa przykrycia ponad zewnętrzną średnicą rury (s<sub>d</sub>) powinna wynosić <strong>45 mm</strong> dla cementu i <strong>35 mm</strong> dla anhydrytu (przy klasie wytrzymałości min. C20).
        </p>

        <p class="rk-thick-text">
            Zwiększenie grubości o każde 10 mm to dodatkowe <strong>15-20 kg obciążenia na m²</strong> stropu i drastyczne wydłużenie <a href="https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/">czasu nagrzewania</a> (reakcji na zmianę nastawy na <a href="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/">termostacie pokojowym</a>) o około <strong>30-45 minut</strong>. W moich projektach dążymy do inżynierskiego złotego środka: balansu między stabilnością temperatury a sterowalnością.
        </p>
    </div>

    <div class="rk-thick-app">
        <div class="rk-app-header">
            <h3>Kalibrator Bezwładności Wylewki (Symulator)</h3>
            <p style="color: #94a3b8; margin:0; font-size: 14px;">Sprawdź, jak grubość wpływa na fizykę budynku. Zmień parametry poniżej.</p>
        </div>

        <div class="rk-material-switch">
            <button class="rk-mat-btn active" data-mat="cement">Jastrych Cementowy</button>
            <button class="rk-mat-btn" data-mat="anhydryt">Jastrych Anhydrytowy</button>
        </div>

        <div class="rk-slider-wrapper" id="rkZoneContainer">
            <div class="rk-slider-zones" id="rkZones"></div>
            
            <input type="range" min="30" max="100" value="65" class="rk-range-input" id="rkThickSlider">
            <div style="display: flex; justify-content: space-between; margin-top: 10px; font-size: 12px; color: #64748b; font-weight: 700;">
                <span>30 mm (Zbyt cienko)</span>
                <span>100 mm (Bunkier)</span>
            </div>
        </div>

        <div class="rk-results-grid" id="rkResultEngine">
            
            <div class="rk-svg-box">
                <div class="rk-alert-badge" id="rkAlertBadge">
                    <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                    <span id="rkAlertText">Ryzyko Pęknięć</span>
                </div>

                <svg viewBox="0 0 230 200" class="rk-svg-scene" xmlns="http://www.w3.org/2000/svg">
                    <rect x="0" y="0" width="230" height="200" fill="none" />
                    
                    <rect x="20" y="150" width="160" height="40" fill="#334155" rx="2" />
                    <text x="30" y="175" fill="#64748b" font-size="12">Izolacja EPS</text>
                    
                    <circle cx="100" cy="142" r="8" fill="#ef4444" stroke="#ffffff" stroke-width="2" />
                    <line x1="100" y1="142" x2="100" y2="150" stroke="#fff" stroke-dasharray="2 2" /> <rect id="svgScreed" class="anim-screed-level" x="20" y="85" width="160" height="65" rx="2" opacity="0.9"/>
                    
                    <path id="svgMeasureLine" class="anim-screed-level" d="M 185 150 L 185 85" stroke="#cbd5e1" stroke-width="2" marker-start="url(#arrow)" marker-end="url(#arrow)"/>
                    <text id="svgMeasureText" x="205" y="120" fill="#f8fafc" font-size="16" font-weight="bold" text-anchor="middle">65</text>
                    
                    <defs>
                        <marker id="arrow" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="4" markerHeight="4" orient="auto-start-reverse">
                            <path d="M 0 0 L 10 5 L 0 10 z" fill="#cbd5e1" />
                        </marker>
                    </defs>
                </svg>
            </div>

            <div class="rk-data-panel">
                <div class="rk-data-row">
                    <span class="rk-data-label">Całkowita Grubość</span>
                    <span class="rk-data-val" id="valTotal">65<small>mm</small></span>
                </div>
                <div class="rk-data-row">
                    <span class="rk-data-label">Otulina nad rurą (s<sub>d</sub>)</span>
                    <span class="rk-data-val" id="valSd">49<small>mm</small></span>
                </div>
                <div class="rk-data-row">
                    <span class="rk-data-label">Szacunkowa masa jastrychu</span>
                    <span class="rk-data-val" id="valWeight">143<small>kg/m²</small></span>
                </div>
                <div class="rk-data-row">
                    <span class="rk-data-label">Dodatkowe opóźnienie reakcji</span>
                    <span class="rk-data-val" style="color: #fca5a5;" id="valLag">+0<small>min</small></span>
                </div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domeny (Bez znaczników nagłówkó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('grubosc-app-core');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; max-width: 950px; margin: 40px auto; font-family: sans-serif;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Ochrona Skryptów Narzędziowych</div>
                    <div style="font-size: 14px; color: #cbd5e1; line-height: 1.6;">
                        Kalibrator Bezwładności Wylewki oraz dane strukturalne JSON-LD podlegają ochronie prawnoautorskiej serwisu Projekt-Ogrzewania.pl.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Kalibratora
    const slider = document.getElementById('rkThickSlider');
    const matBtns = document.querySelectorAll('.rk-mat-btn');
    const engineBox = document.getElementById('rkResultEngine');
    const zonesBox = document.getElementById('rkZones');
    
    // SVG Elements
    const svgScreed = document.getElementById('svgScreed');
    const svgMeasureLine = document.getElementById('svgMeasureLine');
    const svgMeasureText = document.getElementById('svgMeasureText');
    const alertBadge = document.getElementById('rkAlertBadge');
    const alertText = document.getElementById('rkAlertText');

    // Wartości liczbowe
    const vTotal = document.getElementById('valTotal');
    const vSd = document.getElementById('valSd');
    const vWeight = document.getElementById('valWeight');
    const vLag = document.getElementById('valLag');

    // Konfiguracja norm i fizyki
    let currentMat = 'cement'; // 'cement' lub 'anhydryt'
    const RURA_DIA = 16;
    
    const matConfig = {
        cement: {
            minSdNorm: 45,
            densityKgMm: 2.2, // ~2200 kg/m3
            optimalMin: 60,
            optimalMax: 70
        },
        anhydryt: {
            minSdNorm: 35,
            densityKgMm: 2.0, // ~2000 kg/m3
            optimalMin: 50,
            optimalMax: 60
        }
    };

    function drawZones() {
        const conf = matConfig[currentMat];
        const totalRange = 100 - 30; // 70 jednostek
        
        // Poniżej normy (Czerwony)
        const pDangerLow = ((conf.optimalMin - 30) / totalRange) * 100;
        // Optymalna (Zielony)
        const pOptimal = ((conf.optimalMax - conf.optimalMin) / totalRange) * 100;
        // Za gruba (Żółty)
        const pDangerHigh = 100 - pDangerLow - pOptimal;

        zonesBox.innerHTML = `
            <div style="width: ${pDangerLow}%; background: var(--rk-thick-danger);"></div>
            <div style="width: ${pOptimal}%; background: var(--rk-thick-success);"></div>
            <div style="width: ${pDangerHigh}%; background: var(--rk-thick-warning);"></div>
        `;
    }

    function updateCalculator() {
        const t = parseInt(slider.value); // grubość całkowita (30 do 100)
        const conf = matConfig[currentMat];
        
        // Obliczenia
        const sd = t - RURA_DIA; // grubość nad rurą
        const weight = Math.round(t * conf.densityKgMm);
        
        // Obliczenie opóźnienia (delta względem minimum optymalnego)
        // Zakładamy, że każde 10mm PONAD optimum = +38 min (średnia z 30-45)
        let lag = 0;
        if (t > conf.optimalMax) {
            lag = Math.round(((t - conf.optimalMax) / 10) * 38);
        }

        // Aktualizacja UI Tekstowego
        vTotal.innerHTML = `${t}<small>mm</small>`;
        vSd.innerHTML = `${sd}<small>mm</small>`;
        vWeight.innerHTML = `${weight}<small>kg/m²</small>`;
        
        if (lag > 0) {
            vLag.innerHTML = `+${lag}<small>min</small>`;
            vLag.style.color = '#fca5a5';
        } else {
            vLag.innerHTML = `Norma`;
            vLag.style.color = '#6ee7b7';
        }

        // Aktualizacja SVG i Oceny (Klas CSS)
        engineBox.classList.remove('state-danger-low', 'state-optimal', 'state-danger-high');
        
        // Skalowanie w SVG: Y base = 150. 1mm = 1px na rysunku (skala 1:1 dla uproszczenia wizualnego 30-100)
        const rectHeight = t; 
        const rectY = 150 - t;
        
        svgScreed.setAttribute('height', rectHeight);
        svgScreed.setAttribute('y', rectY);
        svgMeasureLine.setAttribute('d', `M 185 150 L 185 ${rectY}`);
        // Wyrównanie Y do środka linii
        svgMeasureText.setAttribute('y', rectY + (rectHeight/2) + 5);
        svgMeasureText.textContent = t;

        // Logika statusu inżynierskiego
        if (sd < conf.minSdNorm) {
            engineBox.classList.add('state-danger-low');
            alertText.textContent = "Brak normy - Spękania!";
            alertBadge.classList.add('show');
        } else if (t >= conf.optimalMin && t <= conf.optimalMax) {
            engineBox.classList.add('state-optimal');
            alertText.textContent = "Złoty Środek";
            alertBadge.classList.add('show');
        } else {
            engineBox.classList.add('state-danger-high');
            alertText.textContent = "Wysoka Bezwładność!";
            alertBadge.classList.add('show');
        }
    }

    // Nasłuch na Slider
    slider.addEventListener('input', updateCalculator);

    // Nasłuch na zmianę materiału
    matBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            matBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            
            currentMat = this.getAttribute('data-mat');
            
            // Dopasuj domyślny slider do optimum materiału przy przełączeniu
            if(currentMat === 'anhydryt') slider.value = 55;
            if(currentMat === 'cement') slider.value = 65;

            drawZones();
            updateCalculator();
        });
    });

    // Inicjalizacja Startowa
    drawZones();
    updateCalculator();
});
</script>



<p class="wp-block-paragraph"></p>



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



<style>
:root {
    --rk-heat-dark: #0f172a;
    --rk-heat-panel: #1e293b;
    --rk-heat-blue: #0ea5e9; /* Woda/Wilgoć */
    --rk-heat-orange: #f97316; /* Ciepło */
    --rk-heat-red: #ef4444; /* Maksymalna temperatura */
    --rk-heat-green: #10b981; /* Gotowość */
    --rk-heat-bg: #ffffff;
    --rk-heat-text: #334155;
    --rk-heat-border: #e2e8f0;
}

.rk-heat-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-heat-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(249, 115, 22, 0.1);
    border: 1px solid var(--rk-heat-border);
    overflow: hidden;
}

/* Sekcja Treści */
.rk-heat-content {
    padding: 40px 50px 30px;
    background: #ffffff;
    border-bottom: 2px dashed var(--rk-heat-border);
}

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

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

.rk-heat-text strong {
    color: var(--rk-heat-dark);
    font-weight: 800;
}

.rk-heat-text a {
    color: var(--rk-heat-orange);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid rgba(249, 115, 22, 0.2);
    transition: all 0.3s;
}

.rk-heat-text a:hover {
    border-bottom-color: var(--rk-heat-orange);
    background: rgba(249, 115, 22, 0.05);
}

.rk-heat-alert {
    display: flex;
    gap: 15px;
    background: #fff7ed;
    border-left: 4px solid var(--rk-heat-orange);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin-top: 25px;
}

.rk-heat-alert-icon {
    color: var(--rk-heat-orange);
    flex-shrink: 0;
}

.rk-heat-alert p {
    margin: 0;
    font-size: 15px;
    color: #9a3412;
}

/* Aplikacja Interaktywna */
.rk-heat-app {
    background: var(--rk-heat-dark);
    color: #ffffff;
    padding: 40px 50px;
}

.rk-app-header {
    text-align: center;
    margin-bottom: 30px;
}

.rk-app-header h3 {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 10px 0;
    color: #f8fafc;
}

.rk-app-header p {
    color: #94a3b8;
    font-size: 14px;
    margin: 0;
}

/* Material Toggle */
.rk-heat-mat-toggle {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 35px;
}

.rk-btn-mat {
    background: rgba(255,255,255,0.05);
    border: 2px solid rgba(255,255,255,0.1);
    color: #94a3b8;
    padding: 12px 25px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.3s;
}

.rk-btn-mat.active {
    background: rgba(249, 115, 22, 0.15);
    border-color: var(--rk-heat-orange);
    color: #ffffff;
    box-shadow: 0 0 20px rgba(249, 115, 22, 0.2);
}

/* Czas Oczekiwania (Dynamiczny) */
.rk-wait-phase {
    text-align: center;
    background: rgba(14, 165, 233, 0.1);
    border: 1px dashed var(--rk-heat-blue);
    padding: 15px;
    border-radius: 12px;
    margin-bottom: 30px;
}

.rk-wait-phase span {
    display: block;
    font-size: 13px;
    color: var(--rk-heat-blue);
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 5px;
}

.rk-wait-phase strong {
    font-size: 24px;
    color: #ffffff;
}

/* Suwak Dni Wygrzewania */
.rk-timeline-slider {
    margin-bottom: 40px;
}

.rk-range-days {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: #334155;
    border-radius: 10px;
    outline: none;
}

.rk-range-days::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--rk-heat-orange);
    border: 4px solid #ffffff;
    box-shadow: 0 0 15px rgba(249, 115, 22, 0.6);
    cursor: pointer;
    transition: transform 0.1s;
}

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

.rk-slider-ticks {
    display: flex;
    justify-content: space-between;
    margin-top: 15px;
    font-size: 12px;
    color: #64748b;
    font-weight: 600;
}

/* Ekran Wyników */
.rk-heat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: center;
}

/* SVG Wizualizacja */
.rk-heat-svg-box {
    background: #1e293b;
    border-radius: 16px;
    padding: 30px 20px;
    box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
    position: relative;
    text-align: center;
}

.rk-svg-cross {
    width: 100%;
    max-width: 280px;
    height: auto;
}

/* Animacje i dynamiczne kolory SVG */
.anim-pipe { transition: fill 0.5s ease, filter 0.5s ease; }
.anim-therm-fill { transition: height 0.5s ease, y 0.5s ease, fill 0.5s ease; }
.anim-moisture { transition: opacity 0.5s ease; animation: floatUp 2s infinite linear; }

@keyframes floatUp {
    0% { transform: translateY(0) scale(0.8); opacity: 0; }
    50% { opacity: 0.6; }
    100% { transform: translateY(-30px) scale(1.2); opacity: 0; }
}

.delay-1 { animation-delay: 0s; }
.delay-2 { animation-delay: 0.6s; }
.delay-3 { animation-delay: 1.2s; }

/* Panel Danych */
.rk-stats-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-stat-item {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.05);
    padding: 15px 20px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
}

.rk-stat-label {
    font-size: 13px;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 5px;
}

.rk-stat-val {
    font-size: 22px;
    font-weight: 900;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-badge {
    font-size: 11px;
    padding: 4px 8px;
    border-radius: 6px;
    font-weight: 800;
    text-transform: uppercase;
}

.badge-wait { background: rgba(14, 165, 233, 0.2); color: #7dd3fc; }
.badge-heat { background: rgba(249, 115, 22, 0.2); color: #fdba74; }
.badge-done { background: rgba(16, 185, 129, 0.2); color: #6ee7b7; }

@media (max-width: 768px) {
    .rk-heat-header, .rk-heat-app { padding: 30px 20px; }
    .rk-heat-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#article-wygrzewanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/"
    },
    "headline": "Ile trwa schnięcie i kiedy można uruchomić wygrzewanie podłogówki?",
    "description": "Harmonogram wygrzewania technologicznego wylewki. Sprawdź, dlaczego anhydryt schnie 7 dni, a beton 28 dni. Instrukcja podnoszenia temperatury zasilania krok po kroku.",
    "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-02-18",
    "dateModified": "2026-05-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#dataset-harmonogram",
    "name": "Harmonogram Wygrzewania Technologicznego Jastrychu",
    "description": "Zestawienie ram czasowych oraz przyrostów temperatury krzywej grzewczej wymaganych do bezpiecznego usunięcia wilgoci z jastrychu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czas schnięcia wylewki anhydrytowej",
      "wygrzewanie technologiczne jastrychu",
      "maksymalna temperatura zasilania podłogówki",
      "harmonogram podnoszenia temperatury",
      "skurcz i spękania betonu"
    ],
    "measurementTechnique": "Algorytm temperaturowy: start 20-25°C przez 3 dni, następnie przyrost +5°C/dobę aż do osiągnięcia projektowej temperatury zasilania Tz (np. 45°C).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Faza 1 (Oczekiwanie): Cement = 28 dni, Anhydryt = 7 dni naturalnego wiązania.",
        "Faza 2 (Start): Utrzymanie 25°C przez 3 doby robocze.",
        "Faza 3 (Progresja): Podnoszenie temperatury zasilania równe 5°C każdego dnia.",
        "Cel końcowy: Pozbycie się resztkowej wilgoci CM przed montażem okładzin (płytek/paneli)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#webapp-wygrzewanie",
    "name": "Symulator Wygrzewania Technologicznego",
    "description": "Interaktywny kalendarz budowlany z suwakiem pozwalający sprawdzić wymaganą temperaturę zasilania w danym dniu procesu wygrzewania posadzki.",
    "applicationCategory": "ConstructionCalculator",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 Range Input, JavaScript and SVG animations",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-heat-container" id="wygrzewanie-app-core">
    
    <div class="rk-heat-content">
        <h2 class="rk-heat-title">Ile trwa schnięcie i kiedy można uruchomić wygrzewanie?</h2>
        
        <div class="rk-heat-text">
            <p>
                Czas schnięcia jastrychu cementowego wynosi standardowo <strong>28 dni</strong>, natomiast jastrych anhydrytowy osiąga gotowość do wygrzewania już po <strong>7 dniach</strong>. Należy pamiętać, gdy planujesz <a href="https://projekt-ogrzewania.pl/kiedy-najlepiej-planowac-montaz-ogrzewania-podlogowego-w-nowym-domu/">montaż ogrzewania w nowym domu</a>, że proces ten absolutnie nie może być przyspieszany przeciągami. Wilgoć musi uchodzić naturalnie i powoli, aby uniknąć destrukcyjnego skurczu materiału i spękań.
            </p>
            <p>
                Wygrzewanie wylewki (tzw. wygrzewanie technologiczne) zaczynamy od temperatury <strong>20-25°C</strong>, którą utrzymujemy stabilnie przez 3 dni. Następnie podnosimy nastawę o <strong>5°C na dobę</strong>, aż do osiągnięcia <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">projektowej temperatury zasilania</a> (np. 45°C). 
            </p>
        </div>

        <div class="rk-heat-alert">
            <svg class="rk-heat-alert-icon" width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            <p><strong>Uwaga inżynierska:</strong> Pominięcie tego kroku przed kładzeniem docelowych <a href="https://projekt-ogrzewania.pl/czy-pod-ogrzewanie-podlogowe-nadaja-sie-panele-czy-tylko-plytki/">płytek lub paneli</a> to gwarancja ich całkowitego odspojenia (tzw. wysadzenia posadzki) już w pierwszym sezonie grzewczym.</p>
        </div>
    </div>

    <div class="rk-heat-app">
        <div class="rk-app-header">
            <h3>Termo-Symulator Wygrzewania Technologicznego</h3>
            <p>Przeprowadź wirtualny proces pozbywania się wilgoci z posadzki.</p>
        </div>

        <div class="rk-heat-mat-toggle">
            <button class="rk-btn-mat active" data-mat="anhydryt">Anhydryt</button>
            <button class="rk-btn-mat" data-mat="cement">Cement</button>
        </div>

        <div class="rk-wait-phase">
            <span>Czas wiązania przed startem pompy ciepła</span>
            <strong id="valWaitTime">7 Dni</strong>
        </div>

        <div class="rk-timeline-slider">
            <input type="range" min="1" max="8" value="1" class="rk-range-days" id="rkDaySlider">
            <div class="rk-slider-ticks">
                <span>Dzień 1 (Start)</span>
                <span>Dzień 4 (Progresja)</span>
                <span>Dzień 8 (Koniec)</span>
            </div>
        </div>

        <div class="rk-heat-grid">
            
            <div class="rk-heat-svg-box">
                <svg viewBox="0 0 200 160" class="rk-svg-cross" xmlns="http://www.w3.org/2000/svg">
                    <rect x="170" y="20" width="12" height="100" fill="#334155" rx="6"/>
                    <rect id="svgThermometer" class="anim-therm-fill" x="170" y="90" width="12" height="30" fill="#3b82f6" rx="6"/>
                    <circle id="svgThermBulb" class="anim-therm-fill" cx="176" cy="120" r="12" fill="#3b82f6"/>
                    
                    <g id="svgMoistureGroup">
                        <path class="anim-moisture delay-1" d="M 60 70 Q 65 60 60 50 Q 55 60 60 70" fill="#0ea5e9"/>
                        <path class="anim-moisture delay-2" d="M 100 80 Q 105 70 100 60 Q 95 70 100 80" fill="#0ea5e9"/>
                        <path class="anim-moisture delay-3" d="M 140 70 Q 145 60 140 50 Q 135 60 140 70" fill="#0ea5e9"/>
                    </g>

                    <rect x="20" y="90" width="140" height="60" fill="#64748b" rx="2" opacity="0.8"/>
                    
                    <circle id="svgPipe1" class="anim-pipe" cx="50" cy="125" r="10" fill="#3b82f6" stroke="#fff" stroke-width="2"/>
                    <circle id="svgPipe2" class="anim-pipe" cx="90" cy="125" r="10" fill="#3b82f6" stroke="#fff" stroke-width="2"/>
                    <circle id="svgPipe3" class="anim-pipe" cx="130" cy="125" r="10" fill="#3b82f6" stroke="#fff" stroke-width="2"/>
                </svg>
            </div>

            <div class="rk-stats-list">
                <div class="rk-stat-item">
                    <span class="rk-stat-label">Dzień Protokołu</span>
                    <span class="rk-stat-val" id="valDay">1</span>
                </div>
                <div class="rk-stat-item">
                    <span class="rk-stat-label">Nastawa Temperatury Zasilania</span>
                    <div class="rk-stat-val">
                        <span id="valTemp">25°C</span>
                        <span class="rk-badge badge-wait" id="valBadge">Utrzymanie</span>
                    </div>
                </div>
                <div class="rk-stat-item">
                    <span class="rk-stat-label">Status Wilgoci (Metoda CM)</span>
                    <span class="rk-stat-val" id="valStatus" style="font-size: 16px;">Intensywne odparowywanie</span>
                </div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Dyskretne zabezpieczenie domenowe (bez znaczników nagłówkó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('wygrzewanie-app-core');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; max-width: 950px; margin: 40px auto; font-family: sans-serif;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 14px; color: #cbd5e1; line-height: 1.6;">
                        Termo-Symulator Wygrzewania Technologicznego jest wyłączną własnością serwisu Projekt-Ogrzewania.pl. Wykryto nieautoryzowaną domenę.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora
    const matBtns = document.querySelectorAll('.rk-btn-mat');
    const waitTimeText = document.getElementById('valWaitTime');
    const slider = document.getElementById('rkDaySlider');
    
    // UI Elements
    const vDay = document.getElementById('valDay');
    const vTemp = document.getElementById('valTemp');
    const vBadge = document.getElementById('valBadge');
    const vStatus = document.getElementById('valStatus');
    
    // SVG Elements
    const pipes = [document.getElementById('svgPipe1'), document.getElementById('svgPipe2'), document.getElementById('svgPipe3')];
    const thermFill = document.getElementById('svgThermometer');
    const thermBulb = document.getElementById('svgThermBulb');
    const moistureGrp = document.getElementById('svgMoistureGroup');

    // Obsługa przełącznika materiałów
    matBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            matBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            
            const mat = this.getAttribute('data-mat');
            if(mat === 'anhydryt') {
                waitTimeText.textContent = "7 Dni";
            } else {
                waitTimeText.textContent = "28 Dni";
            }
        });
    });

    // Mechanizm obliczania protokołu wygrzewania
    function updateProtocol() {
        const day = parseInt(slider.value);
        let temp = 25; // Baza
        let color = '#3b82f6'; // Niebieski (chłodny/startowy)
        let stateText = "";
        let badgeClass = "";
        let badgeText = "";
        let moistureOpacity = "1";

        // Obliczenia logiki z tekstu: 
        // Dni 1-3: 25°C
        // Dzień 4+: +5°C na dobę aż do 45°C
        if (day >= 1 && day <= 3) {
            temp = 25;
            color = '#f59e0b'; // Ciepły żółty
            stateText = "Intensywne odparowywanie";
            badgeClass = "badge-wait";
            badgeText = "Utrzymanie";
            moistureOpacity = "1";
        } else if (day > 3 && day < 8) {
            temp = 25 + ((day - 3) * 5); // Dzień 4 = 30C, Dzień 5 = 35C, itd.
            color = '#f97316'; // Pomarańczowy
            stateText = "Zmniejszona emisja pary wodnej";
            badgeClass = "badge-heat";
            badgeText = "+5°C / Dobę";
            moistureOpacity = (1 - ((day - 3) * 0.2)).toString(); // Zanikanie wilgoci
        } else if (day >= 8) {
            temp = 45; // Max 45°C w 7/8 dniu podnoszenia
            color = '#ef4444'; // Czerwony (Gorący)
            stateText = "Wylewka sucha - Gotowa na płytki!";
            badgeClass = "badge-done";
            badgeText = "Sukces";
            moistureOpacity = "0"; // Brak wilgoci
        }

        // Aktualizacja Tekstów
        vDay.textContent = day;
        vTemp.textContent = temp + "°C";
        vStatus.textContent = stateText;
        
        vBadge.textContent = badgeText;
        vBadge.className = "rk-badge " + badgeClass;

        // Aktualizacja SVG - Rury
        pipes.forEach(p => {
            p.setAttribute('fill', color);
            p.style.filter = `drop-shadow(0 0 5px ${color})`;
        });

        // Aktualizacja SVG - Termometr (Max wys = 100, Min Y = 20, Max Y = 120)
        // Zakres temperatur do symulacji: 20C do 50C (30 jednostek). 
        // 25C to 5 z 30 jednostek = 16%. 45C to 25 z 30 jednostek = 83%.
        const percentFill = ((temp - 15) / 35); // Przepustowość wizualna
        const thermHeight = 100 * percentFill;
        const thermY = 120 - thermHeight;

        thermFill.setAttribute('height', thermHeight);
        thermFill.setAttribute('y', thermY);
        thermFill.setAttribute('fill', color);
        thermBulb.setAttribute('fill', color);

        // Aktualizacja SVG - Zanikanie wilgoci
        moistureGrp.style.opacity = moistureOpacity;
    }

    // Nasłuch na suwak
    slider.addEventListener('input', updateProtocol);

    // Inicjalizacja początkowa
    updateProtocol();
});
</script>



<p class="wp-block-paragraph"></p>



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



<style>
:root {
    --rk-comp-dark: #0f172a;
    --rk-comp-accent: #3b82f6;
    --rk-comp-cement: #94a3b8;
    --rk-comp-anhydryt: #fbbf24;
    --rk-comp-bg: #ffffff;
    --rk-comp-border: #e2e8f0;
    --rk-comp-text: #334155;
}

.rk-comparator-app {
    max-width: 950px;
    margin: 45px auto;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    background: var(--rk-comp-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-comp-border);
    box-shadow: 0 20px 50px -15px rgba(15, 23, 42, 0.1);
    overflow: hidden;
}

/* Nagłówek Komparatora */
.rk-comp-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 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;
}

.rk-comp-intro {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-comp-text);
    max-width: 800px;
}

.rk-comp-intro a {
    color: var(--rk-comp-accent);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 2px solid rgba(59, 130, 246, 0.1);
}

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

/* Panel sterowania (Mobile Tabs Style) */
.rk-comp-controls {
    display: flex;
    padding: 20px 50px;
    gap: 10px;
    overflow-x: auto;
    background: #ffffff;
    scrollbar-width: none;
}

.rk-comp-tab {
    white-space: nowrap;
    padding: 10px 20px;
    background: #f1f5f9;
    border: 1px solid var(--rk-comp-border);
    border-radius: 99px;
    font-size: 14px;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: all 0.3s;
}

.rk-comp-tab.active {
    background: var(--rk-comp-dark);
    color: #ffffff;
    border-color: var(--rk-comp-dark);
}

/* Obszar wizualizacji danych */
.rk-comp-display {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    padding: 40px 50px;
    background: #ffffff;
    align-items: center;
}

.rk-comp-info h3 {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 10px 0;
    color: var(--rk-comp-dark);
}

.rk-comp-info p {
    font-size: 15px;
    line-height: 1.6;
    color: #64748b;
    margin-bottom: 20px;
}

/* Wykresy SVG */
.rk-svg-viz {
    width: 100%;
    max-width: 350px;
    margin: 0 auto;
}

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

.rk-bar-label {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 8px;
    color: var(--rk-comp-dark);
}

.rk-bar-bg {
    height: 12px;
    background: #f1f5f9;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
}

.rk-bar-fill {
    height: 100%;
    border-radius: 6px;
    transition: width 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.fill-cement { background: var(--rk-comp-cement); }
.fill-anhydryt { background: var(--rk-comp-anhydryt); }

/* Legenda */
.rk-comp-legend {
    display: flex;
    gap: 20px;
    margin-top: 20px;
    font-size: 13px;
    font-weight: 600;
}

.leg-item { display: flex; align-items: center; gap: 8px; }
.dot { width: 10px; height: 10px; border-radius: 50%; }

/* Tabela mobilna (Fallback) */
.rk-comp-table-box {
    padding: 0 50px 40px;
}

.rk-tech-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.rk-tech-table th {
    text-align: left;
    padding: 15px;
    background: #f8fafc;
    border-bottom: 2px solid var(--rk-comp-border);
    color: var(--rk-comp-dark);
}

.rk-tech-table td {
    padding: 15px;
    border-bottom: 1px solid var(--rk-comp-border);
    color: var(--rk-comp-text);
}

.rk-tech-table tr:hover { background: #fcfcfc; }

@media (max-width: 768px) {
    .rk-comp-display { grid-template-columns: 1fr; padding: 30px 25px; }
    .rk-comp-header, .rk-comp-controls, .rk-comp-table-box { padding: 25px; }
    .rk-comp-header h2 { font-size: 22px; }
    .rk-comp-info h3 { font-size: 18px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#article-porownanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/"
    },
    "headline": "Parametry techniczne wylewek – Porównanie inżynierskie",
    "description": "Zestawienie kluczowych parametrów jastrychów grzejnych: przewodność cieplna lambda, grubość s_d, wytrzymałość i dylatacje wg normy 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-02-18",
    "dateModified": "2026-05-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#dataset-tabela",
    "name": "Tabela Porównawcza Jastrychów Grzejnych 2026",
    "description": "Dane techniczne jastrychu cementowego i anhydrytowego używane w obliczeniach projektowych OZC i doboru instalacji podłogowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "przewodność cieplna wylewki lambda",
      "norma PN-EN 1264 jastrych",
      "wytrzymałość jastrychu C20/F4",
      "dylatacje wylewki cementowej",
      "ciężar właściwy jastrychu"
    ],
    "measurementTechnique": "Porównanie parametrów znormalizowanych wg normy PN-EN 1264 oraz danych producentów chemii budowlanej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        { "@type": "ListItem", "name": "Lambda Cement", "value": "1.2 W/(m·K)" },
        { "@type": "ListItem", "name": "Lambda Anhydryt", "value": "1.8 W/(m·K)" },
        { "@type": "ListItem", "name": "Min s_d Cement", "value": "45 mm" },
        { "@type": "ListItem", "name": "Min s_d Anhydryt", "value": "35 mm" }
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#webapp-komparator",
    "name": "Interaktywny Komparator Technologii Jastrychowych",
    "description": "Narzędzie symulujące różnice w wydajności i konstrukcji wylewek na ogrzewanie podłogowe.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and SVG Support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-comparator-app" id="rk-comp-app">
    
    <div class="rk-comp-header">
        <h2>Parametry techniczne wylewek – porównanie</h2>
        <p class="rk-comp-intro">
            Wybór między jastrychem cementowym a anhydrytowym to nie kwestia gustu, a czysta inżynieria. Według <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">normy PN-EN 1264</a>, to parametry takie jak przewodność cieplna (lambda) i grubość s<sub>d</sub> determinują wydajność całego układu.
        </p>
    </div>

    <div class="rk-comp-controls">
        <div class="rk-comp-tab active" data-param="lambda">Przewodność (lambda)</div>
        <div class="rk-comp-tab" data-param="thickness">Grubość (s<sub>d</sub>)</div>
        <div class="rk-comp-tab" data-param="dilatation">Dylatacje</div>
        <div class="rk-comp-tab" data-param="weight">Ciężar właściwy</div>
    </div>

    <div class="rk-comp-display">
        <div class="rk-comp-info" id="rk-comp-text">
            <h3 id="comp-title">Przewodność cieplna (lambda)</h3>
            <p id="comp-desc">Anhydryt wygrywa w kategorii szybkości oddawania ciepła. Wyższa wartość lambda pozwala na obniżenie temperatury zasilania pompy ciepła.</p>
            <div class="rk-comp-legend">
                <div class="leg-item"><span class="dot" style="background:var(--rk-comp-cement)"></span> Cement</div>
                <div class="leg-item"><span class="dot" style="background:var(--rk-comp-anhydryt)"></span> Anhydryt</div>
            </div>
        </div>

        <div class="rk-svg-viz">
            <div class="rk-bar-group">
                <div class="rk-bar-label">
                    <span>Cement</span>
                    <span id="val-cement">1.2 W/mK</span>
                </div>
                <div class="rk-bar-bg">
                    <div class="rk-bar-fill fill-cement" id="bar-cement" style="width: 60%"></div>
                </div>
            </div>
            <div class="rk-bar-group">
                <div class="rk-bar-label">
                    <span>Anhydryt</span>
                    <span id="val-anhydryt">1.8 W/mK</span>
                </div>
                <div class="rk-bar-bg">
                    <div class="rk-bar-fill fill-anhydryt" id="bar-anhydryt" style="width: 90%"></div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-comp-table-box">
        <h4 style="margin: 0 0 20px 0; color: var(--rk-comp-dark); font-size: 16px;">Tabela zbiorcza parametrów (Standard Inżynierski)</h4>
        <div style="overflow-x: auto;">
            <table class="rk-tech-table">
                <thead>
                    <tr>
                        <th>Parametr</th>
                        <th>Jastrych Cementowy</th>
                        <th>Jastrych Anhydrytowy</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td><strong>Wytrzymałość (Klasa)</strong></td>
                        <td>C20/F4 do C30/F5</td>
                        <td>C20/F5 do C35/F7</td>
                    </tr>
                    <tr>
                        <td><strong>Odporność na wilgoć</strong></td>
                        <td>Wysoka (Łazienki)</td>
                        <td>Niska (Pomieszczenia suche)</td>
                    </tr>
                    <tr>
                        <td><strong>Czas do wejścia</strong></td>
                        <td>2-3 dni</td>
                        <td>24-48 godzin</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Zgodnie z Twoim wzorem)
    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-comp-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif; margin: 20px;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Interaktywny Komparator Jastrychów oraz struktura Dataset są własnością intelektualną Projekt-Ogrzewania.pl. Użycie nieautoryzowane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Komparatora
    const tabs = document.querySelectorAll('.rk-comp-tab');
    const title = document.getElementById('comp-title');
    const desc = document.getElementById('comp-desc');
    const barCement = document.getElementById('bar-cement');
    const barAnhydryt = document.getElementById('bar-anhydryt');
    const valCement = document.getElementById('val-cement');
    const valAnhydryt = document.getElementById('val-anhydryt');

    const data = {
        lambda: {
            title: "Przewodność cieplna (lambda)",
            desc: "Anhydryt wygrywa w kategorii szybkości oddawania ciepła. Pozwala to na szybszą reakcję systemu i wyższą sprawność energetyczną.",
            cCement: "1.2 W/mK",
            cAnhy: "1.8 W/mK",
            pCement: "60%",
            pAnhy: "90%"
        },
        thickness: {
            title: "Min. grubość nad rurką (s<sub>d</sub>)",
            desc: "Anhydryt pozwala na cieńszą warstwę (35mm), co redukuje bezwładność. Cement wymaga min. 45mm dla zachowania stabilności płyty.",
            cCement: "45 mm",
            cAnhy: "35 mm",
            pCement: "85%",
            pAnhy: "60%"
        },
        dilatation: {
            title: "Pole dylatacyjne (Max m²)",
            desc: "Cement wymaga gęstej siatki nacięć co 30-40m². Anhydryt jest niemal bezskurczowy, co pozwala na pola do 600m² bez przerw.",
            cCement: "40 m²",
            cAnhy: "600 m²",
            pCement: "15%",
            pAnhy: "100%"
        },
        weight: {
            title: "Ciężar właściwy (kg/m³)",
            desc: "Oba materiały są ciężkie, ale cement z racji wymaganej większej grubości generuje o ok. 20% większe obciążenie stropu.",
            cCement: "2200 kg/m³",
            cAnhy: "2100 kg/m³",
            pCement: "100%",
            pAnhy: "95%"
        }
    };

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

            const p = this.getAttribute('data-param');
            const d = data[p];

            // Animacja tekstu i słupków
            title.innerHTML = d.title;
            desc.innerHTML = d.desc;
            
            barCement.style.width = d.pCement;
            barAnhydryt.style.width = d.pAnhy;
            
            valCement.innerText = d.cCement;
            valAnhydryt.innerText = d.cAnhy;
        });
    });
});
</script>



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



<style>
:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-panel: #1e293b;
    --rk-calc-primary: #06b6d4; /* Cyjan - techniczny/kalkulacyjny */
    --rk-calc-primary-dark: #0891b2;
    --rk-calc-accent: #8b5cf6; /* Fiolet - inżynieria */
    --rk-calc-warning: #f59e0b;
    --rk-calc-bg: #ffffff;
    --rk-calc-text: #334155;
    --rk-calc-border: #e2e8f0;
}

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

/* Sekcja Nagłówkowa */
.rk-calc-header {
    padding: 45px 50px 30px;
    background: #ffffff;
}

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

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

.rk-calc-intro strong {
    color: var(--rk-calc-dark);
    font-weight: 800;
}

/* Interfejs Kalkulatora */
.rk-calc-app {
    background: var(--rk-calc-dark);
    padding: 40px 50px;
    color: #ffffff;
}

.rk-app-title {
    font-size: 20px;
    font-weight: 800;
    color: #f8fafc;
    margin: 0 0 30px 0;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Panel sterowania */
.rk-controls-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 40px;
}

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

.rk-control-label {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    font-weight: 700;
    color: #94a3b8;
    margin-bottom: 15px;
    text-transform: uppercase;
}

.rk-control-val {
    color: var(--rk-calc-primary);
    font-size: 18px;
    font-weight: 900;
}

/* Suwak Metrażu */
.rk-area-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: #334155;
    border-radius: 8px;
    outline: none;
    margin-top: 10px;
}

.rk-area-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-calc-primary);
    border: 4px solid #ffffff;
    cursor: ew-resize;
    transition: transform 0.1s;
    box-shadow: 0 0 15px rgba(6, 182, 212, 0.5);
}

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

/* Przełącznik Materiału */
.rk-mat-toggle {
    display: flex;
    gap: 10px;
}

.rk-mat-btn {
    flex: 1;
    background: rgba(0,0,0,0.2);
    border: 2px solid rgba(255,255,255,0.1);
    color: #94a3b8;
    padding: 12px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s;
}

.rk-mat-btn.active {
    background: rgba(139, 92, 246, 0.2);
    border-color: var(--rk-calc-accent);
    color: #ffffff;
}

/* Wyniki (Algorytm) */
.rk-results-board {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.rk-res-card {
    background: var(--rk-calc-panel);
    border: 1px solid rgba(255,255,255,0.05);
    border-top: 4px solid var(--rk-calc-primary);
    padding: 25px;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
}

.rk-res-card.accent {
    border-top-color: var(--rk-calc-accent);
    background: linear-gradient(180deg, rgba(139, 92, 246, 0.1) 0%, var(--rk-calc-panel) 100%);
}

.rk-res-step {
    font-size: 12px;
    color: #64748b;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.rk-res-title {
    font-size: 15px;
    color: #cbd5e1;
    font-weight: 600;
    margin-bottom: 15px;
}

.rk-res-formula {
    font-family: 'Courier New', monospace;
    font-size: 12px;
    color: #94a3b8;
    background: rgba(0,0,0,0.3);
    padding: 5px 8px;
    border-radius: 4px;
    margin-bottom: 15px;
    display: inline-block;
}

.rk-res-output {
    font-size: 32px;
    font-weight: 900;
    color: #ffffff;
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.rk-res-output small {
    font-size: 16px;
    font-weight: 600;
    color: #94a3b8;
}

/* SVG Animacja Obciążenia */
.rk-svg-viz {
    width: 100%;
    height: 120px;
    background: rgba(0,0,0,0.2);
    border-radius: 12px;
    margin-top: 20px;
}

.anim-weight-block {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.anim-heat-arrow {
    transition: stroke-dashoffset 0.5s;
    animation: flowResistance 2s infinite linear;
}

@keyframes flowResistance {
    to { stroke-dashoffset: -20; }
}

/* Mocne CTA - Sprzedażowe */
.rk-cta-box {
    background: linear-gradient(135deg, #f8fafc 0%, #e0e7ff 100%);
    padding: 45px 50px;
    border-top: 1px solid var(--rk-calc-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-cta-warning {
    color: #4338ca;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.rk-cta-title {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-calc-dark);
    margin: 0 0 15px 0;
}

.rk-cta-desc {
    font-size: 16px;
    color: #475569;
    max-width: 700px;
    line-height: 1.6;
    margin: 0 0 30px 0;
}

.rk-cta-btn {
    background: #4f46e5;
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 18px 40px;
    border-radius: 12px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 10px 20px -5px rgba(79, 70, 229, 0.4);
    transition: all 0.3s;
    border: 2px solid transparent;
}

.rk-cta-btn:hover {
    background: #4338ca;
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(79, 70, 229, 0.5);
}

@media (max-width: 768px) {
    .rk-calc-header, .rk-calc-app, .rk-cta-box { padding: 30px 20px; }
    .rk-controls-grid, .rk-results-board { grid-template-columns: 1fr; gap: 20px; }
    .rk-res-output { font-size: 26px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#article-algorytm",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/"
    },
    "headline": "Kalkulator ilości materiału i parametrów termicznych (Algorytm)",
    "description": "Zrozum fizykę swojej posadzki. Kalkulator inżynierski obliczający objętość (V), masę (M) oraz opór cieplny (Rλ) dla jastrychu cementowego i anhydrytowego.",
    "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-02-18",
    "dateModified": "2026-05-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#dataset-algorytm",
    "name": "Algorytm Obliczeniowy Jastrychu Grzejnego OZC",
    "description": "Zestaw wzorów matematycznych i stałych fizycznych używanych do doboru parametrów ogrzewania podłogowego: Objętość, Masa, Opór Cieplny.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "obliczanie objętości betonu na wylewkę",
      "opór cieplny jastrychu R lambda",
      "masa jastrychu obciążenie stropu",
      "algorytm OZC projektowanie ogrzewania",
      "wzór na parametry termiczne podłogówki"
    ],
    "measurementTechnique": "Kalkulacja oparta na wzorach fizycznych: V = A × h, M = V × ρ, Rλ = d / λ. Gęstość cementu ~2200 kg/m³, anhydrytu ~2100 kg/m³.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Krok 1: Objętość (V) = Metraż (A) × Grubość (h).",
        "Krok 2: Masa (M) = Objętość (V) × Gęstość materiału (ρ).",
        "Krok 3: Opór cieplny (Rλ) = Grubość (d) / Przewodność cieplna (λ)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#webapp-kalkulator-wylewki",
    "name": "Inżynierski Kalkulator Jastrychu",
    "description": "Interaktywny kalkulator przeliczający w czasie rzeczywistym metraż domu na metry sześcienne betonu, tony obciążenia stropu oraz opór termiczny Rλ.",
    "applicationCategory": "EngineeringCalculator",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 Range Input, JavaScript and SVG rendering",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container" id="rk-algorytm-app">
    
    <div class="rk-calc-header">
        <h2 class="rk-calc-title">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="color: var(--rk-calc-primary);"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line><line x1="20" y1="9" x2="23" y2="9"></line><line x1="20" y1="14" x2="23" y2="14"></line><line x1="1" y1="9" x2="4" y2="9"></line><line x1="1" y1="14" x2="4" y2="14"></line></svg>
            Kalkulator materiału i parametrów termicznych
        </h2>
        <p class="rk-calc-intro">
            Jako inżynier, nie operuję na „workach”, ale na objętości i oporze przewodzenia. W moich projektach liczy się każdy niuans, bo ma on wpływ na końcowe <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczenia OZC</a>. Anhydryt stawia o <strong>50% mniejszy opór cieplny</strong> niż tradycyjny beton. Sprawdź, jak matematyka fizyki budowli wygląda dla Twojego domu.
        </p>
    </div>

    <div class="rk-calc-app">
        <h3 class="rk-app-title">Kalkulator Inżynierski Jastrychu</h3>

        <div class="rk-controls-grid">
            <div class="rk-control-group">
                <div class="rk-control-label">
                    <span>Powierzchnia (A)</span>
                    <span class="rk-control-val" id="valAreaOut">150 m²</span>
                </div>
                <input type="range" min="50" max="350" value="150" step="5" class="rk-area-slider" id="rkSliderArea">
            </div>

            <div class="rk-control-group">
                <div class="rk-control-label"><span>Rodzaj Mieszanki</span></div>
                <div class="rk-mat-toggle">
                    <button class="rk-mat-btn active" data-mat="cement">Jastrych Cementowy</button>
                    <button class="rk-mat-btn" data-mat="anhydryt">Anhydryt (Płynny)</button>
                </div>
            </div>
        </div>

        <div class="rk-results-board">
            <div class="rk-res-card">
                <div class="rk-res-step">Krok 1: Objętość</div>
                <div class="rk-res-title">Ilość betonu (V)</div>
                <div class="rk-res-formula">V = A × h</div>
                <div class="rk-res-output" id="outVol">9.75 <small>m³</small></div>
            </div>

            <div class="rk-res-card">
                <div class="rk-res-step">Krok 2: Masa</div>
                <div class="rk-res-title">Obciążenie stropu (M)</div>
                <div class="rk-res-formula">M = V × ρ</div>
                <div class="rk-res-output" id="outMass">21.4 <small>ton</small></div>
            </div>

            <div class="rk-res-card accent">
                <div class="rk-res-step">Krok 3: Termika</div>
                <div class="rk-res-title">Opór cieplny (R<sub>λ</sub>)</div>
                <div class="rk-res-formula">R<sub>λ</sub> = d / λ</div>
                <div class="rk-res-output" id="outRes" style="color: #c4b5fd;">0.054 <small>m²·K/W</small></div>
            </div>
        </div>

        <svg class="rk-svg-viz" viewBox="0 0 800 120" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid slice">
            <rect x="0" y="80" width="800" height="40" fill="#334155" />
            <circle cx="400" cy="80" r="16" fill="#ef4444" stroke="#fff" stroke-width="3"/>
            
            <rect id="svgScreedBlock" class="anim-weight-block" x="250" y="20" width="300" height="60" fill="#64748b" rx="4" opacity="0.8"/>
            <text id="svgScreedText" x="400" y="55" fill="#ffffff" font-size="14" font-weight="bold" text-anchor="middle">Obciążenie: 21.4 ton</text>

            <path class="anim-heat-arrow" id="svgHeat1" d="M 360 80 L 360 10" stroke="#f59e0b" stroke-width="4" stroke-dasharray="8" fill="none" stroke-linecap="round"/>
            <path class="anim-heat-arrow" id="svgHeat2" d="M 440 80 L 440 10" stroke="#f59e0b" stroke-width="4" stroke-dasharray="8" fill="none" stroke-linecap="round"/>
        </svg>

    </div>

    <div class="rk-cta-box">
        <div class="rk-cta-warning">Decyzja, której nie cofniesz</div>
        <h3 class="rk-cta-title">Zaraz, zaraz&#8230; Różnica to 50%!</h3>
        <p class="rk-cta-desc">
            Zauważyłeś? Opór cieplny wylewki cementowej jest o połowę wyższy. Jeśli dobierzesz rozstaw rur i parametry pompy ciepła pod anhydryt, a wylejesz grubszy beton – <strong>będziesz miał niedogrzany dom</strong>. System podłogowy musi być zaprojektowany z uwzględnieniem docelowego jastrychu!
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-cta-btn">
            Zamów Profesjonalny Projekt Podłogówki
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez H-tags 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-algorytm-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif; max-width: 950px; margin: 40px auto;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Zabezpieczenie Antypirackie</div>
                    <div style="font-size: 14px; color: #cbd5e1; line-height: 1.6;">
                        Kalkulator Inżynierski Jastrychu jest prawnie chronionym kodem domeny Projekt-Ogrzewania.pl.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Algorytmu Kalkulatora
    const sliderArea = document.getElementById('rkSliderArea');
    const valAreaOut = document.getElementById('valAreaOut');
    const matBtns = document.querySelectorAll('.rk-mat-btn');
    
    const outVol = document.getElementById('outVol');
    const outMass = document.getElementById('outMass');
    const outRes = document.getElementById('outRes');
    
    const svgBlock = document.getElementById('svgScreedBlock');
    const svgText = document.getElementById('svgScreedText');
    const heatArr1 = document.getElementById('svgHeat1');
    const heatArr2 = document.getElementById('svgHeat2');

    let currentMat = 'cement';

    const physics = {
        cement: { h: 0.065, rho: 2200, lambda: 1.2, color: '#64748b', heatSpeed: '3s' },
        anhydryt: { h: 0.050, rho: 2100, lambda: 1.8, color: '#8b5cf6', heatSpeed: '1.5s' }
    };

    function runAlgorithm() {
        const A = parseInt(sliderArea.value);
        valAreaOut.innerText = `${A} m²`;

        const mat = physics[currentMat];
        
        // Obliczenia
        const V = A * mat.h;
        const M_kg = V * mat.rho;
        const M_ton = M_kg / 1000;
        const R = mat.h / mat.lambda;

        // Aktualizacja DOM
        outVol.innerHTML = `${V.toFixed(2)} <small>m³</small>`;
        outMass.innerHTML = `${M_ton.toFixed(1)} <small>ton</small>`;
        outRes.innerHTML = `${R.toFixed(3)} <small>m²·K/W</small>`;

        // Aktualizacja SVG wizualizacji (Szerokość rośnie z metrażem bazowo)
        const blockWidth = 150 + (A * 1.5); // Skalowanie wizualne
        const blockX = 400 - (blockWidth / 2);
        const blockHeight = mat.h * 1000; // Skalowanie grubości
        const blockY = 80 - blockHeight;

        svgBlock.setAttribute('width', blockWidth > 700 ? 700 : blockWidth);
        svgBlock.setAttribute('x', blockWidth > 700 ? 50 : blockX);
        svgBlock.setAttribute('height', blockHeight);
        svgBlock.setAttribute('y', blockY);
        svgBlock.setAttribute('fill', mat.color);
        
        svgText.setAttribute('y', blockY + (blockHeight/2) + 5);
        svgText.textContent = `Obciążenie: ${M_ton.toFixed(1)} ton`;

        // Prędkość animacji ciepła
        heatArr1.style.animationDuration = mat.heatSpeed;
        heatArr2.style.animationDuration = mat.heatSpeed;
    }

    // Eventy
    sliderArea.addEventListener('input', runAlgorithm);

    matBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            matBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            currentMat = this.getAttribute('data-mat');
            runAlgorithm();
        });
    });

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



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-panel: #1e293b;
    --rk-err-red: #ef4444; /* Błąd krytyczny */
    --rk-err-orange: #f97316; /* Ostrzeżenie */
    --rk-err-blue: #3b82f6; /* Woda / Mróz */
    --rk-err-gray: #64748b;
    --rk-err-bg: #ffffff;
    --rk-err-border: #e2e8f0;
    --rk-err-text: #334155;
}

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

/* Nagłówek i Wstęp */
.rk-err-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, #fff1f2 0%, #ffffff 100%);
    border-bottom: 2px dashed #fecdd3;
}

.rk-err-title {
    font-size: 26px;
    font-weight: 900;
    color: #9f1239;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

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

.rk-err-intro a {
    color: #be123c;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid rgba(190, 18, 60, 0.2);
    transition: all 0.3s;
}

.rk-err-intro a:hover {
    border-bottom-color: #be123c;
    background: rgba(190, 18, 60, 0.05);
}

/* Panel Symulatora */
.rk-err-app {
    display: grid;
    grid-template-columns: 350px 1fr;
    background: var(--rk-err-dark);
    color: #ffffff;
}

/* Przyciski (Lista Błędów) */
.rk-err-sidebar {
    padding: 30px;
    border-right: 1px solid rgba(255,255,255,0.05);
    background: #0b1120;
}

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

.rk-fault-btn {
    display: flex;
    flex-direction: column;
    width: 100%;
    text-align: left;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.05);
    padding: 15px;
    border-radius: 12px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.3s;
    color: #cbd5e1;
}

.rk-fault-btn:hover {
    background: rgba(255,255,255,0.08);
}

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

.rk-fault-name {
    font-size: 15px;
    font-weight: 800;
    margin-bottom: 4px;
}

.rk-fault-hint {
    font-size: 12px;
    color: #64748b;
}

/* Wizualizacja i Opis (Prawa strona) */
.rk-err-main {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Moduł SVG */
.rk-err-svg-box {
    background: var(--rk-err-panel);
    border-radius: 16px;
    padding: 20px;
    box-shadow: inset 0 10px 20px rgba(0,0,0,0.4);
    margin-bottom: 30px;
    position: relative;
}

.rk-svg-scene {
    width: 100%;
    max-width: 320px;
    height: auto;
    margin: 0 auto;
    display: block;
}

/* Opis wybranego błędu */
.rk-err-details {
    background: rgba(0,0,0,0.2);
    border-left: 4px solid var(--rk-err-red);
    padding: 25px;
    border-radius: 0 12px 12px 0;
}

.rk-err-details h4 {
    font-size: 20px;
    font-weight: 800;
    margin: 0 0 10px 0;
    color: #f8fafc;
}

.rk-err-details p {
    font-size: 15px;
    line-height: 1.7;
    color: #94a3b8;
    margin: 0 0 15px 0;
}

.rk-err-tech {
    display: inline-block;
    background: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    font-family: 'Courier New', monospace;
}

/* ANIMACJE SVG (Sterowane klasami z JS) */
.anim-layer { opacity: 0; transition: opacity 0.4s; }

/* 1. Dylatacje (Pęknięcia) */
.state-dylatacja .svg-crack { opacity: 1; stroke-dasharray: 100; animation: drawCrack 1s forwards; }
@keyframes drawCrack { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
.state-dylatacja .svg-foam { fill: #ef4444; }

/* 2. Powietrze (Izolator) */
.state-powietrze .svg-bubbles { opacity: 1; animation: pulseBubbles 1.5s infinite alternate; }
@keyframes pulseBubbles { from { transform: scale(0.95); stroke-width: 1; } to { transform: scale(1.05); stroke-width: 2.5; } }
.state-powietrze .svg-heat { stroke: #64748b; opacity: 0.3; } /* Słabe ciepło */

/* 3. Temperatura (Mróz/Smażenie) */
.state-temperatura .svg-screed { animation: flashTemp 2s infinite; }
@keyframes flashTemp { 0% { fill: #64748b; } 50% { fill: #3b82f6; } 100% { fill: #64748b; } }

/* 4. Plastyfikator (Pustki) */
.state-chemia .svg-voids { opacity: 1; }
.state-chemia .svg-screed { fill: #475569; }

/* Domyślne ciepło */
.svg-heat { stroke: #ef4444; animation: flowHeat 1.5s infinite linear; }
@keyframes flowHeat { to { stroke-dashoffset: -20; } }

@media (max-width: 768px) {
    .rk-err-app { grid-template-columns: 1fr; }
    .rk-err-header, .rk-err-sidebar, .rk-err-main { padding: 25px; }
    .rk-fault-btn { padding: 12px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/"
    },
    "headline": "Najczęstsze błędy niszczące instalację ogrzewania podłogowego",
    "description": "Zestawienie krytycznych błędów wykonawczych: brak dylatacji, złe odpowietrzenie anhydrytu, szok termiczny oraz złe proporcje plastyfikatora w miksokrecie.",
    "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-02-18",
    "dateModified": "2026-05-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#dataset-bledy",
    "name": "Rejestr Błędów Wykonawczych Jastrychu Grzejnego",
    "description": "Baza danych dokumentująca fizyczne i termodynamiczne skutki błędów instalatorskich na wylewkach betonowych i anhydrytowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "brak dylatacji brzegowej pękanie posadzki",
      "odpowietrzenie anhydrytu powietrze izolator",
      "plastyfikator do ogrzewania podłogowego",
      "najczęstsze błędy montażu ogrzewania podłogowego",
      "wygrzewanie wylewki w ujemnych temperaturach"
    ],
    "measurementTechnique": "Wizualizacja defektów strukturalnych za pomocą animacji SVG oraz estymacja spadku sprawności z uwzględnieniem oporu cieplnego powietrza (λ ≈ 0,025).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Brak dylatacji (min. 8-10 mm): skutkuje prężeniem i pękaniem na obwodzie.",
        "Pęcherze powietrza: działają jak izolator (Lambda pow. = 0.025), blokując transfer ciepła z rur PEX.",
        "Szok termiczny: zamarzanie lub przesuszenie (smażenie) degraduje strukturę krystaliczną.",
        "Zła chemia: brak plastyfikatora (0.2kg/worek) powoduje pustki powietrzne w miksokrecie."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#webapp-symulator-awarii",
    "name": "X-Ray: Symulator Awarii Wylewki",
    "description": "Narzędzie inżynierskie pozwalające na interaktywny podgląd struktury wewnętrznej posadzki poddanej błędom wykonawczym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and SVG Support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="rk-bledy-core">
    
    <div class="rk-err-header">
        <h2 class="rk-err-title">
            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Najczęstsze błędy niszczące instalację
        </h2>
        <p class="rk-err-intro">
            Fizyka budowli nie wybacza amatorszczyzny. <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">Błędy przy montażu ogrzewania podłogowego</a> na etapie wylewania jastrychu to wyrok na całą instalację hydrauliczną. Kucie gotowej posadzki to koszmar każdego inwestora. Zobacz, co dzieje się wewnątrz betonu, gdy wykonawca oszczędza na dylatacjach lub chemii.
        </p>
    </div>

    <div class="rk-err-app" id="rkErrEngine">
        
        <div class="rk-err-sidebar">
            <h3>Wybierz błąd wykonawczy</h3>
            
            <button class="rk-fault-btn active" data-err="dylatacja">
                <span class="rk-fault-name">1. Brak dylatacji</span>
                <span class="rk-fault-hint">Pękanie progów i narożników</span>
            </button>
            
            <button class="rk-fault-btn" data-err="powietrze">
                <span class="rk-fault-name">2. Złe odpowietrzenie</span>
                <span class="rk-fault-hint">Pęcherze w anhydrycie (Izolator)</span>
            </button>
            
            <button class="rk-fault-btn" data-err="temperatura">
                <span class="rk-fault-name">3. Szok termiczny</span>
                <span class="rk-fault-hint">Zamarznięcie lub &#8222;smażenie&#8221; betonu</span>
            </button>
            
            <button class="rk-fault-btn" data-err="chemia">
                <span class="rk-fault-name">4. Brak plastyfikatora</span>
                <span class="rk-fault-hint">Pustki powietrzne w miksokrecie</span>
            </button>
        </div>

        <div class="rk-err-main">
            
            <div class="rk-err-svg-box">
                <svg viewBox="0 0 300 160" class="rk-svg-scene" xmlns="http://www.w3.org/2000/svg">
                    <rect x="270" y="20" width="30" height="140" fill="#334155" />
                    <rect class="svg-foam" x="260" y="20" width="10" height="140" fill="#0ea5e9" transition="fill 0.3s"/>
                    
                    <rect x="0" y="130" width="260" height="30" fill="#475569" />
                    
                    <circle cx="80" cy="110" r="10" fill="#ef4444" stroke="#fff" stroke-width="2"/>
                    <circle cx="180" cy="110" r="10" fill="#ef4444" stroke="#fff" stroke-width="2"/>
                    
                    <path class="svg-heat" d="M 80 90 V 40" stroke-width="3" stroke-dasharray="6" fill="none" stroke-linecap="round"/>
                    <path class="svg-heat" d="M 180 90 V 40" stroke-width="3" stroke-dasharray="6" fill="none" stroke-linecap="round"/>

                    <rect class="svg-screed" x="0" y="50" width="260" height="80" fill="#94a3b8" opacity="0.8" rx="2"/>

                    <path class="anim-layer svg-crack" d="M 260 55 L 230 80 L 250 110 L 220 130" fill="none" stroke="#020617" stroke-width="3" stroke-linejoin="round"/>
                    <path class="anim-layer svg-crack" d="M 150 50 L 140 70 L 160 90" fill="none" stroke="#020617" stroke-width="2" />

                    <g class="anim-layer svg-bubbles">
                        <circle cx="80" cy="110" r="16" fill="none" stroke="#f8fafc" stroke-width="2" stroke-dasharray="4"/>
                        <circle cx="180" cy="110" r="16" fill="none" stroke="#f8fafc" stroke-width="2" stroke-dasharray="4"/>
                    </g>

                    <g class="anim-layer svg-voids" fill="#1e293b" opacity="0.6">
                        <circle cx="40" cy="70" r="5"/>
                        <circle cx="120" cy="90" r="8"/>
                        <circle cx="210" cy="65" r="6"/>
                        <circle cx="150" cy="110" r="4"/>
                        <circle cx="50" cy="100" r="7"/>
                    </g>
                </svg>
            </div>

            <div class="rk-err-details">
                <h4 id="errTitle">Brak dylatacji brzegowych</h4>
                <p id="errDesc">Wylewka stale „pracuje” termicznie (rozszerza się i kurczy). Brak <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" style="color:#f8fafc; text-decoration:underline;">pianki dylatacyjnej</a> o grubości min. 8-10 mm uderzy rykoszetem – spowoduje potężne naprężenia i pękanie jastrychu w progach, narożnikach oraz uszkodzenie płytek.</p>
                <div class="rk-err-tech" id="errParam">Wymóg: Pianka min. 8-10 mm gr.</div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez nagłówków H-tags 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-bledy-core');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif; max-width: 950px; margin: 40px auto;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 14px; color: #cbd5e1; line-height: 1.6;">
                        Moduł "Symulator Awarii Instalacji" to zintegrowany kod należący do Projekt-Ogrzewania.pl. Użycie nieautoryzowane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora Błędów
    const btns = document.querySelectorAll('.rk-fault-btn');
    const engine = document.getElementById('rkErrEngine');
    
    // Pola tekstowe
    const titleObj = document.getElementById('errTitle');
    const descObj = document.getElementById('errDesc');
    const paramObj = document.getElementById('errParam');

    // Baza danych błędów
    const errorsData = {
        dylatacja: {
            title: "Brak dylatacji brzegowych i pośrednich",
            desc: "Wylewka stale „pracuje” termicznie. Brak <a href='https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/' style='color:#f8fafc; text-decoration:underline;'>pianki dylatacyjnej</a> uderzy rykoszetem – spowoduje prężenie betonu o mury, co doprowadzi do pękania jastrychu w progach, narożnikach oraz uszkodzenia okładzin wierzchnich.",
            param: "Wymóg: Pianka min. 8-10 mm gr."
        },
        powietrze: {
            title: "Niedokładne odpowietrzenie anhydrytu",
            desc: "Złe odpowietrzenie płynnej masy (np. brak wibrowania sztangą) zostawia pęcherzyki powietrza wokół <a href='https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/' style='color:#f8fafc; text-decoration:underline;'>rur PEX</a>. Powietrze działa jak idealny izolator termiczny, drastycznie obniżając moc oddawania ciepła z pętli do posadzki.",
            param: "Fizyka: Powietrze ma λ ≈ 0,025 W/(m·K)"
        },
        temperatura: {
            title: "Szok termiczny wylewki",
            desc: "Zbyt wczesne wyłączenie ogrzewania po wylaniu to proszenie się o kłopoty. W ujemnych temperaturach jastrych musi być chroniony przed zamarznięciem wody zarobowej. Z drugiej strony, wpuszczenie od razu 40°C spowoduje \"smażenie\" betonu i jego dezintegrację.",
            param: "Konsekwencja: Utrata nośności / Zamarzanie"
        },
        chemia: {
            title: "Złe proporcje plastyfikatora",
            desc: "Wykonywanie wylewki z miksokreta bez odpowiedniej chemii (plastyfikatora) to błąd inżynierski. Masa staje się zbyt gęsta, nie otula rur i tworzą się w niej mikroskopijne pustki powietrzne, które degradują ogólną wydajność cieplną o kilkanaście procent.",
            param: "Błąd: Brak dawki 0,2 kg chemii / worek cementu"
        }
    };

    // Nasłuch kliknięć
    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Reset UI
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Pobierz dane
            const errKey = this.getAttribute('data-err');
            const data = errorsData[errKey];

            // Animacja SVG poprzez klasy
            engine.className = "rk-err-app state-" + errKey;

            // Wypełnij tekst
            titleObj.innerHTML = data.title;
            descObj.innerHTML = data.desc;
            paramObj.innerHTML = data.param;
        });
    });

    // Inicjalizacja domyślnego błędu
    engine.classList.add('state-dylatacja');
});
</script>



<style>
:root {
    --rk-proj-dark: #0f172a;
    --rk-proj-panel: #1e293b;
    --rk-proj-primary: #10b981; /* Ekologiczna zieleń dla efektywności COP */
    --rk-proj-accent: #3b82f6; /* Techniczny niebieski */
    --rk-proj-warning: #f59e0b; /* Uwaga */
    --rk-proj-bg: #ffffff;
    --rk-proj-border: #e2e8f0;
    --rk-proj-text: #334155;
    --rk-proj-light: #f8fafc;
}

.rk-proj-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-proj-bg);
    border-radius: 20px;
    box-shadow: 0 25px 50px -15px rgba(16, 185, 129, 0.15);
    border: 1px solid var(--rk-proj-border);
    overflow: hidden;
}

/* Nagłówek i Wstęp */
.rk-proj-header {
    padding: 40px 50px 30px;
    background: linear-gradient(180deg, #ffffff 0%, var(--rk-proj-light) 100%);
    border-bottom: 1px solid var(--rk-proj-border);
}

.rk-proj-title {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-proj-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

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

.rk-proj-intro a {
    color: var(--rk-proj-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid rgba(59, 130, 246, 0.2);
    transition: all 0.3s ease;
}

.rk-proj-intro a:hover {
    border-bottom-color: var(--rk-proj-accent);
    background: rgba(59, 130, 246, 0.05);
}

/* Symulator Projektowy */
.rk-proj-app {
    background: var(--rk-proj-dark);
    padding: 40px 50px;
    color: #ffffff;
}

.rk-proj-app-title {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #94a3b8;
    margin: 0 0 25px 0;
    font-weight: 800;
    text-align: center;
}

/* Przełącznik Jastrychu */
.rk-proj-switch {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 40px;
}

.rk-btn-proj {
    background: rgba(255,255,255,0.05);
    border: 2px solid rgba(255,255,255,0.1);
    color: #cbd5e1;
    padding: 14px 30px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-btn-proj.active[data-mat="anhydryt"] {
    background: rgba(16, 185, 129, 0.15);
    border-color: var(--rk-proj-primary);
    color: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(16, 185, 129, 0.3);
}

.rk-btn-proj.active[data-mat="cement"] {
    background: rgba(148, 163, 184, 0.15);
    border-color: #94a3b8;
    color: #ffffff;
}

/* Dashboard Wyników */
.rk-dashboard-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.rk-dash-card {
    background: var(--rk-proj-panel);
    border: 1px solid rgba(255,255,255,0.05);
    padding: 25px 20px;
    border-radius: 16px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

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

.rk-val-main {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    margin-bottom: 5px;
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.rk-val-main small {
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
}

.rk-val-sub {
    font-size: 13px;
    color: var(--rk-proj-primary);
    font-weight: 700;
}

.status-warn { color: var(--rk-proj-warning); }

/* SVG Animacje w kartach */
.rk-card-svg {
    width: 100%;
    height: 60px;
    margin-top: 15px;
    background: rgba(0,0,0,0.2);
    border-radius: 8px;
}

/* Animacja rozstawu rur */
.anim-pipe { transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); }
.state-cement .pipe-left { transform: translateX(20px); }
.state-cement .pipe-right { transform: translateX(-20px); }
.state-anhydryt .pipe-left { transform: translateX(0px); }
.state-anhydryt .pipe-right { transform: translateX(0px); }

/* Animacja ciepła (Zebra vs Równomierne) */
.anim-heat-wave { transition: opacity 0.5s; }
.state-cement .heat-zebra { opacity: 1; }
.state-cement .heat-even { opacity: 0; }
.state-anhydryt .heat-zebra { opacity: 0; }
.state-anhydryt .heat-even { opacity: 1; }

/* Animacja Krzywej Grzewczej */
.anim-curve { transition: stroke-dashoffset 2s ease-in-out; }
.state-cement .curve-stable { opacity: 0; }
.state-cement .curve-overshoot { opacity: 1; stroke-dasharray: 200; animation: drawCurve 2s infinite linear; }
.state-anhydryt .curve-stable { opacity: 1; stroke-dasharray: 200; animation: drawCurve 2s infinite linear; }
.state-anhydryt .curve-overshoot { opacity: 0; }

@keyframes drawCurve {
    from { stroke-dashoffset: 200; }
    to { stroke-dashoffset: 0; }
}

@media (max-width: 768px) {
    .rk-proj-header, .rk-proj-app { padding: 30px 20px; }
    .rk-dashboard-grid { grid-template-columns: 1fr; }
    .rk-proj-switch { flex-direction: column; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#article-projekt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/"
    },
    "headline": "Jak wylewka wpływa na projekt ogrzewania podłogowego (OZC)?",
    "description": "Rodzaj wylewki determinuje parametry OZC, krzywą grzewczą, rozstaw rur i współczynnik COP pompy ciepła. Zobacz symulację wpływu jastrychu na projekt.",
    "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-02-18",
    "dateModified": "2026-05-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#dataset-parametry-ozc",
    "name": "Wpływ Parametrów Wylewki na Projekt OZC i Hydraulikę",
    "description": "Dane projektowe dla oprogramowania InstalSystem wykazujące relacje między typem jastrychu a efektywnością systemu grzewczego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projektowe obciążenie cieplne ozc",
      "rozstaw rur w ogrzewaniu podłogowym",
      "krzywa grzewcza pompy ciepła",
      "pompa obiegowa bezwładność wylewki",
      "współczynnik COP pompy ciepła podłogówka"
    ],
    "measurementTechnique": "Symulacja termodynamiczna: obniżenie Tz o 2-3°C dla anhydrytu względem cementu powoduje przyrost sezonowego współczynnika SCOP o 5-7%.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "OZC i COP: Wyższa przewodność (lambda) anhydrytu pozwala na pracę pompy ciepła na niższej temperaturze zasilania Tz.",
        "Rozstaw rur: Lepsze otulenie rury pozwala na rzadszy rozstaw (np. 12,5 cm zamiast 10 cm) bez zjawiska zebry cieplnej.",
        "Krzywa Grzewcza: Większa masa betonu generuje bezwładność, co grozi tzw. overshootingiem i wymaga innych nastaw pompy obiegowej."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#webapp-symulator-ozc",
    "name": "Inżynierski Symulator Wpływu Jastrychu na Projekt",
    "description": "Narzędzie typu dashboard wizualizujące różnice w nastawach pompy ciepła, rozstawie rur i zjawisku overshootingu w zależności od wybranego jastrychu.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and SVG Support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-proj-container" id="rk-projekt-core">
    
    <div class="rk-proj-header">
        <h2 class="rk-proj-title">
            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
            Jak wylewka wpływa na projekt ogrzewania podłogowego?
        </h2>
        <p class="rk-proj-intro">
            W moim biurze projektowym typ wylewki to jedna z pierwszych zmiennych wprowadzanych do oprogramowania (np. InstalSystem). Niezależnie czy robisz <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">projekt z pompą ciepła</a> czy kotłem gazowym, wybór jastrychu wprost determinuje całą hydraulikę, od <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">doboru pompy obiegowej</a> po ustawienia <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/">krzywej grzewczej</a>. Zobacz, dlaczego tak jest.
        </p>
    </div>

    <div class="rk-proj-app state-anhydryt" id="rkProjEngine">
        
        <h3 class="rk-proj-app-title">Symulator Parametrów Projektowych</h3>

        <div class="rk-proj-switch">
            <button class="rk-btn-proj" data-mat="cement">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
                Tradycyjny Cement
            </button>
            <button class="rk-btn-proj active" data-mat="anhydryt">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M8 14s1.5 2 4 2 4-2 4-2"></path><line x1="9" y1="9" x2="9.01" y2="9"></line><line x1="15" y1="9" x2="15.01" y2="9"></line></svg>
                Płynny Anhydryt
            </button>
        </div>

        <div class="rk-dashboard-grid">
            
            <div class="rk-dash-card">
                <div class="rk-dash-card-title">Zasilanie (T<sub>z</sub>) i Efektywność</div>
                <div class="rk-val-main" id="valTz">32°C</div>
                <div class="rk-val-sub" id="valCop">+7% wyższy COP pompy</div>
                
                <svg class="rk-card-svg" viewBox="0 0 100 60" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none">
                    <rect x="20" y="30" width="20" height="20" fill="#475569" rx="2"/>
                    <rect id="svgCopBar" x="60" y="10" width="20" height="40" fill="#10b981" rx="2" style="transition: all 0.5s"/>
                    <path d="M 30 20 L 70 5" stroke="#fff" stroke-width="2" stroke-dasharray="4" fill="none"/>
                </svg>
            </div>

            <div class="rk-dash-card">
                <div class="rk-dash-card-title">
                    <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" style="color:#94a3b8; text-decoration:none;">Rozstaw Rur</a>
                </div>
                <div class="rk-val-main" id="valSpacing">12.5 <small>cm</small></div>
                <div class="rk-val-sub" id="valZebra" style="color:#f8fafc;">Brak „zebry cieplnej”</div>
                
                <svg class="rk-card-svg" viewBox="0 0 200 60" xmlns="http://www.w3.org/2000/svg">
                    <path class="anim-heat-wave heat-zebra" d="M 40 40 Q 60 10 80 40 Q 100 10 120 40 Q 140 10 160 40" fill="none" stroke="#ef4444" stroke-width="15" opacity="0.4" stroke-linecap="round"/>
                    <rect class="anim-heat-wave heat-even" x="20" y="20" width="160" height="20" fill="#ef4444" opacity="0.5" rx="10"/>
                    
                    <circle class="anim-pipe pipe-left" cx="60" cy="45" r="8" fill="#3b82f6" stroke="#fff" stroke-width="2"/>
                    <circle cx="100" cy="45" r="8" fill="#3b82f6" stroke="#fff" stroke-width="2"/>
                    <circle class="anim-pipe pipe-right" cx="140" cy="45" r="8" fill="#3b82f6" stroke="#fff" stroke-width="2"/>
                </svg>
            </div>

            <div class="rk-dash-card">
                <div class="rk-dash-card-title">Krzywa i Bezwładność</div>
                <div class="rk-val-main" id="valInertia" style="font-size: 20px;">Wysoka sterowalność</div>
                <div class="rk-val-sub status-warn" id="valOver" style="color:#6ee7b7;">Brak przegrzewów</div>
                
                <svg class="rk-card-svg" viewBox="0 0 200 60" xmlns="http://www.w3.org/2000/svg">
                    <line x1="10" y1="30" x2="190" y2="30" stroke="#64748b" stroke-width="2" stroke-dasharray="4"/>
                    
                    <path class="anim-curve curve-overshoot" d="M 10 30 Q 50 -10 100 30 T 190 30" fill="none" stroke="#ef4444" stroke-width="3"/>
                    
                    <path class="anim-curve curve-stable" d="M 10 30 Q 50 20 100 30 T 190 30" fill="none" stroke="#10b981" stroke-width="3"/>
                </svg>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Zgodnie z wytycznymi)
    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-projekt-core');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif; max-width: 950px; margin: 40px auto;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 14px; color: #cbd5e1; line-height: 1.6;">
                        Moduł "Symulator Parametrów Projektowych" jest własnością intelektualną Projekt-Ogrzewania.pl.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora Projektowego
    const btns = document.querySelectorAll('.rk-btn-proj');
    const engine = document.getElementById('rkProjEngine');
    
    // Elementy Tekstowe
    const vTz = document.getElementById('valTz');
    const vCop = document.getElementById('valCop');
    const vSpacing = document.getElementById('valSpacing');
    const vZebra = document.getElementById('valZebra');
    const vInertia = document.getElementById('valInertia');
    const vOver = document.getElementById('valOver');
    
    // Elementy SVG
    const svgCopBar = document.getElementById('svgCopBar');

    const dataModel = {
        anhydryt: {
            tz: "32°C",
            copText: "+7% wyższy COP pompy",
            copColor: "var(--rk-proj-primary)",
            barHeight: "40", barY: "10", barColor: "#10b981",
            spacing: "12.5 <small>cm</small>",
            zebraText: "Brak „zebry cieplnej”",
            inertia: "Wysoka sterowalność",
            overText: "Brak przegrzewów",
            overColor: "#6ee7b7"
        },
        cement: {
            tz: "35°C",
            copText: "Standardowy COP pompy",
            copColor: "#94a3b8",
            barHeight: "20", barY: "30", barColor: "#64748b",
            spacing: "10.0 <small>cm</small>",
            zebraText: "Ryzyko wahań temperatury",
            inertia: "Wysoka bezwładność",
            overText: "Ryzyko overshootingu!",
            overColor: "#f59e0b"
        }
    };

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Zarządzanie przyciskami
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            const mat = this.getAttribute('data-mat');
            const d = dataModel[mat];

            // Klasa główna dla animacji SVG
            engine.className = "rk-proj-app state-" + mat;

            // Aktualizacja tekstów
            vTz.innerHTML = d.tz;
            vCop.innerHTML = d.copText;
            vCop.style.color = d.copColor;
            
            vSpacing.innerHTML = d.spacing;
            vZebra.innerHTML = d.zebraText;
            
            vInertia.innerHTML = d.inertia;
            vOver.innerHTML = d.overText;
            vOver.style.color = d.overColor;

            // Aktualizacja słupka COP
            svgCopBar.setAttribute('height', d.barHeight);
            svgCopBar.setAttribute('y', d.barY);
            svgCopBar.setAttribute('fill', d.barColor);
        });
    });
});
</script>



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



<style>
:root {
    --rk-quote-primary: #0f172a;
    --rk-quote-accent: #ea580c; /* Termiczny pomarańczowy */
    --rk-quote-accent-light: #ffedd5;
    --rk-quote-danger: #ef4444;
    --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(234, 88, 12, 0.15);
    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), #fbd38d);
}

.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(234, 88, 12, 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: 18px;
    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;
    transition: color 0.2s;
    font-weight: 700;
}

.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: repeat(3, 1fr);
    gap: 15px;
}

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

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

.rk-data-val {
    display: block;
    font-size: 22px;
    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; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#article-cytat",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/"
    },
    "headline": "Robert Kucharski: Wylewka to serce Twojego systemu grzewczego",
    "description": "Ekspercka opinia na temat fizyki budowli. Jastrych to wymiennik ciepła, którego parametry decydują o sprawności pompy ciepła i wysokości rachunków.",
    "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-02-18",
    "dateModified": "2026-05-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Quotation",
    "license": "https://projekt-ogrzewania.pl/",
    "text": "Wylewka to nie jest zwykła podłoga. To największy wymiennik ciepła w Twoim domu. Błędy w proporcjach wody, brak dylatacji czy nadlane z lenistwa centymetry betonu to gwarancja, że zniszczysz sprawność nawet najlepszej pompy ciepła. Tu nie ma miejsca na wykonawcze 'zawsze tak robiliśmy', tu rządzi fizyka i norma PN-EN 1264.",
    "spokenByCharacter": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "Inżynier HVAC & Właściciel Portalu",
      "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/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#dataset-cytat-parametry",
    "name": "Inżynierskie wskaźniki wylewek grzejnych",
    "description": "Kluczowe wartości fizyczne warunkujące poprawną pracę jastrychu jako wymiennika ciepła w instalacji płaszczyznowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wylewka jako wymiennik ciepła",
      "badanie wilgotności metodą CM",
      "opór cieplny anhydrytu",
      "zła grubość wylewki",
      "norma PN-EN 1264 jastrych"
    ],
    "measurementTechnique": "Parametry laboratoryjne i budowlane określające graniczną wilgotność resztkową, optymalną grubość oraz przewodność termiczną wylewki.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Dopuszczalna wilgotność (CM) pod panele: < 1.8%",
        "Zalecana grubość nad rurką (s_d): 35 - 45 mm",
        "Optymalny opór cieplny Rλ: < 0.05 m²·K/W"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#webapp-cytat-panel",
    "name": "Panel Analityczny: Twarde Dane Wylewki",
    "description": "Interaktywny widget rozwijany z cytatu eksperckiego, prezentujący graniczne wskaźniki inżynierskie dla jastrychu.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-expert-wrapper" id="rk-expert-wylewka-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.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
        <h2>Głos Inżyniera</h2>
    </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" 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.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></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="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>
                Fizyka budowli bez ściemy
            </span>
            <p class="rk-expert-text">
                "Wylewka to nie jest zwykła podłoga. To <strong>największy wymiennik ciepła</strong> w Twoim domu. Błędy w proporcjach wody, brak dylatacji czy nadlane z lenistwa centymetry betonu to gwarancja, że zniszczysz sprawność nawet najlepszej <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a>. Tu nie ma miejsca na wykonawcze 'zawsze tak robiliśmy'. Jeśli chcesz oszczędzać, tu rządzi fizyka i <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">norma PN-EN 1264</a>."
            </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="toggleDataBtnWylewka">
                    Rozwiń twarde dane techniczne
                    <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="expertDataPanelWylewka">
                    <div class="rk-data-stat">
                        <span class="rk-data-val">35-45 mm</span>
                        <span class="rk-data-lab">Zalecana otulina (s<sub>d</sub>)</span>
                    </div>
                    <div class="rk-data-stat">
                        <span class="rk-data-val">< 1.8%</span>
                        <span class="rk-data-lab">Wilgotność CM (Panele)</span>
                    </div>
                    <div class="rk-data-stat">
                        <span class="rk-data-val" style="color: var(--rk-quote-primary);">< 0.05</span>
                        <span class="rk-data-lab">Opór cieplny (R<sub>λ</sub>)</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;">Wskaźniki inżynierskie (Robert Kucharski):</p>
            <ul style="font-size: 14px; color: #475569; margin-bottom:0;">
                <li>Zalecana grubość nad rurką (s_d): 35-45 mm</li>
                <li>Maksymalna wilgotność resztkowa (CM) pod panele: poniżej 1.8%</li>
                <li>Optymalny opór cieplny (R_lambda): poniżej 0.05 m²·K/W</li>
            </ul>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez nagłówków strukturalnych 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-wylewka-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #fff7ed; color: #c2410c; border-radius: 20px; border: 2px dashed #f97316;">
                    <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: #9a3412;">Własność intelektualna i cytat ekspercki przypisane do domeny Projekt-Ogrzewania.pl.</div>
                </div>
            `;
            // Reset styli dla bezpieczeństwa wizualnego komunikatu
            container.style.borderLeft = 'none';
            container.style.background = 'transparent';
            container.style.boxShadow = 'none';
            return;
        }
    }

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

    if (toggleBtn && dataPanel) {
        toggleBtn.addEventListener('click', function() {
            this.classList.toggle('active');
            dataPanel.classList.toggle('active');
            
            if(this.classList.contains('active')) {
                this.innerHTML = `Zwiń dane techniczne <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ń twarde dane techniczne <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>



<style>
:root {
    --rk-cs-dark: #0f172a;
    --rk-cs-panel: #1e293b;
    --rk-cs-primary: #f43f5e; /* Malinowa czerwień - strata/błąd */
    --rk-cs-success: #10b981; /* Projektowa zieleń */
    --rk-cs-warning: #f59e0b;
    --rk-cs-bg: #ffffff;
    --rk-cs-border: #e2e8f0;
    --rk-cs-text: #334155;
    --rk-cs-light: #fff1f2;
}

.rk-cs-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-cs-bg);
    border-radius: 20px;
    box-shadow: 0 25px 50px -15px rgba(244, 63, 94, 0.15);
    border: 1px solid var(--rk-cs-border);
    overflow: hidden;
}

/* Nagłówek i Treść (Rozwinięta pod SEO) */
.rk-cs-header {
    padding: 40px 50px 30px;
    background: linear-gradient(180deg, var(--rk-cs-light) 0%, #ffffff 100%);
    border-bottom: 1px solid #fecdd3;
}

.rk-cs-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ffe4e6;
    color: #e11d48;
    padding: 6px 14px;
    border-radius: 99px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid #fda4af;
}

.rk-cs-title {
    font-size: 26px;
    font-weight: 900;
    color: #881337;
    margin: 0 0 20px 0;
    line-height: 1.3;
}

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

.rk-cs-text strong {
    color: var(--rk-cs-dark);
}

.rk-cs-text a {
    color: #e11d48;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid rgba(225, 29, 72, 0.2);
    transition: all 0.3s ease;
}

.rk-cs-text a:hover {
    border-bottom-color: #e11d48;
    background: rgba(225, 29, 72, 0.05);
}

/* Symulator Kosztów Błędu */
.rk-cs-app {
    background: var(--rk-cs-dark);
    padding: 40px 50px;
    color: #ffffff;
}

.rk-cs-app-title {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #94a3b8;
    margin: 0 0 25px 0;
    font-weight: 800;
    text-align: center;
}

/* Interaktywny Switch */
.rk-cs-switch {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
}

.rk-btn-cs {
    background: rgba(255,255,255,0.05);
    border: 2px solid rgba(255,255,255,0.1);
    color: #cbd5e1;
    padding: 14px 30px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-btn-cs.active[data-state="projekt"] {
    background: rgba(16, 185, 129, 0.15);
    border-color: var(--rk-cs-success);
    color: #ffffff;
}

.rk-btn-cs.active[data-state="blad"] {
    background: rgba(244, 63, 94, 0.15);
    border-color: var(--rk-cs-primary);
    color: #ffffff;
    box-shadow: 0 10px 25px -5px rgba(244, 63, 94, 0.4);
}

/* Grid Wyników */
.rk-cs-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 30px;
    align-items: center;
}

/* SVG Wizualizacja */
.rk-cs-svg-box {
    background: var(--rk-cs-panel);
    border-radius: 16px;
    padding: 30px 20px;
    box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
    position: relative;
    border: 1px solid rgba(255,255,255,0.05);
}

.rk-svg-scene {
    width: 100%;
    height: auto;
    max-width: 320px;
    margin: 0 auto;
    display: block;
}

/* Animacje SVG */
.anim-screed { transition: height 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), y 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), fill 0.6s; }
.anim-measure { transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); }
.anim-heat { transition: opacity 0.5s, stroke 0.5s; animation: riseHeat 1.5s infinite linear; }

@keyframes riseHeat {
    0% { stroke-dashoffset: 20; opacity: 0; }
    50% { opacity: 1; }
    100% { stroke-dashoffset: 0; opacity: 0; }
}

/* Klasy stanów do SVG */
.state-projekt .svg-screed { height: 65px; y: 85px; fill: #475569; }
.state-projekt .svg-line { d: path("M 210 150 L 210 85"); stroke: #10b981; }
.state-projekt .svg-text { y: 120px; fill: #10b981; }
.state-projekt .svg-heat-good { opacity: 1; }
.state-projekt .svg-heat-bad { opacity: 0; }

.state-blad .svg-screed { height: 85px; y: 65px; fill: #334155; }
.state-blad .svg-line { d: path("M 210 150 L 210 65"); stroke: #f43f5e; }
.state-blad .svg-text { y: 110px; fill: #f43f5e; }
.state-blad .svg-heat-good { opacity: 0; }
.state-blad .svg-heat-bad { opacity: 1; stroke: #f43f5e; animation-duration: 3s; } /* Ciepło ledwo przechodzi */

/* Panel Danych */
.rk-cs-stats {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-stat-card {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.05);
    padding: 20px;
    border-radius: 12px;
}

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

.rk-stat-val {
    font-size: 24px;
    font-weight: 900;
    color: #ffffff;
    display: flex;
    align-items: baseline;
    gap: 6px;
    font-variant-numeric: tabular-nums;
}

.rk-stat-val small {
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
}

/* Licznik Kosztów */
.rk-loss-counter {
    background: linear-gradient(135deg, rgba(244, 63, 94, 0.1) 0%, rgba(225, 29, 72, 0.2) 100%);
    border-color: rgba(244, 63, 94, 0.3);
}

.rk-loss-val {
    color: var(--rk-cs-primary);
    font-size: 32px;
}

@media (max-width: 768px) {
    .rk-cs-header, .rk-cs-app { padding: 30px 20px; }
    .rk-cs-grid { grid-template-columns: 1fr; }
    .rk-cs-switch { flex-direction: column; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/"
    },
    "headline": "Case Study: Błąd o grubości 2 cm – nadlewka, która kosztuje",
    "description": "Analiza rzeczywistego błędu wykonawczego. Zobacz, jak nadlanie wylewki o 2 cm zwiększyło bezwładność systemu, zmusiło do podniesienia Tz i wygenerowało 850 PLN strat.",
    "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-02-18",
    "dateModified": "2026-05-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#dataset-straty",
    "name": "Koszty Błędów Grubości Jastrychu (ROI)",
    "description": "Zestawienie spadku sprawności pompy ciepła (SCOP) i dodatkowych kosztów w PLN wynikających z nieuzasadnionego pogrubienia wylewki grzejnej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błąd o grubości 2 cm wylewka",
      "koszt ogrzewania domu 2025 pompa ciepła",
      "bezwładność cieplna spadek COP",
      "nadlewka betonu na podłogówce",
      "temperatura zasilania Tz ogrzewania"
    ],
    "measurementTechnique": "Porównanie parametrów z projektu OZC (jastrych 6,5 cm) z weryfikacją powykonawczą (jastrych 8,5 cm) dla budynku 185m2.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Bezwładność: Przyrost o 40% utrudniający stabilizację temperatury w strefach dziennych.",
        "Korekta Pompy: Wymuszone podniesienie temperatury zasilania (Tz) o 4°C w sterowniku.",
        "Koszt roczny: Spadek współczynnika SCOP wygenerował nadmiarowe zużycie prądu o wartości ok. 850 PLN/sezon."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#webapp-symulator-strat",
    "name": "Symulator Strat Błędu Wykonawczego",
    "description": "Interaktywna wizualizacja pokazująca fizyczne i finansowe skutki nieliczenia się z wytycznymi projektu OZC (zmiana grubości wylewki na obiekcie).",
    "applicationCategory": "FinancialCalculator",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, CSS transitions and SVG rendering",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cs-container" id="rk-cs-core">
    
    <div class="rk-cs-header">
        <div class="rk-cs-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
            Case Study: Wrzesień 2025, Opole
        </div>
        <h2 class="rk-cs-title">Błąd o grubości 2 cm – dlaczego milimetry kosztują setki złotych?</h2>
        
        <div class="rk-cs-text">
            <p>
                We wrześniu 2025 roku nadzorowałem instalację, a w lutym 2026 korygowałem układ dla Pana Tomasza w Opolu (nowy dom 185 m²). Zignorowawszy precyzyjne <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">obliczenia strat ciepła</a>, wykonawca zalał rury wylewką cementową o grubości <strong>8,5 cm</strong> zamiast projektowanych <strong>6,5 cm</strong> (potoczna „nadlewka” dla wyrównania poziomów). 
            </p>
            <p>
                <strong>Zaraz... czy 2 centymetry robią różnicę?</strong><br>
                Zrobiły kolosalną. <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">Bezwładność układu</a> wzrosła o 40%, co doprowadziło do wychłodzeń nad ranem. Aby przebić się przez zaporę z betonu, temperatura zasilania (T<sub>z</sub>) na <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompie ciepła</a> musiała zostać podniesiona o 4°C. Ten pozornie drobny błąd drastycznie obniżył współczynnik efektywności SCOP urządzenia, co wywindowało <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">koszty ogrzewania</a>.
            </p>
        </div>
    </div>

    <div class="rk-cs-app state-projekt" id="rkCsEngine">
        <h3 class="rk-cs-app-title">Kalkulator Strat (Symulacja Obiektu)</h3>

        <div class="rk-cs-switch">
            <button class="rk-btn-cs active" data-state="projekt">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                Zgodnie z projektem
            </button>
            <button class="rk-btn-cs" data-state="blad">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
                Samowolka wykonawcy
            </button>
        </div>

        <div class="rk-cs-grid">
            
            <div class="rk-cs-svg-box">
                <svg viewBox="0 0 250 180" class="rk-svg-scene" xmlns="http://www.w3.org/2000/svg">
                    <rect x="10" y="150" width="160" height="30" fill="#334155" rx="2" />
                    
                    <circle cx="90" cy="142" r="8" fill="#ef4444" stroke="#fff" stroke-width="2" />

                    <g class="anim-heat svg-heat-good" stroke="#10b981" stroke-width="4" stroke-dasharray="8" fill="none" stroke-linecap="round">
                        <path d="M 70 120 L 50 20" />
                        <path d="M 90 120 L 90 20" />
                        <path d="M 110 120 L 130 20" />
                    </g>
                    
                    <g class="anim-heat svg-heat-bad" stroke-width="4" stroke-dasharray="4" fill="none" stroke-linecap="round">
                        <path d="M 70 120 L 50 40" />
                        <path d="M 90 120 L 90 40" />
                        <path d="M 110 120 L 130 40" />
                    </g>

                    <rect id="svoScreed" class="anim-screed svg-screed" x="10" y="85" width="160" height="65" rx="2" opacity="0.9"/>

                    <path class="anim-measure svg-line" d="M 210 150 L 210 85" stroke-width="2" marker-start="url(#arrowCs)" marker-end="url(#arrowCs)"/>
                    <text class="anim-measure svg-text" x="220" y="120" font-size="16" font-weight="bold">6.5 cm</text>
                    
                    <defs>
                        <marker id="arrowCs" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="4" markerHeight="4" orient="auto-start-reverse">
                            <path d="M 0 0 L 10 5 L 0 10 z" fill="currentColor" />
                        </marker>
                    </defs>
                </svg>
            </div>

            <div class="rk-cs-stats">
                <div class="rk-stat-card">
                    <span class="rk-stat-label">Bezwładność układu</span>
                    <span class="rk-stat-val" id="valInertia" style="color: #6ee7b7;">Optymalna</span>
                </div>
                <div class="rk-stat-card">
                    <span class="rk-stat-label">Nastawa Zasilania (T<sub>z</sub>)</span>
                    <span class="rk-stat-val" id="valTz">32.0<small>°C</small></span>
                </div>
                <div class="rk-stat-card rk-loss-counter">
                    <span class="rk-stat-label" style="color:#fda4af;">Nadmiarowe koszty / sezon</span>
                    <span class="rk-stat-val rk-loss-val">+<span id="valCost">0</span><small>PLN</small></span>
                </div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez H-tags w powiadomieniu)
    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-cs-core');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif; max-width: 950px; margin: 40px auto;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Zabezpieczenie Treści</div>
                    <div style="font-size: 14px; color: #cbd5e1; line-height: 1.6;">
                        Interaktywne Case Study oraz zintegrowane algorytmy są prawowitą własnością Projekt-Ogrzewania.pl.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora Błędu
    const btns = document.querySelectorAll('.rk-btn-cs');
    const engine = document.getElementById('rkCsEngine');
    
    // Obiekty DOM do nadpisania
    const vInertia = document.getElementById('valInertia');
    const vTz = document.getElementById('valTz');
    const vCost = document.getElementById('valCost');
    const svgText = document.querySelector('.svg-text');

    // Licznik numeryczny (Animacja od-do)
    function animateValue(obj, start, end, duration) {
        let startTimestamp = null;
        const step = (timestamp) => {
            if (!startTimestamp) startTimestamp = timestamp;
            const progress = Math.min((timestamp - startTimestamp) / duration, 1);
            obj.innerHTML = Math.floor(progress * (end - start) + start);
            if (progress < 1) {
                window.requestAnimationFrame(step);
            }
        };
        window.requestAnimationFrame(step);
    }

    const dataModel = {
        projekt: {
            inertia: "Optymalna",
            inertiaCol: "#6ee7b7",
            tz: "32.0<small>°C</small>",
            cost: 0,
            svgLabel: "6.5 cm"
        },
        blad: {
            inertia: "+40% (Przegrzewy)",
            inertiaCol: "#fca5a5",
            tz: "36.0<small>°C</small>",
            cost: 850,
            svgLabel: "8.5 cm"
        }
    };

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Zarządzanie UI Buttonów
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            const state = this.getAttribute('data-state');
            const d = dataModel[state];

            // Aktywacja animacji CSS (SVG klasa główna)
            engine.className = "rk-cs-app state-" + state;

            // Wypełnianie danych
            vInertia.innerHTML = d.inertia;
            vInertia.style.color = d.inertiaCol;
            vTz.innerHTML = d.tz;
            svgText.textContent = d.svgLabel;

            // Uruchomienie animacji licznika strat finansowych
            const currentCost = parseInt(vCost.innerText) || 0;
            animateValue(vCost, currentCost, d.cost, 800);
        });
    });
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-primary: #2563eb; /* Mocny niebieski ekspercki */
    --rk-faq-primary-light: #eff6ff;
    --rk-faq-accent: #f59e0b; /* Akcent ostrzegawczy */
    --rk-faq-bg: #ffffff;
    --rk-faq-surface: #f8fafc;
    --rk-faq-border: #e2e8f0;
    --rk-faq-text: #475569;
}

.rk-faq-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-faq-bg);
    border-radius: 20px;
    box-shadow: 0 15px 35px -10px rgba(37, 99, 235, 0.1);
    border: 1px solid var(--rk-faq-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-faq-header {
    padding: 45px 50px 30px;
    background: linear-gradient(180deg, #ffffff 0%, var(--rk-faq-surface) 100%);
    border-bottom: 2px solid var(--rk-faq-primary);
    text-align: center;
}

.rk-faq-title {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-faq-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.rk-faq-title svg {
    color: var(--rk-faq-primary);
}

.rk-faq-desc {
    font-size: 16px;
    color: var(--rk-faq-text);
    line-height: 1.6;
    max-width: 700px;
    margin: 0 auto;
}

/* Interaktywny Akordeon */
.rk-faq-app {
    background: #ffffff;
    padding: 30px 50px;
}

.rk-faq-item {
    border-bottom: 1px solid var(--rk-faq-border);
    margin-bottom: 10px;
}

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

.rk-faq-btn {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: transparent;
    border: none;
    padding: 25px 10px;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-faq-dark);
    text-align: left;
    cursor: pointer;
    transition: all 0.3s ease;
}

.rk-faq-btn:hover {
    color: var(--rk-faq-primary);
}

.rk-faq-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-faq-surface);
    color: var(--rk-faq-primary);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
    margin-left: 20px;
}

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

/* Animowana treść odpowiedzi */
.rk-faq-answer-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-item.active .rk-faq-answer-wrapper {
    grid-template-rows: 1fr;
}

.rk-faq-answer-inner {
    overflow: hidden;
}

.rk-faq-answer-content {
    padding: 0 10px 30px;
    display: flex;
    gap: 25px;
    align-items: flex-start;
}

.rk-faq-text {
    flex: 1;
    font-size: 16px;
    line-height: 1.8;
    color: var(--rk-faq-text);
    margin: 0;
}

.rk-faq-text strong {
    color: var(--rk-faq-dark);
    font-weight: 700;
}

.rk-faq-text a {
    color: var(--rk-faq-primary);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rk-faq-text a:hover {
    color: #1e40af;
}

/* Badge do szybkich odpowiedzi */
.rk-ans-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.badge-no { background: #fee2e2; color: #dc2626; }
.badge-info { background: #e0f2fe; color: #0284c7; }
.badge-money { background: #dcfce7; color: #16a34a; }

/* SVG Ilustracje w odpowiedziach */
.rk-faq-svg {
    width: 100px;
    height: 100px;
    flex-shrink: 0;
    background: var(--rk-faq-surface);
    border-radius: 12px;
    padding: 15px;
    display: none; /* Mobile hide */
}

@media (min-width: 640px) {
    .rk-faq-svg { display: block; }
}

@media (max-width: 768px) {
    .rk-faq-header, .rk-faq-app { padding: 30px 20px; }
    .rk-faq-btn { font-size: 16px; padding: 20px 5px; }
    .rk-faq-answer-content { padding: 0 5px 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/"
    },
    "headline": "FAQ – Najczęstsze pytania inwestorów o wylewki",
    "description": "Odpowiedzi inżyniera na najważniejsze pytania dotyczące wylewek na ogrzewanie podłogowe: wygrzewanie, maksymalne temperatury, koszty i zbrojenie.",
    "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-02-18",
    "dateModified": "2026-05-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy można kłaść panele na wylewkę bez wygrzewania?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, jest to kategorycznie zabronione, ponieważ resztkowa wilgoć zamknięta pod podkładem doprowadzi do spuchnięcia paneli lub rozwoju pleśni po uruchomieniu ogrzewania."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka jest maksymalna dopuszczalna temperatura wylewki?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Według normy PN-EN 1264, temperatura powierzchni jastrychu w strefie stałego przebywania ludzi nie może przekraczać 29°C (w łazienkach 33°C)."
        }
      },
      {
        "@type": "Question",
        "name": "Czy zbrojenie siatką stalową jest konieczne w anhydrycie?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, jastrychy anhydrytowe charakteryzują się wysoką wytrzymałością na zginanie i niskim skurczem, co eliminuje potrzebę stosowania siatek stalowych."
        }
      },
      {
        "@type": "Question",
        "name": "Czy wylewka cementowa jest tańsza od anhydrytowej?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Sam materiał i robocizna są tańsze o ok. 15-25%, jednak biorąc pod uwagę konieczność zbrojenia i niższą wydajność termiczną, różnica w koszcie całkowitym inwestycji często się zaciera."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#dataset-faq",
    "name": "Baza Wiedzy Inwestora - Zestawienie Błędów i Wytycznych",
    "description": "Zbiór ustandaryzowanych odpowiedzi rozwiązujących najczęstsze problemy wykonawcze z wylewkami grzejnymi.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wygrzewanie wylewki pod panele laminowane",
      "maksymalna temperatura jastrychu 29 stopni",
      "zbrojenie wylewki anhydrytowej siatka",
      "koszt wylewki cementowej vs anhydryt",
      "pleśń pod panelami wilgotność CM"
    ],
    "measurementTechnique": "Weryfikacja parametrów z wytycznymi norm budowlanych (m m.in. PN-EN 1264) oraz badaniami wilgotności resztkowej (CM).",
    "mainEntity": "FAQPage"
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#webapp-faq",
    "name": "Interaktywny Panel Ekspercki FAQ",
    "description": "Rozwijane, interaktywne menu akordeonowe ułatwiające skanowanie i przeglądanie kluczowych pytań i odpowiedzi inżynierskich.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-container" id="rk-faq-core">
    
    <div class="rk-faq-header">
        <h2 class="rk-faq-title">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            FAQ – Najczęstsze pytania inwestorów
        </h2>
        <p class="rk-faq-desc">
            Podłogówka to system naczyń połączonych, a błędy na etapie wylewki kosztują tysiące złotych. Sprawdź inżynierskie odpowiedzi na pytania, które najczęściej słyszę od inwestorów na budowach.
        </p>
    </div>

    <div class="rk-faq-app">
        
        <div class="rk-faq-item">
            <button class="rk-faq-btn">
                1. Czy można kłaść panele na wylewkę bez wygrzewania?
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer-wrapper">
                <div class="rk-faq-answer-inner">
                    <div class="rk-faq-answer-content">
                        <div class="rk-faq-text">
                            <span class="rk-ans-badge badge-no">Kategorycznie Nie</span><br>
                            Jest to fundamentalny błąd. Resztkowa wilgoć zamknięta pod podkładem doprowadzi do spuchnięcia <a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/">paneli laminowanych</a> lub drewnianych, a także do agresywnego rozwoju pleśni po uruchomieniu pompy obiegowej. Zawsze wymagaj od wykonawcy protokołu wygrzewania i badania wilgotności metodą karbidową (CM).
                        </div>
                        <svg class="rk-faq-svg" viewBox="0 0 24 24" fill="none" stroke="#dc2626" stroke-width="2" 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="17 8 12 3 7 8"></polyline><line x1="12" y1="3" x2="12" y2="15"></line></svg>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn">
                2. Jaka jest maksymalna dopuszczalna temperatura wylewki?
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer-wrapper">
                <div class="rk-faq-answer-inner">
                    <div class="rk-faq-answer-content">
                        <div class="rk-faq-text">
                            <span class="rk-ans-badge badge-info">Zgodnie z PN-EN 1264</span><br>
                            Zarówno ze względów zdrowotnych, jak i fizyki posadzki, <a href="https://projekt-ogrzewania.pl/jaka-jest-optymalna-temperatura-ogrzewania-podlogowego/">optymalna i maksymalna temperatura</a> powierzchni jastrychu (T<sub>surf</sub>) w strefie stałego przebywania ludzi nie może przekraczać <strong>29°C</strong>. W łazienkach dopuszcza się <strong>33°C</strong>, a w <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/">strefach brzegowych</a> (np. przy dużych przeszkleniach) do <strong>35°C</strong>.
                        </div>
                        <svg class="rk-faq-svg" viewBox="0 0 24 24" fill="none" stroke="#0284c7" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path></svg>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn">
                3. Czy zbrojenie siatką stalową jest konieczne w anhydrycie?
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer-wrapper">
                <div class="rk-faq-answer-inner">
                    <div class="rk-faq-answer-content">
                        <div class="rk-faq-text">
                            <span class="rk-ans-badge badge-info">Brak zbrojenia</span><br>
                            Nie, siatka jest zbędna. Jastrychy anhydrytowe charakteryzują się bardzo wysoką wytrzymałością na zginanie i minimalnym skurczem przestrzennym w trakcie wiązania. W przeciwieństwie do tradycyjnej <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewki betonowej z miksokreta</a>, eliminuje to potrzebę stosowania jakichkolwiek siatek stalowych czy zbrojenia rozproszonego (włókien).
                        </div>
                        <svg class="rk-faq-svg" viewBox="0 0 24 24" fill="none" stroke="#0284c7" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn">
                4. Czy wylewka cementowa jest tańsza od anhydrytowej?
                <div class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer-wrapper">
                <div class="rk-faq-answer-inner">
                    <div class="rk-faq-answer-content">
                        <div class="rk-faq-text">
                            <span class="rk-ans-badge badge-money">Analiza ROI</span><br>
                            Pozornie tak. Sam materiał i <a href="https://projekt-ogrzewania.pl/podlogowka-cena-za-m%c2%b2-robocizny/">robocizna ekipy</a> są tańsze o ok. 15-25%. Jednak biorąc pod uwagę konieczność zakupu zbrojenia, plastyfikatora, dłuższy czas schnięcia (przestoje budowy) oraz – co najważniejsze – wyższe rachunki za ogrzewanie z powodu mniejszej wydajności termicznej, różnica w <a href="https://projekt-ogrzewania.pl/kompleksowa-wycena-ogrzewania-podlogowego-wodnego-na-co-przygotowac-budzet/">koszcie całkowitym inwestycji</a> zaciera się w ciągu pierwszych 2-3 sezonów grzewczych.
                        </div>
                        <svg class="rk-faq-svg" viewBox="0 0 24 24" fill="none" stroke="#16a34a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez H-tags w bloku ostrzeżenia)
    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-faq-core');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif; max-width: 950px; margin: 40px auto;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Ochrona Własności Intelektualnej</div>
                    <div style="font-size: 14px; color: #cbd5e1; line-height: 1.6;">
                        Interaktywny Panel FAQ oraz zintegrowane dane JSON-LD są chronione prawem autorskim serwisu Projekt-Ogrzewania.pl.
                    </div>
                </div>
            `;
            return;
        }
    }

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

    faqItems.forEach(item => {
        const btn = item.querySelector('.rk-faq-btn');
        
        btn.addEventListener('click', () => {
            // Zamknij wszystkie inne (Opcjonalne - dla zachowania czystości interfejsu)
            faqItems.forEach(otherItem => {
                if (otherItem !== item && otherItem.classList.contains('active')) {
                    otherItem.classList.remove('active');
                }
            });
            
            // Przełącz kliknięty
            item.classList.toggle('active');
        });
    });
    
    // Otwórz pierwsze pytanie domyślnie
    if(faqItems.length > 0) {
        faqItems[0].classList.add('active');
    }
});
</script>



<style>
:root {
    --rk-end-dark: #1e293b;
    --rk-end-primary: #f97316; /* Pomarańcz - ciepło */
    --rk-end-primary-light: #ffedd5;
    --rk-end-accent: #0ea5e9; /* Niebieski - inżynieria */
    --rk-end-bg: #ffffff;
    --rk-end-gray-light: #f1f5f9;
    --rk-end-text: #334155;
    --rk-end-warning: #ef4444;
}

.rk-final-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: var(--rk-end-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(249, 115, 22, 0.15);
    border: 1px solid #fed7aa;
    overflow: hidden;
}

/* Header z gradientem ciepła */
.rk-final-header {
    background: linear-gradient(135deg, var(--rk-end-dark) 0%, #0f172a 100%);
    padding: 40px 40px 30px;
    text-align: center;
    position: relative;
    border-bottom: 4px solid var(--rk-end-primary);
}

.rk-final-header h2 {
    color: #ffffff;
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-final-lead {
    color: #cbd5e1;
    font-size: 18px;
    line-height: 1.6;
    max-width: 700px;
    margin: 0 auto;
    font-weight: 300;
}

.rk-final-lead strong {
    color: var(--rk-end-primary);
    font-weight: 700;
}

/* Interaktywny symulator */
.rk-final-sim {
    padding: 40px;
    background: var(--rk-end-gray-light);
}

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

/* Toggle Switch w stylu mobilnym */
.rk-toggle-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 35px;
}

.rk-toggle-bg {
    display: flex;
    background: #e2e8f0;
    border-radius: 99px;
    padding: 6px;
    position: relative;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.05);
}

.rk-toggle-btn {
    padding: 12px 30px;
    border-radius: 99px;
    font-size: 16px;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    border: none;
    background: transparent;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    z-index: 2;
}

.rk-toggle-btn.active {
    color: #ffffff;
}

.rk-toggle-pill {
    position: absolute;
    top: 6px;
    bottom: 6px;
    left: 6px;
    width: calc(50% - 6px);
    background: var(--rk-end-primary);
    border-radius: 99px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 10px -2px rgba(249, 115, 22, 0.5);
    z-index: 1;
}

.state-cement .rk-toggle-pill {
    transform: translateX(100%);
    background: var(--rk-end-dark);
    box-shadow: 0 4px 10px -2px rgba(30, 41, 59, 0.5);
}

/* Obszar danych technicznych i SVG */
.rk-data-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: center;
    background: #ffffff;
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
}

.rk-svg-container {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
}

.anim-heat-wave {
    opacity: 0;
}

/* Animacje Anhydryt - Szybkie oddawanie ciepła */
.state-anhydryt .wave-1 { animation: riseHeat 1.5s infinite 0s; stroke: #f97316; }
.state-anhydryt .wave-2 { animation: riseHeat 1.5s infinite 0.5s; stroke: #fb923c; }
.state-anhydryt .wave-3 { animation: riseHeat 1.5s infinite 1.0s; stroke: #fdba74; }
.state-anhydryt .screed-layer { height: 55px; fill: #ffedd5; transition: all 0.5s; }

/* Animacje Cement - Wolne oddawanie ciepła */
.state-cement .wave-1 { animation: riseHeat 3s infinite 0s; stroke: #94a3b8; }
.state-cement .wave-2 { animation: riseHeat 3s infinite 1s; stroke: #cbd5e1; }
.state-cement .wave-3 { animation: riseHeat 3s infinite 2s; stroke: #e2e8f0; }
.state-cement .screed-layer { height: 65px; fill: #f1f5f9; transition: all 0.5s; }

@keyframes riseHeat {
    0% { transform: translateY(0) scale(0.9); opacity: 0; }
    50% { opacity: 1; }
    100% { transform: translateY(-40px) scale(1.1); opacity: 0; }
}

.rk-tech-stats {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-stat-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px dashed #cbd5e1;
}

.rk-stat-label {
    font-size: 15px;
    color: var(--rk-end-text);
    font-weight: 500;
}

.rk-stat-value {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-end-dark);
    transition: color 0.3s;
}

.state-anhydryt .val-highlight { color: var(--rk-end-primary); }
.state-cement .val-highlight { color: var(--rk-end-accent); }

/* Sekcja ostrzeżeń i podsumowania tekstu */
.rk-final-content {
    padding: 40px;
}

.rk-warning-box {
    background: #fef2f2;
    border-left: 5px solid var(--rk-end-warning);
    padding: 20px 25px;
    border-radius: 0 12px 12px 0;
    margin-bottom: 30px;
}

.rk-warning-box h4 {
    margin: 0 0 10px 0;
    color: var(--rk-end-warning);
    font-size: 18px;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-warning-box p {
    margin: 0;
    font-size: 15px;
    color: #7f1d1d;
    line-height: 1.6;
}

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

.rk-final-text a {
    color: var(--rk-end-accent);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Footer / CTA */
.rk-final-footer {
    background: #0f172a;
    padding: 30px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.rk-signature {
    color: #94a3b8;
    font-size: 16px;
    font-weight: 400;
    font-style: italic;
}

.rk-signature span {
    color: var(--rk-end-primary);
    font-weight: 800;
    font-style: normal;
    display: block;
    font-size: 20px;
    margin-top: 5px;
}

.rk-cta-btn {
    background: var(--rk-end-primary);
    color: #fff;
    padding: 16px 32px;
    border-radius: 12px;
    font-weight: 800;
    text-decoration: none;
    font-size: 16px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s;
    border: 2px solid transparent;
}

.rk-cta-btn:hover {
    background: #ea580c;
    transform: scale(1.05);
    box-shadow: 0 10px 20px -5px rgba(234, 88, 12, 0.4);
}

@media (max-width: 768px) {
    .rk-data-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-final-header, .rk-final-sim, .rk-final-content { padding: 25px; }
    .rk-final-header h2 { font-size: 24px; }
    .rk-toggle-btn { padding: 10px 20px; font-size: 14px; }
    .rk-final-footer { flex-direction: column; text-align: center; justify-content: center; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/"
    },
    "headline": "Mocne podsumowanie – Wylewka to Twój wymiennik ciepła",
    "description": "Podsumowanie parametrów technicznych wylewek grzejnych. Zobacz, dlaczego grubość jastrychu decyduje o sprawności pompy ciepła i dlaczego błędy są nieodwracalne.",
    "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-10",
    "dateModified": "2026-05-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#dataset-wylewki",
    "name": "Parametry Termiczne i Geometryczne Wylewek 2026",
    "description": "Zestawienie optymalnych grubości i parametrów dla wylewki anhydrytowej oraz cementowej w kontekście współpracy z pompami ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jastrych anhydrytowy 55 mm",
      "wylewka cementowa 65 mm",
      "opór cieplny Rλ",
      "badanie wilgotności metodą CM",
      "wymiennik ciepła ogrzewania podłogowego"
    ],
    "measurementTechnique": "Obliczenia na podstawie normy PN-EN 1264 oraz fizyki budowli dla instalacji płaszczyznowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Anhydryt: Grubość całkowita 55mm, wysoka przewodność, niska bezwładność.",
        "Cement: Grubość całkowita 65mm, wyższa bezwładność, wymaga plastyfikatorów i dylatacji."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#webapp-wymiennik",
    "name": "Symulator Wymiennika Ciepła Jastrychu",
    "description": "Interaktywny panel przełączający parametry fizyczne i wizualizację emisji ciepła pomiędzy wylewką anhydrytową a tradycyjnym betonem.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and SVG support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-final-container" id="wylewka-sum-app">
    
    <div class="rk-final-header">
        <h2>Mocne podsumowanie</h2>
        <div class="rk-final-lead">
            Wylewka to nie jest tylko „podłoga”. To Twój główny <strong>wymiennik ciepła</strong>, który decyduje o tym, czy Twoja <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" style="color:#fff; text-decoration:underline;">pompa ciepła</a> będzie pracować z maksymalnym COP, czy generować straty rzędu tysięcy złotych rocznie.
        </div>
    </div>

    <!-- Symulator Wymiennika -->
    <div class="rk-final-sim" id="rkSimCore">
        <h3>Symulacja parametrów na 2026 rok</h3>
        
        <div class="rk-toggle-wrapper">
            <div class="rk-toggle-bg">
                <div class="rk-toggle-pill"></div>
                <button class="rk-toggle-btn active" data-type="anhydryt">Anhydryt (Płynny)</button>
                <button class="rk-toggle-btn" data-type="cement">Cement (Miksokret)</button>
            </div>
        </div>

        <div class="rk-data-grid">
            <!-- Interaktywny przekrój podłogi -->
            <div class="rk-svg-container">
                <svg viewBox="0 0 200 150" xmlns="http://www.w3.org/2000/svg">
                    <!-- Fale ciepła -->
                    <path class="anim-heat-wave wave-1" d="M40,70 Q50,40 40,10" fill="none" stroke-width="3" stroke-linecap="round"/>
                    <path class="anim-heat-wave wave-2" d="M100,70 Q110,40 100,10" fill="none" stroke-width="3" stroke-linecap="round"/>
                    <path class="anim-heat-wave wave-3" d="M160,70 Q170,40 160,10" fill="none" stroke-width="3" stroke-linecap="round"/>
                    
                    <!-- Okładzina wierzchnia -->
                    <rect x="10" y="75" width="180" height="8" fill="#e5e7eb" rx="2" />
                    
                    <!-- Warstwa Jastrychu (Wysokość dynamiczna z CSS) -->
                    <rect class="screed-layer" x="10" y="83" width="180" rx="2" />
                    
                    <!-- Rury PEX -->
                    <circle cx="40" cy="115" r="8" fill="#ef4444" stroke="#ffffff" stroke-width="2"/>
                    <circle cx="100" cy="115" r="8" fill="#ef4444" stroke="#ffffff" stroke-width="2"/>
                    <circle cx="160" cy="115" r="8" fill="#ef4444" stroke="#ffffff" stroke-width="2"/>
                    
                    <!-- Izolacja EPS -->
                    <rect x="10" y="138" width="180" height="12" fill="#cbd5e1" rx="2"/>
                </svg>
            </div>

            <!-- Zmienne Dane -->
            <div class="rk-tech-stats">
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Rekomendowana grubość</span>
                    <span class="rk-stat-value val-highlight" id="val-thickness">55 mm</span>
                </div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Nadlewka nad rurą (sd)</span>
                    <span class="rk-stat-value" id="val-sd">min. 35 mm</span>
                </div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Opór cieplny Rλ</span>
                    <span class="rk-stat-value" id="val-r">Bardzo niski</span>
                </div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Gotowość do wygrzewania</span>
                    <span class="rk-stat-value" id="val-time">Po 7 dniach</span>
                </div>
            </div>
        </div>
    </div>

    <!-- Treść merytoryczna -->
    <div class="rk-final-content">
        <div class="rk-warning-box">
            <h4>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                Ryzyko błędu jest nieodwracalne
            </h4>
            <p>Błąd na etapie wylewki jest praktycznie nieusuwalny bez kucia całego parteru. Dlatego <strong>zawsze wymagaj od wykonawcy protokołu z wygrzewania technologicznego</strong> oraz twardego sprawdzenia wilgotności metodą CM (karbidową) przed montażem docelowych okładzin posadzkowych.</p>
        </div>

        <div class="rk-final-text">
            <p>Jeśli masz wątpliwości, zajrzyj do swojego projektu instalacji ogrzewania. To tam powinny być czarno na białym określone parametry oporu cieplnego (Rλ) niezbędne dla optymalnego przepływu energii w Twoim budynku.</p>
            <p>Zastanawiasz się, która opcja będzie idealna dla Twojej inwestycji? Porównaj parametry fizyczne, używając narzędzi inżynierskich dostępnych w naszej bazie wiedzy.</p>
        </div>
    </div>

    <!-- Stopka CTA -->
    <div class="rk-final-footer">
        <div class="rk-signature">
            Masz pytania o konkretną mieszankę? Jako inżynier powtarzam:
            <span>BUDUJ BEZ ŚCIEMY, LICZ Z FIZYKĄ.</span>
        </div>
        <a href="https://projekt-ogrzewania.pl/kompleksowy-kalkulator-ogrzewania-podlogowego/" class="rk-cta-btn">
            Uruchom Kalkulatory
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></svg>
        </a>
    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE (DOMAIN LOCK)
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez nagłówków 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('wylewka-sum-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif; max-width: 950px; margin: 40px auto;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Kontener interaktywny "Symulator Wymiennika" oraz struktura JSON-LD są własnością serwisu Projekt-Ogrzewania.pl. Wykryto próbę uruchomienia skryptu na nieautoryzowanej domenie.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Toggle / Symulatora
    const simCore = document.getElementById('rkSimCore');
    const buttons = document.querySelectorAll('.rk-toggle-btn');
    
    // Pola tekstowe do podmiany
    const vThick = document.getElementById('val-thickness');
    const vSd = document.getElementById('val-sd');
    const vR = document.getElementById('val-r');
    const vTime = document.getElementById('val-time');

    // Domyślny stan
    simCore.classList.add('state-anhydryt');

    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            const type = this.getAttribute('data-type');
            
            // UI Toggle
            buttons.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Zmiana klas kontenera animacji
            simCore.classList.remove('state-anhydryt', 'state-cement');
            simCore.classList.add('state-' + type);

            // Zmiana danych
            if(type === 'anhydryt') {
                vThick.textContent = '55 mm';
                vSd.textContent = 'min. 35 mm';
                vR.textContent = 'Bardzo niski';
                vTime.textContent = 'Po 7 dniach';
            } else {
                vThick.textContent = '65 mm';
                vSd.textContent = 'min. 45 mm';
                vR.textContent = 'Większy (bufor)';
                vTime.textContent = 'Po 28 dniach';
            }
        });
    });
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-primary: #0284c7; /* Inżynierski niebieski */
    --rk-dl-accent: #f59e0b; /* Akcent złoty */
    --rk-dl-bg: #ffffff;
    --rk-dl-surface: #f8fafc;
    --rk-dl-border: #e2e8f0;
    --rk-dl-text: #334155;
}

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

/* Nagłówek Sekcji */
.rk-dl-header {
    padding: 45px 50px 30px;
    background: linear-gradient(135deg, var(--rk-dl-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

.rk-dl-title {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-dl-intro {
    font-size: 17px;
    line-height: 1.6;
    color: #94a3b8;
    max-width: 750px;
    margin: 0 auto;
}

.rk-dl-intro strong {
    color: var(--rk-dl-accent);
}

/* Interaktywna Przeglądarka z Lupą */
.rk-dl-viewer {
    padding: 40px;
    background: var(--rk-dl-surface);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-viewer-box {
    position: relative;
    width: 100%;
    max-width: 600px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    overflow: hidden;
    cursor: zoom-in;
    border: 1px solid var(--rk-dl-border);
}

.rk-infographic-img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

/* Lupa */
.rk-magnifier {
    position: absolute;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    border: 4px solid #fff;
    box-shadow: 0 0 20px rgba(0,0,0,0.3);
    background-repeat: no-repeat;
    display: none;
    pointer-events: none;
    z-index: 10;
}

/* Przyciski Pobierania */
.rk-dl-dashboard {
    padding: 40px 50px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    background: #ffffff;
}

.rk-dl-card {
    background: var(--rk-dl-surface);
    border: 1px solid var(--rk-dl-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    transition: transform 0.3s, border-color 0.3s;
}

.rk-dl-card:hover {
    transform: translateY(-5px);
    border-color: var(--rk-dl-primary);
}

.rk-card-icon {
    width: 48px;
    height: 48px;
    background: #fff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-dl-primary);
    margin-bottom: 20px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.rk-card-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-dl-dark);
    margin: 0 0 10px 0;
}

.rk-card-desc {
    font-size: 14px;
    color: #64748b;
    line-height: 1.5;
    margin-bottom: 20px;
}

.rk-btn-action {
    width: 100%;
    padding: 14px;
    background: var(--rk-dl-primary);
    color: #fff;
    text-align: center;
    border-radius: 10px;
    font-weight: 800;
    text-decoration: none;
    font-size: 15px;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-btn-action:hover {
    background: #0369a1;
}

.rk-btn-pdf {
    background: #ef4444;
}

.rk-btn-pdf:hover {
    background: #dc2626;
}

@media (max-width: 768px) {
    .rk-dl-dashboard { grid-template-columns: 1fr; padding: 30px 20px; }
    .rk-dl-header { padding: 30px 20px; }
    .rk-dl-title { font-size: 22px; }
    .rk-viewer-box { cursor: default; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/"
    },
    "headline": "Kompletna infografika: Wylewka na ogrzewanie podłogowe",
    "description": "Pobierz inżynierski przewodnik po jastrychach. Zobacz warstwy systemu, czasy schnięcia i harmonogram wygrzewania technologicznego na jednej, czytelnej grafice.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Wylewka-na-ogrzewanie-podlogowe-–-kompletny-przewodnik.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-02-18",
    "dateModified": "2026-05-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#dataset-przewodnik",
    "name": "Wytyczne Inżynierskie dla Wylewek Podłogowych 2026",
    "description": "Dane znormalizowane dotyczące grubości (5-7 cm), czasów schnięcia (7-28 dni) oraz krzywej wygrzewania posadzki grzejnej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "grubość wylewki 5-7 cm",
      "czas schnięcia betonu 28 dni",
      "schnięcie anhydrytu 7-14 dni",
      "warstwy ogrzewania podłogowego",
      "pobierz pdf wygrzewanie posadzki"
    ],
    "measurementTechnique": "Zbiór danych technicznych z infografiki opartej na normie PN-EN 1264 i fizyce budowli.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Optymalna grubość nad instalacją: 5-7 cm[cite: 5].",
        "Czas schnięcia Anhydryt: 7-14 dni[cite: 58].",
        "Czas schnięcia Beton: 21-28 dni[cite: 60].",
        "Faza wygrzewania: 20°C do 50°C ."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/#webapp-infoviewer",
    "name": "Interaktywny Podgląd Dokumentacji Technicznej",
    "description": "Narzędzie pozwalające na powiększenie i analizę warstw instalacji podłogowej przed pobraniem schematu w wersji PDF.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and high-res image support",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="rk-download-app">
    
    <div class="rk-dl-header">
        <h2 class="rk-dl-title">Pobierz Przewodnik Inżynierski</h2>
        <p class="rk-dl-intro">
            Zasady są proste: <strong>licz z fizyką, buduj bez ściemy.</strong> Przygotowałem dla Ciebie kompletny schemat, który możesz zabrać na budowę i pokazać swojemu wykonawcy. To Twoje ubezpieczenie przed błędami, których nie da się naprawić po wylaniu betonu.
        </p>
    </div>

    <div class="rk-dl-viewer">
        <div class="rk-viewer-box" id="rkViewer">
            <div id="rkMagnifier" class="rk-magnifier"></div>
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Wylewka-na-ogrzewanie-podlogowe-–-kompletny-przewodnik.webp" alt="Infografika Wylewka na ogrzewanie podłogowe – kompletny przewodnik" class="rk-infographic-img" id="rkMainImg">
        </div>
        <p style="margin-top: 15px; font-size: 13px; color: #64748b; font-weight: 600;">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="vertical-align: middle; margin-right: 5px;"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>
            Najechać na grafikę, aby powiększyć detale 
        </p>
    </div>

    <div class="rk-dl-dashboard">
        <div class="rk-dl-card">
            <div class="rk-card-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
            </div>
            <h3 class="rk-card-title">Wersja Graficzna (WEBP)</h3>
            <p class="rk-card-desc">Idealna do szybkiego podglądu na smartfonie. Wysoka rozdzielczość, lekki format.</p>
            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Wylewka-na-ogrzewanie-podlogowe-–-kompletny-przewodnik.webp" download class="rk-btn-action">
                Pobierz Obraz (HD)
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
            </a>
        </div>

        <div class="rk-dl-card">
            <div class="rk-card-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ef4444" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
            </div>
            <h3 class="rk-card-title">Format Drukarski (PDF)</h3>
            <p class="rk-card-desc">Wersja wektorowa do wydruku w formacie A3/A4. Niezbędna dokumentacja na placu budowy.</p>
            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Wylewka-na-ogrzewanie-podlogowe-–-kompletny-przewodnik.pdf" download class="rk-btn-action rk-btn-pdf">
                Pobierz Dokument PDF
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
            </a>
        </div>
    </div>
    
    <div style="background: #f1f5f9; padding: 20px 50px; border-top: 1px solid var(--rk-dl-border); text-align: center;">
        <p style="font-size: 14px; color: #475569; margin: 0;">
            Potrzebujesz obliczeń pod konkretny metraż? Użyj naszego <a href="https://projekt-ogrzewania.pl/kompleksowy-kalkulator-ogrzewania-podlogowego/" style="color: var(--rk-dl-primary); font-weight: 700; text-decoration: underline;">Kalkulatora Inżynierskiego</a>.
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Dyskretne zabezpieczenie domenowe (bez znacznikó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('rk-download-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif; max-width: 950px; margin: 40px auto;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Zasoby Zastrzeżone</div>
                    <div style="font-size: 14px; color: #cbd5e1; line-height: 1.6;">
                        Interaktywne Centrum Pobierania oraz schematy techniczne stanowią własność Projekt-Ogrzewania.pl. Wykryto próbę kradzieży kodu na nieautoryzowanej domenie.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Lupy (Magnifier)
    const viewer = document.getElementById('rkViewer');
    const mainImg = document.getElementById('rkMainImg');
    const magnifier = document.getElementById('rkMagnifier');

    if (viewer && magnifier && window.innerWidth > 768) {
        viewer.addEventListener('mousemove', function(e) {
            magnifier.style.display = 'block';
            
            const rect = viewer.getBoundingClientRect();
            const x = e.pageX - rect.left - window.scrollX;
            const y = e.pageY - rect.top - window.scrollY;

            // Pozycjonowanie lupy
            magnifier.style.left = (x - magnifier.offsetWidth / 2) + 'px';
            magnifier.style.top = (y - magnifier.offsetHeight / 2) + 'px';

            // Pozycjonowanie tła lupy (powiększenie 2x)
            const zoom = 2;
            magnifier.style.backgroundImage = `url('${mainImg.src}')`;
            magnifier.style.backgroundSize = (mainImg.width * zoom) + "px " + (mainImg.height * zoom) + "px";
            magnifier.style.backgroundPosition = "-" + ((x * zoom) - magnifier.offsetWidth / 2) + "px -" + ((y * zoom) - magnifier.offsetHeight / 2) + "px";
        });

        viewer.addEventListener('mouseleave', () => magnifier.style.display = 'none');
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">Wylewka na ogrzewanie podłogowe – kompletny przewodnik.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
