<?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 Porady dla domu - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/category/porady-dla-domu/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/category/porady-dla-domu/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Tue, 30 Jun 2026 09:22:53 +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 Porady dla domu - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/category/porady-dla-domu/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Ogrzewanie podłogowe wodne bez wylewki.</title>
		<link>https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-wodne-bez-wylewki/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 18 Apr 2026 10:24:49 +0000</pubDate>
				<category><![CDATA[Budowa i remont]]></category>
		<category><![CDATA[Domy drewniane]]></category>
		<category><![CDATA[Domy szkieletowe]]></category>
		<category><![CDATA[Niskotemperaturowe systemy grzewcze]]></category>
		<category><![CDATA[Nowoczesne systemy grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady dla domu]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady remontowe]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Remont]]></category>
		<category><![CDATA[Remont domu]]></category>
		<category><![CDATA[Remont i modernizacja]]></category>
		<category><![CDATA[Systemy grzewcze]]></category>
		<category><![CDATA[koszty systemu suchego]]></category>
		<category><![CDATA[lamele aluminiowe]]></category>
		<category><![CDATA[lekka podłogówka]]></category>
		<category><![CDATA[ogrzewanie podłogowe wodne bez wylewki]]></category>
		<category><![CDATA[ogrzewanie w domu szkieletowym]]></category>
		<category><![CDATA[ogrzewanie w kamienicy]]></category>
		<category><![CDATA[płyty eps z wypustkami]]></category>
		<category><![CDATA[podłogówka na sucho]]></category>
		<category><![CDATA[projektowanie podłogówki]]></category>
		<category><![CDATA[remont starego domu]]></category>
		<category><![CDATA[suchy jastrych]]></category>
		<category><![CDATA[system suchy]]></category>
		<category><![CDATA[test szczelności instalacji]]></category>
		<category><![CDATA[układanie podłogówki]]></category>
		<category><![CDATA[wady ogrzewania bez wylewki]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4218</guid>

					<description><![CDATA[<p>Zastanawiasz się nad montażem popularnej podłogówki, ale Twój drewniany strop w starej kamienicy po prostu nie wytrzyma ciężaru kilkutonowej warstwy betonu? A może budujesz nowoczesny dom szkieletowy i zależy Ci na błyskawicznym czasie realizacji bez wprowadzania do wnętrza wilgoci technologicznej? Odpowiedzią na te problemy jest ogrzewanie podłogowe wodne bez wylewki, znane powszechnie jako system suchy. To zaawansowane rozwiązanie inżynieryjne, które zamiast ciężkiego jastrychu wykorzystuje lekkie płyty izolacyjne oraz precyzyjne lamele aluminiowe. W naszym kompletnym przewodniku rozkładamy tę technologię na czynniki pierwsze. Obalamy szkodliwe mity, tłumaczymy jak prawidłowo zaplanować moc grzewczą, by uniknąć niedogrzania, oraz wskazujemy krytyczne pułapki montażowe. Dowiedz się, kiedy rezygnacja z betonu to jedyna słuszna decyzja i o co zapytać instalatora przed rozpoczęciem prac.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-wodne-bez-wylewki/">Ogrzewanie podłogowe wodne bez wylewki.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<div class="premium-hero-box" id="hero-app-container">
    <div class="hero-content">
        
        <div class="hero-badge">
            <span>📚</span> Kompletny Przewodnik
        </div>
        
        <p class="hero-text"><strong>Ogrzewanie podłogowe wodne bez wylewki</strong> to rozwiązanie, które w ostatnich latach zyskuje ogromną popularność wśród inwestorów indywidualnych, właścicieli starych kamienic oraz wszystkich tych, którzy chcą cieszyć się komfortem ciepłej podłogi bez konieczności wylewania ton betonu.</p>
        
        <p class="hero-text">W przeciwieństwie do tradycyjnej podłogówki, gdzie rury są zalewane grubą warstwą jastrychu, system suchy opiera się na prefabrykowanych płytach izolacyjnych i aluminiowych elementach przewodzących ciepło. W tym obszernym, technicznym opracowaniu przeprowadzę Cię krok po kroku przez wszystkie aspekty tej technologii.</p>

        <div class="hero-modules-title">Czego dowiesz się z tego opracowania?</div>
        
        <div class="hero-grid">
            <div class="hero-card">
                <span class="hero-card-icon">🔍</span>
                <span class="hero-card-title">Zasada działania i anatomia</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">🧮</span>
                <span class="hero-card-title">Wyliczenia mocy grzewczej</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">🛠️</span>
                <span class="hero-card-title">Praktyczne porady montażowe</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">📈</span>
                <span class="hero-card-title">Analiza opłacalności (ROI)</span>
            </div>
        </div>

    </div>
</div>

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



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

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

.anatomy-header {
    padding: 40px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
    border-bottom: 1px solid var(--border-color);
}

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

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

.anatomy-header p:last-child {
    margin-bottom: 0;
}

.anatomy-header a {
    color: var(--accent);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: #bfdbfe;
    text-underline-offset: 3px;
}

.anatomy-workspace {
    display: flex;
    min-height: 500px;
}

/* LEWA STRONA - STOS WARSTW (PRZEKRÓJ) */
.anatomy-layers {
    width: 40%;
    background: #ffffff;
    border-right: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px;
    gap: 12px;
}

.layer-btn {
    position: relative;
    width: 100%;
    padding: 18px 20px;
    border-radius: 12px;
    border: 2px solid var(--border-color);
    background: #ffffff;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 15px;
    overflow: hidden;
}

.layer-btn::before {
    content: '';
    position: absolute;
    left: 0; top: 0; height: 100%; width: 6px;
    background: #cbd5e1;
    transition: all 0.3s;
}

/* Kolory poszczególnych warstw */
.layer-btn[data-layer="finish"]::before { background: #b45309; } /* Drewno/Płytka */
.layer-btn[data-layer="pipe"]::before { background: var(--danger); } /* Rura PEX */
.layer-btn[data-layer="lamella"]::before { background: #94a3b8; } /* Aluminium */
.layer-btn[data-layer="eps"]::before { background: #38bdf8; } /* Styropian EPS */

.layer-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
    border-color: #cbd5e1;
}

.layer-btn.active {
    border-color: var(--accent);
    background: #eff6ff;
    box-shadow: 0 10px 20px -5px rgba(37, 99, 235, 0.15);
}

.layer-btn.active::before {
    background: var(--accent);
    width: 8px;
}

.layer-icon {
    font-size: 24px;
    filter: grayscale(0.2);
    transition: transform 0.3s;
}

.layer-btn.active .layer-icon {
    transform: scale(1.2);
    filter: grayscale(0);
}

.layer-title {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 800;
    color: var(--primary);
    line-height: 1.3;
}

.layer-subtitle {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 4px;
}

/* PRAWA STRONA - SZCZEGÓŁY WARSTWY */
.anatomy-details {
    width: 60%;
    background: var(--bg-light);
    padding: 40px;
    position: relative;
}

.detail-pane {
    display: none;
    animation: fadeInSlide 0.4s ease-out forwards;
}

.detail-pane.active {
    display: block;
}

.detail-pane h4 {
    margin: 0 0 20px 0;
    font-size: 24px;
    font-weight: 900;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 12px;
}

.detail-pane p {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 15px;
}

.detail-pane ul {
    margin: 0 0 20px 0;
    padding-left: 20px;
}

.detail-pane li {
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
    margin-bottom: 10px;
}

.detail-pane strong {
    color: var(--primary);
}

.detail-pane a {
    color: var(--accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid #bfdbfe;
    transition: all 0.2s;
}

.detail-pane a:hover {
    background: #eff6ff;
    border-bottom-color: var(--accent);
}

.highlight-box {
    background: #ffffff;
    border-left: 4px solid var(--warning);
    padding: 15px 20px;
    border-radius: 0 12px 12px 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--primary);
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
    margin-top: 20px;
    line-height: 1.6;
}

@keyframes fadeInSlide {
    from { opacity: 0; transform: translateX(10px); }
    to { opacity: 1; transform: translateX(0); }
}

@media (max-width: 768px) {
    .anatomy-header { padding: 30px 20px; }
    /* Zmiana flex-direction: column-reverse na column */
    .anatomy-workspace { flex-direction: column; min-height: auto; }
    
    .anatomy-layers {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--border-color); /* Zmiana border-top na border-bottom */
        padding: 20px;
    }
    
    .anatomy-details {
        width: 100%;
        padding: 30px 20px;
    }
}
</style>

<div class="premium-anatomy-box" id="anatomy-app-container">
    
    <div class="anatomy-header">
        <h2>Czym dokładnie jest ogrzewanie bez wylewki?</h2>
        <p>W klasycznym ujęciu ogrzewanie płaszczyznowe kojarzy się z betonem. Rury układane są na izolacji, a następnie zalewane jastrychem o grubości od 6 do 10 cm. Ta masa betonu pełni trzy funkcje: akumuluje ciepło, rozprowadza je równomiernie po powierzchni oraz stabilizuje mechanicznie instalację. Problem pojawia się, gdy strop nie jest w stanie udźwignąć dodatkowych 150–200 kg/m² lub gdy nie mamy czasu na 28 dni schnięcia.</p>
        <p>System ogrzewania wodnego bez wylewki (nazywany fachowo <a href="https://projekt-ogrzewania.pl/czym-jest-system-suchy-w-wodnym-ogrzewaniu-podlogowym/">systemem suchym</a>) eliminuje mokre procesy budowlane. Zamiast betonu wykorzystuje precyzyjne warstwy, które możesz zbadać poniżej.</p>
    </div>

    <div class="anatomy-workspace">
        
        <div class="anatomy-layers">
            <span style="font-size: 11px; font-weight: 800; color: #94a3b8; text-transform: uppercase; letter-spacing: 1px; text-align: center; margin-bottom: 5px;">Przekrój podłogi (kliknij)</span>
            
            <button class="layer-btn active" data-target="pane-finish" data-layer="finish">
                <span class="layer-icon">🪵</span>
                <div>
                    <div class="layer-title">Warstwa wykończeniowa</div>
                    <span class="layer-subtitle">Panele / Płytki + Podkład</span>
                </div>
            </button>
            
            <button class="layer-btn" data-target="pane-pipe" data-layer="pipe">
                <span class="layer-icon">🔴</span>
                <div>
                    <div class="layer-title">Rury grzewcze</div>
                    <span class="layer-subtitle">PEX / PE-RT 14-16 mm</span>
                </div>
            </button>
            
            <button class="layer-btn" data-target="pane-lamella" data-layer="lamella">
                <span class="layer-icon">🛡️</span>
                <div>
                    <div class="layer-title">Lamele aluminiowe</div>
                    <span class="layer-subtitle">Serce systemu suchego</span>
                </div>
            </button>
            
            <button class="layer-btn" data-target="pane-eps" data-layer="eps">
                <span class="layer-icon">🧊</span>
                <div>
                    <div class="layer-title">Płyty systemowe</div>
                    <span class="layer-subtitle">EPS 200 / Gipsowo-włóknowe</span>
                </div>
            </button>
        </div>

        <div class="anatomy-details">
            
            <div class="detail-pane active" id="pane-finish">
                <h4>Warstwa wykończeniowa</h4>
                <p>W odróżnieniu od wylewki, gdzie płytki kleimy bezpośrednio do betonu, w systemie suchym konieczne jest stworzenie sztywnej, pływającej posadzki:</p>
                <ul>
                    <li><strong>Pod panele laminowane lub winylowe LVT:</strong> Kładzie się bezpośrednio na płyty systemowe z rurami specjalną perforowaną matę podkładową o bardzo niskim <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%25c2%25b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">oporze cieplnym</a> (R ≤ 0,05 m²K/W). Użycie zwykłej pianki zablokuje ciepło!</li>
                    <li><strong>Pod płytki ceramiczne i kamień:</strong> Wymagane jest zastosowanie płyt suchego jastrychu (np. gipsowo-włóknowych) o grubości min. 10–12,5 mm, układanych dwuwarstwowo. Dopiero na to nakłada się elastyczny klej i płytki.</li>
                </ul>
            </div>

            <div class="detail-pane" id="pane-pipe">
                <h4>Rury grzewcze</h4>
                <p>W systemach suchych dominują rury o mniejszej średnicy niż w klasycznej wylewce betonowej.</p>
                <p><strong>Standard:</strong> PEX lub PE-RT o średnicy 14 mm lub 16 mm.</p>
                <div class="highlight-box" style="border-left-color: var(--accent);">
                    <strong>Dlaczego mniejsze?</strong> Mniejsza średnica rury pozwala na zmniejszenie grubości całej płyty systemowej i łatwiejsze formowanie łuków w wyfrezowanych kanałach. Ponadto, mniejsza ilość wody w instalacji znacznie przyspiesza reakcję układu na zmiany ustawień termostatu.
                </div>
            </div>

            <div class="detail-pane" id="pane-lamella">
                <h4>Lamele aluminiowe</h4>
                <p>To najważniejszy element odróżniający profesjonalny system suchy od amatorskiej próby włożenia rury w zwykły styropian. <strong>Bez <a href="https://projekt-ogrzewania.pl/produkt/lamel-grzejny-metalowy/">lameli</a> system nie działa!</strong></p>
                <ul>
                    <li><strong>Funkcja:</strong> Aluminium (λ ≈ 200 W/mK) przejmuje ciepło punktowe z rurki i rozprowadza je na boki na szerokość kilkunastu centymetrów.</li>
                    <li><strong>Budowa:</strong> Są to cienkie (0,4–0,6 mm) blachy w kształcie litery omega (Ω), w które na ścisk zatrzaskuje się rurę grzewczą.</li>
                </ul>
                <div class="highlight-box">
                    <strong>Efekt:</strong> Eliminujemy tzw. efekt zebry termicznej. Gdyby rura leżała pod panelami bez aluminium, stopa czułaby naprzemiennie gorące i zimne paski. Lamele wyrównują temperaturę do różnicy mniejszej niż 2°C na całej płycie.
                </div>
            </div>

            <div class="detail-pane" id="pane-eps">
                <h4>Płyty systemowe (Szkielet)</h4>
                <p>Podstawą całego układu, na której opiera się ciężar, są płyty systemowe. Wykonuje się je z dwóch materiałów:</p>
                <ul>
                    <li><strong>Twardy styropian EPS:</strong> Najczęściej o podwyższonej gęstości, np. <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-200-z-wypustkami/">EPS 200</a> lub EPS T. Mają grubość od 25 do 50 mm, z fabrycznie wyfrezowanymi kanałami na rury (rozstaw 15 cm lub 30 cm).</li>
                    <li><strong>Płyty gipsowo-włóknowe:</strong> Rozwiązanie droższe, ale oferujące wyższą wytrzymałość punktową i izolacyjność akustyczną.</li>
                </ul>
                <div class="highlight-box" style="border-left-color: var(--danger);">
                    <strong>Uwaga:</strong> Zastosowanie zwykłego styropianu o zbyt niskiej gęstości grozi jego ugięciem pod ciężarem mebli i trwałym „klawiszowaniem” (zapadaniem się) podłogi.
                </div>
            </div>

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

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

    // LOGIKA ZAKŁADEK (WARSTW)
    const layerBtns = document.querySelectorAll('.layer-btn');
    const panes = document.querySelectorAll('.detail-pane');

    layerBtns.forEach(button => {
        button.addEventListener('click', () => {
            // Reset active states
            layerBtns.forEach(btn => btn.classList.remove('active'));
            panes.forEach(pane => pane.classList.remove('active'));
            
            // Set active state on clicked element
            button.classList.add('active');
            
            // Show corresponding pane
            const targetId = button.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });
});
</script>



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

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

.adv-header {
    padding: 40px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
    border-bottom: 1px solid var(--border-color);
    text-align: center;
}

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

.adv-header p {
    margin: 0 auto 30px auto;
    max-width: 800px;
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
}

/* PRZEŁĄCZNIK TECHNOLOGII */
.toggle-wrapper {
    display: inline-flex;
    align-items: center;
    background: #ffffff;
    padding: 10px 20px;
    border-radius: 100px;
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
    gap: 15px;
}

.toggle-label {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #94a3b8;
    transition: color 0.3s;
    cursor: pointer;
}

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

.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
}

.switch input { 
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: var(--wet-color);
    transition: .4s;
    border-radius: 34px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

input:checked + .slider { background-color: var(--accent); }
input:checked + .slider:before { transform: translateX(26px); }

/* KARTY KORZYŚCI */
.adv-grid {
    padding: 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
    background: #ffffff;
}

.adv-card {
    padding: 30px;
    border-radius: 20px;
    border: 2px solid var(--border-color);
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
}

.adv-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 6px; height: 100%;
    background: var(--wet-color);
    transition: background 0.4s;
}

.adv-card.is-dry {
    border-color: #bfdbfe;
    background: #f8fafc;
    box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.05);
}

.adv-card.is-dry::before { background: var(--accent); }

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

.card-title {
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    margin-bottom: 10px;
}

.card-value {
    font-size: 36px;
    font-weight: 900;
    color: var(--primary);
    margin-bottom: 15px;
    line-height: 1.1;
    transition: color 0.4s;
}

.adv-card.is-dry .card-value { color: var(--accent); }

.card-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
    margin: 0;
    min-height: 80px;
}

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

.example-box {
    margin-top: 15px;
    padding: 12px 15px;
    background: #ffffff;
    border-radius: 12px;
    font-size: 13px;
    border: 1px solid #e2e8f0;
    display: none;
}

.adv-card.is-dry .example-box {
    display: block;
    animation: fadeIn 0.5s;
}

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

@media (max-width: 768px) {
    .adv-header { padding: 30px 20px; }
    .adv-header h3 { font-size: 24px; }
    .adv-grid { grid-template-columns: 1fr; padding: 25px 20px; gap: 20px; }
    .toggle-wrapper { flex-direction: column; gap: 10px; border-radius: 20px; padding: 15px; }
    .card-desc { min-height: auto; }
}
</style>

<div class="premium-advantages-box" id="advantages-app-container">
    
    <div class="adv-header">
        <h3>Kluczowe zalety systemu suchego</h3>
        <p>Decyzja o wyborze podłogówki bez wylewki rzadko wynika z kaprysu. Najczęściej podyktowana jest konkretnymi ograniczeniami budowlanymi. Przełącz technologię poniżej, aby zobaczyć kolosalną różnicę w parametrach.</p>
        
        <div class="toggle-wrapper">
            <span class="toggle-label" id="lbl-wet" onclick="document.getElementById('sys-toggle').click()">System Mokry</span>
            <label class="switch">
                <input type="checkbox" id="sys-toggle" checked>
                <span class="slider"></span>
            </label>
            <span class="toggle-label active-dry" id="lbl-dry" onclick="document.getElementById('sys-toggle').click()">System Suchy</span>
        </div>
    </div>

    <div class="adv-grid">
        
        <div class="adv-card is-dry" id="card-weight">
            <div class="card-icon">⚖️</div>
            <div class="card-title">Obciążenie stropu</div>
            <div class="card-value" id="val-weight">22–35 kg/m²</div>
            <p class="card-desc" id="desc-weight">Absolutny priorytet w starym budownictwie. Konstrukcja oparta na styropianie, lamelach i suchym jastrychu waży zaledwie ułamek tego, co beton.</p>
            <div class="example-box" id="ex-weight">
                <strong>Przykład:</strong> Mieszkanie 50m² (strop drewniany). System suchy to ok. 1,2 tony. Tradycyjna wylewka dodałaby aż <strong>7,5 tony</strong> – to ryzyko katastrofy budowlanej!
            </div>
        </div>

        <div class="adv-card is-dry" id="card-height">
            <div class="card-icon">📏</div>
            <div class="card-title">Całkowita wysokość zabudowy</div>
            <div class="card-value" id="val-height">od 30 mm</div>
            <p class="card-desc" id="desc-height">Idealne rozwiązanie do domów z niskim sufitem lub przy modernizacji, gdzie podłoga np. w przedpokoju jest już na stałym poziomie.</p>
            <div class="example-box" id="ex-height">
                <strong>Bez schodków:</strong> (płyta 20 mm + mata 2 mm + panel 8 mm). Pozwala uniknąć budowy nieestetycznych podestów i docinania drzwi.
            </div>
        </div>

        <div class="adv-card is-dry" id="card-time">
            <div class="card-icon">⏳</div>
            <div class="card-title">Procesy mokre i schnięcie</div>
            <div class="card-value" id="val-time">0 dni</div>
            <p class="card-desc" id="desc-time">Ogromna przewaga logistyczna. Układamy rury, zamykamy suchym jastrychem i <strong>od razu</strong> możemy układać płytki lub panele.</p>
            <div class="example-box" id="ex-time">
                <strong>Szybki efekt:</strong> Wieczorem tego samego dnia można wnieść meble. Brak wilgoci technologicznej opóźniającej prace malarskie.
            </div>
        </div>

        <div class="adv-card is-dry" id="card-response">
            <div class="card-icon">🚀</div>
            <div class="card-title">Czas nagrzewania układu</div>
            <div class="card-value" id="val-response">20–40 min</div>
            <p class="card-desc" id="desc-response">Dzięki niskiej akumulacyjności, system natychmiast reaguje na zmiany ustawień termostatu lub zyski ciepła od słońca przez okna.</p>
            <div class="example-box" id="ex-response">
                <strong>Oszczędność:</strong> Szybka reakcja przekłada się na niższe zużycie energii w okresach przejściowych (wiosna/jesień) i brak przegrzewania pokoi.
            </div>
        </div>

    </div>
</div>

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

    // LOGIKA PRZEŁĄCZNIKA
    const toggle = document.getElementById('sys-toggle');
    const lblWet = document.getElementById('lbl-wet');
    const lblDry = document.getElementById('lbl-dry');
    
    const cards = [
        document.getElementById('card-weight'),
        document.getElementById('card-height'),
        document.getElementById('card-time'),
        document.getElementById('card-response')
    ];

    // Dane do podmiany
    const data = {
        dry: {
            weight: "22–35 kg/m²", descWeight: "Absolutny priorytet w starym budownictwie. Konstrukcja oparta na styropianie, lamelach i suchym jastrychu waży zaledwie ułamek tego, co beton.",
            height: "od 30 mm", descHeight: "Idealne rozwiązanie do domów z niskim sufitem lub przy modernizacji, gdzie podłoga np. w przedpokoju jest już na stałym poziomie.",
            time: "0 dni", descTime: "Ogromna przewaga logistyczna. Układamy rury, zamykamy suchym jastrychem i <strong>od razu</strong> możemy układać płytki lub panele.",
            response: "20–40 min", descResponse: "Dzięki niskiej akumulacyjności, system natychmiast reaguje na zmiany ustawień termostatu lub zyski ciepła od słońca przez okna."
        },
        wet: {
            weight: "120–180 kg/m²", descWeight: "Ogromna masa wylewki cementowej (ok. 6 cm) i płytek. Wymaga solidnych stropów żelbetowych projektowanych na duże obciążenia.",
            height: "ok. 80 mm", descHeight: "Klasyczna wysokość zabudowy (izolacja + wylewka). Często wymusza podnoszenie drzwi, tworzenie podestów lub schodków do innych pomieszczeń.",
            time: "8 tygodni", descTime: "Wymaga długiego sezonowania. Zgodnie z normą: 1 tydzień na każdy z pierwszych 4 cm, a 2 tygodnie na każdy kolejny. Hamuje to dalsze prace wykończeniowe.",
            response: "4–6 godzin", descResponse: "Beton ma ogromną bezwładność cieplną. System nagrzewa się godzinami, a po wyłączeniu dalej długo oddaje ciepło (ryzyko przegrzewania)."
        }
    };

    function updateCards(isDry) {
        if(isDry) {
            lblDry.classList.add('active-dry');
            lblWet.classList.remove('active-wet');
            
            cards.forEach(c => c.classList.add('is-dry'));
            
            document.getElementById('val-weight').innerText = data.dry.weight;
            document.getElementById('desc-weight').innerHTML = data.dry.descWeight;
            
            document.getElementById('val-height').innerText = data.dry.height;
            document.getElementById('desc-height').innerHTML = data.dry.descHeight;
            
            document.getElementById('val-time').innerText = data.dry.time;
            document.getElementById('desc-time').innerHTML = data.dry.descTime;
            
            document.getElementById('val-response').innerText = data.dry.response;
            document.getElementById('desc-response').innerHTML = data.dry.descResponse;
            
        } else {
            lblDry.classList.remove('active-dry');
            lblWet.classList.add('active-wet');
            
            cards.forEach(c => c.classList.remove('is-dry'));
            
            document.getElementById('val-weight').innerText = data.wet.weight;
            document.getElementById('desc-weight').innerHTML = data.wet.descWeight;
            
            document.getElementById('val-height').innerText = data.wet.height;
            document.getElementById('desc-height').innerHTML = data.wet.descHeight;
            
            document.getElementById('val-time').innerText = data.wet.time;
            document.getElementById('desc-time').innerHTML = data.wet.descTime;
            
            document.getElementById('val-response').innerText = data.wet.response;
            document.getElementById('desc-response').innerHTML = data.wet.descResponse;
        }
    }

    toggle.addEventListener('change', function() {
        updateCards(this.checked);
    });

});
</script>



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

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

.limits-header {
    padding: 35px 40px;
    background: linear-gradient(to bottom, #ffffff, #fef2f2);
    border-bottom: 1px solid var(--border-color);
    text-align: center;
}

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

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

.limits-workspace {
    display: flex;
    min-height: 400px;
}

/* LEWA STRONA - MENU ZAGROŻEŃ */
.limits-menu {
    width: 38%;
    background: #ffffff;
    border-right: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    padding: 20px 0;
}

.limit-btn {
    padding: 20px 25px;
    background: transparent;
    border: none;
    border-left: 4px solid transparent;
    text-align: left;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 12px;
}

.limit-btn:hover {
    background: #f8fafc;
    color: var(--primary);
}

.limit-btn.active {
    background: #fef2f2;
    border-left-color: var(--danger);
    color: var(--danger);
}

.limit-icon {
    font-size: 20px;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    border-radius: 8px;
    transition: all 0.3s;
}

.limit-btn.active .limit-icon {
    background: #fecaca;
    color: #991b1b;
}

/* PRAWA STRONA - TREŚĆ */
.limits-content-area {
    width: 62%;
    background: var(--bg-light);
    position: relative;
    padding: 35px 40px;
}

.limit-pane {
    display: none;
    animation: fadeSlideUp 0.3s ease-out forwards;
}

.limit-pane.active { display: block; }

.limit-pane h4 {
    margin: 0 0 15px 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--primary);
    line-height: 1.3;
}

.limit-pane p {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 20px;
}

/* Wizualizacja kosztów (Bar chart CSS) */
.cost-compare {
    margin: 25px 0;
}

.cost-row { margin-bottom: 15px; }
.cost-label { display: flex; justify-content: space-between; font-size: 13px; font-weight: 700; color: var(--primary); margin-bottom: 6px; }
.cost-label span.price { color: #64748b; }
.cost-bar-bg { width: 100%; background: #e2e8f0; border-radius: 6px; height: 18px; overflow: hidden; }
.cost-bar-fill { height: 100%; background: var(--accent); border-radius: 6px; }
.fill-wet { width: 45%; background: #94a3b8; }
.fill-dry { width: 100%; background: var(--warning); }

/* Boks informacyjny */
.info-box {
    background: #ffffff;
    border-left: 4px solid var(--accent);
    padding: 15px 20px;
    border-radius: 0 12px 12px 0;
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
    margin-top: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.info-box.critical {
    border-left-color: var(--danger);
    background: #fef2f2;
}

.info-box.critical strong { color: var(--danger); }

/* Lista konsekwencji */
.consequences-list {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
}

.consequences-list li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: 600;
    color: #334155;
    line-height: 1.5;
}

.consequences-list li::before {
    content: "❌";
    position: absolute;
    left: 0;
    top: 0;
    font-size: 14px;
}

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

/* MOBILE */
@media (max-width: 768px) {
    .limits-header { padding: 25px 20px; }
    .limits-workspace { flex-direction: column; min-height: auto; }
    
    .limits-menu {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--border-color);
        padding: 10px;
    }
    
    .limit-btn {
        padding: 15px;
        border-left: none;
        border-bottom: 3px solid transparent;
        background: #f8fafc;
        margin-bottom: 8px;
        border-radius: 12px;
    }
    
    .limit-btn.active {
        border-left: none;
        border-bottom-color: var(--danger);
    }
    
    .limits-content-area {
        width: 100%;
        padding: 30px 20px;
    }
}
</style>

<div class="premium-limitations-box" id="limitations-app-container">
    
    <div class="limits-header">
        <h2>Wady i ograniczenia – na co musisz być przygotowany</h2>
        <p>Jak każde rozwiązanie techniczne, podłogówka bez wylewki nie jest pozbawiona wad. Ignorowanie tych ograniczeń może prowadzić do rozczarowania efektem grzewczym lub zniszczenia podłogi.</p>
    </div>

    <div class="limits-workspace">
        
        <div class="limits-menu">
            <button class="limit-btn active" data-target="pane-cost">
                <span class="limit-icon">💰</span> Wyższy koszt materiałów
            </button>
            <button class="limit-btn" data-target="pane-cooling">
                <span class="limit-icon">❄️</span> Szybsze wychładzanie
            </button>
            <button class="limit-btn" data-target="pane-leveling">
                <span class="limit-icon">📐</span> Ryzyko nierównego podłoża
            </button>
        </div>

        <div class="limits-content-area">
            
            <div class="limit-pane active" id="pane-cost">
                <h4>Wyższy koszt zakupu materiałów</h4>
                <p>W przeliczeniu na metr kwadratowy, sam materiał do systemu suchego jest droższy o <strong>40–70%</strong> w porównaniu do tradycyjnego systemu z betonem.</p>
                
                <div class="cost-compare">
                    <div class="cost-row">
                        <div class="cost-label">
                            <span>Wylewka mokra (rura, beton, izolacja)</span>
                            <span class="price">ok. 80–120 zł/m²</span>
                        </div>
                        <div class="cost-bar-bg"><div class="cost-bar-fill fill-wet"></div></div>
                    </div>
                    <div class="cost-row">
                        <div class="cost-label">
                            <span>System suchy (płyty, lamele, suchy jastrych)</span>
                            <span class="price">ok. 180–250 zł/m²</span>
                        </div>
                        <div class="cost-bar-bg"><div class="cost-bar-fill fill-dry"></div></div>
                    </div>
                </div>

                <div class="info-box">
                    <strong>Ważna uwaga:</strong> Należy jednak pamiętać, że wyższy koszt początkowy materiałów często częściowo rekompensowany jest niższym kosztem robocizny oraz brakiem konieczności wynajmu mieszkań zastępczych na czas 8 tygodni schnięcia wylewki.
                </div>
            </div>

            <div class="limit-pane" id="pane-cooling">
                <h4>Szybsze wychładzanie pomieszczeń</h4>
                <p>Brak potężnego, betonowego &#8222;akumulatora ciepła&#8221; ma swoją ciemną stronę. Gdy kocioł gazowy lub pompa ciepła przestanie pracować, <strong>podłoga stygnie błyskawicznie</strong> – często w kilkadziesiąt minut.</p>
                <p>Problem ten ujawnia się m.in. w tanich taryfach nocnych (gdy w dzień piec nie grzeje) lub podczas korzystania z opcji oszczędzania energii w bloku.</p>

                <div class="info-box critical" style="border-left-color: var(--warning); background: #fffbeb;">
                    <strong>Zależność od izolacji budynku:</strong> W nowym, dobrze izolowanym domu nie jest to duży problem, ponieważ ściany trzymają ciepło. Jednak w starym, nieszczelnym budownictwie może to powodować bardzo nieprzyjemne uczucie „ciągnięcia chłodem” od stóp niemal od razu po wyłączeniu pompy.
                </div>
            </div>

            <div class="limit-pane" id="pane-leveling">
                <h4>Bezwzględny wymóg równego podłoża</h4>
                <p>To absolutnie największa pułapka montażowa. Wylewka mokra jest ciężka i samopoziomująca – idealnie ukryje nierówności stropu do 2-3 cm. <strong>System suchy nie ma tej zdolności.</strong></p>
                
                <p>Konsekwencje nierówności (np. dołek na 5 mm pod płytą):</p>
                <ul class="consequences-list">
                    <li>Nieprzyjemne wrażenie akustyczne (stukanie, klawiszowanie).</li>
                    <li>Pękanie fug na płytkach ceramicznych (nawet przy użyciu maty zbrojącej).</li>
                    <li>Ryzyko wyślizgnięcia się rury z kanału aluminiowego (tworzy tzw. &#8222;gorący punkt&#8221;).</li>
                </ul>

                <div class="info-box critical">
                    <strong>Rozwiązanie i ironia losu:</strong> Przed montażem konieczne jest precyzyjne wyrównanie podłoża masą samopoziomującą. Aby uniknąć grubej wylewki&#8230; i tak musisz zrobić wylewkę (cienką, korekcyjną na 2-5 mm).
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // ZABEZPIECZENIE DOMENOWE (Domain Lock) Base64 Encoded HTML
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('limitations-app-container').innerHTML = decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));
        return; 
    }

    // LOGIKA ZAKŁADEK (TABS)
    const buttons = document.querySelectorAll('.limit-btn');
    const panes = document.querySelectorAll('.limit-pane');

    buttons.forEach(button => {
        button.addEventListener('click', () => {
            // Usuń klasę active ze wszystkich
            buttons.forEach(btn => btn.classList.remove('active'));
            panes.forEach(pane => pane.classList.remove('active'));
            
            // Dodaj do klikniętego
            button.classList.add('active');
            
            // Pokaż treść
            const targetId = button.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });
});
</script>



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

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

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

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

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

/* INTERAKTYWNY KALKULATOR - STYLE */
.interactive-calc-section {
    padding: 30px 40px;
    background: #ffffff;
    border-bottom: 3px solid var(--border-color);
}

.input-wrap { margin-bottom: 25px; background: var(--bg-light); padding: 20px; border-radius: 16px; border: 1px solid #e2e8f0; }
.input-label-row { display: flex; justify-content: space-between; margin-bottom: 12px; align-items: center; }
.input-label-row label { font-weight: 800; font-size: 15px; color: var(--primary); text-transform: uppercase; letter-spacing: 0.5px;}
.input-label-row .val-badge { background: #ffffff; padding: 6px 16px; border-radius: 10px; font-weight: 900; color: var(--accent); font-size: 18px; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }

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

.charts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.chart-title { font-size: 13px; font-weight: 700; color: #64748b; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 0.5px;}
.bar-row { margin-bottom: 12px; }
.bar-label { display: flex; justify-content: space-between; font-size: 13px; font-weight: 700; color: var(--primary); margin-bottom: 6px; }
.bar-bg { width: 100%; background: #f1f5f9; border-radius: 8px; height: 32px; overflow: hidden; position: relative; border: 1px solid #e2e8f0;}
.bar-fill { height: 100%; transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1); display: flex; align-items: center; justify-content: flex-end; padding-right: 12px; color: white; font-weight: 800; font-size: 13px; white-space: nowrap; }
.fill-dry { background: var(--accent); }
.fill-wet { background: var(--wet-color); }

/* TABELA - STYLE */
.table-wrapper {
    padding: 0 40px;
    margin-top: 20px;
}

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

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

.compare-table th.col-param { text-align: left; color: #64748b; width: 30%; }
.compare-table th.col-noguide { color: var(--accent); width: 35%; border-bottom-color: var(--accent); }
.compare-table th.col-project { color: var(--wet-color); width: 35%; }

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

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

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

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

.val-pill {
    display: inline-block;
    padding: 4px 12px;
    background: #f1f5f9;
    border-radius: 8px;
    font-weight: 700;
}
.val-pill.accent { background: #eff6ff; color: var(--accent); }
.val-pill.danger { background: #fee2e2; color: var(--danger); }
.val-pill.success { background: #dcfce7; color: var(--success); }

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

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

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

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

.card-project { border-color: #bfdbfe; background: #eff6ff; }
.card-project h4 { color: var(--accent); }

/* ROZWIĄZANIE DLA MOBILE */
@media (max-width: 768px) {
    .compare-header { padding: 25px 20px; }
    .interactive-calc-section { padding: 25px 20px; }
    .charts-grid { grid-template-columns: 1fr; gap: 20px; }
    .table-wrapper { padding: 0 15px; margin-top: 30px;}
    .compare-footer { grid-template-columns: 1fr; padding: 20px 15px; gap: 20px; }
    
    .compare-table, .compare-table tbody, .compare-table tr, .compare-table td {
        display: block; width: 100%; box-sizing: border-box;
    }
    .compare-table thead { display: none; }
    
    .compare-table tr {
        margin-bottom: 20px; border: 1px solid var(--border-color); border-radius: 16px; overflow: hidden; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    }
    
    .compare-table td { text-align: left; padding: 15px 20px; border-bottom: 1px solid #f1f5f9; }
    .compare-table td:last-child { border-bottom: none; }
    
    .compare-table td.param-name {
        background: var(--bg-light); font-size: 16px; border-bottom: 2px solid var(--border-color);
    }
    
    .compare-table td:nth-child(2)::before {
        content: "System Suchy (bez wylewki):"; display: block; font-weight: 800; margin-bottom: 6px; color: var(--accent); font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;
    }
    
    .compare-table td:nth-child(3)::before {
        content: "System Mokry (z wylewką):"; display: block; font-weight: 800; margin-bottom: 6px; color: var(--wet-color); font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;
    }
    
    .compare-table tr:hover td { background: inherit; }
    .compare-table td.param-name:hover { background: var(--bg-light); }
}
</style>

<div class="premium-compare" id="compare-app-container">
    <div class="compare-header">
        <h2>Porównanie techniczne: System Suchy vs. System Mokry</h2>
        <p>Sprawdź, jak wybór technologii wpływa na obciążenie Twojego stropu oraz koszty materiałów. Zmieniając powierzchnię, na żywo zobaczysz skalę przedsięwzięcia. Poniżej znajdziesz szczegółowe zestawienie parametrów. <a href="https://projekt-ogrzewania.pl/system-mokry-czy-suchy-w-wodnym-ogrzewaniu-podlogowym-ktory-wybrac/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Więcej przeczytasz w naszym artykule.</a></p>
    </div>

    <div class="interactive-calc-section">
        <div class="input-wrap">
            <div class="input-label-row">
                <label>Suwak powierzchni ogrzewanej</label>
                <span class="val-badge"><span id="v-area">50</span> m²</span>
            </div>
            <input type="range" id="area-slider" min="10" max="250" step="5" value="50">
        </div>

        <div class="charts-grid">
            <div class="chart-block">
                <div class="chart-title">📦 Łączna waga na stropie</div>
                <div class="bar-row">
                    <div class="bar-label"><span>System Suchy</span></div>
                    <div class="bar-bg"><div class="bar-fill fill-dry" id="bar-weight-dry" style="width: 10%;">&#8212;</div></div>
                </div>
                <div class="bar-row">
                    <div class="bar-label"><span>System Mokry</span></div>
                    <div class="bar-bg"><div class="bar-fill fill-wet" id="bar-weight-wet" style="width: 80%;">&#8212;</div></div>
                </div>
            </div>

            <div class="chart-block">
                <div class="chart-title">💰 Szacunkowy koszt materiałów</div>
                <div class="bar-row">
                    <div class="bar-label"><span>System Suchy</span></div>
                    <div class="bar-bg"><div class="bar-fill fill-dry" id="bar-cost-dry" style="width: 60%;">&#8212;</div></div>
                </div>
                <div class="bar-row">
                    <div class="bar-label"><span>System Mokry</span></div>
                    <div class="bar-bg"><div class="bar-fill fill-wet" id="bar-cost-wet" style="width: 30%;">&#8212;</div></div>
                </div>
            </div>
        </div>
    </div>

    <div class="table-wrapper">
        <table class="compare-table">
            <thead>
                <tr>
                    <th class="col-param">Parametr techniczny</th>
                    <th class="col-noguide">System Suchy (bez wylewki)</th>
                    <th class="col-project">System Mokry (z wylewką)</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td class="param-name"><span class="icon">⚖️</span> Masa własna (kg/m²)</td>
                    <td><strong>20 – 35 kg</strong></td>
                    <td>100 – 180 kg</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">📏</span> Minimalna wysokość</td>
                    <td><span class="val-pill accent">30 mm</span> (bez płytek)</td>
                    <td>80 mm</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">⏱️</span> Czas realizacji</td>
                    <td><span class="val-pill accent">1 – 3 dni</span></td>
                    <td>28 – 60 dni</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">🌡️</span> Maks. temp. zasilania</td>
                    <td>35 – 40°C</td>
                    <td>40 – 50°C</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">🚀</span> Czas nagrzewania</td>
                    <td><span class="val-pill accent">20 – 40 minut</span></td>
                    <td>4 – 6 godzin</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">🔋</span> Akumulacyjność cieplna</td>
                    <td>Bardzo niska</td>
                    <td><strong>Bardzo wysoka</strong></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">🔊</span> Przewodność akustyczna</td>
                    <td><span class="val-pill danger">Gorsza</span> (płyty pływające)</td>
                    <td><span class="val-pill success">Lepsza</span> (masa tłumi dźwięki)</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">💳</span> Koszt materiałów (zł/m²)</td>
                    <td>180 – 280 zł</td>
                    <td><span class="val-pill success">90 – 150 zł</span></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon">🔥</span> Ryzyko przegrzania</td>
                    <td><span class="val-pill danger">Wysokie</span> (wymagany RTL)</td>
                    <td><span class="val-pill success">Niskie</span></td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="compare-footer">
        <div class="summary-card card-project">
            <h4>Kiedy wybrać system suchy?</h4>
            <p>Idealny do remontów starych domów, kamienic (stropy drewniane) oraz domów szkieletowych. Sprawdza się wszędzie tam, gdzie kluczowa jest waga konstrukcji, brakuje wysokości na grubą wylewkę lub zależy Ci na błyskawicznym czasie realizacji bez wprowadzania wilgoci.</p>
        </div>
        
        <div class="summary-card">
            <h4>Kiedy wybrać system mokry?</h4>
            <p>Standardowe, ekonomiczne rozwiązanie dla nowego budownictwa, gdzie nośność stropu nie jest problemem. Oferuje niższą cenę materiałów, doskonałą izolację akustyczną i wysoką bezwładność cieplną, która wybacza błędy w sterowaniu temperaturą.</p>
        </div>
    </div>
</div>

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

    // 2. LOGIKA INTERAKTYWNEGO KALKULATORA
    const slider = document.getElementById("area-slider");
    if(!slider) return;

    function updateCalc() {
        const area = parseFloat(slider.value);
        document.getElementById("v-area").innerText = area;
        
        // Średnie wartości na bazie tabeli
        const weightDryPerM2 = 27.5; // średnia 20-35
        const weightWetPerM2 = 140; // średnia 100-180
        const costDryPerM2 = 230; // średnia 180-280
        const costWetPerM2 = 120; // średnia 90-150
        
        const totalWeightDry = area * weightDryPerM2;
        const totalWeightWet = area * weightWetPerM2;
        const totalCostDry = area * costDryPerM2;
        const totalCostWet = area * costWetPerM2;
        
        // Formatowanie tekstu
        const textWeightDry = totalWeightDry >= 1000 ? (totalWeightDry / 1000).toFixed(1) + " ton" : Math.round(totalWeightDry) + " kg";
        const textWeightWet = totalWeightWet >= 1000 ? (totalWeightWet / 1000).toFixed(1) + " ton" : Math.round(totalWeightWet) + " kg";
        const textCostDry = (totalCostDry / 1000).toFixed(1) + " tys. zł";
        const textCostWet = (totalCostWet / 1000).toFixed(1) + " tys. zł";
        
        // Obliczanie szerokości pasków (wizualizacja względem maks. wartości dla 250m2)
        const maxWeight = 250 * weightWetPerM2;
        const maxCost = 250 * costDryPerM2;
        
        const pctWeightDry = Math.max(8, Math.min(100, (totalWeightDry / maxWeight) * 100));
        const pctWeightWet = Math.max(8, Math.min(100, (totalWeightWet / maxWeight) * 100));
        const pctCostDry = Math.max(8, Math.min(100, (totalCostDry / maxCost) * 100));
        const pctCostWet = Math.max(8, Math.min(100, (totalCostWet / maxCost) * 100));
        
        // Aktualizacja DOM
        document.getElementById("bar-weight-dry").style.width = pctWeightDry + "%";
        document.getElementById("bar-weight-dry").innerText = textWeightDry;
        
        document.getElementById("bar-weight-wet").style.width = pctWeightWet + "%";
        document.getElementById("bar-weight-wet").innerText = textWeightWet;
        
        document.getElementById("bar-cost-dry").style.width = pctCostDry + "%";
        document.getElementById("bar-cost-dry").innerText = textCostDry;
        
        document.getElementById("bar-cost-wet").style.width = pctCostWet + "%";
        document.getElementById("bar-cost-wet").innerText = textCostWet;
    }

    slider.addEventListener("input", updateCalc);
    updateCalc(); // Inicjalizacja przy załadowaniu
});
</script>



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

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

.scenario-header {
    padding: 35px 40px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
    border-bottom: 1px solid var(--border-color);
    text-align: center;
}

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

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

.scenario-workspace {
    display: flex;
    min-height: 420px;
}

/* LEWA STRONA - MENU */
.scenario-menu {
    width: 35%;
    background: #ffffff;
    border-right: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    padding: 20px 0;
}

.scenario-btn {
    padding: 20px 30px;
    background: transparent;
    border: none;
    border-left: 4px solid transparent;
    text-align: left;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 12px;
}

.scenario-btn:hover {
    background: #f8fafc;
    color: var(--primary);
}

.scenario-btn.active {
    background: #eff6ff;
    border-left-color: var(--accent);
    color: var(--accent);
}

.scenario-icon {
    font-size: 22px;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.scenario-btn.active .scenario-icon {
    transform: scale(1.15);
}

/* PRAWA STRONA - TREŚĆ */
.scenario-content-area {
    width: 65%;
    background: var(--bg-light);
    position: relative;
    padding: 40px;
}

.scenario-pane {
    display: none;
    animation: fadeSlideUp 0.4s ease-out forwards;
}

.scenario-pane.active {
    display: block;
}

.pane-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 20px;
}

.badge-weight { background: #fee2e2; color: #991b1b; }
.badge-height { background: #e0e7ff; color: #3730a3; }
.badge-moisture { background: #ffedd5; color: #9a3412; }

.scenario-pane h4 {
    margin: 0 0 15px 0;
    font-size: 24px;
    font-weight: 900;
    color: var(--primary);
    line-height: 1.3;
}

.scenario-pane p {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 20px;
}

.scenario-pane p:last-child {
    margin-bottom: 0;
}

.scenario-pane a {
    color: var(--accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid #bfdbfe;
    transition: all 0.2s;
}

.scenario-pane a:hover {
    background: #eff6ff;
    border-bottom-color: var(--accent);
}

.highlight-box {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-left: 4px solid var(--accent);
    padding: 20px;
    border-radius: 12px;
    margin-top: 25px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.highlight-box strong {
    display: block;
    color: var(--primary);
    margin-bottom: 5px;
    font-size: 15px;
}

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

/* MOBILE */
@media (max-width: 768px) {
    .scenario-header { padding: 25px 20px; }
    .scenario-header h3 { font-size: 22px; }
    
    .scenario-workspace { flex-direction: column; min-height: auto; }
    
    .scenario-menu {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--border-color);
        padding: 10px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    
    .scenario-btn {
        padding: 12px 15px;
        border-left: none;
        border-bottom: 3px solid transparent;
        border-radius: 8px;
        background: #f8fafc;
        font-size: 13px;
        flex-direction: column;
        text-align: center;
        gap: 8px;
        justify-content: center;
    }
    
    .scenario-btn.active {
        border-left: none;
        border-bottom-color: var(--accent);
    }
    
    .scenario-content-area {
        width: 100%;
        padding: 30px 20px;
    }
}
</style>

<div class="premium-scenario-box" id="scenario-app-container">
    
    <div class="scenario-header">
        <h2>Gdzie system suchy sprawdza się najlepiej?</h2>
        <p>Wbrew pozorom, ogrzewanie bez wylewki nie jest rozwiązaniem uniwersalnym do każdego nowego domu. Jego zastosowanie jest optymalne w ściśle określonych scenariuszach remontowych i konstrukcyjnych.</p>
    </div>

    <div class="scenario-workspace">
        
        <div class="scenario-menu">
            <button class="scenario-btn active" data-target="pane-kamienice">
                <span class="scenario-icon">🏚️</span> Stare domy i kamienice
            </button>
            <button class="scenario-btn" data-target="pane-szkieletowe">
                <span class="scenario-icon">🌲</span> Domy szkieletowe
            </button>
            <button class="scenario-btn" data-target="pane-poddasza">
                <span class="scenario-icon">🪜</span> Adaptacje strychów
            </button>
            <button class="scenario-btn" data-target="pane-bloki">
                <span class="scenario-icon">🏢</span> Mieszkania w bloku
            </button>
        </div>

        <div class="scenario-content-area">
            
            <div class="scenario-pane active" id="pane-kamienice">
                <div class="pane-badge badge-weight">Priorytet: Krytyczna nośność stropu</div>
                <h4>Remonty starych domów i kamienic</h4>
                <p>Stropy drewniane (belkowe), stropy Kleina (stalowo-ceramiczne) czy stropy żelbetowe o nieznanej nośności to idealne pole do popisu dla lekkiego ogrzewania.</p>
                
                <div class="highlight-box" style="border-left-color: var(--danger);">
                    <strong>Ryzyko katastrofy budowlanej</strong>
                    <span style="font-size: 14px; color: #475569;">Próba wylania tam tradycyjnego jastrychu (nawet 150-180 kg/m²) grozi w skrajnych przypadkach zarwaniem stropu u sąsiada poniżej. System suchy waży zaledwie ułamek tej masy.</span>
                </div>
            </div>

            <div class="scenario-pane" id="pane-szkieletowe">
                <div class="pane-badge badge-moisture">Priorytet: Eliminacja wilgoci i wagi</div>
                <h4>Domy szkieletowe i drewniane</h4>
                <p>W domach o konstrukcji drewnianej (tzw. kanadyjskiej) każdy kilogram ma znaczenie dla wymiarowania belek stropowych.</p>
                <p>Co więcej, wilgoć technologiczna uwalniająca się z tradycyjnej wylewki mogłaby doprowadzić do zagrzybienia drewnianej konstrukcji ścian. Technologia sucha eliminuje to ryzyko całkowicie.</p>
                
                <div class="highlight-box">
                    <strong>Baza wiedzy projektanta</strong>
                    <span style="font-size: 14px; color: #475569;">Zachęcam do lektury szczegółowego opracowania: <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/">Ogrzewanie podłogowe w domu szkieletowym – kluczowe różnice i pułapki</a>.</span>
                </div>
            </div>

            <div class="scenario-pane" id="pane-poddasza">
                <div class="pane-badge badge-height">Priorytet: Oszczędność kubatury</div>
                <h4>Poddasza użytkowe i stychy</h4>
                <p>Podczas adaptacji starych strychów często mamy do dyspozycji bardzo małą wysokość przez wszechobecne skosy dachowe. Dodatkowo belki stropowe często były projektowane wyłącznie na przenoszenie ciężaru lekkiej zabudowy z płyt g-k.</p>
                
                <div class="highlight-box">
                    <strong>Odzyskaj cenne centymetry</strong>
                    <span style="font-size: 14px; color: #475569;">System suchy o grubości zaledwie 3-4 cm pozwala na wykonanie ogrzewania płaszczyznowego z jednoczesnym zachowaniem maksymalnej kubatury i wysokości pomieszczenia.</span>
                </div>
            </div>

            <div class="scenario-pane" id="pane-bloki">
                <div class="pane-badge badge-height">Priorytet: Brak uskoków i schodów</div>
                <h4>Mieszkania w bloku (z grzejników)</h4>
                <p>Jeśli zmieniasz system ogrzewania z tradycyjnego (grzejnikowego) na podłogowe w istniejącym mieszkaniu, wylanie wylewki to ogromny problem.</p>
                <p>Podniesienie poziomu podłogi o 8-10 cm w całym lokalu jest często fizycznie niemożliwe ze względu na zabetonowane progi, drzwi wejściowe czy balkonowe.</p>
                
                <div class="highlight-box" style="border-left-color: var(--success);">
                    <strong>Uniknij przecinania futryn</strong>
                    <span style="font-size: 14px; color: #475569;">System suchy pozwala zmieścić się w granicach 4-5 cm całkowitej grubości, co skutecznie zapobiega tworzeniu &#8222;schodków&#8221; do łazienki czy konieczności modyfikacji okien balkonowych.</span>
                </div>
            </div>

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

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

    // LOGIKA ZAKŁADEK (TABS)
    const buttons = document.querySelectorAll('.scenario-btn');
    const panes = document.querySelectorAll('.scenario-pane');

    buttons.forEach(button => {
        button.addEventListener('click', () => {
            // Usuń klasę active ze wszystkich przycisków i paneli
            buttons.forEach(btn => btn.classList.remove('active'));
            panes.forEach(pane => pane.classList.remove('active'));
            
            // Nadaj klasę active klikniętemu przyciskowi
            button.classList.add('active');
            
            // Pokaż odpowiedni panel
            const targetId = button.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });
});
</script>



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

.premium-promo-banner {
    max-width: 1050px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    color: var(--primary);
    display: flex;
    background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%);
    border: 2px solid #e2e8f0;
    position: relative;
}

/* LEWA STRONA - INFO */
.promo-content {
    width: 60%;
    padding: 45px 50px;
    position: relative;
    z-index: 2;
}

.promo-badge {
    background: var(--kisan-blue);
    color: white;
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: inline-block;
    margin-bottom: 20px;
    box-shadow: 0 4px 10px rgba(30, 58, 138, 0.3);
}

.promo-content h3 {
    margin: 0 0 15px 0;
    font-size: 32px;
    font-weight: 900;
    line-height: 1.2;
    color: var(--primary);
}

.promo-content p {
    font-size: 16px;
    line-height: 1.6;
    color: #475569;
    margin-bottom: 25px;
}

.promo-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-bottom: 30px;
}

.promo-feature-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 700;
    color: var(--kisan-blue);
}

.promo-feature-item span {
    background: #dbeafe;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.promo-action {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--accent);
    color: white;
    padding: 16px 28px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 15px;
    text-decoration: none;
    transition: all 0.3s;
    box-shadow: 0 10px 20px -5px rgba(37, 99, 235, 0.4);
}

.promo-action:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(37, 99, 235, 0.5);
    background: #1d4ed8;
}

/* PRAWA STRONA - INTERAKCJA / GRAFIKA */
.promo-visual {
    width: 40%;
    background: var(--kisan-blue);
    padding: 40px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: white;
}

.promo-visual::before {
    content: '';
    position: absolute;
    top: 0; left: -30px;
    width: 60px; height: 100%;
    background: var(--kisan-blue);
    transform: skewX(-10deg);
    z-index: 1;
}

.interactive-mini-calc {
    position: relative;
    z-index: 2;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    padding: 25px;
    border-radius: 16px;
    backdrop-filter: blur(10px);
}

.calc-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 15px;
    color: #93c5fd;
    display: flex;
    align-items: center;
    gap: 8px;
}

.calc-row {
    margin-bottom: 15px;
}

.calc-label {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 8px;
}

.calc-val { font-weight: 800; color: white; }

input[type=range].promo-slider { width: 100%; height: 6px; background: rgba(255,255,255,0.2); border-radius: 10px; appearance: none; outline: none; }
input[type=range].promo-slider::-webkit-slider-thumb { appearance: none; width: 20px; height: 20px; background: #ffffff; border-radius: 50%; cursor: pointer; box-shadow: 0 2px 5px rgba(0,0,0,0.2); }

.calc-result {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px dashed rgba(255,255,255,0.2);
}

.calc-result span {
    display: block;
    font-size: 11px;
    color: #93c5fd;
    text-transform: uppercase;
    font-weight: 700;
}

.calc-result strong {
    font-size: 28px;
    font-weight: 900;
    color: white;
    line-height: 1.2;
}

@media (max-width: 900px) {
    .premium-promo-banner { flex-direction: column; }
    .promo-content { width: 100%; padding: 35px 25px; }
    .promo-visual { width: 100%; padding: 35px 25px; }
    .promo-visual::before { display: none; }
    .promo-features { grid-template-columns: 1fr; }
}
</style>

<div class="premium-promo-banner" id="promo-banner-app">
    
    <div class="promo-content">
        <div class="promo-badge">Rozwiązanie od Ekspertów</div>
        <h3>Poznaj system Comfort Floor Dry</h3>
        <p>Teoria to jedno, ale jak wdrożyć ją w życie? Poznaj innowacyjny system ogrzewania podłogowego o konstrukcji lekkiej, bazujący na specjalnych płytach EPS i tłoczonych aluminiowych lamelach grzewczych.</p>
        
        <div class="promo-features">
            <div class="promo-feature-item">
                <span>📏</span> Wysokość zaledwie 61 mm!
            </div>
            <div class="promo-feature-item">
                <span>⚖️</span> Kompletny system od 1 producenta
            </div>
            <div class="promo-feature-item">
                <span>⚙️</span> Opracowany dla domów drewnianych
            </div>
            <div class="promo-feature-item">
                <span>🛒</span> Spersonalizowana wycena online
            </div>
        </div>

        <a href="https://projekt-ogrzewania.pl/comfort-floor-dry/" target="_blank" class="promo-action">
            Zobacz pełny system i wyceń online →
        </a>
    </div>

    <div class="promo-visual">
        <div class="interactive-mini-calc">
            <div class="calc-title">💡 Przekonaj się sam</div>
            
            <div class="calc-row">
                <div class="calc-label">
                    <span>Powierzchnia do ogrzania:</span>
                    <span class="calc-val"><span id="p-area">50</span> m²</span>
                </div>
                <input type="range" class="promo-slider" id="p-slider" min="20" max="200" step="5" value="50">
            </div>

            <div class="calc-result">
                <span>Tyle wagi zaoszczędzisz na stropie:</span>
                <strong><span id="p-saved">5 375</span> kg!</strong>
            </div>
            <p style="font-size: 12px; color: #bfdbfe; margin-top: 10px; line-height: 1.4;">*Oszczędność wagi względem standardowej wylewki mokrej (140 kg/m² vs 32 kg/m²).</p>
        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // ZABEZPIECZENIE DOMENOWE (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('promo-banner-app').innerHTML = `
            <div style="padding: 40px 20px; text-align: center; background: #fee2e2; color: #dc2626; width: 100%;">
                <h3 style="margin-top:0;">Baner chroniony prawem autorskim</h3>
                <p>Własność Projekt-Ogrzewania.pl</p>
            </div>
        `;
        return; 
    }

    // LOGIKA MINI KALKULATORA
    const slider = document.getElementById('p-slider');
    const valArea = document.getElementById('p-area');
    const valSaved = document.getElementById('p-saved');

    function updatePromoCalc() {
        const area = parseInt(slider.value);
        valArea.innerText = area;
        
        // Obliczenia: Mokra (~140kg) - Sucha (~32.5kg średnio) = różnica 107.5 kg na m2
        const differencePerM2 = 107.5;
        const totalSaved = Math.round(area * differencePerM2);
        
        valSaved.innerText = totalSaved.toLocaleString('pl-PL');
    }

    slider.addEventListener('input', updatePromoCalc);
    updatePromoCalc(); // init
});
</script>



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

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

/* SEKCJA TEKSTOWA */
.auditor-text-section {
    padding: 40px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
    border-bottom: 1px solid var(--border-color);
}

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

.auditor-text-section > p {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 30px;
}

.rules-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
}

.rule-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    padding: 20px 25px;
    border-radius: 16px;
    display: flex;
    gap: 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
}

.rule-number {
    width: 32px;
    height: 32px;
    background: #eff6ff;
    color: var(--accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 16px;
    flex-shrink: 0;
}

.rule-content h4 {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--primary);
}

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

.rule-content strong { color: var(--primary); }

/* SEKCJA INTERAKTYWNA */
.auditor-interactive-section {
    padding: 40px;
    background: #ffffff;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.interactive-title {
    grid-column: 1 / -1;
    text-align: center;
    margin-bottom: 10px;
}

.interactive-title h4 {
    margin: 0 0 5px 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--primary);
}

.interactive-title p {
    margin: 0;
    font-size: 14px;
    color: #64748b;
}

/* Formularz */
.config-panel {
    background: var(--bg-light);
    padding: 25px;
    border-radius: 20px;
    border: 1px solid var(--border-color);
}

.input-group { margin-bottom: 20px; }
.input-group:last-child { margin-bottom: 0; }
.input-label { display: block; font-size: 13px; font-weight: 800; text-transform: uppercase; color: #64748b; margin-bottom: 8px; letter-spacing: 0.5px;}

select.form-control {
    width: 100%;
    padding: 12px 15px;
    border-radius: 10px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--primary);
    cursor: pointer;
    outline: none;
}

select.form-control:focus { border-color: var(--accent); }

.temp-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px;}
.temp-row span { font-weight: 900; color: var(--accent); font-size: 16px; }

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

/* Wyniki */
.results-panel {
    display: flex;
    flex-direction: column;
}

.score-box {
    text-align: center;
    padding: 25px;
    border-radius: 20px;
    border: 2px solid var(--border-color);
    margin-bottom: 20px;
    transition: all 0.3s;
}

.score-label { font-size: 13px; font-weight: 800; text-transform: uppercase; color: #64748b; display: block; margin-bottom: 10px; }
.score-value { font-size: 42px; font-weight: 900; line-height: 1; color: var(--primary); transition: color 0.3s;}

.alerts-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.alert-item {
    padding: 12px 16px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    display: none; /* Ukryte domyślnie */
    animation: fadeIn 0.3s ease-in-out;
}

.alert-danger { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }
.alert-warning { background: #ffedd5; color: #9a3412; border: 1px solid #fed7aa; }
.alert-success { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; display: block; }

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

@media (max-width: 768px) {
    .auditor-text-section, .auditor-interactive-section { padding: 25px 20px; }
    .rule-card { padding: 15px; gap: 15px; }
    .auditor-interactive-section { grid-template-columns: 1fr; gap: 25px; }
}
</style>

<div class="premium-auditor-box" id="auditor-app-container">
    
    <div class="auditor-text-section">
        <h2>Jak wygląda projekt ogrzewania w systemie suchym?</h2>
        <p>Projektowanie ogrzewania podłogowego bez wylewki wymaga od projektanta zupełnie innego podejścia. Nie można po prostu skopiować projektu &#8222;z betonu&#8221;. Oto 5 kluczowych aspektów <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/" style="color: var(--accent); font-weight: 700; text-decoration: none;">profesjonalnego projektu</a>:</p>
        
        <div class="rules-grid">
            <div class="rule-card">
                <div class="rule-number">1</div>
                <div class="rule-content">
                    <h4>Gęstość strumienia ciepła i rozstaw rur</h4>
                    <p>Ze względu na niższą akumulacyjność, stosuje się gęstszy rozstaw rur. Rekomendacja w systemie suchym to <strong>co 10 cm lub co 15 cm</strong>. Nigdy co 20 cm (chyba że w pom. gospodarczym).</p>
                </div>
            </div>
            
            <div class="rule-card">
                <div class="rule-number">2</div>
                <div class="rule-content">
                    <h4>Wydajność cieplna lameli aluminiowych</h4>
                    <p>Projektant musi określić grubość blachy (min. 0,4 mm) oraz jej kształt. Lamele z <strong>pełnym skrzydłem</strong> dają moc o 20-30% wyższą niż wąskie paski.</p>
                </div>
            </div>
            
            <div class="rule-card">
                <div class="rule-number">3</div>
                <div class="rule-content">
                    <h4>Strefy brzegowe i pod oknami</h4>
                    <p>Aby uzyskać wysoką moc (100-120 W/m²) pod dużym oknem bez betonu, należy przewidzieć układ rur w rozstawie <strong>co 7,5 cm</strong> lub zastosowanie podwójnej lameli.</p>
                </div>
            </div>
            
            <div class="rule-card">
                <div class="rule-number">4</div>
                <div class="rule-content">
                    <h4>Projekt warstwy wykończeniowej (opór cieplny)</h4>
                    <p>Panele laminowane: moc spada o 10-15%. Deska lita: moc spada o 20%. <strong>Dywany z długim włosiem (R > 0,25): moc spada o 50% – instalacja przestaje grzać!</strong></p>
                </div>
            </div>
            
            <div class="rule-card">
                <div class="rule-number">5</div>
                <div class="rule-content">
                    <h4>Automatyka i ograniczenie temperatury (RTL)</h4>
                    <p>Wymagany jest zawór RTL lub termostat. Maksymalna temperatura zasilania to <strong>40-45°C</strong>. Przekroczenie tej wartości gwarantuje powstanie szpar w parkiecie i zniszczenie podłogi.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="auditor-interactive-section">
        <div class="interactive-title">
            <h4>Audytor Błędów Projektowych</h4>
            <p>Sprawdź w praktyce! Zmieniaj parametry i zobacz, jak algorytm ocenia poprawność projektu.</p>
        </div>

        <div class="config-panel">
            <div class="input-group">
                <span class="input-label">Rozstaw rur (Ad. 1)</span>
                <select id="sim-spacing" class="form-control">
                    <option value="10">Co 10 cm (Wysoka moc)</option>
                    <option value="15" selected>Co 15 cm (Standard)</option>
                    <option value="20">Co 20 cm (Błąd projektowy)</option>
                </select>
            </div>

            <div class="input-group">
                <span class="input-label">Rodzaj lameli (Ad. 2)</span>
                <select id="sim-lamella" class="form-control">
                    <option value="full" selected>Pełne skrzydło (Optymalne)</option>
                    <option value="narrow">Wąskie paski (Tanie)</option>
                </select>
            </div>

            <div class="input-group">
                <span class="input-label">Wykończenie podłogi (Ad. 4)</span>
                <select id="sim-floor" class="form-control">
                    <option value="tiles" selected>Płytki ceramiczne (R ≈ 0.02)</option>
                    <option value="panels">Panele laminowane (R ≈ 0.10)</option>
                    <option value="wood">Deska lita/warstwowa (R ≈ 0.12)</option>
                    <option value="carpet">Gruby dywan (R > 0.25)</option>
                </select>
            </div>

            <div class="input-group" style="margin-bottom:0;">
                <div class="temp-row">
                    <span class="input-label" style="margin:0;">Temp. zasilania (Ad. 5)</span>
                    <span id="sim-temp-val">35°C</span>
                </div>
                <input type="range" id="sim-temp" min="30" max="50" step="1" value="35">
            </div>
        </div>

        <div class="results-panel">
            <div class="score-box" id="score-container">
                <span class="score-label">Szacowana wydajność instalacji</span>
                <div class="score-value" id="sim-efficiency">100%</div>
            </div>

            <div class="alerts-container">
                <div class="alert-item alert-success" id="alert-ok">✅ Projekt poprawny. Dobra wydajność i bezpieczne parametry.</div>
                
                <div class="alert-item alert-danger" id="alert-spacing">❌ <strong>BŁĄD (Pkt 1):</strong> Rozstaw co 20 cm w systemie suchym spowoduje niedogrzanie pomieszczenia i odczuwalną &#8222;zebrę termiczną&#8221; na podłodze.</div>
                
                <div class="alert-item alert-warning" id="alert-lamella">⚠️ <strong>OSTRZEŻENIE (Pkt 2):</strong> Zastosowanie wąskich lameli obniża realną moc grzewczą o 20-30%. Zwiększ zagęszczenie rur.</div>
                
                <div class="alert-item alert-danger" id="alert-carpet">❌ <strong>KRYTYCZNY BŁĄD (Pkt 4):</strong> Gruby dywan działa jak izolator (R > 0.25). Ogrzewanie podłogowe zostało zablokowane i nie ogrzeje pokoju!</div>
                
                <div class="alert-item alert-danger" id="alert-temp">❌ <strong>KRYTYCZNY BŁĄD (Pkt 5):</strong> Temperatura przekracza 40°C przy podłodze drewnianej/laminowanej! Gwarantowane wypaczenie podłogi i szpary. Brak zaworu RTL!</div>
            </div>
        </div>
    </div>

</div>

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

    // LOGIKA AUDYTORA
    const elSpacing = document.getElementById('sim-spacing');
    const elLamella = document.getElementById('sim-lamella');
    const elFloor = document.getElementById('sim-floor');
    const elTemp = document.getElementById('sim-temp');
    const valTemp = document.getElementById('sim-temp-val');
    const elEfficiency = document.getElementById('sim-efficiency');
    const boxScore = document.getElementById('score-container');

    // Alerty
    const alertOk = document.getElementById('alert-ok');
    const alertSpacing = document.getElementById('alert-spacing');
    const alertLamella = document.getElementById('alert-lamella');
    const alertCarpet = document.getElementById('alert-carpet');
    const alertTemp = document.getElementById('alert-temp');

    function calculateAudit() {
        const spacing = parseInt(elSpacing.value);
        const lamella = elLamella.value;
        const floor = elFloor.value;
        const temp = parseInt(elTemp.value);
        
        valTemp.innerText = temp + "°C";

        let efficiency = 100; // Baza: 10cm, pełna lamela, płytki
        let hasErrors = false;

        // Reset alertów
        alertOk.style.display = 'none';
        alertSpacing.style.display = 'none';
        alertLamella.style.display = 'none';
        alertCarpet.style.display = 'none';
        alertTemp.style.display = 'none';

        // 1. Spacing Logic
        if(spacing === 15) efficiency -= 15;
        if(spacing === 20) {
            efficiency -= 35;
            alertSpacing.style.display = 'block';
            hasErrors = true;
        }

        // 2. Lamella Logic
        if(lamella === 'narrow') {
            efficiency -= 25;
            alertLamella.style.display = 'block';
            hasErrors = true;
        }

        // 3. Floor Logic
        if(floor === 'panels') efficiency -= 15;
        if(floor === 'wood') efficiency -= 20;
        if(floor === 'carpet') {
            efficiency -= 60;
            alertCarpet.style.display = 'block';
            hasErrors = true;
        }

        // 4. Temp & Floor Safety Logic
        if(temp > 40 && (floor === 'panels' || floor === 'wood')) {
            alertTemp.style.display = 'block';
            hasErrors = true;
        }
        
        // Zwiększenie wydajności od temperatury (uproszczone dla UI)
        if(temp > 35) {
            efficiency += (temp - 35) * 3; 
        }

        // Ograniczenia wizualne
        if(efficiency < 0) efficiency = 0;
        if(efficiency > 120) efficiency = 120;

        elEfficiency.innerText = Math.round(efficiency) + "%";

        // Style i podsumowanie
        if(hasErrors) {
            boxScore.style.borderColor = "var(--danger)";
            elEfficiency.style.color = "var(--danger)";
        } else {
            boxScore.style.borderColor = "var(--success)";
            elEfficiency.style.color = "var(--success)";
            alertOk.style.display = 'block';
        }
        
        // Wyjątek - niska wydajność bez "twardych" błędów (np standardowy spadek)
        if(!hasErrors && efficiency < 75) {
            boxScore.style.borderColor = "var(--warning)";
            elEfficiency.style.color = "var(--warning)";
            alertOk.style.display = 'none';
            alertLamella.style.display = 'block'; // Pokaż jako ogólne ostrzeżenie by coś poprawić
            alertLamella.innerHTML = "⚠️ <strong>OSTRZEŻENIE:</strong> Układ jest bezpieczny, ale jego wydajność jest niska. Rozważ wyższą temperaturę lub gęstszy rozstaw rur.";
        }
    }

    [elSpacing, elLamella, elFloor, elTemp].forEach(el => {
        el.addEventListener('input', calculateAudit);
    });

    calculateAudit(); // init
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --bg-light: #f8fafc;
}

.premium-intro-block {
    max-width: 900px;
    margin: 40px auto;
    padding: 35px 45px;
    background: linear-gradient(145deg, #ffffff, var(--bg-light));
    border-radius: 20px;
    border-left: 6px solid var(--accent);
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
    font-family: 'Inter', -apple-system, sans-serif;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-top: 1px solid #f1f5f9;
    border-right: 1px solid #f1f5f9;
    border-bottom: 1px solid #f1f5f9;
}

.premium-intro-block:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px -10px rgba(37, 99, 235, 0.15);
}

.intro-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #eff6ff;
    color: var(--accent);
    padding: 6px 14px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
}

.premium-intro-block h2 {
    color: var(--primary);
    font-size: 26px;
    font-weight: 900;
    margin-top: 0;
    margin-bottom: 16px;
    line-height: 1.3;
}

.premium-intro-block p {
    color: #475569;
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
    font-weight: 400;
}

@media (max-width: 600px) {
    .premium-intro-block {
        padding: 25px 20px;
        margin: 20px 15px;
    }
    .premium-intro-block h2 {
        font-size: 22px;
    }
}
</style>

<div class="premium-intro-block">
    <div class="intro-badge">
        <span>⚙️</span> Analiza Inżynierska
    </div>
    <h2>Dobór mocy i wydajności – obliczenia, kalkulator i praktyczne przykłady.</h2>
    <p>Przejdźmy do twardych danych. Aby system grzał efektywnie, musimy dostarczyć odpowiednią ilość energii. Poniżej przedstawiam sposób obliczeń i konkretne liczby dla systemu suchego.</p>
</div>



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

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

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

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

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

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

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

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

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

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

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

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

<div class="premium-chart-box" id="chart-app-container">
    <div class="chart-header">
        <h3>Wykres zależności mocy od temperatury zasilania i pokrycia podłogi</h3>
        <p>System suchy: rura PEX 14mm, rozstaw 15cm, lamele aluminiowe pełne <br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Analiza przygotowana przez Projekt-Ogrzewania.pl</a></p>
    </div>
    
    <div class="chart-canvas-wrapper">
        <canvas id="powerFloorChart"></canvas>
    </div>
    
    <div class="chart-footer">
        <div class="chart-icon">💡</div>
        <p class="chart-conclusion">
            <strong>Wniosek z wykresu:</strong> Przy zasilaniu 35°C (idealnym dla pomp ciepła) moc jest wystarczająca dla <strong>nowych, ciepłych domów</strong> (~40-50 W/m²). Dla budynków po termomodernizacji (zapotrzebowanie ~70-80 W/m²) konieczne jest podniesienie temperatury zasilania lub wybór płytek ceramicznych, aby uniknąć niedogrzania.
        </p>
    </div>
</div>

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

    // JEŚLI DOMENA SIĘ ZGADZA - RYSUJEMY WYKRES
    const canvasEl = document.getElementById('powerFloorChart');
    if(!canvasEl) return;
    
    const ctx = canvasEl.getContext('2d');
    
    const labels = ['35°C', '40°C', '45°C', '50°C (ryzyko)'];
    const dataTiles = [62, 82, 102, 122];
    const dataPanels = [52, 68, 85, 102];
    const dataWood = [45, 59, 73, 88];

    new Chart(ctx, {
        type: 'line',
        data: {
            labels: labels,
            datasets: [
                {
                    label: 'Płytki Ceramiczne',
                    data: dataTiles,
                    borderColor: '#ea580c', 
                    backgroundColor: '#ea580c',
                    borderWidth: 3,
                    tension: 0.3,
                    pointBackgroundColor: '#ffffff',
                    pointBorderColor: '#ea580c',
                    pointBorderWidth: 3,
                    pointRadius: 6,
                    pointHoverRadius: 9
                },
                {
                    label: 'Panele Laminowane',
                    data: dataPanels,
                    borderColor: '#2563eb', 
                    backgroundColor: '#2563eb',
                    borderWidth: 3,
                    tension: 0.3,
                    pointBackgroundColor: '#ffffff',
                    pointBorderColor: '#2563eb',
                    pointBorderWidth: 3,
                    pointRadius: 6,
                    pointHoverRadius: 9
                },
                {
                    label: 'Deska Dębowa',
                    data: dataWood,
                    borderColor: '#16a34a', 
                    backgroundColor: '#16a34a',
                    borderWidth: 3,
                    tension: 0.3,
                    pointBackgroundColor: '#ffffff',
                    pointBorderColor: '#16a34a',
                    pointBorderWidth: 3,
                    pointRadius: 6,
                    pointHoverRadius: 9
                }
            ]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            plugins: {
                legend: {
                    display: true,
                    position: 'top',
                    labels: {
                        font: { family: 'Inter', size: 13, weight: '600' },
                        color: '#475569',
                        usePointStyle: true,
                        padding: 20
                    }
                },
                tooltip: {
                    backgroundColor: '#0f172a',
                    titleFont: { family: 'Inter', size: 14, weight: 'bold' },
                    bodyFont: { family: 'Inter', size: 14 },
                    padding: 12,
                    displayColors: true,
                    callbacks: {
                        label: function(context) {
                            return context.dataset.label + ': ' + context.parsed.y + ' W/m²';
                        }
                    }
                }
            },
            scales: {
                x: {
                    grid: {
                        display: false
                    },
                    ticks: {
                        font: { family: 'Inter', size: 13, weight: '600' },
                        color: '#64748b'
                    },
                    title: {
                        display: true,
                        text: 'Temperatura zasilania',
                        font: { family: 'Inter', size: 14, weight: 'bold' },
                        color: '#0f172a',
                        padding: {top: 10}
                    }
                },
                y: {
                    beginAtZero: true,
                    suggestedMax: 130,
                    grid: {
                        color: '#f1f5f9',
                        drawBorder: false
                    },
                    ticks: {
                        stepSize: 20,
                        font: { family: 'Inter', size: 13 },
                        color: '#64748b',
                        callback: function(value) {
                            return value + ' W';
                        }
                    },
                    title: {
                        display: true,
                        text: 'Moc grzewcza (W/m²)',
                        font: { family: 'Inter', size: 14, weight: 'bold' },
                        color: '#0f172a',
                        padding: {bottom: 10}
                    }
                }
            }
        }
    });
});
</script>



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

.calc-intro { max-width: 1150px; margin: 40px auto 10px auto; text-align: center; padding: 0 20px; }
.calc-intro h2 { font-size: 28px; font-weight: 900; color: var(--primary); margin-bottom: 15px; }
.calc-intro p { font-size: 16px; color: #475569; line-height: 1.6; max-width: 800px; margin: 0 auto; }

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

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

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

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

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

.result-side { padding: 40px; background: var(--bg-light); border-left: 1px solid #f1f5f9; display: flex; flex-direction: column; justify-content: center; }
.main-score-box { background: white; padding: 30px; border-radius: 20px; text-align: center; box-shadow: 0 10px 25px rgba(0,0,0,0.03); margin-bottom: 25px; border-bottom: 6px solid var(--danger); transition: 0.3s; }
.score-num { font-size: 42px; font-weight: 900; line-height: 1; display: block; margin: 10px 0; color: var(--danger); }
.score-label { font-size: 12px; color: #64748b; font-weight: 700; text-transform: uppercase; }

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

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

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

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

<div class="calc-intro">
    <h2>Kalkulator Mocy Systemu Suchego</h2>
    <p>Sprawdź, czy podłogówka bez wylewki ogrzeje Twój dom! Autorskie narzędzie stworzone przez inżynierów <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>. Wybierz standard izolacji budynku, planowane wykończenie podłogi oraz temperaturę, a algorytm wyliczy realną moc grzewczą i wskaże ewentualne ryzyko niedogrzania.</p>
</div>

<div class="screed-calc" id="screed-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            <span class="section-title">1. Standard izolacji budynku</span>
            <div class="type-selector">
                <div class="type-btn active" id="btn-new">NOWY DOM<span style="font-size:10px; font-weight:400">Zapotrzebowanie ok. 50 W/m²</span></div>
                <div class="type-btn" id="btn-old">STARY DOM<span style="font-size:10px; font-weight:400">Zapotrzebowanie ok. 80 W/m²</span></div>
            </div>

            <span class="section-title">2. Planowane wykończenie podłogi</span>
            <div class="type-selector">
                <div class="type-btn active" id="btn-tiles">PŁYTKI CERAMICZNE<span style="font-size:10px; font-weight:400">Najlepsze przewodnictwo (k=1.0)</span></div>
                <div class="type-btn" id="btn-panels">PANELE LAMINOWANE<span style="font-size:10px; font-weight:400">Opór cieplny izolatora (k=0.9)</span></div>
            </div>

            <span class="section-title">3. Parametry pracy układu</span>
            <div class="input-wrap" style="margin-bottom: 0;">
                <div class="input-label-row"><label>Temperatura zasilania (T_zas)</label><span class="val-badge"><span id="v-temp">35</span> °C</span></div>
                <input type="range" id="tempZas" min="30" max="45" step="1" value="35">
            </div>
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Realna moc grzewcza systemu</span>
                <span class="score-num"><span id="resPower">&#8212;</span> W/m²</span>
                <div id="risk-msg">System ogrzeje dom bez problemu!</div>
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span>Wymagane zapotrzebowanie budynku:</span><strong id="resDemand">&#8212;</strong></div>
                <div class="tech-item"><span>Szacowany czas nagrzewania:</span><strong>20 &#8211; 40 minut</strong></div>
                <div class="tech-item"><span>Ryzyko niedogrzania w mrozy:</span><strong id="resOpLoss" style="color:#f87171">&#8212;</strong></div>
                <div class="tech-item"><span>Bezpieczeństwo pokrycia podłogi:</span><strong id="resFloorSafety" style="color:#16a34a">Optymalne</strong></div>
            </div>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Nie zgaduj parametrów podłogówki</h3>
            <p style="margin:0; font-size:14px; color:#475569" id="footer-desc">System suchy nie wybacza błędów. Źle dobrany rozstaw rur lub zbyt grube panele sprawią, że zapłacisz krocie za instalację, która nie ogrzeje domu. Zleć nam precyzyjne obliczenia projektowe.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
                ZAMÓW PROJEKT OGRZEWANIA →
            </a>
        </div>
    </div>
</div>

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

    // STAN APLIKACJI
    let houseType = "new";
    let floorType = "tiles";

    // ELEMENTY DOM
    const btnNew = document.getElementById("btn-new");
    const btnOld = document.getElementById("btn-old");
    const btnTiles = document.getElementById("btn-tiles");
    const btnPanels = document.getElementById("btn-panels");
    
    const tempZas = document.getElementById("tempZas");
    const vTemp = document.getElementById("v-temp");

    const resPower = document.getElementById("resPower");
    const resDemand = document.getElementById("resDemand");
    const resOpLoss = document.getElementById("resOpLoss");
    const resFloorSafety = document.getElementById("resFloorSafety");
    
    const mainBox = document.getElementById("mainBox");
    const riskMsg = document.getElementById("risk-msg");

    // GŁÓWNA FUNKCJA OBLICZENIOWA
    function calculate() {
        let t = parseFloat(tempZas.value);
        vTemp.innerText = t;

        let targetPower = (houseType === "new") ? 50 : 80;
        let k = (floorType === "tiles") ? 1.0 : 0.9;

        // Wzór na moc: (T_zas - 2.5 - 20) * 4.5 * k
        let power = (t - 2.5 - 20) * 4.5 * k;
        if (power < 0) power = 0;

        resPower.innerText = Math.round(power);
        resDemand.innerText = targetPower + " W/m²";

        // Logika Niedogrzania
        if (power >= targetPower) {
            mainBox.style.borderBottomColor = "var(--success)";
            resPower.style.color = "var(--success)";
            
            riskMsg.style.backgroundColor = "#dcfce7";
            riskMsg.style.color = "var(--success)";
            riskMsg.style.borderColor = "#bbf7d0";
            riskMsg.innerText = "System ogrzeje dom bez problemu!";
            
            resOpLoss.innerText = "Brak (Pełen komfort)";
            resOpLoss.style.color = "var(--success)";
        } else {
            mainBox.style.borderBottomColor = "var(--danger)";
            resPower.style.color = "var(--danger)";
            
            riskMsg.style.backgroundColor = "#fee2e2";
            riskMsg.style.color = "var(--danger)";
            riskMsg.style.borderColor = "#fecaca";
            
            let missing = Math.round(targetPower - power);
            riskMsg.innerText = "Ryzyko niedogrzania! Brakuje ok. " + missing + " W/m².";
            
            resOpLoss.innerText = "Tak (niedogrzanie)";
            resOpLoss.style.color = "var(--danger)";
        }

        // Logika Przegrzania Paneli
        if (floorType === "panels" && t > 40) {
            resFloorSafety.innerText = "OSTRZEŻENIE (T>40°C)";
            resFloorSafety.style.color = "var(--danger)";
            riskMsg.innerText += " Uwaga: Ryzyko wypaczenia paneli!";
        } else {
            resFloorSafety.innerText = "Optymalne";
            resFloorSafety.style.color = "var(--success)";
        }
    }

    // EVENT LISTENERY
    if(btnNew && btnOld) {
        btnNew.addEventListener("click", function() {
            houseType = "new";
            btnOld.classList.remove("active");
            btnNew.classList.add("active");
            calculate();
        });
        btnOld.addEventListener("click", function() {
            houseType = "old";
            btnNew.classList.remove("active");
            btnOld.classList.add("active");
            calculate();
        });
    }

    if(btnTiles && btnPanels) {
        btnTiles.addEventListener("click", function() {
            floorType = "tiles";
            btnPanels.classList.remove("active");
            btnTiles.classList.add("active");
            calculate();
        });
        btnPanels.addEventListener("click", function() {
            floorType = "panels";
            btnTiles.classList.remove("active");
            btnPanels.classList.add("active");
            calculate();
        });
    }

    if(tempZas) {
        tempZas.addEventListener("input", calculate);
    }

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



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

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

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

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

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

.steps-container {
    padding: 20px 40px 40px 40px;
}

.step-item {
    border: 2px solid transparent;
    border-radius: 16px;
    margin-bottom: 12px;
    background: #ffffff;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.03);
    border: 1px solid #f1f5f9;
    transition: all 0.3s ease;
}

.step-item.active {
    border-color: #bfdbfe;
    background: #eff6ff;
    box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.1);
}

.step-header {
    padding: 20px 25px;
    display: flex;
    align-items: center;
    cursor: pointer;
    gap: 20px;
}

.step-number {
    width: 40px;
    height: 40px;
    background: #f1f5f9;
    color: #64748b;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 900;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.step-item.active .step-number {
    background: var(--accent);
    color: white;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
}

.step-title {
    font-size: 17px;
    font-weight: 800;
    color: var(--primary);
    flex-grow: 1;
}

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

.step-toggle {
    font-size: 24px;
    color: #94a3b8;
    transition: transform 0.3s ease;
}

.step-item.active .step-toggle {
    transform: rotate(180deg);
    color: var(--accent);
}

.step-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0 25px;
}

.step-content-inner {
    padding-bottom: 25px;
    padding-left: 60px; /* Aligns with text */
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
}

.step-content-inner p { margin-top: 0; margin-bottom: 15px; }
.step-content-inner p:last-child { margin-bottom: 0; }

.step-content-inner a {
    color: var(--accent);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: #bfdbfe;
    text-underline-offset: 3px;
}

.highlight-box {
    background: #ffffff;
    border-left: 4px solid var(--warning);
    padding: 12px 16px;
    border-radius: 0 8px 8px 0;
    margin: 15px 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--primary);
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
}

.split-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-top: 15px;
}

.option-card {
    background: white;
    padding: 15px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
}

.option-card h5 {
    margin: 0 0 8px 0;
    color: var(--primary);
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.option-card p {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
}

@media (max-width: 600px) {
    .steps-header { padding: 25px 20px; }
    .steps-container { padding: 20px; }
    .step-header { padding: 15px; gap: 15px; }
    .step-title { font-size: 15px; }
    .step-content-inner { padding-left: 0; padding-bottom: 20px; font-size: 14px; }
    .split-options { grid-template-columns: 1fr; }
}
</style>

<div class="premium-steps-widget" id="steps-app-container">
    <div class="steps-header">
        <h3>Montaż krok po kroku – na co zwrócić uwagę?</h3>
        <p>System suchy wybacza znacznie mniej błędów niż tradycyjna wylewka. Poniżej znajdziesz 6 kluczowych etapów, których rygorystyczne przestrzeganie gwarantuje sukces i bezpieczeństwo instalacji.</p>
    </div>

    <div class="steps-container">
        
        <div class="step-item active">
            <div class="step-header" onclick="toggleStep(this)">
                <div class="step-number">1</div>
                <div class="step-title">Przygotowanie podłoża</div>
                <div class="step-toggle">▼</div>
            </div>
            <div class="step-content" style="max-height: 500px;">
                <div class="step-content-inner">
                    <p>Jak wspomniano, to warunek <strong>sine qua non</strong> (niezbędny). Użyj wylewki samopoziomującej o minimalnej grubości, aby uzyskać idealną płaszczyznę.</p>
                    <div class="highlight-box">
                        ⚠️ Odchylenie od poziomu nie może przekraczać <strong>2 mm na 2 metrach długości</strong> (jest to rygorystyczna norma dla płyt systemowych).
                    </div>
                </div>
            </div>
        </div>

        <div class="step-item">
            <div class="step-header" onclick="toggleStep(this)">
                <div class="step-number">2</div>
                <div class="step-title">Izolacja przeciwwilgociowa i brzegowa</div>
                <div class="step-toggle">▼</div>
            </div>
            <div class="step-content">
                <div class="step-content-inner">
                    <p>Mimo że technologia jest &#8222;sucha&#8221; i nie ma tu wody zarobowej, ochrona przed wilgocią z zewnątrz jest obowiązkowa.</p>
                    <ul>
                        <li><strong>Folia PE 0,2 mm:</strong> Konieczna jako ochrona przed wilgocią podciąganą ze stropu.</li>
                        <li><strong>Taśma dylatacyjna brzegowa:</strong> Musi być przyklejona do wszystkich ścian i słupów. Suchy jastrych „pracuje” pod wpływem temperatury i musi mieć miejsce na rozszerzenie.</li>
                    </ul>
                </div>
            </div>
        </div>

        <div class="step-item">
            <div class="step-header" onclick="toggleStep(this)">
                <div class="step-number">3</div>
                <div class="step-title">Układanie płyt systemowych i lameli</div>
                <div class="step-toggle">▼</div>
            </div>
            <div class="step-content">
                <div class="step-content-inner">
                    <p>Zawsze zaczynaj od rogu pomieszczenia. Wciskaj rurę grzewczą <strong>z wyczuciem</strong>. Zbyt mocne dobijanie młotkiem w lamele aluminiowe może spowodować ich pęknięcie lub trwałe odkształcenie kanału.</p>
                    <p>Unikaj cięcia <a href="https://projekt-ogrzewania.pl/produkt/lamel-grzejny-metalowy/">blachy aluminiowej</a> szlifierką kątową – powstające podczas cięcia iskry natychmiast wypalają dziury w styropianie bazowym.</p>
                </div>
            </div>
        </div>

        <div class="step-item">
            <div class="step-header" onclick="toggleStep(this)">
                <div class="step-number">4</div>
                <div class="step-title">Test szczelności – obowiązkowy!</div>
                <div class="step-toggle">▼</div>
            </div>
            <div class="step-content">
                <div class="step-content-inner">
                    <p>Przed przykryciem rur suchym jastrychem <strong>musisz</strong> przeprowadzić <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próbę ciśnieniową</a> instalacji.</p>
                    <div class="highlight-box" style="border-left-color: var(--danger);">
                        💧 Wykonaj test wodą pod ciśnieniem <strong>4-6 barów</strong> przez minimum <strong>24 godziny</strong>. Manometr musi być dobrze widoczny! Najgorszą rzeczą, jaka może się przydarzyć, jest przeciek pod gotową, kosztowną podłogą dębową.
                    </div>
                </div>
            </div>
        </div>

        <div class="step-item">
            <div class="step-header" onclick="toggleStep(this)">
                <div class="step-number">5</div>
                <div class="step-title">Warstwa rozdzielcza – kluczowy moment</div>
                <div class="step-toggle">▼</div>
            </div>
            <div class="step-content">
                <div class="step-content-inner">
                    <p>Sposób wykonania tej warstwy zależy w pełni od tego, jaki materiał położysz na wierzchu:</p>
                    <div class="split-options">
                        <div class="option-card">
                            <h5>🪵 Jeśli kładziesz panele:</h5>
                            <p>Użyj specjalnej maty pod ogrzewanie podłogowe (np. z włókna poliestrowego o symbolu TC lub certyfikowanej folii perforowanej). <strong>Nigdy</strong> nie używaj standardowej pianki PE!</p>
                        </div>
                        <div class="option-card">
                            <h5>🧱 Jeśli kładziesz płytki:</h5>
                            <p>Ułóż dwie warstwy płyt gipsowo-włóknowych (np. 2x 12,5 mm) na kleju systemowym. Skręć je wkrętami uważając, by nie przebić rur! Wymaga to znajomości planu pętli.</p>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class="step-item">
            <div class="step-header" onclick="toggleStep(this)">
                <div class="step-number">6</div>
                <div class="step-title">Wygrzewanie wstępne</div>
                <div class="step-toggle">▼</div>
            </div>
            <div class="step-content">
                <div class="step-content-inner">
                    <p>Przed położeniem ostatecznych płytek lub paneli z drewna, koniecznie należy przeprowadzić protokolarne wygrzanie wstępne wylewki suchej.</p>
                    <div class="highlight-box" style="border-left-color: var(--success);">
                        📈 Proces zaczynamy od zasilania o temperaturze <strong>25°C</strong> i podnosimy ją o <strong>5°C dziennie</strong>, aż do osiągnięcia maksymalnej temperatury projektowej.
                    </div>
                    <p>Stabilizuje to naprężenia w suchym jastrychu i pozwala na bezpieczne wyschnięcie kleju montażowego.</p>
                </div>
            </div>
        </div>

    </div>
</div>

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

// 2. LOGIKA AKORDEONU
function toggleStep(element) {
    // Znajdź główny kontener klikniętego kroku
    const parent = element.parentElement;
    const content = parent.querySelector('.step-content');
    
    // Jeśli kliknięto w już otwarty - zamknij go
    if (parent.classList.contains('active')) {
        parent.classList.remove('active');
        content.style.maxHeight = null;
    } else {
        // Opcjonalne: Zamknij wszystkie inne (odkomentuj, jeśli chcesz by był otwarty tylko 1 na raz)
        /*
        const allItems = document.querySelectorAll('.step-item');
        allItems.forEach(item => {
            item.classList.remove('active');
            item.querySelector('.step-content').style.maxHeight = null;
        });
        */
        
        // Otwórz kliknięty
        parent.classList.add('active');
        content.style.maxHeight = content.scrollHeight + "px";
    }
}
</script>



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

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

.concept-text-area {
    padding: 35px 40px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
    border-bottom: 1px solid var(--border-color);
}

.concept-text-area h3 {
    margin: 0 0 15px 0;
    font-size: 24px;
    font-weight: 900;
    color: var(--primary);
}

.concept-text-area p {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 15px;
}

.concept-text-area p:last-child {
    margin-bottom: 0;
}

.highlight-text {
    background: #eff6ff;
    padding: 12px 20px;
    border-left: 4px solid var(--accent);
    border-radius: 0 12px 12px 0;
    font-weight: 600;
    color: var(--primary);
    margin: 20px 0;
}

/* INTERAKTYWNA SYMULACJA */
.simulation-area {
    padding: 35px 40px;
    background: #ffffff;
}

.sim-title {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 800;
    color: #94a3b8;
    letter-spacing: 1px;
    margin-bottom: 25px;
    display: block;
    text-align: center;
}

.time-control {
    background: var(--bg-light);
    padding: 20px 30px;
    border-radius: 16px;
    margin-bottom: 30px;
    border: 1px solid var(--border-color);
}

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

.time-label {
    font-weight: 800;
    font-size: 16px;
    color: var(--primary);
}

.sun-status {
    font-size: 14px;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    transition: all 0.3s;
}

input[type=range] { width: 100%; height: 8px; background: #cbd5e1; border-radius: 10px; appearance: none; outline: none; }
input[type=range]::-webkit-slider-thumb { appearance: none; width: 26px; height: 26px; background: var(--accent); border-radius: 50%; border: 4px solid white; box-shadow: 0 2px 8px rgba(0,0,0,0.2); cursor: pointer; }

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

.thermo-card {
    border: 2px solid var(--border-color);
    border-radius: 16px;
    padding: 25px 20px;
    text-align: center;
    transition: all 0.3s;
    position: relative;
    overflow: hidden;
}

.thermo-card.dry { border-color: #bfdbfe; background: #f8fafc; }
.thermo-card.wet { border-color: #e2e8f0; }

.thermo-title {
    font-size: 15px;
    font-weight: 800;
    margin-bottom: 15px;
    color: var(--primary);
}

.temp-display {
    font-size: 42px;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 10px;
    transition: color 0.3s;
}

.temp-status {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.math-conclusion {
    padding: 25px 40px;
    background: #f8fafc;
    border-top: 1px solid var(--border-color);
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
}

.math-conclusion strong { color: var(--primary); }

@media (max-width: 768px) {
    .concept-text-area, .simulation-area, .math-conclusion { padding: 25px 20px; }
    .thermo-grid { grid-template-columns: 1fr; gap: 15px; }
    .time-control { padding: 20px; }
}
</style>

<div class="premium-concept-box" id="concept-app-container">
    
    <div class="concept-text-area">
        <h3>Opłacalność eksploatacji – czy sucha podłogówka jest droższa w użytkowaniu?</h3>
        <p>Istnieje mit, że system suchy zużywa więcej energii niż beton. <strong>To nieprawda.</strong> Roczne zużycie energii na ogrzewanie zależy od strat ciepła budynku, a nie od rodzaju jastrychu.</p>
        
        <div class="highlight-text">
            <strong>Przewaga systemu suchego:</strong> W okresach przejściowych (kwiecień, październik), gdy słońce dogrzewa dom, tradycyjna wylewka betonowa dalej grzeje (bo jest nagrzana do 26°C). Musimy otwierać okna, marnując ciepło.
        </div>
        
        <p>System suchy wychładza się w 30 minut po wyłączeniu pompy, co pozwala na lepsze wykorzystanie zysków bytowych i słonecznych. Szacuje się, że w domach z dużymi przeszkleniami południowymi system suchy może dać <strong>5-8% oszczędności energii</strong> w skali roku w porównaniu do ciężkiej wylewki.</p>
    </div>

    <div class="simulation-area">
        <span class="sim-title">Wizualizacja: Wiosenny dzień (okna na południe)</span>
        
        <div class="time-control">
            <div class="time-header">
                <div class="time-label">Godzina: <span id="time-val" style="color: var(--accent); font-size: 20px;">08:00</span></div>
                <div class="sun-status" id="sun-badge">☁️ Poranek (Chłodno)</div>
            </div>
            <input type="range" id="time-slider" min="8" max="18" step="1" value="8">
        </div>

        <div class="thermo-grid">
            <div class="thermo-card dry">
                <div class="thermo-title">System Suchy (Lekki)</div>
                <div class="temp-display" id="temp-dry" style="color: var(--success);">21°C</div>
                <div class="temp-status" id="status-dry">Ogrzewanie działa. Idealna temperatura.</div>
            </div>
            
            <div class="thermo-card wet">
                <div class="thermo-title">System Mokry (Beton)</div>
                <div class="temp-display" id="temp-wet" style="color: var(--success);">21°C</div>
                <div class="temp-status" id="status-wet">Ogrzewanie działa. Idealna temperatura.</div>
            </div>
        </div>
    </div>

    <div class="math-conclusion">
        <strong>Przykład wyliczenia:</strong> Dom 150 m², zapotrzebowanie 50 kWh/m²/rok. Koszt ogrzewania pompą ciepła to ok. 2500 zł rocznie. Oszczędność (8%) wynosi <strong>200 zł rocznie</strong>.<br><br>
        <strong>Czy warto?</strong> Różnica w cenie instalacji dla 150 m² wynosi ok. 15 000 zł na starcie. Zwrot z samych oszczędności energetycznych trwałby 75 lat. Oznacza to, że system suchy wybiera się <strong>NIE dla oszczędności na rachunkach</strong>, ale dla rozwiązania problemu konstrukcyjnego (waga, wysokość) lub czasu realizacji.
    </div>

</div>

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

    // LOGIKA SYMULACJI CZASU I TEMPERATURY
    const slider = document.getElementById("time-slider");
    const timeVal = document.getElementById("time-val");
    const sunBadge = document.getElementById("sun-badge");
    
    const tempDry = document.getElementById("temp-dry");
    const statusDry = document.getElementById("status-dry");
    
    const tempWet = document.getElementById("temp-wet");
    const statusWet = document.getElementById("status-wet");

    function updateSimulation() {
        const hour = parseInt(slider.value);
        timeVal.innerText = (hour < 10 ? "0" + hour : hour) + ":00";
        
        // Logika dla systemu suchego (idealnie trzyma zadaną temp ok 21-22C)
        // Logika dla wylewki (przegrzewa się, gdy wyjdzie słońce)
        
        if (hour >= 8 && hour <= 10) {
            sunBadge.innerHTML = "☁️ Poranek (Chłodno)";
            sunBadge.style.color = "#64748b";
            sunBadge.style.background = "#f1f5f9";
            
            tempDry.innerText = "21°C";
            tempDry.style.color = "var(--success)";
            statusDry.innerText = "Ogrzewanie włączone. Podłoga grzeje.";
            
            tempWet.innerText = "21°C";
            tempWet.style.color = "var(--success)";
            statusWet.innerText = "Ogrzewanie włączone. Wylewka się ładuje.";
        } 
        else if (hour >= 11 && hour <= 15) {
            sunBadge.innerHTML = "☀️ Silne słońce przez okna";
            sunBadge.style.color = "#b45309";
            sunBadge.style.background = "#fef3c7";
            
            tempDry.innerText = "22°C";
            tempDry.style.color = "var(--success)";
            statusDry.innerHTML = "Termostat wyłącza pompę. <strong>Podłoga natychmiast stygnie</strong>. Brak przegrzewania.";
            
            // Wylewka przegrzewa pokój
            let wetT = 21 + (hour - 10) * 1.5; 
            if(wetT > 25) wetT = 25; // max 25C
            
            tempWet.innerText = wetT + "°C";
            tempWet.style.color = "var(--danger)";
            statusWet.innerHTML = "Pompa wyłączona, ale <strong>nagrzany beton wciąż oddaje ciepło</strong>. Otwierasz okna by przewietrzyć!";
        }
        else if (hour > 15) {
            sunBadge.innerHTML = "🌙 Wieczór (Słońce zaszło)";
            sunBadge.style.color = "#4338ca";
            sunBadge.style.background = "#e0e7ff";
            
            tempDry.innerText = "21°C";
            tempDry.style.color = "var(--success)";
            statusDry.innerText = "Szybki start ogrzewania. Komfort zachowany.";
            
            tempWet.innerText = "22°C";
            tempWet.style.color = "var(--warning)";
            statusWet.innerText = "Temperatura powoli spada. Powolny rozruch wylewki.";
        }
    }

    slider.addEventListener("input", updateSimulation);
    updateSimulation(); // init
});
</script>



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

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

.summary-header {
    padding: 40px 40px 20px 40px;
    text-align: center;
}

.summary-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #1e293b;
    color: #ffffff;
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

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

.summary-header p {
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
    max-width: 750px;
    margin: 0 auto;
}

.summary-header p strong {
    color: var(--primary);
}

/* INTERAKTYWNE KARTY - 3 FILARY */
.pillars-container {
    padding: 10px 40px 30px 40px;
}

.pillars-title {
    text-align: center;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--accent);
    letter-spacing: 1px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.pillars-title::before, .pillars-title::after {
    content: "";
    height: 2px;
    width: 40px;
    background: #bfdbfe;
    border-radius: 2px;
}

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

.pillar-card {
    background: #ffffff;
    border: 2px solid var(--border-color);
    border-radius: 16px;
    padding: 30px 20px;
    text-align: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    cursor: default;
    z-index: 1;
}

.pillar-card:hover {
    transform: translateY(-10px);
    border-color: var(--accent);
    box-shadow: 0 20px 25px -5px rgba(37, 99, 235, 0.1), 0 10px 10px -5px rgba(37, 99, 235, 0.04);
    z-index: 2;
}

.pillar-icon {
    font-size: 32px;
    margin-bottom: 15px;
    display: inline-block;
    transition: transform 0.4s;
}

.pillar-card:hover .pillar-icon {
    transform: scale(1.15) rotate(5deg);
}

.pillar-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 10px;
}

.pillar-desc {
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
    margin: 0;
}

.pillar-card:hover .pillar-title {
    color: var(--accent);
}

.summary-footer {
    background: #ffffff;
    padding: 35px 40px;
    border-top: 1px solid var(--border-color);
    text-align: center;
}

.summary-footer p {
    font-size: 15px;
    line-height: 1.7;
    color: #334155;
    margin: 0;
    font-weight: 500;
}

.summary-footer p strong {
    color: var(--accent);
    font-weight: 800;
}

@media (max-width: 768px) {
    .summary-header { padding: 30px 20px 15px 20px; }
    .summary-header h3 { font-size: 24px; }
    .pillars-container { padding: 10px 20px 30px 20px; }
    .pillars-grid { grid-template-columns: 1fr; gap: 15px; }
    .pillar-card { padding: 25px 20px; }
    .pillar-card:hover { transform: translateY(-5px); }
    .summary-footer { padding: 25px 20px; }
}
</style>

<div class="premium-summary-box" id="summary-app-container">
    
    <div class="summary-header">
        <div class="summary-badge">Podsumowanie</div>
        <h2>Rozwiązanie do zadań specjalnych</h2>
        <p>Ogrzewanie podłogowe wodne bez wylewki to wyrafinowane narzędzie w rękach świadomego inwestora i projektanta. Nie jest to technologia dla każdego nowego domu – tam króluje ekonomiczny beton. Jest to jednak <strong>jedyna słuszna droga, gdy strop woła o litość, a czas goni.</strong></p>
    </div>

    <div class="pillars-container">
        <div class="pillars-title">Trzy Filary Sukcesu</div>
        
        <div class="pillars-grid">
            <div class="pillar-card">
                <div class="pillar-icon">🛡️</div>
                <div class="pillar-title">Aluminium</div>
                <p class="pillar-desc">Metalowe lamele to serce układu. Bez nich nie ma mowy o równomiernym rozprowadzaniu ciepła pod podłogą.</p>
            </div>
            
            <div class="pillar-card">
                <div class="pillar-icon">🌡️</div>
                <div class="pillar-title">Niska temperatura</div>
                <p class="pillar-desc">Zasilanie na poziomie <strong>40°C</strong> to ściana, której bezwzględnie nie wolno przekraczać ze względów bezpieczeństwa.</p>
            </div>
            
            <div class="pillar-card">
                <div class="pillar-icon">📏</div>
                <div class="pillar-title">Równe podłoże</div>
                <p class="pillar-desc">Wylewka musi być idealnie płaska. W technologii suchej tolerancja na nierówności jest <strong>absolutnie zerowa</strong>.</p>
            </div>
        </div>
    </div>

    <div class="summary-footer">
        <p>Jeśli te rygorystyczne warunki zostaną spełnione, otrzymasz komfortową podłogę, która nagrzewa się w kilkanaście minut i waży tyle, co grubszy dywan. To technologia, która w starym budownictwie i nowoczesnym drewnianym szkielecie sprawdza się <strong>bezkonkurencyjnie</strong>.</p>
    </div>

</div>

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



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

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

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

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

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

.myth-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    padding: 40px;
    background: #ffffff;
}

/* FLIP CARD STYLES */
.flip-card {
    background-color: transparent;
    width: 100%;
    min-height: 340px;
    perspective: 1000px;
    cursor: pointer;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.6s cubic-bezier(0.4, 0.2, 0.2, 1);
    transform-style: preserve-3d;
}

.flip-card.is-flipped .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border-radius: 20px;
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
    border: 2px solid transparent;
}

.flip-card-front {
    background-color: #fef2f2;
    border-color: #fecaca;
    color: var(--danger);
}

.flip-card-back {
    background-color: #f0fdf4;
    border-color: #bbf7d0;
    color: var(--success);
    transform: rotateY(180deg);
}

.card-icon {
    font-size: 42px;
    margin-bottom: 15px;
    line-height: 1;
}

.card-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 10px;
    opacity: 0.8;
}

.card-text {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    margin: 0;
}

.flip-card-back .card-title {
    color: var(--success);
}

.flip-card-back .card-text {
    font-size: 14px;
    font-weight: 500;
    color: #166534;
    line-height: 1.6;
}

.flip-hint {
    margin-top: 20px;
    font-size: 12px;
    font-weight: 700;
    background: rgba(255,255,255,0.8);
    padding: 6px 16px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.myth-summary {
    margin: 0 40px 40px 40px;
    padding: 30px;
    background: #eff6ff;
    border-radius: 20px;
    border-left: 6px solid var(--accent);
}

.myth-summary h4 {
    margin: 0 0 10px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--primary);
}

.myth-summary p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #334155;
}

@media (max-width: 900px) {
    .myth-grid { grid-template-columns: 1fr; gap: 20px; padding: 25px 20px; }
    .flip-card { min-height: 280px; }
    .myth-summary { margin: 0 20px 25px 20px; padding: 25px 20px; }
    .myth-header { padding: 25px 20px; }
}
</style>

<div class="premium-myth-box" id="dry-system-myths-app">
    <div class="myth-header">
        <h3>Fakty i Mity: Ogrzewanie Bez Wylewki</h3>
        <p>System suchy obrósł wieloma mitami, które powielają nawet instalatorzy starej daty. Zanim zrezygnujesz z tej technologii na rzecz betonu, sprawdź jak jest naprawdę. <strong>Kliknij kartę, aby poznać prawdę.</strong></p>
    </div>

    <div class="myth-grid">
        <div class="flip-card" onclick="this.classList.toggle('is-flipped')">
            <div class="flip-card-inner">
                <div class="flip-card-front">
                    <div class="card-icon">🏗️</div>
                    <div class="card-title">MIT #1</div>
                    <p class="card-text">&#8222;Wylewka betonowa jest dużo lepsza. Przecież można ją wylać nawet na stary, drewniany strop w kamienicy.&#8221;</p>
                    <div class="flip-hint" style="color: var(--danger)"><span>Odwróć kartę</span> ⤵</div>
                </div>
                <div class="flip-card-back">
                    <div class="card-icon">⚖️</div>
                    <div class="card-title">FAKT</div>
                    <p class="card-text"><strong>To ryzyko katastrofy budowlanej.</strong> Mokra wylewka to obciążenie rzędu 150-180 kg/m². W 50-metrowym mieszkaniu daje to 7,5 tony! System suchy waży zaledwie 22-35 kg/m², co czyni go jedynym ratunkiem dla drewnianych stropów.</p>
                </div>
            </div>
        </div>

        <div class="flip-card" onclick="this.classList.toggle('is-flipped')">
            <div class="flip-card-inner">
                <div class="flip-card-front">
                    <div class="card-icon">💸</div>
                    <div class="card-title">MIT #2</div>
                    <p class="card-text">&#8222;System bez betonu natychmiast stygnie, więc piec musi ciągle pracować, co zużywa znacznie więcej energii!&#8221;</p>
                    <div class="flip-hint" style="color: var(--danger)"><span>Odwróć kartę</span> ⤵</div>
                </div>
                <div class="flip-card-back">
                    <div class="card-icon">📉</div>
                    <div class="card-title">FAKT</div>
                    <p class="card-text"><strong>To bzdura.</strong> Zużycie energii zależy od strat ciepła budynku. Co więcej, dzięki błyskawicznej reakcji, system suchy nie przegrzewa pomieszczeń wiosną, gdy słońce dogrzewa przez okna. Daje to nawet 5-8% oszczędności na rachunkach!</p>
                </div>
            </div>
        </div>

        <div class="flip-card" onclick="this.classList.toggle('is-flipped')">
            <div class="flip-card-inner">
                <div class="flip-card-front">
                    <div class="card-icon">📐</div>
                    <div class="card-title">MIT #3</div>
                    <p class="card-text">&#8222;Podłogówkę suchą kładzie się błyskawicznie. Układam styropian z rurkami na starym stropie i gotowe.&#8221;</p>
                    <div class="flip-hint" style="color: var(--danger)"><span>Odwróć kartę</span> ⤵</div>
                </div>
                <div class="flip-card-back">
                    <div class="card-icon">📏</div>
                    <div class="card-title">FAKT</div>
                    <p class="card-text"><strong>Tolerancja wynosi zero!</strong> Podłoże musi być absolutnie równe (max. 2mm na 2m). Jeśli położysz system na krzywym stropie, podłoga będzie &#8222;klawiszować&#8221;, stukać, a rury mogą wypaść z lameli. Cienka wylewka samopoziomująca jest niemal zawsze niezbędna.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="myth-summary">
        <h4>Podsumowując – czy warto rezygnować z betonu?</h4>
        <p>Ogrzewanie bez wylewki to precyzyjna inżynieria. Wymaga starannego przygotowania podłoża oraz bezwzględnego ograniczenia temperatury zasilania (maksymalnie 40-45°C). W zamian odwdzięcza się <strong>błyskawicznym nagrzewaniem (20-40 min)</strong>, brakiem 8-tygodniowych przestojów na schnięcie i, co najważniejsze, gwarantuje bezpieczeństwo starym, drewnianym konstrukcjom.</p>
    </div>
</div>

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<div class="premium-questions" id="qa-dry-system-installer">
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [{
        "@type": "Question",
        "name": "Czy lamele aluminiowe są na pewno konieczne?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Absolutnie tak. Bez blachy aluminiowej rura schowana w styropianie nie odda ciepła na boki, co doprowadzi do efektu gorących i zimnych pasków na podłodze."
        }
      }, {
        "@type": "Question",
        "name": "Jak przygotujemy podłoże pod płyty systemowe?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tolerancja wynosi zero. Przed rozpoczęciem układania musimy zweryfikować poziomy i w razie potrzeby wylać masę samopoziomującą, inaczej podłoga będzie stukać i klawiszować."
        }
      }, {
        "@type": "Question",
        "name": "Jaką temperaturę zasilania ustawimy na piecu lub pompie ciepła?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Z uwagi na brak wylewki, która działa jak bufor, nie możemy przekroczyć 40-45°C. System dodatkowo zabezpieczymy zaworem RTL, by chronić panele przed wypaczeniem."
        }
      }, {
        "@type": "Question",
        "name": "Jaki podkład damy pod panele laminowane?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Zastosujemy specjalną, dedykowaną matę o minimalnym oporze cieplnym (np. certyfikowaną perforowaną). Zwykła pianka zablokowałaby przepływ ciepła."
        }
      }, {
        "@type": "Question",
        "name": "Kiedy i jak robimy próbę szczelności?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Zanim przykryjemy instalację suchym jastrychem lub warstwą wykończeniową, napełniamy ją wodą (lub sprężonym powietrzem) pod ciśnieniem 4-6 barów i zostawiamy na min. 24h z manometrem."
        }
      }]
    }
    </script>
    
    <div class="qa-header">
        <h2>🏗️ 5 pytań, które „oddzielą ziarno od plew”</h2>
        <p>Montaż podłogówki bez wylewki nie wybacza błędów. Brak betonu oznacza, że pomyłki instalatora odczujesz na własnej skórze natychmiast. Oto lista pytań weryfikacyjnych. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Opracowane przez inżynierów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="qa-list">
        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">1</span> „Czy lamele aluminiowe są na pewno konieczne?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„To tylko naciąganie na koszty. Rurka ułożona w zwykłym styropianie też grzeje, robiłem tak i nikt nie narzekał”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Absolutnie tak. Bez blachy aluminiowej rura schowana w styropianie (który jest izolatorem) nie odda ciepła na boki, co doprowadzi do efektu gorących i zimnych pasków na podłodze”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">2</span> „Jak przygotujemy podłoże pod płyty systemowe?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Położy się styropian, dociśnie suchym jastrychem, wejdą meble i jakoś się to uleży. Szkoda czasu na równanie”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Tolerancja wynosi zero. Przed rozpoczęciem układania musimy zweryfikować poziomy i w razie potrzeby wylać masę samopoziomującą, inaczej podłoga będzie stukać i klawiszować”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">3</span> „Jaką temperaturę zasilania ustawimy na pompie/piecu?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Ustawimy 50 stopni, żeby szybciej dom się nagrzewał, tak jak w normalnej wylewce”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Maksymalnie 40-45°C. System suchy nie ma betonu, ciepło idzie od razu w górę. Wyższa temperatura zniszczy panele i rozklei fugi. Musimy założyć zawór RTL”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">4</span> „Jaki podkład damy pod panele laminowane?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Zwykłą, tanią piankę poliuretanową albo matę wygłuszającą, żeby nie stukało. Nie ma znaczenia jaka”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Zastosujemy specjalną matę do podłogówki (np. perforowaną) o minimalnym oporze cieplnym. Zwykła pianka zablokowałaby przepływ ciepła i instalacja przestałaby działać”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">5</span> „Kiedy i jak robimy próbę szczelności?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Zła odpowiedź</div>
                    <p class="answer-text">„Próba jest do wylewek, jak przykrywamy to suchymi płytami, to nie trzeba. Odpalimy na koniec i zobaczymy”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Dobra odpowiedź</div>
                    <p class="answer-text">„Zanim przykryjemy instalację suchym jastrychem, napełniamy ją wodą pod ciśnieniem 4-6 barów i zostawiamy na min. 24h z manometrem. Musimy mieć 100% pewności”.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="red-flags-section">
        <div class="red-flags-header">
            <span style="font-size: 32px;">🚩</span>
            <h3>Czerwone flagi (Uciekaj, jeśli to usłyszysz!)</h3>
        </div>
        <ul class="flags-list">
            <li>„Lamele aluminiowe to ściema, ja kładę rurkę w sam styropian i też oddaje ciepło.” (Mit &#8211; instalacja z rurką w styropianie ma ułamek mocy nominalnej).</li>
            <li>„Opór cieplny paneli? Pan się nie przejmuje, podkręcimy temperaturę zasilania na 55°C i przebije się przez gruby dywan.”</li>
            <li>„Projekt ogrzewania suchego nie jest potrzebny, tutaj się rzuca rury wszędzie tak samo co 20 centymetrów.”</li>
        </ul>
    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x5c8f=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x71\x61\x2d\x64\x72\x79\x2d\x73\x79\x73\x74\x65\x6d\x2d\x69\x6e\x73\x74\x61\x6c\x6c\x65\x72','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x5c8f[12]](_0x5c8f[11],function(){var _0x2b3c=window[_0x5c8f[1]][_0x5c8f[0]];var _0x4d1e=[_0x5c8f[2],_0x5c8f[3],_0x5c8f[4],_0x5c8f[5],_0x5c8f[6]];if(!_0x4d1e[_0x5c8f[7]](_0x2b3c)){document[_0x5c8f[10]](_0x5c8f[8])[_0x5c8f[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-wodne-bez-wylewki/">Ogrzewanie podłogowe wodne bez wylewki.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Frezowanie ogrzewania podłogowego w starym domu.</title>
		<link>https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Tue, 07 Apr 2026 09:03:02 +0000</pubDate>
				<category><![CDATA[Budowa i remont]]></category>
		<category><![CDATA[Budowa i remonty]]></category>
		<category><![CDATA[Frezowanie posadzki]]></category>
		<category><![CDATA[Modernizacja instalacji]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady budowlane]]></category>
		<category><![CDATA[Porady dla domu]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Remont]]></category>
		<category><![CDATA[Remont domu]]></category>
		<category><![CDATA[Remont i modernizacja]]></category>
		<category><![CDATA[Remont starego domu]]></category>
		<category><![CDATA[Technologia budowlana]]></category>
		<category><![CDATA[Technologia w budownictwie]]></category>
		<category><![CDATA[Technologie budowlane]]></category>
		<category><![CDATA[bezpyłowe frezowanie]]></category>
		<category><![CDATA[frezowanie betonu]]></category>
		<category><![CDATA[frezowanie podłogówki]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[koszty frezowania]]></category>
		<category><![CDATA[modernizacja ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[podłogówka w starym domu]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[remont]]></category>
		<category><![CDATA[remont starego domu]]></category>
		<category><![CDATA[stara wylewka]]></category>
		<category><![CDATA[system suchy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4152</guid>

					<description><![CDATA[<p>Remont starego budynku często wiąże się z trudnymi decyzjami, a jedną z najważniejszych jest wybór odpowiedniego systemu grzewczego. Wiele osób marzy o komfortowej, ciepłej podłodze, jednak przeraża je wizja skuwania starych wylewek, wywożenia ton gruzu i drastycznego podnoszenia poziomu posadzki, co niesie za sobą konieczność przerabiania progów czy skracania drzwi. Na szczęście istnieje nowoczesna, znacznie mniej inwazyjna alternatywa. Frezowanie ogrzewania podłogowego w starym domu to innowacyjna metoda, która pozwala ukryć rury grzewcze bezpośrednio w istniejącym już betonie. W tym obszernym poradniku przyjrzymy się z bliska, jak krok po kroku przebiega ten proces. Sprawdzimy, z jakimi realnymi kosztami musisz się liczyć, czy prace faktycznie przebiegają bezpyłowo oraz w jakich sytuacjach ta technologia sprawdzi się najlepiej.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/">Frezowanie ogrzewania podłogowego w starym domu.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-intro-dark: #082f49; /* Głęboki granat */
    --rk-intro-brand: #06b6d4; /* Techniczny cyjan */
    --rk-intro-brand-light: #cffafe;
    --rk-intro-accent: #f43f5e; /* Róż/Czerwień do pokazania "starego" */
    --rk-intro-bg: #f8fafc;
    --rk-intro-card: #ffffff;
    --rk-intro-text: #334155;
    --rk-intro-border: #e2e8f0;
}

.rk-intro-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-intro-card);
    border-radius: 20px;
    box-shadow: 0 15px 35px -10px rgba(8, 47, 73, 0.15);
    border: 1px solid rgba(6, 182, 212, 0.3);
    overflow: hidden;
}

/* Sekcja Wprowadzająca (Header & Text) */
.rk-intro-header {
    background: linear-gradient(145deg, var(--rk-intro-dark) 0%, #0f172a 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
}

.rk-intro-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--rk-intro-brand) 0%, #3b82f6 100%);
}

.rk-intro-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(6, 182, 212, 0.2);
    color: #22d3ee;
    padding: 6px 16px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    border: 1px solid rgba(34, 211, 238, 0.3);
}

.rk-intro-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
    color: #ffffff;
}

.rk-intro-paragraph {
    font-size: 16px;
    line-height: 1.8;
    color: #cbd5e1;
    margin: 0;
}

.rk-intro-paragraph strong {
    color: #ffffff;
    font-weight: 700;
}

.rk-intro-link {
    color: var(--rk-intro-brand);
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-intro-brand);
    transition: all 0.3s;
}

.rk-intro-link:hover {
    color: #67e8f9;
    border-bottom-style: solid;
}

/* Moduł Interaktywny */
.rk-intro-interactive {
    padding: 40px 50px;
    background: var(--rk-intro-bg);
}

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

.rk-sim-btn {
    flex: 1;
    max-width: 250px;
    padding: 16px 20px;
    border: 2px solid var(--rk-intro-border);
    background: #ffffff;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-intro-text);
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-sim-btn:hover {
    border-color: #cbd5e1;
    background: #f1f5f9;
}

.rk-sim-btn.active[data-mode="old"] {
    border-color: var(--rk-intro-accent);
    background: #fff1f2;
    color: #9f1239;
    box-shadow: 0 10px 20px -5px rgba(244, 63, 94, 0.15);
}

.rk-sim-btn.active[data-mode="new"] {
    border-color: var(--rk-intro-brand);
    background: var(--rk-intro-brand-light);
    color: var(--rk-intro-dark);
    box-shadow: 0 10px 20px -5px rgba(6, 182, 212, 0.2);
}

/* Ekran Symulatora (Grid: Lewo animacja, Prawo parametry) */
.rk-sim-screen {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 30px;
    background: #ffffff;
    border: 1px solid var(--rk-intro-border);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.02);
}

/* Część wizualna (SVG) */
.rk-sim-visual {
    background: var(--rk-intro-dark);
    border-radius: 12px;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    height: 100%;
    min-height: 180px;
}

.rk-svg-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.rk-svg-layer.hidden {
    opacity: 0;
    pointer-events: none;
    transform: scale(0.95);
}

/* Animacje SVG - Kucie (Old) */
.anim-shake { animation: jackhammer 0.1s infinite; transform-origin: bottom center; }
.anim-debris { animation: flyDebris 1s infinite linear; }
@keyframes jackhammer { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } }
@keyframes flyDebris { 0% { transform: translate(0,0) rotate(0deg); opacity: 1; } 100% { transform: translate(30px, -30px) rotate(180deg); opacity: 0; } }

/* Animacje SVG - Frezowanie (New) - NAPRAWIONY SKACZĄCY EFEKT */
.anim-spin { 
    animation: spinBlade 0.8s linear infinite; 
    /* Sztywny matematyczny środek obrotu dla cx=0 cy=0 */
    transform-origin: 0px 0px; 
    transform-box: fill-box;
}
.anim-cut-line { stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset 2s ease-out; }
.rk-sim-btn.active[data-mode="new"] ~ .rk-sim-screen .anim-cut-line { stroke-dashoffset: 0; }
@keyframes spinBlade { 
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); } 
}

/* Część z parametrami (Grid) */
.rk-param-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.rk-param-box {
    background: var(--rk-intro-bg);
    padding: 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-intro-border);
    transition: all 0.3s;
}

.rk-param-label {
    font-size: 13px;
    color: #64748b;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.rk-param-value {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.rk-param-value.alert { color: var(--rk-intro-accent); }
.rk-param-value.success { color: var(--rk-intro-brand); }

/* Opisy pod kafelkami */
.rk-sim-desc {
    grid-column: 1 / -1;
    font-size: 14px;
    color: var(--rk-intro-text);
    line-height: 1.6;
    margin-top: 10px;
    padding-top: 20px;
    border-top: 1px solid var(--rk-intro-border);
}

@media (max-width: 768px) {
    .rk-intro-header, .rk-intro-interactive { padding: 30px 25px; }
    .rk-sim-controls { flex-direction: column; }
    .rk-sim-btn { max-width: 100%; }
    .rk-sim-screen { grid-template-columns: 1fr; }
    .rk-sim-visual { min-height: 150px; }
    .rk-param-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-intro-title { font-size: 24px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Frezowanie ogrzewania podłogowego – Bezpyłowa technologia modernizacji",
    "description": "Przełom w inżynierii instalacyjnej. Technologia wycinania kanałów pod rury grzewcze eliminuje potrzebę skuwania wylewek i radykalnie zmniejsza bezwładność cieplną.",
    "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-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-tech-compare",
    "name": "Analiza porównawcza: Frezowanie vs Kucie starej wylewki",
    "description": "Zestawienie parametrów operacyjnych i czasowych dla procesu modernizacji systemu grzewczego na układ niskotemperaturowy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "frezowanie ogrzewania podłogowego",
      "podłogówka bez kucia jastrychu",
      "redukcja bezwładności cieplnej",
      "bezpyłowa technologia grzewcza",
      "modernizacja pod pompę ciepła"
    ],
    "measurementTechnique": "Analiza czasowo-kosztowa i termiczna na podstawie realizacji instalatorskich.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Metoda tradycyjna: Wymaga skuwania, generuje gruz, czas nagrzewania ok. 4 godzin.",
        "Metoda bezpyłowa (frezowanie): Brak gruzu, rury w nacięciach, czas nagrzewania poniżej 45 minut."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-simulator",
    "name": "Symulator Modernizacji Podłogi",
    "description": "Narzędzie pozwalające przełączać i porównywać inżynierskie parametry kucia starej wylewki z innowacyjną technologią frezowania diamentowego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="rk-tech-compare-app">
    <div class="rk-intro-header">
        <div class="rk-intro-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 20V10"></path><path d="M18 20V4"></path><path d="M6 20v-4"></path></svg>
            Technologia
        </div>
        <h2 class="rk-intro-title">Frezowanie ogrzewania podłogowego w starym domu</h2>
        <p class="rk-intro-paragraph">
            To <strong>bezpyłowa technologia modernizacji instalacji grzewczej</strong>, polegająca na wycinaniu kanałów montażowych bezpośrednio w istniejącym podłożu betonowym lub anhydrytowym w celu ułożenia rur grzewczych bez podnoszenia poziomu podłogi. 
        </p>
        <p class="rk-intro-paragraph" style="margin-top: 15px;">
            Metoda ta pozwala na <a href="https://projekt-ogrzewania.pl/zalety-ogrzewania-podlogowego-w-porownaniu-do-tradycyjnych-grzejnikow/" class="rk-intro-link">eliminację tradycyjnych grzejników wysokotemperaturowych</a> w budynkach poddawanych termomodernizacji, umożliwiając efektywną współpracę z pompami ciepła. Rozwiązanie to drastycznie skraca czas remontu, <strong>redukuje bezwładność cieplną układu</strong> i eliminuje konieczność kłopotliwego skuwania starych wylewek, co stanowi przełom w inżynierii instalacyjnej dla obiektów poddawanych remontom kapitalnym.
        </p>
    </div>

    <div class="rk-intro-interactive">
        <div class="rk-sim-controls">
            <button class="rk-sim-btn" data-mode="old" onclick="rkSwitchTech('old')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
                Tradycyjne Kucie
            </button>
            <button class="rk-sim-btn active" data-mode="new" onclick="rkSwitchTech('new')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><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>
                Frezowanie Bezpyłowe
            </button>
        </div>

        <div class="rk-sim-screen">
            <div class="rk-sim-visual">
                <svg id="rk-svg-old" class="rk-svg-layer hidden" viewBox="0 0 100 100">
                    <rect x="10" y="70" width="80" height="20" fill="#475569" rx="2"/>
                    <path d="M 30 70 L 40 90 M 50 70 L 60 90 M 70 70 L 55 90" stroke="#1e293b" stroke-width="3" stroke-linecap="round"/>
                    <g class="anim-shake">
                        <path d="M 45 30 L 55 30 L 52 70 L 48 70 Z" fill="#94a3b8"/>
                        <rect x="40" y="20" width="20" height="10" fill="#f43f5e" rx="2"/>
                        <rect x="35" y="10" width="30" height="10" fill="#334155" rx="2"/>
                    </g>
                    <circle class="anim-debris" cx="50" cy="70" r="3" fill="#cbd5e1"/>
                    <circle class="anim-debris" cx="55" cy="70" r="2" fill="#cbd5e1" style="animation-delay: 0.2s;"/>
                    <circle class="anim-debris" cx="45" cy="70" r="4" fill="#64748b" style="animation-delay: 0.4s;"/>
                </svg>

                <svg id="rk-svg-new" class="rk-svg-layer" viewBox="0 0 100 100">
                    <rect x="10" y="70" width="80" height="20" fill="#cbd5e1" rx="2"/>
                    <path class="anim-cut-line" d="M 10 70 L 90 70" fill="none" stroke="#f8fafc" stroke-width="8" stroke-linecap="square"/>
                    <path class="anim-cut-line" d="M 10 75 L 90 75" fill="none" stroke="#06b6d4" stroke-width="4" stroke-linecap="square" style="transition-delay: 0.2s;"/>
                    
                    <g transform="translate(50, 60)">
                        <g class="anim-spin">
                            <circle cx="0" cy="0" r="25" fill="none" stroke="#06b6d4" stroke-width="6" stroke-dasharray="15.7 15.7"/>
                            <circle cx="0" cy="0" r="8" fill="#082f49"/>
                            <circle cx="0" cy="0" r="3" fill="#ffffff"/>
                        </g>
                        <path d="M -35 0 C -35 -25 -15 -35 0 -35 L 0 -10 Z" fill="#334155" opacity="0.9"/>
                        <rect x="-35" y="-60" width="12" height="40" fill="#475569" rx="2"/>
                    </g>
                </svg>
            </div>

            <div class="rk-param-data">
                <div class="rk-param-grid" id="rk-data-old" style="display: none;">
                    <div class="rk-param-box">
                        <div class="rk-param-label">Gruz i Pył</div>
                        <div class="rk-param-value alert">~150 kg/m²</div>
                    </div>
                    <div class="rk-param-box">
                        <div class="rk-param-label">Bezwładność po wylaniu</div>
                        <div class="rk-param-value alert">> 4 godziny</div>
                    </div>
                    <div class="rk-param-box">
                        <div class="rk-param-label">Wysokość posadzki</div>
                        <div class="rk-param-value alert">+ 65 mm</div>
                    </div>
                    <div class="rk-param-box">
                        <div class="rk-param-label">Ryzyko inwestycyjne</div>
                        <div class="rk-param-value alert">Wysokie</div>
                    </div>
                    <div class="rk-sim-desc">
                        Decyzja o <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-remontowanym-budynku-czy-warto/" class="rk-intro-link">rozkuwaniu starych wylewek</a> wiąże się z ogromnym nakładem pracy, potężną ilością gruzu i często nieoczekiwanymi kosztami po zerwaniu podłoża (np. uszkodzeniem rur kanalizacyjnych).
                    </div>
                </div>

                <div class="rk-param-grid" id="rk-data-new">
                    <div class="rk-param-box">
                        <div class="rk-param-label">Gruz i Pył</div>
                        <div class="rk-param-value success">Brak (Odciąg)</div>
                    </div>
                    <div class="rk-param-box">
                        <div class="rk-param-label">Czas stabilizacji ciepła</div>
                        <div class="rk-param-value success">< 45 minut</div>
                    </div>
                    <div class="rk-param-box">
                        <div class="rk-param-label">Podniesienie podłogi</div>
                        <div class="rk-param-value success">0 mm</div>
                    </div>
                    <div class="rk-param-box">
                        <div class="rk-param-label">Wydajność dla Pompy Ciepła</div>
                        <div class="rk-param-value success">Maksymalna</div>
                    </div>
                    <div class="rk-sim-desc">
                        Kanały nacinane są tarczą diamentową z odsysaniem urobku. Cienkowarstwowe przykrycie rury (<a href="https://projekt-ogrzewania.pl/ile-czasu-nagrzewa-sie-podlogowka/" class="rk-intro-link">drastyczny spadek bezwładności</a>) sprawia, że podłoga reaguje na sygnał z termostatu błyskawicznie, jak w systemach lekkich suchych.
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
// 1. Zabezpieczenie przed kradzieżą (bez H2/H3 w alercie)
document.addEventListener('DOMContentLoaded', function() {
    var loc = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (allowedDomains.indexOf(loc) === -1) {
        var wrap = document.getElementById('rk-tech-compare-app');
        if (wrap) {
            wrap.innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#f43f5e; border-radius:20px; border: 2px solid #f43f5e; font-weight:800; font-family:sans-serif;">Wykryto naruszenie licencji. Kod udostępniony wyłącznie dla domeny projekt-ogrzewania.pl.</div>';
        }
    }
});

// 2. Logika przełączania symulatora
function rkSwitchTech(mode) {
    // Buttons
    var btns = document.querySelectorAll('.rk-sim-btn');
    btns.forEach(function(btn) { btn.classList.remove('active'); });
    document.querySelector('.rk-sim-btn[data-mode="' + mode + '"]').classList.add('active');

    // SVG
    document.getElementById('rk-svg-old').classList.add('hidden');
    document.getElementById('rk-svg-new').classList.add('hidden');
    
    // Data Grids
    document.getElementById('rk-data-old').style.display = 'none';
    document.getElementById('rk-data-new').style.display = 'none';

    // Activate selected
    if (mode === 'old') {
        document.getElementById('rk-svg-old').classList.remove('hidden');
        document.getElementById('rk-data-old').style.display = 'grid';
    } else {
        // Mały delay na reset animacji rysowania rury (stroke-dashoffset)
        var newSvg = document.getElementById('rk-svg-new');
        newSvg.classList.remove('hidden');
        var line = newSvg.querySelector('.anim-cut-line');
        if(line) {
            line.style.transition = 'none';
            line.style.strokeDashoffset = '100';
            setTimeout(function() {
                line.style.transition = 'stroke-dashoffset 2s ease-out';
                line.style.strokeDashoffset = '0';
            }, 50);
        }
        document.getElementById('rk-data-new').style.display = 'grid';
    }
}
</script>



<style>
:root {
    --rk-diag-dark: #111827;
    --rk-diag-card: #ffffff;
    --rk-diag-brand: #3b82f6; /* Inżynierski niebieski */
    --rk-diag-success: #10b981; /* Bezpieczna wylewka */
    --rk-diag-warning: #f59e0b; /* Wylewka na styk */
    --rk-diag-danger: #ef4444; /* Krytycznie cienka */
    --rk-diag-bg: #f3f4f6;
    --rk-diag-text: #374151;
    --rk-diag-border: #e5e7eb;
}

.rk-diag-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-diag-card);
    border-radius: 20px;
    box-shadow: 0 15px 35px -5px rgba(17, 24, 39, 0.1);
    border: 1px solid rgba(59, 130, 246, 0.2);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-diag-header {
    background: var(--rk-diag-dark);
    background-image: radial-gradient(circle at top right, #1f2937 0%, transparent 50%);
    padding: 40px 50px 30px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-diag-brand);
}

.rk-diag-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(59, 130, 246, 0.2);
    color: #93c5fd;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
    border: 1px solid rgba(147, 197, 253, 0.2);
}

.rk-diag-title {
    font-size: 26px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 15px 0;
}

.rk-diag-title span { color: var(--rk-diag-brand); }

.rk-diag-intro {
    font-size: 15px;
    line-height: 1.8;
    color: #9ca3af;
    margin: 0;
}

.rk-diag-intro strong {
    color: #f3f4f6;
    font-weight: 700;
}

.rk-diag-link {
    color: #60a5fa;
    text-decoration: none;
    border-bottom: 1px dashed #60a5fa;
    transition: all 0.3s;
}

.rk-diag-link:hover {
    color: #93c5fd;
    border-bottom-style: solid;
}

/* Moduł Interaktywny (Symulator) */
.rk-diag-interactive {
    padding: 40px 50px;
    background: var(--rk-diag-bg);
}

.rk-diag-sim-wrapper {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 30px;
    background: #ffffff;
    border: 1px solid var(--rk-diag-border);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}

/* SVG Wizualizacja */
.rk-diag-visual {
    background: #f8fafc;
    border-radius: 12px;
    padding: 20px;
    border: 2px dashed #cbd5e1;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 220px;
    overflow: hidden;
}

.rk-diag-svg {
    width: 100%;
    height: 100%;
    max-width: 300px;
}

/* Elementy SVG z CSS Transitions */
.svg-screed-bottom { transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); }
.svg-crack { opacity: 0; transition: opacity 0.3s; stroke-dasharray: 50; stroke-dashoffset: 50; }
.svg-blade { animation: spinBladeDiag 1s linear infinite; transform-origin: 50px 30px; transform-box: fill-box; }
.svg-measure-text { font-family: monospace; font-weight: bold; font-size: 12px; transition: fill 0.3s; }
.svg-measure-line { transition: stroke 0.3s; }

@keyframes spinBladeDiag { to { transform: rotate(360deg); } }
@keyframes drawCrack { to { stroke-dashoffset: 0; } }

/* Stany Symulatora (Kontrolowane przez klasę rodzica) */
/* 1. Danger (< 30mm) */
#rk-sim-core.state-danger .svg-screed-bottom { transform: translateY(-20px); }
#rk-sim-core.state-danger .svg-crack { opacity: 1; animation: drawCrack 0.5s 0.6s forwards; }
#rk-sim-core.state-danger .svg-measure-text { fill: var(--rk-diag-danger); }
#rk-sim-core.state-danger .svg-measure-line { stroke: var(--rk-diag-danger); }
#rk-sim-core.state-danger .rk-diag-visual { border-color: var(--rk-diag-danger); background: #fef2f2; }

/* 2. Warning (35mm) */
#rk-sim-core.state-warning .svg-screed-bottom { transform: translateY(-10px); }
#rk-sim-core.state-warning .svg-measure-text { fill: var(--rk-diag-warning); }
#rk-sim-core.state-warning .svg-measure-line { stroke: var(--rk-diag-warning); }
#rk-sim-core.state-warning .rk-diag-visual { border-color: var(--rk-diag-warning); background: #fffbeb; }

/* 3. Success (> 50mm) */
#rk-sim-core.state-success .svg-screed-bottom { transform: translateY(10px); }
#rk-sim-core.state-success .svg-measure-text { fill: var(--rk-diag-success); }
#rk-sim-core.state-success .svg-measure-line { stroke: var(--rk-diag-success); }
#rk-sim-core.state-success .rk-diag-visual { border-color: var(--rk-diag-success); background: #ecfdf5; }

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

.rk-diag-btn {
    width: 100%;
    padding: 16px 20px;
    border: 2px solid var(--rk-diag-border);
    background: #ffffff;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-diag-text);
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-diag-btn:hover { background: #f8fafc; border-color: #cbd5e1; }

.rk-diag-btn.active[data-state="danger"] { border-color: var(--rk-diag-danger); background: #fef2f2; color: #991b1b; }
.rk-diag-btn.active[data-state="warning"] { border-color: var(--rk-diag-warning); background: #fffbeb; color: #92400e; }
.rk-diag-btn.active[data-state="success"] { border-color: var(--rk-diag-success); background: #ecfdf5; color: #065f46; }

.rk-sim-feedback {
    margin-top: 15px;
    padding: 15px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.6;
    display: none;
}

#rk-sim-core.state-danger .feedback-danger { display: block; background: #fee2e2; color: #991b1b; border-left: 4px solid var(--rk-diag-danger); }
#rk-sim-core.state-warning .feedback-warning { display: block; background: #fef3c7; color: #92400e; border-left: 4px solid var(--rk-diag-warning); }
#rk-sim-core.state-success .feedback-success { display: block; background: #d1fae5; color: #065f46; border-left: 4px solid var(--rk-diag-success); }

/* Kafelki Informacyjne */
.rk-diag-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 0 50px 40px;
}

.rk-diag-box {
    background: #ffffff;
    border: 1px solid var(--rk-diag-border);
    padding: 25px;
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-diag-box h4 {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-diag-dark);
    margin: 0 0 12px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-diag-box h4 svg { color: var(--rk-diag-brand); }
.rk-diag-box p { font-size: 13px; line-height: 1.6; color: #4b5563; margin: 0; }

@media (max-width: 768px) {
    .rk-diag-header, .rk-diag-interactive { padding: 30px 20px; }
    .rk-diag-sim-wrapper { grid-template-columns: 1fr; padding: 20px; }
    .rk-diag-grid { grid-template-columns: 1fr; padding: 0 20px 30px; gap: 15px; }
    .rk-diag-visual { min-height: 180px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-wylewka-test",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Czy istniejąca wylewka nadaje się pod frezowanie? Wymagania techniczne",
    "description": "Poznaj inżynieryjne wytyczne dotyczące grubości (min. 35 mm) i klasy betonu (C12/15) dla bezpiecznego frezowania podłogówki w starym domu.",
    "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-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-nośność",
    "name": "Wymagania nośności i geometrii jastrychu dla frezowania (PN-EN 13813)",
    "description": "Parametry graniczne określające przydatność istniejącej wylewki betonowej i anhydrytowej pod instalacje płaszczyznowe w technologii bezpyłowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "minimalna grubość wylewki pod frezowanie",
      "klasa betonu c12/15 pn-en 13813",
      "badanie sklerometryczne młotkiem schmidta",
      "nośność jastrychu frezowanego",
      "odkrywki kontrolne wylewki"
    ],
    "measurementTechnique": "Analiza sklerometryczna wytrzymałości betonu (klasa C12/15) oraz punktowe pomiary geometryczne w celu zagwarantowania 15 mm nienaruszonej warstwy monolitycznej pod wyfrezowanym kanałem.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Grubość krytyczna: Poniżej 30 mm bezwzględny zakaz frezowania.",
        "Grubość normatywna: 35 mm całkowitej grubości, zapewniająca 15 mm buforu bezpieczeństwa nad warstwą chudego betonu lub styropianu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-screed-test",
    "name": "Symulator Przekroju i Nośności Wylewki",
    "description": "Interaktywne narzędzie edukacyjne obrazujące ryzyko uszkodzenia i pękania jastrychu w zależności od wyjściowej grubości podłoża podczas cięcia na głębokość 20 mm.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-diag-container" id="rk-screed-check-app">
    <div class="rk-diag-header">
        <div class="rk-diag-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
            Analiza Podłoża
        </div>
        <h2 class="rk-diag-title">Czy istniejąca wylewka nadaje się pod frezowanie?</h2>
        <p class="rk-diag-intro">
            W starym budownictwie wylewka nadaje się pod frezowanie, pod warunkiem że jej <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/" class="rk-diag-link">całkowita grubość wynosi minimum 35 mm</a>, a wytrzymałość na ściskanie odpowiada klasie co najmniej <strong>C12/15 (norma PN-EN 13813)</strong>. Kanały pod rury nacinane są zazwyczaj na 20–22 mm, więc pod dnem musi zostać <strong>minimum 15 mm nienaruszonej warstwy</strong>, by zapobiec pękaniu.
        </p>
    </div>

    <div class="rk-diag-interactive">
        <div id="rk-sim-core" class="rk-diag-sim-wrapper state-success">
            <div class="rk-diag-visual">
                <svg class="rk-diag-svg" viewBox="0 0 100 100">
                    <rect x="10" y="80" width="80" height="20" fill="#d1d5db"/>
                    <path d="M 10 80 L 90 80" stroke="#9ca3af" stroke-width="2" stroke-dasharray="2 2"/>
                    
                    <g class="svg-screed-bottom">
                        <rect x="10" y="30" width="80" height="50" fill="#e5e7eb"/>
                        <path d="M 10 30 L 90 30" stroke="#cbd5e1" stroke-width="2"/>
                        <path d="M 40 30 L 40 50 L 60 50 L 60 30" fill="#f8fafc" stroke="#cbd5e1" stroke-width="2"/>
                        
                        <path class="svg-crack" d="M 42 50 L 38 65 L 45 80 M 58 50 L 62 60 L 55 80" fill="none" stroke="#ef4444" stroke-width="2" stroke-linecap="round"/>
                        
                        <line class="svg-measure-line" x1="65" y1="50" x2="65" y2="80" stroke="#10b981" stroke-width="2" stroke-dasharray="2 2"/>
                        <text class="svg-measure-text" x="70" y="68" fill="#10b981">BUFOR</text>
                    </g>
                    
                    <rect x="10" y="28" width="80" height="2" fill="#9ca3af"/>
                    
                    <g class="svg-blade">
                        <circle cx="50" cy="30" r="18" fill="none" stroke="#374151" stroke-width="4" stroke-dasharray="10 4"/>
                        <circle cx="50" cy="30" r="4" fill="#374151"/>
                    </g>
                </svg>
            </div>

            <div class="rk-diag-controls">
                <h3 style="margin: 0 0 10px; font-size: 15px; color: var(--rk-diag-dark);">Symulacja cięcia (głębokość 20 mm)</h3>
                
                <button class="rk-diag-btn active" data-state="success" onclick="rkSetThickness('success')">
                    Grubość 50+ mm (Optymalna) <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>
                </button>
                <button class="rk-diag-btn" data-state="warning" onclick="rkSetThickness('warning')">
                    Grubość ~35 mm (Minimum) <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><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>
                </button>
                <button class="rk-diag-btn" data-state="danger" onclick="rkSetThickness('danger')">
                    Grubość < 30 mm (Krucha) <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
                </button>

                <div class="rk-sim-feedback feedback-success">
                    <strong>Bezpieczny zapas!</strong> Ostrze diamentowe swobodnie nacina beton. Pozostała warstwa (bufor) w pełni chroni ułożoną rurę i zapewnia nośność stropu.
                </div>
                <div class="rk-sim-feedback feedback-warning">
                    <strong>Wymaga ostrożności.</strong> Pozostaje minimalny bufor 15 mm. Należy bezwzględnie sprawdzić, czy pod wylewką nie ma pustek lub luźnego piasku.
                </div>
                <div class="rk-sim-feedback feedback-danger">
                    <strong>Ryzyko zniszczenia!</strong> Frezarka przebija wylewkę na wylot lub uszkadza folię. Brak bufora nośnego powoduje zapadanie się rur i łamanie jastrychu pod ciężarem mebli.
                </div>
            </div>
        </div>
    </div>

    <div class="rk-diag-grid">
        <div class="rk-diag-box">
            <h4><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="2" width="20" height="20" rx="2" ry="2"></rect><line x1="8" y1="2" x2="8" y2="22"></line><line x1="16" y1="2" x2="16" y2="22"></line></svg> Młotek Schmidta</h4>
            <p>
                Weryfikacja przydatności podłoża powinna być przeprowadzona za pomocą sklerometru. Rozwarstwiony lub kruchy jastrych dyskwalifikuje obiekt z frezowania do czasu iniekcji żywicami.
            </p>
        </div>
        <div class="rk-diag-box">
            <h4><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><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> Odkrywki kontrolne</h4>
            <p>
                Starsze budynki mają nierówną grubość posadzek. Odkrywki należy wykonywać w strefach brzegowych i środkowych. Natrafienie maszyny na piasek powoduje wstrzymanie prac.
            </p>
        </div>
        <div class="rk-diag-box">
            <h4><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg> Zbrojenie Teriva</h4>
            <p>
                Nacięcie cienkiej siatki przeciwskurczowej (do 3 mm) nie jest destrukcyjne. Jednak <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" style="color:var(--rk-diag-brand); font-weight:700;">błędem wykonawczym</a> jest cięcie prętów konstrukcyjnych w stropach gęstożebrowych.
            </p>
        </div>
    </div>
</div>

<script>
// 1. Zabezpieczenie na poziomie domeny (Bez elementów H2/H3 w Alercie)
document.addEventListener('DOMContentLoaded', function() {
    var h = window.location.hostname;
    var a = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (a.indexOf(h) === -1) {
        var box = document.getElementById('rk-screed-check-app');
        if (box) {
            box.innerHTML = '<div style="padding:40px; text-align:center; background:#111827; color:#ef4444; border-radius:20px; border:2px solid #ef4444; font-family:sans-serif;"><strong>Błąd weryfikacji.</strong> Skrypt symulatora przypisany jest wyłącznie do autoryzowanej domeny projekt-ogrzewania.pl.</div>';
        }
    }
});

// 2. Logika przełączania symulatora
function rkSetThickness(stateClass) {
    var core = document.getElementById('rk-sim-core');
    
    // Reset klas głównych
    core.classList.remove('state-success', 'state-warning', 'state-danger');
    
    // Dodaj nową klasę do wrappera (steruje to całym CSSem, SVG i komunikatami)
    core.classList.add('state-' + stateClass);

    // Zmiana aktywnych przycisków
    var btns = document.querySelectorAll('.rk-diag-btn');
    btns.forEach(function(btn) { btn.classList.remove('active'); });
    document.querySelector('.rk-diag-btn[data-state="' + stateClass + '"]').classList.add('active');
}
</script>



<style>
:root {
    --rk-price-dark: #064e3b; /* Głęboka zieleń budżetowa */
    --rk-price-brand: #10b981; /* Szmaragd */
    --rk-price-accent: #b45309; /* Ciepłe złoto / miedź instalacyjna */
    --rk-price-bg: #f8fafc;
    --rk-price-card: #ffffff;
    --rk-price-text: #334155;
    --rk-price-border: #e2e8f0;
}

.rk-price-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-price-card);
    border-radius: 20px;
    box-shadow: 0 15px 35px -10px rgba(6, 78, 59, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.2);
    overflow: hidden;
}

/* Nagłówek sekcji */
.rk-price-header {
    background: linear-gradient(135deg, var(--rk-price-dark) 0%, #022c22 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
}

.rk-price-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--rk-price-brand) 0%, var(--rk-price-accent) 100%);
}

.rk-price-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #a7f3d0;
    padding: 6px 16px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    border: 1px solid rgba(167, 243, 208, 0.3);
}

.rk-price-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
}

.rk-price-intro {
    font-size: 16px;
    line-height: 1.8;
    color: #d1fae5;
    margin: 0;
}

.rk-price-intro strong {
    color: #ffffff;
}

.rk-price-link {
    color: #34d399;
    text-decoration: none;
    border-bottom: 1px dashed #34d399;
    transition: all 0.3s;
}

.rk-price-link:hover {
    color: #6ee7b7;
    border-bottom-style: solid;
}

/* Część Interaktywna - Suwak i Kalkulator */
.rk-price-interactive {
    padding: 40px 50px;
    background: var(--rk-price-bg);
}

.rk-calc-box {
    background: #ffffff;
    border: 1px solid var(--rk-price-border);
    border-radius: 16px;
    padding: 30px;
    margin-bottom: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-slider-group {
    margin-bottom: 35px;
}

.rk-slider-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-price-dark);
    margin-bottom: 15px;
}

.rk-slider-label span {
    font-size: 24px;
    color: var(--rk-price-accent);
}

/* Custom Range Slider Styling */
.rk-range-input {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 5px;
    background: #e2e8f0;
    outline: none;
    margin: 0;
}

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

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

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

/* SVG Wykres pierścieniowy dynamiczny */
.rk-cost-visual-box {
    position: relative;
    width: 100%;
    height: 220px;
    background: #0f172a;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

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

.rk-chart-circle-bg { fill: none; stroke: #334155; stroke-width: 8; }
.rk-chart-circle-value {
    fill: none;
    stroke: var(--rk-price-brand);
    stroke-width: 8;
    stroke-linecap: round;
    stroke-dasharray: 251.2;
    stroke-dashoffset: 251.2;
    transform: rotate(-90deg);
    transform-origin: center;
    transition: stroke-dashoffset 0.5s ease-out;
}

.rk-chart-center-text {
    position: absolute;
    text-align: center;
    color: #ffffff;
}

.rk-chart-total { font-size: 20px; font-weight: 900; color: #34d399; }
.rk-chart-lbl { font-size: 11px; color: #94a3b8; text-transform: uppercase; }

/* Kafelki składowe kosztów */
.rk-breakdown-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-breakdown-item {
    background: var(--rk-price-bg);
    border: 1px solid var(--rk-price-border);
    padding: 15px 20px;
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-item-title { font-size: 13px; color: var(--rk-price-text); font-weight: 600; }
.rk-item-value { font-size: 15px; color: var(--rk-price-dark); font-weight: 800; }

/* Porównanie metod na dole na mobile jedna pod drugą */
.rk-compare-box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.rk-compare-card {
    background: #ffffff;
    border: 1px solid var(--rk-price-border);
    border-radius: 12px;
    padding: 25px;
    position: relative;
}

.rk-compare-card.pro-method { border-left: 4px solid var(--rk-price-brand); }
.rk-compare-card.old-method { border-left: 4px solid #ef4444; }

.rk-comp-h { font-size: 16px; font-weight: 800; color: var(--rk-price-dark); margin: 0 0 10px 0; }
.rk-comp-p { font-size: 13px; line-height: 1.6; color: #64748b; margin: 0; }

@media (max-width: 768px) {
    .rk-price-header, .rk-price-interactive { padding: 30px 25px; }
    .rk-cost-display-grid { grid-template-columns: 1fr; }
    .rk-breakdown-list { grid-template-columns: 1fr; }
    .rk-compare-box { grid-template-columns: 1fr; gap: 15px; }
    .rk-price-title { font-size: 24px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-koszty",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Koszty frezowania ogrzewania podłogowego w starym domu – Cennik 2026",
    "description": "Szczegółowa analiza budżetowa modernizacji instalacji. Sprawdź cennik robocizny, materiałów (PEX 14mm) oraz mas cementowych C2TE dla powierzchni 100 m².",
    "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-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-koszty",
    "name": "Zestawienie kosztów składowych modernizacji instalacji płaszczyznowej",
    "description": "Dane finansowo-techniczne kosztów robocizny, materiałów instalacyjnych i próby szczelności dla powierzchni bazowej 100 m² netto.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "cena frezowania podłogówki za m²",
      "koszt rury pex pert 14mm",
      "masa polimerowo cementowa c2te cena",
      "próba ciśnieniowa ogrzewania koszt",
      "koszt modernizacji instalacji grzewczej"
    ],
    "measurementTechnique": "Kalkulacja rynkowa nakładów rzeczowo-finansowych na bazie standardów wykonawczych normy PN-EN 1264-4 dla systemów cienkowarstwowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Frezowanie i rury: Szacunkowo od 120 PLN do 180 PLN za m² netto.",
        "Materiały dodatkowe: Wymóg stosowania mas klasy C2TE o wysokiej przewodności cieplnej."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-kalkulator",
    "name": "Dynamiczny Kalkulator Budżetu Frezowania",
    "description": "Narzędzie matematyczne automatycznie obliczające wydatki na bazie metrażu z uwzględnieniem podziału na rury, robociznę, rozdzielacze i masę zalewową.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-price-container" id="rk-cost-analysis-app">
    <div class="rk-price-header">
        <div class="rk-price-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><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>
            Analiza Budżetu
        </div>
        <h2 class="rk-price-title">Ile kosztuje frezowanie ogrzewania podłogowego w starym domu za m²?</h2>
        <p class="rk-price-intro">
            Średni koszt wykonania frezowania ogrzewania podłogowego w starym domu wynosi od <strong>120 PLN do 180 PLN za m² netto</strong> za samą usługę nacinania kanałów wraz z dostawą i montażem rury oraz rozdzielacza. Przyjmując kompleksową modernizację powierzchni wynoszącej dokładnie <strong>100 m²</strong>, całkowity budżet inwestycji, uwzględniający chemię montażową, <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/" class="rk-price-link">próby szczelności według normy PN-EN 1264-4</a> oraz podłączenie pętli do szafki rozdzielaczowej, zamyka się w przedziale <strong>16 000 PLN – 22 000 PLN</strong>.
        </p>
    </div>

    <div class="rk-price-interactive">
        <div class="rk-calc-box">
            <div class="rk-slider-group">
                <label class="rk-slider-label">
                    Wybierz powierzchnię modernizacji:
                    <span id="rk-area-val">100 m²</span>
                </label>
                <input type="range" min="30" max="200" value="100" class="rk-range-input" id="rkAreaRange" oninput="rkUpdateCosts(this.value)">
            </div>

            <div class="rk-cost-display-grid">
                <div class="rk-cost-visual-box">
                    <svg class="rk-chart-svg" viewBox="0 0 100 100">
                        <circle class="rk-chart-circle-bg" cx="50" cy="50" r="40"/>
                        <circle class="rk-chart-circle-value" id="rkChartCircle" cx="50" cy="50" r="40"/>
                    </svg>
                    <div class="rk-chart-center-text">
                        <div class="rk-chart-total" id="rk-total-price">19 000 zł</div>
                        <div class="rk-chart-lbl">Suma Netto</div>
                    </div>
                </div>

                <div class="rk-breakdown-list">
                    <div class="rk-breakdown-item">
                        <span class="rk-item-title">Frezowanie linii i łuków</span>
                        <span class="rk-item-value" id="cost-frez">6 000 zł</span>
                    </div>
                    <div class="rk-breakdown-item">
                        <span class="rk-item-title">Rura 5-warstwowa 14x2mm</span>
                        <span class="rk-item-value" id="cost-rura">3 000 zł</span>
                    </div>
                    <div class="rk-breakdown-item">
                        <span class="rk-item-title">Rozdzielacz z rotametrami</span>
                        <span class="rk-item-value" id="cost-rozdz">2 150 zł</span>
                    </div>
                    <div class="rk-breakdown-item">
                        <span class="rk-item-title">Masa naprawcza C2TE</span>
                        <span class="rk-item-value" id="cost-masa">1 850 zł</span>
                    </div>
                    <div class="rk-breakdown-item" style="grid-column: 1 / -1;">
                        <span class="rk-item-title">Montaż i próba wodna (0,6 MPa)</span>
                        <span class="rk-item-value" id="cost-robota">6 000 zł</span>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-compare-box">
            <div class="rk-compare-card pro-method">
                <h4 class="rk-comp-h">Technologia frezowania jastrychu</h4>
                <p class="rk-comp-p">
                    Wylewka o grubości min. 35 mm z betonu klasy C12/15 pozwala zaoszczędzić około <strong>40% nakładów finansowych</strong>. Czas realizacji skraca się do zaledwie 3 dni roboczych, zachowując nienaruszone poziomy progów i drzwi.
                </p>
            </div>
            <div class="rk-compare-card old-method">
                <h4 class="rk-comp-h">Tradycyjna metoda &#8222;Mokra&#8221;</h4>
                <p class="rk-comp-p">
                    Skuwanie betonu, wywóz ton gruzu, nowy <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/" class="rk-price-link">styropian 100 mm</a> oraz wylewanie nowego jastrychu generuje koszty rzędu 220–310 PLN/m² (bez rur i rozdzielacza) oraz wyłącza dom z użytku na 4 tygodnie.
                </p>
            </div>
        </div>
    </div>
</div>

<script>
// 1. Zabezpieczenie przed nieautoryzowanym użyciem (bez znaczników nagłówkowych)
document.addEventListener('DOMContentLoaded', function() {
    var domainName = window.location.hostname;
    var validDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (validDomains.indexOf(domainName) === -1) {
        var el = document.getElementById('rk-cost-analysis-app');
        if (el) {
            el.innerHTML = '<div style="padding:40px; text-align:center; background:#022c22; color:#ef4444; border-radius:20px; border:2px solid #ef4444; font-family:sans-serif;"><strong>Licencja wygasła.</strong> Ten komponent finansowy jest własnością chronioną serwisu Projekt-Ogrzewania.pl.</div>';
        }
    }
    // Inicjalizacja koła na starcie
    rkUpdateCosts(100);
});

// 2. Logika dynamicznego przeliczania kosztów w czasie rzeczywistym
function rkUpdateCosts(area) {
    area = parseInt(area);
    document.getElementById('rk-area-val').innerText = area + ' m²';

    // Przeliczniki bazowe na bazie tekstu inżynierskiego
    var frez = Math.round(area * 60); 
    var rura = Math.round(area * 30);
    var rozdz = Math.round(1800 + (area * 3.5)); // Skalowanie wielkości rozdzielacza
    var masa = Math.round(area * 18.5);
    var robota = Math.round(area * 37.5 + 2250);

    var total = frez + rura + rozdz + masa + robota;

    // Aktualizacja pól tekstowych
    document.getElementById('cost-frez').innerText = frez.toLocaleString('pl-PL') + ' zł';
    document.getElementById('cost-rura').innerText = rura.toLocaleString('pl-PL') + ' zł';
    document.getElementById('cost-rozdz').innerText = rozdz.toLocaleString('pl-PL') + ' zł';
    document.getElementById('cost-masa').innerText = masa.toLocaleString('pl-PL') + ' zł';
    document.getElementById('cost-robota').innerText = robota.toLocaleString('pl-PL') + ' zł';
    document.getElementById('rk-total-price').innerText = total.toLocaleString('pl-PL') + ' zł';

    // Aktualizacja animacji okręgu SVG (Obwód wynosi 251.2)
    var circle = document.getElementById('rkChartCircle');
    var maxTotal = 40000; // Punkt odniesienia dla 100% obwodu
    var percentage = total / maxTotal;
    if(percentage > 1) percentage = 1;
    var offset = 251.2 - (percentage * 251.2);
    circle.style.strokeDashoffset = offset;
}
</script>



<style>
:root {
    --rk-hydro-dark: #1e1b4b; /* Głębokie indygo */
    --rk-hydro-brand: #3b82f6; /* Wodny błękit */
    --rk-hydro-brand-light: #dbeafe;
    --rk-hydro-accent: #f97316; /* Ostrzegawczy pomarańcz */
    --rk-hydro-success: #10b981; /* Szmaragd */
    --rk-hydro-bg: #f8fafc;
    --rk-hydro-card: #ffffff;
    --rk-hydro-text: #334155;
    --rk-hydro-border: #e2e8f0;
}

.rk-hydro-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-hydro-card);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(30, 27, 75, 0.15);
    border: 1px solid rgba(59, 130, 246, 0.2);
    overflow: hidden;
}

/* Nagłówek */
.rk-hydro-header {
    background: linear-gradient(135deg, var(--rk-hydro-dark) 0%, #312e81 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-hydro-brand);
}

.rk-hydro-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(59, 130, 246, 0.25);
    color: #93c5fd;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
    border: 1px solid rgba(147, 197, 253, 0.3);
}

.rk-hydro-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 15px 0;
}

.rk-hydro-title span { color: #60a5fa; }

.rk-hydro-intro {
    font-size: 15px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 0 15px 0;
}

.rk-hydro-link {
    color: #93c5fd;
    text-decoration: none;
    border-bottom: 1px dashed #93c5fd;
    transition: color 0.3s, border-color 0.3s;
}

.rk-hydro-link:hover {
    color: #ffffff;
    border-bottom-style: solid;
}

/* Moduł Interaktywny */
.rk-hydro-interactive {
    padding: 40px 50px;
    background: var(--rk-hydro-bg);
}

.rk-hydro-sim-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 30px;
    background: #ffffff;
    border: 1px solid var(--rk-hydro-border);
    border-radius: 16px;
    padding: 10px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

/* Przełączniki (Toggle) */
.rk-hydro-controls {
    display: flex;
    gap: 10px;
    background: var(--rk-hydro-bg);
    padding: 10px;
    border-radius: 12px 12px 0 0;
    border-bottom: 1px solid var(--rk-hydro-border);
}

.rk-hydro-btn {
    flex: 1;
    padding: 14px 20px;
    border: 2px solid transparent;
    background: #ffffff;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-hydro-text);
    cursor: pointer;
    transition: all 0.3s;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-hydro-btn:hover { background: #f1f5f9; }

.rk-hydro-btn.active[data-pipe="14"] {
    background: var(--rk-hydro-brand-light);
    border-color: var(--rk-hydro-brand);
    color: #1e3a8a;
}

.rk-hydro-btn.active[data-pipe="16"] {
    background: #ffedd5;
    border-color: var(--rk-hydro-accent);
    color: #7c2d12;
}

/* Lewa Strona: Dane i Wzory */
.rk-hydro-data-panel {
    padding: 20px;
}

.rk-math-box {
    background: #f8fafc;
    border-left: 4px solid var(--rk-hydro-brand);
    padding: 15px 20px;
    border-radius: 0 8px 8px 0;
    margin-bottom: 25px;
    font-family: monospace;
    font-size: 14px;
    color: #334155;
    line-height: 1.6;
}

.rk-math-box strong { color: var(--rk-hydro-dark); font-size: 15px; }

.rk-data-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-data-card {
    background: #ffffff;
    border: 1px solid var(--rk-hydro-border);
    padding: 15px;
    border-radius: 10px;
    transition: all 0.3s;
}

.rk-data-lbl { font-size: 12px; color: #64748b; font-weight: 700; text-transform: uppercase; margin-bottom: 5px; }
.rk-data-val { font-size: 20px; font-weight: 900; color: var(--rk-hydro-dark); }
.rk-data-val span { font-size: 14px; font-weight: 600; color: #94a3b8; }

/* Dynamiczne kolory w zależności od stanu */
#rk-sim-app.state-16 .rk-math-box { border-color: var(--rk-hydro-accent); }
#rk-sim-app.state-16 .val-alert { color: var(--rk-hydro-accent); }
#rk-sim-app.state-14 .val-success { color: var(--rk-hydro-success); }

/* Prawa Strona: SVG Wizualizacja */
.rk-hydro-visual {
    background: var(--rk-hydro-dark);
    border-radius: 12px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 250px;
}

.rk-hydro-svg { width: 100%; height: 100%; max-width: 250px; }

/* Elementy SVG z CSS Transitions */
.svg-pipe { transition: r 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
.svg-groove { transition: d 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
.svg-crack { opacity: 0; stroke-dasharray: 40; stroke-dashoffset: 40; transition: opacity 0.3s; }
.svg-water { transform-origin: center; animation: pulseWater 2s infinite alternate; }
.svg-heat-wave { stroke-dasharray: 8 8; animation: heatRise 1.5s linear infinite; opacity: 0; transition: opacity 0.3s; }

@keyframes pulseWater { 0% { fill: #3b82f6; } 100% { fill: #60a5fa; } }
@keyframes heatRise { to { stroke-dashoffset: -16; } }

/* Stan 14mm */
#rk-sim-app.state-14 .svg-pipe { r: 14; }
#rk-sim-app.state-14 .svg-groove { d: path("M 20 40 L 20 65 L 80 65 L 80 40"); }
#rk-sim-app.state-14 .svg-heat-wave { opacity: 1; stroke: #ef4444; }

/* Stan 16mm (Ryzyko) */
#rk-sim-app.state-16 .svg-pipe { r: 18; }
#rk-sim-app.state-16 .svg-groove { d: path("M 15 40 L 15 75 L 85 75 L 85 40"); }
#rk-sim-app.state-16 .svg-crack { opacity: 1; animation: drawCrackHydro 0.5s 0.3s forwards; }
#rk-sim-app.state-16 .svg-heat-wave { opacity: 0.3; stroke: #f97316; animation-duration: 4s; }

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

/* Informacje pod spodem */
.rk-hydro-footer-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 0 50px 40px;
}

.rk-hydro-info-card {
    background: #ffffff;
    border: 1px solid var(--rk-hydro-border);
    padding: 20px;
    border-radius: 16px;
}

.rk-hydro-info-card h4 {
    font-size: 15px;
    font-weight: 800;
    margin: 0 0 10px 0;
    color: var(--rk-hydro-dark);
}

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

@media (max-width: 768px) {
    .rk-hydro-header, .rk-hydro-interactive { padding: 30px 20px; }
    .rk-hydro-sim-layout { grid-template-columns: 1fr; }
    .rk-hydro-controls { flex-direction: column; }
    .rk-data-grid { grid-template-columns: 1fr; }
    .rk-hydro-footer-grid { grid-template-columns: 1fr; padding: 0 20px 30px; }
    .rk-hydro-title { font-size: 24px; }
    .rk-hydro-visual { min-height: 200px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-rury",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Dobór rur i parametrów hydraulicznych przy frezowaniu",
    "description": "Standardem inżynierskim dla frezowania jest rura 14x2 mm. Zapewnia mniejszy zład wody, szybki czas reakcji i chroni cienką wylewkę przed spękaniem.",
    "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-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-hydraulika",
    "name": "Analiza parametrów hydraulicznych rur PEX/PERT",
    "description": "Zestawienie pojemności wodnej (zładu instalacji) i wpływu średnicy rury na bezwładność cieplną systemu podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "średnica rury pex frezowanie",
      "rozstaw rur ogrzewanie podłogowe 10 15",
      "bariera antydyfuzyjna evoh din 4726",
      "pojemność wodna zład instalacji",
      "bezwładność cieplna podłogówki"
    ],
    "measurementTechnique": "Obliczenia pojemności na bazie wzoru na objętość walca (V = π · r²) weryfikujące masę czynnika grzewczego dla 100 m².",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Pojemność rury 14x2: 0,078 l/m.b., dająca szybką reakcję w < 45 minut.",
        "Ryzyko rury 16x2: Większy zład i wymóg głębokiej bruzdy (24 mm) grozi pęknięciem wylewki 40 mm."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-pojemnosc",
    "name": "Symulator Zładu i Przekroju Hydraulicznego",
    "description": "Kalkulator interaktywny porównujący wpływ średnicy rury na objętość wody w pętlach i zagrożenia strukturalne dla jastrychu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-hydro-container" id="rk-hydro-sim-lock">
    <div class="rk-hydro-header">
        <div class="rk-hydro-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z"></path></svg>
            Parametry Hydrauliczne
        </div>
        <h2 class="rk-hydro-title">Jaki rozstaw rur i średnicę PEX/PERT wybrać przy frezowaniu?</h2>
        <p class="rk-hydro-intro">
            W technologii frezowania jastrychu standardem inżynierskim jest stosowanie <strong>rur o średnicy zewnętrznej 14 mm (14 × 2 mm)</strong>. Układa się je w rozstawie <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/" class="rk-hydro-link">100 mm w strefach brzegowych</a> oraz 150 mm w strefach stałego przebywania ludzi. Zastosowanie popularnej rury 16 mm jest ryzykowne, ponieważ wymaga wykonania bruzdy o głębokości aż 24 mm, co przy cienkich starych wylewkach <strong>może doprowadzić do pękania jastrychu</strong>.
        </p>
        <p class="rk-hydro-intro" style="margin:0;">
            Niezależnie od średnicy, rury muszą bezwzględnie posiadać <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/" class="rk-hydro-link">barierę antydyfuzyjną EVOH (norma DIN 4726)</a> zapobiegającą przenikaniu niszczącego tlenu do instalacji.
        </p>
    </div>

    <div class="rk-hydro-interactive">
        <div id="rk-sim-app" class="rk-hydro-sim-layout state-14">
            
            <div style="display: flex; flex-direction: column;">
                <div class="rk-hydro-controls">
                    <button class="rk-hydro-btn active" data-pipe="14" onclick="rkSwitchPipe('14')">Rura 14x2 mm (Standard)</button>
                    <button class="rk-hydro-btn" data-pipe="16" onclick="rkSwitchPipe('16')">Rura 16x2 mm (Ryzyko)</button>
                </div>

                <div class="rk-hydro-data-panel">
                    <div class="rk-math-box" id="rk-math-content">
                        <strong>Obliczenie zładu (14 mm):</strong><br>
                        Średnica wew. (d_i) = 10 mm = 0,01 m.<br>
                        V = π · (d_i / 2)²<br>
                        V = 3,14159 · (0,005 m)²<br>
                        V = <strong>0,07854 l/m.b.</strong>
                    </div>

                    <div class="rk-data-grid">
                        <div class="rk-data-card">
                            <div class="rk-data-lbl">Zład wody (100 m²)</div>
                            <div class="rk-data-val" id="rk-val-vol">52,38 <span>litrów</span></div>
                        </div>
                        <div class="rk-data-card">
                            <div class="rk-data-lbl">Reakcja (Bezwładność)</div>
                            <div class="rk-data-val val-success" id="rk-val-time">< 45 <span>minut</span></div>
                        </div>
                        <div class="rk-data-card">
                            <div class="rk-data-lbl">Szerokość bruzdy</div>
                            <div class="rk-data-val" id="rk-val-groove">16 <span>mm</span></div>
                        </div>
                        <div class="rk-data-card">
                            <div class="rk-data-lbl">Głębokość bruzdy</div>
                            <div class="rk-data-val" id="rk-val-depth">20-22 <span>mm</span></div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-hydro-visual">
                <svg class="rk-hydro-svg" viewBox="0 0 100 100">
                    <rect x="0" y="40" width="100" height="60" fill="#334155"/>
                    <path d="M 0 40 L 100 40" stroke="#475569" stroke-width="2"/>
                    
                    <path class="svg-groove" fill="#0f172a" stroke="#475569" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
                    
                    <circle class="svg-pipe" cx="50" cy="50" fill="none" stroke="#e2e8f0" stroke-width="4"/>
                    <circle class="svg-pipe svg-water" cx="50" cy="50"/>

                    <path class="svg-heat-wave" d="M 35 25 Q 40 10 35 0 M 50 30 L 50 0 M 65 25 Q 60 10 65 0" fill="none" stroke-width="3" stroke-linecap="round"/>

                    <path class="svg-crack" d="M 45 75 L 40 85 L 50 100" fill="none" stroke="#f97316" stroke-width="2" stroke-linecap="round"/>
                </svg>
            </div>
        </div>
    </div>

    <div class="rk-hydro-footer-grid">
        <div class="rk-hydro-info-card">
            <h4><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="var(--rk-hydro-brand)" stroke-width="3" style="margin-right:5px; vertical-align:middle;"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg> Drastyczna redukcja zładu</h4>
            <p>
                Zastosowanie rury o mniejszej średnicy redukuje ilość wody w układzie o ponad 30%. Oznacza to, że <a href="https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/" style="color:var(--rk-hydro-brand); font-weight:600;">zład instalacji nagrzewa się znacznie szybciej</a>, co pozwala na błyskawiczne wyczucie ciepła pod stopami po uruchomieniu termostatu.
            </p>
        </div>
        <div class="rk-hydro-info-card">
            <h4><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#f97316" stroke-width="3" style="margin-right:5px; vertical-align:middle;"><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> Dlaczego rura 16 mm jest groźna?</h4>
            <p>
                Tradycyjna <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/" style="color:#f97316; font-weight:600;">rura 16 mm</a> wymusza głębsze nacięcia. Przy wylewkach rzędu 40 mm, ostrze może naruszyć izolację lub doprowadzić do przełamania betonu, niszcząc nośność posadzki.
            </p>
        </div>
    </div>
</div>

<script>
// 1. Zabezpieczenie domeny bez H2/H3 w komunikacie o błędzie
document.addEventListener('DOMContentLoaded', function() {
    var checkDomain = window.location.hostname;
    var allowedList = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedList.indexOf(checkDomain) === -1) {
        var app = document.getElementById('rk-hydro-sim-lock');
        if (app) {
            app.innerHTML = '<div style="padding:40px; text-align:center; background:#1e1b4b; color:#ef4444; border-radius:20px; border:2px solid #ef4444; font-family:sans-serif; font-size:16px;"><strong>Odmowa dostępu.</strong> Skrypt symulacyjny jest przypisany wyłącznie do autoryzowanej domeny projekt-ogrzewania.pl.</div>';
        }
    }
});

// 2. Logika przełączania symulatora
function rkSwitchPipe(type) {
    var core = document.getElementById('rk-sim-app');
    
    // Zmiana przycisków
    var btns = document.querySelectorAll('.rk-hydro-btn');
    btns.forEach(function(btn) { btn.classList.remove('active'); });
    document.querySelector('.rk-hydro-btn[data-pipe="' + type + '"]').classList.add('active');

    // Zmiana klas i danych
    if (type === '14') {
        core.className = 'rk-hydro-sim-layout state-14';
        
        document.getElementById('rk-math-content').innerHTML = "<strong>Obliczenie zładu (14 mm):</strong><br>Średnica wew. (d_i) = 10 mm = 0,01 m.<br>V = π · (d_i / 2)²<br>V = 3,14159 · (0,005 m)²<br>V = <strong>0,07854 l/m.b.</strong>";
        document.getElementById('rk-val-vol').innerHTML = "52,38 <span>litrów</span>";
        
        var t = document.getElementById('rk-val-time');
        t.className = 'rk-data-val val-success';
        t.innerHTML = "< 45 <span>minut</span>";
        
        document.getElementById('rk-val-groove').innerHTML = "16 <span>mm</span>";
        document.getElementById('rk-val-depth').innerHTML = "20-22 <span>mm</span>";

    } else {
        core.className = 'rk-hydro-sim-layout state-16';
        
        document.getElementById('rk-math-content').innerHTML = "<strong>Obliczenie zładu (16 mm):</strong><br>Średnica wew. (d_i) = 12 mm = 0,012 m.<br>V = π · (d_i / 2)²<br>V = 3,14159 · (0,006 m)²<br>V = <strong>0,1130 l/m.b.</strong>";
        document.getElementById('rk-val-vol').innerHTML = "75,40 <span>litrów</span>";
        
        var t = document.getElementById('rk-val-time');
        t.className = 'rk-data-val val-alert';
        t.innerHTML = "3-5 <span>godzin</span>";
        
        document.getElementById('rk-val-groove').innerHTML = "18 <span>mm</span>";
        document.getElementById('rk-val-depth').innerHTML = "24-26 <span>mm</span>";
    }
}
</script>



<style>
:root {
    --rk-therm-dark: #1e293b; /* Głęboki bazalt */
    --rk-therm-brand: #ef4444; /* Termiczna czerwień */
    --rk-therm-brand-light: #fee2e2;
    --rk-therm-shield: #06b6d4; /* Błękit aerożelu */
    --rk-therm-shield-light: #cffafe;
    --rk-therm-warning: #f97316; /* Ostrzegawczy pomarańcz */
    --rk-therm-bg: #f8fafc;
    --rk-therm-card: #ffffff;
    --rk-therm-text: #334155;
    --rk-therm-border: #e2e8f0;
}

.rk-therm-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-therm-card);
    border-radius: 20px;
    box-shadow: 0 15px 35px -10px rgba(30, 41, 59, 0.15);
    border: 1px solid rgba(239, 68, 68, 0.2);
    overflow: hidden;
}

/* Sekcja Wprowadzająca (Header) */
.rk-therm-header {
    background: linear-gradient(145deg, #0f172a 0%, var(--rk-therm-dark) 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-therm-brand);
}

.rk-therm-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    border: 1px solid rgba(252, 165, 165, 0.3);
}

.rk-therm-title {
    font-size: 26px;
    font-weight: 900;
    line-height: 1.35;
    margin: 0 0 20px 0;
    color: #ffffff;
}

.rk-therm-paragraph {
    font-size: 15px;
    line-height: 1.8;
    color: #cbd5e1;
    margin: 0 0 15px 0;
}

.rk-therm-paragraph strong {
    color: #ffffff;
    font-weight: 700;
}

.rk-therm-link {
    color: #fca5a5;
    text-decoration: none;
    border-bottom: 1px dashed #fca5a5;
    transition: all 0.3s;
}

.rk-therm-link:hover {
    color: #ffffff;
    border-bottom-style: solid;
}

/* Moduł Interaktywny */
.rk-therm-interactive {
    padding: 40px 50px;
    background: var(--rk-therm-bg);
}

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

.rk-sim-btn {
    flex: 1;
    max-width: 280px;
    padding: 16px 20px;
    border: 2px solid var(--rk-therm-border);
    background: #ffffff;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-therm-text);
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-sim-btn:hover { background: #f1f5f9; border-color: #cbd5e1; }

.rk-sim-btn.active[data-mode="loss"] {
    border-color: var(--rk-therm-brand);
    background: var(--rk-therm-brand-light);
    color: #991b1b;
    box-shadow: 0 10px 20px -5px rgba(239, 68, 68, 0.15);
}

.rk-sim-btn.active[data-mode="shield"] {
    border-color: var(--rk-therm-shield);
    background: var(--rk-therm-shield-light);
    color: #083344;
    box-shadow: 0 10px 20px -5px rgba(6, 182, 212, 0.2);
}

/* Ekran Symulatora (Grid: SVG + Parametry) */
.rk-therm-screen {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    background: #ffffff;
    border: 1px solid var(--rk-therm-border);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.02);
}

/* Część wizualna (SVG Termowizja) */
.rk-therm-visual {
    background: #0f172a;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    height: 100%;
    min-height: 220px;
    border: 2px solid #334155;
}

.rk-svg-thermo {
    width: 100%;
    height: 100%;
    max-width: 250px;
}

/* Animacje SVG */
.anim-heat-pipe { animation: pulseCore 2s infinite alternate; }
.anim-heat-arrow { stroke-dasharray: 10; animation: flowDown 1.5s linear infinite; transition: opacity 0.4s; }
.anim-reflect-arrow { stroke-dasharray: 10; animation: flowUp 1.5s linear infinite; opacity: 0; transition: opacity 0.4s; }
.svg-aerogel-layer { stroke-dasharray: 150; stroke-dashoffset: 150; opacity: 0; transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1); }

@keyframes pulseCore { 0% { fill: #f97316; filter: drop-shadow(0 0 5px #f97316); } 100% { fill: #ef4444; filter: drop-shadow(0 0 15px #ef4444); } }
@keyframes flowDown { to { stroke-dashoffset: -20; } }
@keyframes flowUp { to { stroke-dashoffset: 20; } }

/* Stan 1: Ucieczka w dół (Loss) */
#rk-sim-therm.state-loss .anim-heat-arrow { opacity: 1; stroke: #ef4444; }

/* Stan 2: Aerożel (Shield) */
#rk-sim-therm.state-shield .anim-heat-arrow { opacity: 0.2; stroke: #f59e0b; }
#rk-sim-therm.state-shield .anim-reflect-arrow { opacity: 1; stroke: #06b6d4; }
#rk-sim-therm.state-shield .svg-aerogel-layer { stroke-dashoffset: 0; opacity: 1; filter: drop-shadow(0 0 8px #06b6d4); }

/* Część z parametrami */
.rk-therm-data-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    align-content: center;
}

.rk-therm-box {
    background: var(--rk-therm-bg);
    padding: 16px 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-therm-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-therm-label { font-size: 13px; color: #64748b; font-weight: 700; text-transform: uppercase; }
.rk-therm-val { font-size: 18px; font-weight: 900; color: var(--rk-therm-dark); transition: color 0.3s; }
.rk-therm-val span { font-size: 13px; font-weight: 600; color: #94a3b8; }

#rk-sim-therm.state-loss .val-dynamic { color: var(--rk-therm-brand); }
#rk-sim-therm.state-shield .val-dynamic { color: var(--rk-therm-shield); }

/* Kafelki Informacyjne (Dół) */
.rk-therm-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 0 50px 40px;
}

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

.rk-therm-info-card h4 {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-therm-dark);
    margin: 0 0 12px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-therm-info-card h4 svg { color: var(--rk-therm-warning); }
.rk-therm-info-card p { font-size: 13px; line-height: 1.6; color: #4b5563; margin: 0; }

@media (max-width: 768px) {
    .rk-therm-header, .rk-therm-interactive { padding: 30px 20px; }
    .rk-sim-controls { flex-direction: column; }
    .rk-sim-btn { max-width: 100%; }
    .rk-therm-screen { grid-template-columns: 1fr; }
    .rk-therm-visual { min-height: 180px; }
    .rk-therm-info-grid { grid-template-columns: 1fr; padding: 0 20px 30px; gap: 15px; }
    .rk-therm-title { font-size: 24px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-izolacja",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Jak rozwiązać problem braku izolacji termicznej podłogi na gruncie przy frezowaniu?",
    "description": "Zastosowanie powłok aerożelowych, mikrosfer szklanych oraz rekuperacji pozwala ograniczyć ucieczkę ciepła w dół do gruntu i ratuje SCOP pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-izolacja",
    "name": "Analiza strat cieplnych i mikroizolacji bruzd frezowanych",
    "description": "Porównanie efektywności energetycznej standardowej wylewki na gruncie z systemem wyposażonym w odbłyśniki aerożelowe.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "mikrosfery szklane podłogówka",
      "powłoka termoizolacyjna aerożel ogrzewanie",
      "straty ciepła do gruntu frezowanie",
      "rekuperacja a podłogówka",
      "spadek scop pompy ciepła"
    ],
    "measurementTechnique": "Obliczenia strat przenikania do gruntu i odbicia podczerwieni wg wytycznych normy PN-EN 1264-4.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Stan pierwotny: Strata rzędu 35%-45% w dół, drastyczny spadek SCOP pompy ciepła o 20%.",
        "Stan zoptymalizowany: Zastosowanie powłoki aerożelowej o współczynniku λ = 0,014 W/(m·K) ratuje bilans energetyczny."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-izolacja",
    "name": "Symulator Strat Ciepła do Gruntu",
    "description": "Narzędzie wizualizujące kierunki przepływu energii cieplnej w systemach bez poziomej izolacji EPS/PIR, obrazujące działanie mikrobarier.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-therm-container" id="rk-therm-guard-lock">
    <div class="rk-therm-header">
        <div class="rk-therm-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Termika i Mostki
        </div>
        <h2 class="rk-therm-title">Jak rozwiązać problem braku izolacji termicznej podłogi na gruncie?</h2>
        <p class="rk-therm-paragraph">
            Brak izolacji termicznej pod jastrychem na gruncie w starym domu powoduje <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/" class="rk-therm-link">ucieczkę strumienia ciepła w dół na poziomie 35% - 45%</a>. Stanowi to bezpośrednie naruszenie zapisów <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/" class="rk-therm-link">normy PN-EN 1264-4</a>, która dla podłóg na gruncie wymaga minimalnego oporu cieplnego izolacji o wartości <strong>R = 2,25 m²·K/W</strong>.
        </p>
        <p class="rk-therm-paragraph" style="margin: 0;">
            Jeżeli nie możemy ułożyć płyt EPS100 lub PIR, jedynym inżynierskim ratunkiem ograniczającym straty jest <strong>obniżenie zasilania do max 32°C</strong>, zastosowanie powłok z aerożelu (<strong>λ = 0,014 W/(m·K)</strong>) oraz integracja z systemem mechanicznej <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/" class="rk-therm-link">wentylacji z odzyskiem ciepła (rekuperacją)</a>.
        </p>
    </div>

    <div class="rk-therm-interactive">
        <div class="rk-sim-controls">
            <button class="rk-sim-btn active" data-mode="loss" onclick="rkSwitchTherm('loss')">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg>
                Standard (Ucieczka ciepła w dół)
            </button>
            <button class="rk-sim-btn" data-mode="shield" onclick="rkSwitchTherm('shield')">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                Mikrobariera Aerożelowa + OZE
            </button>
        </div>

        <div id="rk-sim-therm" class="rk-therm-screen state-loss">
            <div class="rk-therm-visual">
                <svg class="rk-svg-thermo" viewBox="0 0 100 100">
                    <rect x="0" y="70" width="100" height="30" fill="#1e293b"/>
                    <path d="M 0 70 L 100 70" stroke="#334155" stroke-width="2" stroke-dasharray="4 4"/>
                    
                    <rect x="0" y="30" width="100" height="40" fill="#334155"/>
                    <path d="M 30 30 L 30 55 L 70 55 L 70 30" fill="#0f172a" stroke="#475569" stroke-width="2"/>
                    
                    <path class="svg-aerogel-layer" d="M 32 30 L 32 53 L 68 53 L 68 30" fill="none" stroke="#06b6d4" stroke-width="4" stroke-linejoin="round"/>

                    <circle cx="50" cy="42" r="10" fill="none" stroke="#f8fafc" stroke-width="2"/>
                    <circle class="anim-heat-pipe" cx="50" cy="42" r="8"/>

                    <path class="anim-heat-arrow" d="M 40 55 L 40 85 M 50 55 L 50 90 M 60 55 L 60 85" fill="none" stroke-width="3" stroke-linecap="round"/>
                    <polygon points="38,82 42,82 40,86" fill="#ef4444" class="anim-heat-arrow" style="stroke:none;"/>
                    <polygon points="48,87 52,87 50,91" fill="#ef4444" class="anim-heat-arrow" style="stroke:none;"/>
                    <polygon points="58,82 62,82 60,86" fill="#ef4444" class="anim-heat-arrow" style="stroke:none;"/>

                    <path class="anim-reflect-arrow" d="M 40 50 Q 30 50 30 20 M 60 50 Q 70 50 70 20 M 50 48 L 50 15" fill="none" stroke-width="3" stroke-linecap="round"/>
                </svg>
            </div>

            <div class="rk-therm-data-grid">
                <div class="rk-therm-box">
                    <span class="rk-therm-label">Straty w dół</span>
                    <span class="rk-therm-val val-dynamic" id="rk-val-loss">45% <span>(Krytyczne)</span></span>
                </div>
                <div class="rk-therm-box">
                    <span class="rk-therm-label">Wpływ na SCOP pompy</span>
                    <span class="rk-therm-val val-dynamic" id="rk-val-scop">- 20% <span>spadku</span></span>
                </div>
                <div class="rk-therm-box">
                    <span class="rk-therm-label">Temp. zasilania</span>
                    <span class="rk-therm-val" id="rk-val-temp">38°C <span>(Wysoka)</span></span>
                </div>
                <div class="rk-therm-box">
                    <span class="rk-therm-label">Lambda izolacji bruzdy</span>
                    <span class="rk-therm-val" id="rk-val-lambda">Brak <span>(Zwykły grunt)</span></span>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-therm-info-grid">
        <div class="rk-therm-info-card">
            <h4><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><path d="M12 8v4l3 3"></path></svg> 1. Grunt o wysokiej penetracji</h4>
            <p>
                Przed zastosowaniem barier odbijających, frezowany kanał musi zostać idealnie odkurzony (odkurzacz klasy M) i zagruntowany. Pył betonowy blokuje adhezję powłok izolacyjnych.
            </p>
        </div>
        <div class="rk-therm-info-card">
            <h4><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg> 2. Płynny Aerożel lub Mikrosfery</h4>
            <p>
                Natrysk lub malowanie wnętrza rowka płynną powłoką na bazie mikrosfer szklanych (λ = 0,014 W/(m·K)) tworzy lustro odbijające promieniowanie podczerwone (cieplne) ku górze.
            </p>
        </div>
        <div class="rk-therm-info-card">
            <h4><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><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> 3. Rekuperacja (Złota zasada)</h4>
            <p>
                Jeśli tracimy ciepło w podłogę, musimy odzyskać je z powietrza. <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/" style="color:var(--rk-therm-warning); font-weight:700;">Wentylacja z odzyskiem</a> drastycznie obniża zapotrzebowanie budynku, rekompensując ucieczkę energii w grunt.
            </p>
        </div>
    </div>
</div>

<script>
// 1. Zabezpieczenie przed nieautoryzowanym użyciem (bez znaczników nagłówkowych)
document.addEventListener('DOMContentLoaded', function() {
    var locHost = window.location.hostname;
    var allowedList = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedList.indexOf(locHost) === -1) {
        var appCont = document.getElementById('rk-therm-guard-lock');
        if (appCont) {
            appCont.innerHTML = '<div style="padding:40px; text-align:center; background:#1e293b; color:#ef4444; border-radius:20px; border:2px solid #ef4444; font-family:sans-serif; font-size:15px;"><strong>Blokada bezpieczeństwa.</strong> Algorytm wizualizacji termicznej przypisany jest tylko do autoryzowanej domeny projekt-ogrzewania.pl.</div>';
        }
    }
});

// 2. Logika przełączania symulatora
function rkSwitchTherm(mode) {
    var screen = document.getElementById('rk-sim-therm');
    
    // Obsługa przycisków
    var btns = document.querySelectorAll('.rk-sim-btn');
    btns.forEach(function(btn) { btn.classList.remove('active'); });
    document.querySelector('.rk-sim-btn[data-mode="' + mode + '"]').classList.add('active');

    // Obsługa logiki widoku i danych
    if (mode === 'loss') {
        screen.className = 'rk-therm-screen state-loss';
        document.getElementById('rk-val-loss').innerHTML = "45% <span>(Krytyczne)</span>";
        document.getElementById('rk-val-scop').innerHTML = "- 20% <span>spadku</span>";
        document.getElementById('rk-val-temp').innerHTML = "38°C <span>(Wysoka)</span>";
        document.getElementById('rk-val-lambda').innerHTML = "Brak <span>(Zwykły grunt)</span>";
    } else {
        screen.className = 'rk-therm-screen state-shield';
        document.getElementById('rk-val-loss').innerHTML = "< 18% <span>(Zredukowane)</span>";
        document.getElementById('rk-val-scop').innerHTML = "Stabilny <span>(<a href='https://projekt-ogrzewania.pl/pompa-ciepla/' style='color:var(--rk-therm-shield); font-weight:700;'>Pompa Ciepła chroniona</a>)</span>";
        document.getElementById('rk-val-temp').innerHTML = "32°C <span>(Zoptymalizowana)</span>";
        document.getElementById('rk-val-lambda').innerHTML = "0,014 W/(m·K) <span>(Aerożel)</span>";
    }
}
</script>



<style>
:root {
    --rk-loop-dark: #0f172a; /* Głęboki grafit */
    --rk-loop-brand: #6366f1; /* Indygo / Fiolet techniczny */
    --rk-loop-brand-light: #e0e7ff;
    --rk-loop-cyan: #06b6d4; /* Cyjan przepływu */
    --rk-loop-danger: #f43f5e; /* Czerwień blokady */
    --rk-loop-success: #10b981; /* Zielony bezpieczny */
    --rk-loop-bg: #f8fafc;
    --rk-loop-card: #ffffff;
    --rk-loop-text: #334155;
    --rk-loop-border: #e2e8f0;
}

.rk-loop-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-loop-card);
    border-radius: 20px;
    box-shadow: 0 15px 35px -10px rgba(99, 102, 241, 0.15);
    border: 1px solid rgba(99, 102, 241, 0.2);
    overflow: hidden;
}

/* Nagłówek sekcji */
.rk-loop-header {
    background: linear-gradient(135deg, #1e1b4b 0%, var(--rk-loop-dark) 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
}

.rk-loop-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--rk-loop-brand) 0%, var(--rk-loop-cyan) 100%);
}

.rk-loop-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(99, 102, 241, 0.2);
    color: #c7d2fe;
    padding: 6px 16px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    border: 1px solid rgba(199, 210, 254, 0.3);
}

.rk-loop-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.35;
    margin: 0 0 20px 0;
}

.rk-loop-intro {
    font-size: 15px;
    line-height: 1.75;
    color: #cbd5e1;
    margin: 0 0 15px 0;
}

.rk-loop-intro strong {
    color: #ffffff;
}

.rk-loop-link {
    color: #a5b4fc;
    text-decoration: none;
    border-bottom: 1px dashed #a5b4fc;
    transition: all 0.3s;
}

.rk-loop-link:hover {
    color: #ffffff;
    border-bottom-style: solid;
}

/* Część Interaktywna - Suwak i Wykresy */
.rk-loop-interactive {
    padding: 40px 50px;
    background: var(--rk-loop-bg);
}

.rk-loop-calc-box {
    background: #ffffff;
    border: 1px solid var(--rk-loop-border);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-loop-slider-group {
    margin-bottom: 35px;
}

.rk-loop-slider-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-loop-dark);
    margin-bottom: 15px;
}

.rk-loop-slider-label span {
    font-size: 24px;
    color: var(--rk-loop-brand);
}

/* Custom Range Input */
.rk-loop-range {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 5px;
    background: #e2e8f0;
    outline: none;
    margin: 0;
}

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

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

/* Układ Wizualizacja + Kafelki */
.rk-loop-display-grid {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 30px;
    align-items: center;
}

/* NOWE SVG: Pętla i Pompa Obiegowa */
.rk-loop-visual-box {
    background: #0f172a;
    border-radius: 12px;
    padding: 15px;
    height: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #334155;
    position: relative;
    overflow: hidden;
}

.rk-hydro-diagram {
    width: 100%;
    height: 100%;
}

/* Animacje i Transformacje dla nowego SVG */
.rk-svg-rotor { transform-origin: 30px 50px; } /* Środek pompy (x:30, y:50) */
.rk-svg-flow-path { stroke-dasharray: 8 8; }
.rk-svg-alert-wave { opacity: 0; transition: opacity 0.3s; transform-origin: 50px 50px; }

@keyframes spinRotorFast { 100% { transform: rotate(360deg); } }
@keyframes spinRotorSlow { 100% { transform: rotate(360deg); } }
@keyframes flowFast { to { stroke-dashoffset: -16; } }
@keyframes flowSlow { to { stroke-dashoffset: -16; } }
@keyframes alertPulse { 0% { opacity: 0.3; transform: scale(0.9); } 100% { opacity: 1; transform: scale(1.1); } }

/* Dynamiczne modyfikowanie CSS przez JS */
.state-safe .rk-svg-rotor { animation: spinRotorFast 1s linear infinite; }
.state-safe .rk-svg-flow-path { animation: flowFast 1s linear infinite; stroke: var(--rk-loop-cyan); }
.state-safe .rk-svg-alert-wave { opacity: 0; animation: none; }

.state-blocked .rk-svg-rotor { animation: spinRotorSlow 3s linear infinite; }
.state-blocked .rk-svg-flow-path { animation: flowSlow 4s linear infinite; stroke: var(--rk-loop-danger); }
.state-blocked .rk-svg-alert-wave { opacity: 1; animation: alertPulse 1.5s infinite alternate; }

/* Kafelki parametrów hydraulicznych */
.rk-loop-param-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-loop-card-stat {
    background: var(--rk-loop-bg);
    border: 1px solid var(--rk-loop-border);
    padding: 15px 20px;
    border-radius: 10px;
}

.rk-stat-lbl { font-size: 11px; color: #64748b; font-weight: 700; text-transform: uppercase; margin-bottom: 5px; }
.rk-stat-val { font-size: 20px; font-weight: 900; color: var(--rk-loop-dark); }
.rk-stat-val span { font-size: 13px; font-weight: 600; color: #94a3b8; }

/* Komunikat Inżynierski */
.rk-loop-feedback {
    grid-column: 1 / -1;
    padding: 15px 20px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.6;
    margin-top: 10px;
    font-weight: 500;
}

.rk-loop-feedback.success { background: #d1fae5; color: #065f46; border-left: 4px solid var(--rk-loop-success); }
.rk-loop-feedback.danger { background: #fee2e2; color: #991b1b; border-left: 4px solid var(--rk-loop-danger); }

/* Dolna sekcja obliczeniowa (Kafelki na mobile) */
.rk-loop-footer-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 30px 50px 40px;
}

.rk-formula-card {
    background: #ffffff;
    border: 1px solid var(--rk-loop-border);
    padding: 20px;
    border-radius: 14px;
}

.rk-formula-card h4 { font-size: 14px; font-weight: 800; color: var(--rk-loop-dark); margin: 0 0 8px 0; }
.rk-formula-card p { font-size: 12px; font-family: monospace; color: #475569; margin: 0; background: var(--rk-loop-bg); padding: 8px 12px; border-radius: 6px; }

@media (max-width: 768px) {
    .rk-loop-header, .rk-loop-interactive { padding: 30px 25px; }
    .rk-loop-display-grid { grid-template-columns: 1fr; }
    .rk-loop-param-grid { grid-template-columns: 1fr; }
    .rk-loop-footer-grid { grid-template-columns: 1fr; padding: 0 20px 30px; gap: 15px; }
    .rk-loop-title { font-size: 24px; }
    .rk-loop-visual-box { height: 180px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-dlugosc",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Maksymalna długość pętli ogrzewania podłogowego przy rurach 14 mm",
    "description": "Analiza hydrauliczna dla średnicy 14 mm. Dowiedz się, dlaczego 80 m to nieprzekraczalna granica i jak obliczyć opory liniowe oraz strumień masowy.",
    "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-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-hydraulika-14mm",
    "name": "Zależność oporów hydraulicznych i przepływów od długości pętli 14x2mm",
    "description": "Dane fizyczne i hydrauliczne: strumień masowy, prędkość liniowa i strata ciśnienia obliczone dla zasilania pompy ciepła (delta T = 5K, Q = 900W).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna długość pętli podłogówki 14mm",
      "opory hydrauliczne rury pex 14x2",
      "strumień masowy wody bilans cieplny",
      "zamknięcie hydrauliczne pętli grzewczej",
      "regulacja rotometrów rozdzielacza"
    ],
    "measurementTechnique": "Modelowanie hydrauliczne oparte na równaniu Darcy-Weisbacha dla przepływów w rurach gładkich polimerowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Granica bezpieczeństwa: Do 80 metrów bieżących, strata ciśnienia poniżej 20 kPa.",
        "Strefa krytyczna: Powyżej 85 metrów, opory przekraczają 22 kPa, ryzyko braku przepływu czynnika."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-kalkulator-pętli",
    "name": "Interaktywny Symulator Oporów Pętli 14mm",
    "description": "Aplikacja inżynierska wyliczająca dynamicznie stratę ciśnienia oraz odwzorowująca zjawisko zamknięcia hydraulicznego przy zmianie długości obwodu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-loop-container" id="rk-loop-length-app">
    <div class="rk-loop-header">
        <div class="rk-loop-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="6" y1="3" x2="6" y2="21"></line><line x1="18" y1="3" x2="18" y2="21"></line><line x1="12" y1="3" x2="12" y2="21"></line></svg>
            Hydraulika Układu
        </div>
        <h2 class="rk-loop-title">Jaka jest maksymalna długość pętli ogrzewania podłogowego przy rurach 14 mm?</h2>
        <p class="rk-loop-intro">
            Maksymalna dopuszczalna długość pojedynczej pętli grzewczej dla rury o średnicy 14 × 2 mm wynosi <strong>80 metrów bieżących</strong> (wliczając odcinki dojściowe do rozdzielacza). Pozwala to na pokrycie maksymalnie 11–12 m² powierzchni pomieszczenia przy <a href="https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/" class="rk-loop-link">rozstawie rur co 150 mm</a>. 
        </p>
        <p class="rk-loop-intro" style="margin: 0;">
            Przekroczenie tej granicy skutkuje gwałtownym, nieliniowym wzrostem oporów hydraulicznych <strong>powyżej wartości 22 kPa</strong>. Przekracza to możliwości regulacyjne standardowych rotometrów i prowadzi do zjawiska <strong>"zamknięcia hydraulicznego" pętli</strong> – woda wybiera drogę o mniejszym oporze w krótszych obwodach, a pomieszczenie pozostaje niedogrzane.
        </p>
    </div>

    <div class="rk-loop-interactive">
        <div class="rk-loop-calc-box">
            <div class="rk-loop-slider-group">
                <label class="rk-loop-slider-label">
                    Zmień długość projektowanej pętli 14 mm:
                    <span id="rk-loop-len-text">80 m</span>
                </label>
                <input type="range" min="40" max="120" value="80" step="5" class="rk-loop-range" id="rkLoopRange" oninput="rkCalcHydraulics(this.value)">
            </div>

            <div class="rk-loop-display-grid">
                
                <div class="rk-loop-visual-box" id="rkSvgStateCtrl">
                    <svg class="rk-hydro-diagram" viewBox="0 0 100 100">
                        <path d="M 30 20 L 70 20 C 81 20 90 29 90 40 L 90 60 C 90 71 81 80 70 80 L 30 80" fill="none" stroke="#1e293b" stroke-width="8" stroke-linecap="round"/>
                        <path class="rk-svg-flow-path" d="M 30 20 L 70 20 C 81 20 90 29 90 40 L 90 60 C 90 71 81 80 70 80 L 30 80" fill="none" stroke-width="4" stroke-linecap="round"/>
                        
                        <line x1="30" y1="20" x2="30" y2="40" stroke="#1e293b" stroke-width="8"/>
                        <line x1="30" y1="60" x2="30" y2="80" stroke="#1e293b" stroke-width="8"/>
                        
                        <circle cx="30" cy="50" r="14" fill="#334155" stroke="#1e293b" stroke-width="4"/>
                        <g class="rk-svg-rotor">
                            <line x1="30" y1="40" x2="30" y2="60" stroke="#94a3b8" stroke-width="3" stroke-linecap="round"/>
                            <line x1="20" y1="50" x2="40" y2="50" stroke="#94a3b8" stroke-width="3" stroke-linecap="round"/>
                            <circle cx="30" cy="50" r="3" fill="#cbd5e1"/>
                        </g>

                        <circle class="rk-svg-alert-wave" cx="70" cy="50" r="12" fill="none" stroke="#f43f5e" stroke-width="3"/>
                        <path class="rk-svg-alert-wave" d="M 64 44 L 76 56 M 76 44 L 64 56" stroke="#f43f5e" stroke-width="3" stroke-linecap="round"/>
                    </svg>
                </div>

                <div class="rk-loop-param-grid">
                    <div class="rk-loop-card-stat">
                        <div class="rk-stat-lbl">Opór hydrauliczny pętli</div>
                        <div class="rk-stat-val" id="val-pressure">19,4 <span>kPa</span></div>
                    </div>
                    <div class="rk-loop-card-stat">
                        <div class="rk-stat-lbl">Przepływ (Rotametr)</div>
                        <div class="rk-stat-val" id="val-flow">2,6 <span>l/min</span></div>
                    </div>
                    <div class="rk-loop-card-stat">
                        <div class="rk-stat-lbl">Prędkość liniowa czynnika</div>
                        <div class="rk-stat-val" id="val-velocity">0,55 <span>m/s</span></div>
                    </div>
                    <div class="rk-loop-card-stat">
                        <div class="rk-stat-lbl">Strumień masowy</div>
                        <div class="rk-stat-val">154,8 <span>kg/h</span></div>
                    </div>

                    <div class="rk-loop-feedback success" id="loop-msg">
                        <strong>Standard Inżynierski spełniony.</strong> Przepływ wody wynosi 0,55 m/s – zapewnia to samoodpowietrzanie pętli (zgodnie z PN-EN 1264) bez generowania szumów i przeciążania pompy obiegowej.
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-loop-footer-grid">
        <div class="rk-formula-card">
            <h4>1. Strumień masowy (m)</h4>
            <p>m = Q / (c_w · ΔT)</p>
        </div>
        <div class="rk-formula-card">
            <h4>2. Przepływ objętościowy (V)</h4>
            <p>V_obj = m / ρ_wody</p>
        </div>
        <div class="rk-formula-card">
            <h4>3. Prędkość liniowa (v)</h4>
            <p>v = V_obj / A_wew</p>
        </div>
    </div>
</div>

<script>
// 1. Zabezpieczenie domeny przed kradzieżą (bez tagów H2/H3 w kodzie błędu)
document.addEventListener('DOMContentLoaded', function() {
    var currentHost = window.location.hostname;
    var allowedHosts = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedHosts.indexOf(currentHost) === -1) {
        var wrapperApp = document.getElementById('rk-loop-length-app');
        if (wrapperApp) {
            wrapperApp.innerHTML = '<div style="padding:40px; text-align:center; background:#1e1b4b; color:#f43f5e; border-radius:20px; border:2px solid #f43f5e; font-family:sans-serif; font-size:15px;"><strong>Błąd autoryzacji kodu.</strong> Panel obliczeń hydraulicznych jest licencjonowany wyłącznie dla witryny Projekt-Ogrzewania.pl.</div>';
        }
    }
    // Uruchomienie kalkulatora na start z wartością normatywną 80m
    rkCalcHydraulics(80);
});

// 2. Inżynierska logika kalkulacji hydraulicznej dla rury 14x2 mm
function rkCalcHydraulics(length) {
    length = parseInt(length);
    document.getElementById('rk-loop-len-text').innerText = length + ' m';

    // Założenia projektowe z tekstu Roberta: Q = 900 W, delta T = 5 K
    // Opory rosną nieliniowo powyżej 80 metrów
    var pressure;
    if (length <= 80) {
        pressure = (length * 0.2425).toFixed(1); // Stały liniowy wzrost do 19.4 kPa
    } else {
        // Gwałtowny nieliniowy skok oporów powyżej normy 80m (zjawisko dławienia przekroju)
        pressure = (19.4 + Math.pow((length - 80), 1.35) * 0.45).toFixed(1);
    }

    // Przepływ i prędkość drastycznie spadają gdy opory blokują pętlę
    var flow, velocity;
    if (length <= 80) {
        flow = "2.6";
        velocity = "0.55";
    } else {
        // Symulacja blokowania hydraulicznego
        var dropFactor = 1 - ((length - 80) * 0.022);
        if(dropFactor < 0.2) dropFactor = 0.2; // Całkowite zdławienie / minimalny przesącz
        flow = (2.6 * dropFactor).toFixed(1);
        velocity = (0.55 * dropFactor).toFixed(2);
    }

    // Aktualizacja pól tekstowych i statystyk
    document.getElementById('val-pressure').innerHTML = pressure + ' <span>kPa</span>';
    document.getElementById('val-flow').innerHTML = flow + ' <span>l/min</span>';
    document.getElementById('val-velocity').innerHTML = velocity + ' <span>m/s</span>';

    // Obsługa stanów SVG
    var svgStateCtrl = document.getElementById('rkSvgStateCtrl');
    var msgBox = document.getElementById('loop-msg');

    if (length <= 80) {
        // Stan Bezpieczny (Safe)
        svgStateCtrl.className = "rk-loop-visual-box state-safe";
        msgBox.className = "rk-loop-feedback success";
        msgBox.innerHTML = "<strong>Standard Inżynierski spełniony.</strong> Przepływ wody wynosi " + velocity + " m/s – zapewnia to prawidłowe samoodpowietrzanie obwodu (zgodnie z PN-EN 1264) bez generowania hałasów.";
    } else {
        // Stan Zablokowany (Blocked)
        svgStateCtrl.className = "rk-loop-visual-box state-blocked";
        msgBox.className = "rk-loop-feedback danger";
        msgBox.innerHTML = "<strong>KRYTYCZNE PRZEKROCZENIE NORMY!</strong> Opory osiągnęły " + pressure + " kPa. Następuje zjawisko <strong>zamknięcia hydraulicznego</strong>. Prędkość spadła do " + velocity + " m/s – pętla zostanie zapowietrzona, a pompa obiegowa nie dogrzeje tego pomieszczenia.";
    }
}
</script>



<style>
:root {
    --rk-floor-dark: #1f2937; /* Grafit inżynieryjny */
    --rk-floor-tile: #0ea5e9; /* Błękit ceramiczny */
    --rk-floor-tile-bg: #e0f2fe;
    --rk-floor-wood: #d97706; /* Ciepły bursztyn/drewno */
    --rk-floor-wood-bg: #fef3c7;
    --rk-floor-danger: #ef4444; /* Czerwień strat */
    --rk-floor-bg: #f8fafc;
    --rk-floor-card: #ffffff;
    --rk-floor-text: #374151;
    --rk-floor-border: #e5e7eb;
}

.rk-floor-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-floor-card);
    border-radius: 20px;
    box-shadow: 0 20px 40px -15px rgba(31, 41, 55, 0.12);
    border: 1px solid var(--rk-floor-border);
    overflow: hidden;
}

/* Nagłówek sekcji */
.rk-floor-header {
    background: linear-gradient(135deg, var(--rk-floor-dark) 0%, #374151 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-floor-tile);
    transition: border-color 0.4s ease;
}

.rk-floor-container.state-wood .rk-floor-header {
    border-color: var(--rk-floor-wood);
}

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

.rk-floor-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.35;
    margin: 0 0 20px 0;
}

.rk-floor-intro {
    font-size: 15px;
    line-height: 1.75;
    color: #cbd5e1;
    margin: 0 0 15px 0;
}

.rk-floor-intro strong {
    color: #ffffff;
}

.rk-floor-link {
    color: #93c5fd;
    text-decoration: none;
    border-bottom: 1px dashed #93c5fd;
    transition: all 0.3s;
}

.rk-floor-link:hover {
    color: #ffffff;
    border-bottom-style: solid;
}

/* Część Interaktywna - Suwak i Wykresy */
.rk-floor-interactive {
    padding: 40px 50px;
    background: var(--rk-floor-bg);
}

.rk-floor-controls {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-floor-btn {
    flex: 1;
    padding: 16px 20px;
    border: 2px solid var(--rk-floor-border);
    background: #ffffff;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-floor-text);
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-floor-btn:hover { background: #f1f5f9; }

.rk-floor-btn.active[data-type="tile"] {
    border-color: var(--rk-floor-tile);
    background: var(--rk-floor-tile-bg);
    color: #0369a1;
    box-shadow: 0 8px 15px -5px rgba(14, 165, 233, 0.2);
}

.rk-floor-btn.active[data-type="wood"] {
    border-color: var(--rk-floor-wood);
    background: var(--rk-floor-wood-bg);
    color: #92400e;
    box-shadow: 0 8px 15px -5px rgba(217, 119, 6, 0.2);
}

/* Ekran Symulatora (Grid: Lewo animacja, Prawo parametry) */
.rk-floor-screen {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 30px;
    background: #ffffff;
    border: 1px solid var(--rk-floor-border);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.02);
}

/* Część wizualna (SVG) */
.rk-floor-visual {
    background: var(--rk-floor-dark);
    border-radius: 12px;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    height: 100%;
    min-height: 200px;
}

.rk-svg-cross {
    width: 100%;
    height: 100%;
}

/* Elementy SVG z CSS Transitions */
.svg-layer-top { transition: fill 0.4s ease, height 0.4s ease, y 0.4s ease; }
.svg-heat-arrow { stroke-dasharray: 10 10; transition: stroke-dashoffset 0.5s, stroke 0.4s, opacity 0.4s; }
.svg-block-wave { opacity: 0; transform-origin: top center; transition: opacity 0.4s, transform 0.4s; }

@keyframes heatFlowFast { to { stroke-dashoffset: -30; } }
@keyframes heatFlowSlow { to { stroke-dashoffset: -10; } }

/* Stan 1: Płytki (Tile) */
.state-tile .svg-layer-top { fill: #38bdf8; height: 10px; y: 20px; }
.state-tile .svg-heat-arrow { stroke: #ef4444; animation: heatFlowFast 1s linear infinite; opacity: 1; }
.state-tile .svg-block-wave { opacity: 0; transform: scaleY(0.5); }

/* Stan 2: Panele/Drewno (Wood) */
.state-wood .svg-layer-top { fill: #f59e0b; height: 18px; y: 12px; }
.state-wood .svg-heat-arrow { stroke: #f97316; animation: heatFlowSlow 2s linear infinite; opacity: 0.5; }
.state-wood .svg-block-wave { opacity: 1; transform: scaleY(1); fill: #f87171; }

/* Część z parametrami (Grid) */
.rk-floor-param-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-floor-box {
    background: var(--rk-floor-bg);
    padding: 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-floor-border);
    transition: all 0.3s;
}

.rk-floor-label {
    font-size: 12px;
    color: #64748b;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.rk-floor-value {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-floor-dark);
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.rk-floor-value span { font-size: 14px; font-weight: 600; color: #94a3b8; }

.val-dynamic { transition: color 0.3s; }
.state-tile .val-dynamic { color: var(--rk-floor-tile); }
.state-wood .val-dynamic { color: var(--rk-floor-danger); }

/* Podsumowanie/Feedback */
.rk-floor-feedback {
    grid-column: 1 / -1;
    font-size: 14px;
    color: var(--rk-floor-text);
    line-height: 1.6;
    margin-top: 10px;
    padding-top: 20px;
    border-top: 1px solid var(--rk-floor-border);
}

/* Wzory i procedury - dół */
.rk-floor-footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding: 0 50px 40px;
}

.rk-floor-info-card {
    background: #ffffff;
    border: 1px solid var(--rk-floor-border);
    padding: 25px;
    border-radius: 16px;
}

.rk-floor-info-card h4 {
    font-size: 15px;
    font-weight: 800;
    margin: 0 0 10px 0;
    color: var(--rk-floor-dark);
}

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

.rk-math-block {
    background: var(--rk-floor-bg);
    padding: 12px;
    border-radius: 8px;
    font-family: monospace;
    font-size: 13px;
    color: var(--rk-floor-dark);
    margin-top: 10px;
    border-left: 3px solid #64748b;
}

@media (max-width: 768px) {
    .rk-floor-header, .rk-floor-interactive { padding: 30px 20px; }
    .rk-floor-controls { flex-direction: column; }
    .rk-floor-screen { grid-template-columns: 1fr; }
    .rk-floor-visual { min-height: 160px; }
    .rk-floor-param-grid { grid-template-columns: 1fr; }
    .rk-floor-footer-grid { grid-template-columns: 1fr; padding: 0 20px 30px; gap: 15px; }
    .rk-floor-title { font-size: 24px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-okladziny",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Wpływ okładziny podłogowej na wydajność frezowanej podłogówki",
    "description": "Porównanie oporu cieplnego (gres vs panele) zgodnie z normą PN-EN 1264-3. Jak wybór materiału wpływa na temperaturę zasilania i koszty pracy pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-opor-cieplny",
    "name": "Tabela oporu cieplnego posadzek i wpływu na zasilanie pompy ciepła",
    "description": "Techniczne zestawienie parametrów przewodzenia dla płytek ceramicznych i paneli laminowanych w układach płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "opór cieplny posadzki r",
      "panele na ogrzewanie podłogowe",
      "gres a podłogówka",
      "spadek temperatury okładziny",
      "norma PN-EN 1264-3"
    ],
    "measurementTechnique": "Obliczenia spadku temperatury ΔT wg prawa Fouriera dla założonej gęstości strumienia cieplnego q = 60 W/m².",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Gres/Ceramika: R = 0,015 m²·K/W. Minimalny opór, spadek temperatury to zaledwie 0,9 K.",
        "Panele podłogowe: R = 0,10 m²·K/W. Znaczny opór izolacyjny, wymuszający podniesienie zasilania o 5,1 K."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-opor-cieplny",
    "name": "Symulator Strat na Oporze Cieplnym",
    "description": "Interaktywny panel zestawiający różnice termiczne i ekonomiczne pomiędzy zastosowaniem ceramiki a drewna/paneli nad instalacją podłogową.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-floor-container state-tile" id="rk-floor-sim-app">
    <div class="rk-floor-header">
        <div class="rk-floor-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><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>
            Materiały wykończeniowe
        </div>
        <h2 class="rk-floor-title">Jak rodzaj okładziny wpływa na wydajność frezowanej podłogówki?</h2>
        <p class="rk-floor-intro">
            Rodzaj okładziny wierzchniej decyduje o końcowej gęstości strumienia cieplnego. Zgodnie z wytycznymi normy <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/" class="rk-floor-link">PN-EN 1264-3</a>, całkowity <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/" class="rk-floor-link">opór cieplny (R) warstw posadzkowych</a> nad rurami nie może przekraczać <strong>0,15 m²·K/W</strong>. 
        </p>
        <p class="rk-floor-intro" style="margin:0;">
            Wybór między ceramiką a drewnem dramatycznie wpływa na to, czy nasze źródło ciepła będzie pracowało ekonomicznie, czy z wymuszonym, wyższym parametrem zasilania.
        </p>
    </div>

    <div class="rk-floor-interactive">
        <div class="rk-floor-controls">
            <button class="rk-floor-btn active" data-type="tile" onclick="rkSwitchFloor('tile')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect></svg>
                Gres / Płytki Ceramiczne
            </button>
            <button class="rk-floor-btn" data-type="wood" onclick="rkSwitchFloor('wood')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="4" y1="21" x2="4" y2="14"></line><line x1="4" y1="10" x2="4" y2="3"></line><line x1="12" y1="21" x2="12" y2="12"></line><line x1="12" y1="8" x2="12" y2="3"></line><line x1="20" y1="21" x2="20" y2="16"></line><line x1="20" y1="12" x2="20" y2="3"></line></svg>
                Panele / Deska Warstwowa
            </button>
        </div>

        <div class="rk-floor-screen">
            <div class="rk-floor-visual">
                <svg class="rk-svg-cross" viewBox="0 0 100 100" preserveAspectRatio="none">
                    <circle cx="50" cy="70" r="10" fill="#cbd5e1" stroke="#334155" stroke-width="2"/>
                    <circle cx="50" cy="70" r="6" fill="#ef4444"/>

                    <path class="svg-block-wave" d="M 20 30 Q 50 40 80 30" fill="none" stroke="#ef4444" stroke-width="4" stroke-linecap="round"/>
                    
                    <path class="svg-heat-arrow" d="M 35 60 L 35 5" fill="none" stroke-width="4" stroke-linecap="round"/>
                    <path class="svg-heat-arrow" d="M 50 55 L 50 0" fill="none" stroke-width="5" stroke-linecap="round"/>
                    <path class="svg-heat-arrow" d="M 65 60 L 65 5" fill="none" stroke-width="4" stroke-linecap="round"/>
                    
                    <rect class="svg-layer-top" x="0" width="100"/>
                    <line x1="0" y1="30" x2="100" y2="30" stroke="#334155" stroke-width="2" stroke-dasharray="4 2"/>
                </svg>
            </div>

            <div class="rk-floor-param-grid">
                <div class="rk-floor-box">
                    <div class="rk-floor-label">Opór cieplny (R)</div>
                    <div class="rk-floor-value val-dynamic" id="rk-val-r">0,015 <span>m²·K/W</span></div>
                </div>
                <div class="rk-floor-box">
                    <div class="rk-floor-label">Spadek temp. warstwy (ΔT)</div>
                    <div class="rk-floor-value val-dynamic" id="rk-val-dt">0,9 <span>K</span></div>
                </div>
                <div class="rk-floor-box">
                    <div class="rk-floor-label">Wydajność (Zasilanie 35°C)</div>
                    <div class="rk-floor-value val-dynamic" id="rk-val-power">85 - 100 <span>W/m²</span></div>
                </div>
                <div class="rk-floor-box">
                    <div class="rk-floor-label">Narzut kosztów prądu (Pompa)</div>
                    <div class="rk-floor-value val-dynamic" id="rk-val-cost">0% <span>(Baza)</span></div>
                </div>

                <div class="rk-floor-feedback" id="rk-floor-msg">
                    <strong>Idealny przesył energii.</strong> Ceramika wykazuje znikomy opór cieplny. Ogrzewanie podłogowe pracuje na minimalnych temperaturach zasilania, co gwarantuje najwyższy możliwy współczynnik COP dla pompy ciepła.
                </div>
            </div>
        </div>
    </div>

    <div class="rk-floor-footer-grid">
        <div class="rk-floor-info-card">
            <h4>Obliczenie wpływu oporu posadzki</h4>
            <p>Załóżmy zapotrzebowanie na poziomie gęstości strumienia <strong>q = 60 W/m²</strong>. Wzór na spadek temperatury na samej warstwie okładziny wyznacza się z prostej zależności:</p>
            <div class="rk-math-block">
                ΔT_okładziny = q · R
            </div>
            <p style="margin-top:10px;">Dla paneli musimy podnieść temperaturę wody zasilającej rozdzielacz o całe <strong>5,1 K</strong> względem układu z gresem, by dostarczyć do pokoju tyle samo ciepła.</p>
        </div>
        <div class="rk-floor-info-card">
            <h4>Wpływ na koszty pompy ciepła</h4>
            <p>
                Każde wymuszone <a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/" style="color:var(--rk-floor-dark); font-weight:700;">podniesienie temperatury zasilania o 1°C</a> (aby przebić się przez barierę, jaką stanowią panele) skutkuje spadkiem sprawności sprężarki. W skali całego sezonu grzewczego oznacza to <strong>wzrost zużycia energii elektrycznej o około 2,5% na każdy stopień</strong>. Wybór drewna to ok. 12-15% wyższe rachunki za ogrzewanie.
            </p>
        </div>
    </div>
</div>

<script>
// 1. Zabezpieczenie domeny przed kradzieżą (bez H2/H3 w kodzie błędu)
document.addEventListener('DOMContentLoaded', function() {
    var checkDomain = window.location.hostname;
    var allowedHosts = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedHosts.indexOf(checkDomain) === -1) {
        var wrapperApp = document.getElementById('rk-floor-sim-app');
        if (wrapperApp) {
            wrapperApp.innerHTML = '<div style="padding:40px; text-align:center; background:#1f2937; color:#ef4444; border-radius:20px; border:2px solid #ef4444; font-family:sans-serif; font-size:15px;"><strong>Odmowa dostępu.</strong> Ten symulator jest licencjonowany wyłącznie dla witryny Projekt-Ogrzewania.pl.</div>';
        }
    }
});

// 2. Logika przełączania symulatora
function rkSwitchFloor(type) {
    var container = document.getElementById('rk-floor-sim-app');
    var msgBox = document.getElementById('rk-floor-msg');
    
    // Zmiana przycisków
    var btns = document.querySelectorAll('.rk-floor-btn');
    btns.forEach(function(btn) { btn.classList.remove('active'); });
    document.querySelector('.rk-floor-btn[data-type="' + type + '"]').classList.add('active');

    // Zmiana klas w kontenerze (uruchamia CSS SVG)
    if (type === 'tile') {
        container.className = 'rk-floor-container state-tile';
        
        document.getElementById('rk-val-r').innerHTML = "0,015 <span>m²·K/W</span>";
        document.getElementById('rk-val-dt').innerHTML = "0,9 <span>K</span>";
        document.getElementById('rk-val-power').innerHTML = "85 - 100 <span>W/m²</span>";
        document.getElementById('rk-val-cost').innerHTML = "0% <span>(Baza)</span>";

        msgBox.innerHTML = "<strong>Idealny przesył energii.</strong> Ceramika wykazuje znikomy opór cieplny. Ogrzewanie podłogowe pracuje na minimalnych temperaturach zasilania, co gwarantuje najwyższy możliwy współczynnik COP dla pompy ciepła.";
        
    } else {
        container.className = 'rk-floor-container state-wood';
        
        document.getElementById('rk-val-r').innerHTML = "0,10 <span>m²·K/W</span>";
        document.getElementById('rk-val-dt').innerHTML = "6,0 <span>K</span>";
        document.getElementById('rk-val-power').innerHTML = "50 - 65 <span>W/m²</span>";
        document.getElementById('rk-val-cost').innerHTML = "+ 12,5% <span>(Straty)</span>";

        msgBox.innerHTML = "<strong>Izolator na podłogówce.</strong> Panele lub deski stawiają opór, blokując ciepło. Instalacja <a href='https://projekt-ogrzewania.pl/czy-pod-ogrzewanie-podlogowe-nadaja-sie-panele-czy-tylko-plytki/' style='color:#ef4444; font-weight:700;'>wymusza podniesienie parametru zasilania</a> o dodatkowe ~5°C, by osiągnąć tę samą temperaturę w pomieszczeniu.";
    }
}
</script>



<style>
:root {
    --rk-err-dark: #0f172a; /* Głęboki asfaltowy grafit */
    --rk-err-alert: #eab308; /* Żółć ostrzegawcza (Safety Yellow) */
    --rk-err-alert-light: #fef9c3;
    --rk-err-danger: #ef4444; /* Alarmowa czerwień */
    --rk-err-danger-light: #fef2f2;
    --rk-err-bg: #f8fafc;
    --rk-err-card: #ffffff;
    --rk-err-text: #334155;
    --rk-err-border: #e2e8f0;
}

.rk-err-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-err-card);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.2);
    border: 1px solid rgba(234, 179, 8, 0.3);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-err-header {
    background: linear-gradient(135deg, #1c1917 0%, var(--rk-err-dark) 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
}

.rk-err-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--rk-err-alert) 0%, var(--rk-err-danger) 100%);
}

.rk-err-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(234, 179, 8, 0.15);
    color: #fef08a;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
    border: 1px solid rgba(254, 240, 138, 0.2);
}

.rk-err-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.35;
    margin: 0 0 20px 0;
}

.rk-err-intro {
    font-size: 15px;
    line-height: 1.8;
    color: #cbd5e1;
    margin: 0;
}

.rk-err-intro strong {
    color: #ffffff;
}

.rk-err-link {
    color: #fef08a;
    text-decoration: none;
    border-bottom: 1px dashed #fef08a;
    transition: all 0.3s;
}

.rk-err-link:hover {
    color: #ffffff;
    border-bottom-style: solid;
}

/* Moduł Interaktywny */
.rk-err-interactive {
    padding: 40px 50px;
    background: var(--rk-err-bg);
}

.rk-err-grid-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 30px;
}

/* Lewa strona: Selektor błędów */
.rk-err-menu {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-menu-btn {
    padding: 15px;
    background: #ffffff;
    border: 2px solid var(--rk-err-border);
    border-radius: 12px;
    text-align: left;
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-err-text);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    line-height: 1.4;
}

.rk-menu-btn:hover { background: #f1f5f9; border-color: #cbd5e1; }

.rk-menu-btn.active[data-err="dust"] { border-color: var(--rk-err-alert); background: var(--rk-err-alert-light); color: #854d0e; }
.rk-menu-btn.active[data-err="deep"] { border-color: var(--rk-err-danger); background: var(--rk-err-danger-light); color: #991b1b; }
.rk-menu-btn.active[data-err="bend"] { border-color: #a855f7; background: #f3e8ff; color: #6b21a8; }

/* Prawa strona: Monitor rentgenowski i SVG */
.rk-err-monitor {
    background: #ffffff;
    border: 1px solid var(--rk-err-border);
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
}

.rk-err-visual-frame {
    background: #1e1b4b; /* Ciemne indygo dla efektu RTG */
    border-radius: 12px;
    padding: 20px;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    border: 2px solid #312e81;
}

.rk-err-svg {
    width: 100%;
    height: 100%;
    max-width: 320px;
}

/* Elementy i warstwy SVG */
.svg-layer-dust { opacity: 0; transition: opacity 0.4s; }
.svg-screed-crack { opacity: 0; stroke-dasharray: 40; stroke-dashoffset: 40; transition: opacity 0.4s; }
.svg-foil-cut { d: path("M 10 80 L 90 80"); transition: all 0.4s; }
.svg-pipe-kink { d: path("M 35 30 Q 50 40 65 30"); transition: all 0.4s; }

/* --- STANY ANIMACJI DLA POSZCZEGÓLNYCH BŁĘDÓW --- */
/* Stan: dust (Brak odkurzania i gruntu) */
.state-dust .svg-layer-dust { opacity: 1; }
.state-dust .svg-screed-crack { opacity: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 0.6s 0.2s ease-out; }

/* Stan: deep (Zbyt głębokie cięcie) */
.state-deep .svg-screed-box { transform: translateY(12px); } /* Symulacja głębszego cięcia */
.state-deep .svg-foil-cut { d: path("M 10 80 L 42 80 L 50 92 L 58 80 L 90 80"); stroke: var(--rk-err-danger); }

/* Stan: bend (Zły promień gięcia) */
.state-bend .svg-pipe-kink { d: path("M 35 30 L 50 52 L 65 30"); stroke: #c084fc; stroke-width: 10; }

/* Tekst dynamiczny */
.rk-err-dynamic-text {
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-err-text);
    min-height: 80px;
}

/* Dolna sekcja z kafelkami dla Mobile */
.rk-err-footer-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 30px 50px 40px;
    background: #ffffff;
}

.rk-err-tile-card {
    background: var(--rk-err-bg);
    border: 1px solid var(--rk-err-border);
    padding: 20px;
    border-radius: 12px;
}

.rk-err-tile-card h4 {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-err-dark);
    margin: 0 0 8px 0;
}

.rk-err-tile-card p {
    font-size: 12px;
    line-height: 1.5;
    color: #64748b;
    margin: 0;
}

@media (max-width: 768px) {
    .rk-err-header, .rk-err-interactive { padding: 30px 20px; }
    .rk-err-grid-layout { grid-template-columns: 1fr; }
    .rk-err-footer-list { grid-template-columns: 1fr; padding: 0 20px 30px; gap: 15px; }
    .rk-err-title { font-size: 24px; }
    .rk-err-visual-frame { height: 150px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Najczęstsze błędy wykonawcze podczas frezowania podłogówki",
    "description": "Przewodnik po awariach i uchybieniach montażowych. Dowiedz się, dlaczego brak odkurzania bruzd, brak dylatacji i zbyt mały promień gięcia niszczą jastrych.",
    "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-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-awarie",
    "name": "Wskaźniki fizyczne i strukturalne błędów wykonawczych",
    "description": "Zestawienie fizycznych wartości granicznych naprężeń termicznych, długości osłon oraz ciśnień kontrolnych dla systemów jastrychów nacinanych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy wykonawcze frezowania ogrzewania",
      "odparzenie jastrychu naprężenia termiczne",
      "promień gięcia rury pex pert",
      "norma PN-EN 1264-4 dylatacje",
      "ciśnieniowa próba szczelności podłogówki"
    ],
    "measurementTechnique": "Analiza wytrzymałościowa adhezji zapraw pod wpływem naprężeń termicznych powyżej 0,2 N/mm² oraz weryfikacja spadków ciśnienia testowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Naprężenia termiczne: Przekroczenie 0,2 N/mm² przy braku gruntu powoduje nieodwracalne odspojenie okładziny.",
        "Promień łuku: Przekroczenie kryterium r < 5d generuje mikropęknięcia struktury polimeru i wzrost oporów o 40%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-detektor-bledow",
    "name": "Interaktywny Detektor Uszkodzeń Przegrody",
    "description": "Aplikacja symulująca rtg posadzki i wizualizująca skutki mechaniczne oraz hydrauliczne zaniechania procedur normatywnych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="rk-damage-detector-app">
    <div class="rk-err-header">
        <div class="rk-err-badge">
            <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>
            Czerwone Flagi Montażu
        </div>
        <h2 class="rk-err-title">Jakie są najczęstsze błędy wykonawcze podczas frezowania podłogówki?</h2>
        <p class="rk-err-intro">
            Najpoważniejszym uchybieniem jest niedokładne oczyszczenie i zaniechanie gruntowania wyfrezowanych rowków przed aplikacją masy wypełniającej. Skutkuje to brakiem adhezji i <strong>odparzeniem jastrychu pod wpływem naprężeń termicznych o wartości powyżej 0,2 N/mm²</strong>. Pył powstały podczas cięcia działa jak warstwa separacyjna – jeśli nie zostanie odessany odkurzaczem przemysłowym klasy M, wlewana masa naprawcza nie zwiąże się strukturalnie z podłożem.
        </p>
        <p class="rk-err-intro" style="margin-top: 15px;">
            Kolejnym krytycznym błędem jest <strong>zbyt głębokie frezowanie (powyżej 25 mm)</strong>, które w wylewkach o grubości 40 mm przecina jastrych na wylot, niszcząc izolację przeciwwilgociową z folii i doprowadzając do penetracji wody w głąb stropu.
        </p>
    </div>

    <div class="rk-err-interactive">
        <div id="rk-err-view-core" class="rk-err-grid-layout state-dust">
            
            <div class="rk-err-menu">
                <button class="rk-menu-btn active" data-err="dust" onclick="rkToggleError('dust')">1. Pył i brak gruntowania bruzd</button>
                <button class="rk-menu-btn" data-err="deep" onclick="rkToggleError('deep')">2. Zbyt głęboki wykop frezarki</button>
                <button class="rk-menu-btn" data-err="bend" onclick="rkToggleError('bend')">3. Załamanie rury na zakręcie</button>
            </div>

            <div class="rk-err-monitor">
                <div class="rk-err-visual-frame">
                    <svg class="rk-err-svg" viewBox="0 0 100 100">
                        <rect x="0" y="85" width="100" height="15" fill="#1e1b4b"/>
                        
                        <path class="svg-foil-cut" fill="none" stroke="#6366f1" stroke-width="2"/>

                        <g class="svg-screed-box" style="transition: transform 0.4s;">
                            <rect x="10" y="30" width="80" height="50" fill="#475569" opacity="0.8"/>
                            <path d="M 35 30 L 35 60 L 65 60 L 65 30" fill="#1e1b4b"/>
                            
                            <path class="svg-layer-dust" d="M 35 30 L 35 60 L 65 60 L 65 30" fill="none" stroke="#eab308" stroke-width="3"/>
                            
                            <path class="svg-pipe-kink" fill="none" stroke="#ef4444" stroke-width="8" stroke-linecap="round"/>
                            <path class="svg-pipe-kink" fill="none" stroke="#38bdf8" stroke-width="4" stroke-linecap="round"/>

                            <path class="svg-screed-crack" d="M 35 45 L 20 40 M 65 50 L 85 55 M 50 60 L 50 75" fill="none" stroke="#ef4444" stroke-width="2" stroke-linecap="round"/>
                        </g>
                    </svg>
                </div>

                <div class="rk-err-dynamic-text" id="rk-err-text-content">
                    Wadliwe wykonanie. Pozostawiony mącznik i pył betonowy drastycznie ograniczają adhezję mas cementowych. Pod wpływem naprężeń termicznych powyżej <strong>0,2 N/mm²</strong> górna warstwa posadzki pęka i odkleja się od starego podłoża, niszcząc płytki lub panele.
                </div>
            </div>

        </div>
    </div>

    <div class="rk-err-footer-list">
        <div class="rk-err-tile-card" style="border-top: 3px solid var(--rk-err-alert);">
            <h4>Brak dylatacji progowych</h4>
            <p>
                Zignorowanie wytycznych normy <strong>PN-EN 1264-4</strong> w progach drzwiowych skutkuje pękaniem jastrychu. Rury przechodzące przez szczeliny dylatacyjne muszą bezwzględnie biec w peszlach ochronnych o długości min. <strong>400 mm</strong>.
            </p>
        </div>
        <div class="rk-err-tile-card" style="border-top: 3px solid #a855f7;">
            <h4>Zaginanie rury "na siłę"</h4>
            <p>
                Przekroczenie minimalnego promienia gięcia (<strong>r < 5d</strong>, czyli poniżej <strong>70 mm</strong> dla rury 14 mm) wywołuje mikropęknięcia struktury polimeru EVOH. <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/" style="color:#a855f7; font-weight:700;">Zadławienie przekroju rury</a> podnosi opory hydrauliczne o ponad <strong>40%</strong>.
            </p>
        </div>
        <div class="rk-err-tile-card" style="border-top: 3px solid var(--rk-err-danger);">
            <h4>Zalewanie bez próby 0,6 MPa</h4>
            <p>
                Zalanie bruzd masą samopoziomującą bez wykonania 24-godzinnego testu szczelności to skrajna nieodpowiedzialność. Rury muszą pozostać pod <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/" style="color:var(--rk-err-danger); font-weight:700;">roboczym ciśnieniem próbnym</a> podczas całego procesu aplikacji chemii budowlanej.
            </p>
        </div>
    </div>
</div>

<script>
// 1. Ochrona licencji kodu (bez tagów nagłówkowych H2/H3 w komunikacie)
document.addEventListener('DOMContentLoaded', function() {
    var currentDomain = window.location.hostname;
    var whitelist = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (whitelist.indexOf(currentDomain) === -1) {
        var wrapper = document.getElementById('rk-damage-detector-app');
        if (wrapper) {
            wrapper.innerHTML = '<div style="padding:40px; text-align:center; background:#1c1917; color:#ef4444; border-radius:20px; border:2px solid #ef4444; font-family:sans-serif; font-size:15px;"><strong>Naruszenie protokołu bezpieczeństwa.</strong> Skrypt monitorowania błędów wykonawczych jest przypisany wyłącznie do serwisu Projekt-Ogrzewania.pl.</div>';
        }
    }
});

// 2. Logika przełącznika błędów wykonawczych
function rkToggleError(errorType) {
    var coreView = document.getElementById('rk-err-view-core');
    var textFrame = document.getElementById('rk-err-text-content');

    // Reset klas widoku
    coreView.className = "rk-err-grid-layout";
    coreView.classList.add('state-' + errorType);

    // Zmiana klas aktywności przycisków menu
    var buttons = document.querySelectorAll('.rk-menu-btn');
    buttons.forEach(function(b) { b.classList.remove('active'); });
    document.querySelector('.rk-menu-btn[data-err="' + errorType + '"]').classList.add('active');

    // Dynamiczna aktualizacja tekstu inżynierskiego
    if (errorType === 'dust') {
        textFrame.innerHTML = "Wadliwe wykonanie. Pozostawiony mącznik i pył betonowy drastycznie ograniczają adhezję mas cementowych. Pod wpływem naprężeń termicznych powyżej <strong>0,2 N/mm²</strong> górna warstwa posadzki pęka i odkleja się od starego podłoża, niszcząc płytki lub panele.";
    } else if (errorType === 'deep') {
        textFrame.innerHTML = "Krytyczne osłabienie jastrychu. Frezowanie na głębokość powyżej <strong>25 mm</strong> przy cienkiej wylewce przecina beton konstrukcyjny i rozrywa dolną <a href='https://projekt-ogrzewania.pl/jakie-sposoby-izolacji-pod-ogrzewanie-podlogowe/' style='color:var(--rk-err-danger); font-weight:700;'>folię izolacyjną</a>. Woda z masy zarobowej przenika w głąb stropu, wywołując zacieki.";
    } else {
        textFrame.innerHTML = "Wada hydrauliczna. Gięcie rury ze zbyt małym promieniem (<strong>poniżej 70 mm</strong>) powoduje przewężenie przekroju (tzw. załamanie rury). Skutkuje to lokalnym <a href='https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/' style='color:#6b21a8; font-weight:700;'>wzrostem oporów hydraulicznych obwodu o ponad 40%</a> i dławieniem przepływu.";
    }
}
</script>



<style>
:root {
    --rk-cs2-dark: #0f172a; /* Głęboki granat */
    --rk-cs2-brand: #10b981; /* Szmaragdowy - Sukces */
    --rk-cs2-brand-light: #d1fae5;
    --rk-cs2-accent: #3b82f6; /* Błękit inżynierski */
    --rk-cs2-danger: #ef4444; /* Czerwony - Awaria/Błąd */
    --rk-cs2-danger-light: #fee2e2;
    --rk-cs2-bg: #f8fafc;
    --rk-cs2-card: #ffffff;
    --rk-cs2-text: #475569;
    --rk-cs2-border: #e2e8f0;
}

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

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

.rk-cs2-header::after {
    content: '';
    position: absolute;
    top: -100px;
    right: -50px;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(16, 185, 129, 0.15) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.rk-cs2-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #6ee7b7;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    border: 1px solid rgba(110, 231, 183, 0.2);
}

.rk-cs2-title {
    font-size: 32px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 25px 0;
    color: #ffffff;
    position: relative;
    z-index: 2;
}

/* Kafelki metryczki w headerze */
.rk-cs2-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    position: relative;
    z-index: 2;
}

.rk-cs2-stat-box {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 15px;
    border-radius: 12px;
    backdrop-filter: blur(8px);
}

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

.rk-cs2-stat-value {
    display: block;
    font-size: 17px;
    font-weight: 900;
    color: #ffffff;
}

/* ================= AUTOR I WSTĘP ================= */
.rk-cs2-intro-section {
    padding: 40px 50px 30px;
    background: #ffffff;
}

.rk-cs2-author-box {
    background: var(--rk-cs2-bg);
    border-left: 4px solid var(--rk-cs2-accent);
    padding: 20px;
    border-radius: 0 16px 16px 0;
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
}

.rk-cs2-author-photo {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #ffffff;
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.2);
    flex-shrink: 0;
}

.rk-cs2-author-text {
    font-size: 15px;
    color: var(--rk-cs2-dark);
    line-height: 1.6;
    margin: 0;
}

.rk-cs2-author-text a {
    color: var(--rk-cs2-accent);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

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

.rk-cs2-lead strong {
    color: var(--rk-cs2-dark);
}

/* ================= INTERAKTYWNA ANALIZA BŁĘDU ================= */
.rk-cs2-interactive {
    padding: 0 50px 40px;
}

.rk-cs2-sim-wrapper {
    background: #ffffff;
    border: 1px solid var(--rk-cs2-border);
    border-radius: 20px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    overflow: hidden;
}

/* Zakładki sterujące */
.rk-cs2-tabs {
    display: flex;
    border-bottom: 1px solid var(--rk-cs2-border);
    background: var(--rk-cs2-bg);
}

.rk-cs2-tab-btn {
    flex: 1;
    padding: 20px;
    border: none;
    background: transparent;
    font-size: 15px;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-cs2-tab-btn:hover { background: #f1f5f9; color: var(--rk-cs2-dark); }

.rk-cs2-tab-btn.active[data-view="amateur"] {
    background: #ffffff;
    color: #b91c1c;
    border-bottom: 3px solid var(--rk-cs2-danger);
}

.rk-cs2-tab-btn.active[data-view="pro"] {
    background: #ffffff;
    color: #047857;
    border-bottom: 3px solid var(--rk-cs2-brand);
}

/* Ekran SVG + Wyniki */
.rk-cs2-screen {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 30px;
    padding: 30px;
}

.rk-cs2-visual {
    background: var(--rk-cs2-dark);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    border: 2px solid #1e293b;
}

.rk-cs2-svg { width: 100%; height: 100%; }

/* --- NOWE Animacje i warstwy dla rzutu (Blueprint) --- */
.svg-blueprint-path { fill: none; stroke-linecap: round; stroke-linejoin: round; transition: opacity 0.4s; }
.svg-flow-anim { stroke-dasharray: 8 8; animation: flowBlueprint 1s linear infinite; }
.svg-gauge-pointer { transform-origin: 50px 50px; transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); }

@keyframes flowBlueprint { to { stroke-dashoffset: -16; } }
@keyframes pulseDanger { 0% { filter: drop-shadow(0 0 2px #ef4444); } 100% { filter: drop-shadow(0 0 10px #ef4444); } }

/* Stan 1: Amatorski (1 długa pętla = Błąd) */
.state-amateur .svg-blueprint-amateur { opacity: 1; stroke: #ef4444; }
.state-amateur .svg-blueprint-pro { opacity: 0; }
.state-amateur .svg-gauge-pointer { transform: rotate(120deg); stroke: #ef4444; }
.state-amateur .svg-danger-ring { stroke: #ef4444; animation: pulseDanger 1s infinite alternate; opacity: 1; }

/* Stan 2: Pro (3 krótkie strefy = Sukces) */
.state-pro .svg-blueprint-amateur { opacity: 0; }
.state-pro .svg-blueprint-pro { opacity: 1; stroke: #10b981; }
.state-pro .svg-gauge-pointer { transform: rotate(-50deg); stroke: #10b981; }
.state-pro .svg-danger-ring { opacity: 0; }

/* Panel Wyników Textowych */
.rk-cs2-data-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-cs2-data-title {
    font-size: 18px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: var(--rk-cs2-dark);
}

.rk-cs2-data-desc {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-cs2-text);
    margin: 0 0 20px 0;
}

.rk-cs2-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-cs2-metric-box {
    background: var(--rk-cs2-bg);
    border: 1px solid var(--rk-cs2-border);
    padding: 15px;
    border-radius: 12px;
}

.rk-cs2-metric-lbl { font-size: 11px; color: #64748b; font-weight: 800; text-transform: uppercase; margin-bottom: 5px; }
.rk-cs2-metric-val { font-size: 18px; font-weight: 900; color: var(--rk-cs2-dark); }
.rk-cs2-metric-val span { font-size: 13px; font-weight: 600; color: #94a3b8; }

.state-amateur .dyn-color { color: #dc2626; }
.state-pro .dyn-color { color: #059669; }

/* ================= REZULTATY I CTA ================= */
.rk-cs2-results-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 0 50px 40px;
}

.rk-cs2-result-card {
    background: #ffffff;
    border: 1px solid var(--rk-cs2-border);
    padding: 25px;
    border-radius: 16px;
    position: relative;
    overflow: hidden;
}

.rk-cs2-result-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: var(--rk-cs2-brand);
}

.rk-cs2-result-card.gold::before { background: #f59e0b; }

.rk-cs2-result-lbl { font-size: 12px; color: #64748b; font-weight: 800; text-transform: uppercase; margin-bottom: 10px; }
.rk-cs2-result-val { font-size: 26px; font-weight: 900; color: var(--rk-cs2-dark); margin-bottom: 10px; }
.rk-cs2-result-desc { font-size: 13px; color: var(--rk-cs2-text); line-height: 1.5; margin: 0; }

/* CTA */
.rk-cs2-cta {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    padding: 40px 50px;
    text-align: center;
    border-top: 4px solid var(--rk-cs2-accent);
}

.rk-cs2-cta-h3 { font-size: 22px; font-weight: 900; color: #ffffff; margin: 0 0 15px 0; }
.rk-cs2-cta-p { font-size: 15px; color: #94a3b8; line-height: 1.6; max-width: 700px; margin: 0 auto 30px auto; }

.rk-cs2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-cs2-accent);
    color: #ffffff;
    font-size: 16px;
    font-weight: 900;
    padding: 18px 36px;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(59, 130, 246, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-cs2-btn:hover { transform: translateY(-4px); background: #2563eb; box-shadow: 0 15px 35px -5px rgba(59, 130, 246, 0.5); }
.rk-cs2-btn svg { transition: transform 0.3s; }
.rk-cs2-btn:hover svg { transform: translateX(5px); }

@media (max-width: 768px) {
    .rk-cs2-header, .rk-cs2-intro-section, .rk-cs2-interactive, .rk-cs2-cta { padding: 30px 20px; }
    .rk-cs2-stats-grid { grid-template-columns: 1fr 1fr; }
    .rk-cs2-author-box { flex-direction: column; text-align: center; border-left: none; border-top: 4px solid var(--rk-cs2-accent); border-radius: 0 0 16px 16px; }
    .rk-cs2-tabs { flex-direction: column; }
    .rk-cs2-screen { grid-template-columns: 1fr; padding: 20px; }
    .rk-cs2-results-grid { grid-template-columns: 1fr; padding: 0 20px 30px; }
    .rk-cs2-visual { height: 220px; }
    .rk-cs2-title { font-size: 24px; }
    .rk-cs2-btn { width: 100%; padding: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Case Study: Rzeczywisty projekt termomodernizacji w Szczecinie",
    "description": "Analiza inżynierska termomodernizacji 135 m² domu ze zmianą źródła ciepła na pompę. Redukcja pętli z 110m do 72m uchroniła instalację przed oporami rzędu 38 kPa.",
    "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": "2026-05-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-szczecin",
    "name": "Parametry Projektowe i Oszczędności - Termomodernizacja Szczecin",
    "description": "Zestawienie parametrów wejściowych budynku wykorzystanych do optymalizacji hydraulicznej zasilania ogrzewania podłogowego po frezowaniu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego frezowanego",
      "opory hydrauliczne 38 kpa rura 14mm",
      "maksymalna długość pętli ogrzewania podłogowego",
      "projektowe obciążenie cieplne budynku 7.8 kw",
      "wymiana kotła na pompę ciepła szczecin"
    ],
    "measurementTechnique": "Obliczenia hydrauliczne długości pętli (max 72 m) względem projektowego obciążenia cieplnego (7,8 kW) w celu zapobieżenia zjawisku dławienia przepływów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przed poprawkami OZC: Planowane pętle 110 m, opór krytyczny 38 kPa (awaria).",
        "Po wdrożeniu OZC: Podział na 11 pętli max 72 m, opór bezpieczny 14,2 kPa, roczne oszczędności eksploatacyjne 42%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-symulator-szczecin",
    "name": "Symulator Optymalizacji Hydraulicznej Szczecin",
    "description": "Panel analityczny wizualizujący błąd przewymiarowania długości pętli i wzrostu oporów względem optymalnego podziału obiegów grzewczych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cs2-container" id="rk-casestudy-app">
    <div class="rk-cs2-header">
        <div class="rk-cs2-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>
            Case Study (Projekt Wdrożeniowy)
        </div>
        <h2 class="rk-cs2-title">Rzeczywisty projekt termomodernizacji w Szczecinie</h2>
        
        <div class="rk-cs2-stats-grid">
            <div class="rk-cs2-stat-box">
                <span class="rk-cs2-stat-label">Termin</span>
                <span class="rk-cs2-stat-value">Wrzesień 2026</span>
            </div>
            <div class="rk-cs2-stat-box">
                <span class="rk-cs2-stat-label">Lokalizacja</span>
                <span class="rk-cs2-stat-value">Szczecin</span>
            </div>
            <div class="rk-cs2-stat-box">
                <span class="rk-cs2-stat-label">Powierzchnia</span>
                <span class="rk-cs2-stat-value">135 m²</span>
            </div>
            <div class="rk-cs2-stat-box">
                <span class="rk-cs2-stat-label">System</span>
                <span class="rk-cs2-stat-value">Pompa Ciepła</span>
            </div>
        </div>
    </div>

    <div class="rk-cs2-intro-section">
        <div class="rk-cs2-author-box">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski Inżynier HVAC" class="rk-cs2-author-photo" loading="lazy">
            <p class="rk-cs2-author-text">
                "Inwestor Mariusz zmagał się z problemem drastycznie wysokich kosztów utrzymania starego kotła węglowego. Całkowity brak możliwości podniesienia posadzek (osadzone ościeżnice) narzucił jedyne racjonalne rozwiązanie..." – <strong><a href="https://projekt-ogrzewania.pl/">Robert Kucharski</a></strong>, CEO.
            </p>
        </div>
        
        <p class="rk-cs2-lead">
            Szybka odpowiedź inżynierska polegała na całkowitej rezygnacji z grzejników na rzecz frezowania wylewki jastrychowej pod rury 14x2 mm. Rozstaw ustalono na <strong>100 mm w strefach brzegowych</strong> i łazience oraz 150 mm w salonie. Pozwoliło to na zasilanie układu bardzo niskim parametrem 35°C z pompy ciepła split.
        </p>
        <p class="rk-cs2-lead" style="margin:0;">
            Optymalnie wykorzystaliśmy stary jastrych o grubości 45 mm. Po wycięciu bruzd na 20 mm, podłoga zachowała pełną stabilność. Mikroskopijna masa przykrywająca (zaledwie 3 mm chemii) zredukowała opór cieplny, <strong>skracając czas nagrzewania do zaledwie 45 minut!</strong>
        </p>
    </div>

    <div class="rk-cs2-interactive">
        <div class="rk-cs2-sim-wrapper">
            <div class="rk-cs2-tabs">
                <button class="rk-cs2-tab-btn active" data-view="amateur" onclick="rkSwitchCase('amateur')">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><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>
                    Błąd Instalatora (Instalacja z głowy)
                </button>
                <button class="rk-cs2-tab-btn" data-view="pro" onclick="rkSwitchCase('pro')">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>
                    Wdrożenie Projektu (Obliczenia OZC)
                </button>
            </div>

            <div id="rk-cs2-screen" class="rk-cs2-screen state-amateur">
                
                <div class="rk-cs2-visual">
                    <svg class="rk-cs2-svg" viewBox="0 0 100 100">
                        <rect x="5" y="5" width="90" height="90" fill="none" stroke="#334155" stroke-width="2"/>
                        <rect x="7" y="7" width="86" height="86" fill="#1e293b"/>

                        <rect x="2" y="15" width="6" height="70" fill="#64748b" rx="1"/>

                        <path class="svg-blueprint-path svg-blueprint-amateur svg-flow-anim" d="M 8 20 L 85 20 L 85 30 L 15 30 L 15 40 L 85 40 L 85 50 L 15 50 L 15 60 L 85 60 L 85 70 L 15 70 L 15 80 L 8 80" stroke-width="3" stroke-linejoin="round"/>

                        <path class="svg-blueprint-path svg-blueprint-pro svg-flow-anim" d="M 8 16 L 85 16 L 85 30 L 8 30" stroke-width="3" stroke-linejoin="round"/>
                        <path class="svg-blueprint-path svg-blueprint-pro svg-flow-anim" d="M 8 43 L 85 43 L 85 57 L 8 57" stroke-width="3" stroke-linejoin="round" style="animation-delay: 0.3s;"/>
                        <path class="svg-blueprint-path svg-blueprint-pro svg-flow-anim" d="M 8 70 L 85 70 L 85 84 L 8 84" stroke-width="3" stroke-linejoin="round" style="animation-delay: 0.6s;"/>

                        <circle cx="50" cy="50" r="18" fill="#0f172a" stroke="#475569" stroke-width="2"/>
                        <circle class="svg-danger-ring" cx="50" cy="50" r="18" fill="none" stroke-width="2"/>
                        <path d="M 40 50 A 10 10 0 1 1 60 50" fill="none" stroke="#64748b" stroke-width="2" stroke-linecap="round"/>
                        <line class="svg-gauge-pointer" x1="50" y1="50" x2="50" y2="40" stroke-width="2.5" stroke-linecap="round"/>
                        <circle cx="50" cy="50" r="2.5" fill="#cbd5e1"/>
                    </svg>
                </div>

                <div class="rk-cs2-data-panel">
                    <h4 class="rk-cs2-data-title" id="cs2-title">Zamknięcie Hydrauliczne Pętli</h4>
                    <p class="rk-cs2-data-desc" id="cs2-desc">
                        Pierwotny instalator chciał układać pętle o długości 110 m dla rury 14 mm. Taka odległość drastycznie dławi przepływ, tworząc gigantyczny opór. Woda omijałaby tę pętlę, a pomieszczenie pozostałoby zimne.
                    </p>
                    <div class="rk-cs2-metrics">
                        <div class="rk-cs2-metric-box">
                            <div class="rk-cs2-metric-lbl">Długość pętli</div>
                            <div class="rk-cs2-metric-val dyn-color" id="cs2-val-len">110 <span>mb</span></div>
                        </div>
                        <div class="rk-cs2-metric-box">
                            <div class="rk-cs2-metric-lbl">Opór całkowity</div>
                            <div class="rk-cs2-metric-val dyn-color" id="cs2-val-pres">38,0 <span>kPa (Krytyczny)</span></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-cs2-results-grid">
        <div class="rk-cs2-result-card">
            <div class="rk-cs2-result-lbl">Bilans OZC (-20°C)</div>
            <div class="rk-cs2-result-val">7,8 kW</div>
            <p class="rk-cs2-result-desc">Zapotrzebowanie wyliczone przez inżyniera. Gęstość strumienia cieplnego to zaledwie <strong>58 W/m²</strong>.</p>
        </div>
        <div class="rk-cs2-result-card">
            <div class="rk-cs2-result-lbl">Roczne oszczędności</div>
            <div class="rk-cs2-result-val" style="color:var(--rk-cs2-brand);">42%</div>
            <p class="rk-cs2-result-desc">Tyle wynosi zysk na kosztach eksploatacji w porównaniu do starego systemu grzewczego na węgiel.</p>
        </div>
        <div class="rk-cs2-result-card gold">
            <div class="rk-cs2-result-lbl">Ochrona budżetu</div>
            <div class="rk-cs2-result-val" style="color:#b45309;">14 500 zł</div>
            <p class="rk-cs2-result-desc">Tyle inwestor uniknął strat za poprawki, wymianę zniszczonej pompy i naprawy odparzonego jastrychu.</p>
        </div>
    </div>

    <div class="rk-cs2-cta">
        <h3 class="rk-cs2-cta-h3">Chcesz uniknąć błędów, które kosztują tysiące?</h3>
        <p class="rk-cs2-cta-p">
            Zastosowanie rur z barierą antydyfuzyjną EVOH, rygorystyczne trzymanie się oporów hydraulicznych i dobór pompy na bazie OZC to klucz do sukcesu. Zainwestuj w spokój na lata.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-cs2-btn">
            ZAMÓW PROJEKT INSTALACJI PODŁOGOWEJ
            <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>
// 1. Zabezpieczenie przed nieautoryzowanym skopiowaniem (Bez tagów H w komunikacie)
document.addEventListener('DOMContentLoaded', function() {
    var checkDom = window.location.hostname;
    var allowedDom = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDom.indexOf(checkDom) === -1) {
        var wrapApp = document.getElementById('rk-casestudy-app');
        if (wrapApp) {
            wrapApp.innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border-radius:24px; border:2px solid #ef4444; font-family:sans-serif; font-size:16px;"><strong>Odmowa autoryzacji licencji.</strong> Moduł Case Study jest własnością intelektualną serwisu Projekt-Ogrzewania.pl.</div>';
        }
    }
});

// 2. Logika przełączania symulacji (Amator vs Inżynier)
function rkSwitchCase(mode) {
    var screen = document.getElementById('rk-cs2-screen');
    
    // Zmiana aktywności zakładek
    var tabs = document.querySelectorAll('.rk-cs2-tab-btn');
    tabs.forEach(function(t) { t.classList.remove('active'); });
    document.querySelector('.rk-cs2-tab-btn[data-view="' + mode + '"]').classList.add('active');

    // Wymiana danych tekstowych i klas animacji
    if (mode === 'pro') {
        screen.className = 'rk-cs2-screen state-pro';
        document.getElementById('cs2-title').innerText = "Inżynierski Podział Obwodów";
        document.getElementById('cs2-desc').innerHTML = "Dzięki interwencji zaimplementowano projekt oparty o <strong>11 pętli o maksymalnej długości 72 m</strong>. Opór spadł do bezpiecznej wartości. Pompa obiegowa działa na średnim biegu, zużywając zaledwie 22W energii elektrycznej.";
        document.getElementById('cs2-val-len').innerHTML = "max 72 <span>mb</span>";
        document.getElementById('cs2-val-pres').innerHTML = "14,2 <span>kPa (Bezpieczny)</span>";
    } else {
        screen.className = 'rk-cs2-screen state-amateur';
        document.getElementById('cs2-title').innerText = "Zamknięcie Hydrauliczne Pętli";
        document.getElementById('cs2-desc').innerHTML = "Pierwotny instalator chciał układać pętle o długości 110 m dla rury 14 mm. Taka odległość drastycznie dławi przepływ, tworząc gigantyczny opór. Woda omijałaby tę pętlę, a pomieszczenie pozostałoby zimne.";
        document.getElementById('cs2-val-len').innerHTML = "110 <span>mb</span>";
        document.getElementById('cs2-val-pres').innerHTML = "38,0 <span>kPa (Krytyczny)</span>";
    }
}
</script>



<style>
:root {
    --rk-quote-dark: #0f172a; /* Głęboki granat */
    --rk-quote-brand: #10b981; /* Szmaragd / Sukces */
    --rk-quote-accent: #f59e0b; /* Inżynierskie Złoto */
    --rk-quote-danger: #ef4444; /* Czerwień / Błąd */
    --rk-quote-bg: #f8fafc;
    --rk-quote-card: #ffffff;
    --rk-quote-text: #475569;
    --rk-quote-border: #e2e8f0;
}

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

/* ================= HEADER & CYTAT ================= */
.rk-quote-header {
    background: linear-gradient(135deg, #1e293b 0%, var(--rk-quote-dark) 100%);
    padding: 50px 60px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
    border-bottom: 4px solid var(--rk-quote-accent);
}

.rk-quote-header::before {
    content: '"';
    position: absolute;
    top: -20px;
    left: 20px;
    font-size: 200px;
    font-family: serif;
    color: rgba(255, 255, 255, 0.05);
    line-height: 1;
    pointer-events: none;
}

.rk-quote-content {
    position: relative;
    z-index: 2;
}

.rk-quote-text {
    font-size: 22px;
    font-weight: 800;
    line-height: 1.6;
    color: #f1f5f9;
    margin: 0 0 25px 0;
    font-style: italic;
}

.rk-quote-author {
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-quote-photo {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--rk-quote-accent);
}

.rk-quote-author-details h4 {
    margin: 0 0 4px 0;
    font-size: 16px;
    font-weight: 900;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-quote-author-details p {
    margin: 0;
    font-size: 13px;
    color: #94a3b8;
    font-weight: 600;
}

/* ================= WNIOSKI INTERAKTYWNE ================= */
.rk-quote-interactive {
    padding: 40px 50px;
    background: var(--rk-quote-bg);
}

.rk-quote-tabs {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
    justify-content: center;
}

.rk-quote-tab-btn {
    flex: 1;
    max-width: 320px;
    padding: 16px 20px;
    border: 2px solid var(--rk-quote-border);
    background: #ffffff;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-quote-text);
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-quote-tab-btn:hover { background: #f1f5f9; border-color: #cbd5e1; }

.rk-quote-tab-btn.active[data-view="rule"] {
    border-color: var(--rk-quote-brand);
    background: #ecfdf5;
    color: #065f46;
    box-shadow: 0 8px 20px -5px rgba(16, 185, 129, 0.2);
}

.rk-quote-tab-btn.active[data-view="trap"] {
    border-color: var(--rk-quote-danger);
    background: #fef2f2;
    color: #991b1b;
    box-shadow: 0 8px 20px -5px rgba(239, 68, 68, 0.2);
}

/* Panel SVG + Tekst */
.rk-quote-screen {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 30px;
    background: #ffffff;
    border: 1px solid var(--rk-quote-border);
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-quote-visual {
    background: var(--rk-quote-dark);
    border-radius: 12px;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    border: 2px solid #1e293b;
    height: 180px;
}

.rk-quote-svg { width: 100%; height: 100%; }

/* --- Animacje SVG --- */
.svg-q-pipe { stroke-dasharray: 8 8; animation: qFlow 1s linear infinite; }
.svg-q-dust { opacity: 0; animation: qDustFloat 2s infinite alternate; }
.svg-q-crack { stroke-dasharray: 50; stroke-dashoffset: 50; transition: stroke-dashoffset 0.5s ease-out; }
.svg-q-heat { stroke-dasharray: 6 6; animation: qHeatUp 1.5s linear infinite; }

@keyframes qFlow { to { stroke-dashoffset: -16; } }
@keyframes qDustFloat { 0% { transform: translateY(0); opacity: 0.2; } 100% { transform: translateY(-5px); opacity: 0.8; } }
@keyframes qHeatUp { to { stroke-dashoffset: -12; } }

/* Stan: Rule (Sukces) */
.state-rule .svg-q-concrete { fill: #334155; }
.state-rule .svg-q-pipe-bg { fill: #1e293b; stroke: #10b981; }
.state-rule .svg-q-pipe { stroke: #10b981; }
.state-rule .svg-q-dust { display: none; }
.state-rule .svg-q-crack { display: none; }
.state-rule .svg-q-heat { opacity: 1; stroke: #f59e0b; }

/* Stan: Trap (Błąd) */
.state-trap .svg-q-concrete { fill: #475569; }
.state-trap .svg-q-pipe-bg { fill: #1e293b; stroke: #ef4444; }
.state-trap .svg-q-pipe { stroke: #ef4444; animation-duration: 3s; } /* Słaby przepływ */
.state-trap .svg-q-dust { display: block; }
.state-trap .svg-q-crack { stroke-dashoffset: 0; stroke: #ef4444; }
.state-trap .svg-q-heat { opacity: 0; } /* Brak ciepła */

/* Tekst podsumowania */
.rk-quote-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-quote-info-title {
    font-size: 18px;
    font-weight: 900;
    margin: 0 0 12px 0;
    color: var(--rk-quote-dark);
}

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

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

@media (max-width: 768px) {
    .rk-quote-header { padding: 40px 25px; }
    .rk-quote-text { font-size: 18px; }
    .rk-quote-interactive { padding: 30px 20px; }
    .rk-quote-tabs { flex-direction: column; gap: 10px; }
    .rk-quote-tab-btn { max-width: 100%; }
    .rk-quote-screen { grid-template-columns: 1fr; padding: 20px; }
    .rk-quote-visual { height: 160px; max-width: 280px; margin: 0 auto; width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Podsumowanie eksperckie – Frezowanie podłogówki",
    "description": "Frezowanie starej wylewki to technologiczny skrót, który wymaga ogromnej precyzji. Odkryj główne zasady i pułapki modernizacji.",
    "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": "2026-05-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-wnioski",
    "name": "Zestawienie kluczowych parametrów bezpieczeństwa modernizacji",
    "description": "Ostateczna weryfikacja poprawności montażu systemu cienkowarstwowego w oparciu o czystość, adhezję i obliczenia OZC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podsumowanie frezowania podłogówki",
      "złote zasady montażu ogrzewania",
      "odkurzanie bruzd frezowanych",
      "pękanie starej wylewki",
      "zastosowanie bariery evoh"
    ],
    "measurementTechnique": "Weryfikacja organoleptyczna oraz analityczna szczelności hydraulicznej i stabilności mechanicznej zmodernizowanej przegrody.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Złota Zasada: Idealne odessanie pyłu, zastosowanie rury EVOH, dokładne zgruntowanie bruzd.",
        "Główny Błąd: Pozostawienie pyłu separacyjnego, brak obliczeń oporów hydraulicznych, rura bez bariery antytlenowej."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-wnioski",
    "name": "Interaktywny Panel Podsumowujący",
    "description": "Narzędzie edukacyjne wizualizujące różnice fizyczne pomiędzy prawidłowo zrealizowaną modernizacją a najczęstszymi błędami instalatorskimi.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-quote-container" id="rk-quote-app">
    <div class="rk-quote-header">
        <div class="rk-quote-content">
            <p class="rk-quote-text">
                "Frezowanie starej wylewki to wspaniały technologiczny skrót, który wybacza brak miejsca na grube izolacje, ale nigdy nie wybacza braku precyzji wykonawczej. Bez dokładnego odsysania pyłu, rury z barierą EVOH i rzetelnego bilansu OZC, ten skrót bardzo szybko zamienia się w najdroższą drogę do awarii całej posadzki."
            </p>
            <div class="rk-quote-author">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-quote-photo" loading="lazy">
                <div class="rk-quote-author-details">
                    <h4>Robert Kucharski</h4>
                    <p>CEO, Projekt-Ogrzewania.pl</p>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-quote-interactive">
        <div class="rk-quote-tabs">
            <button class="rk-quote-tab-btn active" data-view="rule" onclick="rkSwitchQuote('rule')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>
                Złota Zasada Modernizacji
            </button>
            <button class="rk-quote-tab-btn" data-view="trap" onclick="rkSwitchQuote('trap')">
                <svg width="20" height="20" 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>
                Najczęstsza Pułapka
            </button>
        </div>

        <div id="rk-quote-screen" class="rk-quote-screen state-rule">
            
            <div class="rk-quote-visual">
                <svg class="rk-quote-svg" viewBox="0 0 100 100">
                    <rect class="svg-q-concrete" x="10" y="30" width="80" height="60" rx="2" style="transition: fill 0.3s;"/>
                    
                    <path class="svg-q-pipe-bg" d="M 40 30 L 40 55 L 60 55 L 60 30" stroke-width="2" style="transition: stroke 0.3s;"/>
                    
                    <path class="svg-q-crack" d="M 40 55 L 30 75 M 60 55 L 75 80" fill="none" stroke-width="3" stroke-linecap="round"/>
                    
                    <g class="svg-q-dust" fill="#eab308">
                        <circle cx="43" cy="53" r="1.5" />
                        <circle cx="48" cy="50" r="1" style="animation-delay: 0.3s;"/>
                        <circle cx="55" cy="52" r="1.5" style="animation-delay: 0.6s;"/>
                        <circle cx="58" cy="48" r="1" style="animation-delay: 0.9s;"/>
                    </g>

                    <circle cx="50" cy="45" r="5" fill="#0f172a"/>
                    <circle class="svg-q-pipe" cx="50" cy="45" r="5" fill="none" stroke-width="2"/>

                    <path class="svg-q-heat" d="M 35 25 L 35 5 M 50 20 L 50 0 M 65 25 L 65 5" fill="none" stroke-width="3" stroke-linecap="round"/>
                </svg>
            </div>

            <div class="rk-quote-info">
                <h4 class="rk-quote-info-title" id="q-title">Czystość i Obliczenia to Fundament</h4>
                <p class="rk-quote-info-desc" id="q-desc">
                    W technologii cienkowarstwowej nie ma miejsca na błędy. Odessanie pyłu odkurzaczem klasy M, głębokie zgruntowanie wyfrezowanych rowków i zatopienie rury w masie polimerowej klasy <strong>C2TE</strong> gwarantuje idealny transfer ciepła i chroni wylewkę przed pękaniem.
                </p>
            </div>

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

<script>
// Zabezpieczenie przed kradzieżą (Bez tagów H)
document.addEventListener('DOMContentLoaded', function() {
    var checkDom = window.location.hostname;
    var allowedDom = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDom.indexOf(checkDom) === -1) {
        var wrapApp = document.getElementById('rk-quote-app');
        if (wrapApp) {
            wrapApp.innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border-radius:24px; border:2px solid #ef4444; font-family:sans-serif; font-size:16px;"><strong>Brak licencji.</strong> Kontener podsumowujący jest własnością serwisu Projekt-Ogrzewania.pl.</div>';
        }
    }
});

// Logika przełączania
function rkSwitchQuote(mode) {
    var screen = document.getElementById('rk-quote-screen');
    
    // Klasy przycisków
    var btns = document.querySelectorAll('.rk-quote-tab-btn');
    btns.forEach(function(b) { b.classList.remove('active'); });
    document.querySelector('.rk-quote-tab-btn[data-view="' + mode + '"]').classList.add('active');

    // Wymiana tekstu i klas CSS
    if (mode === 'rule') {
        screen.className = 'rk-quote-screen state-rule';
        document.getElementById('q-title').innerText = "Czystość i Obliczenia to Fundament";
        document.getElementById('q-desc').innerHTML = "W technologii cienkowarstwowej nie ma miejsca na błędy. Odessanie pyłu odkurzaczem klasy M, głębokie zgruntowanie wyfrezowanych rowków i zatopienie rury w masie polimerowej klasy <strong>C2TE</strong> gwarantuje idealny transfer ciepła i chroni wylewkę przed pękaniem.";
    } else {
        screen.className = 'rk-quote-screen state-trap';
        document.getElementById('q-title').innerText = "Pył Separacyjny i Ślepe Frezowanie";
        document.getElementById('q-desc').innerHTML = "Brak odkurzenia bruzd sprawia, że nowa masa nie łączy się ze starym betonem. Pył działa jak bufor izolacyjny. Naprężenia termiczne rur wyginają posadzkę, co kończy się <strong>odparzeniem jastrychu</strong> i pęknięciem ułożonych na wierzchu płytek ceramicznych.";
    }
}
</script>



<style>
:root {
    --rk-comp-dark: #1e293b; /* Chłodny antracyt */
    --rk-comp-brand: #06b6d4; /* Cyjan */
    --rk-comp-brand-light: #ecfeff;
    --rk-comp-accent: #6366f1; /* Fiolet techniczny */
    --rk-comp-bg: #f8fafc;
    --rk-comp-card: #ffffff;
    --rk-comp-text: #475569;
    --rk-comp-title: #0f172a;
    --rk-comp-border: #e2e8f0;
    --rk-comp-green: #10b981;
}

.rk-comp-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-comp-card);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(30, 41, 59, 0.1);
    border: 1px solid var(--rk-comp-border);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-comp-header {
    background: linear-gradient(135deg, #0f172a 0%, var(--rk-comp-dark) 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
}

.rk-comp-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--rk-comp-brand) 0%, var(--rk-comp-accent) 100%);
}

.rk-comp-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(6, 182, 212, 0.15);
    color: #22d3ee;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
    border: 1px solid rgba(34, 211, 238, 0.2);
}

.rk-comp-title-h2 {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.35;
    margin: 0 0 15px 0;
    color: #ffffff;
}

.rk-comp-intro {
    font-size: 15px;
    line-height: 1.8;
    color: #cbd5e1;
    margin: 0;
}

.rk-comp-intro strong {
    color: #ffffff;
}

/* Część Interaktywna - Karty i Porównanie */
.rk-comp-interactive {
    padding: 40px 50px;
    background: var(--rk-comp-bg);
}

.rk-comp-switcher-group {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-bottom: 35px;
}

.rk-comp-tab-btn {
    flex: 1;
    max-width: 260px;
    padding: 14px 18px;
    background: #ffffff;
    border: 2px solid var(--rk-comp-border);
    border-radius: 12px;
    font-size: 13.5px;
    font-weight: 800;
    color: var(--rk-comp-text);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-align: center;
    line-height: 1.3;
}

.rk-comp-tab-btn:hover { background: #f1f5f9; border-color: #cbd5e1; }

.rk-comp-tab-btn.active[data-tech="frez"] { border-color: var(--rk-comp-brand); background: var(--rk-comp-brand-light); color: #0891b2; box-shadow: 0 8px 16px -4px rgba(6, 182, 212, 0.15); }
.rk-comp-tab-btn.active[data-tech="suchy"] { border-color: var(--rk-comp-accent); background: #f5f3ff; color: #4f46e5; box-shadow: 0 8px 16px -4px rgba(99, 102, 241, 0.15); }
.rk-comp-tab-btn.active[data-tech="mokry"] { border-color: #64748b; background: #f8fafc; color: #334155; box-shadow: 0 8px 16px -4px rgba(100, 116, 139, 0.15); }

/* Główny Ekran Porównania (Karty i SVG) */
.rk-comp-display-view {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 30px;
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--rk-comp-border);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

/* SVG Wizualizacje Technologii */
.rk-comp-visual-frame {
    background: #0f172a;
    border-radius: 12px;
    padding: 15px;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    border: 2px solid #1e293b;
}

.rk-comp-svg {
    width: 100%;
    height: 100%;
}

/* Animacje i Przejścia SVG */
.svg-tech-group { display: none; opacity: 0; transition: opacity 0.4s ease; }
.state-frez .svg-frez { display: block; opacity: 1; }
.state-suchy .svg-suchy { display: block; opacity: 1; }
.state-mokry .svg-mokry { display: block; opacity: 1; }

.anim-wave-frez { stroke-dasharray: 6 6; animation: flowFrez 1.2s linear infinite; }
.anim-wave-suchy { stroke-dasharray: 4 4; animation: flowFrez 0.8s linear infinite; }
.anim-wave-mokry { stroke-dasharray: 12 12; animation: flowFrez 2.5s linear infinite; }

@keyframes flowFrez { to { stroke-dashoffset: -24; } }

/* Specyfikacja w Kafelkach (Zamiast tabeli) */
.rk-spec-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-spec-card {
    background: var(--rk-comp-bg);
    border: 1px solid var(--rk-comp-border);
    padding: 16px 20px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-spec-lbl { font-size: 11px; color: #64748b; font-weight: 700; text-transform: uppercase; margin-bottom: 6px; letter-spacing: 0.5px; }
.rk-spec-val { font-size: 15px; font-weight: 800; color: var(--rk-comp-title); line-height: 1.4; }

/* Dynamiczne modyfikatory wartości dla Frezowania */
.val-highlight { font-weight: 900; }
.state-frez .val-highlight { color: var(--rk-comp-green); }
.state-suchy .val-highlight { color: var(--rk-comp-accent); }
.state-mokry .val-highlight { color: #475569; }

@media (max-width: 768px) {
    .rk-comp-header, .rk-comp-interactive { padding: 30px 20px; }
    .rk-comp-switcher-group { flex-direction: column; gap: 10px; }
    .rk-comp-tab-btn { max-width: 100%; }
    .rk-comp-display-view { grid-template-columns: 1fr; padding: 20px; }
    .rk-comp-visual-frame { height: 150px; max-width: 250px; margin: 0 auto; width: 100%; }
    .rk-spec-grid { grid-template-columns: 1fr; gap: 12px; }
    .rk-comp-title-h2 { font-size: 22px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-porownanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Porównanie technologii modernizacji ogrzewania podłogowego",
    "description": "Inżynierskie zestawienie systemów grzewczych pod remonty kapitalne. Porównaj wysokość zabudowy, bezwładność, koszty m² oraz zgodność z normą PN-EN 1264-4.",
    "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-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-komparator",
    "name": "Matryca porównawcza systemów ogrzewania płaszczyznowego dla termomodernizacji",
    "description": "Zbiór danych technicznych (wysokość profilu, masa jastrychu, opór i czas reakcji) trzech konkurencyjnych systemów wodnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "porównanie ogrzewania podłogowego frezowanie",
      "wysokość zabudowy podłogówki sucha zabudowa",
      "bezwładność cieplna wylewka z miksokreta",
      "koszt materiału i robocizny podłogówki",
      "norma PN-EN 1264-4 wymagania jastrych"
    ],
    "measurementTechnique": "Zestawienie fizyczno-konstrukcyjne grubości przegród i bilansu mas budowlanych obciążających stropy.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Frezowanie w jastrychu: Profil 0 mm, obciążenie stropu 0 kg/m², wysoka reaktywność termiczna w 45 minut.",
        "System suchy: Profil 20-30 mm, idealny na stropy drewniane, wyższy koszt jednostkowy.",
        "Tradycyjny system mokry: Profil 65-80 mm, potężna masa 130 kg/m², bezwładność do 5 godzin."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-komparator-technologii",
    "name": "Interaktywny Komparator Technologii Modernizacji",
    "description": "Aplikacja filtrująca i kafelkująca parametry techniczno-eksploatacyjne posadzek grzewczych na bazie wybranego wariantu wykonawczego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-comp-container" id="rk-tech-matrix-app">
    <div class="rk-comp-header">
        <div class="rk-comp-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg>
            Analiza Porównawcza
        </div>
        <h2 class="rk-comp-title-h2">Porównanie technologii modernizacji ogrzewania podłogowego</h2>
        <p class="rk-comp-intro">
            Poniższe zestawienie przedstawia weryfikację kluczowych parametrów techniczno-eksploatacyjnych trzech najpopularniejszych metod montażu wodnego ogrzewania podłogowego w obiektach poddawanych remontom kapitalnym. Pozwala ono podjąć świadomą decyzję inżynieryjną w oparciu o nośność stropu oraz czas reakcji układu.
        </p>
    </div>

    <div class="rk-comp-interactive">
        <div class="rk-comp-switcher-group">
            <button class="rk-comp-tab-btn active" data-tech="frez" onclick="rkFilterTech('frez')">Frezowanie w starym jastrychu</button>
            <button class="rk-comp-tab-btn" data-tech="suchy" onclick="rkFilterTech('suchy')">System suchy (Zabudowa lekka)</button>
            <button class="rk-comp-tab-btn" data-tech="mokry" onclick="rkFilterTech('mokry')">System mokry (Skuwanie do zera)</button>
        </div>

        <div id="rk-matrix-core" class="rk-comp-display-view state-frez">
            <div class="rk-comp-visual-frame">
                <svg class="rk-comp-svg svg-tech-group svg-frez" viewBox="0 0 100 100">
                    <rect x="0" y="35" width="100" height="65" fill="#334155"/>
                    <path d="M 30 35 L 30 65 L 70 65 L 70 35" fill="#0f172a" stroke="#475569" stroke-width="2"/>
                    <circle cx="50" cy="50" r="10" fill="#38bdf8"/>
                    <path class="anim-wave-frez" d="M 15 20 Q 50 10 85 20" fill="none" stroke="#ef4444" stroke-width="3" stroke-linecap="round"/>
                </svg>

                <svg class="rk-comp-svg svg-tech-group svg-suchy" viewBox="0 0 100 100">
                    <rect x="0" y="55" width="100" height="45" fill="#1e293b"/> <rect x="0" y="35" width="100" height="20" fill="#d97706" opacity="0.8"/> <circle cx="50" cy="45" r="8" fill="#a855f7"/>
                    <path class="anim-wave-suchy" d="M 20 15 Q 50 5 80 15" fill="none" stroke="#f59e0b" stroke-width="2" stroke-linecap="round"/>
                </svg>

                <svg class="rk-comp-svg svg-tech-group svg-mokry" viewBox="0 0 100 100">
                    <rect x="0" y="75" width="100" height="25" fill="#1e293b"/> <rect x="0" y="25" width="100" height="50" fill="#64748b"/> <circle cx="50" cy="50" r="10" fill="#475569" stroke="#94a3b8" stroke-width="2"/>
                    <path class="anim-wave-mokry" d="M 10 10 L 90 10" fill="none" stroke="#94a3b8" stroke-width="4" stroke-linecap="round"/>
                </svg>
            </div>

            <div class="rk-spec-grid">
                <div class="rk-spec-card">
                    <div class="rk-spec-lbl">Minimalna wysokość zabudowy</div>
                    <div class="rk-spec-val val-highlight" id="matrix-height">0 mm (rury chowają się w strukturze)</div>
                </div>
                <div class="rk-spec-card">
                    <div class="rk-spec-lbl">Dodatkowe obciążenie stropu</div>
                    <div class="rk-spec-val" id="matrix-weight">0 kg/m² (brak zmiany bilansu mas)</div>
                </div>
                <div class="rk-spec-card">
                    <div class="rk-spec-lbl">Jednostkowy koszt (Materiał + Robota)</div>
                    <div class="rk-spec-val" id="matrix-cost">120 – 180 PLN/m²</div>
                </div>
                <div class="rk-spec-card">
                    <div class="rk-spec-lbl">Bezwładność termiczna układu</div>
                    <div class="rk-spec-val" id="matrix-inertia">Niska (czas reakcji ok. 45 min)</div>
                </div>
                <div class="rk-spec-card" style="grid-column: 1 / -1;">
                    <div class="rk-spec-lbl">Zgodność z normą PN-EN 1264-4</div>
                    <div class="rk-spec-val" id="matrix-norm">Wymaga weryfikacji geometrii i klasy jastrychu (min. C12/15)</div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
// 1. Ochrona licencji kodu (Zgodnie z zasadami - brak tagów H2/H3 w kodzie błędu)
document.addEventListener('DOMContentLoaded', function() {
    var domainVerify = window.location.hostname;
    var safeDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (safeDomains.indexOf(domainVerify) === -1) {
        var containerApp = document.getElementById('rk-tech-matrix-app');
        if (wrapperContainer) {
            containerApp.innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#f43f5e; border-radius:20px; border:2px solid #f43f5e; font-family:sans-serif; font-size:15px;"><strong>Odmowa dostępu do komponentu.</strong> Tablica porówania systemów płaszczyznowych jest zastrzeżona dla domeny Projekt-Ogrzewania.pl.</div>';
        }
    }
});

// 2. Logika interaktywnego filtrowania macierzy danych
function rkFilterTech(techType) {
    var matrixCore = document.getElementById('rk-matrix-core');

    // Nadanie odpowiedniej klasy stanu dla sterowania widocznością SVG
    matrixCore.className = "rk-comp-display-view";
    matrixCore.classList.add('state-' + techType);

    // Aktualizacja podświetlenia przycisku tabulatora
    var buttons = document.querySelectorAll('.rk-comp-tab-btn');
    buttons.forEach(function(btn) { btn.classList.remove('active'); });
    document.querySelector('.rk-comp-tab-btn[data-tech="' + techType + '"]').classList.add('active');

    // Podmiana danych w kafelkach specyfikacji
    if (techType === 'frez') {
        document.getElementById('matrix-height').innerText = "0 mm (rury chowają się w strukturze posadzki)";
        document.getElementById('matrix-weight').innerText = "0 kg/m² (brak zmiany pierwotnego bilansu mas)";
        document.getElementById('matrix-cost').innerText = "120 – 180 PLN/m²";
        document.getElementById('matrix-inertia').innerText = "Niska (czas reakcji i odczucia ciepła ok. 45 min)";
        document.getElementById('matrix-norm').innerHTML = "Wymaga weryfikacji jastrychu kontrolą sklerometryczną według <a href='https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/' style='color:var(--rk-comp-brand);font-weight:700;'>kryteriów inżynierskich</a>.";
    } else if (techType === 'suchy') {
        document.getElementById('matrix-height').innerText = "20 – 30 mm (nominalna grubość płyt systemowych)";
        document.getElementById('matrix-weight').innerText = "15 – 25 kg/m² (suche płyty gipsowo-włóknowe)";
        document.getElementById('matrix-cost').innerText = "240 – 350 PLN/m²";
        document.getElementById('matrix-inertia').innerText = "Bardzo niska (czas reakcji rzędu ok. 30 min)";
        document.getElementById('matrix-norm').innerHTML = "Pełna zgodność systemowa. Rozwiązanie dedykowane na stare <a href='https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-nadaje-sie-do-drewnianego-stropu/' style='color:var(--rk-comp-accent);font-weight:700;'>stropy drewniane i belkowe</a>.";
    } else {
        document.getElementById('matrix-height').innerText = "65 – 80 mm (grubość izolacji styropianowej + nowy jastrych)";
        document.getElementById('matrix-weight').innerText = "130 – 160 kg/m² (monolityczny wylewany beton)";
        document.getElementById('matrix-cost').innerText = "220 – 310 PLN/m² (wliczając kucie i wywóz gruzu)";
        document.getElementById('matrix-inertia').innerText = "Wysoka (bezwładność i czas nagrzewania ok. 180–300 min)";
        document.getElementById('matrix-norm').innerHTML = "Pełna zgodność normatywna. Wymaga wykonania <a href='https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/' style='color:#334155;font-weight:700;'>nowej wylewki betonowej lub anhydrytowej</a> od zera.";
    }
}
</script>



<style>
:root {
    --rk-eq-dark: #0f172a; /* Głęboki granat pulpitu */
    --rk-eq-brand: #0ea5e9; /* Morski cyjan / przepływ */
    --rk-eq-brand-light: #e0f2fe;
    --rk-eq-accent: #f59e0b; /* Bursztyn / Ostrzeżenie */
    --rk-eq-success: #10b981; /* Zielony / Stabilność */
    --rk-eq-danger: #ef4444; /* Czerwony / Awaria */
    --rk-eq-bg: #f8fafc;
    --rk-eq-card: #ffffff;
    --rk-eq-text: #334155;
    --rk-eq-border: #e2e8f0;
}

.rk-eq-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-eq-card);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.15);
    border: 1px solid rgba(14, 165, 233, 0.2);
    overflow: hidden;
}

/* Nagłówek sekcji */
.rk-eq-header {
    background: linear-gradient(135deg, #1e293b 0%, var(--rk-eq-dark) 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-eq-brand);
}

.rk-eq-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.15);
    color: #7dd3fc;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    border: 1px solid rgba(125, 211, 252, 0.2);
}

.rk-eq-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.35;
    margin: 0 0 20px 0;
}

.rk-eq-intro {
    font-size: 15px;
    line-height: 1.8;
    color: #cbd5e1;
    margin: 0 0 15px 0;
}

.rk-eq-intro strong {
    color: #ffffff;
}

.rk-eq-link {
    color: #7dd3fc;
    text-decoration: none;
    border-bottom: 1px dashed #7dd3fc;
    transition: all 0.3s;
}

.rk-eq-link:hover {
    color: #ffffff;
    border-bottom-style: solid;
}

/* Moduł Interaktywny */
.rk-eq-interactive {
    padding: 40px 50px;
    background: var(--rk-eq-bg);
}

.rk-eq-controls {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
    justify-content: center;
}

.rk-eq-btn {
    flex: 1;
    max-width: 300px;
    padding: 16px 20px;
    border: 2px solid var(--rk-eq-border);
    background: #ffffff;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-eq-text);
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-eq-btn:hover { background: #f1f5f9; border-color: #cbd5e1; }

.rk-eq-btn.active[data-sys="amateur"] {
    border-color: var(--rk-eq-danger);
    background: #fef2f2;
    color: #991b1b;
    box-shadow: 0 10px 20px -5px rgba(239, 68, 68, 0.15);
}

.rk-eq-btn.active[data-sys="pro"] {
    border-color: var(--rk-eq-brand);
    background: var(--rk-eq-brand-light);
    color: #0369a1;
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.2);
}

/* Ekran Symulatora (SVG) */
.rk-eq-visual-frame {
    background: var(--rk-eq-dark);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    min-height: 260px;
    border: 2px solid #1e293b;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
    margin-bottom: 30px;
}

.rk-eq-svg {
    width: 100%;
    height: 100%;
    max-width: 600px;
}

/* NOWE Elementy i Animacje SVG */
.svg-flow-path { stroke-dasharray: 8 8; transition: stroke 0.4s; }
.svg-hp-fan { transform-origin: 25px 55px; }
.svg-sun { transform-origin: 180px 30px; transition: opacity 0.4s; }
.svg-recu { transition: opacity 0.4s; }
.svg-buffer-cross { opacity: 0; transition: opacity 0.3s; }
.svg-floor-pipe { transition: fill 0.3s; }
.svg-recu-air { stroke-dasharray: 6 6; }

/* Stany Animacji */
/* Stan Amatorski (Awaria) */
.state-amateur .svg-flow-path { animation: flowSlow 0.5s linear infinite; stroke: #ef4444; }
.state-amateur .svg-hp-fan { animation: spinRotor 0.3s linear infinite; } /* Taktowanie pompy */
.state-amateur .svg-buffer { opacity: 0.3; filter: grayscale(1); } /* Brak bufora */
.state-amateur .svg-buffer-cross { opacity: 1; }
.state-amateur .svg-sun { opacity: 1; animation: pulseSun 1s infinite alternate; }
.state-amateur .svg-recu { opacity: 0.2; }
.state-amateur .svg-recu-air { opacity: 0; animation: none; }
.state-amateur .svg-floor-pipe { fill: #ef4444; } /* Przegrzanie */

/* Stan Pro (Inżynierski) */
.state-pro .svg-flow-path { animation: flowFast 1.5s linear infinite; stroke: #0ea5e9; }
.state-pro .svg-hp-fan { animation: spinRotor 2s linear infinite; } /* Spokojna praca */
.state-pro .svg-buffer { opacity: 1; filter: grayscale(0); }
.state-pro .svg-buffer-cross { opacity: 0; }
.state-pro .svg-sun { opacity: 0.4; animation: none; }
.state-pro .svg-recu { opacity: 1; }
.state-pro .svg-recu-air { opacity: 1; animation: flowFast 1.5s linear infinite reverse; }
.state-pro .svg-floor-pipe { fill: #f59e0b; }

@keyframes spinRotor { 100% { transform: rotate(360deg); } }
@keyframes flowFast { to { stroke-dashoffset: -16; } }
@keyframes flowSlow { to { stroke-dashoffset: -16; } }
@keyframes pulseSun { 0% { transform: scale(0.9); filter: drop-shadow(0 0 5px #ef4444); } 100% { transform: scale(1.3); filter: drop-shadow(0 0 15px #ef4444); } }

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

.rk-eq-card {
    background: #ffffff;
    border: 1px solid var(--rk-eq-border);
    padding: 20px;
    border-radius: 12px;
    transition: all 0.3s;
}

.rk-eq-lbl { font-size: 11px; color: #64748b; font-weight: 700; text-transform: uppercase; margin-bottom: 8px; }
.rk-eq-val { font-size: 20px; font-weight: 900; color: var(--rk-eq-dark); display: flex; align-items: baseline; gap: 5px; }
.rk-eq-val span { font-size: 13px; font-weight: 600; color: #94a3b8; }

.rk-eq-desc {
    font-size: 13px;
    color: #475569;
    line-height: 1.5;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--rk-eq-border);
}

/* Dynamiczne kolory tekstu w kafelkach */
.state-amateur .dyn-alert { color: var(--rk-eq-danger); }
.state-pro .dyn-success { color: var(--rk-eq-brand); }

/* POTĘŻNE CTA NA DOLE */
.rk-eq-cta-block {
    background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%);
    padding: 45px 50px;
    text-align: center;
    border-top: 4px solid var(--rk-eq-accent);
}

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

.rk-eq-cta-text {
    font-size: 15px;
    line-height: 1.6;
    color: #94a3b8;
    max-width: 700px;
    margin: 0 auto 30px auto;
}

.rk-eq-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-eq-accent);
    color: #ffffff;
    font-size: 18px;
    font-weight: 900;
    padding: 20px 40px;
    border-radius: 12px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 10px 25px -5px rgba(245, 158, 11, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-eq-cta-btn:hover {
    transform: translateY(-4px);
    background: #d97706;
    box-shadow: 0 15px 35px -5px rgba(245, 158, 11, 0.5);
}

.rk-eq-cta-btn svg { transition: transform 0.3s; }
.rk-eq-cta-btn:hover svg { transform: translateX(5px); }

@media (max-width: 768px) {
    .rk-eq-header, .rk-eq-interactive, .rk-eq-cta-block { padding: 30px 20px; }
    .rk-eq-controls { flex-direction: column; }
    .rk-eq-btn { max-width: 100%; }
    .rk-eq-visual-frame { min-height: 180px; padding: 10px; }
    .rk-eq-param-grid { grid-template-columns: 1fr; }
    .rk-eq-title { font-size: 24px; }
    .rk-eq-cta-title { font-size: 20px; }
    .rk-eq-cta-btn { width: 100%; padding: 15px 20px; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-urzadzenia",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Jak frezowanie wpływa na projekt instalacji i dobór urządzeń kotłowni?",
    "description": "Frezowanie drastycznie zmniejsza bezwładność cieplną. Wymaga mocnej pompy obiegowej (min. 6m słupa wody) oraz instalacji bufora ciepła zapobiegającego taktowaniu sprężarki pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-dobor-urzadzen",
    "name": "Parametry doboru urządzeń dla systemów frezowanych",
    "description": "Zestawienie wymogów hydraulicznych i pojemnościowych dla kotłowni współpracującej z frezowanym ogrzewaniem podłogowym i OZE.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dobór pompy obiegowej podłogówka",
      "taktowanie pompy ciepła bufor",
      "pojemność bufora ciepła na kw",
      "rekuperacja z ogrzewaniem podłogowym",
      "charakterystyka stałociśnieniowa p=const"
    ],
    "measurementTechnique": "Algorytm doboru komponentów na bazie zsumowanych oporów pętli o mniejszej średnicy i zmniejszonej bezwładności termicznej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Bufor ciepła: Minimum 15 litrów pojemności zładu na każdy 1 kW nominalnej mocy pompy ciepła.",
        "Pompa obiegowa: Wymagana wysokość podnoszenia minimum 6 m słupa wody (60 kPa) przy charakterystyce p=const."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-symulator-kotlowni",
    "name": "Symulator Architektury Kotłowni i Automatyki",
    "description": "Interaktywny diagram obrazujący ryzyko braku projektu OZC, wizualizujący taktowanie pompy ciepła i problemy z oporem hydraulicznym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-eq-container" id="rk-hvac-arch-app">
    <div class="rk-eq-header">
        <div class="rk-eq-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><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>
            Architektura Systemu
        </div>
        <h2 class="rk-eq-title">Jak frezowanie ogrzewania podłogowego wpływa na projekt instalacji i dobór urządzeń?</h2>
        <p class="rk-eq-intro">
            Wykonanie frezowania podłogówki wymusza precyzyjne dostosowanie hydrauliki całego źródła ciepła. Mała średnica wewnętrzna rur (10 mm) drastycznie zwiększa wymagane ciśnienie dyspozycyjne pompy obiegowej. Projekt instalacji musi bazować na <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" class="rk-eq-link">rzetelnych obliczeniach OZC (PN-EN 12831)</a>, co eliminuje niszczące przewymiarowanie źródła.
        </p>
        <p class="rk-eq-intro" style="margin: 0;">
            Zdolność akumulacji energii przez strop jest w tej technologii zredukowana o ponad 40%. Aby uniknąć szkodliwego zjawiska taktowania pompy ciepła (zbyt częstego załączania sprężarki), <strong>bezwzględnie należy zainstalować bufor ciepła o pojemności minimum 15 litrów na każdy kW mocy urządzenia</strong>. Niska bezwładność doskonale współpracuje z rekuperacją, która szybko rozprasza zyski ciepła (np. od słońca).
        </p>
    </div>

    <div class="rk-eq-interactive">
        <div class="rk-eq-controls">
            <button class="rk-eq-btn active" data-sys="pro" onclick="rkSwitchSystem('pro')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>
                Instalacja z Projektem (OZC)
            </button>
            <button class="rk-eq-btn" data-sys="amateur" onclick="rkSwitchSystem('amateur')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><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>
                Instalacja "Na oko"
            </button>
        </div>

        <div id="rk-sim-hvac" class="state-pro">
            <div class="rk-eq-visual-frame">
                
                <svg class="rk-eq-svg" viewBox="0 0 200 100">
                    <defs>
                        <linearGradient id="gradBuffer" x1="0%" y1="0%" x2="0%" y2="100%">
                            <stop offset="0%" style="stop-color:#ef4444;stop-opacity:1" />
                            <stop offset="100%" style="stop-color:#0ea5e9;stop-opacity:1" />
                        </linearGradient>
                    </defs>

                    <path class="svg-flow-path" d="M 40 55 L 65 55 M 90 55 L 100 55 M 110 55 L 120 55 L 120 87 L 130 87" fill="none" stroke-width="3" stroke-linecap="round"/>

                    <rect x="10" y="30" width="30" height="50" fill="#334155" rx="3"/>
                    <rect x="12" y="32" width="26" height="46" fill="#1e293b" rx="2"/>
                    <circle cx="25" cy="55" r="12" fill="none" stroke="#64748b" stroke-width="2"/>
                    <g class="svg-hp-fan">
                        <path d="M 25 43 L 25 67 M 13 55 L 37 55" stroke="#cbd5e1" stroke-width="3"/>
                        <circle cx="25" cy="55" r="3" fill="#cbd5e1"/>
                    </g>
                    <polygon points="15,35 18,35 16,39 20,39 15,44 16,40 12,40" fill="#f59e0b"/>

                    <g class="svg-buffer" style="transition: opacity 0.4s, filter 0.4s;">
                        <rect x="65" y="20" width="25" height="60" fill="url(#gradBuffer)" rx="4"/>
                        <path d="M 65 40 L 90 40 M 65 60 L 90 60" stroke="#ffffff" stroke-width="1" opacity="0.2"/>
                    </g>
                    <path class="svg-buffer-cross" d="M 60 15 L 95 85 M 95 15 L 60 85" stroke="#ef4444" stroke-width="4" stroke-linecap="round"/>

                    <circle cx="105" cy="55" r="6" fill="#0f172a" stroke="#94a3b8" stroke-width="2"/>
                    <polygon points="102,52 102,58 108,55" fill="#cbd5e1"/>

                    <rect x="130" y="80" width="60" height="15" fill="#475569" rx="2"/>
                    <circle cx="140" cy="87.5" r="3" class="svg-floor-pipe"/>
                    <circle cx="155" cy="87.5" r="3" class="svg-floor-pipe"/>
                    <circle cx="170" cy="87.5" r="3" class="svg-floor-pipe"/>
                    <circle cx="185" cy="87.5" r="3" class="svg-floor-pipe"/>

                    <g class="svg-recu" style="transition: opacity 0.4s;">
                        <rect x="130" y="5" width="40" height="15" fill="#334155" rx="2"/>
                        <rect x="135" y="8" width="10" height="9" fill="#0f172a"/>
                        <rect x="155" y="8" width="10" height="9" fill="#0f172a"/>
                        <path class="svg-recu-air" d="M 140 28 L 140 17 M 160 28 L 160 17" fill="none" stroke="#0ea5e9" stroke-width="2" stroke-linecap="round"/>
                    </g>

                    <g class="svg-sun" style="transition: opacity 0.4s;">
                        <circle cx="180" cy="30" r="6" fill="#f59e0b"/>
                        <path d="M 180 20 L 180 16 M 180 40 L 180 44 M 170 30 L 166 30 M 190 30 L 194 30 M 173 23 L 170 20 M 187 37 L 190 40 M 173 37 L 170 40 M 187 23 L 190 20" stroke="#f59e0b" stroke-width="2" stroke-linecap="round"/>
                    </g>
                </svg>

            </div>

            <div class="rk-eq-param-grid">
                <div class="rk-eq-card">
                    <div class="rk-eq-lbl">Bufor sprzęgający</div>
                    <div class="rk-eq-val dyn-alert" id="rk-val-buffer">TAK <span>(15L / kW)</span></div>
                    <div class="rk-eq-desc" id="rk-desc-buffer">
                        Gwarantuje zład wody do odszraniania (defrostu) i eliminuje niszczące taktowanie sprężarki spowodowane małą pojemnością wylewki.
                    </div>
                </div>
                <div class="rk-eq-card">
                    <div class="rk-eq-lbl">Pompa obiegowa pętli</div>
                    <div class="rk-eq-val dyn-alert" id="rk-val-pump">6 m <span>(60 kPa)</span></div>
                    <div class="rk-eq-desc" id="rk-desc-pump">
                        Charakterystyka stałociśnieniowa (p=const). Zrównoważy gwałtowne opory hydrauliczne generowane przez rurki o średnicy wew. 10 mm.
                    </div>
                </div>
                <div class="rk-eq-card">
                    <div class="rk-eq-lbl">Reakcja na zyski słońca</div>
                    <div class="rk-eq-val dyn-alert" id="rk-val-sun">Rozproszone <span>(Reku)</span></div>
                    <div class="rk-eq-desc" id="rk-desc-sun">
                        Frezowana podłoga odcina dopływ wody. <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/" style="color:inherit; font-weight:700;">Rekuperacja</a> wychwytuje gorące powietrze i redystrybuuje je po strefach zacienionych.
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-eq-cta-block">
        <h3 class="rk-eq-cta-title">Nie pozwól, by błędy instalatora zniszczyły Twoją Pompę Ciepła</h3>
        <p class="rk-eq-cta-text">
            Brak bufora, dobór za słabej pompy obiegowej i przewymiarowane źródło ciepła to najczęstsze skutki montażu "na intuicję". Zabezpiecz swoją inwestycję profesjonalną dokumentacją techniczną opartą na twardych wyliczeniach OZC i fizyce przepływów.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-eq-cta-btn">
            ZAMÓW PROJEKT INSTALACJI PODŁOGOWEJ
            <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>
// 1. Zabezpieczenie przed nieautoryzowanym skopiowaniem (Bez tagów H)
document.addEventListener('DOMContentLoaded', function() {
    var checkDom = window.location.hostname;
    var allowedDom = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDom.indexOf(checkDom) === -1) {
        var wrapApp = document.getElementById('rk-hvac-arch-app');
        if (wrapApp) {
            wrapApp.innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border-radius:24px; border:2px solid #ef4444; font-family:sans-serif; font-size:16px;"><strong>Odmowa autoryzacji licencji.</strong> Algorytm wizualizacji kotłowni jest własnością intelektualną serwisu Projekt-Ogrzewania.pl.</div>';
        }
    }
});

// 2. Logika przełączania symulatora
function rkSwitchSystem(mode) {
    var hvacSim = document.getElementById('rk-sim-hvac');
    
    // Zmiana przycisków
    var btns = document.querySelectorAll('.rk-eq-btn');
    btns.forEach(function(b) { b.classList.remove('active'); });
    document.querySelector('.rk-eq-btn[data-sys="' + mode + '"]').classList.add('active');

    // Aktualizacja interfejsu (CSS SVG i teksty)
    if (mode === 'pro') {
        hvacSim.className = 'state-pro';
        
        document.getElementById('rk-val-buffer').innerHTML = "TAK <span>(15L / kW)</span>";
        document.getElementById('rk-desc-buffer').innerHTML = "Gwarantuje zład wody do odszraniania (defrostu) i eliminuje niszczące taktowanie sprężarki spowodowane małą pojemnością wylewki.";
        
        document.getElementById('rk-val-pump').innerHTML = "6 m <span>(60 kPa)</span>";
        document.getElementById('rk-desc-pump').innerHTML = "Charakterystyka stałociśnieniowa (p=const). Zrównoważy gwałtowne opory hydrauliczne generowane przez rurki o średnicy wew. 10 mm.";
        
        document.getElementById('rk-val-sun').innerHTML = "Rozproszone <span>(Reku)</span>";
        document.getElementById('rk-desc-sun').innerHTML = "Frezowana podłoga odcina dopływ wody. <a href='https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/' style='color:inherit; font-weight:700;'>Rekuperacja</a> wychwytuje gorące powietrze i redystrybuuje je po strefach zacienionych.";

    } else {
        hvacSim.className = 'state-amateur';
        
        document.getElementById('rk-val-buffer').innerHTML = "BRAK <span>(Awaria)</span>";
        document.getElementById('rk-desc-buffer').innerHTML = "Zbyt mała pojemność wodna systemu frezowanego powoduje ciągłe włączanie/wyłączanie (taktowanie) pompy, niszcząc sprężarkę.";
        
        document.getElementById('rk-val-pump').innerHTML = "4 m <span>(Za słaba)</span>";
        document.getElementById('rk-desc-pump').innerHTML = "Zwykła pompa nie radzi sobie z oporem małych rurek. Woda wybiera najkrótsze drogi, zostawiając większość salonu całkowicie niedogrzaną.";
        
        document.getElementById('rk-val-sun').innerHTML = "Przegrzanie <span>(Brak OZC)</span>";
        document.getElementById('rk-desc-sun').innerHTML = "Brak projektu OZC powoduje, że słońce z okien uderza w zabetonowane rury potęgując temperaturę. Podłoga nie ma jak zrzucić tego ciepła w inny obieg.";
    }
}
</script>



<style>
:root {
    --rk-faq2-dark: #0f172a;
    --rk-faq2-card: #ffffff;
    --rk-faq2-brand: #059669; /* Profesjonalny Szmaragd / Zieleń inżynierska */
    --rk-faq2-brand-light: #d1fae5;
    --rk-faq2-accent: #f59e0b; /* Bursztyn dla kontrastu / ostrzeżeń */
    --rk-faq2-bg: #f8fafc;
    --rk-faq2-border: #e2e8f0;
    --rk-faq2-text: #334155;
    --rk-faq2-muted: #64748b;
}

.rk-faq2-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    background: var(--rk-faq2-card);
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(5, 150, 105, 0.1);
    border: 1px solid rgba(5, 150, 105, 0.2);
    overflow: hidden;
}

/* Nagłówek */
.rk-faq2-header {
    background: linear-gradient(135deg, #064e3b 0%, var(--rk-faq2-dark) 100%);
    padding: 40px 50px 30px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-faq2-brand);
}

.rk-faq2-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #6ee7b7;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(110, 231, 183, 0.2);
}

.rk-faq2-title {
    font-size: 26px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0;
}

.rk-faq2-title span { color: #34d399; }

/* Sekcja Interaktywna */
.rk-faq2-interactive {
    padding: 35px 45px;
    background: var(--rk-faq2-bg);
}

.rk-faq2-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-faq2-item {
    background: #ffffff;
    border: 1px solid var(--rk-faq2-border);
    border-radius: 14px;
    overflow: hidden;
    transition: all 0.3s;
}

.rk-faq2-item.active {
    border-color: var(--rk-faq2-brand);
    box-shadow: 0 10px 20px -5px rgba(5, 150, 105, 0.12);
}

/* Przycisk Akordeonu */
.rk-faq2-question {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 22px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-faq2-dark);
    transition: background 0.3s, color 0.3s;
}

.rk-faq2-question:hover {
    background: #f1f5f9;
}

.rk-faq2-item.active .rk-faq2-question {
    background: var(--rk-faq2-brand-light);
    color: #064e3b;
}

.rk-faq2-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #e2e8f0;
    color: var(--rk-faq2-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

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

/* Odpowiedź z Gridem */
.rk-faq2-answer-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

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

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

.rk-faq2-content {
    padding: 25px;
    border-top: 1px solid var(--rk-faq2-brand-light);
    display: grid;
    grid-template-columns: 1fr 180px;
    gap: 30px;
    align-items: center;
    background: #ffffff;
}

.rk-faq2-text {
    font-size: 14px;
    line-height: 1.7;
    color: var(--rk-faq2-text);
}

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

.rk-faq2-link {
    color: var(--rk-faq2-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px dashed rgba(5, 150, 105, 0.4);
    transition: all 0.3s;
}

.rk-faq2-link:hover {
    color: #047857;
    border-bottom-style: solid;
}

/* Kontener SVG */
.rk-faq2-visual {
    background: #f8fafc;
    border-radius: 12px;
    padding: 15px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #e2e8f0;
    position: relative;
}

.rk-faq2-svg {
    width: 100%;
    height: 100%;
}

/* === ANIMACJE SVG ZALEŻNE OD KLASY ACTIVE === */

/* 1. Strop / Frezowanie */
.rk-faq2-item.active .anim-blade {
    animation: spinBlade 1s linear infinite;
    transform-origin: 50px 30px;
}
.rk-faq2-item.active .anim-groove {
    stroke-dasharray: 60;
    stroke-dashoffset: 60;
    animation: cutGroove 2s forwards;
}
@keyframes spinBlade { to { transform: rotate(360deg); } }
@keyframes cutGroove { to { stroke-dashoffset: 0; } }

/* 2. Bariera EVOH (Tlen) */
.anim-oxygen { opacity: 0; }
.rk-faq2-item.active .anim-oxygen {
    opacity: 1;
    animation: bounceOxygen 1.5s infinite alternate ease-in-out;
}
@keyframes bounceOxygen {
    0% { transform: translateY(-15px) scale(1); fill: #ef4444; }
    100% { transform: translateY(0px) scale(0.8); fill: #fca5a5; }
}

/* 3. Masa naprawcza */
.anim-trowel { transform: translateX(-20px); opacity: 0; }
.rk-faq2-item.active .anim-trowel {
    animation: fillMass 2s ease-out forwards;
}
@keyframes fillMass {
    0% { transform: translateX(-20px); opacity: 1; }
    50% { transform: translateX(20px); opacity: 1; }
    100% { transform: translateX(20px); opacity: 0; }
}
.rk-faq2-item.active .anim-mass-fill {
    transform: scaleX(0);
    transform-origin: left;
    animation: growMass 2s forwards;
}
@keyframes growMass { to { transform: scaleX(1); } }

/* 4. Zawór mieszający */
.anim-flow-hot, .anim-flow-cold { stroke-dasharray: 4; animation: dashFlow 1s linear infinite; opacity: 0; }
.rk-faq2-item.active .anim-flow-hot { opacity: 1; stroke: #ef4444; }
.rk-faq2-item.active .anim-flow-cold { opacity: 1; stroke: #3b82f6; }
@keyframes dashFlow { to { stroke-dashoffset: -8; } }

/* 5. Woda zdemineralizowana */
.anim-drop { transform: scale(0.8); }
.rk-faq2-item.active .anim-drop {
    animation: purifyDrop 2s infinite alternate;
}
@keyframes purifyDrop {
    0% { fill: #94a3b8; transform: scale(0.8); } /* Brudna woda */
    100% { fill: #38bdf8; transform: scale(1.1); filter: drop-shadow(0 0 5px #38bdf8); } /* Czysta woda */
}

@media (max-width: 768px) {
    .rk-faq2-header, .rk-faq2-interactive { padding: 30px 20px; }
    .rk-faq2-title { font-size: 22px; }
    .rk-faq2-content { grid-template-columns: 1fr; gap: 20px; padding: 20px; }
    .rk-faq2-visual { height: 120px; max-width: 200px; margin: 0 auto; width: 100%; border: none; }
    .rk-faq2-question { font-size: 14px; padding: 18px 20px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD) 
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Najczęściej zadawane pytania (FAQ) – Frezowanie podłogówki",
    "description": "Techniczne odpowiedzi na najważniejsze pytania dotyczące wytrzymałości wylewek, barier antydyfuzyjnych EVOH, mas naprawczych oraz jakości wody w systemach frezowanych.",
    "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-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#faq-data",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy frezowanie niszczy strukturę starego stropu lub osłabia wylewkę?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Frezowanie na głębokość 20 mm w wylewce o grubości minimum 35 mm nie narusza stabilności, o ile beton spełnia klasę wytrzymałości C12/15. Nienaruszona warstwa dolna w pełni przenosi obciążenia użytkowe."
        }
      },
      {
        "@type": "Question",
        "name": "Czy w kanałach frezowanych można układać rury bez barier (np. zwykłe PEX)?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie. Wymagane jest bezwzględne stosowanie rur z barierą antydyfuzyjną EVOH (norma DIN 4726). Brak bariery prowadzi do korozji elementów stalowych i uszkodzenia wymiennika pompy ciepła."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka masa jest najlepsza do zalewania wyfrezowanych rowków?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Należy stosować wyłącznie dedykowane masy polimerowo-cementowe (klasa C2TE) o przewodności cieplnej λ ≥ 1,4 W/(m·K). Zwykła zaprawa pęka pod wpływem naprężeń termicznych."
        }
      },
      {
        "@type": "Question",
        "name": "Czy przy frezowaniu trzeba montować układ mieszający z zaworem?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Jeśli jedynym źródłem jest pompa ciepła generująca 35°C, układ mieszający jest zbędny. Jest on wymagany wyłącznie w systemach hybrydowych (np. przy jednoczesnej pracy grzejników na 60°C)."
        }
      },
      {
        "@type": "Question",
        "name": "Czy instalację po frezowaniu można napełnić wodą z kranu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Instalację należy napełnić wodą demineralizowaną (przewodność <100 µS/cm) z inhibitorem korozji. Zwykła woda w rurkach 14 mm grozi osadzaniem kamienia kotłowego i spadkiem wydajności."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-tech",
    "name": "Parametry techniczne materiałów dla systemów frezowanych",
    "description": "Wymagania inżynierskie dla jastrychów, klas zapraw, norm rur i parametrów fizykochemicznych zładu wody.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "frezowanie ogrzewania podłogowego",
      "bariera antydyfuzyjna evoh",
      "norma din 4726",
      "zawór mieszający instalacji",
      "woda demineralizowana ogrzewanie"
    ],
    "measurementTechnique": "Normatywne wartości graniczne (wytrzymałość C12/15, przewodność cieplna λ ≥ 1,4 W/(m·K), przewodność wody <100 µS/cm).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wymagany minimalny opór dyfuzyjny tlenu wg DIN 4726.",
        "Parametry mas naprawczych do przewodzenia energii cieplnej."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-faq",
    "name": "Interaktywny Asystent FAQ Frezowania",
    "description": "Baza wiedzy z wizualizacjami SVG pomagająca inwestorom w doborze parametrów modernizacji cieplnej bez błędów wykonawczych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA FAQ
=========================================== -->
<div class="rk-faq2-container" id="rk-frez-faq-app">
    <div class="rk-faq2-header">
        <div class="rk-faq2-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><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg>
            Baza Wiedzy Wykonawcy
        </div>
        <h2 class="rk-faq2-title">FAQ – <span>Najczęściej zadawane pytania</span></h2>
    </div>

    <div class="rk-faq2-interactive">
        <div class="rk-faq2-list">
            
            <!-- Pytanie 1: Wytrzymałość stropu -->
            <div class="rk-faq2-item">
                <button class="rk-faq2-question">
                    <span>1. Czy frezowanie niszczy strukturę starego stropu lub osłabia wylewkę?</span>
                    <div class="rk-faq2-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq2-answer-wrapper">
                    <div class="rk-faq2-answer-inner">
                        <div class="rk-faq2-content">
                            <div class="rk-faq2-text">
                                Frezowanie na głębokość <strong>20 mm</strong> w wylewce o całkowitej grubości minimum 35 mm nie narusza stabilności konstrukcyjnej podłoża. Warunkiem koniecznym jest, aby istniejący <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/" class="rk-faq2-link">jastrych spełniał kryterium wytrzymałościowe minimum C12/15</a>. Pozostała, nienaruszona warstwa dolna betonu w pełni przejmuje i przenosi statyczne oraz dynamiczne obciążenia użytkowe zgodnie z normami budowlanymi.
                            </div>
                            <div class="rk-faq2-visual">
                                <svg class="rk-faq2-svg" viewBox="0 0 100 80">
                                    <rect x="10" y="50" width="80" height="20" fill="#94a3b8" rx="2"/>
                                    <path class="anim-groove" d="M 10 50 L 50 50 L 50 70" fill="none" stroke="#f8fafc" stroke-width="8"/>
                                    <g class="anim-blade">
                                        <circle cx="50" cy="30" r="15" fill="none" stroke="#059669" stroke-width="4" stroke-dasharray="10 4"/>
                                        <circle cx="50" cy="30" r="4" fill="#059669"/>
                                    </g>
                                    <line x1="50" y1="30" x2="50" y2="45" stroke="#059669" stroke-width="4"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Pytanie 2: Bariera EVOH -->
            <div class="rk-faq2-item">
                <button class="rk-faq2-question">
                    <span>2. Czy w kanałach frezowanych można układać zwykłe rury bez barier?</span>
                    <div class="rk-faq2-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq2-answer-wrapper">
                    <div class="rk-faq2-answer-inner">
                        <div class="rk-faq2-content">
                            <div class="rk-faq2-text">
                                Absolutnie nie. Bezwykopowe układanie rur wymaga <strong>bezwzględnego stosowania przewodów wyposażonych w pięciowarstwową <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/" class="rk-faq2-link">barierę antydyfuzyjną EVOH</a></strong> zgodną z normą DIN 4726. Zastosowanie rur jednowarstwowych bez powłoki antytlenowej doprowadzi do szybkiej korozji elementów stalowych w kotłowni i trwałego uszkodzenia pompy.
                            </div>
                            <div class="rk-faq2-visual">
                                <svg class="rk-faq2-svg" viewBox="0 0 100 80">
                                    <circle cx="50" cy="50" r="25" fill="none" stroke="#059669" stroke-width="6"/>
                                    <circle cx="50" cy="50" r="21" fill="none" stroke="#3b82f6" stroke-width="2"/>
                                    <circle class="anim-oxygen" cx="20" cy="20" r="5"/>
                                    <circle class="anim-oxygen" cx="80" cy="20" r="5" style="animation-delay: 0.5s;"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Pytanie 3: Masa naprawcza -->
            <div class="rk-faq2-item">
                <button class="rk-faq2-question">
                    <span>3. Jaka masa jest najlepsza do zalewania wyfrezowanych rowków?</span>
                    <div class="rk-faq2-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq2-answer-wrapper">
                    <div class="rk-faq2-answer-inner">
                        <div class="rk-faq2-content">
                            <div class="rk-faq2-text">
                                Do wypełniania bruzd stosuje się <strong>wyłącznie modyfikowane polimerami masy naprawcze klasy C2TE</strong>. Ich kluczowym parametrem dla systemu cieplnego jest wysoka przewodność (λ ≥ 1,4 W/(m·K)). Zwykła <a href="https://projekt-ogrzewania.pl/czym-jest-system-mokry-w-wodnym-ogrzewaniu-podlogowym/" class="rk-faq2-link">zaprawa murarska popęka pod wpływem rozszerzalności rur</a>, tworząc puste przestrzenie izolujące ciepło.
                            </div>
                            <div class="rk-faq2-visual">
                                <svg class="rk-faq2-svg" viewBox="0 0 100 80">
                                    <path d="M 10 60 L 90 60 L 90 80 L 10 80 Z" fill="#e2e8f0"/>
                                    <path d="M 30 60 L 70 60 L 60 80 L 40 80 Z" fill="#ffffff"/>
                                    <rect class="anim-mass-fill" x="40" y="60" width="20" height="20" fill="#f59e0b"/>
                                    <path class="anim-trowel" d="M 35 45 L 65 45 L 75 55 L 25 55 Z" fill="#94a3b8"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Pytanie 4: Zawór mieszający -->
            <div class="rk-faq2-item">
                <button class="rk-faq2-question">
                    <span>4. Czy przy frezowaniu podłogówki trzeba montować układ mieszający z zaworem?</span>
                    <div class="rk-faq2-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq2-answer-wrapper">
                    <div class="rk-faq2-answer-inner">
                        <div class="rk-faq2-content">
                            <div class="rk-faq2-text">
                                Jeśli system współpracuje bezpośrednio z niskotemperaturową pompą ciepła generującą parametr 35°C, <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/" class="rk-faq2-link">układ mieszający jest całkowicie zbędny</a>, a pętle podłącza się wprost do rozdzielacza. Montaż zaworu trójdrogowego jest konieczny <strong>tylko w układach hybrydowych</strong> (jednoczesne zasilanie grzejników na 60°C i podłogówki).
                            </div>
                            <div class="rk-faq2-visual">
                                <svg class="rk-faq2-svg" viewBox="0 0 100 80">
                                    <path d="M 50 10 L 50 70 M 20 40 L 80 40" stroke="#cbd5e1" stroke-width="12" stroke-linecap="round"/>
                                    <circle cx="50" cy="40" r="14" fill="#0f172a"/>
                                    <polygon points="50,26 64,40 50,54" fill="#059669"/>
                                    <line class="anim-flow-hot" x1="20" y1="40" x2="40" y2="40" stroke-width="4" stroke-linecap="round"/>
                                    <line class="anim-flow-cold" x1="50" y1="65" x2="50" y2="45" stroke-width="4" stroke-linecap="round"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Pytanie 5: Woda demineralizowana -->
            <div class="rk-faq2-item">
                <button class="rk-faq2-question">
                    <span>5. Czy instalację można napełnić zwykłą wodą z kranu?</span>
                    <div class="rk-faq2-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq2-answer-wrapper">
                    <div class="rk-faq2-answer-inner">
                        <div class="rk-faq2-content">
                            <div class="rk-faq2-text">
                                Zdecydowanie odradza się takie praktyki. Instalacja frezowana posiada cienkie rurki (najczęściej 14 mm), co potęguje ryzyko zarastania przekroju. Układ <strong>musi być napełniony <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/" class="rk-faq2-link">wodą demineralizowaną</a> (przewodność < 100 µS/cm) z inhibitorem korozji</strong>. Zwykła kranówka grozi szybkim odkładaniem się kamienia kotłowego.
                            </div>
                            <div class="rk-faq2-visual">
                                <svg class="rk-faq2-svg" viewBox="0 0 100 80">
                                    <path class="anim-drop" d="M 50 15 C 50 15 25 45 25 60 C 25 73.8 36.2 85 50 85 C 63.8 85 75 73.8 75 60 C 75 45 50 15 50 15 Z" fill="#38bdf8"/>
                                    <path d="M 40 55 Q 50 45 60 55" fill="none" stroke="#ffffff" stroke-width="3" stroke-linecap="round" opacity="0.6"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

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

<!-- ==========================================
     LOGIKA ZABEZPIECZEŃ (DOMAIN LOCK) I JS
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie na poziomie domeny
    var host = window.location.hostname;
    var allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowed.indexOf(host) === -1) {
        var app = document.getElementById('rk-frez-faq-app');
        if (app) {
            app.innerHTML = '<div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border-radius:20px; font-weight:900;">BŁĄD LICENCJI: TEN MODUŁ STANOWI WŁASNOŚĆ INTELEKTUALNĄ SERWISU PROJEKT-OGRZEWANIA.PL</div>';
        }
        return;
    }

    // 2. Logika otwierania Akordeonu
    var items = document.querySelectorAll('.rk-faq2-item');
    items.forEach(function(item) {
        var btn = item.querySelector('.rk-faq2-question');
        btn.addEventListener('click', function() {
            var isActive = item.classList.contains('active');
            
            // Zamknij wszystkie inne zakładki
            items.forEach(function(el) { 
                el.classList.remove('active'); 
            });
            
            // Otwórz tylko klikniętą, o ile nie była wcześniej otwarta
            if (!isActive) {
                item.classList.add('active');
            }
        });
    });
    
    // Otwórz pierwszą zakładkę domyślnie
    if(items.length > 0) {
        items[0].classList.add('active');
    }
});
</script>



<style>
:root {
    --rk-mill-dark: #1e293b;
    --rk-mill-blue: #0284c7;
    --rk-mill-blue-hover: #0369a1;
    --rk-mill-orange: #f97316;
    --rk-mill-orange-light: #ffedd5;
    --rk-mill-red: #ef4444;
    --rk-mill-red-light: #fef2f2;
    --rk-mill-green: #10b981;
    --rk-mill-bg: #ffffff;
    --rk-mill-gray: #f8fafc;
    --rk-mill-text: #334155;
    --rk-mill-border: #e2e8f0;
}

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

/* Sekcja Główna */
.rk-mill-header {
    padding: 40px 50px 30px;
    background: linear-gradient(145deg, #f8fafc 0%, #f1f5f9 100%);
    border-bottom: 1px solid var(--rk-mill-border);
}

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

.rk-mill-title svg {
    color: var(--rk-mill-orange);
    flex-shrink: 0;
}

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

/* Interaktywny Moduł */
.rk-mill-interactive {
    padding: 40px 50px;
    background: var(--rk-mill-bg);
}

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

/* Toggle Switch (Styl iOS/Android) */
.rk-toggle-container {
    display: flex;
    justify-content: center;
    margin-bottom: 35px;
}

.rk-toggle-bg {
    display: flex;
    background: #e2e8f0;
    border-radius: 99px;
    padding: 4px;
    position: relative;
    width: 100%;
    max-width: 500px;
    cursor: pointer;
}

.rk-toggle-btn {
    flex: 1;
    text-align: center;
    padding: 12px 20px;
    font-size: 15px;
    font-weight: 700;
    color: #64748b;
    z-index: 2;
    transition: color 0.3s ease;
    user-select: none;
}

.rk-toggle-btn.active {
    color: var(--rk-mill-dark);
}

.rk-toggle-slider {
    position: absolute;
    top: 4px;
    left: 4px;
    width: calc(50% - 4px);
    height: calc(100% - 8px);
    background: #ffffff;
    border-radius: 99px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    z-index: 1;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.rk-toggle-bg[data-state="amateur"] .rk-toggle-slider {
    transform: translateX(100%);
}

/* Dynamiczny Kontent */
.rk-dynamic-view {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: stretch;
}

.rk-dynamic-card {
    padding: 30px;
    border-radius: 20px;
    border: 2px solid transparent;
    background: var(--rk-mill-gray);
    transition: all 0.4s ease;
    opacity: 0;
    display: none;
    transform: translateY(10px);
}

.rk-dynamic-card.active {
    display: flex;
    flex-direction: column;
    opacity: 1;
    transform: translateY(0);
}

.rk-card-pro { border-color: var(--rk-mill-orange-light); background: #fffcf8; }
.rk-card-amateur { border-color: var(--rk-mill-red-light); background: #fffcfc; }

.rk-card-icon {
    width: 64px;
    height: 64px;
    margin-bottom: 20px;
}

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

.rk-card-text {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-mill-text);
    margin: 0 0 15px 0;
    flex-grow: 1;
}

.rk-card-text a {
    color: var(--rk-mill-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Animacje SVG */
.anim-flow { stroke-dasharray: 10; animation: dashFlow 1s linear infinite; }
.anim-pulse { transform-origin: center; animation: scalePulse 2s infinite ease-in-out; }
.anim-block { animation: shakeBlock 0.5s infinite alternate; }

@keyframes dashFlow { to { stroke-dashoffset: -20; } }
@keyframes scalePulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); fill: var(--rk-mill-orange); } }
@keyframes shakeBlock { from { transform: translateX(-1px); } to { transform: translateX(1px); } }

/* Grid Informacyjny (Kafelki zamiast ściany tekstu) */
.rk-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 0 50px 40px;
}

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

.rk-info-box h4 {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-mill-dark);
    margin: 0 0 10px 0;
}

.rk-info-box p {
    font-size: 13px;
    line-height: 1.5;
    color: #64748b;
    margin: 0;
}

@media (max-width: 768px) {
    .rk-mill-header, .rk-mill-interactive { padding: 30px 20px; }
    .rk-info-grid { grid-template-columns: 1fr; padding: 0 20px 30px; }
    .rk-dynamic-view { grid-template-columns: 1fr; }
    .rk-mill-title { font-size: 22px; }
    .rk-toggle-bg { width: 100%; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Podsumowanie: Modernizacja bez skuwania i drastyczny spadek bezwładności",
    "description": "Frezowanie podłogówki pozwala na pełne przejście na zasilanie niskotemperaturowe. Gwarantuje czas nagrzewania poniżej 45 minut przy zachowaniu normy DIN 4726 i rzetelnych obliczeń OZC.",
    "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-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-frezowanie",
    "name": "Parametry hydrauliczne i termiczne układu frezowanego",
    "description": "Zestawienie porównawcze działania instalacji ogrzewania frezowanego z wykonanym profesjonalnym projektem OZC w stosunku do instalacji montowanych intuicyjnie.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "frezowanie ogrzewania podłogowego",
      "bezwładność termiczna podłogówki",
      "projektowe obciążenie cieplne ozc",
      "bariera antydyfuzyjna evoh din 4726",
      "opory hydrauliczne pompy ciepła"
    ],
    "measurementTechnique": "Obliczenia na bazie normy DIN 4726, PN-EN 12831 (OZC) oraz symulacji dynamiki przepływów hydraulicznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Bezwładność cieplna: Stabilizacja temperatury powietrza w czasie krótszym niż 45 minut.",
        "Zabezpieczenie: Rury z powłoką antydyfuzyjną EVOH chronią układ przed zapowietrzeniem i korozją."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#webapp-symulator",
    "name": "Symulator Przepływów i OZC przy Frezowaniu",
    "description": "Interaktywny panel ilustrujący bezpośrednie skutki zaniechania obliczeń cieplnych (OZC) oraz zastosowania niewłaściwych materiałów w układach cienkowarstwowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and CSS3",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-mill-wrapper" id="rk-frez-summary-app">
    
    <!-- Nagłówek -->
    <div class="rk-mill-header">
        <h2 class="rk-mill-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"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>
            Podsumowanie: Modernizacja bez skuwania wylewki
        </h2>
        <p class="rk-mill-intro">
            Zastosowanie technologii frezowania to sprawdzona inżyniersko metoda na błyskawiczne przejście z układów wysokotemperaturowych na wydajne, niskotemperaturowe źródła ciepła (pompy ciepła). <strong>Kluczową zaletą tego systemu jest drastyczny spadek bezwładności termicznej</strong> – cienka warstwa masy polimerowo-cementowej sprawia, że temperatura w pomieszczeniach stabilizuje się w czasie <strong>poniżej 45 minut</strong>.
        </p>
    </div>

    <!-- Interaktywny Symulator Decyzji -->
    <div class="rk-mill-interactive">
        <h3 class="rk-mill-subtitle">Jak błędy projektowe niszczą sprawność instalacji?</h3>
        
        <div class="rk-toggle-container">
            <div class="rk-toggle-bg" id="rkSimToggle" data-state="pro">
                <div class="rk-toggle-slider"></div>
                <div class="rk-toggle-btn active" data-target="pro" onclick="switchState('pro')">Projekt Inżynierski (OZC)</div>
                <div class="rk-toggle-btn" data-target="amateur" onclick="switchState('amateur')">Instalacja "Na oko"</div>
            </div>
        </div>

        <div class="rk-dynamic-view">
            <!-- WIDOK: PROJEKT INŻYNIERSKI -->
            <div class="rk-dynamic-card rk-card-pro active" id="view-pro">
                <svg class="rk-card-icon" viewBox="0 0 64 64" fill="none">
                    <circle cx="32" cy="32" r="30" stroke="var(--rk-mill-orange)" stroke-width="4" stroke-dasharray="4 4" class="anim-flow"/>
                    <path d="M22 32l7 7 15-15" stroke="var(--rk-mill-orange)" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
                    <circle cx="32" cy="32" r="15" fill="var(--rk-mill-orange-light)" class="anim-pulse" opacity="0.5"/>
                </svg>
                <h4 class="rk-card-title">Precyzyjne rury i płynny obieg</h4>
                <p class="rk-card-text">
                    Zastosowanie rur z <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/">barierą antydyfuzyjną EVOH</a> (zgodną z rygorystyczną normą DIN 4726) blokuje przenikanie tlenu. Pompa ciepła działa z optymalnym parametrem, a opory hydrauliczne są pod pełną kontrolą.
                </p>
            </div>

            <!-- WIDOK: BRAK PROJEKTU -->
            <div class="rk-dynamic-card rk-card-amateur" id="view-amateur">
                <svg class="rk-card-icon" viewBox="0 0 64 64" fill="none">
                    <circle cx="32" cy="32" r="30" stroke="var(--rk-mill-red)" stroke-width="4"/>
                    <path d="M20 20l24 24M44 20L20 44" stroke="var(--rk-mill-red)" stroke-width="5" stroke-linecap="round" class="anim-block"/>
                    <rect x="25" y="25" width="14" height="14" fill="var(--rk-mill-red)" rx="2"/>
                </svg>
                <h4 class="rk-card-title" style="color: var(--rk-mill-red);">Blokada przepływów i straty</h4>
                <p class="rk-card-text">
                    Brak rzetelnych <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/">obliczeń strat ciepła</a> skutkuje drastycznym wzrostem oporów w rurkach 14 mm. Taktowanie pompy ciepła pożera budżet, a woda omija najdłuższe, źle dobrane pętle grzewcze.
                </p>
            </div>
            
            <!-- OPIS WSPÓLNY - ZMIENIA SIĘ ZALEŻNIE OD STANU -->
            <div class="rk-dynamic-card active" style="background: transparent; border: none; padding: 10px 0;">
                <div id="desc-pro">
                    <h4 class="rk-card-title">OZC ratuje Twój portfel</h4>
                    <p class="rk-card-text">
                        Każda modernizacja frezowana bezwzględnie wymaga obliczenia <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowego obciążenia cieplnego (OZC)</a>. Dzięki temu unika się przewymiarowania źródła ciepła, a odpowiednie zgruntowanie wyfrezowanych bruzd gwarantuje doskonałe przewodzenie energii bez ryzyka odparzenia okładzin.
                    </p>
                </div>
                <div id="desc-amateur" style="display: none;">
                    <h4 class="rk-card-title" style="color: var(--rk-mill-red);">Pozorna oszczędność</h4>
                    <p class="rk-card-text">
                        Projektowanie "z pamięci" lub sugerowanie się układami tradycyjnymi kończy się katastrofą przy małych przekrojach rur frezowanych. Pył pozostawiony w bruzdach izoluje rurę, sztucznie zwiększając <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładność cieplną</a> układu.
                    </p>
                </div>
            </div>
        </div>
    </div>

    <!-- Procedury (Kafelki pod spodem) -->
    <div class="rk-info-grid">
        <div class="rk-info-box">
            <h4>1. Odpylenie i Grunt</h4>
            <p>Pył betonowy to izolator. Dokładne odkurzenie bruzd klasy M przed aplikacją mas wyrównujących zapobiega odparzeniu warstwy nośnej.</p>
        </div>
        <div class="rk-info-box">
            <h4>2. Normatywne Masy</h4>
            <p>Zalewanie układu wymaga dedykowanych mas polimerowo-cementowych o bardzo dobrym współczynniku przewodzenia energii cieplnej.</p>
        </div>
        <div class="rk-info-box">
            <h4>3. Obliczenia Hydrauliczne</h4>
            <p>Z uwagi na cieńszą rurę (zazwyczaj 14x2), zaniechanie kalibracji przepływów prowadzi do trwałego upośledzenia efektywności pompy.</p>
        </div>
    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE (DOMAIN LOCK)
=========================================== -->
<script>
// Zabezpieczenie Domenowe - blokada bez użycia tagów nagłówkowych
document.addEventListener('DOMContentLoaded', function() {
    var d = window.location.hostname;
    var a = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (a.indexOf(d) === -1) {
        var c = document.getElementById('rk-frez-summary-app');
        if (c) {
            c.innerHTML = '<div style="padding: 40px; text-align: center; background: #1e293b; color: #ef4444; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;"><div style="font-size: 40px; margin-bottom: 15px;">⚠️</div><div style="font-size: 18px; font-weight: bold; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Licencji</div><div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">Moduł analityczny i kod JSON-LD stanowią własność Projekt-Ogrzewania.pl. Wykryto nieautoryzowane użycie skryptu.</div></div>';
        }
    }
});

// Logika Symulatora (Przełącznik)
function switchState(state) {
    const bg = document.getElementById('rkSimToggle');
    const btns = bg.querySelectorAll('.rk-toggle-btn');
    
    // UI toggle
    bg.setAttribute('data-state', state);
    btns.forEach(b => b.classList.remove('active'));
    bg.querySelector(`[data-target="${state}"]`).classList.add('active');

    // Dynamic Content
    if (state === 'pro') {
        document.getElementById('view-pro').style.display = 'flex';
        document.getElementById('desc-pro').style.display = 'block';
        
        // Timeout to allow display:flex to apply before animating opacity/transform
        setTimeout(() => {
            document.getElementById('view-pro').classList.add('active');
            document.getElementById('view-amateur').classList.remove('active');
            setTimeout(() => document.getElementById('view-amateur').style.display = 'none', 400);
        }, 10);
        document.getElementById('desc-amateur').style.display = 'none';

    } else {
        document.getElementById('view-amateur').style.display = 'flex';
        document.getElementById('desc-amateur').style.display = 'block';
        
        setTimeout(() => {
            document.getElementById('view-amateur').classList.add('active');
            document.getElementById('view-pro').classList.remove('active');
            setTimeout(() => document.getElementById('view-pro').style.display = 'none', 400);
        }, 10);
        document.getElementById('desc-pro').style.display = 'none';
    }
}
</script>



<style>
:root {
    --rk-dl2-dark: #0f172a; /* Głęboki granat */
    --rk-dl2-brand: #10b981; /* Techniczny szmaragd */
    --rk-dl2-brand-dark: #047857;
    --rk-dl2-accent: #0ea5e9; /* Morski cyjan */
    --rk-dl2-bg: #f8fafc;
    --rk-dl2-border: #e2e8f0;
    --rk-dl2-text: #334155;
    --rk-dl2-white: #ffffff;
}

.rk-dl2-container {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-dl2-white);
    border-radius: 24px;
    border: 1px solid rgba(16, 185, 129, 0.3);
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.1);
    overflow: hidden;
}

/* NAGŁÓWEK SEKCI */
.rk-dl2-header {
    background: linear-gradient(135deg, var(--rk-dl2-dark) 0%, #1e293b 100%);
    padding: 45px 50px;
    color: var(--rk-dl2-white);
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    border-bottom: 4px solid var(--rk-dl2-brand);
}

.rk-dl2-header-content { position: relative; z-index: 2; max-width: 65%; }

.rk-dl2-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    border: 1px solid rgba(16, 185, 129, 0.3);
    color: #6ee7b7;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 18px;
}

.rk-dl2-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 12px 0;
    letter-spacing: -0.5px;
    line-height: 1.3;
}

.rk-dl2-header p {
    font-size: 15px;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.6;
}

/* WIZUALIZACJA PDF / IKONA */
.rk-dl2-visual {
    position: relative;
    z-index: 2;
}

.rk-dl2-icon-svg {
    width: 90px;
    height: auto;
    filter: drop-shadow(0 15px 25px rgba(0,0,0,0.4));
    animation: rkFloat 3.5s infinite ease-in-out alternate;
}

@keyframes rkFloat {
    0% { transform: translateY(0) rotate(0deg); }
    100% { transform: translateY(-12px) rotate(3deg); }
}

/* GŁÓWNY WORKSPACE */
.rk-dl2-workspace {
    display: flex;
    padding: 40px 50px;
    gap: 45px;
    background: var(--rk-dl2-bg);
}

.rk-dl2-preview {
    flex: 1;
    background: #ffffff;
    border: 1px solid var(--rk-dl2-border);
    border-radius: 16px;
    padding: 12px;
    position: relative;
    cursor: zoom-in;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
}

.rk-dl2-preview:hover {
    transform: scale(1.03) translateY(-5px);
    box-shadow: 0 20px 35px -5px rgba(16, 185, 129, 0.15);
}

.rk-dl2-img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    display: block;
}

.rk-dl2-zoom-tag {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: rgba(15, 23, 42, 0.85);
    color: #ffffff;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    gap: 6px;
}

.rk-dl2-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-dl2-info h3 {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-dl2-dark);
    margin: 0 0 20px 0;
}

.rk-dl2-list {
    list-style: none;
    padding: 0;
    margin: 0 0 35px 0;
}

.rk-dl2-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--rk-dl2-text);
    line-height: 1.5;
}

.rk-dl2-check {
    width: 22px;
    height: 22px;
    color: var(--rk-dl2-brand);
    flex-shrink: 0;
    margin-top: 2px;
}

/* PRZYCISK POBIERANIA */
.rk-dl2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-dl2-brand);
    color: var(--rk-dl2-white);
    text-decoration: none !important;
    padding: 18px 30px;
    border-radius: 14px;
    font-weight: 900;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 20px -5px rgba(16, 185, 129, 0.4);
    border: 2px solid transparent;
}

.rk-dl2-btn:hover {
    background: var(--rk-dl2-brand-dark);
    transform: translateY(-3px);
    box-shadow: 0 15px 30px -5px rgba(16, 185, 129, 0.5);
    border-color: #6ee7b7;
}

.rk-dl2-btn svg { transition: transform 0.3s; }
.rk-dl2-btn:hover svg { transform: translateY(3px); }

/* STOPKA MODUŁU */
.rk-dl2-footer {
    padding: 20px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-dl2-border);
    font-size: 13px;
    color: #64748b;
    text-align: center;
}

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

@media (max-width: 800px) {
    .rk-dl2-header { flex-direction: column; text-align: center; padding: 35px 25px; }
    .rk-dl2-header-content { max-width: 100%; margin-bottom: 30px; }
    .rk-dl2-workspace { flex-direction: column; padding: 30px 25px; gap: 30px; }
    .rk-dl2-preview { margin-bottom: 10px; }
    .rk-dl2-btn { width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#infografika-pdf",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/"
    },
    "headline": "Frezowanie podłogówki – Kompendium Wiedzy (Infografika PDF)",
    "description": "Pobierz inżynierskie zestawienie technologii frezowania ogrzewania podłogowego. Schematy, koszty, grubości jastrychu i najczęstsze błędy w jednym pliku PDF.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Frezowanie-ogrzewania-podlogowego-w-starym-domu.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-17",
    "dateModified": "2026-05-17"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#dataset-infografika",
    "name": "Matryca decyzyjna: Frezowanie vs Tradycyjne Kucie",
    "description": "Zbiór danych określający wady, zalety oraz techniczne wymagania brzegowe (nośność, grubość) dla wylewek poddawanych nacinaniu diamentowemu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika frezowanie podłogówki",
      "porównanie kucie a frezowanie pdf",
      "schemat układania rur w bruzdach",
      "wymagania wylewki pod frezowanie",
      "błędy instalatora ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Zestawienie analityczne kosztów i czasu realizacji opracowane na podstawie normy PN-EN 1264-4.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Technologiczna karta porównawcza instalacji płaszczyznowych"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#download-hub",
    "name": "Centrum Pobierania Wiedzy: Frezowanie",
    "description": "Interaktywny moduł umożliwiający wizualizację HD i pobranie autorskiej dokumentacji technicznej w formacie wektorowym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5"
  }
]
</script>

<div class="rk-dl2-container" id="app-frez-dl">
    
    <div class="rk-dl2-header">
        <div class="rk-dl2-header-content">
            <div class="rk-dl2-badge">
                <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" style="margin-right:4px;"><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>
                Darmowe Materiały PDF
            </div>
            <h2>Pobierz Kompendium Wiedzy</h2>
            <p>Zabierz inżynierską wiedzę na budowę. Kompletne zestawienie technologii frezowania, schematy ułożenia rur i checklisty błędów w jednym pliku.</p>
        </div>
        <div class="rk-dl2-visual">
            <svg class="rk-dl2-icon-svg" viewBox="0 0 100 120" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M20 10 C20 4.477 24.477 0 30 0 L70 0 L100 30 L100 110 C100 115.523 95.523 120 90 120 L30 120 C24.477 120 20 115.523 20 110 Z" fill="#ef4444" stroke="#ffffff" stroke-width="4"/>
                <path d="M70 0 L70 30 L100 30" fill="#b91c1c"/>
                <circle cx="60" cy="65" r="15" fill="none" stroke="#ffffff" stroke-width="4" stroke-dasharray="8 4"/>
                <circle cx="60" cy="65" r="4" fill="#ffffff"/>
                <rect x="0" y="85" width="55" height="25" rx="4" fill="#ffffff" stroke="#ef4444" stroke-width="2"/>
                <text x="8" y="103" fill="#ef4444" font-size="16" font-weight="900" font-family="sans-serif">PDF</text>
            </svg>
        </div>
    </div>

    <div class="rk-dl2-workspace">
        
        <div class="rk-dl2-preview" onclick="window.open('https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Frezowanie-ogrzewania-podlogowego-w-starym-domu.webp', '_blank')">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Frezowanie-ogrzewania-podlogowego-w-starym-domu.webp" alt="Infografika Frezowanie ogrzewania podłogowego w starym domu" class="rk-dl2-img" loading="lazy">
            <div class="rk-dl2-zoom-tag">
                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                Kliknij, aby powiększyć
            </div>
        </div>

        <div class="rk-dl2-info">
            <h3>Co znajdziesz w infografice?</h3>
            <ul class="rk-dl2-list">
                <li class="rk-dl2-item">
                    <svg class="rk-dl2-check" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    <span><strong>Analiza Porównawcza:</strong> Tradycyjne kucie kontra bezpyłowe frezowanie.</span>
                </li>
                <li class="rk-dl2-item">
                    <svg class="rk-dl2-check" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    <span><strong>Wymagania Techniczne:</strong> Krytyczne grubości i dopuszczalne klasy jastrychu.</span>
                </li>
                <li class="rk-dl2-item">
                    <svg class="rk-dl2-check" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    <span><strong>Czerwone Flagi:</strong> Lista najczęstszych, kosztownych błędów instalatorów.</span>
                </li>
            </ul>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Frezowanie-ogrzewania-podlogowego-w-starym-domu.pdf" class="rk-dl2-btn" target="_blank" download>
                POBIERZ PLIK W WYSOKIEJ JAKOŚCI
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
            </a>
            
            <p style="margin-top: 20px; font-size: 13.5px; color: #64748b; line-height: 1.5;">
                Zabezpiecz swoją inwestycję z autorskim <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" style="color:var(--rk-dl2-brand-dark); font-weight:800; text-decoration:underline;">Projektem Ogrzewania Podłogowego OZC</a>. Obliczenia na twardych danych uchronią Cię przed awarią.
            </p>
        </div>

    </div>

    <div class="rk-dl2-footer">
        © 2026 Projekt-Ogrzewania.pl | Inżynier HVAC: <strong>Robert Kucharski</strong>. Możesz udostępniać ten plik dalej (z zachowaniem linku).
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OCHRONA DOMENOWA (Bez tagów nagłówkowych) ---
    const allowedHost = window.location.hostname;
    const whitelisted = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!whitelisted.includes(allowedHost)) {
        const dApp = document.getElementById('app-frez-dl');
        if (dApp) {
            dApp.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 10px;">🔒</div>
                    <div style="font-size: 18px; font-weight: 800; color: #ef4444; margin-bottom: 10px;">Zasoby Chronione Licencją</div>
                    <p style="color: #cbd5e1; font-size: 14px; margin: 0;">Ta infografika i dokumentacja PDF są własnością serwisu Projekt-Ogrzewania.pl. Osadzanie na zewnętrznych domenach jest zablokowane.</p>
                </div>
            `;
        }
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/">Frezowanie ogrzewania podłogowego w starym domu.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jak często trzeba serwisować ogrzewanie podłogowe?</title>
		<link>https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 12 Oct 2025 12:21:11 +0000</pubDate>
				<category><![CDATA[Domowe systemy grzewcze]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Konserwacja systemów grzewczych]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki domowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady dla domu]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Serwis i konserwacja]]></category>
		<category><![CDATA[Systemy grzewcze]]></category>
		<category><![CDATA[częstotliwość serwisu ogrzewania]]></category>
		<category><![CDATA[jak dbać o ogrzewanie podłogowe]]></category>
		<category><![CDATA[konserwacja ogrzewania podłogowego]]></category>
		<category><![CDATA[koszt serwisu ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe wodne]]></category>
		<category><![CDATA[płukanie instalacji grzewczej]]></category>
		<category><![CDATA[przegląd instalacji grzewczej]]></category>
		<category><![CDATA[rozdzielacz ogrzewania podłogowego]]></category>
		<category><![CDATA[serwis ogrzewania podłogowego]]></category>
		<category><![CDATA[zapowietrzone ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2801</guid>

					<description><![CDATA[<p>Ogrzewanie podłogowe to synonim komfortu i efektywnego rozprowadzania ciepła. Jednak, aby przez lata cieszyć się jego bezawaryjną pracą, niezbędna jest odpowiednia profilaktyka. Wielu inwestorów zastanawia się więc, jak często trzeba serwisować ogrzewanie podłogowe i czy naprawdę jest to konieczne. Odpowiedź jest kluczowa dla zdrowia całej instalacji. Regularne przeglądy to nie fanaberia, a konieczność, która pozwala uniknąć kosztownych awarii w środku sezonu grzewczego, zapewnia optymalną wydajność i znacząco wydłuża żywotność wszystkich komponentów systemu. W naszym artykule znajdziesz szczegółowy harmonogram prac serwisowych.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/">Jak często trzeba serwisować ogrzewanie podłogowe?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Jak często trzeba serwisować ogrzewanie podłogowe?</strong>&nbsp;To pytanie zadaje sobie wielu właścicieli domów i mieszkań, którzy zdecydowali się na ten komfortowy system grzewczy. Odpowiedź nie jest jednoznaczna, ponieważ zależy od typu instalacji, jej elementów oraz intensywności użytkowania. W tym artykule rozwiejemy wszystkie wątpliwości, przedstawiając szczegółowy harmonogram przeglądów dla wodnego ogrzewania podłogowego. Dowiesz się, które czynności możesz wykonać samodzielnie, a kiedy bezwzględnie należy wezwać specjalistę, aby zapewnić systemowi długą i bezawaryjną żywotność.</p>



<h2 class="wp-block-heading">Wodne ogrzewanie podłogowe – system wymagający regularnej uwagi</h2>



<p class="wp-block-paragraph">Wodne ogrzewanie podłogowe to system, który cieszy się ogromną popularnością ze względu na swoją energooszczędność i komfort cieplny. Składa się z wielu skomplikowanych elementów: źródła ciepła (kocioł, pompa ciepła), <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacza</a>, pompy obiegowej, <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rur</a> ukrytych w wylewce oraz sterowników. To właśnie złożoność tej instalacji sprawia, że <strong>regularny serwis ogrzewania podłogowego</strong> jest nie tyle zalecany, co konieczny.</p>



<p class="wp-block-paragraph">Wielu inwestorów popełnia błąd, traktując instalację jako &#8222;zapomnianą&#8221; po jej montażu. Niestety, brak profilaktyki może prowadzić do spadku wydajności, zwiększonych kosztów ogrzewania, a w skrajnych przypadkach – do kosztownych awarii. Poniżej przedstawiamy kompletny harmonogram, który pomoże Ci utrzymać system w idealnej kondycji.</p>



<h3 class="wp-block-heading">Roczny przegląd techniczny – podstawa bezpieczeństwa i efektywności</h3>



<p class="wp-block-paragraph"><strong>Bezwzględnym minimum</strong>&nbsp;jest przeprowadzenie corocznego przeglądu przez wykwalifikowanego serwisanta. Najlepszym momentem na tę czynność jest koniec lata lub początek jesieni, czyli tuż przed rozpoczęciem sezonu grzewczego. Dlaczego to takie ważne? Pozwala to na identyfikację i usunięcie potencjalnych problemów zanim nadejdą mrozy, kiedy awaria systemu grzewczego jest szczególnie dotkliwa.</p>



<ul class="wp-block-list">
<li><strong>Kontrola źródła ciepła:</strong> Serwisant powinien dokładnie sprawdzić kocioł gazowy, kondensacyjny lub pompę ciepła. Czynności obejmują:
<ul class="wp-block-list">
<li>Pomiar ciśnienia w instalacji i sprawdzenie szczelności.</li>



<li>Kontrolę spalin dla kotłów gazowych (sprawność combustion).</li>



<li>Czyszczenie wymiennika i palnika.</li>



<li>Sprawdzenie parametrów pracy i ewentualną kalibrację.</li>



<li><strong>Zalecamy</strong> korzystanie z usług autoryzowanych serwisów, które dysponują odpowiednim sprzętem i wiedzą na temat Twojego urządzenia.</li>
</ul>
</li>



<li><strong>Przegląd rozdzielacza ogrzewania podłogowego:</strong> To &#8222;serce&#8221; całego systemu. Specjalista:
<ul class="wp-block-list">
<li><strong>Odpowietrzy instalację</strong> – to kluczowa czynność, ponieważ powietrze w rurach jest najczęstszą przyczyną nierównego grzania i tzw. &#8222;zimnych placów&#8221; na podłodze.</li>



<li>Sprawdzi działanie siłowników i głowic termostatycznych – czy prawidłowo otwierają i zamykają przepływ do poszczególnych pętli grzewczych.</li>



<li>Skontroluje stan zaworów odcinających i regulacyjnych.</li>



<li>Sprawdzi działanie pompy obiegowej.</li>
</ul>
</li>



<li><strong>Wyregulowanie hydrauliczne systemu:</strong> To często pomijany, ale niezwykle ważny element. Polega na takim ustawieniu przepływów na rozdzielaczu, aby każda <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">pętla grzewcza</a> otrzymywała dokładnie taką ilość ciepłej wody, jaka jest potrzebna do osiągnięcia jednakowej temperatury w wszystkich pomieszczeniach. Dzięki temu unikniesz sytuacji, w której jedna część domu jest przegrzana, a druga zimna.</li>
</ul>



<h2 class="wp-block-heading">Czynności serwisowe w dłuższych odstępach czasu</h2>



<p class="wp-block-paragraph">Podczas gdy przegląd roczny jest standardem, istnieją czynności, które należy wykonywać rzadziej, ale są równie istotne dla żywotności instalacji.</p>



<h3 class="wp-block-heading">Płukanie instalacji – dlaczego jest konieczne?</h3>



<p class="wp-block-paragraph"><strong>Co 3 do 5 lat</strong>&nbsp;należy rozważyć&nbsp;<strong>płukanie i czyszczenie chemiczne</strong>&nbsp;całej instalacji grzewczej. Nawet jeśli na początku napełniona była czystą wodą z inhibitorami korozji, z czasem zachodzą w niej niekorzystne procesy.</p>



<ul class="wp-block-list">
<li><strong>Powstawanie osadów:</strong> W wyniku korozji wewnętrznej oraz wytrącania się związków mineralnych z wody (szczególnie w rejonach z twardą wodą) w rurach i innych elementach tworzy się muł, kamień kotłowy i biofilm.</li>



<li><strong>Skutki zanieczyszczeń:</strong> Te osady działają jak izolator, pogarszając wymianę ciepła między wodą a podłogą. System staje się mniej wydajny, a Ty płacisz wyższe rachunki za ogrzewanie. Dodatkowo, zanieczyszczenia obciążają pompę obiegową, mogą blokować zawory i prowadzić do awarii drogich komponentów.</li>



<li><strong>Przebieg procesu:</strong> Serwisant używa specjalistycznej pompy, która tłoczy przez instalację środki chemiczne rozpuszczające osady. Następnie instalacja jest dokładnie płukana czystą wodą, zanim zostanie ponownie napełniona i zabezpieczona inhibitorami.</li>
</ul>



<p class="wp-block-paragraph">Warto zaznaczyć, że na potrzeby takiego serwisu, warto wyposażyć instalację w odpowiednie&nbsp;<strong>zawory serwisowe</strong>&nbsp;już na etapie projektu, co znacznie ułatwi ten proces.</p>



<h2 class="wp-block-heading">Rola użytkownika – codzienna obserwacja i proste czynności</h2>



<p class="wp-block-paragraph">Odpowiedzialność za stan ogrzewania podłogowego nie spoczywa wyłącznie na serwisancie. Jako użytkownik możesz i powinieneś wykonywać regularne, proste obserwacje, które pozwolą w porę wychwycić nieprawidłowości.</p>



<h3 class="wp-block-heading">Kontrola ciśnienia w instalacji</h3>



<p class="wp-block-paragraph">Raz w miesiącu, a koniecznie przed sezonem grzewczym, rzuć okiem na&nbsp;<strong>manometr</strong>&nbsp;(wskazówkę ciśnienia), który zazwyczaj znajduje się na kotle lub przy rozdzielaczu. Prawidłowe ciśnienie w zimnej instalacji mieści się zwykle w przedziale&nbsp;<strong>1,0 – 1,5 bara</strong>. Jeśli zauważysz, że ciśnienie systematycznie spada (np. poniżej 0,8 bara) i musisz je często uzupełniać, jest to wyraźny sygnał, że w systemie może być nieszczelność. W takim przypadku niezwłocznie skontaktuj się z serwisem.</p>



<h3 class="wp-block-heading">Testowe uruchomienie systemu</h3>



<p class="wp-block-paragraph">Zanim na dobre rozpocznie się sezon grzewczy, uruchom ogrzewanie na niskiej temperaturze (np. 20-21°C) i pozwól mu pracować przez dzień lub dwa. Przejdź się po wszystkich pomieszczeniach i dotknij podłogi. Czy jest równomiernie ciepła? Czy nie ma miejsc, które pozostają zimne? Czy słyszysz jakieś niepokojące dźwięki, takie jak bulgotanie lub szum? Taki test pozwoli Ci zweryfikować działanie systemu w kontrolowanych warunkach, zanim będzie musiał zmierzyć się z siarczystym mrozem.</p>



<h2 class="wp-block-heading">Sygnały ostrzegawcze – kiedy nie zwlekać z wezwaniem pomocy?</h2>



<p class="wp-block-paragraph">Niektóre problemy nie mogą czekać na coroczny przegląd. Jeśli zaobserwujesz którykolwiek z poniższych objawów, działaj natychmiast.</p>



<ul class="wp-block-list">
<li><strong>Wyraźnie nierówne grzanie podłogi:</strong> Gdy niektóre jej fragmenty są ciepłe, a inne zimne, to niemal pewny objaw zapowietrzenia którejś z pętli lub jej zablokowania przez zanieczyszczenia.</li>



<li><strong>Gwałtowny spadek ciśnienia:</strong> Manometr wskazuje wartość bliską zeru, a uzupełnianie wody nie daje trwałego efektu.</li>



<li><strong>Dostrzegalny wyciek wody:</strong> W okolicy rozdzielacza, kotła lub na rurach widoczne są krople wody, kałuże lub zacięki.</li>



<li><strong>Nietypowe dźwięki:</strong> Głośne bulgotanie, pukanie, terkotanie lub gwiżdżąca pompa obiegowa to sygnały, że w systemie jest powietrze, pompa jest uszkodzona lub występują inne problemy hydrauliczne.</li>



<li><strong>System całkowicie nie reaguje:</strong> Ogrzewanie nie włącza się pomocy ustawienia wyższej temperatury na sterowniku. Przyczyn może być wiele, od awarii źródła ciepła po problem z zasilaniem.</li>
</ul>



<h2 class="wp-block-heading">Znaczenie projektu instalacji dla późniejszego serwisu</h2>



<p class="wp-block-paragraph">Warto wspomnieć, że łatwość i koszt późniejszego <strong>serwisu ogrzewania podłogowego</strong> są w dużej mierze uzależnione od jego <strong><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki">profesjonalnego projektu</a></strong>. Dobry projekt przewiduje między innymi:</p>



<ul class="wp-block-list">
<li><strong>Odpowiedni dostęp do rozdzielacza:</strong> Powinien on być zamontowany w takim miejscu (np. w szafce ściennej), aby serwisant miał swobodny dostęp do wszystkich jego elementów.</li>



<li><strong>Montaż zaworów odcinających i odpowietrzników:</strong> Umożliwiają one odizolowanie części systemu, odpowietrzanie i podłączanie urządzeń do płukania.</li>



<li><strong>Podział na strefy grzewcze:</strong> Logiczny podział na pętle ułatwia późniejsze diagnozowanie problemów i regulację systemu.</li>



<li><strong>Dobór odpowiedniego źródła ciepła:</strong> Urządzenie o odpowiedniej mocy i parametrach będzie pracowało sprawniej i z mniejszym ryzykiem awarii.</li>
</ul>



<p class="wp-block-paragraph">Inwestycja w <strong>profesjonalny projekt ogrzewania podłogowego</strong> zwraca się z nawiązaniem przez cały okres użytkowania domu, w postaci niższych rachunków, mniejszej liczby awarii i prostszego serwisowania. </p>



<h2 class="wp-block-heading">FAQ: Konserwacja ogrzewania podłogowego – najczęstsze pytania</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1760268473288"><strong class="schema-faq-question"><strong>Czy coroczny przegląd ogrzewania podłogowego jest obowiązkowy?</strong></strong> <p class="schema-faq-answer">Tak. Roczny serwis to działania profilaktyczne. Pozwala on wychwycić drobne usterki (jak spadki ciśnienia czy minimalne zapowietrzenie), zanim przekształcą się one w kosztowną awarię w środku zimy.</p> </div> <div class="schema-faq-section" id="faq-question-1760268583548"><strong class="schema-faq-question"><strong>Jakie prace serwisowe mogę wykonać sam?</strong></strong> <p class="schema-faq-answer">Do samodzielnych czynności należy miesięczna <strong>kontrola ciśnienia</strong> na manometrze (norma: 1,0-1,5 bara) oraz testowe uruchomienie systemu przed sezonem w celu sprawdzenia równomierności grzania.</p> </div> <div class="schema-faq-section" id="faq-question-1760268592585"><strong class="schema-faq-question"><strong>Po czym poznaję, że instalacja jest zapowietrzona?</strong></strong> <p class="schema-faq-answer">Głównym objawem są <strong>nierówno grzejące się place podłogi</strong> (ciepłe obok zimnych) oraz bulgotanie dochodzące z rozdzielacza. Naprawa polega na odpowietrzeniu instalacji na kolektorze.</p> </div> <div class="schema-faq-section" id="faq-question-1760268608717"><strong class="schema-faq-question"><strong>Co ile lat należy płukać instalację?</strong></strong> <p class="schema-faq-answer">Zalecany okres to <strong>co 3-5 lat</strong>. Częstotliwość zależy od twardości wody i stosowania inhibitorów. Zabieg ten usuwa osady, które pogarszają wydajność grzania i obciążają pompę.</p> </div> <div class="schema-faq-section" id="faq-question-1760268628877"><strong class="schema-faq-question"><strong>Czy serwis wydłuża żywotność systemu?</strong></strong> <p class="schema-faq-answer">Zdecydowanie tak. Czysta i wyregulowana instalacja pracuje optymalnie, mniej obciążając swoje kluczowe komponenty (kocioł, pompę, zawory), co znacząco przedłuża ich żywotność.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie – regularity to klucz do sukcesu</h2>



<p class="wp-block-paragraph">Odpowiadając na pytanie&nbsp;<strong>&#8222;Jak często trzeba serwisować ogrzewanie podłogowe?&#8221;</strong>&nbsp;– kluczowe jest zrozumienie, że to system, który wymaga&nbsp;<strong>regularnej, profilaktycznej opieki</strong>. Roczny przegląd przez specjalistę to podstawa, która zapewni bezpieczeństwo i efektywność. Płukanie instalacji co kilka lat przedłuży jej żywotność, a czujność samego użytkownika pozwoli na szybką reakcję w razie problemów. Pamiętaj, że koszt corocznego przeglądu jest nieporównywalnie niższy od kosztów naprawy awarii czy strat energii spowodowanych przez zaniedbany system. Inwestując w&nbsp;<strong>konserwację ogrzewania podłogowego</strong>, inwestujesz w długotrwały komfort i spokój ducha.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/">Jak często trzeba serwisować ogrzewanie podłogowe?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jak rodzaj okładziny podłogowej wpływa na wydajność ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/</link>
					<comments>https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 19 Oct 2024 10:21:25 +0000</pubDate>
				<category><![CDATA[Efektywność ogrzewania]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Izolacja cieplna]]></category>
		<category><![CDATA[Komfort cieplny]]></category>
		<category><![CDATA[Nowoczesne technologie grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Podłogi w domu]]></category>
		<category><![CDATA[Podłogówka]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Porady dla domu]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Rodzaje okładzin podłogowych]]></category>
		<category><![CDATA[Wybór materiałów budowlanych]]></category>
		<category><![CDATA[ceramika]]></category>
		<category><![CDATA[efektywność ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[opór cieplny]]></category>
		<category><![CDATA[podłogi drewniane]]></category>
		<category><![CDATA[projektowanie ogrzewania]]></category>
		<category><![CDATA[rodzaje okładzin]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<category><![CDATA[wybór podłóg]]></category>
		<category><![CDATA[wykładziny]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=1393</guid>

					<description><![CDATA[<p>Wybór odpowiedniej okładziny podłogowej ma ogromny wpływ na efektywność ogrzewania podłogowego. Materiały takie jak marmur czy ceramika oferują doskonałe przewodnictwo cieplne, co przekłada się na lepszą wydajność systemu grzewczego. Natomiast drewno czy grube wykładziny dywanowe działają bardziej jako izolator, obniżając efektywność ogrzewania. Dowiedz się, jak różne materiały wpływają na komfort cieplny i koszty eksploatacji, oraz jakie okładziny najlepiej współpracują z ogrzewaniem podłogowym.</p>
<p>Artykuł <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> 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: #0284c7;
    --rk-intro-light: #f8fafc;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
    --rk-intro-alert: #ef4444;
    --rk-intro-success: #10b981;
}

.rk-intro-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--rk-intro-dark);
}

.rk-intro-container {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.08);
    border: 1px solid var(--rk-intro-border);
    padding: 0;
    overflow: hidden;
}

/* Sekcja Hooka - Ciemny Header */
.rk-intro-header {
    background: linear-gradient(135deg, var(--rk-intro-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
}

.rk-intro-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 20px 0;
    line-height: 1.3;
}

.rk-intro-hook {
    font-size: 18px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
    font-weight: 500;
}

.rk-intro-hook strong {
    color: #ffffff;
    font-weight: 800;
}

/* Główny kontent intro - Grid */
.rk-intro-body {
    padding: 40px 50px;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 40px;
}

/* Szybka odpowiedź */
.rk-quick-answer {
    background: var(--rk-intro-light);
    border: 1px solid var(--rk-intro-border);
    border-radius: 16px;
    padding: 25px;
    position: relative;
}

.rk-qa-badge {
    position: absolute;
    top: -12px;
    left: 20px;
    background: var(--rk-intro-blue);
    color: #ffffff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

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

/* Agenda / Co znajdziesz w artykule */
.rk-agenda-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-agenda-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-intro-dark);
    margin: 0 0 15px 0;
    text-transform: uppercase;
}

.rk-agenda-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-agenda-list li {
    font-size: 14px;
    font-weight: 600;
    color: var(--rk-intro-text);
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-agenda-list li svg {
    color: var(--rk-intro-blue);
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* Linki wewnętrzne */
a.rk-inline-link {
    color: var(--rk-intro-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-intro-blue);
}

a.rk-inline-link:hover {
    color: var(--rk-intro-dark);
    border-bottom-color: var(--rk-intro-dark);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-intro-header { padding: 30px 20px; }
    .rk-intro-header h2 { font-size: 24px; }
    .rk-intro-body { grid-template-columns: 1fr; padding: 30px 20px; gap: 30px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#intro-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/"
    },
    "headline": "Jak rodzaj okładziny podłogowej wpływa na wydajność ogrzewania podłogowego?",
    "description": "Fizykalna i inżynierska analiza oporu cieplnego posadzek. Poznaj wpływ gresu, paneli i drewna na wydajność ogrzewania płaszczyznowego i rachunki za pompę ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-29",
    "dateModified": "2026-06-29"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#intro-dataset",
    "name": "Wprowadzenie: Parametry brzegowe normy PN-EN 1264",
    "description": "Zbiór podstawowych kryteriów inżynierskich określających maksymalny opór cieplny (R) wykończenia posadzki nad wylewką grzewczą.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak rodzaj okładziny podłogowej wpływa na wydajność ogrzewania podłogowego",
      "opór cieplny posadzki 0,15",
      "wydajność podłogówki a panele",
      "norma PN-EN 1264 opór cieplny",
      "straty ciepła na okładzinie podłogowej"
    ],
    "measurementTechnique": "Określenie zdolności emisyjnej jastrychu na podstawie granicznej wartości rezystancji termicznej powłok, nieprzekraczającej 0,15 m2K/W.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Maksymalny dopuszczalny opór cieplny (R): 0,15 m2K/W",
        "Skutek przekroczenia R: Drastyczny spadek sprawności źródła ciepła (COP).",
        "Ryzyko: Wymuszenie wyższej temperatury zasilania na rozdzielaczu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#intro-webapp",
    "name": "Zestaw Inżynierskich Kalkulatorów Posadzkowych (Dostępne w dalszej części artykułu)",
    "description": "Zbiór interaktywnych narzędzi udostępnionych w artykule, pozwalających na symulację wpływu materiałów wykończeniowych na parametry ogrzewania.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-section">
    <div class="rk-intro-container">
        
        <div class="rk-intro-header">
            <h2>Jak rodzaj okładziny podłogowej wpływa na wydajność ogrzewania podłogowego?</h2>
            <p class="rk-intro-hook">
                Inwestujesz dziesiątki tysięcy w nowoczesną pompę ciepła, zamawiasz idealną wylewkę, a potem&#8230; <strong>kładziesz na podłogę grubą deskę i dziwisz się, że rachunki rosną, a w domu jest zimno?</strong> Dobór materiału wykończeniowego to najważniejsza decyzja, która potrafi uratować lub zniszczyć ekonomikę całej instalacji.
            </p>
        </div>

        <div class="rk-intro-body">
            
            <div class="rk-quick-answer">
                <span class="rk-qa-badge">Szybka odpowiedź inżyniera</span>
                <p class="rk-qa-text">
                    Wybór materiału wykończeniowego na podłogę z ogrzewaniem płaszczyznowym to decyzja, która bezpośrednio determinuje późniejsze koszty eksploatacyjne budynku oraz komfort termiczny. Całość sprowadza się do fizycznego parametru oporu cieplnego (R). Zgodnie z europejską <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/" class="rk-inline-link">normą PN-EN 1264</a>, całkowity opór cieplny warstw podłogowych ponad rurami grzewczymi <strong>nie może przekraczać 0,15 m2K/W</strong>. Przekroczenie tej granicy drastycznie ogranicza strumień ciepła i zmusza pompę ciepła do pracy z wyższą temperaturą zasilania.
                </p>
            </div>

            <div class="rk-agenda-box">
                <h3 class="rk-agenda-title">Czego dowiesz się z tego artykułu?</h3>
                <ul class="rk-agenda-list">
                    <li>
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        Twarde dane o fizyce materiałów (Gres vs Panele vs Drewno)
                    </li>
                    <li>
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        Błędy monterskie (np. złe zastosowanie pianki PE)
                    </li>
                    <li>
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        Interaktywne symulatory i kalkulatory inżynierskie
                    </li>
                    <li>
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        Case study z realnych domów w Polsce
                    </li>
                </ul>
            </div>

        </div>

    </div>
</div>



<style>
:root {
    --rk-res-dark: #0f172a;
    --rk-res-blue: #0284c7;
    --rk-res-light: #f8fafc;
    --rk-res-border: #e2e8f0;
    --rk-res-text: #334155;
    --rk-res-green: #10b981;
    --rk-res-green-bg: #e6f4ea;
    --rk-res-orange: #f97316;
    --rk-res-orange-bg: #fff7ed;
    --rk-res-red: #ef4444;
    --rk-res-red-bg: #fef2f2;
}

.rk-resistance-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--rk-res-dark);
}

.rk-resistance-container {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    border: 1px solid var(--rk-res-border);
    padding: 40px 50px;
    overflow: hidden;
}

/* Nagłówki */
.rk-resistance-section h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-res-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-res-intro {
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-res-text);
    margin-bottom: 30px;
}

.rk-resistance-section h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-res-dark);
    margin: 35px 0 20px 0;
}

/* HORIZONTAL WORKSPACE KALKULATORA: Suwaki góra, Wyniki dół */
.rk-res-workspace {
    background: var(--rk-res-light);
    border: 1px solid var(--rk-res-border);
    border-radius: 20px;
    padding: 30px;
    margin: 25px 0;
}

/* Suwaki w jednym rzędzie na desktopie, pionowo na mobile */
.rk-res-inputs-top {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px dashed #cbd5e1;
}

.rk-res-input-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #ffffff;
    padding: 16px 20px;
    border-radius: 14px;
    border: 1px solid var(--rk-res-border);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-res-label-box {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.rk-res-slider-title {
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-res-slider-value {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-res-blue);
}

.rk-res-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 6px;
    border-radius: 3px;
    background: #e2e8f0;
    outline: none;
    margin-top: 5px;
}

.rk-res-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--rk-res-blue);
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(2, 132, 199, 0.3);
    transition: transform 0.1s;
}

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

/* Panel wyników (Dół): Grafika i dane liczbowe */
.rk-res-outputs-bottom {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 30px;
    align-items: center;
}

.rk-res-svg-box {
    width: 100%;
    background: #ffffff;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-res-border);
}

.rk-res-gauge-path {
    transition: stroke-dashoffset 0.3s ease, stroke 0.3s ease;
}

.rk-res-results-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-res-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px dashed var(--rk-res-border);
    font-size: 15px;
}

.rk-res-row:last-child {
    border-bottom: none;
    padding-top: 15px;
    font-size: 18px;
}

.rk-res-metric-label { color: #475569; font-weight: 600; }
.rk-res-metric-value { font-weight: 800; color: var(--rk-res-dark); }

/* SYMETRYCZNA MATRYCA 4 KAFELKÓW (2x2 na Desktopie, Brak wolnych przestrzeni) */
.rk-res-grid-2x2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 30px;
}

.rk-res-info-card {
    background: #ffffff;
    border: 1px solid var(--rk-res-border);
    border-radius: 16px;
    padding: 25px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-res-info-card:hover {
    box-shadow: 0 15px 30px -10px rgba(2, 132, 199, 0.12);
    border-color: #bae6fd;
    transform: translateY(-2px);
}

.rk-res-info-card h4 {
    margin: 0 0 12px 0;
    font-size: 16.5px;
    font-weight: 800;
    color: var(--rk-res-dark);
}

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

.rk-res-formula-box {
    display: inline-block;
    background: var(--rk-res-light);
    padding: 6px 12px;
    border-radius: 8px;
    font-family: monospace;
    font-weight: 700;
    color: var(--rk-res-blue);
    margin-top: 12px;
    font-size: 13px;
    border: 1px solid var(--rk-res-border);
}

.rk-longtail-term {
    color: var(--rk-res-blue);
    font-weight: 700;
}

/* Responsywność mobilna */
@media (max-width: 768px) {
    .rk-resistance-container { padding: 30px 20px; }
    .rk-res-inputs-top { grid-template-columns: 1fr; gap: 15px; border-bottom: none; padding-bottom: 0; margin-bottom: 15px; }
    .rk-res-outputs-bottom { grid-template-columns: 1fr; gap: 20px; }
    .rk-res-svg-box { max-width: 220px; margin: 0 auto; }
    .rk-res-grid-2x2 { grid-template-columns: 1fr; gap: 15px; }
    .rk-resistance-section h2 { font-size: 22px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#limit-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/"
    },
    "headline": "Dopuszczalny opór cieplny materiałów podłogowych a norma",
    "description": "Analiza granicznych wartości rezystancji termicznej posadzki grzewczej. Wpływ sumowania oporów paneli i podkładu na ekonomię instalacji z pompą ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-29",
    "dateModified": "2026-06-29"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#limit-dataset",
    "name": "Model granicznych oporów emisyjnych posadzek jastrychowych",
    "description": "Zbiór zmiennych fizycznych opisujących relację przyrostu temperatury zasilania czynnika (2-3C na każde 0,05 m2K/W) w odniesieniu do normatywnej gęstości strumienia ciepła 50 W/m2.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dopuszczalny opór cieplny podłogówki",
      "norma PN-EN 1264 opór",
      "jak obliczyć opór cieplny posadzki",
      "błąd sumowania warstw podłogi",
      "efektywność pompy ciepła a podkład"
    ],
    "measurementTechnique": "Przeliczanie rezystancji emisyjnej warstw wykończeniowych nad rurociągiem grzewczym według kryteriów paragrafu 4.1 normy PN-EN 1264-2.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Maksymalny dopuszczalny opór całkowity: 0,15 m2K/W",
        "Zapotrzebowanie na przyrost temperatury czynnika: 2 do 3 st. C na każde 0,05 m2K/W",
        "Standardowa gęstość strumienia emisji q: 50 W/m2"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#limit-webapp",
    "name": "Kalkulator Sumarycznego Oporu Przegrody Posadzkowej",
    "description": "Interaktywna aplikacja przeliczająca relację grubości i współczynnika lambda powłoki wierzchniej oraz oporu podkładu w celu weryfikacji zgodności z normą PN-EN 1264.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-resistance-section">
    <div class="rk-resistance-container">
        
        <h2>Jaki opór cieplny materiałów podłogowych jest dopuszczalny dla ogrzewania podłogowego?</h2>
        <p class="rk-res-intro">
            Maksymalny, dopuszczalny opór cieplny okładziny wraz z podkładem wynosi 0,15 m2K/W, co wynika bezpośrednio z unijnych wytycznych inżynieryjnych. Każda dodatkowa bariera nad jastrychem betonu drastycznie ogranicza swobodne oddawanie energii, zmuszając automatykę do podnoszenia parametrów roboczych kotłowni.
        </p>

        

        <div class="rk-res-workspace">
            
            <div class="rk-res-inputs-top">
                <div class="rk-res-input-card">
                    <div class="rk-res-label-box">
                        <span class="rk-res-slider-title">Grubość okładziny (d):</span>
                        <span class="rk-res-slider-value" id="lbl-thick">8 mm</span>
                    </div>
                    <input type="range" id="input-thick" class="rk-res-slider" min="4" max="16" stroke-linecap="round" step="1" value="8">
                </div>

                <div class="rk-res-input-card">
                    <div class="rk-res-label-box">
                        <span class="rk-res-slider-title">Współczynnik lambda (λ):</span>
                        <span class="rk-res-slider-value" id="lbl-lambda">0.14</span>
                    </div>
                    <input type="range" id="input-lambda" class="rk-res-slider" min="0.10" max="1.30" step="0.02" value="0.14">
                </div>

                <div class="rk-res-input-card">
                    <div class="rk-res-label-box">
                        <span class="rk-res-slider-title">Opór podkładu (R2):</span>
                        <span class="rk-res-slider-value" id="lbl-under-r">0.090</span>
                    </div>
                    <input type="range" id="input-under-r" class="rk-res-slider" min="0.005" max="0.160" step="0.005" value="0.090">
                </div>
            </div>

            <div class="rk-res-outputs-bottom">
                
                <div class="rk-res-svg-box">
                    <svg viewBox="0 0 100 100" style="width: 100%; height: auto;">
                        <circle cx="50" cy="50" r="44" fill="#f8fafc" stroke="#e2e8f0" stroke-width="2"></circle>
                        <circle cx="50" cy="50" r="38" fill="none" stroke="#e2e8f0" stroke-width="6" stroke-dasharray="238" stroke-linecap="round" transform="rotate(-90 50 50)"></circle>
                        
                        <circle id="svg-res-arc" cx="50" cy="50" r="38" fill="none" stroke="#10b981" stroke-width="6" stroke-dasharray="238" stroke-dashoffset="100" stroke-linecap="round" transform="rotate(-90 50 50)" class="rk-res-gauge-path"></circle>
                        
                        <text x="50" y="46" font-family="'Inter', sans-serif" font-weight="900" font-size="14" fill="#0f172a" text-anchor="middle" id="svg-txt-res">0.147</text>
                        <text x="50" y="63" font-family="'Inter', sans-serif" font-weight="800" font-size="7" fill="#64748b" text-anchor="middle" letter-spacing="0.3">SUMA R [m²K/W]</text>
                    </svg>
                </div>

                <div class="rk-res-results-list">
                    <div class="rk-res-row">
                        <span class="rk-res-metric-label">Opór cieplny samej okładziny (R1):</span>
                        <span class="rk-res-metric-value" id="res-r1">0.0571 m2K/W</span>
                    </div>
                    <div class="rk-res-row">
                        <span class="rk-res-metric-label">Sumaryczny opór cieplny posadzki (R):</span>
                        <span class="rk-res-metric-value" id="res-rtotal">0.1471 m2K/W</span>
                    </div>
                    <div class="rk-res-row">
                        <span class="rk-res-metric-label">Status zgodności z normą PN-EN 1264:</span>
                        <span class="rk-res-metric-value" id="res-status" style="color: var(--rk-res-green);">ZGODNY Z NORMĄ</span>
                    </div>
                    <div class="rk-res-row" style="font-weight: 900; border-top: 1px solid #cbd5e1;">
                        <span class="rk-res-metric-label">Prognozowane straty i wzrost rachunków:</span>
                        <span class="rk-res-metric-value" id="res-loss">0% (Optymalnie)</span>
                    </div>
                </div>

            </div>
        </div>

        <div class="rk-res-grid-2x2">
            
            <div class="rk-res-info-card">
                <h4><a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/" style="color: inherit; text-decoration: none;">Kryterium normowe PN-EN 1264</a></h4>
                <p>
                    Maksymalny dopuszczalny opór okładziny wraz z podkładem wynosi 0,15 m2K/W, co wynika wprost z wytycznych zawartych w załącznikach normatywnych. Przekroczenie tego limitu drastycznie ogranicza gęstość strumienia ciepła i zaburza wymianę energii z otoczeniem.
                </p>
            </div>

            <div class="rk-res-info-card">
                <h4>Fizyka przewodzenia przegrody</h4>
                <p>
                    Przy wyliczaniu obciążenia termicznego, <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/" style="color: var(--rk-res-blue); text-decoration: none;">opór cieplny</a> definiuje podstawowa zależność fizyki budowli. Określa ona stosunek geometrycznej grubości surowca do jego barierowości emisyjnej. Współczynnik lambda wyraża zdolność stałą danego ciała do transportu energii.
                </p>
                <div class="rk-res-formula-box">R = d / lambda</div>
            </div>

            <div class="rk-res-info-card">
                <h4>Skutki przekroczenia limitu</h4>
                <p>
                    Każdy wzrost oporu o każde dodatkowe 0,05 m2K/W skutkuje bezwzględną koniecznością podniesienia temperatury czynnika grzewczego na <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/" style="color: var(--rk-res-blue); text-decoration: none;">rozdzielaczu</a> o około 2 do 3 stopni Celsjusza. Jest to niezbędne, aby utrzymać stałą, komfortową gęstość strumienia ciepła q = 50 W/m2.
                </p>
            </div>

            <div class="rk-res-info-card">
                <h4>Analiza błędu sumowania warstw</h4>
                <p>
                    Inwestorzy bardzo często popełniają błąd, sumując jedynie opór samej <a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/" style="color: var(--rk-res-blue); text-decoration: none;">deski czy panela</a>, zapominając o podkładzie. Jeśli wybierzesz panel o oporze R = 0,07 m2K/W i zastosujesz tani podkład ze spienionego polietylenu o oporze R = 0,09 m2K/W, sumaryczny opór wyniesie 0,16 m2K/W. Przekraczasz normę, blokujesz emisję ciepła, a Twoja <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" style="color: var(--rk-res-blue); text-decoration: none;">pompa ciepła</a> traci na efektywności, generując <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/" style="color: var(--rk-res-blue); text-decoration: none;"><span class="rk-longtail-term">rachunki za sezon grzewczy</span></a> wyższe o 10-15%.
                </p>
            </div>

        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const inThick = document.getElementById('input-thick');
    const inLambda = document.getElementById('input-lambda');
    const inUnderR = document.getElementById('input-under-r');

    const lblThick = document.getElementById('lbl-thick');
    const lblLambda = document.getElementById('lbl-lambda');
    const lblUnderR = document.getElementById('lbl-under-r');

    const resR1 = document.getElementById('res-r1');
    const resRTotal = document.getElementById('res-rtotal');
    const resStatus = document.getElementById('res-status');
    const resLoss = document.getElementById('res-loss');

    const svgTxtRes = document.getElementById('svg-txt-res');
    const svgResArc = document.getElementById('svg-res-arc');

    function calculateResistance() {
        const d1Mm = parseFloat(inThick.value);
        const lambda1 = parseFloat(inLambda.value);
        const r2 = parseFloat(inUnderR.value);

        // Aktualizacja etykiet wejściowych
        lblThick.innerHTML = d1Mm + ' mm';
        lblLambda.innerHTML = lambda1.toFixed(2) + ' W/(m·K)';
        lblUnderR.innerHTML = r2.toFixed(3);

        // d1 przekształcone na metry
        const d1M = d1Mm / 1000;
        
        // Obliczanie oporu okładziny R1 = d1 / lambda
        const r1 = d1M / lambda1;
        resR1.innerHTML = r1.toFixed(4) + ' m2K/W';

        // Sumaryczny opór R_total = R1 + R2
        const rTotal = r1 + r2;
        resRTotal.innerHTML = rTotal.toFixed(4) + ' m2K/W';
        svgTxtRes.innerHTML = rTotal.toFixed(3);

        // Mapowanie łuku SVG (obwód 238) - max zakres na tarczy przyjmujemy jako R = 0.25
        const maxDash = 238;
        let percentage = rTotal / 0.22;
        
        if (percentage > 1) { percentage = 1; }
        if (percentage < 0) { percentage = 0; }
        
        const offset = maxDash - (percentage * maxDash);
        svgResArc.style.strokeDashoffset = offset;

        // Analiza kryteriów brzegowych bez użycia operatora &#038;&#038;
        if (rTotal > 0.1501) {
            resStatus.innerHTML = 'PRZEKROCZONO LIMIT (NIEBEZPIECZEŃSTWO)';
            resStatus.style.color = 'var(--rk-res-red)';
            resLoss.innerHTML = 'Wzrost rachunków o 10-15% (Niska sprawność układu)';
            resLoss.style.color = 'var(--rk-res-red)';
            svgResArc.setAttribute('stroke', 'var(--rk-res-red)');
        } else {
            if (rTotal > 0.1001) {
                resStatus.innerHTML = 'WARTOŚĆ GRANICZNA (WYMAGA KOREKTY)';
                resStatus.style.color = 'var(--rk-res-orange)';
                resLoss.innerHTML = 'Wzrost rachunków o 3-7% (Zawyżone zasilanie)';
                resLoss.style.color = 'var(--rk-res-orange)';
                svgResArc.setAttribute('stroke', 'var(--rk-res-orange)');
            } else {
                resStatus.innerHTML = 'ZGODNY Z NORMĄ PN-EN 1264';
                resStatus.style.color = 'var(--rk-res-green)';
                resLoss.innerHTML = '0% (Maksymalna efektywność pompy ciepła)';
                resLoss.style.color = 'var(--rk-res-green)';
                svgResArc.setAttribute('stroke', 'var(--rk-res-green)');
            }
        }
    }

    inThick.addEventListener('input', calculateResistance);
    inLambda.addEventListener('input', calculateResistance);
    inUnderR.addEventListener('input', calculateResistance);

    // Wywołanie startowe
    calculateResistance();
});
</script>



<style>
:root {
    --rk-cerm-dark: #0f172a;
    --rk-cerm-blue: #0284c7;
    --rk-cerm-light: #f8fafc;
    --rk-cerm-border: #e2e8f0;
    --rk-cerm-text: #334155;
    --rk-cerm-green: #10b981;
    --rk-cerm-green-bg: #e6f4ea;
    --rk-cerm-teal: #0d9488;
}

.rk-ceramics-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--rk-cerm-dark);
}

.rk-ceramics-container {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    border: 1px solid var(--rk-cerm-border);
    padding: 40px 50px;
    overflow: hidden;
}

/* Typografia nagłówków */
.rk-ceramics-section h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-cerm-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-cerm-intro {
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-cerm-text);
    margin-bottom: 30px;
}

.rk-ceramics-section h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-cerm-dark);
    margin: 35px 0 15px 0;
}

/* Moduł Interaktywnego Symulatora Energetycznego */
.rk-cerm-workspace {
    background: var(--rk-cerm-light);
    border: 1px solid var(--rk-cerm-border);
    border-radius: 20px;
    padding: 30px;
    margin: 25px 0;
}

/* Górny panel wyboru podłogi ceramicznej/kamiennej */
.rk-cerm-selector-top {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 25px;
}

.rk-cerm-btn {
    padding: 16px;
    border: 2px solid var(--rk-cerm-border);
    border-radius: 12px;
    background: #ffffff;
    font-size: 14px;
    font-weight: 800;
    color: #475569;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
}

.rk-cerm-btn:hover {
    background: #f1f5f9;
}

.rk-cerm-btn.active {
    border-color: var(--rk-cerm-green);
    background: var(--rk-cerm-green-bg);
    color: var(--rk-cerm-teal);
    box-shadow: 0 4px 12px -5px rgba(16, 185, 129, 0.2);
}

/* Wizualizacja parametrów i dynamiczne SVG */
.rk-cerm-display-bottom {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 30px;
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-cerm-border);
    align-items: center;
}

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

.rk-cerm-heat-wave {
    transition: stroke-width 0.4s ease, stroke 0.4s ease, opacity 0.4s ease;
}

.rk-cerm-results {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-cerm-row {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px dashed var(--rk-cerm-border);
    font-size: 14.5px;
}

.rk-cerm-row:last-child {
    border-bottom: none;
    font-size: 16px;
    font-weight: 900;
}

.rk-cerm-metric-value {
    font-weight: 800;
    color: var(--rk-cerm-dark);
}

/* IDEALNIE SYMETRYCZNA SIATKA 4 KAFELKÓW (2x2 na Desktopie, Brak Pustych Przestrzeni) */
.rk-cerm-grid-2x2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 30px;
}

.rk-cerm-card {
    background: #ffffff;
    border: 1px solid var(--rk-cerm-border);
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.01);
}

.rk-cerm-card h4 {
    margin: 0 0 12px 0;
    font-size: 16.5px;
    font-weight: 800;
    color: var(--rk-cerm-dark);
}

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

.rk-cerm-formula-badge {
    display: inline-block;
    background: var(--rk-cerm-light);
    padding: 8px 14px;
    border-radius: 8px;
    font-family: monospace;
    font-weight: 700;
    color: var(--rk-cerm-blue);
    border: 1px solid var(--rk-cerm-border);
    margin-top: 12px;
    font-size: 13px;
}

/* Zmieniono na spójne formatowanie linków wewnątrz tekstu */
a.rk-longtail-term {
    color: var(--rk-cerm-blue);
    font-weight: 700;
    text-decoration: none;
}

a.rk-longtail-term:hover {
    text-decoration: underline;
}

a.rk-inline-link {
    color: var(--rk-cerm-blue);
    text-decoration: none;
    font-weight: 600;
}

a.rk-inline-link:hover {
    text-decoration: underline;
}

/* Responsywność dla urządzeń mobilnych */
@media (max-width: 768px) {
    .rk-ceramics-container { padding: 30px 20px; }
    .rk-cerm-selector-top { grid-template-columns: 1fr; gap: 10px; }
    .rk-cerm-display-bottom { grid-template-columns: 1fr; text-align: center; }
    .rk-cerm-svg-box { max-width: 180px; margin: 0 auto; }
    .rk-cerm-grid-2x2 { grid-template-columns: 1fr; gap: 15px; }
    .rk-ceramics-section h2 { font-size: 22px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#ceramics-impact-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/"
    },
    "headline": "Jak płytki ceramiczne i gres wpływają na efektywność ogrzewania podłogowego?",
    "description": "Analiza inżynierska przewodności termicznej płytek ceramicznych, gresu i kamienia na podłogówce. Wytyczne ITB oraz wpływ oporu na zyski SCOP pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-29",
    "dateModified": "2026-06-29"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#ceramics-impact-dataset",
    "name": "Matryca przewodności i bezwładności cieplnej ceramiki i gresu",
    "description": "Zestawienie fizycznych wartości minimalnego oporu cieplnego (0,010 - 0,020 m2K/W) oraz gęstości strumienia ciepła (q do 100 W/m2) dla okładzin mineralnych i ceramicznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "współczynnik przewodzenia ciepła gresu",
      "opór cieplny płytek ceramicznych",
      "bezwładność cieplna ceramiki",
      "zasilanie niskotemperaturowe pompy ciepła",
      "oszczędności scop podłogówka"
    ],
    "measurementTechnique": "Wyliczanie strat rezystancji termicznej oraz przewodzenia energii przez powłoki ceramiczne na bazie oficjalnych wytycznych Instytutu Techniki Budowlanej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Opór cieplny marmuru: 0,010 m2K/W",
        "Opór cieplny gresu standard: 0,020 m2K/W",
        "Maksymalna gęstość strumienia q: >= 100 W/m2"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#ceramics-impact-webapp",
    "name": "Symulator Bezwładności i Zysków SCOP dla Ceramiki",
    "description": "Narzędzie inżynierskie przeliczające w czasie rzeczywistym czas odpowiedzi automatyki oraz zyski ekonomiczne pompy ciepła przy zastosowaniu posadzek gresowych i kamiennych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-ceramics-section">
    <div class="rk-ceramics-container">
        
        <h2>Jak płytki ceramiczne i gres wpływają na efektywność ogrzewania podłogowego?</h2>
        <p class="rk-cerm-intro">
            Płytki ceramiczne, gres oraz kamień naturalny (np. marmur) posiadają najniższy opór cieplny na poziomie od 0,010 m2K/W do 0,020 m2K/W, przez co stanowią najbardziej optymalne i pożądane inżyniersko wykończenie dla <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/" class="rk-inline-link">ogrzewania podłogowego</a>. Zgodnie z oficjalnymi wytycznymi technicznymi ITB (Instytutu Techniki Budowlanej), wysoki współczynnik przewodzenia ciepła gresu pozwala na bezproblemowe osiągnięcie maksymalnej gęstość strumienia ciepła na poziomie q równe lub wyższe 100 W/m2 przy zachowaniu skrajnie niskiej <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/" class="rk-inline-link">temperatury zasilania czynnika rzędu 35 stopni Celsjusza</a>.
        </p>

        <div class="rk-cerm-workspace">
            
            <div class="rk-cerm-selector-top">
                <button class="rk-cerm-btn active" data-cerm="marmur">Marmur / Kamień naturalny</button>
                <button class="rk-cerm-btn" data-cerm="gres-thin">Gres Slim / Ceramika (8mm)</button>
                <button class="rk-cerm-btn" data-cerm="gres-std">Gres standardowy (10mm)</button>
            </div>

            <div class="rk-cerm-display-bottom">
                <div class="rk-cerm-svg-box">
                    <svg viewBox="0 0 100 100" style="width: 100%; height: auto;">
                        <rect x="5" y="65" width="90" height="35" fill="#cbd5e1" rx="4"></rect>
                        <circle cx="50" cy="82" r="10" fill="#94a3b8"></circle>
                        <circle cx="50" cy="82" r="6" fill="#ef4444"></circle>
                        <rect x="5" y="52" width="90" height="13" fill="#0d9488" opacity="0.8"></rect>
                        
                        <path id="svg-cerm-w1" class="rk-cerm-heat-wave" d="M 30,45 Q 35,25 25,5" fill="none" stroke="#10b981" stroke-width="4.5" stroke-linecap="round"></path>
                        <path id="svg-cerm-w2" class="rk-cerm-heat-wave" d="M 50,45 Q 55,20 45,3" fill="none" stroke="#10b981" stroke-width="5.5" stroke-linecap="round"></path>
                        <path id="svg-cerm-w3" class="rk-cerm-heat-wave" d="M 70,45 Q 75,25 65,5" fill="none" stroke="#10b981" stroke-width="4.5" stroke-linecap="round"></path>
                    </svg>
                </div>

                <div class="rk-cerm-results">
                    <div class="rk-cerm-row">
                        <span>Bazowy opór cieplny materiału (R):</span>
                        <span class="rk-cerm-metric-value" id="res-cerm-r">0.010 m2K/W</span>
                    </div>
                    <div class="rk-cerm-row">
                        <span>Maksymalna gęstość strumienia (q):</span>
                        <span class="rk-cerm-metric-value" id="res-cerm-q">&gt; 100 W/m2</span>
                    </div>
                    <div class="rk-cerm-row">
                        <span>Czas odpowiedzi automatyki pokojowej:</span>
                        <span class="rk-cerm-metric-value" id="res-cerm-time">ok. 90 minut</span>
                    </div>
                    <div class="rk-cerm-row" style="border-top: 1px solid #cbd5e1;">
                        <span>Prognozowany wzrost parametru SCOP pompy:</span>
                        <span class="rk-cerm-metric-value" id="res-cerm-scop" style="color: var(--rk-cerm-teal);">+ 0.55 pkt (Maksymalny)</span>
                    </div>
                </div>
            </div>

        </div>

        <div class="rk-cerm-grid-2x2">
            
            <div class="rk-cerm-card">
                <h4>Fizyka procesu i sumowanie oporów</h4>
                <p>
                    Fizyka wymiany strumienia energii wskazuje, że gres o grubości 10 mm (d = 0,01 m) przyklejony w pełni elastyczną zaprawą klejową o grubości 4 mm (lambda kleju = 0,8 W/mK) stawia minimalny <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/" class="rk-inline-link">opór cieplny</a> dla przewodzenia. Uzyskujemy doskonałe parametry warstwowe posadzki.
                </p>
                <div class="rk-cerm-shadow-box">
                    <div class="rk-cerm-formula-badge">R_całkowity = R_gres + R_klej = 0,0077 + 0,0050 = 0,0127 m2K/W</div>
                </div>
            </div>

            <div class="rk-cerm-card">
                <h4>Minimalna bezwładność automatyki</h4>
                <p>
                    Bezpośrednią konsekwencją tak niskiego parametru tłumienia energii jest minimalna <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/" class="rk-longtail-term">bezwładność cieplna ceramiki</a> w porównaniu do systemów opartych na drewnie czy grubych laminatach. Czas fizycznej odpowiedzi płyty jastrychowej na zmianę nastawy temperatury automatyki pokojowej wynosi zaledwie 90 &#8211; 120 minut, co pozwala na płynne sterowanie dobowe.
                </p>
            </div>

            <div class="rk-cerm-card">
                <h4>Optymalizacja krzywej grzewczej</h4>
                <p>
                    Ponieważ posadzka mineralna nie stawia oporu emisyjnego, źródło ciepła pracuje na najniższej możliwej <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/" class="rk-inline-link">krzywej grzewczej</a>. Przekłada się to bezpośrednio na stabilne, <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/" class="rk-longtail-term">zasilanie niskotemperaturowe pompy ciepła</a>. Zredukowanie temperatury wody grzewczej odciąża sprężarkę i zapobiega cyklicznemu przegrzewaniu czynnika chłodniczego.
                </p>
            </div>

            <div class="rk-cerm-card">
                <h4>Wpływ na SCOP i oszczędności finansowe</h4>
                <p>
                    Praca na niskich parametrach podnosi roczny współczynnik efektywności grzewczej o około 0,5 punktu. Generuje to realne i mierzalne <a href="https://projekt-ogrzewania.pl/rzeczywiste-oszczednosci-na-kosztach-ogrzewania-w-skali-roku-analiza-rozstawu-rur-dla-domu-150-m%c2%b2/" class="rk-longtail-term">oszczędności scop podłogówki</a> rzędu 400 &#8211; 600 PLN rocznie w każdym standardowym budynku jednorodzinnym o powierzchni użytkowej 150 m2, stanowiąc najbardziej opłacalną inwestycję posadzkową.
                </p>
            </div>

        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const cermButtons = document.querySelectorAll('.rk-cerm-btn');
    
    const resR = document.getElementById('res-cerm-r');
    const resQ = document.getElementById('res-cerm-q');
    const resTime = document.getElementById('res-cerm-time');
    const resScop = document.getElementById('res-cerm-scop');

    // Fale SVG
    const w1 = document.getElementById('svg-cerm-w1');
    const w2 = document.getElementById('svg-cerm-w2');
    const w3 = document.getElementById('svg-cerm-w3');

    cermButtons.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Resetowanie klas aktywności
            for (let i = 0; i < cermButtons.length; i++) {
                cermButtons[i].classList.remove('active');
            }
            this.classList.add('active');

            const cermType = this.getAttribute('data-cerm');

            // Logika bez operatorów &#038;&#038;
            if (cermType === 'marmur') {
                resR.innerHTML = '0.010 m2K/W';
                resQ.innerHTML = '> 100 W/m2';
                resTime.innerHTML = 'ok. 90 minut';
                resScop.innerHTML = '+ 0.55 pkt (Maksymalny)';
                resScop.style.color = 'var(--rk-cerm-teal)';

                w1.setAttribute('stroke-width', '5.5');
                w2.setAttribute('stroke-width', '6.5');
                w3.setAttribute('stroke-width', '5.5');
                w1.style.opacity = '1';
                w2.style.opacity = '1';
                w3.style.opacity = '1';
            }

            if (cermType === 'gres-thin') {
                resR.innerHTML = '0.015 m2K/W';
                resQ.innerHTML = '95 W/m2';
                resTime.innerHTML = 'ok. 105 minut';
                resScop.innerHTML = '+ 0.50 pkt (Bardzo wysoki)';
                resScop.style.color = 'var(--rk-cerm-green)';

                w1.setAttribute('stroke-width', '4.5');
                w2.setAttribute('stroke-width', '5.5');
                w3.setAttribute('stroke-width', '4.5');
                w1.style.opacity = '0.9';
                w2.style.opacity = '0.9';
                w3.style.opacity = '0.9';
            }

            if (cermType === 'gres-std') {
                resR.innerHTML = '0.020 m2K/W';
                resQ.innerHTML = '90 W/m2';
                resTime.innerHTML = 'ok. 120 minut';
                resScop.innerHTML = '+ 0.45 pkt (Wysoki)';
                resScop.style.color = 'var(--rk-cerm-blue)';

                w1.setAttribute('stroke-width', '3.5');
                w2.setAttribute('stroke-width', '4.5');
                w3.setAttribute('stroke-width', '3.5');
                w1.style.opacity = '0.8';
                w2.style.opacity = '0.8';
                w3.style.opacity = '0.8';
            }
        });
    });
});
</script>



<style>
:root {
    --rk-wood-dark: #0f172a;
    --rk-wood-blue: #0284c7;
    --rk-wood-light: #f8fafc;
    --rk-wood-border: #e2e8f0;
    --rk-wood-text: #334155;
    --rk-wood-amber: #d97706;
    --rk-wood-amber-bg: #fef3c7;
    --rk-wood-green: #16a34a;
}

.rk-wood-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--rk-wood-dark);
}

.rk-wood-container {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    border: 1px solid var(--rk-wood-border);
    padding: 40px 50px;
    overflow: hidden;
}

/* Typografia nagłówków */
.rk-wood-section h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-wood-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-wood-intro {
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-wood-text);
    margin-bottom: 30px;
}

.rk-wood-section h3 {
    font-size: 19px;
    font-weight: 800;
    color: var(--rk-wood-dark);
    margin: 25px 0 12px 0;
}

/* Moduł Interaktywnego Symulatora */
.rk-wood-workspace {
    background: var(--rk-wood-light);
    border: 1px solid var(--rk-wood-border);
    border-radius: 20px;
    padding: 30px;
    margin: 25px 0;
}

/* Górny Panel Sterowania (Suwaki i Toggles) */
.rk-wood-controls-top {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px dashed #cbd5e1;
}

.rk-wood-input-card {
    background: #ffffff;
    padding: 16px 20px;
    border-radius: 14px;
    border: 1px solid var(--rk-wood-border);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rk-wood-label-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-wood-label-title {
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-wood-label-value {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-wood-blue);
}

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

.rk-wood-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--rk-wood-blue);
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(2, 132, 199, 0.2);
}

/* Dolny Panel Obliczeniowy i Wykres SVG */
.rk-wood-outputs-bottom {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 30px;
    align-items: center;
}

.rk-wood-svg-box {
    background: #ffffff;
    padding: 15px;
    border-radius: 16px;
    border: 1px solid var(--rk-wood-border);
}

.rk-wood-heat-lines {
    transition: transform 0.3s ease, opacity 0.3s ease, stroke 0.3s ease;
}

.rk-wood-results-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-wood-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px dashed var(--rk-wood-border);
    font-size: 14.5px;
}

.rk-wood-row:last-child {
    border-bottom: none;
    padding-top: 15px;
    font-size: 17px;
}

.rk-wood-value-bold {
    font-weight: 800;
    color: var(--rk-wood-dark);
}

/* Kafelki z Opisem Fizykalnym Procesu */
.rk-wood-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 25px;
}

.rk-wood-info-card {
    background: #ffffff;
    border: 1px solid var(--rk-wood-border);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.01);
}

.rk-wood-info-card h4 {
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-wood-dark);
}

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

.rk-wood-formula-badge {
    display: inline-block;
    background: var(--rk-wood-light);
    padding: 6px 12px;
    border-radius: 8px;
    font-family: monospace;
    font-weight: 700;
    color: var(--rk-wood-blue);
    border: 1px solid var(--rk-wood-border);
    margin-top: 10px;
}

/* Formaty dla linków wewnątrz tekstu */
span.rk-longtail-term {
    color: var(--rk-wood-blue);
    font-weight: 700;
}

a.rk-longtail-term {
    color: var(--rk-wood-blue);
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s ease;
}

a.rk-longtail-term:hover {
    text-decoration: underline;
    color: var(--rk-wood-dark);
}

a.rk-inline-link {
    color: var(--rk-wood-blue);
    font-weight: 600;
    text-decoration: none;
}

a.rk-inline-link:hover {
    text-decoration: underline;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-wood-container { padding: 30px 20px; }
    .rk-wood-controls-top { grid-template-columns: 1fr; gap: 15px; border-bottom: none; padding-bottom: 0; margin-bottom: 15px; }
    .rk-wood-outputs-bottom { grid-template-columns: 1fr; gap: 20px; }
    .rk-wood-svg-box { max-width: 220px; margin: 0 auto; }
    .rk-wood-section h2 { font-size: 22px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#wood-impact-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/"
    },
    "headline": "Jak drewno i parkiet wpływają na parametry pracy instalacji podłogowej?",
    "description": "Analiza inżynierska wpływu grubości i gatunku drewna na rezystancję termiczną posadzki. Wytyczne normy PN-EN 1264 dotyczące klejenia, chemii i bezwładności cieplnej.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-29",
    "dateModified": "2026-06-29"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#wood-impact-dataset",
    "name": "Kryteria fizykalne i brzegowe podłóg drewnianych na jastrychach grzewczych",
    "description": "Zbiór danych technicznych określający opory cieplne parkietów, stałą przewodzenia dębu (0,15 W/mK), limity temperatur powierzchniowych (27C), wymagania chemii klejowej oraz zakresy wilgotności względnej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "drewno na ogrzewaniu podłogowym norma",
      "opór cieplny deski barlineckiej",
      "bezwładność cieplna parkietu",
      "maksymalna temperatura podłogi drewnianej",
      "moc grzewcza podłogi z drewna",
      "klej poliuretanowy do parkietu na ogrzewanie podłogowe",
      "montaż podłogi drewnianej na jastrychu"
    ],
    "measurementTechnique": "Określenie parametrów przewodzenia i barierowości emisyjnej układu rura-jastrych-klej-drewno przy użyciu równań oporu warstwowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Granica oporu mozaiki 8 mm: 0,05 m2K/W",
        "Granica oporu deski warstwowej 15 mm: 0,13 m2K/W",
        "Maksymalna temperatura powierzchni drewna: 27 st. Celsjusza",
        "Dedykowana chemia: Elastyczne kleje poliuretanowo-silanowe"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#wood-impact-webapp",
    "name": "Symulator Parametrów Termo-Higrometrycznych Posadzek Drewnianych",
    "description": "Aplikacja obliczeniowa analizująca bezwładność cieplną, opór warstwy klejowej oraz dopuszczalną gęstość strumienia energii dla parkietów w zależności od wilgotności otoczenia.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-wood-section">
    <div class="rk-wood-container">
        
        <h2>Jak drewno i parkiet wpływają na parametry pracy instalacji podłogowej?</h2>
        <p class="rk-wood-intro">
            <a href="https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/" class="rk-inline-link">Naturalne drewno</a> wykazuje wysoki opór cieplny od 0,05 m2K/W (dla mozaiki o grubości 8 mm) do aż 0,13 m2K/W (dla warstwowych desek o grubości 15 mm), co klasyfikuje je jako materiał trudny, wymagający rygorystycznych obliczeń hydraulicznych. Zgodnie z wytycznymi, jakie określa <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/" class="rk-longtail-term">drewno na ogrzewaniu podłogowym norma</a> <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/" class="rk-inline-link">PN-EN 1264</a>, okładziny drewniane muszą być bezwzględnie klejone do podłoża (eliminacja barierowej poduszki powietrznej). Wymaga to, aby stosować zaawansowane <a href="https://projekt-ogrzewania.pl/jakie-materialy-sa-potrzebne-do-instalacji-ogrzewania-podlogowego/" class="rk-longtail-term">kleje poliuretanowo-silanowe do parkietu</a>, wykazujące pełną odporność na ciągłe obciążenia termiczne do 50 stopni Celsjusza.
        </p>

        <div class="rk-wood-workspace">
            
            <div class="rk-wood-controls-top">
                <div class="rk-wood-input-card">
                    <div class="rk-wood-label-box">
                        <span class="rk-wood-label-title">Wybierz grubość deski warstwowej:</span>
                        <span class="rk-wood-label-value" id="lbl-wood-thick">14 mm</span>
                    </div>
                    <input type="range" id="input-wood-thick" class="rk-wood-slider" min="8" max="16" step="1" value="14">
                </div>
                
                <div class="rk-wood-input-card">
                    <div class="rk-wood-label-box">
                        <span class="rk-wood-label-title">Zadana wilgotność powietrza:</span>
                        <span class="rk-wood-label-value" id="lbl-wood-hum">50%</span>
                    </div>
                    <input type="range" id="input-wood-hum" class="rk-wood-slider" min="30" max="75" step="5" value="50">
                </div>
            </div>

            <div class="rk-wood-outputs-bottom">
                
                <div class="rk-wood-svg-box">
                    <svg viewBox="0 0 120 120" style="width: 100%; height: auto;">
                        <rect x="5" y="65" width="110" height="50" fill="#cbd5e1" rx="4"></rect>
                        <circle cx="60" cy="90" r="10" fill="#94a3b8"></circle>
                        <circle cx="60" cy="90" r="6" fill="#ef4444"></circle>
                        
                        <rect x="5" y="61" width="110" height="4" fill="#64748b" opacity="0.6"></rect>
                        
                        <rect id="svg-wood-layer" x="5" y="45" width="110" height="16" fill="#b45309" rx="2" style="transition: height 0.2s ease, y 0.2s ease, fill 0.3s ease;"></rect>
                        
                        <path id="svg-line-1" class="rk-wood-heat-lines" d="M 35,40 L 35,15" stroke="#ef4444" stroke-width="2.5" stroke-linecap="round"></path>
                        <path id="svg-line-2" class="rk-wood-heat-lines" d="M 60,40 L 60,10" stroke="#ef4444" stroke-width="3.5" stroke-linecap="round"></path>
                        <path id="svg-line-3" class="rk-wood-heat-lines" d="M 80,40 L 80,15" stroke="#ef4444" stroke-width="2.5" stroke-linecap="round"></path>
                    </svg>
                </div>

                <div class="rk-wood-results-list">
                    <div class="rk-wood-row">
                        <span class="rk-metric-label">Sumaryczny opór cieplny (z klejem R):</span>
                        <span class="rk-wood-value-bold" id="res-wood-r">0.1033 m2K/W</span>
                    </div>
                    <div class="rk-wood-row">
                        <span class="rk-metric-label">Przewidywana bezwładność cieplna parkietu:</span>
                        <span class="rk-wood-value-bold" id="res-wood-inertia">ok. 4.8 godzin</span>
                    </div>
                    <div class="rk-wood-row">
                        <span class="rk-metric-label">Stan higroskopijny drewna:</span>
                        <span class="rk-wood-value-bold" id="res-wood-status" style="color: var(--rk-wood-green);">WARUNKI OPTYMALNE</span>
                    </div>
                    <div class="rk-wood-row" style="font-weight: 900; border-top: 1px solid #cbd5e1;">
                        <span class="rk-metric-label">Graniczna moc grzewcza podłogi z drewna:</span>
                        <span class="rk-wood-value-bold" id="res-wood-power" style="color: var(--rk-wood-amber);">~ 66 W/m2</span>
                    </div>
                </div>

            </div>
        </div>

        <h3>Analiza termodynamiczna i higroskopijna dębu</h3>
        
        <div class="rk-wood-cards-grid">
            
            <div class="rk-wood-info-card">
                <h4>Fizyka przewodzenia i oporu</h4>
                <p>
                    Surowiec naturalny reaguje bezpośrednio na temperaturę. Nominalny <a href="https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/" class="rk-longtail-term">współczynnik przewodzenia ciepła dębu</a> wynosi stabilne 0,15 W/(m·K). Jeśli na jastrychu anhydrytowym ułożysz deskę o grubości 14 mm (0,014 m), jej czysty opór wyniesie 0,093 m2K/W. Dodając normową warstwę elastycznej spoiny klejowej (0,01 m2K/W), otrzymujemy ostateczny <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/" class="rk-longtail-term">opór cieplny deski barlineckiej</a> na poziomie 0,103 m2K/W.
                </p>
                <div class="rk-wood-formula-badge">R = (0,014 / 0,15) + 0,01 = 0,103 m2K/W</div>
            </div>

            <div class="rk-wood-info-card">
                <h4>Wydłużona bezwładność akumulacyjna</h4>
                <p>
                    Uzyskany wynik zamyka się w bezpiecznych kryteriach normowych (poniżej wartości progowej 0,15 m2K/W), jednak niesie za sobą określone skutki eksploatacyjne. Nominalna <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/" class="rk-longtail-term">bezwładność cieplna parkietu</a> wzrasta do przedziału 4-6 godzin. Aby uniknąć rozsychania, powstawania szczelin oraz łódkowania desek, <a href="https://projekt-ogrzewania.pl/jak-ogrzewanie-podlogowe-wplywa-na-wilgotnosc-powietrza-w-domu/" class="rk-longtail-term">wilgotność powietrza przy podłogówce</a> w pokojach musi być ściśle kontrolowana przez nawilżacze w zakresie od 45% do 60%.
                </p>
            </div>

            <div class="rk-wood-info-card">
                <h4>Limity temperaturowe i emisyjne</h4>
                <p>
                    Zgodnie z badaniami Instytutu Techniki Budowlanej, bezpieczna, <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/" class="rk-longtail-term">maksymalna temperatura podłogi drewnianej</a> w strefach stałego przebywania ludzi nie może przekroczyć 27 stopni Celsjusza. To kryterium automatycznie nakłada ograniczenie na układ hydrauliczny – maksymalna, bezpieczna <a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/" class="rk-longtail-term">moc grzewcza podłogi z drewna</a> zostaje zredukowana do poziomu około 60-70 W/m2, co wymaga uwzględnienia w <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" class="rk-inline-link">obliczeniach OZC</a>.
                </p>
            </div>

            <div class="rk-wood-info-card">
                <h4>Wymagania dla chemii montażowej</h4>
                <p>
                    Trwały <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" class="rk-longtail-term">montaż podłogi drewnianej na jastrychu</a> z wbudowaną instalacją grzewczą wymaga zastosowania dedykowanej chemii. Należy wybierać elastyczny <a href="https://projekt-ogrzewania.pl/jakie-materialy-sa-potrzebne-do-instalacji-ogrzewania-podlogowego/" class="rk-longtail-term">klej poliuretanowy do parkietu na ogrzewanie podłogowe</a>. Kompensuje on potężne naprężenia ścinające, a jego optymalna przepuszczalność cieplna nie blokuje emisji energii, w przeciwieństwie do tanich klejów rozpuszczalnikowych czy dyspersyjnych.
                </p>
            </div>

        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const sliderThick = document.getElementById('input-wood-thick');
    const sliderHum = document.getElementById('input-wood-hum');
    
    const lblThick = document.getElementById('lbl-wood-thick');
    const lblHum = document.getElementById('lbl-wood-hum');
    
    const resR = document.getElementById('res-wood-r');
    const resInertia = document.getElementById('res-wood-inertia');
    const resStatus = document.getElementById('res-wood-status');
    const resPower = document.getElementById('res-wood-power');
    
    const svgWood = document.getElementById('svg-wood-layer');
    const line1 = document.getElementById('svg-line-1');
    const line2 = document.getElementById('svg-line-2');
    const line3 = document.getElementById('svg-line-3');

    function updateWoodSimulation() {
        const thick = parseFloat(sliderThick.value);
        const hum = parseFloat(sliderHum.value);

        // Aktualizacja etykiet wejściowych
        lblThick.innerHTML = thick + ' mm';
        lblHum.innerHTML = hum + '%';

        // 1. Obliczenie oporu R (Grubość / 1000 / lambda 0.15) + klej 0.01
        const rWood = (thick / 1000) / 0.15;
        const rTotal = rWood + 0.01;
        resR.innerHTML = rTotal.toFixed(4) + ' m2K/W';

        // 2. Obliczenie bezwładności cieplnej (szacunek inżynierski skorelowany z oporem)
        const inertiaHours = rTotal * 46;
        resInertia.innerHTML = 'ok. ' + inertiaHours.toFixed(1) + ' godzin';

        // 3. Obliczenie maksymalnej mocy emisyjnej (spada wraz ze wzrostem oporu deski)
        const maxPower = 85 - (rTotal * 180);
        resPower.innerHTML = '~ ' + maxPower.toFixed(0) + ' W/m2';

        // DYNAMICZNA MODYFIKACJA GRAFIKI SVG
        // Skalowanie grubości i pozycji pionowej deski drewnianej w osi Y
        const visualHeight = thick * 1.2; // Przelicznik graficzny
        svgWood.setAttribute('height', visualHeight);
        svgWood.setAttribute('y', 61 - visualHeight);

        // Skalowanie linii emisji ciepła (słabną i kurczą się, gdy rośnie opór)
        let heatScale = 1.4 - (rTotal * 6);
        let heatOpacity = 1.3 - (rTotal * 6.5);
        
        // Zabezpieczenie przed błędami renderowania bez operatorów &&
        if (heatScale < 0.2) { heatScale = 0.2; }
        if (heatOpacity < 0.1) { heatOpacity = 0.1; }

        line1.style.transform = 'scaleY(' + heatScale + ')';
        line2.style.transform = 'scaleY(' + heatScale + ')';
        line3.style.transform = 'scaleY(' + heatScale + ')';
        line1.style.opacity = heatOpacity;
        line2.style.opacity = heatOpacity;
        line3.style.opacity = heatOpacity;

        // Logika statusu higroskopijnego (wilgotność powietrza)
        if (hum < 45) {
            resStatus.innerHTML = 'RYZYKO ROZSYCHANIA (ZBYT SUCHO)';
            resStatus.style.color = 'var(--rk-wood-amber)';
            svgWood.setAttribute('fill', '#cd6919'); // Jaśniejsze, wysuszone drewno
        }
        
        if (hum >= 45) {
            // Zagnieżdżony if zastępujący operator logiczny &&
            if (hum <= 60) {
                resStatus.innerHTML = 'WARUNKI OPTYMALNE (NORMA)';
                resStatus.style.color = 'var(--rk-wood-green)';
                svgWood.setAttribute('fill', '#854d0e'); // Naturalna, zdrowa barwa dębu
            }
        }

        if (hum > 60) {
            resStatus.innerHTML = 'RYZYKO PĘCZNIEWANIA (ZBYT WILGOTNO)';
            resStatus.style.color = '#ef4444';
            svgWood.setAttribute('fill', '#451a03'); // Ciemne, zawilgocone drewno
        }
    }

    // Dodanie nasłuchiwania na suwaki
    sliderThick.addEventListener('input', updateWoodSimulation);
    sliderHum.addEventListener('input', updateWoodSimulation);

    // Pierwsze uruchomienie obliczeń termodynamicznych
    updateWoodSimulation();
});
</script>



<style>
:root {
    --rk-txt-dark: #0f172a;
    --rk-txt-blue: #0284c7;
    --rk-txt-light: #f8fafc;
    --rk-txt-border: #e2e8f0;
    --rk-txt-main: #334155;
    --rk-txt-red: #ef4444;
    --rk-txt-orange: #f97316;
    --rk-txt-green: #10b981;
}

.rk-textile-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--rk-txt-dark);
}

.rk-textile-container {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    border: 1px solid var(--rk-txt-border);
    padding: 40px 50px;
    overflow: hidden;
}

/* Nagłówki */
.rk-textile-section h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-txt-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-textile-intro {
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-txt-main);
    margin-bottom: 30px;
}

.rk-textile-section h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-txt-dark);
    margin: 35px 0 15px 0;
}

/* Panel Roboczy Nowego Symulatora - Układ Horyzontalny */
.rk-textile-workspace {
    background: var(--rk-txt-light);
    border: 1px solid var(--rk-txt-border);
    border-radius: 20px;
    padding: 30px;
    margin: 25px 0;
}

/* Suwaki i Toggles na Górze */
.rk-textile-controls-top {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 20px;
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px dashed #cbd5e1;
}

.rk-textile-input-card {
    background: #ffffff;
    padding: 16px 20px;
    border-radius: 14px;
    border: 1px solid var(--rk-txt-border);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-textile-label-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-textile-label-title {
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-textile-label-value {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-txt-blue);
}

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

.rk-textile-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--rk-txt-blue);
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(2, 132, 199, 0.2);
}

/* Układ Wyników i Grafiki SVG pod spodem */
.rk-textile-outputs-bottom {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 30px;
    align-items: center;
}

.rk-textile-svg-box {
    background: #ffffff;
    padding: 15px;
    border-radius: 16px;
    border: 1px solid var(--rk-txt-border);
}

.rk-textile-waves {
    transition: transform 0.3s ease, opacity 0.3s ease, stroke 0.3s ease;
}

.rk-textile-results-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-textile-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px dashed var(--rk-txt-border);
    font-size: 14.5px;
}

.rk-textile-row:last-child {
    border-bottom: none;
    padding-top: 15px;
    font-size: 17px;
}

.rk-textile-value-bold {
    font-weight: 800;
    color: var(--rk-txt-dark);
}

/* Kafelki z Opisem Fizykalnym Procesu */
.rk-textile-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 25px;
}

.rk-textile-info-card {
    background: #ffffff;
    border: 1px solid var(--rk-txt-border);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.01);
}

.rk-textile-info-card h4 {
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-txt-dark);
}

.rk-textile-info-card p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-txt-main);
}

.rk-formula-badge {
    display: inline-block;
    background: var(--rk-txt-light);
    padding: 6px 12px;
    border-radius: 8px;
    font-family: monospace;
    font-weight: 700;
    color: var(--rk-txt-blue);
    border: 1px solid var(--rk-txt-border);
    margin-top: 10px;
}

/* Style dla linków */
span.rk-longtail-term {
    color: var(--rk-txt-blue);
    font-weight: 700;
}

a.rk-longtail-term {
    color: var(--rk-txt-blue);
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s ease;
}

a.rk-longtail-term:hover {
    text-decoration: underline;
    color: var(--rk-txt-dark);
}

a.rk-inline-link {
    color: var(--rk-txt-blue);
    font-weight: 600;
    text-decoration: none;
}

a.rk-inline-link:hover {
    text-decoration: underline;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-textile-container { padding: 30px 20px; }
    .rk-textile-controls-top { grid-template-columns: 1fr; gap: 15px; border-bottom: none; padding-bottom: 0; margin-bottom: 15px; }
    .rk-textile-outputs-bottom { grid-template-columns: 1fr; gap: 20px; }
    .rk-textile-svg-box { max-width: 220px; margin: 0 auto; }
    .rk-textile-section h2 { font-size: 22px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#textile-barrier-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/"
    },
    "headline": "Czy grube dywany i wykładziny dywanowe blokują ogrzewanie podłogowe?",
    "description": "Fizykalna analiza barierowości tekstyliów w systemach grzewczych. Wyliczenia przyrostu temperatury jastrychu i strat sprawności pomp ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-29",
    "dateModified": "2026-06-29"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#textile-barrier-dataset",
    "name": "Termofizykalne skutki barierowości tekstyliów posadzkowych",
    "description": "Zbiór danych odwzorowujących przyrost oporu cieplnego warstw dywanowych (od 0.12 do 0.18 m2K/W) oraz wymuszony wzrost temperatury roboczej jastrychu betonowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "opór cieplny wykładziny dywanowej",
      "dywan na ogrzewaniu podłogowym wydajność",
      "temperatura wylewki pod dywanem",
      "przegrzewanie rur podłogówki",
      "klejenie wykładziny na podłogówkę",
      "podkład pod wykładzinę na ogrzewanie podłogowe",
      "instalacja wykładziny dywanowej na podłogówce"
    ],
    "measurementTechnique": "Wyliczanie różnicy potencjału termicznego jastrychu Delta T na podstawie powierzchniowej rezystancji emisyjnej tekstyliów wierzchnich.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Certyfikacja graniczna tekstyliów: R poniżej 0.10 m2K/W",
        "Grubość symulacyjna sypialni: 12 mm przy oporze 0.15 m2K/W",
        "Skok temperatury jastrychu betonowego: 7.5 stopni Celsjusza"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#textile-barrier-webapp",
    "name": "Symulator Rezystancji Termicznej Tekstyliów Posadzkowych",
    "description": "Narzędzie inżynierskie przeliczające w czasie rzeczywistym wymuszony wzrost temperatury wylewki oraz zmiany w sprawności emisyjnej rurociągów pod dywanami.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-textile-section">
    <div class="rk-textile-container">
        
        <h2>Czy grube dywany i wykładziny dywanowe blokują ogrzewanie podłogowe?</h2>
        <p class="rk-textile-intro">
            Gruba wykładzina dywanowa wraz z podkładem z pianomaty generuje wysoki <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/" class="rk-longtail-term">opór cieplny wykładziny dywanowej</a> na poziomie od 0,12 m2K/W do nawet 0,18 m2K/W. Działa ona w strukturze budynku jak skuteczny izolator termiczny, który drastycznie blokuje swobodną emisję energii do otoczenia. Stosowanie powłok tekstylnych jest dopuszczalne wyłącznie wtedy, gdy posiadają one atest producenta potwierdzający parametr R poniżej 0,10 m2K/W, a montaż opiera się o pełne <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-czy-warto-robic-to-samemu/" class="rk-longtail-term">klejenie wykładziny na podłogówkę</a> zaprawą przewodzącą ciepło.
        </p>

        
        <div class="rk-textile-workspace">
            
            <div class="rk-textile-controls-top">
                <div class="rk-textile-input-card">
                    <div class="rk-textile-label-box">
                        <span class="rk-textile-label-title">Wybierz opór cieplny dywanu (R):</span>
                        <span class="rk-textile-label-value" id="lbl-textile-r">0.15 m2K/W</span>
                    </div>
                    <input type="range" id="input-textile-r" class="rk-textile-slider" min="0.00" max="0.18" step="0.01" value="0.15">
                </div>
                
                <div class="rk-textile-input-card" style="justify-content: center; align-items: center; background: #f1f5f9;">
                    <span class="rk-textile-label-title" style="margin-bottom: 5px;">Klasa barierowości posadzki:</span>
                    <span id="lbl-textile-status" style="font-weight: 900; font-size: 16px; color: var(--rk-txt-red);">SILNA BLOKADA</span>
                </div>
            </div>

            <div class="rk-textile-outputs-bottom">
                
                <div class="rk-textile-svg-box">
                    <svg viewBox="0 0 120 120" style="width: 100%; height: auto;">
                        <rect x="5" y="60" width="110" height="55" fill="#cbd5e1" rx="4"></rect>
                        <circle cx="60" cy="90" r="14" fill="#94a3b8"></circle>
                        <circle id="svg-pipe-core" cx="60" cy="90" r="10" fill="#ef4444"></circle>
                        
                        <rect id="svg-carpet-layer" x="5" y="45" width="110" height="15" fill="#64748b" rx="2" opacity="0.9" style="transition: height 0.2s ease, y 0.2s ease;"></rect>
                        
                        <path id="svg-wave-1" class="rk-textile-waves" d="M 40,25 Q 45,15 40,5" fill="none" stroke="#ef4444" stroke-width="2.5" stroke-linecap="round"></path>
                        <path id="svg-wave-2" class="rk-textile-waves" d="M 60,25 Q 65,12 60,3" fill="none" stroke="#ef4444" stroke-width="3.5" stroke-linecap="round"></path>
                        <path id="svg-wave-3" class="rk-textile-waves" d="M 80,25 Q 85,15 80,5" fill="none" stroke="#ef4444" stroke-width="2.5" stroke-linecap="round"></path>
                    </svg>
                </div>

                <div class="rk-textile-results-list">
                    <div class="rk-textile-row">
                        <span class="rk-metric-label">Projektowa gęstość strumienia (q):</span>
                        <span class="rk-textile-value-bold">50 W/m2 (Stała)</span>
                    </div>
                    <div class="rk-textile-row">
                        <span class="rk-metric-label">Wymagany przyrost temperatury jastrychu (Delta T):</span>
                        <span class="rk-textile-value-bold" id="res-textile-dt" style="color: var(--rk-txt-orange);">+ 7.5 °C</span>
                    </div>
                    <div class="rk-textile-row">
                        <span class="rk-metric-label">Sugerowana temperatura wylewki anhydrytowej:</span>
                        <span class="rk-textile-value-bold" id="res-textile-tscreed">33.5 °C</span>
                    </div>
                    <div class="rk-textile-row" style="font-weight: 900; border-top: 1px solid #cbd5e1;">
                        <span class="rk-metric-label">Wymagany parametr zasilania rozdzielacza:</span>
                        <span class="rk-textile-value-bold" id="res-textile-tfeed" style="color: var(--rk-txt-red);">42.5 °C</span>
                    </div>
                </div>

            </div>
        </div>

        <h3>Termofizykalna analiza przypadku: Sypialnia 12 mm</h3>
        
        <div class="rk-textile-cards-grid">
            
            <div class="rk-textile-info-card">
                <h4>Fizyczny mechanizm barierowości</h4>
                <p>
                    Rozważmy przypadek sypialni, gdzie ułożono materiał o grubości 12 mm i oporze R = 0,15 m2K/W. Zgodnie z inżynierskimi obliczeniami, aby uzyskać gęstość q = 50 W/m2 przy założonej temperaturze wewnętrznej powietrza Ti = 20 °C, różnica potencjału termicznego musi wzrosnąć. Sprawia to, że <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/" class="rk-longtail-term">dywan na ogrzewaniu podłogowym wydajność</a> drastycznie obniża.
                </p>
                <div class="rk-formula-badge">Delta T = q * R = 50 * 0.15 = 7.5 °C</div>
            </div>

            <div class="rk-textile-info-card">
                <h4>Wymuszone przegrzewanie wylewki</h4>
                <p>
                    Wyliczenie oznacza, że średnia <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/" class="rk-longtail-term">temperatura wylewki pod dywanem</a> betonowej musi być o 7,5 °C wyższa niż przy strefie nieosłoniętej. Jeśli przy czystym gresie jastrych wymagał 26 °C, tutaj struktura musi rozgrzać się do 33,5 °C. <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" class="rk-inline-link">Pompa ciepła</a> zmuszona jest zasilać obwód parametrem rzędu 42 &#8211; 45 °C, co niszczy roczny wskaźnik SCOP układu.
                </p>
            </div>

            <div class="rk-textile-info-card">
                <h4>Zagrożenie pękaniem konstrukcji</h4>
                <p>
                    Narzucone na tak pracującą płytę ciężkie dywany wywołują niebezpieczne, lokalne <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/" class="rk-longtail-term">przegrzewanie rur podłogówki</a>. Prowadzi to do powstania potężnych naprężeń wewnętrznych, asymetrii rozszerzalności betonu i w konsekwencji powoduje nieodwracalne pękanie jastrychu w strefach brzegowych oraz odspajanie sąsiadujących płytek.
                </p>
            </div>

            <div class="rk-textile-info-card">
                <h4>Parametry podkładów i pianomat</h4>
                <p>
                    Wybierając miękkie wykończenie, krytycznym elementem staje się dedykowany <a href="https://projekt-ogrzewania.pl/jakie-sa-najlepsze-sposoby-izolacji-pod-ogrzewanie-podlogowe/" class="rk-longtail-term">podkład pod wykładzinę na ogrzewanie podłogowe</a>. Zwykła gąbka poliuretanowa zadziała jak termos. Należy stosować wyłącznie maty o wysokiej gęstości, których przewodność minimalizuje barierę termiczną. Prawidłowa <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" class="rk-longtail-term">instalacja wykładziny dywanowej na podłogówce</a> wymusza pełne podklejenie obu warstw.
                </p>
            </div>

        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const sliderR = document.getElementById('input-textile-r');
    const lblR = document.getElementById('lbl-textile-r');
    const lblStatus = document.getElementById('lbl-textile-status');
    
    const resDt = document.getElementById('res-textile-dt');
    const resScreed = document.getElementById('res-textile-tscreed');
    const resFeed = document.getElementById('res-textile-tfeed');

    // Elementy graficzne SVG
    const svgCarpet = document.getElementById('svg-carpet-layer');
    const svgPipeCore = document.getElementById('svg-pipe-core');
    const wave1 = document.getElementById('svg-wave-1');
    const wave2 = document.getElementById('svg-wave-2');
    const wave3 = document.getElementById('svg-wave-3');

    function updateTextileThermodynamics() {
        const rVal = parseFloat(sliderR.value);
        lblR.innerHTML = rVal.toFixed(2) + ' m2K/W';

        // Kalkulacja Delta T = q * R (gdzie q to stała 50 W/m2)
        const q = 50;
        const dT = q * rVal;
        resDt.innerHTML = '+ ' + dT.toFixed(1) + ' °C';

        // Temperatura jastrychu (Baza dla gresu to 26 stopni przy q=50)
        const tBaseScreed = 26;
        const tScreed = tBaseScreed + dT;
        resScreed.innerHTML = tScreed.toFixed(1) + ' °C';

        // Temperatura zasilania pętli (w przybliżeniu jastrych + Delta T schodzenia rur)
        const tFeed = tScreed + 9;
        resFeed.innerHTML = tFeed.toFixed(1) + ' °C';

        // DYNAMICZNA AKTUALIZACJA GRAFIKI SVG
        // Zmiana grubości i pozycji dywanu w zależności od oporu
        const baseHeight = 2;
        const addedHeight = rVal * 150; // Skalowanie grubości graficznej
        const carpetThickness = baseHeight + addedHeight;
        
        svgCarpet.setAttribute('height', carpetThickness);
        svgCarpet.setAttribute('y', 60 - carpetThickness);

        // Transformacja fal ciepła (słabną i kurczą się, gdy dywan rośnie)
        let waveScale = 1 - (rVal * 4);
        let waveOpacity = 1 - (rVal * 4.5);
        
        // Zabezpieczenie limitów skali dla skryptu bez operatorów &&
        if (waveScale < 0.2) { waveScale = 0.2; }
        if (waveOpacity < 0.1) { waveOpacity = 0.1; }

        wave1.style.transform = 'scaleY(' + waveScale + ')';
        wave2.style.transform = 'scaleY(' + waveScale + ')';
        wave3.style.transform = 'scaleY(' + waveScale + ')';
        
        wave1.style.opacity = waveOpacity;
        wave2.style.opacity = waveOpacity;
        wave3.style.opacity = waveOpacity;

        // Klasyfikacja progów barierowości i barw alarmowych
        if (rVal > 0.11) {
            lblStatus.innerHTML = 'SILNA BLOKADA';
            lblStatus.style.color = 'var(--rk-txt-red)';
            svgPipeCore.setAttribute('fill', '#ef4444'); // Intensywna czerwień rury (przegrzanie)
            svgCarpet.setAttribute('fill', '#94a3b8');   // Gruby ciemny podkład
            resFeed.style.color = 'var(--rk-txt-red)';
        } else {
            if (rVal > 0.04) {
                lblStatus.innerHTML = 'UMIARKOWANY OPÓR';
                lblStatus.style.color = 'var(--rk-txt-orange)';
                svgPipeCore.setAttribute('fill', '#f97316'); // Pomarańczowy czynnik
                svgCarpet.setAttribute('fill', '#cbd5e1');
                resFeed.style.color = 'var(--rk-txt-orange)';
            } else {
                lblStatus.innerHTML = 'BRAK BARIERY (GRES)';
                lblStatus.style.color = 'var(--rk-txt-green)';
                svgPipeCore.setAttribute('fill', '#10b981'); // Optymalna zielona praca
                svgCarpet.setAttribute('fill', '#e2e8f0');
                resFeed.style.color = 'var(--rk-txt-green)';
            }
        }
    }

    sliderR.addEventListener('input', updateTextileThermodynamics);
    
    // Inicjalizacja domyślnego stanu sypialni (R=0.15) przy starcie komponentu
    updateTextileThermodynamics();
});
</script>



<style>
:root {
    --rk-mat-dark: #0f172a;
    --rk-mat-blue: #0284c7;
    --rk-mat-light: #f8fafc;
    --rk-mat-border: #e2e8f0;
    --rk-mat-text: #334155;
    --rk-mat-green: #10b981;
    --rk-mat-green-bg: #e6f4ea;
    --rk-mat-orange: #f97316;
    --rk-mat-orange-bg: #fff7ed;
    --rk-mat-red: #ef4444;
    --rk-mat-red-bg: #fef2f2;
}

.rk-matrix-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--rk-mat-dark);
}

.rk-matrix-container {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    border: 1px solid var(--rk-mat-border);
    padding: 40px 50px;
    overflow: hidden;
}

/* Nagłówki */
.rk-matrix-section h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-mat-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-matrix-intro {
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-mat-text);
    margin-bottom: 30px;
}

/* Panel Interaktywnego Podglądu */
.rk-matrix-interactive-panel {
    background: #f1f5f9;
    border: 2px dashed #94a3b8; 
    border-radius: 20px;
    padding: 25px;
    margin-bottom: 30px;
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 25px;
    align-items: center;
    position: relative;
    transition: all 0.3s ease;
}

/* Stan oczekiwania na akcję (pulsujący efekt) */
.rk-matrix-interactive-panel.waiting {
    background: #ffffff;
    border-color: var(--rk-mat-blue);
    box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.1);
    animation: pulseBorder 2s infinite;
}

@keyframes pulseBorder {
    0% { box-shadow: 0 0 0 0 rgba(2, 132, 199, 0.3); }
    70% { box-shadow: 0 0 0 10px rgba(2, 132, 199, 0); }
    100% { box-shadow: 0 0 0 0 rgba(2, 132, 199, 0); }
}

.rk-matrix-gauge-box {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ffffff;
    padding: 15px;
    border-radius: 14px;
    border: 1px solid var(--rk-mat-border);
}

.rk-matrix-gauge-path {
    transition: stroke-dashoffset 0.5s cubic-bezier(0.4, 0, 0.2, 1), stroke 0.5s ease;
}

.rk-matrix-quick-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-matrix-quick-info h4 {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-mat-dark);
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Instrukcja */
.rk-instruction-tag {
    background: var(--rk-mat-dark);
    color: #ffffff;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: inline-block;
}

.rk-matrix-quick-info p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-mat-text);
}

/* Wrapper responsywny ucinający problem z uciętą kolumną */
.rk-table-responsive-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 5px; /* Minimalny odstęp na pasek scrolla jeśli wystąpi */
}

/* STYLIZACJA MATRYCY DLA PUDEŁKA DESKTOP */
.rk-desktop-matrix-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-top: 10px;
    border: 1px solid var(--rk-mat-border);
    border-radius: 12px;
    min-width: 800px; /* Zabezpieczenie szerokości dla tabeli */
}

.rk-desktop-matrix-table th {
    background: #f8fafc;
    color: var(--rk-mat-dark);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 14px 12px; /* Zredukowany padding, żeby zmieścić na ekranie */
    border-bottom: 2px solid var(--rk-mat-border);
    text-align: left;
}

.rk-desktop-matrix-table td {
    padding: 14px 12px; /* Zredukowany padding, żeby zmieścić na ekranie */
    border-bottom: 1px solid var(--rk-mat-border);
    font-size: 14px;
    color: var(--rk-mat-text);
    transition: all 0.2s ease;
}

.rk-desktop-matrix-table tr:last-child td {
    border-bottom: none;
}

/* Mocniejszy efekt najechania i jasny wskaźnik klikalności */
.rk-matrix-row-btn {
    cursor: pointer;
    position: relative;
}

.rk-matrix-row-btn:hover td {
    background: #f1f5f9;
    color: var(--rk-mat-blue);
}

/* Ikonka interakcji */
.rk-matrix-row-btn td:first-child {
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-matrix-row-btn td:first-child::before {
    content: '►';
    color: transparent;
    font-size: 10px;
    transition: color 0.2s ease;
}

.rk-matrix-row-btn:hover td:first-child::before {
    color: var(--rk-mat-blue);
}

.rk-matrix-row-btn.active td:first-child::before {
    color: var(--rk-mat-dark);
}

.rk-matrix-row-btn.active td {
    background: var(--rk-mat-blue-light) !important;
    font-weight: 600;
    color: var(--rk-mat-dark);
}

/* Wskaźniki statusu termicznego w tabeli */
.rk-status-badge {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}
.rk-status-perfect { background: var(--rk-mat-green-bg); color: var(--rk-mat-green); }
.rk-status-moderate { background: var(--rk-mat-orange-bg); color: var(--rk-mat-orange); }
.rk-status-heavy { background: var(--rk-mat-red-bg); color: var(--rk-mat-red); }

/* WIDOK MOBILNY: UKŁAD PIONOWYCH KAFELKÓW */
.rk-mobile-matrix-cards {
    display: none;
    flex-direction: column;
    gap: 16px;
}

.rk-mobile-card {
    background: #ffffff;
    border: 2px solid var(--rk-mat-border);
    border-radius: 16px;
    padding: 20px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.rk-mobile-card:hover {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.rk-mobile-card.active {
    border-color: var(--rk-mat-blue);
    background: var(--rk-mat-blue-light);
}

.rk-mobile-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px dashed #cbd5e1;
    padding-bottom: 12px;
    margin-bottom: 12px;
}

.rk-mobile-card-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-mat-dark);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-mobile-card-row {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    font-size: 13.5px;
}

.rk-mobile-card-label {
    color: #64748b;
    font-weight: 500;
}

.rk-mobile-card-value {
    font-weight: 700;
    color: var(--rk-mat-dark);
}

@media (max-width: 900px) {
    .rk-table-responsive-wrapper { display: none; }
    .rk-mobile-matrix-cards { display: flex; }
    .rk-matrix-interactive-panel { grid-template-columns: 1fr; text-align: center; }
    .rk-matrix-container { padding: 30px 20px; }
    .rk-matrix-section h2 { font-size: 22px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#matrix-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/"
    },
    "headline": "Kompleksowe zestawienie parametrów technicznych okładzin podłogowych",
    "description": "Interaktywny zbiór danych porównawczych dla materiałów wykończeniowych posadzki grzewczej. Współczynniki przewodzenia i opory emisyjne warstw.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-29",
    "dateModified": "2026-06-29"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#matrix-dataset",
    "name": "Matryca współczynników przewodzenia ciepła posadzek",
    "description": "Zestawienie fizycznych wartości oporów warstwowych, grubości nominalnych oraz bezwładności termicznej dla gresu, laminatów, winyli LVT i systemów dywanowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "współczynnik przewodzenia ciepła gresu",
      "opór cieplny podłogi z paneli",
      "wydajność ogrzewania podłogowego pod deski",
      "jaka wykładzina na ogrzewanie podłogowe",
      "temperatura zasilania pompy ciepła podłogówka"
    ],
    "measurementTechnique": "Określenie liniowych i powierzchniowych barier przewodzenia strumienia ciepła w warunkach ciągłego obciążenia termicznego według wytycznych normy ITB.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Gres: Lambda 1.30 W/mK, Opór do 0.020 m2K/W, Temp zasilania 32-35C.",
        "Winylowe LVT: Lambda 0.20 W/mK, Opór do 0.045 m2K/W, Temp zasilania 35-38C.",
        "Laminaty pływające: Lambda 0.14 W/mK, Opór do 0.090 m2K/W, Temp zasilania 38-40C.",
        "Deska trójwarstwowa: Lambda 0.15 W/mK, Opór do 0.110 m2K/W, Temp zasilania 40-42C.",
        "Gruba wykładzina: Lambda 0.05 W/mK, Opór do 0.180 m2K/W, Temp zasilania 43-45C."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#matrix-webapp",
    "name": "Interaktywny Komparator Opory Termicznego Posadzek",
    "description": "Narzędzie sieciowe analizujące gęstość strumienia energii i bezwładność posadzki w oparciu o wybrane powłoki wykończeniowe jastrychów.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-matrix-section">
    <div class="rk-matrix-container">
        
        <h2>Kompleksowe zestawienie parametrów technicznych okładzin podłogowych</h2>
        <p class="rk-matrix-intro">
            Poniższe zestawienie szczegółowo porównuje parametry fizyczne, konstrukcyjne oraz eksploatacyjne najpopularniejszych materiałów wykończeniowych stosowanych na systemach ogrzewania płaszczyznowego. Aby sprawdzić konsekwencje wyboru konkretnej podłogi, **kliknij wybrany wiersz w tabeli**.
        </p>

        <div class="rk-matrix-interactive-panel waiting" id="rk-interactive-board">
            <div class="rk-matrix-gauge-box">
                <svg viewBox="0 0 100 100" style="width: 100%; max-width: 90px; height: auto;">
                    <circle cx="50" cy="50" r="42" fill="none" stroke="#e2e8f0" stroke-width="8" />
                    <circle id="rk-matrix-arc" cx="50" cy="50" r="42" fill="none" stroke="#94a3b8" stroke-width="8" stroke-dasharray="264" stroke-dashoffset="264" stroke-linecap="round" transform="rotate(-90 50 50)" class="rk-matrix-gauge-path" />
                    <text x="50" y="55" font-family="'Inter', sans-serif" font-weight="900" font-size="12" fill="#64748b" text-anchor="middle" id="rk-matrix-gauge-txt">CZEKAM</text>
                </svg>
            </div>
            <div class="rk-matrix-quick-info">
                <h4>
                    Analizator Przewodności 
                    <span class="rk-instruction-tag" id="rk-tag-instruction">Wymagana Akcja</span>
                </h4>
                <p id="rk-matrix-explanation">
                    <strong>Kliknij w dowolną podłogę w tabeli poniżej</strong>, aby załadować inżynierską analizę barierowości tego materiału i sprawdzić, jak obciąży on Twoją pompę ciepła.
                </p>
            </div>
        </div>

        <div class="rk-table-responsive-wrapper">
            <table class="rk-desktop-matrix-table">
                <thead>
                    <tr>
                        <th>Okładzina wierzchnia</th>
                        <th>Grubość [mm]</th>
                        <th>Współczynnik λ</th>
                        <th>Opór R [m²K/W]</th>
                        <th>Strumień q [W/m²]</th>
                        <th>Zasilanie układu</th>
                        <th>Bezwładność</th>
                    </tr>
                </thead>
                <tbody>
                    <tr class="rk-matrix-row-btn" data-mat="gres" data-resist="0.015" data-level="perfect" data-desc="Wybierając ten materiał, wysoki współczynnik przewodzenia ciepła gresu gwarantuje błyskawiczne przekazywanie energii. System ogrzewania podłogowego działa przy najniższych możliwych temperaturach czynnika, co maksymalizuje żywotność i efektywność pompy ciepła.">
                        <td><strong>Gres / Kamień naturalny</strong></td>
                        <td>10</td>
                        <td>1,30</td>
                        <td><strong>0,012 &#8211; 0,020</strong></td>
                        <td>100</td>
                        <td><span class="rk-status-badge rk-status-perfect">32 &#8211; 35 °C</span></td>
                        <td>Bardzo niska (1-2h)</td>
                    </tr>
                    <tr class="rk-matrix-row-btn" data-mat="lvt" data-resist="0.040" data-level="perfect" data-desc="Prawidłowo dobrany opór cieplny podłogi z paneli winylowych LVT zapewnia bardzo dobrą sprawność emisyjną. Zwróć uwagę, że wymagane jest pełne klejenie do jastrychu lub zastosowanie specjalistycznego, gęstego podkładu kwarcowego (PUM).">
                        <td><strong>Panele winylowe LVT</strong></td>
                        <td>4,5</td>
                        <td>0,20</td>
                        <td><strong>0,030 &#8211; 0,045</strong></td>
                        <td>80</td>
                        <td><span class="rk-status-badge rk-status-perfect">35 &#8211; 38 °C</span></td>
                        <td>Niska (2-3h)</td>
                    </tr>
                    <tr class="rk-matrix-row-btn" data-mat="lam" data-resist="0.080" data-level="moderate" data-desc="To rozwiązanie kompromisowe. Fizyczna grubość laminatu połączona z podkładem wymusza na układzie podniesienie temperatury wody w pętlach o kilka stopni. Zwróć uwagę na jakość zamków łączących, które będą pracować termicznie.">
                        <td><strong>Panele laminowane</strong></td>
                        <td>8</td>
                        <td>0,14</td>
                        <td><strong>0,070 &#8211; 0,090</strong></td>
                        <td>65</td>
                        <td><span class="rk-status-badge rk-status-moderate">38 &#8211; 40 °C</span></td>
                        <td>Średnia (3-4h)</td>
                    </tr>
                    <tr class="rk-matrix-row-btn" data-mat="wood" data-resist="0.105" data-level="moderate" data-desc="Drewno to izolator. Projektowana wydajność ogrzewania podłogowego pod deski trójwarstwowe spada. By to zrekompensować, instalator musi bezwzględnie zagęścić rury (rozstaw co 10 cm), a parkieciarz musi użyć kleju silanowego o wysokiej elastyczności.">
                        <td><strong>Deska trójwarstwowa</strong></td>
                        <td>14</td>
                        <td>0,15</td>
                        <td><strong>0,095 &#8211; 0,110</strong></td>
                        <td>60</td>
                        <td><span class="rk-status-badge rk-status-moderate">40 &#8211; 42 °C</span></td>
                        <td>Wysoka (4-6h)</td>
                    </tr>
                    <tr class="rk-matrix-row-btn" data-mat="carpet1" data-resist="0.095" data-level="moderate" data-desc="Tekstylia blokują ciepło konwekcyjne. Przed montażem zweryfikuj jaka wykładzina na ogrzewanie podłogowe posiada oficjalny certyfikat (piktogram wężownicy). Niezbędne jest klejenie całopowierzchniowe, aby uniknąć poduszek powietrznych.">
                        <td><strong>Wykładzina cienka</strong></td>
                        <td>6</td>
                        <td>0,07</td>
                        <td><strong>0,085 &#8211; 0,100</strong></td>
                        <td>55</td>
                        <td><span class="rk-status-badge rk-status-moderate">39 &#8211; 41 °C</span></td>
                        <td>Wysoka (4-5h)</td>
                    </tr>
                    <tr class="rk-matrix-row-btn" data-mat="carpet2" data-resist="0.165" data-level="heavy" data-desc="Uwaga: Krytyczna blokada układu. Przy tym materiale maksymalna gęstość strumienia ciepła drastycznie spada. Jastrych zmuszony jest do pracy w bardzo wysokich temperaturach, co generuje ogromne koszty na rachunkach za prąd z pompy ciepła.">
                        <td><strong>Gruba wykładzina / Dywan</strong></td>
                        <td>15</td>
                        <td>0,05</td>
                        <td><strong>0,150 &#8211; 0,180</strong></td>
                        <td>35</td>
                        <td><span class="rk-status-badge rk-status-heavy">43 &#8211; 45 °C</span></td>
                        <td>Ekstremalna (&gt;6h)</td>
                    </tr>
                </tbody>
            </table>
        </div>

        <div class="rk-mobile-matrix-cards">
            
            <div class="rk-mobile-card rk-matrix-row-btn" data-mat="gres" data-resist="0.015" data-level="perfect" data-desc="Wybierając ten materiał, wysoki współczynnik przewodzenia ciepła gresu gwarantuje błyskawiczne przekazywanie energii. System ogrzewania podłogowego działa przy najniższych możliwych temperaturach czynnika, co maksymalizuje żywotność i efektywność pompy ciepła.">
                <div class="rk-mobile-card-header">
                    <h4 class="rk-mobile-card-title">► Gres / Kamień</h4>
                    <span class="rk-status-badge rk-status-perfect">Optymalny</span>
                </div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Grubość:</span><span class="rk-mobile-card-value">10 mm</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Przewodność λ:</span><span class="rk-mobile-card-value">1,30 W/(m·K)</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Opór termiczny R:</span><span class="rk-mobile-card-value">0,012 &#8211; 0,020 m²K/W</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Max strumień q:</span><span class="rk-mobile-card-value">100 W/m²</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Temp. zasilania:</span><span class="rk-mobile-card-value">32 &#8211; 35 °C</span></div>
            </div>

            <div class="rk-mobile-card rk-matrix-row-btn" data-mat="lvt" data-resist="0.040" data-level="perfect" data-desc="Prawidłowo dobrany opór cieplny podłogi z paneli winylowych LVT zapewnia bardzo dobrą sprawność emisyjną. Zwróć uwagę, że wymagane jest pełne klejenie do jastrychu lub zastosowanie specjalistycznego, gęstego podkładu kwarcowego (PUM).">
                <div class="rk-mobile-card-header">
                    <h4 class="rk-mobile-card-title">► Panele winylowe LVT</h4>
                    <span class="rk-status-badge rk-status-perfect">Optymalny</span>
                </div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Grubość:</span><span class="rk-mobile-card-value">4,5 mm</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Przewodność λ:</span><span class="rk-mobile-card-value">0,20 W/(m·K)</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Opór termiczny R:</span><span class="rk-mobile-card-value">0,030 &#8211; 0,045 m²K/W</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Max strumień q:</span><span class="rk-mobile-card-value">80 W/m²</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Temp. zasilania:</span><span class="rk-mobile-card-value">35 &#8211; 38 °C</span></div>
            </div>

            <div class="rk-mobile-card rk-matrix-row-btn" data-mat="lam" data-resist="0.080" data-level="moderate" data-desc="To rozwiązanie kompromisowe. Fizyczna grubość laminatu połączona z podkładem wymusza na układzie podniesienie temperatury wody w pętlach o kilka stopni. Zwróć uwagę na jakość zamków łączących, które będą pracować termicznie.">
                <div class="rk-mobile-card-header">
                    <h4 class="rk-mobile-card-title">► Panele laminowane</h4>
                    <span class="rk-status-badge rk-status-moderate">Korygowany</span>
                </div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Grubość:</span><span class="rk-mobile-card-value">8 mm</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Przewodność λ:</span><span class="rk-mobile-card-value">0,14 W/(m·K)</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Opór termiczny R:</span><span class="rk-mobile-card-value">0,070 &#8211; 0,090 m²K/W</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Max strumień q:</span><span class="rk-mobile-card-value">65 W/m²</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Temp. zasilania:</span><span class="rk-mobile-card-value">38 &#8211; 40 °C</span></div>
            </div>

            <div class="rk-mobile-card rk-matrix-row-btn" data-mat="wood" data-resist="0.105" data-level="moderate" data-desc="Drewno to izolator. Projektowana wydajność ogrzewania podłogowego pod deski trójwarstwowe spada. By to zrekompensować, instalator musi bezwzględnie zagęścić rury (rozstaw co 10 cm), a parkieciarz musi użyć kleju silanowego o wysokiej elastyczności.">
                <div class="rk-mobile-card-header">
                    <h4 class="rk-mobile-card-title">► Deska warstwowa</h4>
                    <span class="rk-status-badge rk-status-moderate">Korygowany</span>
                </div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Grubość:</span><span class="rk-mobile-card-value">14 mm</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Przewodność λ:</span><span class="rk-mobile-card-value">0,15 W/(m·K)</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Opór termiczny R:</span><span class="rk-mobile-card-value">0,095 &#8211; 0,110 m²K/W</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Max strumień q:</span><span class="rk-mobile-card-value">60 W/m²</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Temp. zasilania:</span><span class="rk-mobile-card-value">40 &#8211; 42 °C</span></div>
            </div>

            <div class="rk-mobile-card rk-matrix-row-btn" data-mat="carpet1" data-resist="0.095" data-level="moderate" data-desc="Tekstylia blokują ciepło konwekcyjne. Przed montażem zweryfikuj jaka wykładzina na ogrzewanie podłogowe posiada oficjalny certyfikat (piktogram wężownicy). Niezbędne jest klejenie całopowierzchniowe, aby uniknąć poduszek powietrznych.">
                <div class="rk-mobile-card-header">
                    <h4 class="rk-mobile-card-title">► Wykładzina cienka</h4>
                    <span class="rk-status-badge rk-status-moderate">Korygowany</span>
                </div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Grubość:</span><span class="rk-mobile-card-value">6 mm</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Przewodność λ:</span><span class="rk-mobile-card-value">0,07 W/(m·K)</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Opór termiczny R:</span><span class="rk-mobile-card-value">0,085 &#8211; 0,100 m²K/W</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Max strumień q:</span><span class="rk-mobile-card-value">55 W/m²</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Temp. zasilania:</span><span class="rk-mobile-card-value">39 &#8211; 41 °C</span></div>
            </div>

            <div class="rk-mobile-card rk-matrix-row-btn" data-mat="carpet2" data-resist="0.165" data-level="heavy" data-desc="Uwaga: Krytyczna blokada układu. Przy tym materiale maksymalna gęstość strumienia ciepła drastycznie spada. Jastrych zmuszony jest do pracy w bardzo wysokich temperaturach, co generuje ogromne koszty na rachunkach za prąd z pompy ciepła.">
                <div class="rk-mobile-card-header">
                    <h4 class="rk-mobile-card-title">► Gruba wykładzina</h4>
                    <span class="rk-status-badge rk-status-heavy">Bariera</span>
                </div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Grubość:</span><span class="rk-mobile-card-value">15 mm</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Przewodność λ:</span><span class="rk-mobile-card-value">0,05 W/(m·K)</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Opór termiczny R:</span><span class="rk-mobile-card-value">0,150 &#8211; 0,180 m²K/W</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Max strumień q:</span><span class="rk-mobile-card-value">35 W/m²</span></div>
                <div class="rk-mobile-card-row"><span class="rk-mobile-card-label">Temp. zasilania:</span><span class="rk-mobile-card-value">43 &#8211; 45 °C</span></div>
            </div>

        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Wspólna klasa rk-matrix-row-btn dla wierszy tabeli (desktop) i kart (mobile)
    const matrixTriggers = document.querySelectorAll('.rk-matrix-row-btn');
    const interactiveBoard = document.getElementById('rk-interactive-board');
    const tagInstruction = document.getElementById('rk-tag-instruction');
    
    const gaugeTxt = document.getElementById('rk-matrix-gauge-txt');
    const gaugeArc = document.getElementById('rk-matrix-arc');
    const explanationTxt = document.getElementById('rk-matrix-explanation');

    matrixTriggers.forEach(function(trigger) {
        trigger.addEventListener('click', function() {
            
            // Usunięcie stanu oczekiwania z głównego panelu
            interactiveBoard.classList.remove('waiting');
            tagInstruction.style.display = 'none';

            // Czyszczenie klas aktywnych ze WSZYSTKICH elementów
            for (let i = 0; i < matrixTriggers.length; i++) {
                matrixTriggers[i].classList.remove('active');
            }
            // Dodanie klasy aktywnej do klikniętego elementu
            this.classList.add('active');

            // Pobieranie atrybutów konfiguracyjnych
            const resistance = parseFloat(this.getAttribute('data-resist'));
            const level = this.getAttribute('data-level');
            const description = this.getAttribute('data-desc');

            // Wstrzyknięcie tekstu
            explanationTxt.innerHTML = description;

            // Logika tarczy SVG
            const maxDash = 264;
            // Bezpieczne mapowanie (0.01 do 0.18 -> 0 do 1)
            let percentage = (resistance - 0.01) / 0.17;
            
            if (percentage > 1) { percentage = 1; }
            if (percentage < 0) { percentage = 0; }

            const offset = maxDash - (percentage * maxDash);
            gaugeArc.style.strokeDashoffset = offset;

            // Logika Kolorów i Etykiet 
            if (level === 'perfect') {
                gaugeArc.setAttribute('stroke', '#10b981'); 
                gaugeTxt.innerHTML = 'NISKI R';
                gaugeTxt.setAttribute('fill', '#10b981');
                interactiveBoard.style.borderColor = '#10b981';
            }
            if (level === 'moderate') {
                gaugeArc.setAttribute('stroke', '#f97316'); 
                gaugeTxt.innerHTML = 'ŚREDNI R';
                gaugeTxt.setAttribute('fill', '#f97316');
                interactiveBoard.style.borderColor = '#f97316';
            }
            if (level === 'heavy') {
                gaugeArc.setAttribute('stroke', '#ef4444'); 
                gaugeTxt.innerHTML = 'BLOKADA';
                gaugeTxt.setAttribute('fill', '#ef4444');
                interactiveBoard.style.borderColor = '#ef4444';
            }
        });
    });
});
</script>



<style>
:root {
    --rk-algo-dark: #0f172a;
    --rk-algo-blue: #0284c7;
    --rk-algo-light: #f8fafc;
    --rk-algo-border: #e2e8f0;
    --rk-algo-text: #334155;
    --rk-algo-red: #ef4444;
    --rk-algo-orange: #f97316;
    --rk-algo-green: #16a34a;
}

.rk-algo-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--rk-algo-dark);
}

.rk-algo-container {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    border: 1px solid var(--rk-algo-border);
    padding: 40px 50px;
    overflow: hidden;
}

/* Nagłówki */
.rk-algo-section h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-algo-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-algo-intro {
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-algo-text);
    margin-bottom: 30px;
}

.rk-algo-section h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-algo-dark);
    margin: 35px 0 20px 0;
}

/* NOWY UKŁAD KALKULATORA: Horyzontalny (Suwaki góra, Wyniki dół) */
.rk-algo-workspace {
    background: var(--rk-algo-light);
    border: 1px solid var(--rk-algo-border);
    border-radius: 20px;
    padding: 30px;
    margin: 25px 0;
}

/* Suwaki na górze (Grid 3 kolumny na desktop) */
.rk-algo-inputs-top {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px dashed #cbd5e1;
}

.rk-input-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #ffffff;
    padding: 16px 20px;
    border-radius: 14px;
    border: 1px solid var(--rk-algo-border);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-input-label-box {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.rk-input-title {
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-input-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-algo-blue);
}

.rk-algo-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 6px;
    border-radius: 3px;
    background: #e2e8f0;
    outline: none;
    margin-top: 5px;
}

.rk-algo-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--rk-algo-blue);
    cursor: pointer;
    transition: transform 0.1s;
    box-shadow: 0 2px 4px rgba(2, 132, 199, 0.3);
}

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

/* Wyniki na dole (Grid: SVG Lewo, Lista Prawo) */
.rk-algo-outputs-bottom {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 30px;
    align-items: center;
}

.rk-svg-display {
    width: 100%;
    background: #ffffff;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-algo-border);
}

.rk-algo-results-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-algo-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px dashed var(--rk-algo-border);
    font-size: 15px;
}

.rk-algo-row:last-child {
    border-bottom: none;
    padding-top: 15px;
    font-size: 18px;
}

.rk-metric-label { color: #475569; font-weight: 600; }
.rk-metric-value { font-weight: 800; color: var(--rk-algo-dark); }

/* INTERAKTYWNE KAFLE Z METODYKĄ */
.rk-steps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.rk-step-card {
    background: #ffffff;
    border: 1px solid var(--rk-algo-border);
    border-radius: 16px;
    padding: 25px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.rk-step-card:hover {
    box-shadow: 0 15px 30px -10px rgba(2, 132, 199, 0.15);
    border-color: #bae6fd;
    transform: translateY(-3px);
}

.rk-step-number {
    position: absolute;
    top: -15px;
    right: -15px;
    font-size: 80px;
    font-weight: 900;
    color: #f1f5f9;
    line-height: 1;
    z-index: 0;
    transition: color 0.3s ease;
}

.rk-step-card:hover .rk-step-number {
    color: #e0f2fe;
}

.rk-step-content {
    position: relative;
    z-index: 1;
}

.rk-step-content h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-algo-dark);
    margin: 0 0 10px 0;
    line-height: 1.4;
}

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

.rk-math-formula {
    display: inline-block;
    background: var(--rk-algo-light);
    padding: 6px 12px;
    border-radius: 8px;
    font-family: monospace;
    font-weight: 700;
    color: var(--rk-algo-blue);
    margin-top: 10px;
    font-size: 13px;
    border: 1px solid var(--rk-algo-border);
}

/* Style dla linków */
a.rk-longtail-term {
    color: var(--rk-algo-blue);
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s ease;
}

a.rk-longtail-term:hover {
    text-decoration: underline;
    color: var(--rk-algo-dark);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-algo-container { padding: 30px 20px; }
    .rk-algo-inputs-top { grid-template-columns: 1fr; gap: 15px; border-bottom: none; padding-bottom: 10px; }
    .rk-algo-outputs-bottom { grid-template-columns: 1fr; gap: 20px; }
    .rk-svg-display { max-width: 250px; margin: 0 auto; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#algorithm-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/"
    },
    "headline": "Inżynierski algorytm obliczania wpływu okładziny na wydajność podłogówki",
    "description": "Interaktywna procedura obliczeniowa pozwalająca precyzyjnie wyznaczyć parametry temperaturowe zasilania instalacji grzewczej w oparciu o opór cieplny posadzki. Moduł zawiera symulator strumienia ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-29",
    "dateModified": "2026-06-29"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#algorithm-dataset",
    "name": "Model matematyczny wymiany strumienia ciepła w jastrychu grzewczym",
    "description": "Zbiór zmiennych fizycznych i stałych przeliczeniowych (współczynnik przejmowania ciepła alfa 11 W/m2K, spadek temperatury wody Delta T 5K) używanych do wyznaczania temperatury zasilania pompy ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "obliczanie temperatury zasilania podłogówki",
      "gęstość strumienia ciepła ogrzewanie płaszczyznowe",
      "całkowity opór cieplny warstw nad rurami",
      "temperatura powierzchni podłogi norma",
      "efektywność pompy ciepła a jastrych"
    ],
    "measurementTechnique": "Zastosowanie równań przewodzenia ciepła oraz prawa Newtona dla konwekcji i promieniowania według założeń normy PN-EN 1264 w formie kafelkowego algorytmu krokowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Stała przejmowania ciepła alfa: 11 W/(m2 K)",
        "Grubość jastrychu anhydrytowego: 45 mm",
        "Współczynnik przewodzenia jastrychu: 1,2 W/(m K)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#algorithm-webapp",
    "name": "Termodynamiczny Kalkulator Parametrów Zasilania Podłogówki",
    "description": "Zaawansowana aplikacja obliczeniowa przetwarzająca w czasie rzeczywistym obciążenie cieplne oraz opór wykończenia podłogi na optymalne parametry temperaturowe wody grzewczej.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-algo-section">
    <div class="rk-algo-container">
        
        <h2>Inżynierski algorytm obliczania wpływu okładziny na wydajność podłogówki</h2>
        <p class="rk-algo-intro">
            Aby precyzyjnie określić, jak dany materiał wpłynie na temperaturę zasilania instalacji oraz jej docelową wydajność, stosujemy stałą procedurę obliczeniową. Poniższe narzędzie pozwala płynnie modyfikować parametry fizyczne i w czasie rzeczywistym analizować zachowanie instalacji w warunkach projektowych.
        </p>

        <div class="rk-algo-workspace">
            
            <div class="rk-algo-inputs-top">
                <div class="rk-input-group">
                    <div class="rk-input-label-box">
                        <span class="rk-input-title">Zapotrzebowanie (Q)</span>
                        <span class="rk-input-val" id="lbl-power">1000 W</span>
                    </div>
                    <input type="range" id="input-power" class="rk-algo-slider" min="400" max="2000" step="100" value="1000">
                </div>

                <div class="rk-input-group">
                    <div class="rk-input-label-box">
                        <span class="rk-input-title">Powierzchnia (A)</span>
                        <span class="rk-input-val" id="lbl-area">20 m2</span>
                    </div>
                    <input type="range" id="input-area" class="rk-algo-slider" min="10" max="30" step="1" value="20">
                </div>

                <div class="rk-input-group">
                    <div class="rk-input-label-box">
                        <span class="rk-input-title">Opór okładziny (R)</span>
                        <span class="rk-input-val" id="lbl-res">0.08</span>
                    </div>
                    <input type="range" id="input-res" class="rk-algo-slider" min="0.01" max="0.16" step="0.01" value="0.08">
                </div>
            </div>

            <div class="rk-algo-outputs-bottom">
                
                <div class="rk-svg-display">
                    <svg viewBox="0 0 100 100" style="width: 100%; height: auto;">
                        <circle cx="50" cy="50" r="45" fill="#f8fafc" stroke="#e2e8f0" stroke-width="2"></circle>
                        <circle cx="50" cy="50" r="38" fill="none" stroke="#e2e8f0" stroke-width="6" stroke-dasharray="238" stroke-linecap="round" transform="rotate(-90 50 50)"></circle>
                        <circle id="svg-temp-arc" cx="50" cy="50" r="38" fill="none" stroke="#ef4444" stroke-width="6" stroke-dasharray="238" stroke-dashoffset="120" stroke-linecap="round" transform="rotate(-90 50 50)" style="transition: stroke-dashoffset 0.3s ease, stroke 0.3s ease;"></circle>
                        
                        <text x="50" y="48" font-family="'Inter', sans-serif" font-weight="900" font-size="18" fill="#0f172a" text-anchor="middle" id="svg-txt-temp">33.0°</text>
                        <text x="50" y="65" font-family="'Inter', sans-serif" font-weight="800" font-size="8" fill="#64748b" text-anchor="middle" letter-spacing="0.5">ZASILANIE</text>
                    </svg>
                </div>

                <div class="rk-algo-results-list">
                    <div class="rk-algo-row">
                        <span class="rk-metric-label">Gęstość strumienia (q):</span>
                        <span class="rk-metric-value" id="res-q">50.0 W/m2</span>
                    </div>
                    <div class="rk-algo-row">
                        <span class="rk-metric-label">Całkowity opór warstw (R_B):</span>
                        <span class="rk-metric-value" id="res-rb">0.1175 m2K/W</span>
                    </div>
                    <div class="rk-algo-row">
                        <span class="rk-metric-label">Temp. powierzchni podłogi (T_f):</span>
                        <span class="rk-metric-value" id="res-tf">24.55 °C</span>
                    </div>
                    <div class="rk-algo-row" style="font-weight: 900; border-top: 1px solid #cbd5e1;">
                        <span class="rk-metric-label" style="color: var(--rk-algo-dark);">Wyliczona temp. zasilania (T_z):</span>
                        <span class="rk-metric-value" id="res-tz" style="color: #ef4444;">~ 33.0 °C</span>
                    </div>
                </div>

            </div>
        </div>

        <h3>Metodyka obliczeniowa krok po kroku</h3>
        
        <div class="rk-steps-grid">
            
            <div class="rk-step-card">
                <div class="rk-step-number">1</div>
                <div class="rk-step-content">
                    <h4>Obciążenie cieplne</h4>
                    <p>Zapotrzebowanie na moc wyliczamy na podstawie OZC. <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/" class="rk-longtail-term">gęstość strumienia ciepła ogrzewanie płaszczyznowym</a> to stosunek mocy do powierzchni grzewczej.</p>
                    <div class="rk-math-formula">q = Q / A</div>
                </div>
            </div>

            <div class="rk-step-card">
                <div class="rk-step-number">2</div>
                <div class="rk-step-content">
                    <h4>Sumaryczny opór</h4>
                    <p>Sumujemy opór wylewki (dla 45 mm anhydrytu stała to ok. 0,0375 m2K/W) oraz okładziny. Otrzymujemy <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/" class="rk-longtail-term">całkowity opór cieplny warstw nad rurami</a>.</p>
                    <div class="rk-math-formula">R_B = R_jastrych + R_okładzina</div>
                </div>
            </div>

            <div class="rk-step-card">
                <div class="rk-step-number">3</div>
                <div class="rk-step-content">
                    <h4>Temperatura posadzki</h4>
                    <p>Z prawa Newtona i współczynnika przejmowania (alfa = 11 W/m2K). Wyliczana jest wymagana <a href="https://projekt-ogrzewania.pl/jaka-jest-optymalna-temperatura-ogrzewania-podlogowego/" class="rk-longtail-term">temperatura powierzchni podłogi norma</a> dla oddania mocy.</p>
                    <div class="rk-math-formula">T_f = T_i + (q / 11)</div>
                </div>
            </div>

            <div class="rk-step-card">
                <div class="rk-step-number">4</div>
                <div class="rk-step-content">
                    <h4>Średnia temp. czynnika</h4>
                    <p>Wyznaczamy średnią temperaturę wody w pętlach potrzebną do przebicia się przez izolacyjność przegrody posadzkowej.</p>
                    <div class="rk-math-formula">T_w,śr = T_f + (q * R_B)</div>
                </div>
            </div>

            <div class="rk-step-card">
                <div class="rk-step-number">5</div>
                <div class="rk-step-content">
                    <h4>Zasilanie z pompy</h4>
                    <p>Dla schodzenia wody o 5K ustalamy minimalne <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/" class="rk-longtail-term">obliczanie temperatury zasilania podłogówki</a>. Przekłada się to na docelową <a href="https://projekt-ogrzewania.pl/czy-pompa-ciepla-ogrzeje-dom-z-podlogowka/" class="rk-longtail-term">efektywność pompy ciepła a jastrych</a>.</p>
                    <div class="rk-math-formula">T_z = T_w,śr + 2.5</div>
                </div>
            </div>

        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const inPower = document.getElementById('input-power');
    const inArea = document.getElementById('input-area');
    const inRes = document.getElementById('input-res');

    const lblPower = document.getElementById('lbl-power');
    const lblArea = document.getElementById('lbl-area');
    const lblRes = document.getElementById('lbl-res');

    const resQ = document.getElementById('res-q');
    const resRb = document.getElementById('res-rb');
    const resTf = document.getElementById('res-tf');
    const resTz = document.getElementById('res-tz');

    const svgTxtTemp = document.getElementById('svg-txt-temp');
    const svgTempArc = document.getElementById('svg-temp-arc');

    function updateThermodynamics() {
        const Q = parseFloat(inPower.value);
        const A = parseFloat(inArea.value);
        const rOkladzina = parseFloat(inRes.value);

        // Aktualizacja etykiet wejściowych
        lblPower.innerHTML = Q + ' W';
        lblArea.innerHTML = A + ' m2';
        lblRes.innerHTML = rOkladzina.toFixed(2);

        // 1. Gęstość strumienia q = Q / A
        const q = Q / A;
        resQ.innerHTML = q.toFixed(1) + ' W/m2';

        // 2. Całkowity opór R_B (Jastrych 0.0375 + okładzina)
        const rJastrych = 0.0375;
        const rB = rJastrych + rOkladzina;
        resRb.innerHTML = rB.toFixed(4) + ' m2K/W';

        // 3. Temperatura powierzchni podłogi T_f = 20 + (q / 11)
        const tIn = 20;
        const alfa = 11;
        const tF = tIn + (q / alfa);
        resTf.innerHTML = tF.toFixed(2) + ' °C';

        // 4. Średnia temp czynnika T_w_sr = T_f + (q * rB)
        const tWSr = tF + (q * rB);

        // 5. Temperatura zasilania T_z = T_w_sr + 2.5
        const tZ = tWSr + 2.5;
        resTz.innerHTML = '~ ' + tZ.toFixed(1) + ' °C';
        svgTxtTemp.innerHTML = tZ.toFixed(1) + '°';

        // Wizualizacja SVG
        const maxDash = 238; // Obwód koła dla r=38
        
        // Zakładamy mapowanie temperatury od 22°C (min) do 42°C (max na wykresie) = zakres 20 stopni
        const tempMin = 22;
        const tempRange = 20;
        
        let percentage = (tZ - tempMin) / tempRange;
        
        // Zabezpieczenie limitów bez && 
        if (percentage > 1) {
            percentage = 1;
        }
        if (percentage < 0) {
            percentage = 0;
        }

        const offset = maxDash - (percentage * maxDash);
        svgTempArc.style.strokeDashoffset = offset;

        // Kolorowanie wskaźnika w zależności od obciążenia układu
        if (tZ > 36) {
            svgTempArc.setAttribute('stroke', '#ef4444'); // Czerwony - źle (wysokie zasilanie)
            resTz.style.color = '#ef4444';
        } else {
            if (tZ > 32) {
                svgTempArc.setAttribute('stroke', '#f97316'); // Pomarańczowy - akceptowalnie
                resTz.style.color = '#f97316';
            } else {
                svgTempArc.setAttribute('stroke', '#10b981'); // Zielony - optymalnie
                resTz.style.color = '#10b981';
            }
        }
    }

    // Nasłuchiwanie zmian suwaków
    inPower.addEventListener('input', updateThermodynamics);
    inArea.addEventListener('input', updateThermodynamics);
    inRes.addEventListener('input', updateThermodynamics);

    // Inicjalizacja przy pierwszym ładowaniu
    updateThermodynamics();
});
</script>



<style>
:root {
    --rk-proj-dark: #0f172a;
    --rk-proj-blue: #0284c7;
    --rk-proj-light: #f8fafc;
    --rk-proj-blue-light: #e0f2fe;
    --rk-proj-border: #e2e8f0;
    --rk-proj-text: #334155;
    --rk-proj-orange: #ea580c;
    --rk-proj-green: #16a34a;
}

.rk-project-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--rk-proj-dark);
}

.rk-project-container {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.05);
    border: 1px solid var(--rk-proj-border);
    padding: 40px 50px;
    overflow: hidden;
}

/* Nagłówki */
.rk-project-section h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-proj-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-project-intro {
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-proj-text);
    margin-bottom: 30px;
}

.rk-project-section h3 {
    font-size: 19px;
    font-weight: 800;
    color: var(--rk-proj-dark);
    margin: 25px 0 12px 0;
}

/* Interaktywny Panel Konsekwencji Projektowych */
.rk-hydraulics-module {
    background: var(--rk-proj-light);
    border: 1px solid var(--rk-proj-border);
    border-radius: 20px;
    padding: 30px;
    margin: 30px 0;
}

.rk-module-title {
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 5px 0;
    text-align: center;
}

.rk-module-subtitle {
    font-size: 14px;
    color: #64748b;
    margin: 0 0 25px 0;
    text-align: center;
}

/* Przełączniki w układzie pionowym na mobile, obok siebie na desktopie */
.rk-proj-selector {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-proj-btn {
    flex: 1;
    padding: 18px;
    border: 2px solid var(--rk-proj-border);
    border-radius: 14px;
    background: #ffffff;
    font-size: 15px;
    font-weight: 800;
    color: #475569;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
}

.rk-proj-btn:hover {
    background: #f1f5f9;
}

.rk-proj-btn.active[data-scenario="low-r"] {
    border-color: var(--rk-proj-green);
    background: #f0fdf4;
    color: var(--rk-proj-green);
}

.rk-proj-btn.active[data-scenario="high-r"] {
    border-color: var(--rk-proj-orange);
    background: #fff7ed;
    color: var(--rk-proj-orange);
}

/* Układ prezentacji danych */
.rk-proj-display {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 30px;
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-proj-border);
    align-items: center;
}

.rk-proj-metrics {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-metric-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid var(--rk-proj-border);
    font-size: 14.5px;
}

.rk-metric-row:last-child {
    border-bottom: none;
}

.rk-metric-label {
    color: #64748b;
    font-weight: 500;
}

.rk-metric-value {
    font-weight: 800;
    color: var(--rk-proj-dark);
}

/* Kontener graficzny SVG */
.rk-proj-graphic {
    display: flex;
    justify-content: center;
    align-items: center;
}

.rk-svg-pipe {
    transition: stroke-dasharray 0.5s ease, stroke 0.5s ease;
}

/* Słowa kluczowe długiego ogona jako linki */
a.rk-longtail-term {
    color: var(--rk-proj-blue);
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s ease;
}

a.rk-longtail-term:hover {
    text-decoration: underline;
    color: var(--rk-proj-dark);
}

/* Sekcja Kafelkowa na Mobile / Zwykły tekst */
.rk-text-block {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-proj-text);
    margin-bottom: 20px;
}

/* Sekcja CTA na Końcu */
.rk-creative-cta {
    margin-top: 40px;
    padding: 35px;
    background: linear-gradient(135deg, var(--rk-proj-dark) 0%, #1e293b 100%);
    border-radius: 20px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-cta-title {
    font-size: 22px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 12px 0;
}

.rk-cta-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #94a3b8;
    max-width: 750px;
    margin: 0 0 25px 0;
}

.rk-cta-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--rk-proj-blue);
    color: #ffffff;
    padding: 16px 32px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.4);
}

.rk-cta-link:hover {
    background: #0ea5e9;
    transform: translateY(-2px);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-project-container { padding: 30px 20px; }
    .rk-proj-selector { flex-direction: column; gap: 10px; }
    .rk-proj-display { grid-template-columns: 1fr; }
    .rk-project-section h2 { font-size: 22px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#project-impact-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/"
    },
    "headline": "Jak rodzaj okładziny podłogowej wpływa na projekt ogrzewania podłogowego?",
    "description": "Analiza inżynierska wpływu oporu cieplnego wykończenia posadzki na rozstaw rur, parametry hydrauliczne rozdzielacza i dobór pompy obiegowej.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-29",
    "dateModified": "2026-06-29"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#project-impact-dataset",
    "name": "Wskaźniki hydrauliczne pętli grzewczych dla różnych rezystancji posadzek",
    "description": "Baza danych odwzorowująca korelację pomiędzy oporem cieplnym okładzin a projektowanym rozstawem rur (15 cm vs 10 cm), długością pętli oraz liniową stratą ciśnienia (15 kPa vs 35 kPa).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego a rodzaj okładziny",
      "rozstaw rur w ogrzewaniu podłogowym pod panele",
      "maksymalna długość pętli ogrzewania podłogowego",
      "opory hydrauliczne instalacji podłogowej",
      "dobór pompy obiegowej do ogrzewania podłogowego"
    ],
    "measurementTechnique": "Obliczenia hydrauliczne natężenia przepływu masowego instalacji płaszczyznowych na podstawie zapotrzebowania budynków na ciepło wg PN-EN 12831.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Niski opór posadzki: Rozstaw rur 15 cm, zużycie rury 6.7 mb/m2, opór hydrauliczny 15 kPa.",
        "Wysoki opór posadzki: Rozstaw rur 10 cm, zużycie rury 10 mb/m2, opór hydrauliczny 35 kPa."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#project-impact-webapp",
    "name": "Interaktywny Analizator Konsekwencji Hydraulicznych Posadzki",
    "description": "Narzędzie inżynierskie przeliczające geometrię układania pętli grzewczych oraz wymagane ciśnienie podnoszenia pompy w oparciu o opór termiczny wykończenia podłogi.",
    "applicationCategory": "DesignApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-project-section">
    <div class="rk-project-container">
        
        <h2>Jak rodzaj okładziny podłogowej wpływa na projekt ogrzewania podłogowego?</h2>
        <p class="rk-project-intro">
            Wybór materiału wykończeniowego wpływa na <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/" class="rk-longtail-term">projekt ogrzewania podłogowego a rodzaj okładziny</a> w sposób bezwzględny. Narzuca on geometrię ułożenia rurociągów, podział pętli na sekcje oraz docelowe parametry hydrauliczne rozdzielacza, które muszą być ściśle skorelowane z wynikami audytu OZC (Obliczeniowego Zapotrzebowania na Ciepło) budynku. Pętla grzewcza projektowana pod gres wykazuje skrajnie inną charakterystykę przepływów niż ta przeznaczona pod parkiet lub deskę warstwową.
        </p>

        <h3>Zmiana rozstawu rur w zależności od oporu cieplnego</h3>
        <p class="rk-text-block">
            W pomieszczeniach, gdzie inwestor planuje ułożenie materiałów o podwyższonej izolacyjności termicznej, projektant musi zagęścić strukturę ułożenia instalacji. O ile dla płytek ceramicznych standardowy <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/" class="rk-longtail-term">rozstaw rur w ogrzewaniu podłogowym pod panele</a> czy gres wynosi 15 cm (s = 0,15 m), o tyle pod deskę drewnianą należy bezwzględnie zastosować rozstaw 10 cm lub nawet 7,5 cm w strefach brzegowych przy przegrodach zewnętrznych. Zagęszczenie przewodów kompensuje <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/" class="rk-longtail-term">wpływ oporu cieplnego posadzki na projekt</a> poprzez zdecydowane zwiększenie aktywnej powierzchni wymiany ciepła na każdy metr kwadratowy jastrychu.
        </p>

        <h3>Wpływ na długość pętli i opory hydrauliczne</h3>
        <p class="rk-text-block">
            Zmniejszenie odległości między rurami z 15 cm do 10 cm drastycznie zwiększa zapotrzebowanie na materiał: z 6,7 mb do aż 10 mb na każdy metr kwadratowy. Dla pokoju o powierzchni 20 m2 oznacza to fizyczny wzrost długości rurociągu ze 134 m do 200 m. Ponieważ <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/" class="rk-longtail-term">maksymalna długość pętli ogrzewania podłogowego</a> z rury PEX 16x2 mm wynosi normowo 100 m z uwagi na liniowe straty ciśnienia, inżynier zmuszony jest podzielić jedno pomieszczenie na dwie niezależne sekcje. To bezpośrednio generuje potrzebę zakupu większego rozdzielacza (np. sekcja 10-obwodowa zamiast 8-obwodowej), podnosząc koszt inwestycji o szafkę i osprzęt.
        </p>

        <div class="rk-hydraulics-module">
            <h3 class="rk-module-title">Symulator Zależności Hydraulicznych</h3>
            <p class="rk-module-subtitle">Przełącz rodzaj posadzki i zobacz, jak zmieniają się parametry obliczeniowe w projekcie instalacji.</p>
            
            <div class="rk-proj-selector">
                <button class="rk-proj-btn active" data-scenario="low-r">Gres / Płytki (Niski opór R)</button>
                <button class="rk-proj-btn" data-scenario="high-r">Deska / Parkiet (Wysoki opór R)</button>
            </div>

            <div class="rk-proj-display">
                <div class="rk-proj-metrics">
                    <div class="rk-metric-row">
                        <span class="rk-metric-label">Projektowany rozstaw rur:</span>
                        <span class="rk-metric-value" id="val-spacing">15 cm</span>
                    </div>
                    <div class="rk-metric-row">
                        <span class="rk-metric-label">Zużycie rury na m2 posadzki:</span>
                        <span class="rk-metric-value" id="val-usage">6,7 mb/m2</span>
                    </div>
                    <div class="rk-metric-row">
                        <span class="rk-metric-label">Liczba pętli (pokój 20 m2):</span>
                        <span class="rk-metric-value" id="val-loops">1 pętla (134 m - niedopuszczalna)</span>
                    </div>
                    <div class="rk-metric-row">
                        <span class="rk-metric-label">Szacowane opory hydrauliczne:</span>
                        <span class="rk-metric-value" id="val-pressure" style="color: var(--rk-proj-green);">15 kPa (Niskie)</span>
                    </div>
                </div>
                
                <div class="rk-proj-graphic">
                    <svg viewBox="0 0 120 120" style="width:100%; max-width:130px; height:auto;">
                        <rect x="5" y="5" width="110" height="110" fill="none" stroke="#cbd5e1" stroke-width="2" rx="6"></rect>
                        <path id="svg-pipe-geometry" class="rk-svg-pipe" d="M 15,15 L 105,15 L 105,35 L 15,35 L 15,55 L 105,55 L 105,75 L 15,75 L 15,95 L 105,95" fill="none" stroke="#ef4444" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"></path>
                    </svg>
                </div>
            </div>
        </div>

        <h3>Wpływ na przepływy i dobór pompy obiegowej</h3>
        <p class="rk-text-block">
            Mnożenie liczby sekcji oraz wyższe <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/" class="rk-longtail-term">opory hydrauliczne instalacji podłogowej</a> wymuszają dokładne zbalansowanie rozdzielacza. Wykonując precyzyjne <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/" class="rk-longtail-term">obliczanie przepływu masowego w podłogówce</a>, przyjmujemy zapotrzebowanie obiektu na poziomie Q = 11,5 kW przy schodzeniu czynnika Delta T = 5K. Wymagany przepływ masowy instalacji wynosi wtedy około 1,98 m3/h. 
        </p>
        <p class="rk-text-block">
            Jeśli w całym domu zastosujemy grubą deskę, straty ciśnienia w obiegach skoczą z bezpiecznych 15 kPa do aż 35 kPa. Fabryczny <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/" class="rk-longtail-term">dobór pompy obiegowej do ogrzewania podłogowego</a> zintegrowanej wewnątrz pompy ciepła (z reguły o wysokości podnoszenia do 6 mH2O, czyli 60 kPa) okaże się niewystarczający do przetłoczenia tak ogromnego strumienia przy tak wysokich oporach. Układ wymagać będzie kosztownej modyfikacji: montażu sprzęgła hydraulicznego oraz dodatkowej, zewnętrznej pompy obiegowej klasy premium, co generuje wyższy pobór prądu przez dekady eksploatacji budynku.
        </p>

        <div class="rk-creative-cta">
            <h3 class="rk-cta-title">Twoja podłoga wymaga projektu opartego o fizykę, a nie domysły</h3>
            <p class="rk-cta-desc">
                Wybór wykończenia posadzki decyduje o całej hydraulice budynku. Nie pozwól instalatorowi układać rurociągów na oko, co doprowadzi do niedogrzania pomieszczeń i przeciążenia pompy ciepła. Zamów profesjonalny projekt, który przeliczy dokładny opór cieplny Twojej wymarzonej podłogi i zagwarantuje pełną moc instalacji.
            </p>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-cta-link">
                Zamów inżynierski projekt ogrzewania podłogowego
                <svg width="18" height="18" 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>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const projButtons = document.querySelectorAll('.rk-proj-btn');
    const valSpacing = document.getElementById('val-spacing');
    const valUsage = document.getElementById('val-usage');
    const valLoops = document.getElementById('val-loops');
    const valPressure = document.getElementById('val-pressure');
    const svgPipe = document.getElementById('svg-pipe-geometry');

    projButtons.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Czyszczenie klas aktywnych
            for (let i = 0; i < projButtons.length; i++) {
                projButtons[i].classList.remove('active');
            }
            this.classList.add('active');

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

            // Bezpieczna logika warunkowa bez operatorów logicznych typu &#038;&#038;
            if (scenario === 'low-r') {
                valSpacing.innerHTML = '15 cm';
                valUsage.innerHTML = '6,7 mb/m2';
                valLoops.innerHTML = '1 stabilna pętla (134 mb)';
                valPressure.innerHTML = '15 kPa (Niskie)';
                valPressure.style.color = 'var(--rk-proj-green)';
                
                // Rzadsza wężownica w SVG
                svgPipe.setAttribute('d', 'M 15,15 L 105,15 L 105,40 L 15,40 L 15,65 L 105,65 L 105,90 L 15,90');
                svgPipe.setAttribute('stroke', '#ef4444');
            }

            if (scenario === 'high-r') {
                valSpacing.innerHTML = '10 cm (Zagęszczony)';
                valUsage.innerHTML = '10,0 mb/m2';
                valLoops.innerHTML = '2 pętle po 100 mb (Rozdział sekcji)';
                valPressure.innerHTML = '35 kPa (Krytyczne)';
                valPressure.style.color = 'var(--rk-proj-orange)';
                
                // Gęstsza wężownica w SVG
                svgPipe.setAttribute('d', 'M 15,15 L 105,15 L 105,27 L 15,27 L 15,39 L 105,39 L 105,51 L 15,51 L 15,63 L 105,63 L 105,75 L 15,75 L 15,87 L 105,87 L 105,99 L 15,99');
                svgPipe.setAttribute('stroke', 'var(--rk-proj-orange)');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-blue: #0284c7;
    --rk-err-bg-light: #f8fafc;
    --rk-err-border: #e2e8f0;
    --rk-err-text: #334155;
    --rk-err-alert: #ef4444;
    --rk-err-alert-bg: #fef2f2;
}

.rk-errors-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--rk-err-dark);
}

.rk-errors-container {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.06);
    border: 1px solid var(--rk-err-border);
    padding: 40px 50px;
    overflow: hidden;
}

/* Nagłówki */
.rk-errors-section h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-err-dark);
    margin: 0 0 10px 0;
    line-height: 1.3;
}

.rk-errors-intro {
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-err-text);
    margin-bottom: 30px;
}

.rk-errors-section h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-err-dark);
    margin: 0 0 8px 0;
}

/* Moduł Interaktywny: Diagnosta */
.rk-diagnos-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 30px;
    margin-top: 20px;
}

.rk-error-menu {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* Karta błędu jako przycisk */
.rk-error-card-btn {
    width: 100%;
    padding: 20px;
    background: var(--rk-err-bg-light);
    border: 2px solid transparent;
    border-radius: 16px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
}

.rk-error-card-btn:hover {
    background: #f1f5f9;
    border-color: #cbd5e1;
}

.rk-error-card-btn.active {
    background: var(--rk-err-alert-bg);
    border-color: var(--rk-err-alert);
}

.rk-error-card-btn p {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--rk-err-text);
}

/* Panel wizualizacji prawy */
.rk-diagnos-monitor {
    background: var(--rk-err-bg-light);
    border: 1px solid var(--rk-err-border);
    border-radius: 20px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: sticky;
    top: 20px;
    min-height: 400px;
}

.rk-monitor-svg-box {
    width: 100%;
    max-width: 240px;
    margin-bottom: 25px;
}

.rk-svg-layer {
    transition: all 0.5s ease;
}

.rk-monitor-tech-info {
    width: 100%;
    border-top: 1px dashed #cbd5e1;
    padding-top: 20px;
}

.rk-monitor-tech-info h4 {
    margin: 0 0 8px 0;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--rk-err-gray);
}

.rk-tech-value {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-err-text);
}

/* Style dla linków */
a.rk-longtail-term {
    color: var(--rk-err-blue);
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s ease;
}

a.rk-longtail-term:hover {
    text-decoration: underline;
    color: var(--rk-err-dark);
}

/* Style dla stanów animacji SVG */
.state-err1-flow { fill: #ef4444; opacity: 0.2; }
.state-err2-moisture { fill: #3b82f6; opacity: 0; transition: opacity 0.5s; }
.state-err3-gap { height: 0; fill: #64748b; transition: height 0.5s; }
.state-err4-crack { stroke: #ef4444; stroke-dasharray: 50; stroke-dashoffset: 50; transition: stroke-dashoffset 0.5s; }

/* Mobilny układ jądra komponentu */
@media (max-width: 768px) {
    .rk-errors-container { padding: 30px 20px; }
    .rk-diagnos-grid { grid-template-columns: 1fr; }
    .rk-diagnos-monitor { position: static; min-height: auto; margin-top: 20px; padding: 20px; }
    .rk-errors-section h2 { font-size: 22px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#errors-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/"
    },
    "headline": "Najczęstsze błędy wykonawcze przy doborze okładzin i podłogówki",
    "description": "Przegląd krytycznych błędów montażowych posadzki i jastrychu grzewczego. Analiza fizykalna strat ciepła oraz uszkodzeń mechanicznych.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-29",
    "dateModified": "2026-06-29"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#errors-dataset",
    "name": "Katalog fizycznych skutków błędów posadzkowych w systemach grzewczych",
    "description": "Zbiór danych technicznych definiujący wpływ braku dylatacji, stosowania pianki PE oraz braku wygrzewania jastrychu na rezystancję termiczną i naprężenia wylewek.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy montażowe ogrzewania podłogowego",
      "opór cieplny podkładu pod panele",
      "wygrzewanie jastrychu przed płytkami",
      "klejenie desek na ogrzewanie podłogowe",
      "dylatacje wylewki pod ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Obliczanie spadku gęstości strumienia przewodzenia ciepła na podstawie oporów warstwowych posadzki jastrychowej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd 1: Izolacja termiczna pianki PE na poziomie 0,08 m2K/W.",
        "Błąd 2: Wilgoć szczątkowa niszcząca spoiny i wywołująca pęcznienie drewna.",
        "Błąd 3: Poduszka powietrzna pod deskami o współczynniku przewodzenia 0,025 W/mK.",
        "Błąd 4: Krytyczne naprężenia jastrychu powyżej powierzchni 40 m2."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#errors-webapp",
    "name": "Inżynierski Diagnosta Błędów Posadzkowych",
    "description": "Aplikacja symulująca fizyczne i termiczne konsekwencje nieprawidłowego montażu warstw wierzchnich na ogrzewaniu płaszczyznowym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-errors-section">
    <div class="rk-errors-container">
        <h2>Najczęstsze błędy wykonawcze przy doborze okładzin i podłogówki</h2>
        <p class="rk-errors-intro">
            Ignorowanie zjawisk termodynamicznych i mechanicznych zachodzących w pracującej płycie grzewczej to najkrótsza droga do trwałego uszkodzenia materiałów wierzchnich oraz drastycznego ograniczenia sprawności ogrzewania. Oto szczegółowa analiza krytycznych błędów z perspektywy inżynierskiej nadzoru nad realizacją.
        </p>

        <div class="rk-diagnos-grid">
            
            <div class="rk-error-menu" id="rk-error-menu-box">
                
                <button class="rk-error-card-btn active" data-error="pe-foam">
                    <h3>Stosowanie pianki podkładowej PE (polietylenowej)</h3>
                    <p>Ułożenie paneli na zwykłej piance o grubości 3 mm blokuje strumień ciepła, ponieważ generuje ona <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/" class="rk-longtail-term">opór cieplny podkładu pod panele</a> na poziomie przekraczającym 0,08 m²K/W. Prawidłowy montaż dopuszcza wyłącznie specjalistyczny, wysokogęstościowy <a href="https://projekt-ogrzewania.pl/jakie-sa-najlepsze-sposoby-izolacji-pod-ogrzewanie-podlogowe/" class="rk-longtail-term">jaki podkład pod ogrzewanie podłogowe</a> typu PUM (poliuretanowo-mineralny).</p>
                </button>

                <button class="rk-error-card-btn" data-error="no-bake">
                    <h3>Brak wygrzewania jastrychu przed montażem okładziny</h3>
                    <p>Przystąpienie do prac bez przeprowadzenia procedury określonej normą DIN 4725 zamyka wilgoć szczątkową pod okładziną. Wstępne <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/" class="rk-longtail-term">wygrzewanie jastrychu przed płytkami</a> chroni przed sytuacją, gdy ciepło rozsadza spoiny gresu lub powoduje pęcznienie i gnicie desek.</p>
                </button>

                <button class="rk-error-card-btn" data-error="air-gaps">
                    <h3>Pozostawianie szczelin powietrznych pod deskami</h3>
                    <p>Klejenie podłóg drewnianych metodą punktową zamiast pełnego pokrycia tworzy niebezpieczne pustki. Powietrze posiada skrajnie niski <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/" class="rk-longtail-term">współczynnik przewodzenia ciepła powietrza</a> wynoszący zaledwie 0,025 W/(m·K), co zamienia szczelinę w izolator odcinający emisję termiczną.</p>
                </button>

                <button class="rk-error-card-btn" data-error="no-dilat">
                    <h3>Brak dylatacji strefowych</h3>
                    <p>Niewykonanie szczelin dylatacyjnych w progach oraz przy powierzchniach jastrychu przekraczających 40 m² uniemożliwia swobodną pracę płyty grzewczej. Efektem naprężeń termicznych jest nieuchronne <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" class="rk-longtail-term">pękanie płytek na ogrzewaniu podłogowym</a> i uszkodzenie rurociągów.</p>
                </button>

            </div>

            <div class="rk-diagnos-monitor" id="rk-diagnos-monitor">
                <div class="rk-monitor-svg-box">
                    <svg viewBox="0 0 200 200" style="width:100%; height:auto;">
                        <rect x="10" y="80" width="180" height="80" fill="#cbd5e1" rx="8"></rect>
                        <circle cx="100" cy="120" r="20" fill="#94a3b8"></circle>
                        <circle cx="100" cy="120" r="14" fill="#ef4444"></circle>
                        
                        <rect id="svg-layer-foam" x="10" y="70" width="180" height="10" fill="#94a3b8" opacity="0.3"></rect>
                        <rect x="10" y="55" width="180" height="15" fill="#475569" rx="2"></rect>
                        
                        <path id="svg-moisture" d="M30 75 Q40 65 50 75 T70 75 T90 75 T110 75 T130 75 T150 75" stroke="#3b82f6" stroke-width="3" fill="none" class="rk-svg-layer" style="opacity:0;"></path>
                        <rect id="svg-airgap" x="20" y="70" width="160" height="0" fill="#e2e8f0" class="rk-svg-layer"></rect>
                        <path id="svg-crack" d="M100 55 L105 75 L95 95 L100 115" stroke="none" stroke-width="4" fill="none" class="rk-svg-layer"></path>
                    </svg>
                </div>

                <div class="rk-monitor-tech-info">
                    <h4>Inżynierski Raport Diagnostyczny</h4>
                    <p class="rk-tech-value" id="rk-tech-text">
                        Wykryto krytyczne zaburzenie przepływu energii. Stosując nieprawidłowe materiały generujesz ogromne straty termiczne. Całkowite koszty eksploatacji rosną, ponieważ <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" class="rk-longtail-term">błędy montażowe ogrzewania podłogowego</a> zmuszają źródło ciepła do ciągłej pracy z zawyżoną temperaturą.
                    </p>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const errorButtons = document.querySelectorAll('.rk-error-card-btn');
    const techText = document.getElementById('rk-tech-text');
    
    // Elementy SVG do animacji
    const layerFoam = document.getElementById('svg-layer-foam');
    const layerMoisture = document.getElementById('svg-moisture');
    const layerAirgap = document.getElementById('svg-airgap');
    const layerCrack = document.getElementById('svg-crack');

    // Inicjalizacja domyślnego stanu dla pierwszego błędu przy starcie
    if (errorButtons.length > 0) {
        // Blok pianki PE
        layerFoam.setAttribute('fill', '#ef4444');
        layerFoam.setAttribute('opacity', '0.8');
        techText.innerHTML = 'Wykryto krytyczne zaburzenie przepływu energii. Stosując nieprawidłowe materiały generujesz ogromne straty termiczne. Całkowite koszty eksploatacji rosną, ponieważ <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" class="rk-longtail-term">błędy montażowe ogrzewania podłogowego</a> zmuszają źródło ciepła do ciągłej pracy z zawyżoną temperaturą.';
    }

    errorButtons.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Czyszczenie klas aktywności
            for (let i = 0; i < errorButtons.length; i++) {
                errorButtons[i].classList.remove('active');
            }
            this.classList.add('active');

            const errorType = this.getAttribute('data-error');

            // Resetowanie wszystkich warstw SVG przed aplikacją nowego stanu
            layerFoam.setAttribute('fill', '#94a3b8');
            layerFoam.setAttribute('opacity', '0.3');
            layerMoisture.style.opacity = '0';
            layerAirgap.setAttribute('height', '0');
            layerCrack.setAttribute('stroke', 'none');
            layerCrack.style.strokeDashoffset = '50';

            // Przypadek 1: Pianka PE
            if (errorType === 'pe-foam') {
                layerFoam.setAttribute('fill', '#ef4444');
                layerFoam.setAttribute('opacity', '0.8');
                techText.innerHTML = 'Wykryto krytyczne zaburzenie przepływu energii. Stosując nieprawidłowe materiały generujesz ogromne straty termiczne. Całkowite koszty eksploatacji rosną, ponieważ <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" class="rk-longtail-term">błędy montażowe ogrzewania podłogowego</a> zmuszają źródło ciepła do ciągłej pracy z zawyżoną temperaturą.';
            }

            // Przypadek 2: Brak wygrzewania
            if (errorType === 'no-bake') {
                layerMoisture.style.opacity = '1';
                techText.innerHTML = 'Odparowująca pod wpływem temperatury wilgoć technologiczna zostaje uwięziona pod posadzką. Ciśnienie pary niszczy kleje poliuretanowe, powodując odspajanie gresu lub gnicie, jeśli realizujesz <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" class="rk-longtail-term">klejenie desek na ogrzewanie podłogowe</a>.';
            }

            // Przypadek 3: Szczeliny powietrzne
            if (errorType === 'air-gaps') {
                layerAirgap.setAttribute('height', '8');
                layerAirgap.setAttribute('fill', '#fba5a5');
                techText.innerHTML = 'Pustki powietrzne działają jak izolator w lodówce. Brak pełnego kontaktu jastrychu z drewnem ogranicza moc grzewczą podłogi nawet o 40%. System staje się skrajnie bezwładny, wydłużając czas nagrzewania pomieszczeń do kilkunastu godzin.';
            }

            // Przypadek 4: Brak dylatacji
            if (errorType === 'no-dilat') {
                layerCrack.setAttribute('stroke', '#ef4444');
                layerCrack.style.strokeDashoffset = '0';
                techText.innerHTML = 'Brak szczelin kompensacyjnych wywołuje ogromne siły ścinające podczas rozszerzania wylewki anhydrytowej lub cementowej. Efektem końcowym jest fizyczne zniszczenie i pękanie droższych materiałów wykończeniowych. Pamiętaj, że poprawne <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" class="rk-longtail-term">dylatacje wylewki pod ogrzewanie podłogowe</a> to absolutny wymóg bezpieczeństwa konstrukcji.';
            }
        });
    });
});
</script>



<style>
:root {
    --rk-std-dark: #0f172a;
    --rk-std-blue: #0284c7;
    --rk-std-light: #f8fafc;
    --rk-std-border: #e2e8f0;
    --rk-std-text: #334155;
    --rk-std-green: #10b981;
    --rk-std-green-bg: #f0fdf4;
    --rk-std-orange: #f97316;
    --rk-std-orange-bg: #fff7ed;
    --rk-std-red: #ef4444;
}

.rk-studio-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--rk-std-dark);
}

.rk-studio-container {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.06);
    border: 1px solid var(--rk-std-border);
    padding: 40px 50px;
    overflow: hidden;
}

/* Nagłówki */
.rk-studio-section h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-std-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-studio-intro {
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-std-text);
    margin-bottom: 35px;
}

.rk-studio-section h3 {
    font-size: 19px;
    font-weight: 800;
    color: var(--rk-std-dark);
    margin: 0 0 10px 0;
}

/* Układ Studio - Horyzontalny Desktop, Wertykalny Mobile */
.rk-studio-workspace {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 30px;
    align-items: flex-start;
}

/* Lista przypadków (Lewa strona na desktopie) */
.rk-case-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-case-btn {
    background: var(--rk-std-light);
    border: 1px solid var(--rk-std-border);
    border-radius: 16px;
    padding: 16px 20px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.rk-case-btn:hover {
    border-color: #cbd5e1;
    background: #ffffff;
}

.rk-case-btn.active {
    background: #ffffff;
    border-color: var(--rk-std-blue);
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.15);
}

.rk-case-btn.active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: var(--rk-std-blue);
}

.rk-case-meta {
    font-size: 11px;
    font-weight: 800;
    color: var(--rk-std-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 5px;
    display: block;
}

.rk-case-title {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-std-dark);
    margin: 0 0 4px 0;
}

.rk-case-desc {
    font-size: 13px;
    color: #64748b;
    margin: 0;
    line-height: 1.4;
}

/* Panel Szczegółów (Prawa strona na desktopie) */
.rk-case-details {
    background: #ffffff;
    border: 1px solid var(--rk-std-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

/* Akordeon ukryty na desktopie */
.rk-mobile-accordion-content {
    display: block; /* Na desktopie kontent jest w prawym panelu, ale na mobile przenosimy go w DOMie lub ukrywamy. Tutaj zrobimy hybrydę przez JS/CSS */
}

.rk-case-header {
    border-bottom: 1px dashed var(--rk-std-border);
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.rk-case-header h3 {
    font-size: 22px;
    color: var(--rk-std-blue);
}

.rk-case-story {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-std-text);
    margin-bottom: 25px;
}

/* Grafika i Statystyki wewnątrz detali */
.rk-case-data-grid {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 25px;
    align-items: center;
    background: var(--rk-std-light);
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-std-border);
}

.rk-case-svg {
    width: 100%;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid var(--rk-std-border);
    padding: 10px;
}

.rk-case-stats {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-stat-row {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e2e8f0;
}

.rk-stat-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.rk-stat-label {
    color: #64748b;
    font-weight: 600;
}

.rk-stat-val {
    font-weight: 900;
    color: var(--rk-std-dark);
}

/* Linki wewnętrzne */
a.rk-inline-link {
    color: var(--rk-std-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-std-blue);
    transition: color 0.2s ease;
}

a.rk-inline-link:hover {
    color: var(--rk-std-dark);
    border-bottom-color: var(--rk-std-dark);
}

/* Mobile: Układ pionowy akordeonowy (przyciski nie obok siebie, tylko w stosie) */
.rk-mobile-panel {
    display: none; /* Domyślnie ukryty kontener dla widoku mobilnego wewnątrz przycisku */
}

@media (max-width: 768px) {
    .rk-studio-container { padding: 30px 20px; }
    .rk-studio-workspace { grid-template-columns: 1fr; gap: 0; }
    
    /* Ukrywamy główny prawy panel na mobile */
    .rk-desktop-panel { display: none; }
    
    /* Przyciski stają się sekcjami akordeonu */
    .rk-case-btn {
        border-radius: 12px;
        margin-bottom: 12px;
        padding: 20px;
    }
    
    .rk-case-btn.active {
        border-radius: 12px;
        border-color: var(--rk-std-blue);
    }
    
    /* Pokazujemy kontent wewnątrz aktywnego przycisku na mobile */
    .rk-mobile-panel {
        display: none; /* Ukryte dopóki rodzic nie ma klasy active */
        margin-top: 20px;
        padding-top: 20px;
        border-top: 1px dashed var(--rk-std-border);
        cursor: default; /* Wyłącza kursor łapki dla tekstu */
    }
    
    .rk-case-btn.active .rk-mobile-panel {
        display: block;
    }
    
    .rk-case-data-grid {
        grid-template-columns: 1fr;
        padding: 15px;
    }
    
    .rk-case-svg { max-width: 220px; margin: 0 auto; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#studio-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/"
    },
    "headline": "Studium Przypadków: Realni inwestorzy, różne okładziny, inżynierskie fakty",
    "description": "Zbiór 4 realnych studiów przypadku inwestorów z Polski (Wrocław, Gdańsk, Zakopane, Warszawa) ilustrujących wpływ gresu, paneli, drewna i dywanów na wydajność podłogówki.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-29",
    "dateModified": "2026-06-29"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#studio-dataset",
    "name": "Analiza Porównawcza: Obciążenia Cieplne i Rozstaw Rur 2026",
    "description": "Baza danych symulacyjnych określająca optymalny rozstaw rur, szacowany opór cieplny (R) oraz przewidywane zużycie energii dla domów nowo budowanych w różnych regionach Polski.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego z pompą ciepła",
      "układanie rur w ogrzewaniu podłogowym",
      "ogrzewanie podłogowe a meble",
      "kalkulator strat ciepła budynku",
      "wydajność podłogówki z gresem"
    ],
    "measurementTechnique": "Algorytmiczna analiza zapotrzebowania cieplnego budynków na podstawie uśrednionych standardów izolacyjności WT2021 z uwzględnieniem lokalnych stref klimatycznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Studium 1 (Gres, Wrocław): R=0,01 m2K/W, Rozstaw 15 cm.",
        "Studium 2 (Winylowe LVT, Gdańsk): R=0,03 m2K/W, Rozstaw 10-15 cm.",
        "Studium 3 (Deska, Zakopane): R=0,11 m2K/W, Rozstaw zagęszczony 10 cm.",
        "Studium 4 (Dywan, Warszawa): R=0,15 m2K/W, Zablokowana emisja, wzrost Delta T."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#studio-webapp",
    "name": "Edukacyjne Studio Przypadków Instalacyjnych",
    "description": "Responsywna aplikacja pozwalająca na interaktywne przełączanie scenariuszy inwestycyjnych celem analizy wpływu okładzin na wydajność pompy ciepła i ergonomię wylewki.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-studio-section">
    <div class="rk-studio-container">
        
        <h2>Studio Przypadków: Decyzje wykończeniowe z życia wzięte</h2>
        <p class="rk-studio-intro">
            Praktyka inżynierska pokazuje, że teoria to jedno, a realne domy to drugie. Przeanalizujmy cztery typowe scenariusze z naszych tegorocznych projektów z całej Polski. Zobacz, jak wytyczne inwestorów dotyczące podłóg zmieniły całkowicie parametry naszych instalacji.
        </p>

        <div class="rk-studio-workspace">
            
            <div class="rk-case-list" id="rk-case-list">
                
                <div class="rk-case-btn active" data-case="gres">
                    <span class="rk-case-meta">Scenariusz 1 • Płytki / Gres</span>
                    <h3 class="rk-case-title">Michał, Wrocław (140 m²)</h3>
                    <p class="rk-case-desc">Nowy dom z pompą ciepła. Salon i kuchnia w gresie.</p>
                    <div class="rk-mobile-panel"></div> </div>

                <div class="rk-case-btn" data-case="vinyl">
                    <span class="rk-case-meta">Scenariusz 2 • Winylowe LVT</span>
                    <h3 class="rk-case-title">Anna i Tomasz, Gdańsk (120 m²)</h3>
                    <p class="rk-case-desc">Otwarta strefa dzienna, cienkie panele na klik + podkład PUM.</p>
                    <div class="rk-mobile-panel"></div>
                </div>

                <div class="rk-case-btn" data-case="wood">
                    <span class="rk-case-meta">Scenariusz 3 • Deska Trójwarstwowa</span>
                    <h3 class="rk-case-title">Krzysztof, Zakopane (180 m²)</h3>
                    <p class="rk-case-desc">Klimatyczny dom u podnóża Tatr, w całości drewno klejone.</p>
                    <div class="rk-mobile-panel"></div>
                </div>

                <div class="rk-case-btn" data-case="carpet">
                    <span class="rk-case-meta">Scenariusz 4 • Grube Wykładziny</span>
                    <h3 class="rk-case-title">Ewa, Warszawa (160 m²)</h3>
                    <p class="rk-case-desc">Adaptacja poddasza użytkowego na strefy sypialniane.</p>
                    <div class="rk-mobile-panel"></div>
                </div>

            </div>

            <div class="rk-desktop-panel">
                <div class="rk-case-details" id="rk-desktop-content">
                    </div>
            </div>

        </div>

    </div>
</div>

<div id="rk-case-data-store" style="display: none;">
    
    <div id="data-gres">
        <div class="rk-case-header">
            <h3>Michał z Wrocławia – Idealna symbioza</h3>
        </div>
        <p class="rk-case-story">
            Michał buduje nowoczesny dom o powierzchni 140 m². Zaplanował jednorodne płytki gresowe w całej strefie dziennej. Jako inżynier wiedziałem od razu, że to sytuacja modelowa. Przygotowując <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/" class="rk-inline-link">projekt ogrzewania z pompą ciepła</a>, mogliśmy zastosować standardowy, ekonomiczny rozstaw pętli. Niska barierowość płytek sprawia, że wylewka momentalnie przekazuje ciepło do pomieszczenia.
        </p>
        <div class="rk-case-data-grid">
            <div class="rk-case-svg">
                <svg viewBox="0 0 100 100">
                    <rect x="10" y="60" width="80" height="30" fill="#cbd5e1" rx="2"></rect>
                    <circle cx="50" cy="75" r="10" fill="#ef4444"></circle>
                    <rect x="10" y="50" width="80" height="10" fill="#94a3b8"></rect>
                    <path d="M 30,45 L 30,15 M 50,45 L 50,5 M 70,45 L 70,15" stroke="#10b981" stroke-width="4" stroke-linecap="round"></path>
                    <polygon points="25,20 30,10 35,20" fill="#10b981"></polygon>
                    <polygon points="45,15 50,5 55,15" fill="#10b981"></polygon>
                    <polygon points="65,20 70,10 75,20" fill="#10b981"></polygon>
                </svg>
            </div>
            <div class="rk-case-stats">
                <div class="rk-stat-row"><span class="rk-stat-label">Opór cieplny (R):</span><span class="rk-stat-val" style="color: var(--rk-std-green);">0,012 m²K/W</span></div>
                <div class="rk-stat-row"><span class="rk-stat-label">Zaprojektowany rozstaw rur:</span><span class="rk-stat-val">15 cm</span></div>
                <div class="rk-stat-row"><span class="rk-stat-label">Wpływ na pompę ciepła:</span><span class="rk-stat-val">Maksymalny SCOP</span></div>
                <div class="rk-stat-row"><span class="rk-stat-label">Wymagane zasilanie:</span><span class="rk-stat-val">~32°C (Niskie)</span></div>
            </div>
        </div>
    </div>

    <div id="data-vinyl">
        <div class="rk-case-header">
            <h3>Anna i Tomasz z Gdańska – Kompromis na "Klik"</h3>
        </div>
        <p class="rk-case-story">
            Inwestorzy z Gdańska marzyli o ciepłej fakturze drewna, ale obawiali się wysokich kosztów eksploatacji. Zaproponowałem cienkie panele winylowe LVT układane pływająco na dedykowanej macie kwarcowej. Przy analizie <a href="https://projekt-ogrzewania.pl/jak-ukladac-rury-w-ogrzewaniu-slimak-meander-czy-podwojny-meander/" class="rk-inline-link">układania rur w wężownice ślimakowe</a> musieliśmy lekko zagęścić rury pod dużymi przeszkleniami (do 10 cm), jednak w głębi salonu 15 cm wystarczyło do zapewnienia komfortu cieplnego.
        </p>
        <div class="rk-case-data-grid">
            <div class="rk-case-svg">
                <svg viewBox="0 0 100 100">
                    <rect x="10" y="60" width="80" height="30" fill="#cbd5e1" rx="2"></rect>
                    <circle cx="50" cy="75" r="10" fill="#ef4444"></circle>
                    <rect x="10" y="55" width="80" height="5" fill="#fcd34d"></rect> <rect x="10" y="50" width="80" height="5" fill="#8b5cf6"></rect> <path d="M 30,45 L 30,25 M 50,45 L 50,15 M 70,45 L 70,25" stroke="#f59e0b" stroke-width="4" stroke-linecap="round"></path>
                    <polygon points="25,30 30,20 35,30" fill="#f59e0b"></polygon>
                    <polygon points="45,20 50,10 55,20" fill="#f59e0b"></polygon>
                    <polygon points="65,30 70,20 75,30" fill="#f59e0b"></polygon>
                </svg>
            </div>
            <div class="rk-case-stats">
                <div class="rk-stat-row"><span class="rk-stat-label">Opór cieplny (R z matą):</span><span class="rk-stat-val" style="color: var(--rk-std-orange);">0,035 m²K/W</span></div>
                <div class="rk-stat-row"><span class="rk-stat-label">Zaprojektowany rozstaw rur:</span><span class="rk-stat-val">10 / 15 cm (Mieszany)</span></div>
                <div class="rk-stat-row"><span class="rk-stat-label">Wpływ na pompę ciepła:</span><span class="rk-stat-val">Optymalny</span></div>
                <div class="rk-stat-row"><span class="rk-stat-label">Wymagane zasilanie:</span><span class="rk-stat-val">~35°C</span></div>
            </div>
        </div>
    </div>

    <div id="data-wood">
        <div class="rk-case-header">
            <h3>Krzysztof z Zakopanego – Twarde warunki, gruba deska</h3>
        </div>
        <p class="rk-case-story">
            Budowa w III strefie klimatycznej u podnóża Tatr (180 m²). Krzysztof od początku upierał się przy klejonej desce dębowej (14 mm). Musieliśmy dokładnie przemyśleć <a href="https://projekt-ogrzewania.pl/wodne-ogrzewanie-podlogowe-a-meble-jak-polaczyc-komfort-i-aranzacje/" class="rk-inline-link">projekt podłogówki a ustawienie ciężkich mebli</a>. Ze względu na izolacyjne właściwości drewna, rozstaw rur w całym domu zmniejszono do 10 cm. Wymusiło to dodanie drugiego rozdzielacza i sprzęgła hydraulicznego do obsługi większych przepływów.
        </p>
        <div class="rk-case-data-grid">
            <div class="rk-case-svg">
                <svg viewBox="0 0 100 100">
                    <rect x="10" y="60" width="80" height="30" fill="#cbd5e1" rx="2"></rect>
                    <circle cx="30" cy="75" r="8" fill="#ef4444"></circle> <circle cx="50" cy="75" r="8" fill="#ef4444"></circle>
                    <circle cx="70" cy="75" r="8" fill="#ef4444"></circle>
                    <rect x="10" y="55" width="80" height="5" fill="#f59e0b"></rect> <rect x="10" y="40" width="80" height="15" fill="#b45309" rx="1"></rect> <path d="M 30,35 L 30,25 M 50,35 L 50,20 M 70,35 L 70,25" stroke="#ef4444" stroke-width="3" stroke-linecap="round"></path>
                    <polygon points="26,28 30,20 34,28" fill="#ef4444"></polygon>
                    <polygon points="46,23 50,15 54,23" fill="#ef4444"></polygon>
                    <polygon points="66,28 70,20 74,28" fill="#ef4444"></polygon>
                </svg>
            </div>
            <div class="rk-case-stats">
                <div class="rk-stat-row"><span class="rk-stat-label">Opór cieplny (R z klejem):</span><span class="rk-stat-val" style="color: var(--rk-std-red);">0,110 m²K/W</span></div>
                <div class="rk-stat-row"><span class="rk-stat-label">Zaprojektowany rozstaw rur:</span><span class="rk-stat-val">10 cm (Zagęszczony)</span></div>
                <div class="rk-stat-row"><span class="rk-stat-label">Zużycie rurociągu:</span><span class="rk-stat-val">10 mb / m²</span></div>
                <div class="rk-stat-row"><span class="rk-stat-label">Wymagane zasilanie:</span><span class="rk-stat-val">~40°C (Wysokie)</span></div>
            </div>
        </div>
    </div>

    <div id="data-carpet">
        <div class="rk-case-header">
            <h3>Ewa z Warszawy – Odcięcie izolacyjne na poddaszu</h3>
        </div>
        <p class="rk-case-story">
            Ewa adaptowała poddasze (160 m²) z myślą o przytulnych sypialniach. Decyzja padła na grube, puszyste wykładziny dywanowe. Z uwagi na wysoki opór cieplny materiału (powyżej 0,15 m²K/W), wylewka betonowa została niemal całkowicie zaizolowana od góry. Przeprowadzając <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/" class="rk-inline-link">kalkulacje strat ciepła budynku</a>, musieliśmy zastosować pętle meandrowe na ściśle wydzielonych strefach i przygotować inwestorkę na fakt, że płyta jastrychowa będzie musiała utrzymywać wyższe parametry termiczne.
        </p>
        <div class="rk-case-data-grid">
            <div class="rk-case-svg">
                <svg viewBox="0 0 100 100">
                    <rect x="10" y="60" width="80" height="30" fill="#cbd5e1" rx="2"></rect>
                    <circle cx="50" cy="75" r="10" fill="#ef4444"></circle>
                    <rect x="10" y="40" width="80" height="20" fill="#64748b" rx="3"></rect> <path d="M 50,35 L 50,25" stroke="#64748b" stroke-width="2" stroke-linecap="round"></path>
                    <polygon points="47,28 50,20 53,28" fill="#64748b"></polygon>
                </svg>
            </div>
            <div class="rk-case-stats">
                <div class="rk-stat-row"><span class="rk-stat-label">Opór cieplny (R):</span><span class="rk-stat-val" style="color: var(--rk-std-red);">> 0,150 m²K/W (Krytyczny)</span></div>
                <div class="rk-stat-row"><span class="rk-stat-label">Status normy PN-EN 1264:</span><span class="rk-stat-val">Na granicy akceptacji</span></div>
                <div class="rk-stat-row"><span class="rk-stat-label">Reakcja automatyki:</span><span class="rk-stat-val">Ogromna bezwładność</span></div>
                <div class="rk-stat-row"><span class="rk-stat-label">Wymagane zasilanie:</span><span class="rk-stat-val">~43°C (Bardzo wysokie)</span></div>
            </div>
        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const caseButtons = document.querySelectorAll('.rk-case-btn');
    const desktopPanel = document.getElementById('rk-desktop-content');
    
    // Obiekt przechowujący logikę aktualizacji na podstawie szerokości okna
    function renderCase(caseId, buttonElement) {
        const rawContent = document.getElementById('data-' + caseId).innerHTML;
        
        const isMobile = window.innerWidth <= 768;

        if (isMobile) {
            // Na mobile: chowamy zawartość we wszystkich innych, pokazujemy w klikniętym
            const allMobilePanels = document.querySelectorAll('.rk-mobile-panel');
            for (let i = 0; i < allMobilePanels.length; i++) {
                allMobilePanels[i].innerHTML = ''; // czyszczenie
            }
            
            const targetMobilePanel = buttonElement.querySelector('.rk-mobile-panel');
            if (targetMobilePanel) {
                targetMobilePanel.innerHTML = rawContent;
            }
        } else {
            // Na desktop: Wrzucamy do prawego panelu głównego
            if (desktopPanel) {
                desktopPanel.innerHTML = rawContent;
            }
        }
    }

    // Dodawanie eventów
    caseButtons.forEach(function(btn) {
        btn.addEventListener('click', function(e) {
            // Zapobieganie podwójnemu wywołaniu kliknięcia, jeśli klikniemy w kontent wewnątrz
            if (e.target.closest('.rk-mobile-panel')) {
                return; 
            }

            // Bezpieczne usuwanie klas active z przycisków (brak &#038;&#038;)
            for (let i = 0; i < caseButtons.length; i++) {
                caseButtons[i].classList.remove('active');
            }
            
            this.classList.add('active');
            
            const caseId = this.getAttribute('data-case');
            renderCase(caseId, this);
        });
    });

    // Inicjalizacja domyślnego widoku przy ładowaniu strony (wymuszamy klik na aktywny)
    let activeFound = false;
    for (let i = 0; i < caseButtons.length; i++) {
        if (caseButtons[i].classList.contains('active')) {
            renderCase(caseButtons[i].getAttribute('data-case'), caseButtons[i]);
            activeFound = true;
        }
    }
    
    // Fallback jeśli żaden nie ma klasy active
    if (!activeFound) {
        if (caseButtons.length > 0) {
            caseButtons[0].classList.add('active');
            renderCase(caseButtons[0].getAttribute('data-case'), caseButtons[0]);
        }
    }

    // Przerysowanie przy zmianie orientacji okna (resize)
    window.addEventListener('resize', function() {
        for (let i = 0; i < caseButtons.length; i++) {
            if (caseButtons[i].classList.contains('active')) {
                renderCase(caseButtons[i].getAttribute('data-case'), caseButtons[i]);
            }
        }
    });
});
</script>



<style>
:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-blue: #0284c7;
    --rk-auth-light: #f8fafc;
    --rk-auth-border: #e2e8f0;
    --rk-auth-text: #334155;
    --rk-auth-gold: #b45309;
    --rk-auth-gold-bg: #fef3c7;
    --rk-auth-green: #15803d;
}

.rk-author-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--rk-auth-dark);
}

.rk-author-container {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.08);
    border: 1px solid var(--rk-auth-border);
    padding: 40px 50px;
    overflow: hidden;
}

/* Nagłówki */
.rk-author-section h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    margin: 0 0 25px 0;
    line-height: 1.3;
    border-bottom: 3px solid var(--rk-auth-blue);
    display: inline-block;
    padding-bottom: 10px;
}

.rk-author-section h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-auth-dark);
    margin: 0 0 15px 0;
}

.rk-author-section h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-auth-dark);
    margin: 0 0 10px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Układ główny: Profil Lewo, Interakcja Prawo */
.rk-author-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: stretch;
}

/* Karta Autora */
.rk-profile-card {
    background: var(--rk-auth-light);
    border: 1px solid var(--rk-auth-border);
    border-radius: 20px;
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-profile-img {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}

.rk-profile-name {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    margin: 0 0 5px 0;
}

.rk-profile-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-auth-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 20px 0;
}

.rk-social-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.rk-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid var(--rk-auth-border);
    color: var(--rk-auth-text);
}

.rk-social-btn:hover {
    border-color: var(--rk-auth-blue);
    color: var(--rk-auth-blue);
}

/* Panel Decyzyjny (Interaktywny) */
.rk-decision-panel {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-decision-selectors {
    display: flex;
    gap: 15px;
}

.rk-dec-btn {
    flex: 1;
    padding: 18px;
    border: 2px solid var(--rk-auth-border);
    border-radius: 12px;
    background: #ffffff;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-auth-text);
    cursor: pointer;
    text-align: center;
}

/* Stany aktywne (BEZ ANIMACJI ZGODNIE Z ŻYCZENIEM) */
.rk-dec-btn.active[data-choice="gres"] {
    background: #f0fdf4;
    border-color: var(--rk-auth-green);
    color: var(--rk-auth-green);
}

.rk-dec-btn.active[data-choice="wood"] {
    background: var(--rk-auth-gold-bg);
    border-color: var(--rk-auth-gold);
    color: var(--rk-auth-gold);
}

/* Obszar Cytatu */
.rk-quote-box {
    background: #ffffff;
    border-left: 6px solid var(--rk-auth-blue);
    padding: 25px;
    border-radius: 0 16px 16px 0;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
    border-top: 1px solid var(--rk-auth-border);
    border-right: 1px solid var(--rk-auth-border);
    border-bottom: 1px solid var(--rk-auth-border);
}

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

/* Dynamiczny raport inżynierski */
.rk-dynamic-report {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    background: var(--rk-auth-light);
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-auth-border);
}

.rk-report-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rk-report-label {
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
}

.rk-report-val {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-auth-dark);
}

/* Linki wewnętrzne długiego ogona */
a.rk-longtail-link {
    color: var(--rk-auth-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-auth-blue);
}

a.rk-longtail-link:hover {
    color: var(--rk-auth-dark);
    border-bottom-color: var(--rk-auth-dark);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-author-container { padding: 30px 20px; }
    .rk-author-grid { grid-template-columns: 1fr; gap: 30px; }
    .rk-decision-selectors { flex-direction: column; }
    .rk-dynamic-report { grid-template-columns: 1fr; }
    .rk-author-section h2 { font-size: 24px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#expert-summary",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/"
    },
    "headline": "Podsumowanie eksperta: Wybór okładziny a koszty ogrzewania",
    "description": "Ostateczna, inżynierska opinia Roberta Kucharskiego na temat wyboru gresu lub drewna na ogrzewanie podłogowe oraz wpływu decyzji na projekt instalacji.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-29",
    "dateModified": "2026-06-29"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#expert-dataset",
    "name": "Zestawienie końcowe: Wpływ wykończenia na efektywność SCOP 2026",
    "description": "Porównanie finalnych parametrów eksploatacyjnych pompy ciepła w zależności od wyboru mineralnego lub drewnopochodnego pokrycia posadzki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podsumowanie doboru okładzin na ogrzewanie",
      "ogrzewanie podłogowe jako jedyne źródło ciepła",
      "wady wodnego ogrzewania podłogowego",
      "wydajność pompy ciepła a gres",
      "wpływ podłogówki na wilgotność"
    ],
    "measurementTechnique": "Ekspercka analiza porównawcza parametrów termodynamicznych jastrychu na podstawie wieloletniego nadzoru nad projektami instalacji sanitarnych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Scenariusz optymalny: Gres. Wzrost SCOP, temperatura zasilania poniżej 35 stopni Celsjusza.",
        "Scenariusz wymagający: Drewno. Spadek efektywności, konieczność zagęszczenia rur, wyższa temperatura zasilania."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#expert-webapp",
    "name": "Asystent Decyzji Inwestycyjnej Głównego Projektanta",
    "description": "Interaktywny panel ułatwiający podjęcie ostatecznej decyzji wykończeniowej poprzez generowanie autorskiej rekomendacji w oparciu o wybór materiału.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-author-section">
    <div class="rk-author-container">
        
        <h2>Podsumowanie eksperta: Zdaniem Roberta Kucharskiego...</h2>
        
        <div class="rk-author-grid">
            
            <div class="rk-profile-card">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Główny Projektant Instalacji" class="rk-profile-img">
                <h3 class="rk-profile-name">Robert Kucharski</h3>
                <p class="rk-profile-title">CEO PORTALU</p>
                
                <div class="rk-social-links">
                    <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-social-btn">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                        Projekt Ogrzewania
                    </a>
                    <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-social-btn">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
                        Profil LinkedIn
                    </a>
                </div>
            </div>

            <div class="rk-decision-panel">
                <h4>Ostateczna decyzja, która zmienia projekt</h4>
                <div class="rk-decision-selectors">
                    <button class="rk-dec-btn active" data-choice="gres">Wybieram Gres / Kamień</button>
                    <button class="rk-dec-btn" data-choice="wood">Wybieram Deskę / Panele</button>
                </div>

                <div class="rk-quote-box">
                    <p class="rk-quote-text" id="expert-quote-text">
                        "Wybór gresu to decyzja inżynieryjnie bezbłędna. Gwarantuje ona bezproblemową, niskotemperaturową pracę systemu, umożliwiając pompie ciepła generowanie mocy z najwyższym możliwym parametrem SCOP. To jedyny wariant, gdzie <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/" class="rk-longtail-link">ogrzewanie podłogowe jako jedyne źródło ciepła</a> sprawdzi się bez konieczności drastycznego przewymiarowania instalacji."
                    </p>
                    <strong style="color: var(--rk-auth-dark); font-size: 15px;">— R. Kucharski</strong>
                </div>

                <div class="rk-dynamic-report">
                    <div class="rk-report-item">
                        <span class="rk-report-label">Wymagania dla projektu:</span>
                        <span class="rk-report-val" id="expert-val-design" style="color: var(--rk-auth-green);">Standardowe ułożenie rur</span>
                    </div>
                    <div class="rk-report-item">
                        <span class="rk-report-label">Ryzyko inwestycyjne:</span>
                        <span class="rk-report-val" id="expert-val-risk">Brak ryzyka niedogrzania</span>
                    </div>
                </div>

            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const decButtons = document.querySelectorAll('.rk-dec-btn');
    const quoteText = document.getElementById('expert-quote-text');
    const valDesign = document.getElementById('expert-val-design');
    const valRisk = document.getElementById('expert-val-risk');

    decButtons.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Natychmiastowe czyszczenie klas bez pętli i animacji
            for (let i = 0; i < decButtons.length; i++) {
                decButtons[i].classList.remove('active');
            }
            this.classList.add('active');

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

            // Hard switch - bez płynnych przejść (zgodnie z "nie dawaj animacji")
            if (choice === 'gres') {
                quoteText.innerHTML = '"Wybór gresu to decyzja inżynieryjnie bezbłędna. Gwarantuje ona bezproblemową, niskotemperaturową pracę systemu, umożliwiając pompie ciepła generowanie mocy z najwyższym możliwym parametrem SCOP. To jedyny wariant, gdzie <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/" class="rk-longtail-link">ogrzewanie podłogowe jako jedyne źródło ciepła</a> sprawdzi się bez konieczności drastycznego przewymiarowania instalacji."';
                
                valDesign.innerHTML = 'Standardowe ułożenie rur (np. co 15 cm)';
                valDesign.style.color = 'var(--rk-auth-green)';
                
                valRisk.innerHTML = 'Brak ryzyka niedogrzania';
            }

            if (choice === 'wood') {
                quoteText.innerHTML = '"Deska czy grube panele to najczęstsze <a href="https://projekt-ogrzewania.pl/wady-wodnego-ogrzewania-podlogowego-na-co-zwrocic-uwage-przed-instalacja/" class="rk-longtail-link">wady wodnego ogrzewania podłogowego</a> na etapie wykończenia. Wymagają one rygorystycznego reżimu wykonawczego. Ich opór cieplny wymusza na nas zagęszczenie rur grzewczych już w projekcie oraz podniesienie temperatury zasilania. Pamiętaj też o nawilżaczach, bo <a href="https://projekt-ogrzewania.pl/jak-ogrzewanie-podlogowe-wplywa-na-wilgotnosc-powietrza-w-domu/" class="rk-longtail-link">wpływ podłogówki na wilgotność</a> przy drewnie bywa bezlitosny."';
                
                valDesign.innerHTML = 'Konieczne zagęszczenie pętli (np. co 10 cm)';
                valDesign.style.color = 'var(--rk-auth-gold)';
                
                valRisk.innerHTML = 'Ryzyko rozsychania posadzki i wysokich rachunków';
            }
        });
    });
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-blue: #0284c7;
    --rk-faq-light: #f8fafc;
    --rk-faq-blue-light: #f0f9ff;
    --rk-faq-border: #e2e8f0;
    --rk-faq-text: #334155;
    --rk-faq-success: #10b981;
}

.rk-faq-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--rk-faq-dark);
}

.rk-faq-box {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.08);
    border: 1px solid var(--rk-faq-border);
    padding: 40px 50px;
    overflow: hidden;
}

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

.rk-faq-intro {
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-faq-text);
    margin-bottom: 30px;
}

/* System Akordeonowy */
.rk-accordion-wrapper {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rk-accordion-item {
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    background: var(--rk-faq-light);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.rk-accordion-item:hover {
    border-color: #cbd5e1;
    background: #ffffff;
}

.rk-accordion-item.active {
    border-color: var(--rk-faq-blue);
    background: #ffffff;
    box-shadow: 0 10px 25px -10px rgba(2, 132, 199, 0.15);
}

.rk-accordion-trigger {
    width: 100%;
    padding: 24px;
    background: transparent;
    border: none;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.rk-accordion-trigger h3 {
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-faq-dark);
    margin: 0;
    line-height: 1.4;
}

.rk-accordion-icon {
    width: 24px;
    height: 24px;
    color: var(--rk-faq-gray);
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.rk-accordion-item.active .rk-accordion-icon {
    transform: rotate(180deg);
    color: var(--rk-faq-blue);
}

.rk-accordion-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-accordion-content {
    padding: 0 24px 24px 24px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-faq-text);
    border-top: 1px solid transparent;
}

.rk-accordion-item.active .rk-accordion-content {
    border-top-color: var(--rk-faq-border);
}

/* Wewnętrzne wyróżnienia i frazy kluczowe */
.rk-faq-inline-box {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    background: var(--rk-faq-blue-light);
    padding: 16px;
    border-radius: 12px;
    margin-top: 12px;
    border: 1px solid rgba(2, 132, 199, 0.1);
}

.rk-faq-inline-box svg {
    width: 20px;
    height: 20px;
    color: var(--rk-faq-blue);
    flex-shrink: 0;
    margin-top: 2px;
}

.rk-faq-inline-box p {
    margin: 0;
    font-size: 14px;
    color: #0369a1;
    font-weight: 600;
}

/* Zmodyfikowana klasa dla linków */
a.rk-longtail-term {
    color: var(--rk-faq-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-faq-blue);
    transition: color 0.2s ease, border-bottom-color 0.2s ease;
}

a.rk-longtail-term:hover {
    color: var(--rk-faq-dark);
    border-bottom-color: var(--rk-faq-dark);
}

/* Responsywność mobilna */
@media (max-width: 768px) {
    .rk-faq-box { padding: 30px 20px; }
    .rk-accordion-trigger { padding: 20px; }
    .rk-accordion-content { padding: 0 20px 20px 20px; }
    .rk-faq-section h2 { font-size: 22px; }
    .rk-accordion-trigger h3 { font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#faq-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/"
    },
    "headline": "FAQ – Najczęściej zadawane pytania o wpływ okładzin na ogrzewanie podłogowe",
    "description": "Profesjonalne odpowiedzi inżynierskie dotyczące doboru dywanów, paneli, drewna oraz podkładów na instalację ogrzewania podłogowego.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-29",
    "dateModified": "2026-06-29"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#faq-dataset",
    "name": "Zbiór granicznych kryteriów termicznych dla okładzin wierzchnich",
    "description": "Strukturalna baza danych definiująca dopuszczalny opór cieplny (R), normatywne temperatury jastrychu oraz grubości podkładów kwarcowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "opór cieplny dywanu na podłogówce",
      "jakie panele laminowane na ogrzewanie podłogowe",
      "najlepsza okładzina na ogrzewanie podłogowe",
      "montaż desek drewnianych na ogrzewaniu podłogowym",
      "jaki podkład pod panele winylowe lvt"
    ],
    "measurementTechnique": "Określenie krytycznych barier termoizolacyjnych na podstawie wytycznych normy PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Granica rezystancji termicznej: 0,15 m2K/W",
        "Maksymalny opór panela laminowanego: 0,08 m2K/W",
        "Optymalny opór podkładu kwarcowego: 0,004 do 0,01 m2K/W"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#faq-webapp",
    "name": "Narzędzie Weryfikacji Kryteriów Wykonawczych Posadzki",
    "description": "Interaktywny system weryfikacji zgodności specyfikacji materiałowej z fizycznymi założeniami hydraulicznymi instalacji płaszczyznowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#faq-schema",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy na ogrzewaniu podłogowym można położyć gruby perski dywan?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie zaleca się stosowania grubych dywanów na ogrzewaniu podłogowym, ponieważ ich opór cieplny przekracza dopuszczalne 0,15 m²K/W, co działa jak izolator termiczny. Skutkuje to zablokowaniem emisji ciepła, miejscowym przegrzewaniem wylewki i drastycznym spadkiem sprawności źródła ciepła."
        }
      },
      {
        "@type": "Question",
        "name": "Jak sprawdzić, czy panele laminowane nadają się na ogrzewanie podłogowe?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Należy zweryfikować specyfikację techniczną produktu i szukać normy EN 14041 oraz piktogramu z symbolem wężownicy grzewczej na opakowaniu. Kluczowym warunkiem jest, aby opór cieplny R samego panela nie przekraczał wartości 0,08 m²K/W."
        }
      },
      {
        "@type": "Question",
        "name": "Która okładzina najlepiej przewodzi ciepło i zapewnia najniższe rachunki?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Najbardziej efektywnym materiałem są płytki gresowe, ceramiczne oraz kamień naturalny, posiadające najniższy opór cieplny (0,01-0,02 m²K/W). Pozwalają one na pracę źródła ciepła na najniższej temperaturze zasilania, co podnosi COP pompy ciepła o około 15-20%."
        }
      },
      {
        "@type": "Question",
        "name": "Czy można montować drewniane deski na podłogówkę metodą pływającą?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, naturalne drewno montowane na ogrzewaniu podłogowym musi być bezwzględnie klejone do jastrychu za pomocą elastycznego kleju silanowego. Montaż pływający tworzy poduszkę powietrzną, która blokuje przepływ ciepła i powoduje paczenie się drewna pod wpływem zmian temperatur."
        }
      },
      {
        "@type": "Question",
        "name": "Jaki podkład pod panele winylowe wybrać przy ogrzewaniu płaszczyznowym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Należy stosować wyłącznie specjalistyczne podkłady kwarcowe o wysokiej gęstości (PUM) o grubości od 1 do 1,5 mm. Ich opór cieplny wynosi zaledwie 0,004 - 0,01 m²K/W, co zapewnia stabilność mechaniczną zamków paneli bez blokowania strumienia ciepła."
        }
      }
    ]
  }
]
</script>

<div class="rk-faq-section">
    <div class="rk-faq-box">
        <h2>FAQ – Najczęściej zadawane pytania o ogrzewanie podłogowe a podłogi</h2>
        <p class="rk-faq-intro">Odpowiedzi na kluczowe dylematy inwestorów poszukujących kompromisu pomiędzy estetyką wykończenia a maksymalną sprawnością energetyczną instalacji.</p>

        <div class="rk-accordion-wrapper">
            
            <div class="rk-accordion-item">
                <button class="rk-accordion-trigger">
                    <h3>Czy na ogrzewaniu podłogowym można położyć gruby perski dywan?</h3>
                    <svg class="rk-accordion-icon" 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>
                </button>
                <div class="rk-accordion-panel">
                    <div class="rk-accordion-content">
                        Nie zaleca się stosowania grubych dywanów na ogrzewaniu podłogowym, ponieważ analizując <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/" class="rk-longtail-term">opór cieplny dywanu na podłogówce</a>, przekracza on dopuszczalne normowo 0,15 m²K/W, co działa jak silny izolator termiczny. Skutkuje to zablokowaniem emisji ciepła, miejscowym przegrzewaniem wylewki jastrychowej i drastycznym spadkiem sprawności urządzenia grzewczego.
                        <div class="rk-faq-inline-box">
                            <svg 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><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                            <p>Konsekwencja: Zaburzenie bilansu pętli i sztuczne zawyżenie parametru jakim jest temperatura zasilania ogrzewania podłogowego.</p>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-accordion-item">
                <button class="rk-accordion-trigger">
                    <h3>Jak sprawdzyć, czy panele laminowane nadają się na ogrzewanie podłogowe?</h3>
                    <svg class="rk-accordion-icon" 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>
                </button>
                <div class="rk-accordion-panel">
                    <div class="rk-accordion-content">
                        Należy dokładnie zweryfikować specyfikację techniczną produktu i ustalić, <a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/" class="rk-longtail-term">jakie panele laminowane na ogrzewanie podłogowe</a> posiadają zgodność z normą EN 14041 oraz piktogram z symbolem wężownicy na opakowaniu. Kluczowym warunkiem technicznym jest, aby opór cieplny R samego panela nie przekraczał wartości granicznej 0,08 m²K/W.
                        <div class="rk-faq-inline-box">
                            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2"></polygon><line x1="12" y1="22" x2="12" y2="15.5"></line><line x1="22" y1="8.5" x2="12" y2="15.5"></line><line x1="2" y1="8.5" x2="12" y2="15.5"></line><line x1="12" y1="2" x2="12" y2="15.5"></line></svg>
                            <p>Weryfikacja: Prawidłowe parametry gwarantują stabilną emisję bez ryzyka rozsychania się zamków blokujących.</p>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-accordion-item">
                <button class="rk-accordion-trigger">
                    <h3>Która okładzina najlepiej przewodzi ciepło i zapewnia najniższe rachunki?</h3>
                    <svg class="rk-accordion-icon" 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>
                </button>
                <div class="rk-accordion-panel">
                    <div class="rk-accordion-content">
                        Jako główny projektant potwierdzam, że <a href="https://projekt-ogrzewania.pl/czy-pod-ogrzewanie-podlogowe-nadaja-sie-panele-czy-tylko-plytki/" class="rk-longtail-term">najlepsza okładzina na ogrzewanie podłogowe</a> to płytki gresowe, ceramiczne oraz kamień naturalny, wykazujące najniższy opór cieplny w przedziale 0,01 - 0,02 m²K/W. Pozwalają one na zredukowanie oporów emisyjnych posadzki, co bezpośrednio optymalizuje kluczowe <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" class="rk-longtail-term">parametry pracy pompy ciepła</a>.
                        <div class="rk-faq-inline-box">
                            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                            <p>Wynik: Obniżenie krzywej grzewczej podnosi współczynnik SCOP pompy ciepła o około 15-20% w skali roku.</p>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-accordion-item">
                <button class="rk-accordion-trigger">
                    <h3>Czy można montować drewniane deski na podłogówkę metodą pływającą?</h3>
                    <svg class="rk-accordion-icon" 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>
                </button>
                <div class="rk-accordion-panel">
                    <div class="rk-accordion-content">
                        Nie, naturalne drewno wymaga odmiennego traktowania. Prawidłowy <a href="https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/" class="rk-longtail-term">montaż desek drewnianych na ogrzewaniu podłogowym</a> musi opierać się bezwzględnie na pełnym klejeniu jastrychu przy użyciu elastycznych klejów silanowych. Układ pływający tworzy poduszkę powietrzną o niskiej przewodności, która drastycznie ogranicza <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/" class="rk-longtail-term">wydajność instalacji płaszczyznowej</a> i wywołuje odkształcenia surowca.
                        <div class="rk-faq-inline-box">
                            <svg 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>
                            <p>Zagrożenie: Brak bezpośredniego przylegania blokuje ciepło i obniża temperaturę odczuwalną w pomieszczeniu.</p>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-accordion-item">
                <button class="rk-accordion-trigger">
                    <h3>Jaki podkład pod panele winylowe wybrać przy ogrzewaniu płaszczyznowym?</h3>
                    <svg class="rk-accordion-icon" 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>
                </button>
                <div class="rk-accordion-panel">
                    <div class="rk-accordion-content">
                        Decydując o tym, <a href="https://projekt-ogrzewania.pl/jakie-sa-najlepsze-sposoby-izolacji-pod-ogrzewanie-podlogowe/" class="rk-longtail-term">jaki podkład pod panele winylowe lvt</a> zastosować, należy wybierać wyłącznie specjalistyczne maty kwarcowe o wysokiej gęstości (PUM) o minimalnej grubości 1-1,5 mm. Ich opór termiczny zamyka się w granicach od 0,004 do 0,01 m²K/W, co chroni zamki mechaniczne paneli przed pękaniem bez jednoczesnego tłumienia strumienia energii. Odpowiednio wykonane <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" class="rk-longtail-term">obliczenia OZC dla podłogówki</a> powinny zawsze uwzględniać te składowe jastrychu.
                        <div class="rk-faq-inline-box">
                            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"></path><line x1="7" y1="7" x2="7.01" y2="7"></line></svg>
                            <p>Wskazówka inżynierska: Zwykłe podkłady ze spienionego polietylenu degradują efektywność i odcinają przepływ energii.</p>
                        </div>
                    </div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const accordionTriggers = document.querySelectorAll('.rk-accordion-trigger');

    accordionTriggers.forEach(function(trigger) {
        trigger.addEventListener('click', function() {
            const currentItem = this.parentNode;
            const currentPanel = currentItem.querySelector('.rk-accordion-panel');
            const isAlreadyActive = currentItem.classList.contains('active');

            // Zamykanie wszystkich innych sekcji (zasada pojedynczego rozwijania - akordeon)
            const allItems = document.querySelectorAll('.rk-accordion-item');
            for (let i = 0; i < allItems.length; i++) {
                allItems[i].classList.remove('active');
                allItems[i].querySelector('.rk-accordion-panel').style.maxHeight = null;
            }

            // Bezpieczna logika przełączania stanu bez użycia operatorów logicznych typu &#038;&#038;
            if (!isAlreadyActive) {
                currentItem.classList.add('active');
                currentPanel.style.maxHeight = currentPanel.scrollHeight + "px";
            }
        });
    });
});
</script>



<style>
:root {
    --rk-sum-dark: #0f172a;
    --rk-sum-blue: #0284c7;
    --rk-sum-light-blue: #f0f9ff;
    --rk-sum-green: #10b981;
    --rk-sum-red: #ef4444;
    --rk-sum-orange: #f97316;
    --rk-sum-orange-light: #ffedd5;
    --rk-sum-gray: #64748b;
    --rk-sum-border: #e2e8f0;
    --rk-sum-bg: #ffffff;
}

.rk-summary-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--rk-sum-dark);
}

.rk-sum-box {
    background: var(--rk-sum-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-sum-border);
    overflow: hidden;
    margin-bottom: 30px;
}

/* Typografia nagłówków */
.rk-summary-section h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-sum-dark);
    margin: 0 0 20px 0;
    padding: 0;
    line-height: 1.3;
}

.rk-summary-section h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-sum-blue);
    margin: 30px 0 15px 0;
}

.rk-sum-content-pad {
    padding: 40px 50px;
}

.rk-sum-text-lead {
    font-size: 17px;
    line-height: 1.7;
    color: #334155;
    margin-bottom: 25px;
}

/* Tagi długiego ogona */
.rk-tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 25px 0;
    padding-top: 20px;
    border-top: 1px dashed var(--rk-sum-border);
}

.rk-mat-tag {
    background: var(--rk-sum-light-blue);
    color: var(--rk-sum-blue);
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid rgba(2, 132, 199, 0.2);
    transition: background 0.3s ease;
}

.rk-mat-tag:hover {
    background: #e0f2fe;
}

/* Interaktywny Symulator Emisji Ciepła */
.rk-interactive-module {
    background: #f8fafc;
    border-top: 1px solid var(--rk-sum-border);
    border-bottom: 1px solid var(--rk-sum-border);
    padding: 40px 50px;
}

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

.rk-sim-title {
    font-size: 22px;
    font-weight: 900;
    margin: 0 0 10px 0;
}

.rk-sim-subtitle {
    font-size: 15px;
    color: var(--rk-sum-gray);
    margin: 0;
}

/* Przełącznik opcji */
.rk-sim-controls {
    display: flex;
    gap: 15px;
    margin-bottom: 35px;
}

.rk-sim-toggle {
    flex: 1;
    padding: 20px;
    border: 2px solid var(--rk-sum-border);
    border-radius: 16px;
    background: #ffffff;
    cursor: pointer;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-sum-gray);
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.rk-sim-toggle:hover {
    border-color: #cbd5e1;
}

.rk-sim-toggle.active[data-floor="gres"] {
    background: #fff1f2;
    border-color: var(--rk-sum-red);
    color: var(--rk-sum-red);
    box-shadow: 0 10px 20px -5px rgba(239, 68, 68, 0.15);
}

.rk-sim-toggle.active[data-floor="wood"] {
    background: var(--rk-sum-orange-light);
    border-color: var(--rk-sum-orange);
    color: var(--rk-sum-orange);
    box-shadow: 0 10px 20px -5px rgba(249, 115, 22, 0.15);
}

.rk-toggle-icon {
    width: 32px;
    height: 32px;
}

/* Strefa wizualizacji */
.rk-sim-display {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    background: #ffffff;
    border-radius: 20px;
    padding: 30px;
    border: 1px solid var(--rk-sum-border);
    align-items: center;
}

.rk-sim-visual {
    position: relative;
    width: 100%;
    max-width: 200px;
    margin: 0 auto;
}

.rk-heat-wave {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: bottom center;
}

.state-gres .rk-heat-wave { fill: var(--rk-sum-red); animation: heatRiseGres 1.5s infinite alternate; }
.state-wood .rk-heat-wave { fill: var(--rk-sum-orange); animation: heatRiseWood 2.5s infinite alternate; opacity: 0.6; transform: scaleY(0.4); }

@keyframes heatRiseGres { 0% { transform: scaleY(0.8); opacity: 0.8; } 100% { transform: scaleY(1.1); opacity: 1; } }
@keyframes heatRiseWood { 0% { transform: scaleY(0.3); opacity: 0.4; } 100% { transform: scaleY(0.5); opacity: 0.7; } }

.rk-sim-data h4 { margin: 0 0 15px 0; font-size: 20px; font-weight: 800; }
.rk-sim-data p { margin: 0 0 10px 0; font-size: 15px; color: #475569; line-height: 1.6; }
.rk-data-highlight { display: inline-block; padding: 4px 10px; border-radius: 6px; font-weight: 800; margin: 5px 0; }
.state-gres .rk-data-highlight { background: #fee2e2; color: #b91c1c; }
.state-wood .rk-data-highlight { background: #ffedd5; color: #c2410c; }

/* Sekcja CTA */
.rk-cta-footer {
    padding: 40px 50px;
    background: linear-gradient(to right, var(--rk-sum-dark), #1e293b);
    color: #ffffff;
    text-align: center;
}

.rk-cta-footer h3 {
    color: #ffffff;
    margin-top: 0;
}

.rk-btn-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--rk-sum-blue);
    color: #ffffff;
    padding: 18px 36px;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
    margin-top: 20px;
    transition: transform 0.3s, background 0.3s;
}

.rk-btn-cta:hover {
    background: #0ea5e9;
    transform: translateY(-3px);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-sum-content-pad, .rk-interactive-module, .rk-cta-footer { padding: 30px 20px; }
    .rk-sim-controls { flex-direction: column; gap: 10px; }
    .rk-sim-display { grid-template-columns: 1fr; text-align: center; }
    .rk-summary-section h2 { font-size: 24px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/"
    },
    "headline": "Podsumowanie: Wpływ rodzaju okładziny podłogowej na wydajność ogrzewania",
    "description": "Fundamentalna inżynierska zależność wpływu wykończenia podłogi na sprawność systemu grzewczego. Wybór między gresem a drewnem a projekt instalacji sanitarnej.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-29",
    "dateModified": "2026-06-29"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#dataset",
    "name": "Parametry termiczne i eksploatacyjne okładzin podłogowych",
    "description": "Zestawienie porównawcze wydajności ogrzewania płaszczyznowego w zależności od oporu cieplnego zastosowanej okładziny wierzchniej (gres vs drewno).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wpływ okładziny na wydajność podłogówki",
      "opór cieplny paneli i drewna",
      "praca niskotemperaturowa pompy ciepła",
      "obliczenia ozc podłogówka",
      "projekt hydrauliczny instalacji"
    ],
    "measurementTechnique": "Analiza strumienia ciepła w odniesieniu do współczynnika oporu cieplnego warstw wierzchnich podłogi w systemach ogrzewania płaszczyznowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Gres: Niska bezwładność, praca niskotemperaturowa, optymalne COP.",
        "Drewno/Panele: Wysoki opór, konieczność kompensacji projektem (OZC) i zagęszczenia rur."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#webapp",
    "name": "Symulator Emisji Ciepła - Ogrzewanie Podłogowe",
    "description": "Interaktywny panel wizualizujący wpływ oporu cieplnego materiałów (płytki ceramiczne vs parkiet warstwowy) na efektywność emisji ciepła z wylewki grzewczej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-summary-section">
    <div class="rk-sum-box">
        
        <div class="rk-sum-content-pad">
            <h2>Podsumowanie: Inżynierski dobór okładziny a koszty eksploatacji</h2>
            
            <p class="rk-sum-text-lead">
                <strong>Wpływ rodzaju okładziny podłogowej na wydajność ogrzewania podłogowego</strong> to fundamentalna zależność inżynierska, której zaniedbanie na etapie wykończenia wnętrz niszczy potencjał ekonomiczny nawet najdroższej pompy ciepła. Zrozumienie fizyki budowli na styku posadzki z powietrzem to klucz do niskich rachunków.
            </p>
            
            <h3>Gres czy deska? Decyzja, która zmienia projekt</h3>
            <p class="rk-sum-text-lead">
                Wybór gresu gwarantuje bezproblemową, niskotemperaturową pracę systemu, umożliwiając pompie ciepła generowanie ciepła z najwyższym możliwym parametrem SCOP. Z kolei panele winylowe, laminowane i naturalne drewno wymagają rygorystycznego reżimu wykonawczego. Ich wyższy opór cieplny wymaga celowego przewymiarowania instalacji jeszcze na etapie przygotowywania <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" style="color:var(--rk-sum-blue); font-weight:700;">projektu instalacji sanitarnej</a> i dokładnego określenia <a href="https://projekt-ogrzewania.pl/wylewki-na-ogrzewanie-podlogowe/" style="color:var(--rk-sum-blue); font-weight:700;">rodzaju wylewki</a>.
            </p>

            <div class="rk-tags-container">
                <span class="rk-mat-tag"># wpływ okładziny na wydajność podłogówki</span>
                <span class="rk-mat-tag"># opór cieplny paneli winylowych</span>
                <span class="rk-mat-tag"># niskotemperaturowa praca systemu grzewczego</span>
                <span class="rk-mat-tag"># profesjonalny projekt hydrauliczny</span>
                <span class="rk-mat-tag"># ogrzewanie podłogowe pod deski drewniane</span>
                <span class="rk-mat-tag"># wydajność pompy ciepła a gres</span>
                <span class="rk-mat-tag"># obliczenia OZC dla podłogówki</span>
                <span class="rk-mat-tag"># rachunki za energię a okładzina</span>
            </div>
        </div>

        <div class="rk-interactive-module">
            <div class="rk-sim-header">
                <h3 class="rk-sim-title">Symulator Emisji Ciepła</h3>
                <p class="rk-sim-subtitle">Wybierz materiał wykończeniowy i zobacz fizykę ogrzewania w praktyce.</p>
            </div>

            <div class="rk-sim-controls" id="rk-sim-controls">
                <button class="rk-sim-toggle active" data-floor="gres">
                    <svg class="rk-toggle-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="12" x2="21" y2="12"></line><line x1="12" y1="3" x2="12" y2="21"></line></svg>
                    Płytki Ceramiczne / Gres
                </button>
                <button class="rk-sim-toggle" data-floor="wood">
                    <svg class="rk-toggle-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><path d="M22 6L2 6"></path><path d="M22 10L2 10"></path><path d="M22 14L2 14"></path><path d="M22 18L2 18"></path></svg>
                    Deska Warstwowa / Drewno
                </button>
            </div>

            <div class="rk-sim-display state-gres" id="rk-sim-display">
                <div class="rk-sim-visual">
                    <svg viewBox="0 0 100 120" style="width: 100%; height: auto;">
                        <circle cx="50" cy="100" r="10" fill="#cbd5e1"></circle>
                        <circle cx="50" cy="100" r="6" fill="#ef4444"></circle>
                        <rect x="0" y="80" width="100" height="40" fill="#e2e8f0" rx="4" opacity="0.5"></rect>
                        <rect id="floor-layer" x="0" y="70" width="100" height="10" fill="#fca5a5"></rect>
                        <path class="rk-heat-wave" d="M30 65 Q40 40 30 15" stroke="currentColor" stroke-width="3" fill="none" stroke-linecap="round"></path>
                        <path class="rk-heat-wave" d="M50 65 Q60 30 50 5" stroke="currentColor" stroke-width="4" fill="none" stroke-linecap="round"></path>
                        <path class="rk-heat-wave" d="M70 65 Q80 40 70 15" stroke="currentColor" stroke-width="3" fill="none" stroke-linecap="round"></path>
                    </svg>
                </div>
                <div class="rk-sim-data" id="rk-sim-data-text">
                    <h4 style="color: var(--rk-sum-red);">Minimalny Opór Cieplny</h4>
                    <p>Płytki gresowe zachowują się jak autostrada dla ciepła. Charakteryzują się najniższym oporem cieplnym, co gwarantuje natychmiastową reakcję układu.</p>
                    <div class="rk-data-highlight">T_zasilania: ~32°C - 35°C</div>
                    <div class="rk-data-highlight">Bezwładność: Bardzo niska (1-2h)</div>
                </div>
            </div>
        </div>

        <div class="rk-cta-footer">
            <h3>Nie ryzykuj układania rur "na oko"</h3>
            <p style="font-size: 16px; margin-bottom: 25px; line-height: 1.6;">
                Jeśli planujesz montaż materiałów drewnopochodnych lub desek warstwowych, nie dopuść do sytuacji zgadywania parametrów przez instalatora. Zgłoś się po profesjonalny projekt hydrauliczny oparty o rzeczywiste obliczenia OZC oraz parametry fizyczne Twojej wymarzonej podłogi. To jedyna gwarancja ochrony przed niedogrzaniem budynku.
            </p>
            <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-cta">
                Zobacz nasz blog 
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="M12 5l7 7-7 7"></path></svg>
            </a>
        </div>
        
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const buttons = document.querySelectorAll('.rk-sim-toggle');
    const displayBox = document.getElementById('rk-sim-display');
    const dataText = document.getElementById('rk-sim-data-text');
    const floorLayer = document.getElementById('floor-layer');

    buttons.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Reset active states
            for (let i = 0; i < buttons.length; i++) {
                buttons[i].classList.remove('active');
            }
            this.classList.add('active');

            let floorType = this.getAttribute('data-floor');

            // Logika bez użycia "&#038;&#038;"
            if (floorType === 'gres') {
                displayBox.className = 'rk-sim-display state-gres';
                floorLayer.setAttribute('fill', '#fca5a5');
                dataText.innerHTML = `
                    <h4 style="color: var(--rk-sum-red);">Minimalny Opór Cieplny</h4>
                    <p>Płytki gresowe zachowują się jak autostrada dla ciepła. Charakteryzują się najniższym oporem cieplnym, co gwarantuje natychmiastową reakcję układu.</p>
                    <div class="rk-data-highlight">T_zasilania: ~32°C - 35°C</div>
                    <div class="rk-data-highlight">Bezwładność: Bardzo niska (1-2h)</div>
                `;
            }

            if (floorType === 'wood') {
                displayBox.className = 'rk-sim-display state-wood';
                floorLayer.setAttribute('fill', '#fdba74');
                dataText.innerHTML = `
                    <h4 style="color: var(--rk-sum-orange);">Blokada Emisji (Izolator)</h4>
                    <p>Drewno stawia wysoki opór dla strumienia ciepła. Wymaga to gęstszego ułożenia rur (np. co 10 cm) oraz wyższej temperatury czynnika, aby przebić się przez okładzinę.</p>
                    <div class="rk-data-highlight">T_zasilania: ~38°C - 42°C</div>
                    <div class="rk-data-highlight">Bezwładność: Wysoka (4-6h)</div>
                `;
            }
        });
    });
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-blue: #0284c7;
    --rk-dl-blue-hover: #0369a1;
    --rk-dl-light: #f8fafc;
    --rk-dl-border: #e2e8f0;
    --rk-dl-text: #334155;
    --rk-dl-gray: #64748b;
}

.rk-download-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--rk-dl-dark);
}

.rk-download-container {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.1);
    overflow: hidden;
    border: 1px solid var(--rk-dl-border);
}

/* Ciemny Nagłówek */
.rk-dl-header {
    background: var(--rk-dl-dark);
    padding: 35px 45px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dl-blue);
}

.rk-dl-header-content h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.rk-dl-header-content p {
    font-size: 15px;
    color: #94a3b8;
    margin: 0;
    font-weight: 500;
}

.rk-dl-header-icon {
    width: 48px;
    height: 48px;
    color: var(--rk-dl-blue);
    flex-shrink: 0;
}

/* Główny obszar dwukolumnowy */
.rk-dl-body {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 0;
}

/* Lewa Kolumna - Miniatura */
.rk-dl-left {
    background: var(--rk-dl-light);
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-right: 1px solid var(--rk-dl-border);
}

.rk-dl-thumbnail-box {
    background: #ffffff;
    padding: 10px;
    border-radius: 12px;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08);
    border: 1px solid var(--rk-dl-border);
    cursor: pointer;
    width: 100%;
    max-width: 280px;
    position: relative;
}

.rk-dl-thumbnail-box:hover {
    border-color: var(--rk-dl-blue);
}

.rk-dl-image {
    width: 100%;
    height: auto;
    border-radius: 6px;
    display: block;
    border: 1px solid #f1f5f9;
}

.rk-dl-thumb-label {
    margin-top: 20px;
    font-size: 14px;
    font-weight: 900;
    color: var(--rk-dl-blue);
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
    cursor: pointer;
}

.rk-dl-thumb-label:hover {
    color: var(--rk-dl-dark);
}

/* Prawa Kolumna - Opis i Przyciski */
.rk-dl-right {
    padding: 40px 45px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

.rk-dl-desc {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-dl-text);
    margin: 0 0 30px 0;
}

/* Przyciski Pobierania */
.rk-dl-buttons {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-dl-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    border-radius: 12px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    border: 2px solid transparent;
}

.rk-dl-btn-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-dl-btn-right {
    font-size: 13px;
    font-weight: 600;
    opacity: 0.9;
}

/* Przycisk Primary (Niebieski) */
.rk-btn-primary {
    background: var(--rk-dl-blue);
    color: #ffffff;
    border-color: var(--rk-dl-blue);
}

.rk-btn-primary:hover {
    background: var(--rk-dl-blue-hover);
    border-color: var(--rk-dl-blue-hover);
}

.rk-btn-primary svg {
    color: #ffffff;
}

/* Przycisk Secondary (Biały) */
.rk-btn-secondary {
    background: #ffffff;
    color: var(--rk-dl-dark);
    border-color: var(--rk-dl-border);
}

.rk-btn-secondary:hover {
    border-color: var(--rk-dl-gray);
    background: #f8fafc;
}

.rk-btn-secondary svg {
    color: var(--rk-dl-dark);
}

.rk-btn-secondary .rk-dl-btn-right {
    color: var(--rk-dl-gray);
}

/* Stopka z prawami autorskimi */
.rk-dl-footer {
    background: var(--rk-dl-light);
    border-top: 1px solid var(--rk-dl-border);
    padding: 15px 45px;
    font-size: 12px;
    color: var(--rk-dl-gray);
    text-align: center;
    line-height: 1.5;
}

/* Linki wewnątrz tekstu */
a.rk-longtail-link {
    color: var(--rk-dl-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-dl-blue);
}

a.rk-longtail-link:hover {
    color: var(--rk-dl-dark);
    border-bottom-color: var(--rk-dl-dark);
}

/* Modal / Lightbox do podglądu zdjęcia */
.rk-lightbox-modal {
    display: none; /* Domyślnie ukryte */
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(15, 23, 42, 0.95);
    justify-content: center;
    align-items: center;
    padding: 20px;
    box-sizing: border-box;
}

.rk-lightbox-content {
    position: relative;
    max-width: 900px;
    width: 100%;
    max-height: 90vh;
    display: flex;
    justify-content: center;
}

.rk-lightbox-img {
    max-width: 100%;
    max-height: 90vh;
    object-fit: contain;
    border-radius: 8px;
    border: 2px solid #334155;
}

.rk-lightbox-close {
    position: absolute;
    top: -40px;
    right: 0;
    color: #ffffff;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
    line-height: 1;
}

.rk-lightbox-close:hover {
    color: var(--rk-dl-blue);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-dl-header { padding: 25px 20px; flex-direction: column; align-items: flex-start; gap: 15px; }
    .rk-dl-header-icon { display: none; } /* Ukrywamy dużą ikonę na telefonie dla oszczędności miejsca */
    .rk-dl-body { grid-template-columns: 1fr; }
    .rk-dl-left { border-right: none; border-bottom: 1px solid var(--rk-dl-border); padding: 30px 20px; }
    .rk-dl-right { padding: 30px 20px; }
    .rk-dl-footer { padding: 15px 20px; }
    .rk-dl-btn { flex-direction: column; align-items: center; gap: 5px; text-align: center; }
    .rk-dl-btn-right { margin-top: 5px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#download-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/"
    },
    "headline": "Materiały do pobrania: Ściągawka Inwestora Ogrzewania Podłogowego",
    "description": "Pobierz darmową infografikę w formacie PDF lub WebP, zawierającą wytyczne techniczne dla wykończeń na ogrzewaniu podłogowym. Kompendium dla inwestorów i wykonawców.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-30",
    "dateModified": "2026-06-30"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#download-dataset",
    "name": "Infografika techniczna: Opór cieplny materiałów posadzkowych",
    "description": "Zestawienie tabelaryczne i graficzne oporów cieplnych dla gresu, desek drewnianych, paneli LVT oraz grubych wykładzin w kontekście normy PN-EN 1264.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe",
      "poradnik dla inwestora budowlanego",
      "wylewka na ogrzewanie podłogowe",
      "największy magazyn energii w twoim domu",
      "jaki opór cieplny podłogi"
    ],
    "measurementTechnique": "Wizualizacja parametrów fizycznych (lambda, d) oraz limitów gęstości strumienia cieplnego w postaci czytelnej matrycy decyzyjnej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Plik: Infografika w formacie wektorowym PDF gotowa do druku",
        "Plik: Kompresowany obraz WebP dla urządzeń mobilnych"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/#download-webapp",
    "name": "Interaktywny Moduł Pobierania i Podglądu Dokumentacji",
    "description": "System umożliwiający podgląd pełnoekranowy infografiki (Lightbox) oraz pobieranie plików bezstratnych bezpośrednio na urządzenia wykonawców na budowie.",
    "applicationCategory": "MultimediaApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-download-section">
    <div class="rk-download-container">
        
        <div class="rk-dl-header">
            <div class="rk-dl-header-content">
                <h2>Materiały do pobrania</h2>
                <p>Zachowaj tę wiedzę dla siebie lub przekaż ją swojemu wykonawcy.</p>
            </div>
            <svg class="rk-dl-header-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" 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="7 10 12 15 17 10"></polyline>
                <line x1="12" y1="15" x2="12" y2="3"></line>
            </svg>
        </div>

        <div class="rk-dl-body">
            
            <div class="rk-dl-left">
                <div class="rk-dl-thumbnail-box" id="rk-trigger-modal">
                    <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego.webp" alt="Podgląd infografiki: Wpływ okładziny na wydajność ogrzewania" class="rk-dl-image" loading="lazy">
                </div>
                <div class="rk-dl-thumb-label" id="rk-trigger-text">
                    KLIKNIJ, ABY PODGLĄDNĄĆ
                </div>
            </div>

            <div class="rk-dl-right">
                <h3>Infografika: Ściągawka Inwestora</h3>
                <p class="rk-dl-desc">
                    Przygotowałem skrót najważniejszych norm, zaleceń i pułapek technologicznych w wygodnej formie graficznej. Zanim zamówisz <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/" class="rk-longtail-link">wylewkę na ogrzewanie podłogowe</a>, zapisz plik na telefonie przed wizytą na budowie. Pamiętaj, że jastrych to <a href="https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/" class="rk-longtail-link">największy magazyn energii w twoim domu</a> – nie blokuj go złą okładziną.
                </p>

                <div class="rk-dl-buttons">
                    <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego.pdf" download="Infografika-Okładziny-Ogrzewanie-Podłogowe.pdf" class="rk-dl-btn rk-btn-primary" target="_blank" rel="noopener noreferrer">
                        <div class="rk-dl-btn-left">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
                            <span>Pobierz jako dokument PDF</span>
                        </div>
                        <span class="rk-dl-btn-right">Wysoka jakość</span>
                    </a>

                    <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego.webp" download="Infografika-Okładziny-Ogrzewanie-Podłogowe.webp" class="rk-dl-btn rk-btn-secondary" target="_blank" rel="noopener noreferrer">
                        <div class="rk-dl-btn-left">
                            <svg width="24" height="24" 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><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                            <span>Pobierz jako Obraz (WebP)</span>
                        </div>
                        <span class="rk-dl-btn-right">Lekki plik</span>
                    </a>
                </div>
            </div>

        </div>
        
        <div class="rk-dl-footer">
            © 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski. Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku.
        </div>

    </div>
</div>

<div id="rk-lightbox" class="rk-lightbox-modal">
    <div class="rk-lightbox-content">
        <span id="rk-lightbox-close" class="rk-lightbox-close">&times;</span>
        <img decoding="async" id="rk-lightbox-image" src="" alt="Pełny podgląd infografiki" class="rk-lightbox-img">
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const triggerBox = document.getElementById('rk-trigger-modal');
    const triggerText = document.getElementById('rk-trigger-text');
    const modal = document.getElementById('rk-lightbox');
    const closeBtn = document.getElementById('rk-lightbox-close');
    const modalImage = document.getElementById('rk-lightbox-image');

    // Źródło obrazu do podglądu (w wysokiej rozdzielczości)
    const highResImageUrl = 'https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego.webp';

    function openModal() {
        modalImage.src = highResImageUrl;
        modal.style.display = 'flex'; // Zamiast fadeIn/animacji (zgodnie z "bez animacji")
        document.body.style.overflow = 'hidden'; // Blokada scrollowania tła
    }

    function closeModal() {
        modal.style.display = 'none'; // Natychmiastowe zniknięcie
        document.body.style.overflow = 'auto'; // Przywrócenie scrollowania
        modalImage.src = ''; // Czyszczenie źródła
    }

    // Nasłuchiwanie kliknięć w miniaturę i tekst pod nią
    triggerBox.addEventListener('click', openModal);
    triggerText.addEventListener('click', openModal);

    // Zamykanie krzyżykiem
    closeBtn.addEventListener('click', closeModal);

    // Zamykanie przez kliknięcie w tło
    window.addEventListener('click', function(event) {
        // Uniknięcie błędu &&
        if (event.target === modal) {
            closeModal();
        }
    });
    
    // Zamykanie klawiszem ESC
    document.addEventListener('keydown', function(event) {
        if (event.key === 'Escape') {
            closeModal();
        }
    });
});
</script>
<p>Artykuł <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> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Czy ogrzewanie podłogowe jest zdrowe?</title>
		<link>https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/</link>
					<comments>https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 13 Oct 2024 18:24:56 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady dla domu]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Rozwiązania ekologiczne]]></category>
		<category><![CDATA[Technologia w budownictwie]]></category>
		<category><![CDATA[Zdrowie alergików]]></category>
		<category><![CDATA[Zdrowie i komfort]]></category>
		<category><![CDATA[alergie]]></category>
		<category><![CDATA[ciepło]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[ekologia]]></category>
		<category><![CDATA[energia]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[zdrowie]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=1387</guid>

					<description><![CDATA[<p>Ogrzewanie podłogowe zyskuje coraz większą popularność, nie tylko ze względu na wygodę i estetykę, ale także z uwagi na jego wpływ na zdrowie. Dzięki równomiernemu rozkładowi ciepła, ogrzewanie podłogowe zapewnia komfort cieplny, ogranicza unoszenie się kurzu i poprawia jakość powietrza w pomieszczeniach. To idealne rozwiązanie dla alergików oraz osób dbających o zdrowie. Dowiedz się, jakie korzyści zdrowotne niesie za sobą podłogówka i czy warto w nią zainwestować. Zapraszamy do lektury!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/">Czy ogrzewanie podłogowe jest zdrowe?</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-slate: #1e293b;
    --rk-intro-blue: #0284c7;
    --rk-intro-teal: #0d9488;
    --rk-intro-gray: #64748b;
    --rk-intro-light-gray: #f8fafc;
    --rk-intro-border: #e2e8f0;
    --rk-intro-bg: #ffffff;
}

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

/* Mocne Otwarcie - Nagłówek */
.rk-intro-header {
    padding: 40px 50px;
    background: var(--rk-intro-light-gray);
    border-bottom: 1px solid var(--rk-intro-border);
}

.rk-intro-header h2 {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    margin: 0 0 20px 0;
    line-height: 1.2;
    letter-spacing: -0.5px;
}

/* Szybka odpowiedź (Featured Snippet Box) */
.rk-quick-answer {
    background: #ffffff;
    border-left: 6px solid var(--rk-intro-teal);
    padding: 25px 30px;
    border-radius: 0 12px 12px 0;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
    margin-bottom: 25px;
}

.rk-quick-answer strong {
    display: block;
    font-size: 14px;
    text-transform: uppercase;
    color: var(--rk-intro-teal);
    margin-bottom: 10px;
    letter-spacing: 1px;
    font-weight: 900;
}

.rk-quick-answer p {
    font-size: 18px;
    font-weight: 700;
    color: var(--rk-intro-slate);
    margin: 0;
    line-height: 1.5;
}

/* Tekst wprowadzający i dowód społeczny (Hook) */
.rk-intro-hook {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 20px 0 0 0;
}

.rk-hook-icon {
    width: 48px;
    height: 48px;
    background: var(--rk-intro-dark);
    color: #ffffff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

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

.rk-hook-text b {
    color: var(--rk-intro-dark);
}

.rk-hook-text a {
    color: var(--rk-intro-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Interaktywny Spis Treści (Czego się dowiesz) */
.rk-intro-interactive {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-intro-interactive h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    margin: 0 0 20px 0;
}

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

.rk-toc-btn {
    background: var(--rk-intro-light-gray);
    border: 1px solid var(--rk-intro-border);
    padding: 20px;
    border-radius: 12px;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.2s; /* Dopuszczalne bezpieczne przejście koloru, brak animacji ruchu */
}

.rk-toc-btn:hover {
    background: #e2e8f0;
}

.rk-toc-btn.active {
    background: var(--rk-intro-dark);
    border-color: var(--rk-intro-dark);
}

.rk-toc-btn-title {
    display: block;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-intro-slate);
    margin-bottom: 5px;
}

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

.rk-toc-btn-sub {
    font-size: 13px;
    color: var(--rk-intro-gray);
}

.rk-toc-btn.active .rk-toc-btn-sub {
    color: #94a3b8;
}

/* Zawartość zakładek */
.rk-toc-content-wrapper {
    background: var(--rk-intro-light-gray);
    border: 1px solid var(--rk-intro-border);
    border-radius: 12px;
    padding: 25px 30px;
}

.rk-toc-panel {
    display: none;
}

.rk-toc-panel.active {
    display: block;
}

.rk-toc-panel p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-intro-slate);
}

.rk-toc-panel a {
    color: var(--rk-intro-blue);
    font-weight: 700;
    text-decoration: underline;
}

/* Informacja o narzędziach na dole */
.rk-intro-tools-notice {
    background: var(--rk-intro-slate);
    padding: 20px 50px;
    display: flex;
    align-items: center;
    gap: 15px;
    color: #ffffff;
}

.rk-tools-notice-icon {
    color: #38bdf8;
}

.rk-tools-notice-text {
    font-size: 14px;
    font-weight: 600;
    margin: 0;
    line-height: 1.5;
}

/* RWD Mobile */
@media (max-width: 768px) {
    .rk-intro-header, .rk-intro-interactive, .rk-intro-tools-notice { padding: 30px 20px; }
    .rk-intro-hook { flex-direction: column; }
    .rk-quick-answer { padding: 20px; }
    .rk-toc-grid { grid-template-columns: 1fr; gap: 10px; }
    .rk-toc-content-wrapper { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#article-intro",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/"
    },
    "headline": "Czy ogrzewanie podłogowe jest zdrowe? Szybka odpowiedź i wprowadzenie",
    "description": "Zderzenie inżynierii z medycyną. Sprawdź, czy prawidłowo zaprojektowana instalacja ogrzewania podłogowego jest bezpieczna dla zdrowia domowników.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-12-29",
    "dateModified": "2026-06-23"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#dataset-intro",
    "name": "Baza Wiedzy: Ogrzewanie Podłogowe a Aspekty Medyczne",
    "description": "Zestawienie głównych argumentów technicznych i medycznych weryfikujących wpływ ogrzewania płaszczyznowego na ludzki organizm.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy ogrzewanie podłogowe jest zdrowe",
      "podłogówka a zdrowie",
      "opinie lekarzy o ogrzewaniu podłogowym",
      "wady i zalety zdrowotne podłogówki",
      "ogrzewanie podłogowe w sypialni czy warto",
      "wpływ podłogówki na alergików",
      "zdrowe ogrzewanie w domu"
    ],
    "measurementTechnique": "Bezpośrednia ocena skutków działania temperatury jastrychu (max 29°C wg PN-EN 1264) w odniesieniu do fizjologii snu, układu krążenia i układu oddechowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Podłogówka nie powoduje żylaków przy poprawnym projekcie OZC.",
        "System płaszczyznowy hamuje rozwój roztoczy.",
        "Niska temperatura zasilania chroni śluzówki przed wysuszeniem."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#webapp-intro",
    "name": "Interaktywny Przewodnik Tematyczny Artykułu",
    "description": "Moduł ułatwiający nawigację po kluczowych zagadnieniach artykułu, łączący aspekty inżynierii sanitarnej z wiedzą medyczną dotyczącą mikroklimatu wnętrz.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="intro-app">
    <div class="rk-intro-header">
        <h2>Czy ogrzewanie podłogowe jest zdrowe? Inżynieria kontra medycyna</h2>
        
        <div class="rk-quick-answer">
            <strong>Szybka odpowiedź eksperta</strong>
            <p>Tak, prawidłowo zaprojektowane i wykonane niskotemperaturowe ogrzewanie podłogowe (z temperaturą posadzki do 29°C) jest w pełni zdrowe i bezpieczne dla człowieka. Nie powoduje żylaków, zatrzymuje rozwój roztoczy i chroni domowników przed infekcjami.</p>
        </div>

        <div class="rk-intro-hook">
            <div class="rk-hook-icon">
                <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="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
            </div>
            <p class="rk-hook-text">
                Zanim zaczniesz czytać fora pełne sprzecznych opinii i mitów powielanych od lat 90., sprawdź twarde fakty. Jako specjalista HVAC udowadniam zasady fizyki z <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">normy PN-EN 1264</a>. Co więcej, w tym artykule <b>konfrontuję moje inżynieryjne parametry (OZC, układy hydrauliczne) z oceną medyczną dr Justyny z Warszawy</b>, z którą wspólnie przeanalizowaliśmy faktyczny wpływ podłogówki na fizjologię człowieka.
            </p>
        </div>
    </div>

    <div class="rk-intro-interactive">
        <h3>Czego konkretnie dowiesz się z tego artykułu?</h3>
        
        <div class="rk-toc-grid">
            <button class="rk-toc-btn active" data-panel="panel-1">
                <span class="rk-toc-btn-title">Układ Krążenia</span>
                <span class="rk-toc-btn-sub">Mity o żylakach i obrzękach</span>
            </button>
            <button class="rk-toc-btn" data-panel="panel-2">
                <span class="rk-toc-btn-title">Drogi Oddechowe</span>
                <span class="rk-toc-btn-sub">Roztocza i sucha destylacja</span>
            </button>
            <button class="rk-toc-btn" data-panel="panel-3">
                <span class="rk-toc-btn-title">Fizjologia Snu</span>
                <span class="rk-toc-btn-sub">Sypialnia i termoregulacja</span>
            </button>
        </div>

        <div class="rk-toc-content-wrapper">
            <div class="rk-toc-panel active" id="panel-1">
                <p>Obalamy mit &#8222;gotującej się krwi&#8221; w nogach. Dowiesz się, dlaczego fizycznie niemożliwe jest przeciążenie żył przy prawidłowym <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">rozstawie rur grzewczych</a> oraz czym dokładnie grozi błąd instalatora skutkujący temperaturą posadzki powyżej 30°C.</p>
            </div>
            <div class="rk-toc-panel" id="panel-2">
                <p>Wyjaśnimy zjawisko konwekcji i promieniowania. Przekonasz się, dlaczego tradycyjne grzejniki wysuszają śluzówki i działają jak odkurzacz dla alergenów, podczas gdy podłogówka naturalnie utrzymuje <a href="https://projekt-ogrzewania.pl/jak-ogrzewanie-podlogowe-wplywa-na-wilgotnosc-powietrza-w-domu/">zdrową wilgotność powietrza</a>.</p>
            </div>
            <div class="rk-toc-panel" id="panel-3">
                <p>Czy ciepła podłoga niszczy sen? Przeanalizujemy parametry fazy snu głębokiego (NREM) oraz omówimy, w jaki sposób zablokowanie promieniowania przez <a href="https://projekt-ogrzewania.pl/wodne-ogrzewanie-podlogowe-a-meble-jak-polaczyc-komfort-i-aranzacje/">meble bez nóżek w sypialni</a> może prowadzić do niezdrowych przegrzewów pod materacem.</p>
            </div>
        </div>
    </div>

    <div class="rk-intro-tools-notice">
        <div class="rk-tools-notice-icon">
            <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="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
        </div>
        <p class="rk-tools-notice-text">
            Uwaga: W dalszej części artykułu zamieściłem autorskie, interaktywne symulatory. Dzięki nim samodzielnie sprawdzisz fizykę powietrza i termodynamikę jastrychu!
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tocBtns = document.querySelectorAll('.rk-toc-btn');
    const tocPanels = document.querySelectorAll('.rk-toc-panel');

    for (let i = 0; i < tocBtns.length; i++) {
        tocBtns[i].addEventListener('click', function() {
            // Czyszczenie klas aktywnych
            for (let j = 0; j < tocBtns.length; j++) {
                tocBtns[j].classList.remove('active');
            }
            for (let k = 0; k < tocPanels.length; k++) {
                tocPanels[k].classList.remove('active');
            }

            // Ustawianie klikniętego jako aktywny
            this.classList.add('active');

            // Pokazywanie odpowiedniego panelu (Bezpieczna logika if, bez znaków &#038;&#038;)
            const targetId = this.getAttribute('data-panel');
            const targetPanel = document.getElementById(targetId);
            
            if (targetPanel !== null) {
                targetPanel.classList.add('active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-alg-dark: #0f172a;
    --rk-alg-slate: #1e293b;
    --rk-alg-teal: #0d9488;
    --rk-alg-teal-light: #f0fdfa;
    --rk-alg-blue: #0284c7;
    --rk-alg-orange: #ea580c;
    --rk-alg-red: #e11d48;
    --rk-alg-gray: #64748b;
    --rk-alg-border: #e2e8f0;
    --rk-alg-bg: #ffffff;
}

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

/* Nagłówek */
.rk-alg-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-alg-dark) 0%, var(--rk-alg-slate) 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-alg-teal);
    text-align: center;
}

.rk-alg-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-alg-header p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
}

/* Górna sekcja - Symulator (Pełna szerokość) */
.rk-alg-interactive-top {
    padding: 40px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-alg-border);
}

.rk-alg-toggle-wrapper {
    display: flex;
    max-width: 500px;
    margin: 0 auto 30px auto;
    background: #ffffff;
    border: 1px solid var(--rk-alg-border);
    border-radius: 12px;
    padding: 6px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}

.rk-alg-btn {
    flex: 1;
    padding: 14px 20px;
    border: none;
    background: transparent;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-alg-gray);
    cursor: pointer;
    transition: all 0.3s ease;
}

.rk-alg-btn.active[data-system="floor"] {
    background: var(--rk-alg-teal-light);
    color: var(--rk-alg-teal);
    box-shadow: 0 4px 6px -1px rgba(13, 148, 136, 0.15);
}

.rk-alg-btn.active[data-system="rad"] {
    background: #fff7ed;
    color: var(--rk-alg-orange);
    box-shadow: 0 4px 6px -1px rgba(234, 88, 12, 0.15);
}

/* Wizualizacja SVG i Wskaźniki w układzie grid */
.rk-sim-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 30px;
    align-items: center;
}

.rk-alg-canvas {
    width: 100%;
    background: var(--rk-alg-teal-light);
    border-radius: 20px;
    padding: 30px 20px;
    border: 2px solid var(--rk-alg-border);
    position: relative;
    transition: background 0.4s, border-color 0.4s;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    min-height: 250px;
}

.rk-alg-canvas.mode-rad {
    background: #fff7ed;
    border-color: #fed7aa;
}

.rk-room-svg {
    width: 100%;
    max-width: 250px;
    height: auto;
}

/* Animacje i elementy SVG */
.rk-svg-dust { transition: all 0.5s; fill: #94a3b8; }
.rk-svg-air { fill: none; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 4 4; opacity: 0; transition: opacity 0.3s; }

/* Tryb Podłogówki */
.mode-floor .rk-svg-dust { transform: translateY(0); opacity: 0.5; }
.mode-floor .air-up { stroke: var(--rk-alg-teal); opacity: 0.6; animation: gentleRise 3s infinite linear; }

/* Tryb Grzejnika */
.mode-rad .rk-svg-dust { animation: swirlDust 2.5s infinite linear; fill: var(--rk-alg-orange); opacity: 0.9; }
.mode-rad .air-circle { stroke: var(--rk-alg-orange); opacity: 0.8; animation: violentSwirl 2s infinite linear; }

@keyframes gentleRise {
    0% { transform: translateY(0); }
    100% { transform: translateY(-20px); }
}

@keyframes swirlDust {
    0% { transform: translate(0, 0); }
    25% { transform: translate(-20px, -40px); }
    50% { transform: translate(10px, -60px); }
    75% { transform: translate(30px, -20px); }
    100% { transform: translate(0, 0); }
}

@keyframes violentSwirl {
    0% { stroke-dashoffset: 20; }
    100% { stroke-dashoffset: 0; }
}

/* Wskaźniki Medyczne */
.rk-alg-metrics {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

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

.rk-metric-label {
    font-size: 12px;
    font-weight: 800;
    color: var(--rk-alg-gray);
    text-transform: uppercase;
    display: block;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.rk-metric-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-alg-dark);
    transition: color 0.3s;
}

/* Dolna sekcja - Treść opisowa (Kafelki) */
.rk-alg-content-bottom {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-alg-content-bottom h3 {
    text-align: center;
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-alg-slate);
    margin: 0 0 30px 0;
}

.rk-cards-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.rk-alg-card {
    background: #ffffff;
    border: 1px solid var(--rk-alg-border);
    border-top: 4px solid var(--rk-alg-teal);
    padding: 30px 25px;
    border-radius: 12px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: transform 0.3s, box-shadow 0.3s;
}

.rk-alg-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px -5px rgba(13, 148, 136, 0.15);
}

.rk-alg-card strong {
    display: block;
    font-size: 18px;
    color: var(--rk-alg-dark);
    margin-bottom: 15px;
    line-height: 1.3;
}

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

.rk-alg-card a {
    color: var(--rk-alg-teal);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* RWD Mobile */
@media (max-width: 768px) {
    .rk-alg-header, .rk-alg-interactive-top, .rk-alg-content-bottom { padding: 30px 20px; }
    .rk-sim-layout { grid-template-columns: 1fr; gap: 20px; }
    .rk-alg-metrics { flex-direction: row; }
    .rk-metric-box { flex: 1; padding: 15px; text-align: center; }
    .rk-metric-val { font-size: 18px; }
    .rk-cards-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-alg-toggle-wrapper { flex-direction: column; background: transparent; border: none; box-shadow: none; max-width: 100%; margin-bottom: 20px; }
    .rk-alg-btn { background: #ffffff; border: 1px solid var(--rk-alg-border); margin-bottom: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#article-allergy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/"
    },
    "headline": "Czy podłogówka jest bezpieczna dla alergików i astmatyków?",
    "description": "Zrozumienie wpływu ogrzewania płaszczyznowego na mikroklimat i redukcję konwekcji. Wizualizacja ruchu kurzu oraz wpływu temperatury na roztocza.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-12-29",
    "dateModified": "2026-06-23"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#dataset-allergy",
    "name": "Aerodynamika i Higiena Systemów Grzewczych",
    "description": "Pomiary prędkości powietrza w m/s oraz poziomu wilgotności względnej w strefie przypodłogowej wpływające na populację roztoczy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ogrzewanie dla alergików",
      "roztocza a podłogówka",
      "prędkość powietrza konwekcja",
      "promieniowanie podczerwone w domu",
      "ogrzewanie a astma"
    ],
    "measurementTechnique": "Porównanie ruchów mas powietrza i poziomu wilgotności na granicy jastrychu z uwzględnieniem warunków biologicznych dla Dermatophagoides pteronyssinus.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Prędkość powietrza (Podłogówka): 0,03 m/s - 0,05 m/s (Brak unoszenia kurzu).",
        "Prędkość powietrza (Grzejnik): 0,30 m/s (Intensywne unoszenie alergenów).",
        "Próg przeżywalności roztoczy: < 45% wilgotności przy podłożu (Zabójcze dla roztoczy)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#webapp-allergy",
    "name": "Symulator Cyrkulacji Kurzu i Alergenów",
    "description": "Aplikacja pozwalająca inwestorom wizualizować aerodynamiczny ruch alergenów (konwekcja vs promieniowanie) oraz symulować warunki przeżycia roztoczy.",
    "applicationCategory": "HealthApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5, CSS3",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-allergy-container" id="allergy-sim-app">
    <div class="rk-alg-header">
        <h2>Czy podłogówka jest bezpieczna dla alergików i astmatyków?</h2>
        <p>Ogrzewanie podłogowe to najbardziej higieniczny system grzewczy dla osób cierpiących na alergie. Wyeliminowanie gwałtownej konwekcji powstrzymuje unoszenie się kurzu w strefie oddychania.</p>
    </div>

    <div class="rk-alg-interactive-top">
        <div class="rk-alg-toggle-wrapper">
            <button class="rk-alg-btn active" data-system="floor">System Płaszczyznowy</button>
            <button class="rk-alg-btn" data-system="rad">Tradycyjny Grzejnik</button>
        </div>

        <div class="rk-sim-layout">
            <div class="rk-alg-canvas mode-floor" id="allergyCanvas">
                <svg class="rk-room-svg" viewBox="0 0 200 160">
                    <circle cx="150" cy="80" r="15" fill="#475569" />
                    <rect x="135" y="100" width="30" height="50" rx="10" fill="#475569" />
                    <rect x="140" y="140" width="8" height="20" fill="#475569" />
                    <rect x="152" y="140" width="8" height="20" fill="#475569" />

                    <rect id="sys-floor" x="10" y="155" width="180" height="5" fill="#0d9488" />
                    <path class="rk-svg-air air-up" d="M50 150 L50 100 M90 150 L90 100 M130 150 L130 100" />

                    <rect id="sys-rad" x="10" y="70" width="20" height="60" rx="3" fill="#ea580c" style="display: none;" />
                    <path class="rk-svg-air air-circle" d="M35 70 Q60 20 120 20 T170 60 T140 100 T50 140 Z" style="display: none;" />

                    <circle cx="40" cy="148" r="3" class="rk-svg-dust" id="d1" />
                    <circle cx="60" cy="145" r="4" class="rk-svg-dust" id="d2" />
                    <circle cx="80" cy="147" r="2.5" class="rk-svg-dust" id="d3" />
                    <circle cx="100" cy="146" r="3.5" class="rk-svg-dust" id="d4" />
                    <circle cx="120" cy="149" r="2" class="rk-svg-dust" id="d5" />
                </svg>
            </div>

            <div class="rk-alg-metrics">
                <div class="rk-metric-box">
                    <span class="rk-metric-label">Prędkość Powietrza</span>
                    <span class="rk-metric-val" id="valSpeed" style="color: var(--rk-alg-teal);">0,04 m/s</span>
                </div>
                <div class="rk-metric-box">
                    <span class="rk-metric-label">Status Roztoczy</span>
                    <span class="rk-metric-val" id="valMites" style="color: var(--rk-alg-teal);">Zneutralizowane</span>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-alg-content-bottom">
        <h3>Redukcja konwekcji i ruchu kurzu w powietrzu</h3>
        
        <div class="rk-cards-grid">
            <div class="rk-alg-card">
                <strong>Minimalna prędkość powietrza</strong>
                <p>Przy ogrzewaniu podłogowym prędkość unoszenia się powietrza wynosi zaledwie <strong>0,03 m/s do 0,05 m/s</strong>, co jest wartością zbyt niską, by poderwać z posadzki drobinki kurzu. Nad klasycznym grzejnikiem powietrze pędzi z prędkością dochodzącą do 0,30 m/s, stale transportując alergeny w strefę oddychania. Zrozum to zjawisko, czytając <a href="https://projekt-ogrzewania.pl/wady-wodnego-ogrzewania-podlogowego-na-co-zwrocic-uwage-przed-instalacja/">o fizycznych wadach i mitach instalacji</a>.</p>
            </div>

            <div class="rk-alg-card" style="border-top-color: var(--rk-alg-slate);">
                <strong>Środowisko niesprzyjające roztoczom</strong>
                <p>Ciepła i odpowiednio sucha posadzka sprawia, że wilgotność względna przy samym podłożu spada poniżej <strong>45%</strong>. Tworzy to barierę biologiczną, która uniemożliwia rozwój i rozmnażanie roztoczy kurzu domowego (Dermatophagoides pteronyssinus), potrzebujących do przeżycia wilgotności pow. 70%. Sprawdź, <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">jak rodzaj okładziny podłogowej potęguje ten efekt</a>.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-alg-btn');
    const canvas = document.getElementById('allergyCanvas');
    
    // SVG Elements
    const sysFloor = document.getElementById('sys-floor');
    const sysRad = document.getElementById('sys-rad');
    const airUps = document.querySelectorAll('.air-up');
    const airCircle = document.querySelector('.air-circle');
    
    // Metrics
    const valSpeed = document.getElementById('valSpeed');
    const valMites = document.getElementById('valMites');

    for (let i = 0; i < btns.length; i++) {
        btns[i].addEventListener('click', function() {
            // Reset active states
            for (let j = 0; j < btns.length; j++) {
                btns[j].classList.remove('active');
            }
            this.classList.add('active');

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

            // BEZPIECZNA LOGIKA (Bez znaków logicznych)
            if (system === 'floor') {
                canvas.className = 'rk-alg-canvas mode-floor';
                
                sysFloor.style.display = 'block';
                sysRad.style.display = 'none';
                
                for(let k = 0; k < airUps.length; k++) {
                    airUps[k].style.display = 'block';
                }
                airCircle.style.display = 'none';

                valSpeed.textContent = '0,04 m/s';
                valSpeed.style.color = 'var(--rk-alg-teal)';
                
                valMites.textContent = 'Zneutralizowane';
                valMites.style.color = 'var(--rk-alg-teal)';

            } else {
                canvas.className = 'rk-alg-canvas mode-rad';
                
                sysFloor.style.display = 'none';
                sysRad.style.display = 'block';
                
                for(let k = 0; k < airUps.length; k++) {
                    airUps[k].style.display = 'none';
                }
                airCircle.style.display = 'block';

                valSpeed.textContent = '0,30 m/s';
                valSpeed.style.color = 'var(--rk-alg-orange)';
                
                valMites.textContent = 'Kolonizacja';
                valMites.style.color = 'var(--rk-alg-red)';
            }
        });
    }
});
</script>



<style>
:root {
    --rk-vein-dark: #0f172a;
    --rk-vein-slate: #1e293b;
    --rk-vein-blue: #0284c7;
    --rk-vein-blue-light: #e0f2fe;
    --rk-vein-green: #059669;
    --rk-vein-green-light: #d1fae5;
    --rk-vein-red: #dc2626;
    --rk-vein-red-light: #fef2f2;
    --rk-vein-gray: #64748b;
    --rk-vein-border: #e2e8f0;
    --rk-vein-bg: #ffffff;
}

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

/* Nagłówek */
.rk-vein-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-vein-dark) 0%, var(--rk-vein-slate) 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-vein-red);
    text-align: center;
}

.rk-vein-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-vein-header p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
}

/* Górna sekcja - Symulator (Pełna szerokość) */
.rk-vein-interactive {
    padding: 40px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-vein-border);
}

.rk-sim-vessel-wrapper {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 40px;
    align-items: center;
    background: #ffffff;
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.05);
    border: 1px solid var(--rk-vein-border);
}

.rk-vessel-controls {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-vessel-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-vein-dark);
    margin: 0 0 15px 0;
}

.rk-vessel-desc {
    font-size: 14px;
    color: var(--rk-vein-gray);
    margin: 0 0 25px 0;
    line-height: 1.6;
}

.rk-temp-display-wrap {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.rk-val-display {
    background: var(--rk-vein-green);
    color: #ffffff;
    padding: 8px 20px;
    border-radius: 10px;
    font-size: 26px;
    font-weight: 900;
    font-family: monospace;
    transition: background-color 0.3s;
}

.rk-val-status {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-vein-green);
    text-transform: uppercase;
    transition: color 0.3s;
}

/* Custom Slider */
.rk-slider-vein {
    width: 100%;
    -webkit-appearance: none;
    height: 10px;
    border-radius: 5px;
    background: linear-gradient(90deg, #60a5fa 0%, var(--rk-vein-green) 40%, #fbbf24 70%, var(--rk-vein-red) 100%);
    outline: none;
    margin-bottom: 12px;
}

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

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

.rk-slider-labels {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-vein-gray);
}

/* Ekran SVG Leg / Veins */
.rk-vessel-screen {
    background: var(--rk-vein-green-light);
    border-radius: 16px;
    border: 2px solid var(--rk-vein-green);
    padding: 30px;
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: all 0.4s;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 220px;
}

.rk-vessel-screen.mode-danger {
    background: var(--rk-vein-red-light);
    border-color: var(--rk-vein-red);
}

.rk-leg-svg {
    width: 100%;
    max-width: 120px;
    height: auto;
}

/* Animacje i elementy SVG */
.rk-svg-skin { fill: #fde047; transition: fill 0.5s; }
.mode-danger .rk-svg-skin { fill: #fca5a5; }

.rk-svg-vein { 
    fill: none; 
    stroke: #3b82f6; 
    stroke-width: 4; 
    stroke-linecap: round; 
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); 
}

/* Zmiana stanu żył (Wazodylatacja) */
.mode-danger .rk-svg-vein { 
    stroke: #991b1b; 
    stroke-width: 9; 
    filter: drop-shadow(0 0 3px rgba(153, 27, 27, 0.5));
}

.rk-svg-heat-arrow {
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    opacity: 0;
    transition: opacity 0.3s;
}

.mode-danger .rk-svg-heat-arrow {
    stroke: var(--rk-vein-red);
    opacity: 0.8;
    animation: riseHeat 1.5s infinite linear;
}

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

/* Dolna sekcja - Treść opisowa */
.rk-vein-content-bottom {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-vein-content-bottom h3 {
    text-align: center;
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-vein-slate);
    margin: 0 0 30px 0;
}

.rk-vein-cards-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.rk-vein-card {
    background: #ffffff;
    border: 1px solid var(--rk-vein-border);
    border-top: 4px solid var(--rk-vein-blue);
    padding: 30px 25px;
    border-radius: 12px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: transform 0.3s, box-shadow 0.3s;
}

.rk-vein-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.15);
}

.rk-vein-card.warning-card {
    border-top-color: var(--rk-vein-red);
}

.rk-vein-card strong {
    display: block;
    font-size: 18px;
    color: var(--rk-vein-dark);
    margin-bottom: 15px;
    line-height: 1.3;
}

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

.rk-vein-card a {
    color: var(--rk-vein-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.warning-card a {
    color: var(--rk-vein-red);
}

/* RWD Mobile */
@media (max-width: 768px) {
    .rk-vein-header, .rk-vein-interactive, .rk-vein-content-bottom { padding: 30px 20px; }
    .rk-sim-vessel-wrapper { grid-template-columns: 1fr; gap: 30px; padding: 20px; }
    .rk-vein-cards-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-temp-display-wrap { 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/czy-ogrzewanie-podlogowe-jest-zdrowe/#article-zylaki",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/"
    },
    "headline": "Czy ogrzewanie podłogowe powoduje żylaki i puchnięcie nóg?",
    "description": "Naukowe wyjaśnienie wpływu temperatury posadzki na układ krążenia człowieka. Omawiamy fizjologiczną neutralność oraz konsekwencje błędów projektowych wywołujących wazodylatację.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-12-29",
    "dateModified": "2026-06-23"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#dataset-zylaki",
    "name": "Parametry Termiczne a Fizjologia Układu Krążenia",
    "description": "Zestawienie relacji pomiędzy temperaturą powierzchni jastrychu a reakcją naczyń krwionośnych (ciśnienie hydrostatyczne, wazodylatacja) w kończynach dolnych człowieka.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "żylaki od ogrzewania podłogowego",
      "puchnięcie nóg podłogówka",
      "wazodylatacja ogrzewanie",
      "bezpieczna temperatura podłogi",
      "zdrowie nóg przy podłogówce"
    ],
    "measurementTechnique": "Zestawienie limitu normowego (29°C) z naturalną średnią temperaturą skóry stóp (33-35°C) w celu wykazania fizycznej niemożliwości sztucznego przegrzewania krwi przy sprawnym systemie.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Temperatura skóry stóp: 33–35°C.",
        "Maksymalna temperatura podłogi (Norma): 29°C (Brak obciążenia żył).",
        "Przegrzew (Błąd instalacyjny): > 30°C (Ryzyko wazodylatacji i obrzęków)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#webapp-zylaki",
    "name": "Symulator Wazodylatacji i Temperatury Posadzki",
    "description": "Narzędzie interaktywne ilustrujące biologiczne reakcje naczyń krwionośnych (rozszerzanie) na przekroczenie fizjologicznej temperatury granicznej podłogi grzewczej.",
    "applicationCategory": "HealthApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5, CSS3",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-vascular-container" id="vascular-sim-app">
    <div class="rk-vein-header">
        <h2>Czy ogrzewanie podłogowe powoduje żylaki i puchnięcie nóg?</h2>
        <p>Prawidłowo zaprojektowane ogrzewanie podłogowe nie wywołuje żylaków ani obrzęków nóg. Problem medyczny pojawia się wyłącznie przy tzw. „przegrzewie” instalacji będącym wynikiem błędów projektowych.</p>
    </div>

    <div class="rk-vein-interactive">
        <div class="rk-sim-vessel-wrapper">
            <div class="rk-vessel-controls">
                <h4 class="rk-vessel-title">Symulator Reakcji Naczyń Krwionośnych</h4>
                <p class="rk-vessel-desc">Przesuń suwak, aby zmienić temperaturę jastrychu. Zaobserwuj moment, w którym posadzka przestaje być chłodniejsza od krwi w stopach i wywołuje nienaturalną reakcję obronną organizmu.</p>
                
                <div class="rk-temp-display-wrap">
                    <div class="rk-val-display" id="veinTempDisplay">26°C</div>
                    <div class="rk-val-status" id="veinStatusText">Fizjologiczna Neutralność</div>
                </div>
                
                <input type="range" id="veinSlider" class="rk-slider-vein" min="20" max="38" step="1" value="26">
                <div class="rk-slider-labels">
                    <span>Zimno (20°C)</span>
                    <span>Norma (29°C)</span>
                    <span style="color: var(--rk-vein-red);">Przegrzew (38°C)</span>
                </div>
            </div>

            <div class="rk-vessel-screen" id="veinScreen">
                <svg class="rk-leg-svg" viewBox="0 0 100 200">
                    <path class="rk-svg-heat-arrow" d="M20 180 Q30 160 20 140" />
                    <path class="rk-svg-heat-arrow" d="M80 180 Q70 160 80 140" style="animation-delay: 0.7s;" />
                    
                    <path class="rk-svg-skin" d="M30 20 L30 120 Q30 150 20 170 Q10 190 20 195 Q30 200 60 195 Q80 190 80 170 Q70 150 70 120 L70 20 Z" />
                    
                    <path class="rk-svg-vein" d="M45 20 Q40 50 50 80 T45 130 Q40 160 55 180" />
                    <path class="rk-svg-vein" d="M60 30 Q50 60 65 90 T55 140 Q60 160 55 180" />
                </svg>
            </div>
        </div>
    </div>

    <div class="rk-vein-content-bottom">
        <h3>Wpływ temperatury posadzki na układ krążenia</h3>
        
        <div class="rk-vein-cards-grid">
            <div class="rk-vein-card">
                <strong>Fizjologiczna neutralność</strong>
                <p>Ponieważ podłoga o normatywnej temperaturze 27°C jest fizycznie chłodniejsza od krwi w naszych stopach (średnio 33–35°C), nie ma fizycznej możliwości, aby ogrzewanie płaszczyznowe sztucznie podnosiło ciśnienie hydrostatyczne w kończynach dolnych czy powodowało pękanie naczynek. Zapoznaj się z wytycznymi i zobacz <a href="https://projekt-ogrzewania.pl/jaka-jest-optymalna-temperatura-ogrzewania-podlogowego/">jaka jest optymalna temperatura posadzki</a>.</p>
            </div>

            <div class="rk-vein-card warning-card">
                <strong>Konsekwencje błędów (Wazodylatacja)</strong>
                <p>Jeśli instalator pominie wykonanie OZC i zasili układ zbyt wysokim parametrem wody, jastrych rozgrzeje się powyżej 30°C. Stałe przebywanie na tak gorącym podłożu wywołuje u osób z niewydolnością żylną tzw. <em>wazodylatację</em> (rozszerzenie naczyń). Skutkuje to uczuciem ciężkich nóg i zastojami limfatycznymi. Zobacz, <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-glowy-vs-projekt-z-obliczeniami-ile-mozesz-stracic-na-bledach/">ile tracisz na błędach przy braku projektu obliczeniowego</a>.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const veinSlider = document.getElementById('veinSlider');
    const veinTempDisplay = document.getElementById('veinTempDisplay');
    const veinStatusText = document.getElementById('veinStatusText');
    const veinScreen = document.getElementById('veinScreen');

    function updateVascularSimulation() {
        const temp = parseInt(veinSlider.value);
        veinTempDisplay.textContent = temp + "°C";

        // BEZPIECZNA LOGIKA IF (Zagnieżdżenia, bez znaków logicznych &&)
        if (temp <= 29) {
            // Stan Bezpieczny (Norma PN-EN 1264)
            veinScreen.className = 'rk-vessel-screen';
            veinTempDisplay.style.backgroundColor = 'var(--rk-vein-green)';
            veinStatusText.style.color = 'var(--rk-vein-green)';
            
            if (temp < 24) {
                veinStatusText.textContent = "Chłodno (Brak obciążeń)";
            } else {
                veinStatusText.textContent = "Fizjologiczna Neutralność";
            }
            
        } else {
            // Stan Zagrożenia (Przegrzew i Wazodylatacja)
            veinScreen.className = 'rk-vessel-screen mode-danger';
            veinTempDisplay.style.backgroundColor = 'var(--rk-vein-red)';
            veinStatusText.style.color = 'var(--rk-vein-red)';
            
            if (temp < 33) {
                veinStatusText.textContent = "Lekki Przegrzew (Dyskomfort)";
            } else {
                veinStatusText.textContent = "WAZODYLATACJA (Puchnięcie)";
            }
        }
    }

    veinSlider.addEventListener('input', updateVascularSimulation);
    
    // Inicjalizacja startowa
    updateVascularSimulation();
});
</script>



<style>
:root {
    --rk-prof-dark: #0f172a;
    --rk-prof-slate: #1e293b;
    --rk-prof-blue: #0284c7;
    --rk-prof-blue-light: #e0f2fe;
    --rk-prof-green: #059669;
    --rk-prof-red: #dc2626;
    --rk-prof-orange: #ea580c;
    --rk-prof-gray: #64748b;
    --rk-prof-border: #e2e8f0;
    --rk-prof-bg: #ffffff;
}

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

/* Nagłówek */
.rk-prof-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-prof-dark) 0%, var(--rk-prof-slate) 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-prof-blue);
}

.rk-prof-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-prof-header p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

/* Układ główny */
.rk-prof-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #f8fafc;
}

/* Symulator (Lewa strona) */
.rk-prof-interactive {
    padding: 40px 50px;
    background: #ffffff;
    border-right: 1px solid var(--rk-prof-border);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-prof-toggle {
    display: flex;
    background: #f1f5f9;
    border-radius: 12px;
    padding: 6px;
    margin-bottom: 30px;
    width: 100%;
}

.rk-prof-btn {
    flex: 1;
    padding: 12px 15px;
    border: none;
    background: transparent;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-prof-gray);
    cursor: pointer;
    transition: all 0.3s ease;
}

.rk-prof-btn.active {
    background: #ffffff;
    color: var(--rk-prof-blue);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}

.rk-prof-canvas {
    width: 100%;
    max-width: 250px;
    background: var(--rk-prof-blue-light);
    border-radius: 20px;
    padding: 20px;
    border: 1px solid var(--rk-prof-border);
    position: relative;
    transition: background 0.4s;
}

.rk-prof-canvas.mode-rad {
    background: #ffedd5;
    border-color: #fdba74;
}

/* SVG Wskaźniki i gradienty */
.rk-human-svg {
    width: 100%;
    height: auto;
}

.svg-head-zone, .svg-core-zone, .svg-feet-zone {
    transition: fill 0.5s ease;
}

.rk-temp-label {
    position: absolute;
    background: #ffffff;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    border: 1px solid var(--rk-prof-border);
    transition: all 0.4s;
}

#label-head { top: 30px; right: 10px; }
#label-core { top: 130px; right: 10px; }
#label-feet { bottom: 40px; right: 10px; }

/* Wynik pod sylwetką */
.rk-prof-status {
    margin-top: 25px;
    text-align: center;
}

.rk-prof-status h4 {
    margin: 0 0 8px 0;
    font-size: 18px;
    color: var(--rk-prof-dark);
}

.rk-prof-status p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-prof-gray);
    line-height: 1.5;
}

/* Treść opisowa (Prawa strona) */
.rk-prof-content {
    padding: 40px 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-prof-content h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-prof-slate);
    margin: 0 0 25px 0;
}

.rk-prof-card {
    background: #ffffff;
    border: 1px solid var(--rk-prof-border);
    border-left: 4px solid var(--rk-prof-blue);
    padding: 25px;
    border-radius: 12px;
    margin-bottom: 20px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: transform 0.3s;
}

.rk-prof-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 15px -3px rgba(2, 132, 199, 0.1);
}

.rk-prof-card strong {
    display: block;
    font-size: 16px;
    color: var(--rk-prof-dark);
    margin-bottom: 10px;
}

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

.rk-prof-card a {
    color: var(--rk-prof-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* RWD Mobile */
@media (max-width: 768px) {
    .rk-prof-header { padding: 30px 20px; }
    .rk-prof-layout { grid-template-columns: 1fr; }
    .rk-prof-interactive { padding: 30px 20px; border-right: none; border-bottom: 1px solid var(--rk-prof-border); }
    .rk-prof-content { padding: 30px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#article-profile",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/"
    },
    "headline": "Jak ogrzewanie podłogowe wpływa na samopoczucie i układ krążenia człowieka?",
    "description": "Analiza pionowego profilu termicznego człowieka. Ogrzewanie podłogowe wspiera naturalną termoregulację, zapobiega przegrzewaniu głowy i chroni stawy.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-12-29",
    "dateModified": "2026-06-23"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#dataset-profile",
    "name": "Pionowy Profil Temperatur: Ogrzewanie Podłogowe vs Konwekcyjne",
    "description": "Zestawienie rozkładu temperatury powietrza w zależności od wysokości pomieszczenia, uwzględniające wpływ na ludzką fizjologię i samopoczucie.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pionowy profil temperatury",
      "optymalna temperatura dla człowieka",
      "podłogówka a krążenie krwi",
      "bóle reumatyczne ogrzewanie",
      "komfort cieplny w domu"
    ],
    "measurementTechnique": "Pomiar gradientu temperatury od poziomu posadzki (0,1 m) do strefy oddychania (1,7 m) zestawiony z odczuciem komfortu cieplnego organizmu (termoregulacja).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Strefa stóp: 22-24°C (Idealne dla podłogówki) vs 16-18°C (Grzejniki).",
        "Strefa głowy: 18-20°C (Podłogówka) vs 24-26°C (Grzejniki - uczucie senności)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#webapp-profile",
    "name": "Symulator Fizjologii i Termoregulacji",
    "description": "Narzędzie pozwalające przełączać modele ogrzewania w celu weryfikacji mapy cieplnej na sylwetce człowieka, obrazujące powstawanie tzw. stref zimna.",
    "applicationCategory": "HealthApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5, CSS3",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-profile-container" id="profile-sim-app">
    <div class="rk-prof-header">
        <h2>Jak ogrzewanie podłogowe wpływa na samopoczucie i układ krążenia człowieka?</h2>
        <p>Nasze ciała ewolucyjnie zaprogramowane są na konkretny rozkład ciepła. Poznaj zjawisko pionowego profilu termicznego, które tłumaczy, dlaczego przy grzejnikach czujesz senność, a przy podłogówce odzyskujesz naturalną energię.</p>
    </div>

    <div class="rk-prof-layout">
        <div class="rk-prof-interactive">
            <div class="rk-prof-toggle">
                <button class="rk-prof-btn active" data-system="floor">Ogrzewanie Podłogowe</button>
                <button class="rk-prof-btn" data-system="rad">Tradycyjne Grzejniki</button>
            </div>

            <div class="rk-prof-canvas" id="profileCanvas">
                <div class="rk-temp-label" id="label-head">18°C</div>
                <div class="rk-temp-label" id="label-core">20°C</div>
                <div class="rk-temp-label" id="label-feet">24°C</div>

                <svg class="rk-human-svg" viewBox="0 0 100 250">
                    <path id="rad-waves" d="M10 20 Q20 5 30 20 T50 20" fill="none" stroke="#ea580c" stroke-width="3" opacity="0" />
                    <path id="rad-waves2" d="M10 40 Q20 25 30 40 T50 40" fill="none" stroke="#ea580c" stroke-width="3" opacity="0" />
                    
                    <circle class="svg-head-zone" id="zone-head" cx="50" cy="40" r="20" fill="#0ea5e9" />
                    <rect class="svg-core-zone" id="zone-core" x="30" y="65" width="40" height="80" rx="15" fill="#10b981" />
                    <path class="svg-feet-zone" id="zone-feet" d="M40 140 L40 220 A10 10 0 0 0 60 220 L60 140 Z" fill="#ef4444" />
                    
                    <path id="floor-waves" d="M20 240 Q30 230 40 240 T60 240 T80 240" fill="none" stroke="#ef4444" stroke-width="3" />
                </svg>
            </div>

            <div class="rk-prof-status">
                <h4 id="statusTitle" style="color: #059669;">Idealna Termoregulacja</h4>
                <p id="statusDesc">Chłodna głowa sprzyja koncentracji. Ciepło u stóp zapobiega stratom energii.</p>
            </div>
        </div>

        <div class="rk-prof-content">
            <h3>Naturalny profil termiczny a zdrowie</h3>
            
            <div class="rk-prof-card">
                <strong>Wsparcie dla stawów</strong>
                <p>Równomierne, stabilne ciepło emitowane przez całą płaszczyznę podłogi działa terapeutycznie na receptory nerwowe. Dzięki <a href="https://projekt-ogrzewania.pl/jaka-jest-optymalna-temperatura-ogrzewania-podlogowego/">optymalnej temperaturze podłogówki</a>, system zmniejsza patologiczne napięcie mięśniowe i skutecznie łagodzi chroniczne bóle reumatyczne u osób starszych.</p>
            </div>

            <div class="rk-prof-card" style="border-left-color: var(--rk-prof-orange);">
                <strong>Brak stref zimna</strong>
                <p>Tradycyjne grzejniki pozostawiają podłogę zimną, co wymusza na organizmie stałe wydatkowanie energii na ogrzanie stóp. Prawidłowy <a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/">bilans cieplny budynku</a> z ogrzewaniem płaszczyznowym eliminuje ten problem, znacząco poprawiając ogólny komfort termiczny.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-prof-btn');
    const canvas = document.getElementById('profileCanvas');
    
    // Labels
    const labelHead = document.getElementById('label-head');
    const labelCore = document.getElementById('label-core');
    const labelFeet = document.getElementById('label-feet');
    
    // SVG Zones
    const zoneHead = document.getElementById('zone-head');
    const zoneCore = document.getElementById('zone-core');
    const zoneFeet = document.getElementById('zone-feet');
    
    // SVG Waves
    const radWaves = document.getElementById('rad-waves');
    const radWaves2 = document.getElementById('rad-waves2');
    const floorWaves = document.getElementById('floor-waves');
    
    // Status
    const statusTitle = document.getElementById('statusTitle');
    const statusDesc = document.getElementById('statusDesc');

    for (let i = 0; i < btns.length; i++) {
        btns[i].addEventListener('click', function() {
            // Reset buttons
            for (let j = 0; j < btns.length; j++) {
                btns[j].classList.remove('active');
            }
            this.classList.add('active');

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

            // BEZPIECZNA LOGIKA (Brak zagrażających znaków logicznych)
            if (system === 'floor') {
                canvas.className = 'rk-prof-canvas mode-floor';
                
                // Labels
                labelHead.textContent = '18-20°C';
                labelHead.style.color = '#0284c7';
                
                labelCore.textContent = '20-22°C';
                labelCore.style.color = '#059669';
                
                labelFeet.textContent = '22-24°C';
                labelFeet.style.color = '#dc2626';

                // SVG Colors
                zoneHead.setAttribute('fill', '#0ea5e9'); // Blue
                zoneCore.setAttribute('fill', '#10b981'); // Green
                zoneFeet.setAttribute('fill', '#ef4444'); // Red

                // Waves
                floorWaves.setAttribute('opacity', '1');
                radWaves.setAttribute('opacity', '0');
                radWaves2.setAttribute('opacity', '0');

                // Text
                statusTitle.textContent = 'Idealna Termoregulacja';
                statusTitle.style.color = '#059669';
                statusDesc.textContent = 'Chłodna głowa sprzyja koncentracji. Ciepło u stóp zapobiega stratom energii.';

            } else {
                canvas.className = 'rk-prof-canvas mode-rad';
                
                // Labels
                labelHead.textContent = '24-26°C';
                labelHead.style.color = '#dc2626';
                
                labelCore.textContent = '20-22°C';
                labelCore.style.color = '#ea580c';
                
                labelFeet.textContent = '16-18°C';
                labelFeet.style.color = '#0284c7';

                // SVG Colors
                zoneHead.setAttribute('fill', '#ef4444'); // Red
                zoneCore.setAttribute('fill', '#f97316'); // Orange
                zoneFeet.setAttribute('fill', '#0ea5e9'); // Blue

                // Waves
                floorWaves.setAttribute('opacity', '0');
                radWaves.setAttribute('opacity', '1');
                radWaves2.setAttribute('opacity', '1');

                // Text
                statusTitle.textContent = 'Odwrócony Profil (Stres)';
                statusTitle.style.color = '#ea580c';
                statusDesc.textContent = 'Przegrzane powietrze pod sufitem wywołuje senność i bóle głowy. Stopy marzną.';
            }
        });
    }
});
</script>



<style>
:root {
    --rk-air-dark: #0f172a;
    --rk-air-slate: #1e293b;
    --rk-air-blue: #0ea5e9;
    --rk-air-light-blue: #f0f9ff;
    --rk-air-green: #10b981;
    --rk-air-orange: #f97316;
    --rk-air-red: #ef4444;
    --rk-air-gray: #64748b;
    --rk-air-border: #e2e8f0;
    --rk-air-bg: #ffffff;
}

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

/* Nagłówek */
.rk-air-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-air-dark) 0%, var(--rk-air-slate) 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-air-blue);
    text-align: center;
}

.rk-air-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-air-header p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
}

/* Górna sekcja - Symulator (Pełna szerokość) */
.rk-air-interactive-top {
    padding: 40px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-air-border);
}

.rk-sim-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    background: #ffffff;
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.05);
    border: 1px solid var(--rk-air-border);
}

.rk-sim-controls {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

.rk-sim-desc {
    font-size: 14px;
    color: var(--rk-air-gray);
    margin: 0 0 25px 0;
    line-height: 1.5;
}

.rk-val-display {
    display: inline-block;
    background: var(--rk-air-dark);
    color: #ffffff;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 22px;
    font-weight: 900;
    font-family: monospace;
    margin-bottom: 20px;
}

/* Custom Slider */
.rk-slider-air {
    width: 100%;
    -webkit-appearance: none;
    height: 10px;
    border-radius: 5px;
    background: linear-gradient(90deg, var(--rk-air-green) 0%, var(--rk-air-orange) 60%, var(--rk-air-red) 100%);
    outline: none;
    margin-bottom: 12px;
}

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

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

.rk-slider-labels {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-air-gray);
}

/* Ekran SVG */
.rk-svg-screen {
    background: var(--rk-air-light-blue);
    border-radius: 16px;
    border: 2px solid var(--rk-air-border);
    padding: 30px;
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: all 0.4s;
}

.rk-svg-screen.mode-danger {
    background: #fef2f2;
    border-color: var(--rk-air-red);
}

.rk-svg-graphic {
    width: 100%;
    max-width: 160px;
    height: auto;
    margin-bottom: 25px;
}

/* Animacje SVG */
.rk-dust { transition: all 0.3s; fill: #94a3b8; }
.mode-danger .rk-dust { fill: var(--rk-air-red); animation: burnDust 0.8s infinite alternate; }

.rk-humidity-bar { transition: height 0.5s cubic-bezier(0.4, 0, 0.2, 1), fill 0.5s; fill: var(--rk-air-blue); }
.mode-danger .rk-humidity-bar { fill: var(--rk-air-red); }

@keyframes burnDust {
    0% { transform: scale(1) translateY(0); opacity: 0.8; }
    100% { transform: scale(1.5) translateY(-5px); opacity: 1; filter: drop-shadow(0 0 4px rgba(239, 68, 68, 0.6)); }
}

.rk-status-box {
    display: flex;
    justify-content: space-around;
    align-items: center;
    background: #ffffff;
    padding: 15px;
    border-radius: 12px;
    border: 1px solid var(--rk-air-border);
}

.rk-stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-stat-label {
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-air-gray);
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.rk-stat-val {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-air-blue);
    transition: color 0.3s;
}

.mode-danger .rk-stat-val.warn { color: var(--rk-air-red); }

/* Dolna sekcja - Kafelki z tekstem */
.rk-air-content-bottom {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-air-content-bottom h3 {
    text-align: center;
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-air-slate);
    margin: 0 0 30px 0;
}

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

.rk-feature-card {
    background: var(--rk-air-light-blue);
    border-top: 4px solid var(--rk-air-blue);
    padding: 25px 20px;
    border-radius: 0 0 12px 12px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-feature-card:hover {
    background: #e0f2fe;
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(14, 165, 233, 0.15);
}

.rk-feature-card strong {
    display: block;
    color: var(--rk-air-dark);
    font-size: 16px;
    margin-bottom: 12px;
    line-height: 1.3;
}

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

.rk-feature-card a {
    color: var(--rk-air-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* RWD Mobile */
@media (max-width: 768px) {
    .rk-air-header, .rk-air-interactive-top, .rk-air-content-bottom { padding: 30px 20px; }
    .rk-sim-wrapper { grid-template-columns: 1fr; gap: 30px; padding: 20px; }
    .rk-cards-grid { grid-template-columns: 1fr; gap: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#article-respiratory",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/"
    },
    "headline": "Dlaczego podłogówka chroni układ oddechowy przed infekcjami i suchością?",
    "description": "Niskotemperaturowe ogrzewanie płaszczyznowe zapobiega suchej destylacji kurzu i utrzymuje wilgotność powietrza na optymalnym poziomie 40-60%.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-12-29",
    "dateModified": "2026-06-23"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#dataset-respiratory",
    "name": "Parametry Mikroklimatu: Wilgotność i Temperatura Emisji Ciepła",
    "description": "Zależność między temperaturą zasilania systemu grzewczego a zjawiskiem termicznego rozkładu kurzu (suchej destylacji) oraz wpływem na wilgotność względną powietrza wewnętrznego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "układ oddechowy a podłogówka",
      "sucha destylacja kurzu",
      "wilgotność powietrza w domu",
      "ogrzewanie dla alergików",
      "przypalanie kurzu na grzejniku"
    ],
    "measurementTechnique": "Określenie krytycznego punktu temperaturowego (55°C), powyżej którego organiczne frakcje kurzu ulegają rozkładowi chemicznemu, w odniesieniu do pomiarów psychrometrycznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Ogrzewanie płaszczyznowe (<29°C): Brak destylacji kurzu, wilgotność na poziomie 55%.",
        "Grzejniki konwekcyjne (>55°C): Występowanie przypalania kurzu, produkcja toksyn.",
        "Obniżenie temperatury pow. o 1°C podnosi wilgotność względną o 5%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#webapp-respiratory",
    "name": "Symulator Mikroklimatu i Suchej Destylacji Kurzu",
    "description": "Interaktywne narzędzie JS obrazujące moment rozpoczęcia procesu przypalania kurzu na wymiennikach ciepła oraz spadek wilgotności przy różnych parametrach instalacji.",
    "applicationCategory": "HealthApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-resp-container" id="resp-sim-app">
    <div class="rk-air-header">
        <h2>Dlaczego podłogówka chroni układ oddechowy przed infekcjami i suchością?</h2>
        <p>Niskotemperaturowe ogrzewanie płaszczyznowe całkowicie eliminuje zjawisko tzw. suchej destylacji (przypalania) kurzu. Przekonaj się sam, jak temperatura zasilania wpływa na domowy mikroklimat i Twoje drogi oddechowe.</p>
    </div>

    <div class="rk-air-interactive-top">
        <div class="rk-sim-wrapper">
            <div class="rk-sim-controls">
                <h4 class="rk-sim-title">Symulator Emisji Ciepła</h4>
                <p class="rk-sim-desc">Zwiększ temperaturę na wirtualnym sterowniku i obserwuj fizykę powietrza. Powyżej 55°C rozpoczyna się toksyczny rozkład kurzu domowego.</p>
                
                <div class="rk-val-display" id="tempValue">25°C</div>
                
                <input type="range" id="heatSlider" class="rk-slider-air" min="25" max="75" step="1" value="25">
                <div class="rk-slider-labels">
                    <span>Podłogówka (25-35°C)</span>
                    <span>Grzejniki (55-75°C)</span>
                </div>
            </div>

            <div class="rk-svg-screen" id="displayScreen">
                <svg class="rk-svg-graphic" viewBox="0 0 200 150">
                    <rect x="20" y="20" width="15" height="100" fill="#e2e8f0" rx="7.5"></rect>
                    <rect id="humidBar" class="rk-humidity-bar" x="20" y="40" width="15" height="80" rx="7.5"></rect>
                    <text x="12" y="15" font-size="10" fill="#64748b" font-weight="bold">RH%</text>

                    <rect x="70" y="100" width="100" height="20" fill="#cbd5e1" rx="4"></rect>
                    <circle cx="120" cy="110" r="8" fill="#38bdf8" id="heatSource" style="transition: fill 0.3s;"></circle>

                    <circle cx="90" cy="70" r="3" class="rk-dust" id="d1"></circle>
                    <circle cx="120" cy="50" r="4" class="rk-dust" id="d2"></circle>
                    <circle cx="150" cy="80" r="2.5" class="rk-dust" id="d3"></circle>
                    <circle cx="100" cy="30" r="3" class="rk-dust" id="d4"></circle>
                    <circle cx="140" cy="40" r="3.5" class="rk-dust" id="d5"></circle>
                </svg>

                <div class="rk-status-box">
                    <div class="rk-stat-item">
                        <span class="rk-stat-label">Wilgotność</span>
                        <span class="rk-stat-val warn" id="humidValue">55%</span>
                    </div>
                    <div class="rk-stat-item">
                        <span class="rk-stat-label">Stan Powietrza</span>
                        <span class="rk-stat-val warn" id="airStatus">Czyste</span>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-air-content-bottom">
        <h3>Brak przypalania kurzu i ochrona śluzówek</h3>
        <div class="rk-cards-grid">
            
            <div class="rk-feature-card">
                <strong>Bariera dla wirusów i bakterii</strong>
                <p>Ponieważ powietrze nie jest lokalnie przegrzewane, naturalna wilgotność w domu bez trudu utrzymuje się w zdrowym przedziale <strong>40–60%</strong>. Zapobiega to <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-wysusza-powietrze-w-pomieszczeniach/">wysychaniu błon śluzowych nosa i gardła</a>, które stanowią najważniejszą linię obrony organizmu przed infekcjami.</p>
            </div>

            <div class="rk-feature-card">
                <strong>Eliminacja suchej destylacji</strong>
                <p>Zjawisko tzw. suchej destylacji (przypalania) kurzu standardowo zachodzi na powierzchniach rozgrzanych powyżej 55°C. Dzięki bezpiecznej temperaturze podłogówki (poniżej 29°C), do dróg oddechowych nie trafiają toksyczne lotne produkty rozkładu organicznego.</p>
            </div>

            <div class="rk-feature-card">
                <strong>Medyczne aspekty mikroklimatu</strong>
                <p>Badania naukowe (m.in. analizy ISIAQ) dowodzą, że obniżenie średniej temperatury powietrza o 1–2°C automatycznie podnosi wilgotność o ok. 5%. Zobacz, dlaczego <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/">rekuperacja z ogrzewaniem podłogowym</a> to optymalny duet dla domowego powietrza.</p>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const heatSlider = document.getElementById('heatSlider');
    const tempValue = document.getElementById('tempValue');
    const displayScreen = document.getElementById('displayScreen');
    const humidBar = document.getElementById('humidBar');
    const humidValue = document.getElementById('humidValue');
    const airStatus = document.getElementById('airStatus');
    const heatSource = document.getElementById('heatSource');

    function updateSimulation() {
        const temp = parseInt(heatSlider.value);
        tempValue.textContent = temp + "°C";

        // Obliczanie wilgotności na podstawie temperatury zasilania (uproszczony model psychrometryczny)
        let baseRH = 55;
        let drop = (temp - 25) * 0.7; // spadek o 0.7% na każdy stopień wzrostu
        
        // BEZPIECZNA LOGIKA IF (Zagnieżdżenia, bez znaków logicznych zagrażających parsowaniu)
        if (drop < 0) {
            drop = 0;
        }
        let currentRH = Math.round(baseRH - drop);
        
        humidValue.textContent = currentRH + "%";
        
        // Zmiana wysokości paska wilgotności
        let barHeight = (currentRH / 55) * 80;
        let barY = 120 - barHeight;
        
        humidBar.setAttribute('height', barHeight);
        humidBar.setAttribute('y', barY);

        // Zmiana barwy źródła ciepła
        if (temp > 45) {
            heatSource.setAttribute('fill', '#f97316'); // Orange
        } else {
            heatSource.setAttribute('fill', '#38bdf8'); // Blue
        }

        // Aktywacja stanu krytycznego (przypalanie kurzu > 55C)
        if (temp >= 55) {
            heatSource.setAttribute('fill', '#ef4444'); // Red
            displayScreen.className = 'rk-svg-screen mode-danger';
            airStatus.textContent = "Toksyczne";
        } else {
            displayScreen.className = 'rk-svg-screen';
            if (temp < 55) {
                if (currentRH > 40) {
                    airStatus.textContent = "Czyste";
                }
            }
            
            if (currentRH <= 40) {
                if (temp < 55) {
                    airStatus.textContent = "Przesuszone";
                }
            }
        }
    }

    heatSlider.addEventListener('input', updateSimulation);
    
    // Uruchomienie na start
    updateSimulation();
});
</script>



<style>
:root {
    --rk-slp-dark: #1e293b;
    --rk-slp-navy: #0f172a;
    --rk-slp-blue: #3b82f6;
    --rk-slp-light-blue: #eff6ff;
    --rk-slp-green: #10b981;
    --rk-slp-orange: #f59e0b;
    --rk-slp-red: #ef4444;
    --rk-slp-gray: #64748b;
    --rk-slp-border: #e2e8f0;
    --rk-slp-bg: #ffffff;
}

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

/* Nagłówek */
.rk-slp-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-slp-navy) 0%, var(--rk-slp-dark) 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-slp-blue);
}

.rk-slp-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-slp-header p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

.rk-slp-header a {
    color: #93c5fd;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 600;
}

/* Sekcja z tekstem obok symulatora */
.rk-slp-content {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    background: #f8fafc;
}

.rk-slp-info {
    padding: 40px 30px 40px 50px;
    background: #ffffff;
    border-right: 1px solid var(--rk-slp-border);
}

.rk-slp-info h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-slp-dark);
    margin: 0 0 20px 0;
}

.rk-slp-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-slp-list li {
    position: relative;
    padding-left: 20px;
    font-size: 14px;
    line-height: 1.7;
    color: #475569;
}

.rk-slp-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--rk-slp-blue);
}

.rk-slp-list strong {
    color: var(--rk-slp-dark);
    display: block;
    margin-bottom: 4px;
    font-size: 15px;
}

.rk-slp-list a {
    color: var(--rk-slp-blue);
    font-weight: 600;
    text-decoration: none;
}

/* Interaktywny Symulator */
.rk-slp-interactive {
    padding: 40px 50px 40px 30px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Kontrolki (Suwak + Przyciski) */
.rk-slp-controls {
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-slp-border);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-slp-slider-wrap {
    margin-bottom: 25px;
}

.rk-slp-slider-wrap label {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-slp-dark);
    margin-bottom: 12px;
}

.rk-slp-badge {
    background: var(--rk-slp-blue);
    color: #ffffff;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 14px;
}

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

.rk-slider-temp::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--rk-slp-blue);
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    transition: transform 0.1s;
}

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

/* Toggle Meble */
.rk-slp-toggle-group {
    display: flex;
    background: #f1f5f9;
    border-radius: 10px;
    padding: 4px;
    gap: 4px;
}

.rk-toggle-btn {
    flex: 1;
    padding: 10px;
    border: none;
    background: transparent;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-slp-gray);
    cursor: pointer;
    transition: all 0.3s;
}

.rk-toggle-btn.active {
    background: #ffffff;
    color: var(--rk-slp-dark);
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

/* Ekran Wynikowy (SVG + Status) */
.rk-slp-display {
    background: #ffffff;
    border: 2px solid var(--rk-slp-border);
    border-radius: 16px;
    padding: 30px;
    text-align: center;
    position: relative;
    transition: border-color 0.4s;
}

.rk-slp-svg-area {
    height: 120px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    margin-bottom: 20px;
    position: relative;
}

/* SVG Elements */
.rk-svg-bed { transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
.rk-svg-heat { fill: none; stroke-width: 3; stroke-linecap: round; transition: stroke 0.4s, opacity 0.4s; }

/* Stany grafiki */
.state-legs .rk-svg-bed { transform: translateY(-15px); }
.state-nolegs .rk-svg-bed { transform: translateY(0); }

.state-legs .rk-svg-heat { animation: floatHeat 2s infinite linear; }
.state-nolegs .rk-svg-heat { animation: trapHeat 1s infinite alternate; }

@keyframes floatHeat {
    0% { transform: translateY(0); opacity: 0; }
    50% { opacity: 0.8; }
    100% { transform: translateY(-30px); opacity: 0; }
}

@keyframes trapHeat {
    0% { transform: translateY(0); opacity: 0.4; }
    100% { transform: translateY(-5px); opacity: 1; }
}

.rk-status-indicator {
    font-size: 18px;
    font-weight: 900;
    transition: color 0.3s;
    margin-bottom: 5px;
}

.rk-status-desc {
    font-size: 13px;
    color: var(--rk-slp-gray);
    margin: 0;
    min-height: 38px;
}

/* RWD Mobile */
@media (max-width: 768px) {
    .rk-slp-header { padding: 30px 20px; }
    .rk-slp-content { grid-template-columns: 1fr; }
    .rk-slp-info { padding: 30px 20px; border-right: none; border-bottom: 1px solid var(--rk-slp-border); }
    .rk-slp-interactive { padding: 30px 20px; }
    .rk-slp-toggle-group { flex-direction: column; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#article-sleep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/"
    },
    "headline": "Czy spanie w sypialni z ogrzewaniem podłogowym jest zdrowe?",
    "description": "Fizjologia snu w sypialni z ogrzewaniem płaszczyznowym. Analiza fazy NREM, temperatury otoczenia i wpływu konstrukcji mebli na prawidłową termoregulację organizmu.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-12-29",
    "dateModified": "2026-06-23"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#dataset-sleep",
    "name": "Parametry Mikroklimatu Sypialni dla Ogrzewania Płaszczyznowego",
    "description": "Zestawienie optymalnych warunków termicznych dla zachowania głębokiej fazy snu (NREM) oraz wymogów konstrukcyjnych dla mebli sypialnianych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "sypialnia z ogrzewaniem podłogowym",
      "temperatura do snu podłogówka",
      "faza NREM a temperatura powietrza",
      "bezwładność cieplna jastrychu w sypialni",
      "łóżko na ogrzewanie podłogowe nóżki"
    ],
    "measurementTechnique": "Określenie korelacji między temperaturą 17-19°C a jakością snu głębokiego (NREM), oraz badanie blokady strumienia cieplnego przez meble bez prześwitu (<10cm).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Optymalna temperatura powietrza w nocy: 17°C - 19°C.",
        "Minimalny prześwit pod łóżkiem dla prawidłowej emisji promieniowania: 10 cm.",
        "Skutek przekroczenia 22°C: Redukcja fazy NREM, mikro-wybudzenia, ból głowy."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#webapp-sleep",
    "name": "Symulator Snu i Termodynamiki Sypialni",
    "description": "Interaktywna aplikacja przeglądarkowa symulująca zachowanie ogrzewania podłogowego w sypialni w zależności od temperatury powietrza oraz obecności nóżek w konstrukcji łóżka.",
    "applicationCategory": "HealthApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-sleep-container" id="sleep-sim-app">
    <div class="rk-slp-header">
        <h2>Czy spanie w sypialni z ogrzewaniem podłogowym jest zdrowe?</h2>
        <p>Ogrzewanie podłogowe w sypialni jest w pełni zdrowe i sprzyja głębokiej regeneracji nocnej, pod warunkiem odpowiedniego wyregulowania systemu i obniżenia temperatury powietrza w strefie nocnej do <strong>17–19°C</strong>. Kluczem do sukcesu jest zrozumienie <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładności cieplnej jastrychu</a> i unikanie przegrzewu betonu.</p>
    </div>

    <div class="rk-slp-content">
        <div class="rk-slp-info">
            <h3>Fizjologia snu z ogrzewaniem płaszczyznowym</h3>
            <ul class="rk-slp-list">
                <li>
                    <strong>Wpływ na fazę głęboką snu (NREM)</strong>
                    Zbyt wysoka temperatura w nocy skraca kluczowe fazy snu i zwiększa częstotliwość mikro-wybudzeń. Ogrzewanie podłogowe połączone ze <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">sterowaniem strefowym (automatyką)</a> pracuje stabilnie i eliminuje problem porannego bólu głowy.
                </li>
                <li>
                    <strong>Wymagania konstrukcyjne mebli</strong>
                    Aby sypialnia z podłogówką spełniała swoje funkcje zdrowotne, łóżko nie może blokować emisji ciepła. Konieczne jest stosowanie mebli na nóżkach o wysokości minimum <strong>10 cm</strong>. Umożliwia to swobodne rozchodzenie się fal podczerwonych. Przeczytaj więcej o <a href="https://projekt-ogrzewania.pl/wodne-ogrzewanie-podlogowe-a-meble-jak-polaczyc-komfort-i-aranzacje/">łączeniu podłogówki z aranżacją mebli</a>.
                </li>
            </ul>
        </div>

        <div class="rk-slp-interactive">
            <div class="rk-slp-controls">
                <div class="rk-slp-slider-wrap">
                    <label>
                        Temperatura Powietrza
                        <span class="rk-slp-badge" id="valTemp">18°C</span>
                    </label>
                    <input type="range" id="sliderTemp" class="rk-slider-temp" min="15" max="25" step="1" value="18">
                </div>

                <div class="rk-slp-toggle-group">
                    <button class="rk-toggle-btn active" data-bed="legs">Łóżko na nóżkach (10cm)</button>
                    <button class="rk-toggle-btn" data-bed="nolegs">Zabudowane do ziemi</button>
                </div>
            </div>

            <div class="rk-slp-display state-legs" id="sleepDisplay">
                <div class="rk-slp-svg-area">
                    <svg viewBox="0 0 200 120" width="100%">
                        <rect x="10" y="100" width="180" height="10" fill="#cbd5e1" rx="2" />
                        
                        <path class="rk-svg-heat" id="heat1" d="M40 90 Q30 70 40 50" />
                        <path class="rk-svg-heat" id="heat2" d="M100 90 Q90 70 100 50" style="animation-delay: 0.5s;" />
                        <path class="rk-svg-heat" id="heat3" d="M160 90 Q150 70 160 50" style="animation-delay: 1s;" />

                        <g class="rk-svg-bed">
                            <rect x="50" y="60" width="6" height="40" fill="#475569" />
                            <rect x="144" y="60" width="6" height="40" fill="#475569" />
                            <rect x="40" y="50" width="120" height="20" fill="#3b82f6" rx="4" />
                            <path d="M40 50 L70 50 L70 40 Q40 40 40 50" fill="#93c5fd" />
                        </g>
                    </svg>
                </div>

                <div class="rk-status-indicator" id="statusTempText">Optymalna faza NREM</div>
                <p class="rk-status-desc" id="statusBedText">Swobodna emisja fal podczerwonych ogrzewa ściany i stabilizuje mikroklimat.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const sliderTemp = document.getElementById('sliderTemp');
    const valTemp = document.getElementById('valTemp');
    const sleepDisplay = document.getElementById('sleepDisplay');
    const statusTempText = document.getElementById('statusTempText');
    const statusBedText = document.getElementById('statusBedText');
    const bedToggles = document.querySelectorAll('.rk-toggle-btn');
    const heatWaves = document.querySelectorAll('.rk-svg-heat');

    let currentBedState = 'legs';
    let currentTemp = 18;

    function updateSimulation() {
        currentTemp = parseInt(sliderTemp.value);
        valTemp.textContent = currentTemp + "°C";

        // BEZPIECZNA LOGIKA IF (Zagnieżdżenia zamiast znaków ampersand)
        let tempColor = "var(--rk-slp-blue)";
        let tempMsg = "Zbyt zimno dla komfortu";
        let bedMsg = "";

        // Analiza Temperatury
        if (currentTemp > 16) {
            if (currentTemp < 20) {
                tempColor = "var(--rk-slp-green)";
                tempMsg = "Głęboka faza NREM (Idealnie)";
            }
        }
        
        if (currentTemp > 19) {
            if (currentTemp < 23) {
                tempColor = "var(--rk-slp-orange)";
                tempMsg = "Spłycony sen (Częste wybudzenia)";
            }
        }

        if (currentTemp > 22) {
            tempColor = "var(--rk-slp-red)";
            tempMsg = "Przegrzew (Poranny ból głowy)";
        }

        // Analiza Łóżka
        if (currentBedState === 'legs') {
            sleepDisplay.className = 'rk-slp-display state-legs';
            bedMsg = "Podłogówka oddaje ciepło prawidłowo. 10 cm prześwitu zapobiega przegrzaniu betonu.";
            
            // Kolor fal zależny od temperatury
            for (let i = 0; i < heatWaves.length; i++) {
                heatWaves[i].style.stroke = tempColor;
            }
            sleepDisplay.style.borderColor = tempColor;
            
        } else {
            sleepDisplay.className = 'rk-slp-display state-nolegs';
            bedMsg = "UWAGA: Zabudowa blokuje ciepło. Następuje chorobotwórczy przegrzew podłogi pod materacem.";
            
            // Przy zabudowie ciepło zawsze zamienia się w "czerwoną strefę" pod łóżkiem
            tempColor = "var(--rk-slp-red)";
            for (let i = 0; i < heatWaves.length; i++) {
                heatWaves[i].style.stroke = tempColor;
            }
            sleepDisplay.style.borderColor = tempColor;
        }

        statusTempText.textContent = tempMsg;
        statusTempText.style.color = tempColor;
        statusBedText.textContent = bedMsg;
    }

    // Eventy Suwaka
    sliderTemp.addEventListener('input', updateSimulation);

    // Eventy Przełączników Łóżka
    for (let i = 0; i < bedToggles.length; i++) {
        bedToggles[i].addEventListener('click', function() {
            for (let j = 0; j < bedToggles.length; j++) {
                bedToggles[j].classList.remove('active');
            }
            this.classList.add('active');
            currentBedState = this.getAttribute('data-bed');
            updateSimulation();
        });
    }

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



<style>
:root {
    --rk-comp-dark: #0f172a;
    --rk-comp-slate: #1e293b;
    --rk-comp-blue: #0284c7;
    --rk-comp-blue-light: #e0f2fe;
    --rk-comp-green: #059669;
    --rk-comp-green-light: #d1fae5;
    --rk-comp-orange: #ea580c;
    --rk-comp-orange-light: #ffedd5;
    --rk-comp-gray: #64748b;
    --rk-comp-border: #e2e8f0;
    --rk-comp-bg: #ffffff;
}

.rk-compare-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-comp-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-comp-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-comp-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-comp-dark) 0%, var(--rk-comp-slate) 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-comp-blue);
}

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

.rk-comp-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
}

/* Interaktywny Obszar */
.rk-comp-workspace {
    display: grid;
    grid-template-columns: 300px 1fr;
    background: #f8fafc;
}

/* Lista parametrów (Lewa strona) */
.rk-comp-sidebar {
    padding: 30px;
    background: #ffffff;
    border-right: 1px solid var(--rk-comp-border);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-comp-sidebar h3 {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--rk-comp-gray);
    margin: 0 0 15px 0;
}

.rk-param-btn {
    width: 100%;
    text-align: left;
    padding: 16px 20px;
    background: transparent;
    border: 1px solid var(--rk-comp-border);
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-comp-slate);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-param-btn:hover {
    background: var(--rk-comp-blue-light);
    border-color: var(--rk-comp-blue);
    color: var(--rk-comp-blue);
}

.rk-param-btn.active {
    background: var(--rk-comp-blue);
    color: #ffffff;
    border-color: var(--rk-comp-blue);
    box-shadow: 0 8px 15px -3px rgba(2, 132, 199, 0.3);
}

.rk-param-icon {
    width: 20px;
    height: 20px;
    transition: transform 0.3s;
}

.rk-param-btn.active .rk-param-icon {
    transform: translateX(4px);
}

/* Panel Wyników (Prawa strona) */
.rk-comp-dashboard {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-vs-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 30px;
}

.rk-vs-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 30px 25px;
    text-align: center;
    border: 2px solid transparent;
    position: relative;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
}

.rk-vs-card.type-floor {
    border-color: var(--rk-comp-green);
    background: var(--rk-comp-green-light);
}

.rk-vs-card.type-rad {
    border-color: var(--rk-comp-orange);
    background: var(--rk-comp-orange-light);
}

.rk-vs-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    margin: 0 0 15px 0;
}

.type-floor .rk-vs-title { color: var(--rk-comp-green); }
.type-rad .rk-vs-title { color: var(--rk-comp-orange); }

.rk-vs-value {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-comp-slate);
    margin: 0 0 20px 0;
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-vs-svg-wrap {
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Sekcja wpływu na zdrowie */
.rk-health-impact {
    background: #ffffff;
    padding: 25px 30px;
    border-radius: 16px;
    border-left: 5px solid var(--rk-comp-blue);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}

.rk-health-impact h4 {
    margin: 0 0 10px 0;
    font-size: 16px;
    color: var(--rk-comp-slate);
}

.rk-health-impact p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.rk-health-impact a {
    color: var(--rk-comp-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Animations for SVG */
.rk-anim-arrow { animation: bounceX 2s infinite ease-in-out; }
.rk-anim-wave { animation: pulseOpacity 1.5s infinite alternate; }

@keyframes bounceX {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(5px); }
}

@keyframes pulseOpacity {
    from { opacity: 0.4; }
    to { opacity: 1; }
}

/* Mobile */
@media (max-width: 768px) {
    .rk-comp-header { padding: 30px 20px; }
    .rk-comp-workspace { grid-template-columns: 1fr; }
    .rk-comp-sidebar { padding: 20px; border-right: none; border-bottom: 1px solid var(--rk-comp-border); }
    .rk-comp-dashboard { padding: 25px 20px; }
    .rk-vs-layout { grid-template-columns: 1fr; gap: 15px; margin-bottom: 25px; }
    .rk-vs-card { padding: 20px; }
    .rk-vs-value { min-height: auto; font-size: 24px; }
    .rk-health-impact { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#article-porownanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/"
    },
    "headline": "Porównanie parametrów techniczno-higienicznych systemów grzewczych",
    "description": "Zestawienie kluczowych parametrów fizycznych ogrzewania podłogowego oraz tradycyjnych grzejników, obrazujące ich bezpośredni wpływ na zdrowie w domu.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-23",
    "dateModified": "2026-06-23"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#dataset-porownanie",
    "name": "Zestawienie Parametrów Higienicznych: Podłogówka vs Grzejniki",
    "description": "Szczegółowa tabela porównawcza obejmująca temperatury, prędkość powietrza, udział promieniowania i profil cieplny dla dwóch najpopularniejszych systemów grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zalety ogrzewania podłogowego w porównaniu do grzejników",
      "prędkość powietrza ogrzewanie podłogowe",
      "sucha destylacja kurzu przy grzejnikach",
      "pionowy profil temperatur w pomieszczeniu",
      "ogrzewanie podłogowe a zdrowie domowników"
    ],
    "measurementTechnique": "Analiza krzywych grzewczych, aerodynamiki wnętrz (prędkość w m/s) oraz fizyki budowli na bazie normy EN-1264 w odniesieniu do fizjologii układu oddechowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Prędkość powietrza: 0,03 m/s (Podłogówka) vs 0,35 m/s (Grzejniki)",
        "Temperatura powierzchni: do 29°C (Podłogówka) vs do 75°C (Grzejniki)",
        "Wymiana ciepła: 80% promieniowanie (Podłogówka) vs 20% promieniowanie (Grzejniki)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#webapp-porownanie",
    "name": "Interaktywny Panel Mikroklimatu",
    "description": "Narzędzie pozwalające na dynamiczne analizowanie różnic fizycznych między systemami grzewczymi i wizualizację ich wpływu na zdrowie człowieka.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-compare-container" id="compare-app">
    <div class="rk-comp-header">
        <h2>Porównanie parametrów techniczno-higienicznych</h2>
        <p>Zobacz na żywo, jak poszczególne parametry fizyczne wybranej <a href="https://projekt-ogrzewania.pl/zalety-ogrzewania-podlogowego-w-porownaniu-do-tradycyjnych-grzejnikow/">instalacji grzewczej</a> wpływają na mikroklimat i zdrowie w Twoim domu. Wybierz parametr z listy, aby załadować szczegółową symulację.</p>
    </div>

    <div class="rk-comp-workspace">
        <div class="rk-comp-sidebar" id="paramList">
            <h3>Wybierz parametr:</h3>
            </div>

        <div class="rk-comp-dashboard">
            <div class="rk-vs-layout">
                <div class="rk-vs-card type-floor">
                    <div class="rk-vs-title">Ogrzewanie Podłogowe</div>
                    <div class="rk-vs-value" id="valFloor">...</div>
                    <div class="rk-vs-svg-wrap" id="svgFloor">
                        </div>
                </div>
                <div class="rk-vs-card type-rad">
                    <div class="rk-vs-title">Grzejniki Konwekcyjne</div>
                    <div class="rk-vs-value" id="valRad">...</div>
                    <div class="rk-vs-svg-wrap" id="svgRad">
                        </div>
                </div>
            </div>

            <div class="rk-health-impact">
                <h4>Skutki dla zdrowia i mikroklimatu</h4>
                <p id="healthDesc">...</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // Baza danych dla poszczególnych zakładek
    const comparisonData = [
        {
            id: "param-temp",
            label: "Max. temperatura powierzchni",
            valFloor: "29°C (Strefa stała)<br>33°C (Łazienka)",
            valRad: "55°C – 75°C",
            svgFloor: `<svg viewBox="0 0 100 50" width="100%"><rect x="10" y="30" width="80" height="10" fill="#059669" rx="5"/><path class="rk-anim-wave" d="M30 25 Q30 10 35 5" fill="none" stroke="#059669" stroke-width="3"/><path class="rk-anim-wave" d="M70 25 Q70 10 65 5" fill="none" stroke="#059669" stroke-width="3" style="animation-delay: 0.5s"/></svg>`,
            svgRad: `<svg viewBox="0 0 100 50" width="100%"><rect x="35" y="10" width="30" height="35" fill="#ea580c" rx="4"/><path class="rk-anim-wave" d="M20 30 Q10 20 20 10" fill="none" stroke="#ea580c" stroke-width="3"/><path class="rk-anim-wave" d="M80 30 Q90 20 80 10" fill="none" stroke="#ea580c" stroke-width="3" style="animation-delay: 0.5s"/></svg>`,
            health: `Powyżej <strong>55°C</strong> zachodzi proces przypalania (suchej destylacji) kurzu. Skutkuje to produkcją drażniących cząsteczek, które powodują permanentne przesuszenie i drapanie w gardle. Zrozumienie <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">maksymalnych temperatur dla podłogówki</a> to klucz do zdrowia.`
        },
        {
            id: "param-speed",
            label: "Prędkość ruchu powietrza",
            valFloor: "0,03 – 0,05 m/s",
            valRad: "0,20 – 0,35 m/s",
            svgFloor: `<svg viewBox="0 0 100 50" width="100%"><line x1="20" y1="25" x2="50" y2="25" stroke="#059669" stroke-width="2" stroke-dasharray="4 4" class="rk-anim-arrow"/><polygon points="50,20 50,30 60,25" fill="#059669" class="rk-anim-arrow"/></svg>`,
            svgRad: `<svg viewBox="0 0 100 50" width="100%"><line x1="10" y1="25" x2="70" y2="25" stroke="#ea580c" stroke-width="4" class="rk-anim-arrow"/><polygon points="70,15 70,35 90,25" fill="#ea580c" class="rk-anim-arrow"/></svg>`,
            health: `Wyższa prędkość przy grzejnikach powoduje intensywne unoszenie alergenów, roztoczy i pyłów. Przy podłogówce ruch powietrza jest minimalny – kurz pozostaje na podłodze, co ułatwia jego sprzątanie i chroni strefę oddychania.`
        },
        {
            id: "param-rad",
            label: "Udział promieniowania w wymianie",
            valFloor: "70% – 80%",
            valRad: "10% – 20%",
            svgFloor: `<svg viewBox="0 0 100 50" width="100%"><circle cx="50" cy="50" r="40" fill="none" stroke="#059669" stroke-width="3" stroke-dasharray="10 10"/><circle cx="50" cy="50" r="25" fill="none" stroke="#059669" stroke-width="3" stroke-dasharray="10 10"/></svg>`,
            svgRad: `<svg viewBox="0 0 100 50" width="100%"><path d="M40 40 Q50 10 60 40" fill="none" stroke="#ea580c" stroke-width="4"/><circle cx="50" cy="45" r="5" fill="#ea580c"/></svg>`,
            health: `Promieniowanie ogrzewa bezpośrednio przegrody i ciała ludzkie, nie angażując w to samej masy powietrza. Zobacz <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/">jak dokładnie działa ten proces</a> w fizyce budowli. Nie wysusza to domowego mikroklimatu.`
        },
        {
            id: "param-profile",
            label: "Pionowy profil temperatur",
            valFloor: "Idealny<br><span style='font-size:14px;font-weight:400'>(Ciepłe stopy, chłodna głowa)</span>",
            valRad: "Odwrócony<br><span style='font-size:14px;font-weight:400'>(Gorąco u góry, zimno na dole)</span>",
            svgFloor: `<svg viewBox="0 0 100 50" width="100%"><rect x="40" y="5" width="20" height="40" fill="url(#grad-floor)" rx="4"/><defs><linearGradient id="grad-floor" x1="0" y1="1" x2="0" y2="0"><stop offset="0%" stop-color="#059669"/><stop offset="100%" stop-color="#d1fae5"/></linearGradient></defs></svg>`,
            svgRad: `<svg viewBox="0 0 100 50" width="100%"><rect x="40" y="5" width="20" height="40" fill="url(#grad-rad)" rx="4"/><defs><linearGradient id="grad-rad" x1="0" y1="1" x2="0" y2="0"><stop offset="0%" stop-color="#ffedd5"/><stop offset="100%" stop-color="#ea580c"/></linearGradient></defs></svg>`,
            health: `Odwrócony profil termiczny zmusza organizm do stałego wydatkowania energii na ogrzanie stóp, podczas gdy przegrzana głowa powoduje senność. Podłogówka wspiera <a href="https://projekt-ogrzewania.pl/jak-ogrzewanie-podlogowe-wplywa-na-wilgotnosc-powietrza-w-domu/">prawidłową wilgotność</a> i naturalną termoregulację człowieka.`
        },
        {
            id: "param-res",
            label: "Opór cieplny okładziny (Max R)",
            valFloor: "0,15 m²K/W",
            valRad: "Nie dotyczy",
            svgFloor: `<svg viewBox="0 0 100 50" width="100%"><rect x="20" y="20" width="60" height="10" fill="#059669" rx="2"/><line x1="30" y1="10" x2="30" y2="20" stroke="#059669" stroke-width="2"/><line x1="50" y1="10" x2="50" y2="20" stroke="#059669" stroke-width="2"/><line x1="70" y1="10" x2="70" y2="20" stroke="#059669" stroke-width="2"/></svg>`,
            svgRad: `<svg viewBox="0 0 100 50" width="100%"><circle cx="50" cy="25" r="15" fill="none" stroke="#ea580c" stroke-width="4"/><line x1="35" y1="10" x2="65" y2="40" stroke="#ea580c" stroke-width="4"/></svg>`,
            health: `Przekroczenie bariery <strong>R</strong> w podłogówce blokuje wymianę ciepła, wymuszając niebezpieczne podbijanie temperatury na kotle. Zapoznaj się z tabelami normatywnymi w naszym przewodniku o <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">oporze cieplnym okładzin</a>.`
        }
    ];

    const sidebar = document.getElementById('paramList');
    const valFloorEl = document.getElementById('valFloor');
    const valRadEl = document.getElementById('valRad');
    const svgFloorEl = document.getElementById('svgFloor');
    const svgRadEl = document.getElementById('svgRad');
    const healthDescEl = document.getElementById('healthDesc');

    let activeBtn = null;

    function renderData(dataObj) {
        valFloorEl.innerHTML = dataObj.valFloor;
        valRadEl.innerHTML = dataObj.valRad;
        svgFloorEl.innerHTML = dataObj.svgFloor;
        svgRadEl.innerHTML = dataObj.svgRad;
        healthDescEl.innerHTML = dataObj.health;
    }

    // Generowanie przycisków na bazie danych
    for (let i = 0; i < comparisonData.length; i++) {
        let item = comparisonData[i];
        let btn = document.createElement('button');
        btn.className = 'rk-param-btn';
        btn.innerHTML = `
            <span>${item.label}</span>
            <svg class="rk-param-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>
        `;
        
        btn.addEventListener('click', function() {
            if (activeBtn !== null) {
                activeBtn.classList.remove('active');
            }
            this.classList.add('active');
            activeBtn = this;
            renderData(item);
        });

        sidebar.appendChild(btn);

        // Ustawienie pierwszego elementu jako aktywnego domyślnie
        if (i === 0) {
            btn.click();
        }
    }
});
</script>



<style>
:root {
    --rk-thm-dark: #0f172a;
    --rk-thm-slate: #1e293b;
    --rk-thm-blue: #0284c7;
    --rk-thm-blue-glow: #38bdf8;
    --rk-thm-green: #10b981;
    --rk-thm-red: #ef4444;
    --rk-thm-gray: #64748b;
    --rk-thm-bg: #ffffff;
    --rk-thm-border: #e2e8f0;
}

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

/* Nagłówek */
.rk-thm-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-thm-dark) 0%, var(--rk-thm-slate) 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-thm-blue);
}

.rk-thm-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-thm-header p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

.rk-thm-header a {
    color: var(--rk-thm-blue-glow);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Sekcja Wzoru (Zamiast LaTeX) */
.rk-thm-formula-box {
    padding: 30px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-thm-border);
}

.rk-thm-formula-box h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-thm-slate);
    margin: 0 0 20px 0;
}

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

.rk-formula-card {
    background: #ffffff;
    padding: 20px;
    border-radius: 16px;
    border: 1px dashed #cbd5e1;
}

.rk-math-line {
    font-family: 'Courier New', monospace;
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-thm-blue);
    background: #f1f5f9;
    padding: 10px 15px;
    border-radius: 8px;
    margin-bottom: 10px;
    text-align: center;
}

.rk-formula-card p {
    font-size: 13px;
    color: var(--rk-thm-gray);
    margin: 0;
    line-height: 1.5;
}

/* Interaktywny Symulator */
.rk-thm-simulator {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-sim-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.rk-sim-controls {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-sim-slider-group label {
    display: flex;
    justify-content: space-between;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-thm-slate);
    margin-bottom: 12px;
}

.rk-val-badge {
    background: var(--rk-thm-blue);
    color: #ffffff;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 14px;
}

.rk-slider {
    width: 100%;
    -webkit-appearance: none;
    height: 8px;
    border-radius: 4px;
    background: #e2e8f0;
    outline: none;
}

.rk-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-thm-blue);
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: transform 0.1s;
}

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

.rk-sim-display {
    background: #f8fafc;
    border: 2px solid var(--rk-thm-border);
    border-radius: 20px;
    padding: 30px;
    text-align: center;
    position: relative;
    transition: border-color 0.3s;
}

.rk-sim-display.status-ok { border-color: var(--rk-thm-green); }
.rk-sim-display.status-danger { border-color: var(--rk-thm-red); }

.rk-sim-result-value {
    font-size: 48px;
    font-weight: 900;
    line-height: 1;
    margin: 15px 0;
    transition: color 0.3s;
}

.status-ok .rk-sim-result-value { color: var(--rk-thm-green); }
.status-danger .rk-sim-result-value { color: var(--rk-thm-red); }

.rk-sim-status-text {
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.status-ok .rk-sim-status-text { color: var(--rk-thm-green); }
.status-danger .rk-sim-status-text { color: var(--rk-thm-red); }

/* SVG Graphic in Display */
.rk-sim-floor-svg {
    width: 100%;
    max-width: 180px;
    height: auto;
    margin: 0 auto 20px auto;
}

.heat-wave {
    fill: none;
    stroke-width: 3;
    stroke-linecap: round;
    transition: stroke 0.3s;
}

.status-ok .heat-wave { stroke: var(--rk-thm-green); animation: floatUp 2s infinite linear; }
.status-danger .heat-wave { stroke: var(--rk-thm-red); animation: floatUp 0.8s infinite linear; }

@keyframes floatUp {
    0% { transform: translateY(0); opacity: 0; }
    50% { opacity: 1; }
    100% { transform: translateY(-20px); opacity: 0; }
}

/* Tags & CTA */
.rk-thm-footer {
    padding: 40px 50px;
    background: #f1f5f9;
    border-top: 1px solid var(--rk-thm-border);
}

.rk-tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 30px;
}

.rk-mat-tag {
    background: #ffffff;
    color: var(--rk-thm-gray);
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid var(--rk-thm-border);
    transition: all 0.2s;
}

.rk-mat-tag:hover {
    background: var(--rk-thm-blue);
    color: #ffffff;
    border-color: var(--rk-thm-blue);
}

.rk-thm-cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: #ffffff;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
}

.rk-thm-cta h4 {
    font-size: 20px;
    color: var(--rk-thm-slate);
    margin: 0 0 20px 0;
}

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

.rk-btn-blue:hover {
    background: #0369a1;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.4);
}

/* Mobile */
@media (max-width: 768px) {
    .rk-thm-header, .rk-thm-formula-box, .rk-thm-simulator, .rk-thm-footer { padding: 30px 20px; }
    .rk-formula-grid, .rk-sim-layout { grid-template-columns: 1fr; gap: 20px; }
    .rk-sim-display { padding: 20px; }
    .rk-tags-container { justify-content: center; }
    .rk-btn-blue { width: 100%; justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#article-thermo",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/"
    },
    "headline": "Analiza termodynamiczna systemu: Rzeczywista temperatura posadzki a limit normowy",
    "description": "Fizyczne obliczenia gęstości strumienia cieplnego i temperatury posadzki zgodnie z normą PN-EN 1264. Udowadniamy matematycznie bezpieczeństwo zdrowotne ogrzewania płaszczyznowego.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-12-29",
    "dateModified": "2026-06-23"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#dataset-thermo",
    "name": "Parametry termiczne posadzki grzewczej wg PN-EN 1264",
    "description": "Zestawienie obliczeń strumienia cieplnego (q) oraz temperatury powierzchni podłogi (tf) w zależności od temperatury wody grzewczej i oporu cieplnego paneli.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "obliczanie temperatury ogrzewania podłogowego",
      "gęstość strumienia cieplnego wzór",
      "współczynnik przejmowania ciepła podłogi",
      "opór cieplny paneli a podłogówka",
      "limit temperatury podłogówki 29 stopni"
    ],
    "measurementTechnique": "Zastosowanie uproszczonego wzoru normowego Uo * (tm - ti) dla wyznaczenia q, oraz ti + (q/alpha) dla wyznaczenia tf.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Współczynnik przejmowania (alfa): Stała wartość 10,8 W/(m²K)",
        "Strumień cieplny (q): 68,75 W/m² przy zasilaniu 35°C",
        "Rzeczywista temperatura podłogi (tf): 26,36°C (bezpieczna)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#webapp-thermo",
    "name": "Symulator Termodynamiki Jastrychu",
    "description": "Interaktywny kalkulator w czasie rzeczywistym demonstrujący wpływ temperatury zasilania pompy ciepła na końcową temperaturę powierzchni posadzki i ryzyko przegrzewu.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-thermo-container" id="thermo-sim-app">
    <div class="rk-thm-header">
        <h2>Analiza termodynamiczna systemu: Rzeczywista temperatura posadzki a limit normowy</h2>
        <p>Aby udowodnić, dlaczego prawidłowo zaprojektowane ogrzewanie płaszczyznowe jest w pełni neutralne dla zdrowia, przeanalizujmy fizykę jastrychu. Zgodnie z wytycznymi z <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">normy PN-EN 1264</a>, maksymalna higieniczna temperatura podłogi to 29°C. Sprawdźmy, jak wyglądają realne wyniki dla standardowego salonu z okładziną panelową o <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">oporze cieplnym R = 0,06 m²K/W</a>.</p>
    </div>

    <div class="rk-thm-formula-box">
        <h3>Rozkład Fizyki Cieplnej (Krok po kroku)</h3>
        <div class="rk-formula-grid">
            <div class="rk-formula-card">
                <div class="rk-math-line">q = U_o * (t_m - t_i)</div>
                <p><strong>Krok 1: Gęstość strumienia (q).</strong> Wyliczana na bazie współczynnika przenikania (Uo), średniej temperatury wody (tm) i temp. pokoju (ti). Dla zasilania 35/30°C wynik to <strong>68,75 W/m²</strong>.</p>
            </div>
            <div class="rk-formula-card">
                <div class="rk-math-line">t_f = t_i + (q / &alpha;)</div>
                <p><strong>Krok 2: Temperatura posadzki (tf).</strong> Zależna od strumienia cieplnego i współczynnika przejmowania (&alpha; = 10,8). Wynik normatywny wynosi <strong>26,36°C</strong>.</p>
            </div>
        </div>
    </div>

    <div class="rk-thm-simulator">
        <div class="rk-sim-layout">
            <div class="rk-sim-controls">
                <h3 style="margin: 0 0 10px 0; color: #1e293b;">Symulator Przegrzewu</h3>
                <p style="font-size: 14px; color: #64748b; margin: 0 0 20px 0;">Sprawdź, co się stanie, gdy instalator podniesie <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">temperaturę zasilania</a>, rekompensując braki w projekcie.</p>
                
                <div class="rk-sim-slider-group">
                    <label>
                        Temperatura zasilania (Tz)
                        <span class="rk-val-badge" id="valTz">35°C</span>
                    </label>
                    <input type="range" id="sliderTz" class="rk-slider" min="25" max="55" step="1" value="35">
                </div>
            </div>

            <div class="rk-sim-display status-ok" id="displayBox">
                <svg class="rk-sim-floor-svg" viewBox="0 0 200 100">
                    <rect x="20" y="70" width="160" height="20" rx="4" fill="#cbd5e1" />
                    <rect x="20" y="60" width="160" height="10" fill="#94a3b8" />
                    <circle cx="50" cy="80" r="6" fill="#ef4444" />
                    <circle cx="100" cy="80" r="6" fill="#ef4444" />
                    <circle cx="150" cy="80" r="6" fill="#ef4444" />
                    <path class="heat-wave" d="M50 50 Q40 40 50 30 T50 10" style="animation-delay: 0s;" />
                    <path class="heat-wave" d="M100 50 Q90 40 100 30 T100 10" style="animation-delay: 0.5s;" />
                    <path class="heat-wave" d="M150 50 Q140 40 150 30 T150 10" style="animation-delay: 1s;" />
                </svg>
                
                <div style="font-size: 14px; color: #64748b;">Temperatura Powierzchni (tf)</div>
                <div class="rk-sim-result-value" id="valTf">26.36°C</div>
                <div class="rk-sim-status-text" id="statusText">Higieniczna i Bezpieczna</div>
            </div>
        </div>
    </div>

    <div class="rk-thm-footer">
        <div class="rk-tags-container">
            <span class="rk-mat-tag"># obliczanie temperatury ogrzewania podłogowego</span>
            <span class="rk-mat-tag"># gęstość strumienia cieplnego wzór</span>
            <span class="rk-mat-tag"># maksymalna temperatura zasilania podłogówki</span>
            <span class="rk-mat-tag"># współczynnik przejmowania ciepła podłogi</span>
            <span class="rk-mat-tag"># opór cieplny paneli a podłogówka</span>
            <span class="rk-mat-tag"># limit temperatury podłogówki 29 stopni</span>
            <span class="rk-mat-tag"># projektowanie ogrzewania podłogowego parametry</span>
            <span class="rk-mat-tag"># temperatura powrotu z podłogówki</span>
        </div>

        <div class="rk-thm-cta">
            <h4>Chcesz system oparty na twardych obliczeniach, a nie zgadywaniu?</h4>
            <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-blue">
                SPRAWDŹ BAZĘ WIEDZY PROJEKTOWEJ
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" 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>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const sliderTz = document.getElementById('sliderTz');
    const valTzDisplay = document.getElementById('valTz');
    const valTfDisplay = document.getElementById('valTf');
    const displayBox = document.getElementById('displayBox');
    const statusText = document.getElementById('statusText');

    // Constants based on the article's math
    const ti = 20; // Room temp
    const Uo = 5.5; // Heat transfer coefficient
    const alpha = 10.8; // Heat transfer coefficient (radiation + convection)

    function updateThermodynamics() {
        const Tz = parseFloat(sliderTz.value);
        valTzDisplay.textContent = Tz + "°C";

        // Logic: tm is average of flow and return. Let's assume dT = 5.
        // So tm = Tz - 2.5
        const tm = Tz - 2.5;

        // Calculate q
        let q = Uo * (tm - ti);
        
        // Prevent negative heat flow in this simulation if Tz is very low
        if (q < 0) {
            q = 0;
        }

        // Calculate tf
        const tf = ti + (q / alpha);
        
        // Format to 2 decimal places
        valTfDisplay.textContent = tf.toFixed(2) + "°C";

        // Status checking (Without using logical AND '&#038;&#038;' operator)
        if (tf <= 29) {
            displayBox.className = "rk-sim-display status-ok";
            statusText.textContent = "Higieniczna i Bezpieczna";
        } else {
            displayBox.className = "rk-sim-display status-danger";
            statusText.textContent = "NIEBEZPIECZNY PRZEGRZEW!";
        }
    }

    sliderTz.addEventListener('input', updateThermodynamics);
    
    // Initial run
    updateThermodynamics();
});
</script>



<style>
:root {
    --rk-cs-dark: #0f172a;
    --rk-cs-slate: #1e293b;
    --rk-cs-blue: #0284c7;        /* Inżynieria (Robert) */
    --rk-cs-blue-light: #f0f9ff;
    --rk-cs-teal: #0d9488;        /* Medycyna (Justyna) */
    --rk-cs-teal-light: #f0fdfa;
    --rk-cs-gray: #64748b;
    --rk-cs-border: #e2e8f0;
    --rk-cs-bg: #ffffff;
}

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

/* Nagłówek */
.rk-cs-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-cs-dark) 0%, var(--rk-cs-slate) 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-cs-teal);
    text-align: center;
}

.rk-cs-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-cs-header p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 auto;
    max-width: 750px;
}

/* Interaktywny Panel Konsylium */
.rk-cs-interactive {
    padding: 40px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-cs-border);
}

.rk-cs-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
    background: #ffffff;
    padding: 8px;
    border-radius: 12px;
    border: 1px solid var(--rk-cs-border);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-cs-tab-btn {
    flex: 1;
    padding: 14px 20px;
    border: none;
    background: transparent;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-cs-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-cs-tab-btn:hover {
    background: #f1f5f9;
}

.rk-cs-tab-btn.active {
    background: var(--rk-cs-slate);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

/* Widok Ekspertów (Dwie kolumny) */
.rk-cs-experts-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.rk-expert-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 30px;
    border: 1px solid var(--rk-cs-border);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
    position: relative;
    transition: transform 0.3s;
}

.rk-expert-card.eng {
    border-top: 4px solid var(--rk-cs-blue);
}

.rk-expert-card.med {
    border-top: 4px solid var(--rk-cs-teal);
}

.rk-expert-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-cs-border);
}

.rk-expert-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-weight: 900;
    font-size: 18px;
}

.eng .rk-expert-avatar { background: var(--rk-cs-blue); }
.med .rk-expert-avatar { background: var(--rk-cs-teal); }

.rk-expert-info h4 {
    margin: 0 0 3px 0;
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-cs-dark);
}

.rk-expert-info span {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.eng .rk-expert-info span { color: var(--rk-cs-blue); }
.med .rk-expert-info span { color: var(--rk-cs-teal); }

.rk-expert-text {
    font-size: 14px;
    line-height: 1.7;
    color: #475569;
    margin: 0;
}

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

.rk-expert-text a {
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.eng .rk-expert-text a { color: var(--rk-cs-blue); }
.med .rk-expert-text a { color: var(--rk-cs-teal); }

/* Sekcja Wniosków / SVG */
.rk-cs-conclusion {
    padding: 40px 50px;
    background: #ffffff;
    display: flex;
    align-items: center;
    gap: 40px;
}

.rk-cs-svg-wrap {
    flex-shrink: 0;
    width: 120px;
    height: 120px;
    background: var(--rk-cs-teal-light);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed var(--rk-cs-teal);
}

.rk-cs-svg-wrap svg {
    width: 60px;
    height: 60px;
    color: var(--rk-cs-teal);
}

.rk-cs-summary h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-cs-slate);
    margin: 0 0 15px 0;
}

.rk-cs-summary p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-cs-gray);
    margin: 0 0 15px 0;
}

/* RWD Mobile */
@media (max-width: 768px) {
    .rk-cs-header, .rk-cs-interactive, .rk-cs-conclusion { padding: 30px 20px; }
    .rk-cs-tabs { flex-direction: column; gap: 5px; background: transparent; padding: 0; border: none; box-shadow: none; }
    .rk-cs-tab-btn { background: #ffffff; border: 1px solid var(--rk-cs-border); padding: 16px; }
    .rk-cs-experts-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-cs-conclusion { flex-direction: column; text-align: center; gap: 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/"
    },
    "headline": "Case Study: Medyczny i inżynieryjny wpływ ogrzewania podłogowego na zdrowie",
    "description": "Zderzenie twardej fizyki instalacji grzewczych z wiedzą medyczną. Wywiad z lekarzem na temat wpływu podłogówki na układ oddechowy i krążenia.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-12-29",
    "dateModified": "2026-06-23"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#dataset-casestudy",
    "name": "Case Study: Medycyna a Inżynieria HVAC",
    "description": "Analiza wskaźników instalacyjnych (temperatura czynnika, opory liniowe, grubość jastrychu) zdiagnozowanych pod kątem fizjologicznych skutków dla mieszkańców.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "opinia lekarza o ogrzewaniu podłogowym",
      "czy podłogówka jest zdrowa dla dzieci",
      "wpływ ogrzewania na układ krążenia",
      "konsultacja medyczna ogrzewanie domowe",
      "parametry zdrowotne instalacji płaszczyznowych"
    ],
    "measurementTechnique": "Korelacja limitów normy PN-EN 1264 z medycznymi kryteriami wazodylatacji (reakcji żył) oraz higieny dróg oddechowych (wilgotność 40-60%).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Ocena lekarska: Temperatura do 29°C jest fizjologicznie obojętna dla naczyń krwionośnych.",
        "Analiza inżynierska: Utrzymanie parametrów zasilania na poziomie ~35°C wymaga obliczeń OZC.",
        "Zgodność: Obie dziedziny potwierdzają, że awarie zdrowotne są skutkiem wyłącznie błędów montażu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#webapp-casestudy",
    "name": "Interaktywny Panel Konsultacyjny (Medycyna vs Inżynieria)",
    "description": "Aplikacja pozwalająca na przełączanie się między perspektywą projektanta HVAC a perspektywą lekarza w ocenie wpływu ogrzewania podłogowego na różne układy ludzkiego ciała.",
    "applicationCategory": "HealthApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-casestudy-container" id="casestudy-app">
    <div class="rk-cs-header">
        <h2>Case Study: Medyczny i inżynieryjny wpływ podłogówki na zdrowie</h2>
        <p>Inżynieria nie istnieje w próżni. Parametry, które obliczam na deskach kreślarskich, mają bezpośredni wpływ na Twoje ciało. Aby udowodnić fakty, skonfrontowałem twardą fizykę z wiedzą zaprzyjaźnionego lekarza medycyny, dr Justyny z Warszawy.</p>
    </div>

    <div class="rk-cs-interactive">
        <div class="rk-cs-tabs">
            <button class="rk-cs-tab-btn active" data-topic="veins">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                Układ Krążenia
            </button>
            <button class="rk-cs-tab-btn" data-topic="lungs">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z"></path><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg>
                Układ Oddechowy
            </button>
            <button class="rk-cs-tab-btn" data-topic="sleep">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg>
                Fizjologia Snu
            </button>
        </div>

        <div class="rk-cs-experts-grid">
            <div class="rk-expert-card eng">
                <div class="rk-expert-header">
                    <div class="rk-expert-avatar">RK</div>
                    <div class="rk-expert-info">
                        <h4>Robert Kucharski</h4>
                        <span>Ekspert HVAC / CEO</span>
                    </div>
                </div>
                <div class="rk-expert-text" id="eng-text">
                    </div>
            </div>

            <div class="rk-expert-card med">
                <div class="rk-expert-header">
                    <div class="rk-expert-avatar">JJ</div>
                    <div class="rk-expert-info">
                        <h4>dr Justyna</h4>
                        <span>Lekarz Medycyny (Warszawa)</span>
                    </div>
                </div>
                <div class="rk-expert-text" id="med-text">
                    </div>
            </div>
        </div>
    </div>

    <div class="rk-cs-conclusion">
        <div class="rk-cs-svg-wrap">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path>
                <polyline points="22 4 12 14.01 9 11.01"></polyline>
            </svg>
        </div>
        <div class="rk-cs-summary">
            <h3>Wnioski z Konsylium</h3>
            <p>Zarówno z perspektywy inżynierii budowlanej, jak i medycyny, ogrzewanie płaszczyznowe stanowi najbezpieczniejsze rozwiązanie dostępne na rynku. Gwarancją tego stanu jest poprawne dopasowanie instalacji do kubatury.</p>
            <p>Pamiętaj, że kluczem do wdrożenia tych założeń jest weryfikacja techniczna. Zobacz <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" style="color: var(--rk-cs-blue); font-weight: 700; text-decoration: underline;">jak unikać najczęstszych błędów wykonawczych</a> oraz sprawdź dokładnie <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/" style="color: var(--rk-cs-blue); font-weight: 700; text-decoration: underline;">czy podłogówka może być jedynym źródłem ciepła w domu</a> w naszym klimacie.</p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('.rk-cs-tab-btn');
    const engText = document.getElementById('eng-text');
    const medText = document.getElementById('med-text');

    // Baza danych Case Study
    const data = {
        veins: {
            eng: "Z perspektywy projektanta, moim celem jest utrzymanie temperatury wody zasilającej z pompy ciepła na poziomie ok. 35°C. Dzięki prawidłowym obliczeniom OZC i gęstemu rozstawieniu rur, fizyczna powierzchnia jastrychu oddająca ciepło do pomieszczenia nigdy nie przekroczy <strong>29°C</strong> w strefie stałego przebywania ludzi.",
            med: "Medycznie rzecz biorąc, temperatura skóry zdrowego człowieka na stopach to około 33-35°C. Jeżeli posadzka ma 29°C, organizm <strong>nie uruchamia mechanizmów obronnych</strong>. Mit o pękających naczynkach bierze się stąd, że w źle wykonanych domach posadzka dobija do 34°C, wywołując wazodylatację (rozszerzanie żył) i zastoje krwi."
        },
        lungs: {
            eng: "Wybierając np. <a href='https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/'>wodne ogrzewanie płaszczyznowe</a>, niemal całkowicie eliminujemy zjawisko konwekcji. Prędkość unoszenia się powietrza z nagrzanej posadzki to ledwie 0,04 m/s. Tradycyjne grzejniki to około 0,30 m/s, co działa na kurz jak odkurzacz wyrzucający go do góry.",
            med: "Ciągły ruch powietrza przy grzejnikach uderza prosto w strefę oddychania, transportując roztocza i zarodniki grzybów. Dodatkowo grzejniki rozgrzane do 60°C powodują suchą destylację kurzu, uwalniając toksyczne lotne związki. Dla śluzówek moich pacjentów, chłodna podłogówka i wyższa wilgotność to <strong>ogromna ulga w sezonie infekcyjnym</strong>."
        },
        sleep: {
            eng: "Największym błędem instalatorów w sypialniach jest brak odpowiedniej automatyki strefowej i zbyt grube wylewki, które tworzą ogromną bezwładność cieplną. System projektuje się tak, by o godzinie 22:00 temperatura w sypialni wynosiła <strong>18°C</strong>. Wymaga to odcięcia pętli na rozdzielaczu już kilka godzin wcześniej.",
            med: "Zbyt ciepła sypialnia (np. 22°C) to wróg dobrego snu. Hamuje produkcję melatoniny i drastycznie <strong>skraca fazę snu głębokiego (NREM)</strong>. To z kolei prowadzi do wybudzeń, problemów z regeneracją i porannych bólów głowy. Z perspektywy fizjologii, 18°C przy podłodze to optymalne warunki do wypoczynku."
        }
    };

    function loadContent(topic) {
        // Safe check without logical characters
        if (data[topic]) {
            engText.innerHTML = data[topic].eng;
            medText.innerHTML = data[topic].med;
        }
    }

    for (let i = 0; i < tabs.length; i++) {
        tabs[i].addEventListener('click', function() {
            // Remove active class from all
            for (let j = 0; j < tabs.length; j++) {
                tabs[j].classList.remove('active');
            }
            
            // Add active class to clicked
            this.classList.add('active');
            
            // Load respective content
            const topic = this.getAttribute('data-topic');
            loadContent(topic);
        });
    }

    // Initialize first tab
    loadContent('veins');
});
</script>



<style>
:root {
    --rk-exp-dark: #0f172a;
    --rk-exp-slate: #1e293b;
    --rk-exp-blue: #0284c7;
    --rk-exp-gold: #ca8a04;
    --rk-exp-gold-light: #fef08a;
    --rk-exp-gray: #475569;
    --rk-exp-border: #e2e8f0;
    --rk-exp-bg: #ffffff;
}

.rk-expert-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-exp-bg);
    border: 2px solid var(--rk-exp-slate);
    border-radius: 12px;
}

/* Nagłówek Sekcji */
.rk-exp-header {
    padding: 30px 40px;
    background: var(--rk-exp-slate);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-exp-gold);
}

.rk-exp-header h2 {
    font-size: 24px;
    font-weight: 900;
    margin: 0;
    line-height: 1.3;
    color: #ffffff;
}

/* Układ główny - Desktop */
.rk-exp-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
}

/* Lewa Kolumna - Wizytówka Autora */
.rk-exp-profile {
    padding: 40px 30px;
    background: #f8fafc;
    border-right: 1px solid var(--rk-exp-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-exp-photo {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}

.rk-exp-name {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-exp-dark);
    margin: 0 0 5px 0;
}

.rk-exp-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-exp-blue);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 20px 0;
}

.rk-exp-socials {
    display: flex;
    gap: 15px;
    width: 100%;
    justify-content: center;
}

.rk-exp-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--rk-exp-slate);
    color: #ffffff;
    border-radius: 8px;
    text-decoration: none;
}

.rk-exp-social-link:hover {
    background: var(--rk-exp-blue);
}

/* Prawa Kolumna - Cytat i Zakładki */
.rk-exp-content {
    padding: 40px;
    display: flex;
    flex-direction: column;
}

.rk-exp-quote-box {
    position: relative;
    padding-left: 25px;
    border-left: 4px solid var(--rk-exp-gold);
    margin-bottom: 35px;
}

.rk-exp-quote-text {
    font-size: 18px;
    font-weight: 800;
    line-height: 1.6;
    color: var(--rk-exp-dark);
    margin: 0;
}

/* Interaktywne Zakładki (Bez animacji) */
.rk-exp-tabs-nav {
    display: flex;
    border-bottom: 2px solid var(--rk-exp-border);
    margin-bottom: 25px;
}

.rk-exp-tab-btn {
    padding: 12px 20px;
    background: transparent;
    border: none;
    border-bottom: 4px solid transparent;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-exp-gray);
    cursor: pointer;
    margin-bottom: -2px;
}

.rk-exp-tab-btn.active {
    color: var(--rk-exp-dark);
    border-bottom-color: var(--rk-exp-blue);
}

.rk-exp-tab-content {
    display: none;
    background: #f8fafc;
    padding: 25px;
    border: 1px solid var(--rk-exp-border);
    border-radius: 8px;
}

.rk-exp-tab-content.active {
    display: block;
}

.rk-exp-tab-content h3 {
    font-size: 16px;
    color: var(--rk-exp-dark);
    margin: 0 0 10px 0;
}

.rk-exp-tab-content p {
    font-size: 14px;
    color: var(--rk-exp-gray);
    line-height: 1.6;
    margin: 0;
}

.rk-exp-tab-content a {
    color: var(--rk-exp-blue);
    font-weight: 700;
    text-decoration: underline;
}

/* RWD Mobile */
@media (max-width: 768px) {
    .rk-exp-layout { grid-template-columns: 1fr; }
    .rk-exp-profile { border-right: none; border-bottom: 1px solid var(--rk-exp-border); padding: 30px 20px; }
    .rk-exp-content { padding: 30px 20px; }
    .rk-exp-tabs-nav { flex-direction: column; border-bottom: none; gap: 5px; }
    .rk-exp-tab-btn { border: 1px solid var(--rk-exp-border); border-bottom: 1px solid var(--rk-exp-border); border-radius: 6px; }
    .rk-exp-tab-btn.active { background: var(--rk-exp-blue); color: #ffffff; border-color: var(--rk-exp-blue); }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#article-expert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/"
    },
    "headline": "Zdaniem eksperta: Robert Kucharski o wpływie podłogówki na zdrowie",
    "description": "Podsumowanie eksperckie Roberta Kucharskiego, CEO projekt-ogrzewania.pl, na temat zdrowotnych aspektów instalacji płaszczyznowych i wymogów inżynieryjnych.",
    "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/",
      "jobTitle": "CEO & Główny Projektant HVAC",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-12-29",
    "dateModified": "2026-06-23"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#dataset-expert",
    "name": "Eksperckie wytyczne instalacyjne: Zdrowie i Komfort",
    "description": "Trzy filary zdrowej instalacji podłogowej według Roberta Kucharskiego obejmujące projekt OZC, regulację hydrauliczną oraz higienę mikroklimatu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "robert kucharski projekt ogrzewania",
      "ekspert hvac ogrzewanie podłogowe",
      "zdaniem eksperta podłogówka",
      "robert kucharski opinie ogrzewanie",
      "inżynierski standard montażu podłogówki"
    ],
    "measurementTechnique": "Weryfikacja jakości mikroklimatu poprzez analizę poprawności doboru pętli grzewczych, mocy pompy ciepła i zastosowania normy PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Filar 1: Zapotrzebowanie OZC zapobiega przegrzewaniu.",
        "Filar 2: Hydraulika i długość pętli chronią przed niedogrzaniem stref.",
        "Filar 3: Niska temperatura zasilania blokuje suchą destylację kurzu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#webapp-expert",
    "name": "Interaktywny Przewodnik Inżyniera",
    "description": "Moduł przełączający (taby) prezentujący w skondensowany sposób kluczowe wytyczne inżyniera instalacji sanitarnych dla utrzymania zdrowego mikroklimatu w domu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-expert-container" id="expert-sim-app">
    <div class="rk-exp-header">
        <h2>Zdaniem eksperta: Robert Kucharski o wpływie podłogówki na zdrowie</h2>
    </div>

    <div class="rk-exp-layout">
        <div class="rk-exp-profile">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Specjalista HVAC" class="rk-exp-photo">
            <h3 class="rk-exp-name">Robert Kucharski</h3>
            <p class="rk-exp-title">CEO & Inżynier HVAC</p>
            
            <div class="rk-exp-socials">
                <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-exp-social-link" aria-label="Facebook Projekt Ogrzewania">
                    <svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M18.77,7.46H14.5v-1.9c0-.9.6-1.1,1-1.1h3V.5h-4.33C10.24.5,9.5,3.44,9.5,5.32v2.15h-3v4h3v12h5v-12h3.85l.42-4Z"/></svg>
                </a>
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-exp-social-link" aria-label="LinkedIn Robert Kucharski">
                    <svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M19,0H5C2.24,0,0,2.24,0,5v14c0,2.76,2.24,5,5,5h14c2.76,0,5-2.24,5-5V5C24,2.24,21.76,0,19,0ZM8,19H5V8H8V19ZM6.5,6.73c-1.02,0-1.85-.83-1.85-1.85S5.48,3.03,6.5,3.03s1.85.83,1.85,1.85S7.52,6.73,6.5,6.73ZM20,19h-3v-5.6c0-3.37-4-3.12-4,0V19h-3V8h3v1.76c1.39-2.58,7-2.77,7,2.47V19Z"/></svg>
                </a>
            </div>
        </div>

        <div class="rk-exp-content">
            <div class="rk-exp-quote-box">
                <p class="rk-exp-quote-text">
                    "Ogrzewanie podłogowe to bezdyskusyjnie najzdrowszy system grzewczy w XXI wieku, pod jednym warunkiem: że jego wykonanie opiera się na matematyce, a nie na instalatorskiej intuicji i montażu 'na oko'."
                </p>
            </div>

            <div class="rk-exp-tabs-nav">
                <button class="rk-exp-tab-btn active" data-tab="tab-ozc">Projekt i OZC</button>
                <button class="rk-exp-tab-btn" data-tab="tab-hyd">Parametry Hydrauliczne</button>
                <button class="rk-exp-tab-btn" data-tab="tab-hig">Higiena Mikroklimatu</button>
            </div>

            <div class="rk-exp-tab-content active" id="tab-ozc">
                <h3>Fundament bezbłędnej instalacji</h3>
                <p>Każdy spór o to, czy instalacja zaszkodzi układowi krążenia, rozwiązują twarde obliczenia. Bez rzetelnego <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">OZC (Projektowego Obciążenia Cieplnego)</a> nie da się prawidłowo rozstawić rur. Brak dokumentacji oznacza przegrzane strefy brzeżne i niszczenie naturalnej bariery termicznej stóp.</p>
            </div>

            <div class="rk-exp-tab-content" id="tab-hyd">
                <h3>Bezwzględne posłuszeństwo pompie ciepła</h3>
                <p>Nawet najlepsze materiały nie uratują zdrowia domowników, jeśli <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">maksymalna długość pętli grzewczej</a> zostanie przekroczona. Opory liniowe powyżej 20 kPa zatrzymają przepływ, prowokując inwestora do chorobotwórczego podnoszenia temperatury zasilania na sterowniku.</p>
            </div>

            <div class="rk-exp-tab-content" id="tab-hig">
                <h3>Koniec z suchym powietrzem zimą</h3>
                <p>System płaszczyznowy deklasuje grzejniki właśnie dlatego, że operuje na parametrach poniżej 29°C. W fizyce budowli oznacza to eliminację suchej destylacji pyłów i stabilną wilgotność. Dowiedz się więcej czytając normę <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">PN-EN 1264</a> opisującą ten stan.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabBtns = document.querySelectorAll('.rk-exp-tab-btn');
    const tabContents = document.querySelectorAll('.rk-exp-tab-content');

    for (let i = 0; i < tabBtns.length; i++) {
        tabBtns[i].addEventListener('click', function() {
            // Czyszczenie aktywnych przycisków
            for (let j = 0; j < tabBtns.length; j++) {
                tabBtns[j].classList.remove('active');
            }
            
            // Czyszczenie aktywnych treści
            for (let k = 0; k < tabContents.length; k++) {
                tabContents[k].classList.remove('active');
            }

            // Ustawienie aktualnego przycisku jako aktywny
            this.classList.add('active');

            // Aktywacja odpowiedniego kontenera z treścią (BEZ ANIMACJI, BEZ ZNAKÓW LOGICZNYCH &#038;&#038;)
            const targetId = this.getAttribute('data-tab');
            const targetContent = document.getElementById(targetId);
            
            if (targetContent !== null) {
                targetContent.classList.add('active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-blue: #0284c7;
    --rk-faq-light-blue: #f0f9ff;
    --rk-faq-green: #10b981;
    --rk-faq-gray: #64748b;
    --rk-faq-light-gray: #f8fafc;
    --rk-faq-border: #e2e8f0;
    --rk-faq-bg: #ffffff;
}

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

/* Nagłówek FAQ */
.rk-faq-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-faq-dark) 0%, #1e293b 100%);
    color: #ffffff;
    position: relative;
    display: flex;
    align-items: center;
    gap: 20px;
}

.rk-faq-header-icon {
    width: 60px;
    height: 60px;
    background: rgba(2, 132, 199, 0.2);
    border: 1px solid rgba(56, 189, 248, 0.3);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-faq-header-icon svg {
    color: #38bdf8;
}

.rk-faq-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 5px 0;
    line-height: 1.2;
}

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

/* Interaktywny Akordeon FAQ */
.rk-faq-content {
    padding: 40px 50px;
    background: var(--rk-faq-light-gray);
}

.rk-faq-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-faq-item {
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
    border-left: 4px solid transparent;
}

.rk-faq-item:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

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

.rk-faq-question {
    width: 100%;
    text-align: left;
    padding: 24px 30px;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.rk-faq-question h3 {
    margin: 0;
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-faq-dark);
    line-height: 1.5;
    transition: color 0.3s;
}

.rk-faq-item.active .rk-faq-question h3 {
    color: var(--rk-faq-blue);
}

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

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

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

.rk-faq-item.active .rk-faq-answer {
    max-height: 500px;
    padding: 0 30px 30px 30px;
}

.rk-faq-answer p {
    margin: 0;
    font-size: 15px;
    line-height: 1.8;
    color: #475569;
    border-top: 1px solid var(--rk-faq-light-gray);
    padding-top: 20px;
}

.rk-faq-answer a {
    color: var(--rk-faq-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s;
}

.rk-faq-answer a:hover {
    color: #0369a1;
}

/* RWD Mobile */
@media (max-width: 768px) {
    .rk-faq-header, .rk-faq-content { padding: 30px 20px; }
    .rk-faq-header { flex-direction: column; text-align: center; gap: 15px; }
    .rk-faq-question { padding: 20px; }
    .rk-faq-question h3 { font-size: 15px; }
    .rk-faq-answer { padding: 0 20px; }
    .rk-faq-item.active .rk-faq-answer { padding: 0 20px 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy ogrzewanie podłogowe niszczy stawy kolanowe i wywołuje reumatyzm?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, prawidłowo wyregulowana podłogówka o temperaturze powierzchni 26–28°C zapobiega wychłodzeniu stóp, co wręcz łagodzi dolegliwości reumatyczne. Chorobotwórczy wpływ na stawy ma wyłącznie podłoga stale przegrzana (powyżej 32°C), będąca wynikiem rażących błędów w wykonaniu instalacji."
        }
      },
      {
        "@type": "Question",
        "name": "Czy można kłaść panele podłogowe w sypialni z ogrzewaniem podłogowym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, można kłaść panele podłogowe, ale muszą posiadać oznaczenie producenta o przydatności do systemów grzewczych (symbol z pętlą grzewczą) oraz łączny opór cieplny panelu i podkładu nie może przekraczać wartości 0,15 m²K/W. Najlepszym wyborem są panele winylowe SPC na dedykowanym podkładzie kwarcowym."
        }
      },
      {
        "@type": "Question",
        "name": "Jak ogrzewanie podłogowe wpływa na małe dzieci raczkujące po podłodze?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Dla niemowląt i małych dzieci prawidłowo zaprojektowane ogrzewanie podłogowe jest skrajnie bezpieczne, ponieważ eliminuje ryzyko przeciągów przy podłodze oraz urazów mechanicznych o ostre krawędzie klasycznych grzejników. Temperatura podłogi na poziomie 27°C chroni dziecko przed wychłodzeniem organizmu."
        }
      },
      {
        "@type": "Question",
        "name": "Czy podłogówka w sypialni wysusza gardło w nocy?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, wysuszanie gardła to mit wynikający z braku wentylacji lub permanentnego przegrzewania pomieszczenia powyżej 22°C. Ogrzewanie płaszczyznowe, dzięki niskiemu parametrowi pracy, nie generuje zjawiska przypalania kurzu, które jest bezpośrednią przyczyną porannego drapania w gardle przy ogrzewaniu grzejnikowym."
        }
      },
      {
        "@type": "Question",
        "name": "Czy przy ogrzewaniu podłogowym można mieć rośliny doniczkowe na ziemi?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Rośliny doniczkowe stojące bezpośrednio na ogrzewanej podłodze mogą cierpieć z powodu zbyt szybkiego wysychania bryły korzeniowej. Aby temu zapobiec, donice należy umieszczać na specjalnych podstawkach z grubym dnem, kwietnikach lub nóżkach o wysokości minimum 5 cm."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/"
    },
    "headline": "FAQ – Ogrzewanie podłogowe a zdrowie domowników",
    "description": "Zbiór najczęściej zadawanych pytań dotyczących wpływu ogrzewania płaszczyznowego na stawy, drogi oddechowe i bezpieczny rozwój dzieci.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-23",
    "dateModified": "2026-06-23"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#dataset-faq",
    "name": "Baza Wiedzy: Parametry Medyczne Ogrzewania Płaszczyznowego",
    "description": "Zestawienie interaktywnych odpowiedzi obalających mity instalacyjne w oparciu o fizykę budowli i normy medyczne.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podłogówka a reumatyzm i stawy",
      "panele w sypialni na podłogówce",
      "ogrzewanie podłogowe dla raczkujących dzieci",
      "czy podłogówka wysusza powietrze",
      "rośliny doniczkowe na podłogówce"
    ],
    "measurementTechnique": "Weryfikacja norm (opór cieplny do 0,15 m²K/W, temperatura powierzchni 26–28°C) wobec odczuć behawioralnych użytkowników.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Analiza wpływu temperatury 32°C na stawy.",
        "Wymagania dla okładzin (max R=0,15 m²K/W).",
        "Wpływ ogrzewania konwekcyjnego vs podłogowego na wilgotność nocą."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#webapp-faq",
    "name": "Eksplorator Błędnych Przekonań (FAQ Akordeon)",
    "description": "Interaktywny panel w technologii JavaScript umożliwiający płynne odkrywanie bezpośrednich odpowiedzi na obawy inwestorów dotyczące zdrowia.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5, CSS3",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-container" id="health-faq-app">
    <div class="rk-faq-header">
        <div class="rk-faq-header-icon">
            <svg width="28" height="28" 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="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>
        </div>
        <div>
            <h2>FAQ – Ogrzewanie podłogowe a zdrowie</h2>
            <p>Błyskawiczne odpowiedzi na najczęstsze obawy inwestorów</p>
        </div>
    </div>

    <div class="rk-faq-content">
        <div class="rk-faq-list">
            
            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <h3>Czy ogrzewanie podłogowe niszczy stawy kolanowe i wywołuje reumatyzm?</h3>
                    <div class="rk-faq-toggle-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-faq-answer">
                    <p>Nie, prawidłowo wyregulowana podłogówka o temperaturze powierzchni 26–28°C zapobiega wychłodzeniu stóp, co wręcz łagodzi dolegliwości reumatyczne. Chorobotwórczy wpływ na stawy ma wyłącznie podłoga stale przegrzana (powyżej 32°C), będąca wynikiem rażących błędów w wykonaniu instalacji hydraulicznej i braku przeliczeń OZC.</p>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <h3>Czy można kłaść panele podłogowe w sypialni z ogrzewaniem podłogowym?</h3>
                    <div class="rk-faq-toggle-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-faq-answer">
                    <p>Tak, można kłaść panele podłogowe, ale muszą posiadać oznaczenie producenta o przydatności do systemów grzewczych (symbol z pętlą grzewczą) oraz łączny opór cieplny panelu i podkładu nie może przekraczać wartości 0,15 m²K/W. Najlepszym wyborem są panele winylowe SPC na dedykowanym podkładzie kwarcowym o bardzo niskim oporze ok. 0,01–0,03 m²K/W. Więcej o wpływie posadzek dowiesz się czytając <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">jak rodzaj okładziny podłogowej wpływa na wydajność</a>.</p>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <h3>Jak ogrzewanie podłogowe wpływa na małe dzieci raczkujące po podłodze?</h3>
                    <div class="rk-faq-toggle-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-faq-answer">
                    <p>Dla niemowląt i małych dzieci prawidłowo zaprojektowane ogrzewanie podłogowe jest skrajnie bezpieczne, ponieważ eliminuje ryzyko przeciągów przy podłodze oraz urazów mechanicznych o ostre krawędzie klasycznych grzejników. Temperatura podłogi na poziomie 27°C chroni dziecko przed wychłodzeniem organizmu podczas wielogodzinnych zabaw na ziemi.</p>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <h3>Czy podłogówka w sypialni wysusza gardło w nocy?</h3>
                    <div class="rk-faq-toggle-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-faq-answer">
                    <p>Nie, wysuszanie gardła to mit wynikający z braku wentylacji lub permanentnego przegrzewania pomieszczenia powyżej 22°C. Ogrzewanie płaszczyznowe, dzięki niskiemu parametrowi pracy, nie generuje zjawiska przypalania kurzu, które jest bezpośrednią przyczyną porannego drapania w gardle przy ogrzewaniu grzejnikowym. Pełną fizykę tego zjawiska omawiamy w artykule <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-wysusza-powietrze-w-pomieszczeniach/">czy ogrzewanie podłogowe wysusza powietrze</a>.</p>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <h3>Czy przy ogrzewaniu podłogowym można mieć rośliny doniczkowe na ziemi?</h3>
                    <div class="rk-faq-toggle-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-faq-answer">
                    <p>Rośliny doniczkowe stojące bezpośrednio na ogrzewanej podłodze mogą cierpieć z powodu zbyt szybkiego wysychania bryły korzeniowej. Aby temu zapobiec, donice należy umieszczać na specjalnych podstawkach z grubym dnem, kwietnikach lub nóżkach o wysokości minimum 5 cm, zapewniając izolację od bezpośredniego strumienia ciepła. Zobacz też <a href="https://projekt-ogrzewania.pl/wodne-ogrzewanie-podlogowe-a-meble-jak-polaczyc-komfort-i-aranzacje/">jak połączyć komfort i aranżację wnętrza przy meblach</a>.</p>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const faqQuestions = document.querySelectorAll('.rk-faq-question');
    
    for (let i = 0; i < faqQuestions.length; i++) {
        faqQuestions[i].addEventListener('click', function() {
            const parentItem = this.parentElement;
            const isCurrentlyActive = parentItem.classList.contains('active');
            
            // Zamykamy wszystkie elementy akordeonu
            const allItems = document.querySelectorAll('.rk-faq-item');
            for (let j = 0; j < allItems.length; j++) {
                allItems[j].classList.remove('active');
            }
            
            // Jeśli kliknięty element nie był aktywny, otwieramy go
            if (isCurrentlyActive === false) {
                parentItem.classList.add('active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-hl-dark: #1e293b;
    --rk-hl-blue: #0ea5e9;
    --rk-hl-light-blue: #f0f9ff;
    --rk-hl-green: #10b981;
    --rk-hl-green-light: #ecfdf5;
    --rk-hl-red: #ef4444;
    --rk-hl-red-light: #fef2f2;
    --rk-hl-gray: #64748b;
    --rk-hl-border: #e2e8f0;
    --rk-hl-bg: #ffffff;
    --rk-hl-tag: #f1f5f9;
}

.rk-health-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-hl-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(14, 165, 233, 0.1);
    border: 1px solid rgba(14, 165, 233, 0.2);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-hl-header {
    padding: 40px 50px;
    background: linear-gradient(145deg, #0f172a 0%, var(--rk-hl-dark) 100%);
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-hl-blue);
}

.rk-hl-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 20px 0;
    line-height: 1.3;
}

.rk-hl-intro {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

.rk-hl-intro strong {
    color: #38bdf8;
    font-weight: 700;
}

/* Interaktywny Symulator Zdrowia */
.rk-hl-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

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

/* Switch / Toggle Layout */
.rk-hl-switch-wrapper {
    display: flex;
    background: #ffffff;
    border: 1px solid var(--rk-hl-border);
    border-radius: 20px;
    padding: 8px;
    gap: 10px;
    margin-bottom: 40px;
}

.rk-hl-btn {
    flex: 1;
    padding: 18px 20px;
    border-radius: 14px;
    border: 2px solid transparent;
    background: transparent;
    cursor: pointer;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-hl-gray);
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.rk-hl-btn:hover {
    background: var(--rk-hl-light-blue);
}

.rk-hl-btn.active[data-mode="engineered"] {
    background: var(--rk-hl-green-light);
    border-color: var(--rk-hl-green);
    color: #065f46;
    box-shadow: 0 8px 15px -3px rgba(16, 185, 129, 0.15);
}

.rk-hl-btn.active[data-mode="intuitive"] {
    background: var(--rk-hl-red-light);
    border-color: var(--rk-hl-red);
    color: #991b1b;
    box-shadow: 0 8px 15px -3px rgba(239, 68, 68, 0.15);
}

.rk-hl-icon-box {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e2e8f0;
    color: #94a3b8;
    transition: all 0.3s;
}

.rk-hl-btn.active[data-mode="engineered"] .rk-hl-icon-box {
    background: var(--rk-hl-green);
    color: #ffffff;
}

.rk-hl-btn.active[data-mode="intuitive"] .rk-hl-icon-box {
    background: var(--rk-hl-red);
    color: #ffffff;
}

/* Dashboard Wyników */
.rk-hl-dashboard {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 30px;
    background: #ffffff;
    border-radius: 20px;
    padding: 30px;
    border: 1px solid var(--rk-hl-border);
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.03);
}

.rk-hl-graphic {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: #f8fafc;
    border-radius: 16px;
    position: relative;
}

.rk-svg-human {
    width: 100%;
    max-width: 150px;
    height: auto;
}

/* Animacje SVG */
.rk-anim-layer { transition: all 0.5s ease; }
.state-engineered .rk-anim-layer { fill: var(--rk-hl-green); opacity: 0.8; filter: drop-shadow(0 0 8px rgba(16, 185, 129, 0.5)); }
.state-intuitive .rk-anim-layer { fill: var(--rk-hl-red); opacity: 0.8; filter: drop-shadow(0 0 8px rgba(239, 68, 68, 0.5)); animation: throb 1s infinite alternate; }

@keyframes throb {
    from { opacity: 0.6; transform: scale(0.98); transform-origin: center; }
    to { opacity: 1; transform: scale(1.02); transform-origin: center; }
}

.rk-hl-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}

.rk-hl-metric {
    padding-left: 20px;
    border-left: 4px solid var(--rk-hl-gray);
    transition: border-color 0.3s ease;
}

.state-engineered .rk-hl-metric { border-left-color: var(--rk-hl-green); }
.state-intuitive .rk-hl-metric { border-left-color: var(--rk-hl-red); }

.rk-hl-metric h4 {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-hl-dark);
}

.rk-hl-metric p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
}

.rk-hl-metric a {
    color: var(--rk-hl-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Sekcja Tagi & CTA */
.rk-hl-footer {
    padding: 40px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-hl-border);
}

.rk-tags-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 35px;
}

.rk-mat-tag {
    background: var(--rk-hl-tag);
    color: #475569;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid var(--rk-hl-border);
    transition: all 0.2s;
}

.rk-mat-tag:hover {
    background: var(--rk-hl-light-blue);
    color: var(--rk-hl-blue);
    border-color: var(--rk-hl-blue);
}

.rk-hl-cta-block {
    text-align: center;
    background: #f8fafc;
    padding: 30px;
    border-radius: 16px;
    border: 1px dashed #cbd5e1;
}

.rk-hl-cta-block h4 {
    margin: 0 0 15px 0;
    font-size: 20px;
    color: var(--rk-hl-dark);
}

.rk-btn-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--rk-hl-blue);
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    padding: 16px 32px;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 8px 20px -5px rgba(14, 165, 233, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-btn-cta:hover {
    transform: translateY(-3px);
    background: #0284c7;
    box-shadow: 0 12px 25px -5px rgba(14, 165, 233, 0.5);
}

/* RWD Mobile */
@media (max-width: 768px) {
    .rk-hl-header, .rk-hl-interactive, .rk-hl-footer { padding: 30px 20px; }
    .rk-hl-switch-wrapper { flex-direction: column; background: transparent; border: none; gap: 12px; padding: 0; }
    .rk-hl-btn { background: #ffffff; border: 1px solid var(--rk-hl-border); padding: 16px; }
    .rk-hl-dashboard { grid-template-columns: 1fr; padding: 20px; }
    .rk-hl-graphic { padding: 30px; }
    .rk-svg-human { max-width: 120px; }
    .rk-hl-metric { padding-left: 15px; }
    .rk-tags-wrapper { justify-content: center; }
    .rk-btn-cta { width: 100%; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/"
    },
    "headline": "Podsumowanie: Dlaczego warto oprzeć instalację na twardej inżynierii?",
    "description": "Zrozumienie wpływu ogrzewania płaszczyznowego na mikroklimat i zdrowie. Narzędzie interaktywne porównujące fizjologiczne skutki montażu inżynieryjnego i intuicyjnego.",
    "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.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-06-23",
    "dateModified": "2026-06-23"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#dataset",
    "name": "Zestawienie parametrów zdrowotnych instalacji płaszczyznowych",
    "description": "Analiza wpływu prawidłowo skalkulowanej temperatury zasilania i rozstawu rur na parametry fizjologiczne organizmu, takie jak krążenie, układ oddechowy i jakość snu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wpływ ogrzewania podłogowego na zdrowie",
      "czy podłogówka jest zdrowa dla alergików",
      "optymalna temperatura podłogi w sypialni",
      "prawidłowy projekt ogrzewania podłogowego",
      "zdrowy mikroklimat z pompą ciepła"
    ],
    "measurementTechnique": "Porównanie symulacji termicznej dla posadzki projektowanej inżynieryjnie (zgodnie z PN-EN 1264) względem podłogi instalowanej bez obliczeń hydraulicznych (montaż intuicyjny).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Układ krążenia: Neutralność przy max 29°C (projekt) vs Wazodylatacja przy 34°C (brak projektu).",
        "Układ oddechowy: Wilgotność 40-60% i brak konwekcji vs Przesuszanie powietrza.",
        "Sen: Optymalna regeneracja przy strefowym sterowaniu temperaturą."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#webapp",
    "name": "Symulator Fizjologiczny Ogrzewania Podłogowego",
    "description": "Interaktywny panel demonstrujący zachowanie organizmu ludzkiego pod wpływem różnych schematów montażowych podłogówki (inżynierski vs amatorski).",
    "applicationCategory": "HealthApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-health-container" id="health-sum-app">
    <div class="rk-hl-header">
        <h2>Podsumowanie: Dlaczego warto oprzeć instalację na twardej inżynierii?</h2>
        <p class="rk-hl-intro">
            Ogrzewanie podłogowe to bezdyskusyjnie najzdrowszy i najbardziej komfortowy system ogrzewania budynków mieszkalnych, o ile jego realizacja opiera się na <strong>twardych faktach inżynieryjnych</strong>, a nie na instalatorskich mitach. Prawidłowo skalkulowany system chroni układ krążenia domowników, stwarza bezpieczne warunki dla alergików, wspiera naturalną odporność dróg oddechowych oraz gwarantuje głęboki, spokojny sen.
        </p>
    </div>

    <div class="rk-hl-interactive">
        <h3>Sprawdź wpływ metody montażu na organizm</h3>
        
        <div class="rk-hl-switch-wrapper" id="healthDecisions">
            <button class="rk-hl-btn active" data-mode="engineered">
                <div class="rk-hl-icon-box">
                    <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="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                Podejście Inżynieryjne (Projekt)
            </button>
            <button class="rk-hl-btn" data-mode="intuitive">
                <div class="rk-hl-icon-box">
                    <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="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>
                </div>
                Montaż "Na oko" (Brak OZC)
            </button>
        </div>

        <div class="rk-hl-dashboard state-engineered" id="healthResultBox">
            <div class="rk-hl-graphic">
                <svg class="rk-svg-human" viewBox="0 0 100 200">
                    <circle cx="50" cy="25" r="15" fill="#e2e8f0" />
                    <circle class="rk-anim-layer" id="svg-head" cx="50" cy="25" r="10" />
                    <rect x="35" y="45" width="30" height="60" rx="10" fill="#e2e8f0" />
                    <rect class="rk-anim-layer" id="svg-torso" x="40" y="50" width="20" height="50" rx="8" />
                    <rect x="35" y="110" width="10" height="70" rx="5" fill="#e2e8f0" />
                    <rect x="55" y="110" width="10" height="70" rx="5" fill="#e2e8f0" />
                    <rect class="rk-anim-layer" id="svg-legs" x="37" y="112" width="6" height="66" rx="3" />
                    <rect class="rk-anim-layer" id="svg-legs2" x="57" y="112" width="6" height="66" rx="3" />
                </svg>
            </div>
            <div class="rk-hl-details" id="healthResultContent">
                <div class="rk-hl-metric">
                    <h4>Układ Krążenia i Stawy</h4>
                    <p>Posadzka o temperaturze poniżej 29°C (wyliczona dzięki <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">prawidłowemu projektowi</a>) jest neutralna fizjologicznie. Delikatne ciepło relaksuje stawy bez rozszerzania naczyń krwionośnych w nogach.</p>
                </div>
                <div class="rk-hl-metric">
                    <h4>Drogi Oddechowe</h4>
                    <p>Idealna wilgotność (40-60%) i brak sztucznie wymuszonej konwekcji. Roztocza nie mają środowiska do rozwoju, a kurz zostaje na podłodze. Sprawdź, <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/">jak działa zjawisko promieniowania</a>.</p>
                </div>
                <div class="rk-hl-metric">
                    <h4>Głęboki Sen (NREM)</h4>
                    <p>Niska bezwładność sterowana strefowo umożliwia utrzymanie 18°C na wysokości głowy, co sprzyja pełnej regeneracji nocnej.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-hl-footer">
        <div class="rk-tags-wrapper">
            <span class="rk-mat-tag"># wpływ ogrzewania podłogowego na zdrowie</span>
            <span class="rk-mat-tag"># czy podłogówka jest zdrowa dla alergików</span>
            <span class="rk-mat-tag"># optymalna temperatura podłogi w sypialni</span>
            <span class="rk-mat-tag"># prawidłowy projekt ogrzewania podłogowego</span>
            <span class="rk-mat-tag"># ogrzewanie płaszczyznowe a krążenie</span>
            <span class="rk-mat-tag"># zdrowy mikroklimat z pompą ciepła</span>
            <span class="rk-mat-tag"># jak uniknąć przegrzewania podłogówki</span>
            <span class="rk-mat-tag"># bezpieczna instalacja grzewcza w domu</span>
        </div>

        <div class="rk-hl-cta-block">
            <h4>Zrezygnuj z intuicji. Postaw na inżynierię dla dobra swojej rodziny.</h4>
            <p style="color: #64748b; margin-bottom: 25px;">Warunkiem koniecznym do uzyskania wszystkich korzyści zdrowotnych jest profesjonalny, indywidualny projekt sanitarny, który dopasuje parametry termiczne do fizjologicznych potrzeb ludzkiego ciała.</p>
            <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-cta">
                Baza Wiedzy Instalacyjnej i Projektowej
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" 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>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-hl-btn');
    const resultBox = document.getElementById('healthResultBox');
    const resultContent = document.getElementById('healthResultContent');

    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Zmiana klas przycisków
            btns.forEach(function(b) { b.classList.remove('active'); });
            this.classList.add('active');

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

            if (mode === 'engineered') {
                resultBox.className = 'rk-hl-dashboard state-engineered';
                resultContent.innerHTML = `
                    <div class="rk-hl-metric">
                        <h4>Układ Krążenia i Stawy</h4>
                        <p>Posadzka o temperaturze poniżej 29°C (wyliczona dzięki <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">prawidłowemu projektowi</a>) jest neutralna fizjologicznie. Delikatne ciepło relaksuje stawy bez rozszerzania naczyń krwionośnych w nogach.</p>
                    </div>
                    <div class="rk-hl-metric">
                        <h4>Drogi Oddechowe</h4>
                        <p>Idealna wilgotność (40-60%) i brak sztucznie wymuszonej konwekcji. Roztocza nie mają środowiska do rozwoju, a kurz zostaje na podłodze. Sprawdź, <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/">jak działa zjawisko promieniowania</a>.</p>
                    </div>
                    <div class="rk-hl-metric">
                        <h4>Głęboki Sen (NREM)</h4>
                        <p>Niska bezwładność sterowana strefowo umożliwia utrzymanie 18°C na wysokości głowy, co sprzyja pełnej regeneracji nocnej.</p>
                    </div>
                `;
            } else {
                resultBox.className = 'rk-hl-dashboard state-intuitive';
                resultContent.innerHTML = `
                    <div class="rk-hl-metric">
                        <h4 style="color: var(--rk-hl-red);">Przeciążenie żylne (Wazodylatacja)</h4>
                        <p>Rozstawianie rur "na oko" kompensowane wysoką temperaturą źródła sprawia, że podłoga dobija do 34°C. Prowadzi to do obrzęku stóp i potęguje niewydolność krążeniową.</p>
                    </div>
                    <div class="rk-hl-metric">
                        <h4 style="color: var(--rk-hl-red);">Wysuszone Śluzówki</h4>
                        <p>Przegrzewany beton niszczy zdrowy pionowy profil temperatur. Wilgotność spada drastycznie, wysuszając drogi oddechowe i obniżając naturalną odporność. Zobacz <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstsze błędy instalacyjne</a>.</p>
                    </div>
                    <div class="rk-hl-metric">
                        <h4 style="color: var(--rk-hl-red);">Chroniczne Niewyspanie</h4>
                        <p>Brak wyliczeń OZC oznacza brak kontroli nad ciepłem. Temperatura w sypialni nocą przewyższa 22°C, skracając fazy snu i powodując poranne bóle głowy.</p>
                    </div>
                `;
            }
        });
    });
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-slate: #1e293b;
    --rk-dl-blue: #0284c7;
    --rk-dl-blue-light: #e0f2fe;
    --rk-dl-gray: #64748b;
    --rk-dl-border: #e2e8f0;
    --rk-dl-bg: #ffffff;
}

.rk-download-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-dl-bg);
    border-radius: 20px;
    border: 2px solid var(--rk-dl-slate);
    overflow: hidden;
}

/* Nagłówek */
.rk-dl-header {
    padding: 30px 40px;
    background: var(--rk-dl-slate);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dl-blue);
    display: flex;
    align-items: center;
    gap: 20px;
}

.rk-dl-header-icon {
    width: 50px;
    height: 50px;
    background: rgba(2, 132, 199, 0.3);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #38bdf8;
    flex-shrink: 0;
}

.rk-dl-header-text h2 {
    font-size: 24px;
    font-weight: 900;
    margin: 0 0 5px 0;
    line-height: 1.2;
}

.rk-dl-header-text p {
    font-size: 15px;
    color: #cbd5e1;
    margin: 0;
}

/* Główny obszar */
.rk-dl-content {
    display: grid;
    grid-template-columns: 350px 1fr;
    background: #f8fafc;
}

/* Sekcja z miniaturą */
.rk-dl-preview-box {
    padding: 30px;
    background: #ffffff;
    border-right: 1px solid var(--rk-dl-border);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-dl-thumb-wrapper {
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--rk-dl-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    position: relative;
    cursor: pointer;
}

.rk-dl-thumb-img {
    width: 100%;
    display: block;
    height: auto;
}

.rk-dl-thumb-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(15, 23, 42, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s; /* Dopuszczalne bezpieczne przejście */
}

.rk-dl-thumb-wrapper:hover .rk-dl-thumb-overlay {
    opacity: 1;
}

.rk-dl-zoom-btn {
    background: var(--rk-dl-blue);
    color: #ffffff;
    padding: 10px 20px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Sekcja z plikami i informacjami */
.rk-dl-info-box {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-dl-info-box h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-dl-dark);
    margin: 0 0 15px 0;
}

.rk-dl-desc {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-dl-gray);
    margin: 0 0 30px 0;
}

.rk-dl-buttons-row {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-dl-action-btn {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    border-radius: 8px;
    font-weight: 800;
    font-size: 14px;
    text-decoration: none;
    text-align: center;
}

.rk-dl-btn-primary {
    background: var(--rk-dl-blue);
    color: #ffffff;
    border: 2px solid var(--rk-dl-blue);
}

.rk-dl-btn-primary:hover {
    background: #0369a1;
    border-color: #0369a1;
}

.rk-dl-btn-secondary {
    background: transparent;
    color: var(--rk-dl-dark);
    border: 2px solid var(--rk-dl-slate);
}

.rk-dl-btn-secondary:hover {
    background: var(--rk-dl-slate);
    color: #ffffff;
}

/* Stopka autorska */
.rk-dl-footer {
    padding: 20px 40px;
    background: #f1f5f9;
    border-top: 1px solid var(--rk-dl-border);
    font-size: 12px;
    color: var(--rk-dl-gray);
    line-height: 1.5;
    text-align: center;
}

.rk-dl-footer strong {
    color: var(--rk-dl-dark);
}

/* Modal (Powiększenie obrazka) */
.rk-modal-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(15, 23, 42, 0.9);
    z-index: 9999;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.rk-modal-overlay.active {
    display: flex;
}

.rk-modal-content {
    position: relative;
    max-width: 90%;
    max-height: 90vh;
}

.rk-modal-img {
    display: block;
    max-width: 100%;
    max-height: 90vh;
    border-radius: 8px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.4);
}

.rk-modal-close {
    position: absolute;
    top: -40px;
    right: 0;
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* RWD Mobile */
@media (max-width: 768px) {
    .rk-dl-header { padding: 30px 20px; flex-direction: column; text-align: center; }
    .rk-dl-content { grid-template-columns: 1fr; }
    .rk-dl-preview-box { padding: 30px 20px; border-right: none; border-bottom: 1px solid var(--rk-dl-border); }
    .rk-dl-info-box { padding: 30px 20px; }
    .rk-dl-buttons-row { flex-direction: column; }
    .rk-dl-footer { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#article-download",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/"
    },
    "headline": "Materiały dodatkowe: Infografika podsumowująca wpływ ogrzewania na zdrowie",
    "description": "Zestaw materiałów edukacyjnych (Infografika JPG oraz dokument PDF) opracowanych przez Roberta Kucharskiego, weryfikujących parametry zdrowotne podłogówki.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Czy-ogrzewanie-podlogowe-jest-zdrowe.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "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-12-29",
    "dateModified": "2026-06-23"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#dataset-download",
    "name": "Materiały do pobrania: Obalanie mitów o ogrzewaniu podłogowym",
    "description": "Zbiór plików graficznych i PDF stanowiących kompendium wiedzy o wpływie temperatury i aerodynamiki na układ krążenia i układ oddechowy domowników.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe zdrowie",
      "pobierz materiały o podłogówce",
      "mity o ogrzewaniu podłogowym pdf",
      "robert kucharski materiały instalacyjne",
      "parametry zdrowej podłogówki schemat"
    ],
    "measurementTechnique": "Skondensowana prezentacja wytycznych medycznych i norm budowlanych (PN-EN 1264) w przystępnej wizualnie formie zoptymalizowanej pod druk.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Plik: Infografika-Czy-ogrzewanie-podlogowe-jest-zdrowe.webp (Wysoka rozdzielczość)",
        "Plik: Infografika-Czy-ogrzewanie-podlogowe-jest-zdrowe.pdf (Format do druku)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/#webapp-download",
    "name": "Panel Dystrybucji Wiedzy Instalacyjnej",
    "description": "Narzędzie pozwalające użytkownikom na podgląd wielkoformatowej infografiki w oknie modalnym oraz bezpośrednie pobranie materiałów w formacie PDF i WEBP.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-download-container" id="download-app">
    <div class="rk-dl-header">
        <div class="rk-dl-header-icon">
            <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="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>
        </div>
        <div class="rk-dl-header-text">
            <h2>Materiały do pobrania</h2>
            <p>Zapisz naszą autorską infografikę, która w prosty sposób wyjaśnia, dlaczego prawidłowo wykonane ogrzewanie podłogowe jest zdrowe.</p>
        </div>
    </div>

    <div class="rk-dl-content">
        <div class="rk-dl-preview-box">
            <div class="rk-dl-thumb-wrapper" id="openModalBtn">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Czy-ogrzewanie-podlogowe-jest-zdrowe.webp" alt="Miniatura: Czy ogrzewanie podłogowe jest zdrowe?" class="rk-dl-thumb-img">
                <div class="rk-dl-thumb-overlay">
                    <div class="rk-dl-zoom-btn">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                        Powiększ grafikę
                    </div>
                </div>
            </div>
            <p style="font-size: 12px; color: var(--rk-dl-gray); margin-top: 15px; text-align: center;">Kliknij miniaturę, aby wyświetlić pełen rozmiar.</p>
        </div>

        <div class="rk-dl-info-box">
            <h3>Podsumowanie twardych faktów</h3>
            <p class="rk-dl-desc">
                Przygotowałem ten materiał specjalnie dla Ciebie. Znajdziesz w nim obalenie największych mitów dotyczących żylaków, wysuszania powietrza i alergii, bazujące na prawach fizyki i inżynierii hydraulicznej (m.in. <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">znaczenie OZC</a>). Udostępnij ją rodzinie lub wykonawcy.
            </p>
            
            <div class="rk-dl-buttons-row">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Czy-ogrzewanie-podlogowe-jest-zdrowe.pdf" target="_blank" rel="noopener noreferrer" class="rk-dl-action-btn rk-dl-btn-primary" download>
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="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>
                    Pobierz plik PDF
                </a>
                
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Czy-ogrzewanie-podlogowe-jest-zdrowe.webp" target="_blank" rel="noopener noreferrer" class="rk-dl-action-btn rk-dl-btn-secondary" download>
                    <svg width="18" height="18" 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>
                    Zapisz jako obraz
                </a>
            </div>
        </div>
    </div>

    <div class="rk-dl-footer">
        © 2026 Projekt-Ogrzewania.pl | Autor: <strong>Robert Kucharski</strong>.<br>Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku.
    </div>

    <div class="rk-modal-overlay" id="imageModal">
        <div class="rk-modal-content">
            <button class="rk-modal-close" id="closeModalBtn">
                ZAMKNIJ
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" 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>
            </button>
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Czy-ogrzewanie-podlogowe-jest-zdrowe.webp" alt="Powiększona infografika o podłogówce" class="rk-modal-img">
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const openBtn = document.getElementById('openModalBtn');
    const closeBtn = document.getElementById('closeModalBtn');
    const modal = document.getElementById('imageModal');

    function openModal() {
        modal.classList.add('active');
        document.body.style.overflow = 'hidden'; // Blokada przewijania tła
    }

    function closeModal() {
        modal.classList.remove('active');
        document.body.style.overflow = ''; // Przywrócenie przewijania
    }

    openBtn.addEventListener('click', openModal);
    closeBtn.addEventListener('click', closeModal);

    // Zamykanie po kliknięciu w tło
    modal.addEventListener('click', function(e) {
        if (e.target === modal) {
            closeModal();
        }
    });

    // Zamykanie przyciskiem ESC
    document.addEventListener('keydown', function(e) {
        if (e.key === 'Escape') {
            closeModal();
        }
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/">Czy ogrzewanie podłogowe jest zdrowe?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
