<?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 styropian - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/tag/styropian/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/tag/styropian/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Mon, 25 May 2026 20:51:32 +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 styropian - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/tag/styropian/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Ile styropianu pod ogrzewanie podłogowe?</title>
		<link>https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Tue, 18 Nov 2025 08:28:46 +0000</pubDate>
				<category><![CDATA[Izolacje termiczne]]></category>
		<category><![CDATA[Materiały budowlane]]></category>
		<category><![CDATA[Materiały do podłogówki]]></category>
		<category><![CDATA[Materiały instalacyjne]]></category>
		<category><![CDATA[Normy budowlane]]></category>
		<category><![CDATA[Normy i regulacje]]></category>
		<category><![CDATA[Normy i standardy]]></category>
		<category><![CDATA[Normy techniczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Styropian]]></category>
		<category><![CDATA[eps 100]]></category>
		<category><![CDATA[eps 200]]></category>
		<category><![CDATA[grubość styropianu]]></category>
		<category><![CDATA[izolacja termiczna]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projektowanie ogrzewania]]></category>
		<category><![CDATA[straty ciepła]]></category>
		<category><![CDATA[styropian]]></category>
		<category><![CDATA[warunki techniczne]]></category>
		<category><![CDATA[współczynnik lambda]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2850</guid>

					<description><![CDATA[<p>Planując instalację ogrzewania podłogowego, jednym z najważniejszych, choć często niedocenianych aspektów, jest odpowiednie dobranie izolacji termicznej. Wiele osób zadaje sobie wtedy kluczowe pytanie: ile styropianu pod ogrzewanie podłogowe będzie optymalne? Odpowiedź nie jest jednoznaczna, ponieważ zależy od typu konstrukcji, lokalizacji oraz parametrów technicznych samego materiału. W naszym kompleksowym artykule w techniczny i szczegółowy sposób wyjaśniamy, jak precyzyjnie obliczyć wymaganą grubość warstwy izolacyjnej, jakie normy prawne muszą być spełnione oraz na jakie zaawansowane parametry, takie jak współczynnik lambda czy wytrzymałość na ściskanie, należy zwrócić uwagę. Dowiesz się również, jak uniknąć kosztownych błędów i zapewnić swojemu systemowi grzewczemu maksymalną efektywność energetyczną na długie lata.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">Ile styropianu pod ogrzewanie podłogowe?</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-card: #1e293b;
    --rk-intro-brand: #ea580c; /* Termiczna pomarańcz */
    --rk-intro-brand-light: #ffedd5;
    --rk-intro-blue: #0284c7;
    --rk-intro-bg: #ffffff;
    --rk-intro-surface: #f8fafc;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #475569;
}

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

/* Sekcja Główna Wstępu */
.rk-intro-header {
    background: linear-gradient(135deg, #1e293b 0%, var(--rk-intro-dark) 100%);
    padding: 45px 50px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-intro-brand);
}

.rk-intro-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(234, 88, 12, 0.2);
    color: #fdba74;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(253, 186, 116, 0.2);
}

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

.rk-intro-header p {
    font-size: 18px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
    max-width: 800px;
}

.rk-intro-header strong {
    color: #ffffff;
    font-weight: 800;
    background: rgba(234, 88, 12, 0.3);
    padding: 2px 6px;
    border-radius: 4px;
}

/* Moduł "Czego się dowiesz" */
.rk-intro-agenda {
    padding: 40px 50px;
    background: var(--rk-intro-surface);
}

.rk-agenda-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-intro-dark);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 25px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

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

.rk-agenda-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

/* Interaktywne Kafelki */
.rk-agenda-card {
    background: #ffffff;
    border: 1px solid var(--rk-intro-border);
    border-radius: 16px;
    padding: 25px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    z-index: 1;
    text-decoration: none;
    display: block;
}

.rk-agenda-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(135deg, rgba(255,255,255,0) 0%, var(--rk-intro-brand-light) 100%);
    opacity: 0;
    z-index: -1;
    transition: opacity 0.4s;
    border-radius: 16px;
}

.rk-agenda-card:hover {
    transform: translateY(-5px);
    border-color: var(--rk-intro-brand);
    box-shadow: 0 15px 30px -10px rgba(234, 88, 12, 0.15);
}

.rk-agenda-card:hover::before {
    opacity: 0.5;
}

.rk-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: var(--rk-intro-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-intro-blue);
    margin-bottom: 15px;
    transition: all 0.4s;
}

.rk-agenda-card:hover .rk-card-icon {
    background: var(--rk-intro-brand);
    color: #ffffff;
    transform: scale(1.1) rotate(5deg);
}

.rk-card-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-intro-dark);
    margin: 0 0 8px 0;
    line-height: 1.4;
}

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

/* Responsywność */
@media (max-width: 768px) {
    .rk-intro-header, .rk-intro-agenda { padding: 35px 25px; }
    .rk-intro-header h2 { font-size: 26px; }
    .rk-intro-header p { font-size: 16px; }
    .rk-agenda-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/"
    },
    "headline": "Ile styropianu pod ogrzewanie podłogowe? Kompendium Inżynierskie",
    "description": "Zestawienie norm prawnych i kalkulacji inżynierskich określających wymaganą grubość izolacji podłogowej dla maksymalizacji sprawności źródła 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-25",
    "dateModified": "2026-05-25"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#dataset",
    "name": "Struktura Analizy Izolacyjności WT2021",
    "description": "Zestawienie wytycznych prawnych, termodynamicznych i wykonawczych dla doboru materiałów izolacyjnych (EPS/XPS) pod wodne systemy płaszczyznowe.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile styropianu pod ogrzewanie podłogowe",
      "grubość izolacji WT2021",
      "straty ciepła do gruntu",
      "opór cieplny styropianu",
      "EPS grafitowy czy biały"
    ],
    "measurementTechnique": "Agregacja parametrów cieplnych i mechanicznych zgodna z normami budowlanymi, prezentująca wpływ grubości izolacji na efektywność OZC.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Analiza współczynnika przenikania ciepła dla gruntu",
        "Porównanie właściwości EPS 100 białego i grafitowego",
        "Korelacja grubości styropianu z Projektowym Obciążeniem Cieplnym (OZC)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#webapp",
    "name": "Nawigator Wiedzy Technicznej",
    "description": "Interaktywny interfejs wprowadzający nawigujący użytkownika po kluczowych zagadnieniach inżynierskich związanych z doborem izolacji podłogowej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="rk-intro-app">
    <div class="rk-intro-header">
        <div class="rk-intro-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"><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>
            Kompendium Inżyniera
        </div>
        <h2>Ile styropianu pod ogrzewanie podłogowe?</h2>
        <p>
            Decyzja o grubości izolacji podłogowej determinuje koszty ogrzewania budynku przez najbliższe kilkadziesiąt lat. Poniższy artykuł stanowi kompletne kompendium techniczne określające, <strong>ile styropianu pod ogrzewanie podłogowe</strong> należy zastosować, aby instalacja działała z maksymalną sprawnością, spełniając aktualne normy prawne i drastycznie minimalizując <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/" style="color: #60a5fa; text-decoration: underline; font-weight: 700;">straty ciepła do gruntu</a>. Zbyt cienki styropian pod podłogówkę może oznaczać tysiące złotych strat ciepła przez kolejne lata. Dlatego dobór odpowiedniej izolacji pod ogrzewanie podłogowe to nie detal, ale jeden z najważniejszych elementów całej instalacji.
        </p>
    </div>

    <div class="rk-intro-agenda">
        <div class="rk-agenda-title">
            <svg width="24" height="24" 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><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></svg>
            W tym poradniku odkryjesz:
        </div>
        
        <div class="rk-agenda-grid">
            <a href="#normy" class="rk-agenda-card">
                <div class="rk-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                </div>
                <h3 class="rk-card-title">Normy prawne i WT2021</h3>
                <p class="rk-card-desc">Poznasz bezwzględne minimum grubości wymagane przepisami budowlanymi dla współczynnika U ≤ 0,20.</p>
            </a>

            <a href="#materialy" class="rk-agenda-card">
                <div class="rk-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
                </div>
                <h3 class="rk-card-title">Jaki styropian?</h3>
                <p class="rk-card-desc">Porównanie parametrów technicznych i gęstości styropianów podłogowych. Dowiesz się, jaki styropian położyć pod ogrzewanie podłogowe.</p>
            </a>

            <a href="#obliczenia" class="rk-agenda-card">
                <div class="rk-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="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>
                </div>
                <h3 class="rk-card-title">Krok po kroku: Obliczenia</h3>
                <p class="rk-card-desc">Gotowy algorytm matematyczny pozwalający wyznaczyć opór cieplny (R) w zależności od strat energii.</p>
            </a>

            <a href="#bledy" class="rk-agenda-card">
                <div class="rk-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                </div>
                <h3 class="rk-card-title">Krytyczne błędy montażowe</h3>
                <p class="rk-card-desc">Zestawienie uchybień wykonawczych, które niszczą efektywność nawet najgrubszego styropianu.</p>
            </a>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez użycia tagów H2/H3 zgodnie z poleceniem)
    const currentDomain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(currentDomain)) {
        const targetContainer = document.getElementById('rk-intro-app');
        if (targetContainer) {
            targetContainer.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">⚠️</div>
                    <div style="font-size: 20px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 15px; color: #cbd5e1; max-width: 550px; margin: 0 auto; line-height: 1.6;">
                        Ten komponent wprowadzający wraz ze strukturą JSON-LD jest licencjonowany wyłącznie dla domeny <strong>Projekt-Ogrzewania.pl</strong>. Wykryto nieautoryzowane wdrożenie skryptu.
                    </div>
                </div>
            `;
            return;
        }
    }
});
</script>



<style>
:root {
    --rk-wt-dark: #0f172a;
    --rk-wt-surface: #1e293b;
    --rk-wt-brand: #059669; /* Inżynieryjna zieleń - zgodność z normami */
    --rk-wt-brand-light: #d1fae5;
    --rk-wt-accent: #f59e0b; /* Pomarańcz termiczna */
    --rk-wt-gray: #f1f5f9;
    --rk-wt-border: #e2e8f0;
    --rk-wt-text: #334155;
    --rk-wt-text-light: #64748b;
}

.rk-wt-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(5, 150, 105, 0.15);
    border: 1px solid rgba(5, 150, 105, 0.2);
    overflow: hidden;
}

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

.rk-wt-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(5, 150, 105, 0.3);
    color: #a7f3d0;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(167, 243, 208, 0.2);
}

.rk-wt-header h2 {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
    color: #ffffff;
}

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

.rk-wt-prose strong {
    color: #ffffff;
    font-weight: 700;
}

/* Interaktywny Symulator */
.rk-wt-interactive {
    padding: 40px 50px;
    background: var(--rk-wt-gray);
}

.rk-wt-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    background: #e2e8f0;
    padding: 6px;
    border-radius: 16px;
    margin-bottom: 35px;
}

.rk-wt-tab {
    padding: 16px 10px;
    border: none;
    background: transparent;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-wt-text-light);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
}

.rk-wt-tab svg {
    width: 24px;
    height: 24px;
    opacity: 0.6;
    transition: all 0.3s;
}

.rk-wt-tab:hover {
    background: rgba(255, 255, 255, 0.5);
    color: var(--rk-wt-text);
}

.rk-wt-tab.active {
    background: #ffffff;
    color: var(--rk-wt-brand);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.rk-wt-tab.active svg {
    opacity: 1;
    color: var(--rk-wt-brand);
    transform: scale(1.1);
}

/* Wyświetlacz Wyników */
.rk-wt-display {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 40px;
    background: #ffffff;
    border-radius: 20px;
    padding: 30px;
    border: 1px solid var(--rk-wt-border);
    align-items: center;
}

/* Lewa Strona - Dane */
.rk-wt-data-panel h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-wt-dark);
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--rk-wt-gray);
}

.rk-wt-data-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--rk-wt-gray);
}

.rk-wt-data-row:last-child {
    border-bottom: none;
}

.rk-wt-data-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-wt-text-light);
}

.rk-wt-data-value {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-wt-dark);
    display: flex;
    align-items: center;
    gap: 8px;
}

.val-highlight {
    background: var(--rk-wt-brand-light);
    color: var(--rk-wt-brand);
    padding: 4px 10px;
    border-radius: 6px;
}

/* Prawa Strona - Wizualizacja SVG */
.rk-wt-visual {
    background: var(--rk-wt-surface);
    border-radius: 16px;
    padding: 20px;
    height: 240px;
    position: relative;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
    overflow: hidden;
}

.rk-svg-layer { transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); }
.layer-concrete { fill: #94a3b8; }
.layer-pipes { fill: #ef4444; }
.layer-eps { fill: var(--rk-wt-accent); }
.layer-ground { fill: #475569; }

/* Animacje fal ciepła */
.heat-wave {
    stroke: #ef4444;
    stroke-width: 2.5;
    stroke-linecap: round;
    fill: none;
    opacity: 0;
}

/* Stany dynamiczne z JS */
.state-level-1 .layer-eps { height: 25px; y: 70px; }
.state-level-1 .layer-ground { y: 95px; }
.state-level-1 .heat-wave.down { animation: heatLeak 2s infinite linear; }

.state-level-2 .layer-eps { height: 45px; y: 70px; }
.state-level-2 .layer-ground { y: 115px; }
.state-level-2 .heat-wave.down { animation: heatLeakSlow 2.5s infinite linear; stroke: #f59e0b; }

.state-level-3 .layer-eps { height: 75px; y: 70px; }
.state-level-3 .layer-ground { y: 145px; }
.state-level-3 .heat-wave.up { animation: heatBounce 2s infinite ease-out; }

@keyframes heatLeak {
    0% { transform: translateY(0); opacity: 1; }
    100% { transform: translateY(40px); opacity: 0; }
}
@keyframes heatLeakSlow {
    0% { transform: translateY(0); opacity: 0.8; }
    100% { transform: translateY(30px); opacity: 0; }
}
@keyframes heatBounce {
    0% { transform: translateY(0); opacity: 1; }
    50% { transform: translateY(-20px); opacity: 0.5; }
    100% { transform: translateY(0); opacity: 1; }
}

/* Sekcja linków kontekstowych */
.rk-wt-context {
    padding: 30px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-wt-border);
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-wt-text);
}

.rk-wt-context a {
    color: var(--rk-wt-brand);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 768px) {
    .rk-wt-header, .rk-wt-interactive, .rk-wt-context { padding: 30px 20px; }
    .rk-wt-tabs { grid-template-columns: 1fr; }
    .rk-wt-tab { flex-direction: row; justify-content: center; padding: 12px; }
    .rk-wt-display { grid-template-columns: 1fr; gap: 20px; }
    .rk-wt-data-row { flex-direction: column; align-items: flex-start; gap: 5px; }
    .rk-wt-visual { height: 200px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#article-wt2021",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/"
    },
    "headline": "Ile styropianu pod ogrzewanie podłogowe jest wymagane przepisami WT2021?",
    "description": "Analiza normy PN-EN 1264-4. Minimalna grubość styropianu EPS 100 na gruncie to 15 cm (biały) lub 12 cm (grafitowy) dla uzyskania U=0,20 W/(m2K).",
    "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-25",
    "dateModified": "2026-05-25"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#dataset-wt2021",
    "name": "Wymagania cieplne izolacji podłogowej wg WT2021 i PN-EN 1264-4",
    "description": "Zestawienie minimalnych oporów cieplnych (R) i grubości styropianu (EPS) dla różnych konstrukcji stropów z ogrzewaniem płaszczyznowym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile styropianu pod ogrzewanie podłogowe",
      "grubość styropianu WT2021",
      "współczynnik U dla podłogi na gruncie",
      "opór cieplny izolacji podłogówki R",
      "minimalna grubość eps 100"
    ],
    "measurementTechnique": "Kalkulacja oporu cieplnego R wg normy PN-EN 1264-4 oraz współczynnika U wg Warunków Technicznych 2021 (U_max = 0,20 W/(m2K)).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Strop nad ogrzewanym: R = 1,25 m2K/W",
        "Strop nad nieogrzewanym: R = 2,00 m2K/W",
        "Podłoga na gruncie (zewn < -5°C): R = 2,25 m2K/W"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#webapp-wt2021",
    "name": "Kalkulator Normatywny PN-EN 1264-4",
    "description": "Interaktywne narzędzie obliczeniowe wyznaczające wymaganą grubość styropianu białego i grafitowego dla trzech scenariuszy konstrukcji podłogi.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-wt-container" id="rk-wt-app">
    <div class="rk-wt-header">
        <div class="rk-wt-badge">
            <svg width="15" height="15" 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>
            Przepisy i Normy 2026
        </div>
        <h2>Ile styropianu pod ogrzewanie podłogowe jest wymagane przepisami?</h2>
        <div class="rk-wt-prose">
            Zgodnie z polskimi przepisami budowlanymi (<strong>Warunki Techniczne WT2021</strong>), minimalna grubość styropianu EPS 100 pod ogrzewanie podłogowe na gruncie wynosi <strong>150 mm (15 cm)</strong> dla tradycyjnego białego styropianu (λ = 0,038 W/(m·K)) lub <strong>120 mm (12 cm)</strong> dla styropianu grafitowego (λ = 0,031 W/(m·K)). Wymóg ten wynika wprost z konieczności osiągnięcia współczynnika przenikania ciepła dla podłogi na gruncie na poziomie maksymalnie <strong>U_max = 0,20 W/(m²K)</strong>.
        </div>
    </div>

    <div class="rk-wt-interactive">
        <div class="rk-wt-tabs">
            <button class="rk-wt-tab" data-target="level1">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg>
                Strop nad ogrzewanym
            </button>
            <button class="rk-wt-tab" data-target="level2">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4"></path><polyline points="14 2 14 8 20 8"></polyline><path d="M2 15h10"></path></svg>
                Strop nad piwnicą
            </button>
            <button class="rk-wt-tab active" data-target="level3">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><path d="M2 12h20"></path><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path></svg>
                Podłoga na gruncie
            </button>
        </div>

        <div class="rk-wt-display state-level-3" id="wt-display">
            <div class="rk-wt-data-panel">
                <h3 id="wt-title">Podłoga na gruncie (-5°C)</h3>
                
                <div class="rk-wt-data-row">
                    <span class="rk-wt-data-label">Wymagany opór cieplny (R):</span>
                    <span class="rk-wt-data-value val-highlight" id="wt-r-val">2,25 m²·K/W</span>
                </div>
                
                <div class="rk-wt-data-row">
                    <span class="rk-wt-data-label">EPS 100 Biały (λ = 0,038):</span>
                    <span class="rk-wt-data-value" id="wt-eps-white">150 mm (15 cm)</span>
                </div>
                
                <div class="rk-wt-data-row">
                    <span class="rk-wt-data-label">EPS 100 Grafit (λ = 0,031):</span>
                    <span class="rk-wt-data-value" id="wt-eps-graphite">120 mm (12 cm)</span>
                </div>
            </div>

            <div class="rk-wt-visual">
                <svg width="100%" height="100%" viewBox="0 0 200 200" preserveAspectRatio="xMidYMid meet">
                    <rect class="rk-svg-layer layer-concrete" x="10" y="30" width="180" height="40" rx="4" />
                    <circle class="layer-pipes" cx="40" cy="50" r="6" />
                    <circle class="layer-pipes" cx="80" cy="50" r="6" />
                    <circle class="layer-pipes" cx="120" cy="50" r="6" />
                    <circle class="layer-pipes" cx="160" cy="50" r="6" />
                    
                    <rect class="rk-svg-layer layer-eps" x="10" y="70" width="180" height="75" />
                    
                    <rect class="rk-svg-layer layer-ground" x="0" y="145" width="200" height="60" />
                    
                    <path class="heat-wave up" d="M40 25 L40 10 M35 15 L40 10 L45 15" />
                    <path class="heat-wave up" d="M120 25 L120 10 M115 15 L120 10 L125 15" />

                    <path class="heat-wave down" d="M80 85 L80 110 M75 105 L80 110 L85 105" />
                    <path class="heat-wave down" d="M160 85 L160 110 M155 105 L160 110 L165 105" />
                </svg>
            </div>
        </div>
    </div>

    <div class="rk-wt-context">
        Wybór grubości izolacji termicznej nie może być kompromisem budżetowym. To element konstrukcyjny, którego nie da się wymienić po zalaniu <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewki jastrychowej</a>. Zastosowanie zbyt cienkiej warstwy oznacza permanentne straty energii, gdzie ciepło ucieka w dół. Aby system współpracujący z niskotemperaturowym źródłem (np. <a href="https://projekt-ogrzewania.pl/czy-pompa-ciepla-ogrzeje-dom-z-podlogowka/">pompą ciepła na parametrze 35/30°C</a>) osiągnął najwyższy współczynnik COP, izolacja musi stanowić skuteczną barierę, określoną precyzyjnie w normie <strong>PN-EN 1264-4</strong>.
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez używania H2/H3 w komunikacie o błędzie)
    const host = window.location.hostname;
    const permittedHosts = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!permittedHosts.includes(host)) {
        const wtContainer = document.getElementById('rk-wt-app');
        if (wtContainer) {
            wtContainer.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; 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: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Licencji Kodu</div>
                    <div style="font-size: 14px; color: #cbd5e1; line-height: 1.6; max-width: 500px; margin: 0 auto;">
                        Kalkulator Normatywny PN-EN 1264-4 oraz warstwa metadanych JSON-LD są własnością serwisu <strong>Projekt-Ogrzewania.pl</strong>. Uruchomienie na nieautoryzowanej domenie zostało zablokowane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora WT2021
    const tabs = document.querySelectorAll('.rk-wt-tab');
    const display = document.getElementById('wt-display');
    
    // Elementy danych do aktualizacji
    const elTitle = document.getElementById('wt-title');
    const elRVal = document.getElementById('wt-r-val');
    const elWhite = document.getElementById('wt-eps-white');
    const elGraphite = document.getElementById('wt-eps-graphite');

    const dataMap = {
        'level1': {
            title: 'Strop nad pomieszczeniem ogrzewanym',
            rVal: '1,25 m²·K/W',
            white: '50 mm (5 cm)',
            graphite: '40 mm (4 cm)',
            stateClass: 'state-level-1'
        },
        'level2': {
            title: 'Strop nad pomieszczeniem nieogrzewanym',
            rVal: '2,00 m²·K/W',
            white: '80 mm (8 cm)',
            graphite: '70 mm (7 cm)',
            stateClass: 'state-level-2'
        },
        'level3': {
            title: 'Podłoga na gruncie (zewn < -5°C)',
            rVal: '2,25 m²·K/W',
            white: '150 mm (15 cm)',
            graphite: '120 mm (12 cm)',
            stateClass: 'state-level-3'
        }
    };

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

            const target = this.getAttribute('data-target');
            const data = dataMap[target];

            // Aktualizacja UI
            elTitle.textContent = data.title;
            elRVal.textContent = data.rVal;
            elWhite.textContent = data.white;
            elGraphite.textContent = data.graphite;

            // Zmiana klasy wizualizacji
            display.className = `rk-wt-display ${data.stateClass}`;
        });
    });
});
</script>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-card: #1e293b;
    --rk-err-brand: #ef4444; /* Czerwień ostrzegawcza */
    --rk-err-brand-light: #fee2e2;
    --rk-err-safe: #10b981; /* Zieleń inżynieryjna */
    --rk-err-bg: #f8fafc;
    --rk-err-border: #e2e8f0;
    --rk-err-text: #334155;
    --rk-err-muted: #64748b;
}

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

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

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

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

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

/* Sekcja Interaktywna - Układ */
.rk-err-interactive {
    display: grid;
    grid-template-columns: 350px 1fr;
    background: var(--rk-err-bg);
    border-bottom: 1px solid var(--rk-err-border);
}

/* Panel Kontrolny (Suwaki) */
.rk-err-controls {
    padding: 40px;
    background: #ffffff;
    border-right: 1px solid var(--rk-err-border);
}

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

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

.rk-err-val-display {
    background: var(--rk-err-dark);
    color: #ffffff;
    padding: 4px 12px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 900;
    transition: background 0.3s;
}

.rk-err-val-display.warning { background: var(--rk-err-brand); }
.rk-err-val-display.safe { background: var(--rk-err-safe); }

/* Stylizacja Suwaków (Range) */
.rk-range {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: #e2e8f0;
    outline: none;
    transition: background 0.3s;
}

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

.rk-range:active::-webkit-slider-thumb { transform: scale(1.2); }
.rk-range.warning-track::-webkit-slider-thumb { background: var(--rk-err-brand); }
.rk-range.safe-track::-webkit-slider-thumb { background: var(--rk-err-safe); }

/* Panel Diagnozy */
.rk-err-diagnosis {
    padding: 20px;
    background: var(--rk-err-brand-light);
    border-radius: 12px;
    border: 1px solid rgba(239,68,68,0.2);
    margin-top: 20px;
    transition: all 0.3s;
}

.rk-err-diagnosis.safe-mode {
    background: #dcfce7;
    border-color: rgba(16, 185, 129, 0.2);
}

.rk-diag-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.rk-err-diagnosis.safe-mode .rk-diag-title { color: #065f46; }
.rk-err-diagnosis:not(.safe-mode) .rk-diag-title { color: #991b1b; }

.rk-diag-text {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
    font-weight: 600;
    color: var(--rk-err-text);
}

/* Symulacja SVG */
.rk-err-visual {
    padding: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    position: relative;
    overflow: hidden;
}

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

.svg-concrete { fill: #94a3b8; transition: fill 0.3s; }
.svg-pipe { fill: #ef4444; }
.svg-eps { fill: #fcd34d; transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); }
.svg-ground { fill: #64748b; transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); }

/* Zjawiska (Pęknięcia, Straty) */
.svg-crack {
    stroke: #0f172a; stroke-width: 3; fill: none; stroke-linecap: round; stroke-linejoin: round;
    stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset 0.8s ease-out;
}
.svg-heat-down { stroke: #ef4444; stroke-width: 3; fill: none; stroke-linecap: round; opacity: 0; }
.svg-heat-up { stroke: #10b981; stroke-width: 4; fill: none; stroke-linecap: round; opacity: 0; }
.svg-moisture { fill: #3b82f6; opacity: 0; transition: opacity 0.5s; }

/* Stany Aktywowane z JS */
.state-crack .svg-crack { stroke-dashoffset: 0; }
.state-crack .svg-concrete { fill: #cbd5e1; } /* Osłabiony beton */

.state-heat-loss .svg-heat-down { animation: heatLeakAnim 1.5s infinite linear; }
.state-heat-good .svg-heat-up { animation: heatRiseAnim 2s infinite ease-out; }
.state-moisture .svg-moisture { opacity: 0.6; animation: pulseMoist 3s infinite alternate; }

@keyframes heatLeakAnim {
    0% { transform: translateY(0); opacity: 0.8; stroke: #ef4444; }
    100% { transform: translateY(50px); opacity: 0; stroke: #3b82f6; }
}
@keyframes heatRiseAnim {
    0% { transform: translateY(0); opacity: 0.8; }
    100% { transform: translateY(-30px); opacity: 0; }
}
@keyframes pulseMoist { from { opacity: 0.3; } to { opacity: 0.7; transform: scale(1.05); } }

/* Grid Konsekwencji Tekstowych */
.rk-err-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 40px 50px;
    background: #ffffff;
}

.rk-err-card {
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-err-border);
    background: var(--rk-err-bg);
}

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

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

.rk-err-card a {
    color: #0284c7;
    font-weight: 700;
    text-decoration: none;
}

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

@media (max-width: 768px) {
    .rk-err-header, .rk-err-controls, .rk-err-visual, .rk-err-grid { padding: 30px 20px; }
    .rk-err-interactive { grid-template-columns: 1fr; }
    .rk-err-grid { grid-template-columns: 1fr; }
    .rk-svg-simulator { max-width: 280px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/"
    },
    "headline": "Jakie są konsekwencje błędów w doborze grubości izolacji podłogowej?",
    "description": "Analiza skutków zastosowania zbyt miękkiego styropianu (EPS 70) oraz niedostatecznej grubości. Wzrost strat ciepła o 30% i ryzyko pękania wylewki.",
    "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-25",
    "dateModified": "2026-05-25"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#dataset-bledy",
    "name": "Kalkulator Strat i Uszkodzeń Posadzki (EPS 70 vs EPS 100)",
    "description": "Symulacja zestawień fizycznych i mechanicznych pokazująca skutki obniżania grubości (5-15cm) oraz twardości płyt izolacyjnych pod wylewką jastrychową.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "skutki zbyt cienkiego styropianu",
      "pękanie wylewki na podłogówce",
      "straty ciepła do gruntu",
      "niedogrzana łazienka podłogówka",
      "osiadanie posadzki styropian eps 70"
    ],
    "measurementTechnique": "Interaktywne modelowanie strat termicznych i odkształceń mechanicznych wylewki w oparciu o gęstość pozorną polistyrenu i prawo Fouriera.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Spadek mocy grzewczej i efekt zimnych plam przy izolacji < 10 cm",
        "Destrukcja strukturalna jastrychu przy obciążeniu styropianu rzędu EPS 70",
        "Permanentna ucieczka strumienia ciepła w kierunku nieogrzewanego gruntu"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#webapp-bledy",
    "name": "Symulator Degradacji Posadzki i Strat Ciepła",
    "description": "Narzędzie inżynieryjne z interaktywnymi suwakami demonstrujące wpływ twardości (EPS 70/100) i grubości na mechaniczne pękanie wylewki i ucieczkę energii.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="rk-err-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>
            Symulacja Błędów i Awarii
        </div>
        <h2 class="rk-err-title">Jakie są konsekwencje błędów w doborze grubości i twardości izolacji?</h2>
        <p class="rk-err-desc">
            Zastosowanie izolacji niespełniającej wymogów normowych powoduje <strong>wzrost strat ciepła do gruntu nawet o 20-30%</strong>, co bezpośrednio przekłada się na zwiększenie rachunków za energię o kilkaset złotych rocznie. Użyj suwaków poniżej, aby zobaczyć fizyczne skutki oszczędzania na materiale.
        </p>
    </div>

    <div class="rk-err-interactive">
        
        <div class="rk-err-controls">
            
            <div class="rk-err-control-group">
                <div class="rk-err-label">
                    Grubość izolacji:
                    <span class="rk-err-val-display warning" id="val-thick">5 cm</span>
                </div>
                <input type="range" id="slider-thick" class="rk-range warning-track" min="5" max="15" step="5" value="5">
                <div style="display:flex; justify-content:space-between; font-size:12px; color:#94a3b8; margin-top:8px; font-weight:700;">
                    <span>5 cm (Awaria)</span>
                    <span>10 cm</span>
                    <span>15 cm (Norma)</span>
                </div>
            </div>

            <div class="rk-err-control-group">
                <div class="rk-err-label">
                    Twardość materiału:
                    <span class="rk-err-val-display warning" id="val-eps">EPS 70</span>
                </div>
                <input type="range" id="slider-eps" class="rk-range warning-track" min="70" max="100" step="30" value="70">
                <div style="display:flex; justify-content:space-between; font-size:12px; color:#94a3b8; margin-top:8px; font-weight:700;">
                    <span>Fasadowy (Miękki)</span>
                    <span>Podłogowy (Twardy)</span>
                </div>
            </div>

            <div class="rk-err-diagnosis" id="diag-panel">
                <div class="rk-diag-title" id="diag-title">Krytyczny stan posadzki!</div>
                <p class="rk-diag-text" id="diag-text">
                    Styropian ugina się pod ciężarem wylewki, powodując jej pękanie. Ucieczka ciepła w grunt wynosi +30%. Pomieszczenia będą trwale niedogrzane.
                </p>
            </div>

        </div>

        <div class="rk-err-visual" id="svg-container">
            <svg class="rk-svg-simulator" viewBox="0 0 200 200">
                <rect class="svg-ground" id="rect-ground" x="10" y="100" width="180" height="90" rx="4"/>
                
                <path class="svg-moisture" d="M30 110 Q40 90 50 110 T70 110 T90 110 T110 110 T130 110 T150 110 T170 110" fill="none" stroke="#3b82f6" stroke-width="4"/>

                <rect class="svg-eps" id="rect-eps" x="10" y="70" width="180" height="30" />
                
                <rect class="svg-concrete" x="10" y="30" width="180" height="40" rx="4" />
                <circle class="svg-pipe" cx="40" cy="50" r="7" />
                <circle class="svg-pipe" cx="80" cy="50" r="7" />
                <circle class="svg-pipe" cx="120" cy="50" r="7" />
                <circle class="svg-pipe" cx="160" cy="50" r="7" />

                <path class="svg-crack" d="M90 30 L100 45 L95 55 L105 70" />

                <path class="svg-heat-down" d="M40 70 L40 100 M35 85 L40 100 L45 85" />
                <path class="svg-heat-down" d="M120 70 L120 100 M115 85 L120 100 L125 85" />
                <path class="svg-heat-down" d="M160 70 L160 100 M155 85 L160 100 L165 85" />
                
                <path class="svg-heat-up" d="M80 30 L80 5 M75 15 L80 5 L85 15" />
                <path class="svg-heat-up" d="M120 30 L120 5 M115 15 L120 5 L125 15" />
            </svg>
        </div>

    </div>

    <div class="rk-err-grid">
        <div class="rk-err-card">
            <h4>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#ef4444" stroke-width="2"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
                Permanentny uciek strumienia ciepła
            </h4>
            <p>Grunt pod budynkiem działa jak nieskończony radiator. Bez bariery o odpowiednim oporze cieplnym (R), system marnuje wyprodukowaną energię na ogrzewanie mas ziemnych pod płytą fundamentową zamiast salonu.</p>
        </div>

        <div class="rk-err-card">
            <h4>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#ef4444" stroke-width="2"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                Pękanie wylewki i osiadanie
            </h4>
            <p>Użycie styropianu elewacyjnego (EPS 70) powoduje odkształcenia plastyczne pod ciężarem <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewki jastrychowej</a> (ok. 130 kg/m²). Efektem jest pękanie płyty, uszkodzenia płytek i destrukcja dylatacji.</p>
        </div>

        <div class="rk-err-card">
            <h4>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#0284c7" 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>
                Efekt "zimnych plam"
            </h4>
            <p>Przy zbyt cienkiej izolacji drastycznie spada moc grzewcza posadzki. System nie pokrywa <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowego obciążenia cieplnego (OZC)</a>, zwłaszcza w łazienkach, gdzie wymagana temperatura to 24°C.</p>
        </div>

        <div class="rk-err-card">
            <h4>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#3b82f6" stroke-width="2"><path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path></svg>
                Zawilgocenie i pleśń
            </h4>
            <p>Brak optymalnej grubości płyt połączony z uchybieniami w kładzeniu <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">izolacji hydroizolacyjnej</a> generuje podciąganie kapilarne wilgoci z gruntu, degradację izolatora i ryzyko rozwoju mikroorganizmów.</p>
        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie domeny (zgodnie z wytycznymi - brak H2/H3 w alercie)
    const hostName = window.location.hostname;
    const legalHosts = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!legalHosts.includes(hostName)) {
        const errorContainer = document.getElementById('rk-err-app');
        if (errorContainer) {
            errorContainer.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; 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: 900; margin-bottom: 10px; text-transform: uppercase;">Nieautoryzowane użycie kodu</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Moduł "Symulator Błędów Izolacyjnych" oraz mikrodane JSON-LD są prawnie chronione i należą do domeny <strong>Projekt-Ogrzewania.pl</strong>. Wykryto próbę kradzieży.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora
    const thickSlider = document.getElementById('slider-thick');
    const epsSlider = document.getElementById('slider-eps');
    
    const valThick = document.getElementById('val-thick');
    const valEps = document.getElementById('val-eps');
    
    const svgContainer = document.getElementById('svg-container');
    const rectEps = document.getElementById('rect-eps');
    const rectGround = document.getElementById('rect-ground');
    
    const diagPanel = document.getElementById('diag-panel');
    const diagTitle = document.getElementById('diag-title');
    const diagText = document.getElementById('diag-text');

    function updateSimulator() {
        const t = parseInt(thickSlider.value); // 5, 10, 15
        const e = parseInt(epsSlider.value);   // 70, 100

        // Reset klas SVG
        svgContainer.className = 'rk-err-visual';
        let svgClasses = ['rk-err-visual'];

        // Analiza Twardości (Osiadanie / Pękanie)
        if (e === 70) {
            valEps.textContent = 'EPS 70 (Błąd)';
            valEps.className = 'rk-err-val-display warning';
            epsSlider.className = 'rk-range warning-track';
            svgClasses.push('state-crack'); // Pokaż pęknięcie
        } else {
            valEps.textContent = 'EPS 100 (Norma)';
            valEps.className = 'rk-err-val-display safe';
            epsSlider.className = 'rk-range safe-track';
        }

        // Analiza Grubości (Straty ciepła i wilgoć)
        valThick.textContent = t + ' cm';
        
        // Animacje wysokości prostokątów SVG
        if (t === 5) {
            rectEps.setAttribute('height', '30');
            rectGround.setAttribute('y', '100');
            valThick.className = 'rk-err-val-display warning';
            thickSlider.className = 'rk-range warning-track';
            svgClasses.push('state-heat-loss');
            svgClasses.push('state-moisture');
        } else if (t === 10) {
            rectEps.setAttribute('height', '50');
            rectGround.setAttribute('y', '120');
            valThick.className = 'rk-err-val-display warning';
            thickSlider.className = 'rk-range warning-track';
            svgClasses.push('state-heat-loss'); // Częściowe straty
        } else if (t === 15) {
            rectEps.setAttribute('height', '70');
            rectGround.setAttribute('y', '140');
            valThick.className = 'rk-err-val-display safe';
            thickSlider.className = 'rk-range safe-track';
            svgClasses.push('state-heat-good'); // Ciepło idzie w górę
        }

        // Aktualizacja widoku SVG
        svgContainer.className = svgClasses.join(' ');

        // Generator Tekstu Diagnozy
        if (t === 15 && e === 100) {
            diagPanel.className = 'rk-err-diagnosis safe-mode';
            diagTitle.textContent = 'Instalacja w pełni bezpieczna';
            diagText.textContent = 'Znakomity wybór inżynieryjny. Jastrych ma stabilne podparcie, a całe wyprodukowane ciepło promieniuje w górę do pomieszczeń mieszkalnych.';
        } else if (e === 70) {
            diagPanel.className = 'rk-err-diagnosis';
            diagTitle.textContent = 'Ryzyko destrukcji posadzki!';
            diagText.textContent = `Zbyt miękki styropian ugnie się pod wylewką, powodując natychmiastowe pęknięcia. Dodatkowo ucieczka ciepła w grunt przy ${t} cm izolacji znacząco podniesie rachunki.`;
        } else {
            diagPanel.className = 'rk-err-diagnosis';
            diagTitle.textContent = 'Straty termiczne i zimne plamy';
            diagText.textContent = `Beton jest bezpieczny (EPS 100), ale grubość izolacji (${t} cm) nie spełnia norm WT2021 (U ≤ 0,20). Ryzykujesz permanentnym niedogrzaniem i ucieczką energii do gruntu.`;
        }
    }

    // Nasłuchiwacze Zdarzeń
    thickSlider.addEventListener('input', updateSimulator);
    epsSlider.addEventListener('input', updateSimulator);

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



<style>
:root {
    --rk-mat-dark: #0f172a;
    --rk-mat-card: #1e293b;
    --rk-mat-brand: #3b82f6;
    --rk-mat-brand-light: #eff6ff;
    --rk-mat-graphite: #334155;
    --rk-mat-white: #f8fafc;
    --rk-mat-alert: #ef4444;
    --rk-mat-border: #e2e8f0;
    --rk-mat-text: #475569;
}

.rk-mat-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(59, 130, 246, 0.15);
    border: 1px solid rgba(59, 130, 246, 0.3);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-mat-header {
    background: linear-gradient(135deg, var(--rk-mat-dark) 0%, #172554 100%);
    padding: 45px 50px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-mat-brand);
}

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

.rk-mat-header h2 {
    font-size: 32px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 15px 0;
}

.rk-mat-header p {
    font-size: 16px;
    line-height: 1.8;
    color: #cbd5e1;
    margin: 0;
}

/* Interaktywny Symulator Wysokości */
.rk-mat-interactive {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-mat-border);
}

.rk-mat-controls {
    padding: 40px 50px;
    border-right: 1px solid var(--rk-mat-border);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

.rk-mat-val {
    background: var(--rk-mat-brand);
    color: #ffffff;
    padding: 4px 12px;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 900;
}

.rk-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: #cbd5e1;
    outline: none;
    margin-bottom: 10px;
}

.rk-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--rk-mat-brand);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: transform 0.1s;
}
.rk-slider:active::-webkit-slider-thumb { transform: scale(1.15); }

.rk-mat-verdict {
    margin-top: 25px;
    padding: 20px;
    border-radius: 12px;
    background: #ffffff;
    border: 2px dashed var(--rk-mat-brand);
}

.rk-verdict-title { font-size: 13px; text-transform: uppercase; font-weight: 800; color: var(--rk-mat-text); margin-bottom: 5px; }
.rk-verdict-result { font-size: 20px; font-weight: 900; color: var(--rk-mat-dark); }

/* SVG Wizualizacja (Poprawiona) */
.rk-mat-visual {
    padding: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
}

.rk-svg-compare {
    width: 100%;
    max-width: 400px; /* Zwiększona szerokość ułatwia czytanie */
    height: auto;
}

.svg-group { transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
.state-graphite .svg-group-white { opacity: 0.25; filter: grayscale(1); }
.state-white .svg-group-graphite { opacity: 0.25; filter: grayscale(1); }

.anim-eps-graphite { fill: #475569; }
.anim-eps-white { fill: #f8fafc; stroke: #cbd5e1; stroke-width: 2; }

/* Kafelki z Danymi */
.rk-mat-data-section {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-mat-data-title {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-mat-dark);
    margin: 0 0 25px 0;
    text-align: center;
}

.rk-mat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
}

.rk-mat-card {
    border: 1px solid var(--rk-mat-border);
    border-radius: 16px;
    padding: 25px;
    background: var(--rk-mat-white);
    position: relative;
    overflow: hidden;
    transition: all 0.3s;
}

.rk-mat-card:hover {
    border-color: var(--rk-mat-brand);
    box-shadow: 0 10px 25px -5px rgba(59, 130, 246, 0.1);
    transform: translateY(-3px);
}

.rk-mat-card.recommended {
    background: var(--rk-mat-brand-light);
    border-color: var(--rk-mat-brand);
}

.rk-mat-card.alert {
    background: #fef2f2;
    border-color: #fca5a5;
}

.rk-card-header {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-mat-dark);
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #e2e8f0;
}
.rk-mat-card.alert .rk-card-header { color: var(--rk-mat-alert); border-color: #fecaca; }

.rk-stat-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    font-size: 14px;
}

.rk-stat-label { color: var(--rk-mat-text); font-weight: 600; }
.rk-stat-val { font-weight: 800; color: var(--rk-mat-dark); }
.rk-stat-val.highlight { color: var(--rk-mat-brand); font-size: 16px; }

/* Tekst podsumowujący */
.rk-mat-summary {
    padding: 0 50px 40px 50px;
    font-size: 15px;
    line-height: 1.8;
    color: var(--rk-mat-text);
}

.rk-mat-summary a {
    color: var(--rk-mat-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px dashed rgba(59,130,246,0.4);
    transition: all 0.3s;
}
.rk-mat-summary a:hover { border-bottom-style: solid; color: #1e40af; }

@media (max-width: 768px) {
    .rk-mat-header, .rk-mat-controls, .rk-mat-data-section, .rk-mat-summary { padding: 30px 20px; }
    .rk-mat-interactive { grid-template-columns: 1fr; }
    .rk-mat-controls { border-right: none; border-bottom: 1px solid var(--rk-mat-border); }
    .rk-mat-visual { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#article-materialy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/"
    },
    "headline": "Który styropian wybrać: EPS 100 biały czy grafitowy?",
    "description": "Szczegółowe zestawienie parametrów technicznych izolacji (lambda, opór cieplny, odkształcenia). Porównanie styropianu grafitowego i białego EPS 100 i XPS.",
    "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-25",
    "dateModified": "2026-05-25"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#dataset-materialy",
    "name": "Katalog Parametrów Izolacyjnych (EPS/XPS)",
    "description": "Zestawienie parametrów technicznych (przewodzenie ciepła λ, naprężenie ściskające, opór R) dla materiałów izolacyjnych stosowanych pod wylewki grzewcze.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "styropian grafitowy czy biały",
      "lambda styropianu",
      "EPS 100 podłogówka",
      "wylewka anhydrytowa styropian",
      "opór cieplny izolacji"
    ],
    "measurementTechnique": "Korelacja współczynnika przewodzenia ciepła λ z oporem cieplnym R dla grubości normatywnych 100-150mm.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "EPS 100 Grafit: λ = 0,031, R dla 10cm = 3,22",
        "EPS 100 Biały: λ = 0,036, R dla 10cm = 2,77",
        "XPS: λ = 0,029, R dla 10cm = 3,44, CS(10) ≥ 300 kPa"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#webapp-materialy",
    "name": "Symulator Wyboru Izolacji Podłogowej",
    "description": "Narzędzie wspomagające decyzję inwestorską. Przelicza dostępną wysokość posadzki (z chudziaka do poziomu 0) na optymalny wybór materiału (Grafit vs Biały).",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-mat-container" id="rk-mat-app">
    
    <div class="rk-mat-header">
        <div class="rk-mat-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
            Analiza Materiałowa
        </div>
        <h2>Który styropian wybrać: EPS 100 biały czy grafitowy?</h2>
        <p>
            Pod ogrzewanie podłogowe należy stosować wyłącznie styropian oznaczony parametrem minimum <strong>CS(10) ≥ 100 kPa (EPS 100)</strong>. Wybór koloru (odmiany) determinuje grubość izolacji: grafit przy 12 cm osiąga taki sam opór cieplny (R ≈ 3,87 m²·K/W) jak biały przy 15 cm.
        </p>
    </div>

    <div class="rk-mat-interactive">
        <div class="rk-mat-controls">
            <div class="rk-mat-label">
                Dostępna wysokość posadzki (od chudziaka):
                <span class="rk-mat-val" id="height-val">20 cm</span>
            </div>
            <input type="range" id="height-slider" class="rk-slider" min="15" max="30" step="1" value="20">
            <div style="display:flex; justify-content:space-between; font-size:12px; color:#64748b; font-weight:700;">
                <span>Krytycznie mało (15cm)</span>
                <span>Dużo (30cm)</span>
            </div>

            <div class="rk-mat-verdict">
                <div class="rk-verdict-title">Rekomendacja dla Twojej budowy:</div>
                <div class="rk-verdict-result" id="verdict-text">EPS 100 Grafitowy</div>
            </div>
        </div>

        <div class="rk-mat-visual" id="svg-stage">
            <svg class="rk-svg-compare" viewBox="0 0 320 220">
                <line x1="10" y1="200" x2="310" y2="200" stroke="#94a3b8" stroke-width="4" stroke-linecap="round" />
                <text x="160" y="215" font-family="sans-serif" font-size="11" font-weight="bold" fill="#64748b" text-anchor="middle">CHUDY BETON (Baza startowa)</text>

                <g class="svg-group svg-group-graphite">
                    <text x="80" y="30" font-family="sans-serif" font-size="14" font-weight="900" fill="#1e293b" text-anchor="middle">GRAFIT 12cm</text>
                    
                    <rect fill="#cbd5e1" x="30" y="45" width="100" height="50" rx="4" />
                    <rect class="anim-eps-graphite" x="30" y="95" width="100" height="105" rx="4" />
                    
                    <text x="80" y="155" font-family="sans-serif" font-size="18" font-weight="900" fill="#ffffff" text-anchor="middle">R ≈ 3,87</text>
                </g>

                <g class="svg-group svg-group-white">
                    <text x="240" y="30" font-family="sans-serif" font-size="14" font-weight="900" fill="#1e293b" text-anchor="middle">BIAŁY 15cm</text>
                    
                    <rect fill="#cbd5e1" x="190" y="45" width="100" height="50" rx="4" />
                    <rect class="anim-eps-white" x="190" y="95" width="100" height="105" rx="4" />
                    
                    <text x="240" y="155" font-family="sans-serif" font-size="18" font-weight="900" fill="#0f172a" text-anchor="middle">R ≈ 3,87</text>
                </g>

                <line x1="30" y1="45" x2="290" y2="45" stroke="#3b82f6" stroke-width="2" stroke-dasharray="6" />
                <text x="160" y="40" font-family="sans-serif" font-size="10" fill="#3b82f6" font-weight="bold" text-anchor="middle">POZIOM ZERO (Płytki)</text>
            </svg>
        </div>
    </div>

    <div class="rk-mat-data-section">
        <h3 class="rk-mat-data-title">Katalog Parametrów Technicznych</h3>
        <div class="rk-mat-grid">
            
            <div class="rk-mat-card alert">
                <div class="rk-card-header">EPS 70 (Podłoga/Dach)</div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Współ. ciepła (λ):</span>
                    <span class="rk-stat-val highlight">0,038</span>
                </div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Naprężenie CS(10):</span>
                    <span class="rk-stat-val" style="color: #ef4444;">≥ 70 kPa (Zbyt miękki!)</span>
                </div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Opór R (dla 10cm):</span>
                    <span class="rk-stat-val">2,63 m²·K/W</span>
                </div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Odkształcenie:</span>
                    <span class="rk-stat-val">≤ 3,0 %</span>
                </div>
            </div>

            <div class="rk-mat-card" id="card-white">
                <div class="rk-card-header">EPS 100 (Standard biały)</div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Współ. ciepła (λ):</span>
                    <span class="rk-stat-val highlight">0,036</span>
                </div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Naprężenie CS(10):</span>
                    <span class="rk-stat-val">≥ 100 kPa</span>
                </div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Opór R (dla 10cm):</span>
                    <span class="rk-stat-val">2,77 m²·K/W</span>
                </div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Odkształcenie:</span>
                    <span class="rk-stat-val">≤ 2,0 %</span>
                </div>
            </div>

            <div class="rk-mat-card recommended" id="card-graphite">
                <div class="rk-card-header">EPS 100 (Premium grafit)</div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Współ. ciepła (λ):</span>
                    <span class="rk-stat-val highlight">0,031</span>
                </div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Naprężenie CS(10):</span>
                    <span class="rk-stat-val">≥ 100 kPa</span>
                </div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Opór R (dla 10cm):</span>
                    <span class="rk-stat-val">3,22 m²·K/W</span>
                </div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Odkształcenie:</span>
                    <span class="rk-stat-val">≤ 1,5 %</span>
                </div>
            </div>

            <div class="rk-mat-card">
                <div class="rk-card-header">XPS (Polistyren ekstr.)</div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Współ. ciepła (λ):</span>
                    <span class="rk-stat-val highlight">0,029</span>
                </div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Naprężenie CS(10):</span>
                    <span class="rk-stat-val">≥ 300 kPa</span>
                </div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Opór R (dla 10cm):</span>
                    <span class="rk-stat-val">3,44 m²·K/W</span>
                </div>
                <div class="rk-stat-row">
                    <span class="rk-stat-label">Odkształcenie:</span>
                    <span class="rk-stat-val">≤ 0,5 %</span>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-mat-summary">
        Wybór między grafitem a białym EPS sprowadza się najczęściej do analizy dostępnej wysokości progów drzwiowych i warstw posadzkowych. Jeśli wysokość od chudego betonu do planowanego poziomu zero (czystej podłogi) jest ograniczona i wynosi np. 22 cm, zastosowanie <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">wylewki anhydrytowej (50 mm)</a> oraz <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rur na systemowym styropianie</a> grafitowym 120 mm pozwala na zachowanie optymalnego bufora bezpieczeństwa termicznego i konstrukcyjnego. Przy braku ograniczeń wysokościowych na budowie, ekonomicznie uzasadnione bywa ułożenie 150-200 mm nieco tańszego EPS 100 w wersji białej.
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domeny (Brak H2/H3 w kodzie błędu)
    const hostStr = window.location.hostname;
    const validHosts = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!validHosts.includes(hostStr)) {
        const wrap = document.getElementById('rk-mat-app');
        if (wrap) {
            wrap.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #ef4444; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 38px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Zabezpieczenie Licencyjne</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Interaktywny symulator materiałowy (Katalog EPS) oraz struktura JSON-LD są własnością <strong>Projekt-Ogrzewania.pl</strong>. Uruchomienie zablokowane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora
    const slider = document.getElementById('height-slider');
    const valDisplay = document.getElementById('height-val');
    const verdictText = document.getElementById('verdict-text');
    const svgStage = document.getElementById('svg-stage');
    
    const cardWhite = document.getElementById('card-white');
    const cardGraphite = document.getElementById('card-graphite');

    function updateLogic() {
        const height = parseInt(slider.value);
        valDisplay.textContent = height + ' cm';

        // Logika decyzyjna
        if (height < 24) {
            verdictText.textContent = 'EPS 100 Grafitowy';
            verdictText.style.color = '#1e293b'; 
            svgStage.className = 'rk-mat-visual state-graphite';
            
            cardGraphite.classList.add('recommended');
            cardWhite.classList.remove('recommended');
        } else {
            verdictText.textContent = 'EPS 100 Biały (Oszczędność)';
            verdictText.style.color = '#3b82f6'; 
            svgStage.className = 'rk-mat-visual state-white';
            
            cardWhite.classList.add('recommended');
            cardGraphite.classList.remove('recommended');
        }
    }

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



<style>
:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-card: #1e293b;
    --rk-calc-brand: #0284c7;
    --rk-calc-brand-light: #e0f2fe;
    --rk-calc-accent: #0ea5e9; 
    --rk-calc-success: #10b981;
    --rk-calc-bg: #f8fafc;
    --rk-calc-border: #e2e8f0;
    --rk-calc-text: #475569;
}

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

/* Sekcja Nagłówkowa */
.rk-calc-header {
    background: linear-gradient(135deg, var(--rk-calc-dark) 0%, #0c4a6e 100%);
    padding: 45px 50px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-calc-brand);
}

.rk-calc-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(2, 132, 199, 0.3);
    color: #bae6fd;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(186, 230, 253, 0.2);
}

.rk-calc-header h2 {
    font-size: 32px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 15px 0;
}

.rk-calc-header p {
    font-size: 16px;
    line-height: 1.8;
    color: #cbd5e1;
    margin: 0;
}

/* Panel Interaktywny - Nowy Układ (Góra/Dół) */
.rk-calc-interactive {
    padding: 40px 50px;
    background: var(--rk-calc-bg);
    border-bottom: 1px solid var(--rk-calc-border);
}

/* Suwak na pełną szerokość */
.rk-calc-controls {
    background: #ffffff;
    padding: 35px 40px;
    border-radius: 16px;
    border: 1px solid var(--rk-calc-border);
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
    margin-bottom: 30px;
}

.rk-calc-label {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-calc-dark);
    margin-bottom: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-calc-val-box {
    background: var(--rk-calc-dark);
    color: #ffffff;
    padding: 8px 18px;
    border-radius: 10px;
    font-size: 22px;
    font-weight: 900;
    transition: background 0.3s;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.3);
}

.rk-calc-val-box.pass { background: var(--rk-calc-success); }
.rk-calc-val-box.fail { background: #ef4444; }

.rk-slider-app {
    -webkit-appearance: none;
    width: 100%;
    height: 12px;
    border-radius: 6px;
    background: #cbd5e1;
    outline: none;
    margin-bottom: 15px;
}

.rk-slider-app::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-calc-brand);
    cursor: pointer;
    border: 5px solid #ffffff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.25);
    transition: transform 0.1s;
}
.rk-slider-app:active::-webkit-slider-thumb { transform: scale(1.15); }

.rk-calc-hints {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #64748b;
    font-weight: 800;
}

/* Dwie Kolumny Wyników */
.rk-results-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.rk-result-card {
    background: var(--rk-calc-dark);
    border-radius: 16px;
    padding: 30px;
    text-align: center;
    position: relative;
    box-shadow: 0 15px 35px -10px rgba(15, 23, 42, 0.4);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-result-card.white-card { border-top: 5px solid #e2e8f0; }
.rk-result-card.graphite-card { border-top: 5px solid #64748b; }

.rk-result-title {
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 10px;
}
.white-card .rk-result-title { color: #cbd5e1; }
.graphite-card .rk-result-title { color: #94a3b8; }

.rk-result-value {
    font-size: 42px;
    font-weight: 900;
    color: #ffffff;
    margin-bottom: 20px;
    line-height: 1;
}

.rk-svg-ruler {
    width: 120px;
    height: 180px;
    overflow: visible;
}

.anim-bar-white { fill: #f8fafc; transition: height 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), y 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); }
.anim-bar-graphite { fill: #475569; transition: height 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), y 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); }
.anim-text-label { font-family: sans-serif; font-weight: 700; fill: #94a3b8; font-size: 10px; }

/* Krok po Kroku */
.rk-algo-section { padding: 40px 50px; background: #ffffff; }
.rk-algo-title { font-size: 22px; font-weight: 900; color: var(--rk-calc-dark); margin: 0 0 25px 0; display: flex; align-items: center; gap: 10px; }
.rk-algo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.rk-algo-step { background: var(--rk-calc-bg); border: 1px solid var(--rk-calc-border); border-radius: 16px; padding: 25px; position: relative; }
.rk-algo-step-num { position: absolute; top: -15px; left: 20px; background: var(--rk-calc-brand); color: #ffffff; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 16px; box-shadow: 0 4px 10px rgba(2, 132, 199, 0.3); }
.rk-algo-step h4 { font-size: 16px; font-weight: 800; color: var(--rk-calc-dark); margin: 10px 0 15px 0; }
.rk-algo-equation { background: #ffffff; padding: 12px 15px; border-radius: 8px; border: 1px dashed #cbd5e1; font-family: monospace; font-size: 14px; color: #0369a1; font-weight: 700; margin-bottom: 10px; overflow-x: auto; }
.rk-algo-desc { font-size: 14px; line-height: 1.6; color: var(--rk-calc-text); margin: 0; }

@media (max-width: 768px) {
    .rk-calc-header, .rk-calc-interactive, .rk-algo-section { padding: 30px 20px; }
    .rk-calc-controls { padding: 25px 20px; }
    .rk-calc-label { flex-direction: column; align-items: flex-start; gap: 15px; font-size: 16px; }
    .rk-results-split { grid-template-columns: 1fr; gap: 20px; }
    .rk-algo-grid { grid-template-columns: 1fr; }
    .rk-calc-header h2 { font-size: 26px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#article-kalkulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/"
    },
    "headline": "Kalkulator grubości izolacji styropianu pod ogrzewanie podłogowe",
    "description": "Algorytm obliczeniowy PN-EN ISO 13370 wyznaczający opór cieplny (R) i precyzyjną grubość styropianu EPS dla 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.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-25",
    "dateModified": "2026-05-25"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#dataset-kalkulator",
    "name": "Algorytm Obliczeniowy Opór Cieplny EPS PN-EN ISO 13370",
    "description": "Parametry stałe i zmienne do obliczania grubości materiałów izolacyjnych na bazie zakładanego współczynnika przenikania ciepła U.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator grubości izolacji podłogowej",
      "obliczenia oporu cieplnego PN-EN ISO 13370",
      "współczynnik przenikania ciepła podłogi na gruncie",
      "jak obliczyć styropian pod podłogówkę",
      "wzór na grubość styropianu"
    ],
    "measurementTechnique": "Algorytm 4-krokowy wykorzystujący transformację współczynnika U na całkowity opór cieplny przegrody R_tot, a następnie na fizyczną grubość w mm.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Krok 1: Sumowanie oporów stałych (R_si = 0,17; R_c = 0,10)",
        "Krok 2: Odwrócenie współczynnika U (R_tot = 1 / U)",
        "Krok 3: Izolacja właściwa (R_izol = R_tot - R_stale - R_g)",
        "Krok 4: Konwersja na mm w oparciu o parametr lambda (0,036 lub 0,031)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#webapp-kalkulator",
    "name": "Kalkulator Grubości Izolacji Podłogowej LCC",
    "description": "Interaktywne narzędzie inżynierskie pozwalające płynnie suwakiem symulować wymaganą grubość styropianu w zależności od zadanego standardu energetycznego U.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container" id="rk-calc-app">
    
    <div class="rk-calc-header">
        <div class="rk-calc-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>
            Inżynieria Obliczeniowa
        </div>
        <h2>Kalkulator grubości izolacji styropianu pod ogrzewanie podłogowe</h2>
        <p>
            W celu precyzyjnego wyznaczenia wymaganej grubości styropianu dla uzyskania normowego współczynnika U ≤ 0,20 W/(m²·K), należy przeprowadzić szczegółowe obliczenia oporów cieplnych poszczególnych warstw przegrody. Zmień docelowy parametr U na suwaku, aby zobaczyć precyzyjny wymiar izolacji.
        </p>
    </div>

    <div class="rk-calc-interactive">
        
        <div class="rk-calc-controls">
            <div class="rk-calc-label">
                Docelowy współczynnik przenikania (U):
                <span class="rk-calc-val-box pass" id="calc-u-val">0.20 W/(m²K)</span>
            </div>
            <input type="range" id="calc-u-slider" class="rk-slider-app" min="0.10" max="0.30" step="0.01" value="0.20">
            <div class="rk-calc-hints">
                <span>Dom Pasywny (0.10)</span>
                <span>Norma WT2021 (0.20)</span>
                <span>Budownictwo starsze (0.30)</span>
            </div>
        </div>

        <div class="rk-results-split">
            
            <div class="rk-result-card white-card">
                <div class="rk-result-title">Wymagany EPS Biały (λ 0,036)</div>
                <div class="rk-result-value" id="text-white">134 mm</div>
                <svg class="rk-svg-ruler" viewBox="0 0 100 180">
                    <line x1="10" y1="160" x2="90" y2="160" stroke="#cbd5e1" stroke-width="2" stroke-linecap="round"/>
                    <rect class="anim-bar-white" id="bar-white" x="25" y="60" width="50" height="100" rx="4"/>
                    <text x="50" y="175" class="anim-text-label" text-anchor="middle">CHUDY BETON</text>
                </svg>
            </div>

            <div class="rk-result-card graphite-card">
                <div class="rk-result-title">Wymagany EPS Grafit (λ 0,031)</div>
                <div class="rk-result-value" id="text-graphite">115 mm</div>
                <svg class="rk-svg-ruler" viewBox="0 0 100 180">
                    <line x1="10" y1="160" x2="90" y2="160" stroke="#64748b" stroke-width="2" stroke-linecap="round"/>
                    <rect class="anim-bar-graphite" id="bar-graphite" x="25" y="75" width="50" height="85" rx="4"/>
                    <text x="50" y="175" class="anim-text-label" text-anchor="middle">CHUDY BETON</text>
                </svg>
            </div>

        </div>

    </div>

    <div class="rk-algo-section">
        <h3 class="rk-algo-title">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="4 14 10 14 10 20"></polyline><polyline points="20 10 14 10 14 4"></polyline><line x1="14" y1="10" x2="21" y2="3"></line><line x1="3" y1="21" x2="10" y2="14"></line></svg>
            Algorytm wg PN-EN ISO 13370 (Dla U = 0,20)
        </h3>
        
        <div class="rk-algo-grid">
            
            <div class="rk-algo-step">
                <div class="rk-algo-step-num">1</div>
                <h4>Określenie oporów przejmowania</h4>
                <div class="rk-algo-desc">
                    Przyjmij standardowe wartości oporów przejmowania ciepła: R_si = 0,17 m²·K/W (kierunek strumienia ciepła w dół) oraz uśredniony opór chudego betonu i okładziny R_c ≈ 0,10 m²·K/W. Zsumuj opory stałe.
                </div>
                <div class="rk-algo-equation">
                    R_stałe = 0,17 + 0,00 + 0,10 = 0,27 m²·K/W
                </div>
            </div>

            <div class="rk-algo-step">
                <div class="rk-algo-step-num">2</div>
                <h4>Całkowity opór przegrody (R_tot)</h4>
                <div class="rk-algo-desc">
                    Przekształć wzór na współczynnik przenikania ciepła U = 1 / R_tot. Podstawiając graniczną wartość wymaganą przez warunki techniczne U = 0,20 W/(m²·K):
                </div>
                <div class="rk-algo-equation">
                    R_tot = 1 / 0,20 = 5,00 m²·K/W
                </div>
            </div>

            <div class="rk-algo-step">
                <div class="rk-algo-step-num">3</div>
                <h4>Minimalny opór izolacji (R_izol)</h4>
                <div class="rk-algo-desc">
                    Odejmij od całkowitego oporu R_tot wartość oporów stałych oraz uśredniony opór cieplny gruntu (dla uproszczenia inżynierskich obliczeń strukturalnych przyjmuje się opór gruntu R_g ≈ 1,0 m²·K/W):
                </div>
                <div class="rk-algo-equation">
                    R_izol = 5,00 - 0,27 - 1,00 = 3,73 m²·K/W
                </div>
            </div>

            <div class="rk-algo-step">
                <div class="rk-algo-step-num">4</div>
                <h4>Obliczenie grubości (d) dla parametru λ</h4>
                <div class="rk-algo-desc">
                    Pomnóż wymagany opór izolacji przez współczynnik przewodzenia ciepła λ (lambda) wybranego materiału. Wynik otrzymasz w metrach, które przeliczamy na milimetry.
                </div>
                <div class="rk-algo-equation" style="color: var(--rk-calc-dark);">
                    Biały (0,036): d = 3,73 × 0,036 = 134 mm<br>
                    Grafit (0,031): d = 3,73 × 0,031 = 115 mm
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie domeny
    const currentDomain = window.location.hostname;
    const authDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!authDomains.includes(currentDomain)) {
        const errorWrap = document.getElementById('rk-calc-app');
        if (errorWrap) {
            errorWrap.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #ef4444; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 38px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Zabezpieczenie Algorytmu</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Interaktywny kalkulator grubości izolacji oraz system mikrodanych JSON-LD należą do domeny <strong>Projekt-Ogrzewania.pl</strong>. Wykryto próbę kradzieży kodu.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Kalkulatora i Obsługa Słupków SVG
    const uSlider = document.getElementById('calc-u-slider');
    const uValBox = document.getElementById('calc-u-val');
    
    const barWhite = document.getElementById('bar-white');
    const textWhite = document.getElementById('text-white');
    
    const barGraphite = document.getElementById('bar-graphite');
    const textGraphite = document.getElementById('text-graphite');

    const R_STALE = 0.27; 
    const R_GRUNT = 1.00; 
    const LAMBDA_W = 0.036; 
    const LAMBDA_G = 0.031; 

    // Nowe parametry dla izolowanych słupków SVG (viewBox 0 0 100 180)
    const SVG_BASE_Y = 160; 
    const PIXEL_PER_MM = 0.45; // Skalowanie dopasowane do wysokości 180px

    function runCalculation() {
        const U = parseFloat(uSlider.value);
        
        // Klasy wizualne dla normy WT2021
        if (U > 0.20) {
            uValBox.className = 'rk-calc-val-box fail';
        } else {
            uValBox.className = 'rk-calc-val-box pass';
        }
        
        uValBox.textContent = U.toFixed(2) + ' W/(m²K)';

        // Algorytm
        let R_tot = 1 / U;
        let R_izol = R_tot - R_STALE - R_GRUNT;
        if (R_izol < 0) R_izol = 0;

        let d_white_mm = Math.round((R_izol * LAMBDA_W) * 1000);
        let d_graphite_mm = Math.round((R_izol * LAMBDA_G) * 1000);

        // Ustawienie wielkich wartości w HTML
        textWhite.textContent = d_white_mm + ' mm';
        textGraphite.textContent = d_graphite_mm + ' mm';

        // Animacja SVG - ustalenie wysokości
        let h_white_px = d_white_mm * PIXEL_PER_MM;
        let h_graphite_px = d_graphite_mm * PIXEL_PER_MM;
        
        // Ochrona przed przenikaniem przez górną ramkę (max wys. np. 150)
        if (h_white_px > 150) h_white_px = 150;
        if (h_graphite_px > 150) h_graphite_px = 150;
        if (h_white_px < 5) h_white_px = 5;
        if (h_graphite_px < 5) h_graphite_px = 5;

        // Aplikacja atrybutów
        barWhite.setAttribute('height', h_white_px);
        barWhite.setAttribute('y', SVG_BASE_Y - h_white_px);

        barGraphite.setAttribute('height', h_graphite_px);
        barGraphite.setAttribute('y', SVG_BASE_Y - h_graphite_px);
    }

    uSlider.addEventListener('input', runCalculation);
    runCalculation();
});
</script>



<ol start="1" class="wp-block-list"></ol>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-card: #1e293b;
    --rk-err-brand: #ef4444; /* Ostrzegawcza czerwień */
    --rk-err-brand-light: #fef2f2;
    --rk-err-safe: #10b981;
    --rk-err-accent: #f59e0b; /* Pomarańcz - uwaga */
    --rk-err-bg: #f8fafc;
    --rk-err-border: #e2e8f0;
    --rk-err-text: #475569;
}

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

/* Sekcja Nagłówkowa */
.rk-err-header {
    background: linear-gradient(135deg, var(--rk-err-dark) 0%, #450a0a 100%);
    padding: 45px 50px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-err-brand);
}

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

.rk-err-header h2 {
    font-size: 32px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 15px 0;
}

.rk-err-header p {
    font-size: 16px;
    line-height: 1.8;
    color: #cbd5e1;
    margin: 0;
}

/* Interaktywny Audytor */
.rk-err-interactive {
    display: grid;
    grid-template-columns: 380px 1fr; /* Poszerzona kolumna pod dłuższe nazwy błędów */
    background: var(--rk-err-bg);
}

/* Lewa strona - Menu błędów */
.rk-err-menu {
    padding: 30px;
    border-right: 1px solid var(--rk-err-border);
    background: #ffffff;
}

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

.rk-err-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rk-err-btn {
    width: 100%;
    text-align: left;
    background: transparent;
    border: 2px solid transparent;
    padding: 14px 16px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-err-text);
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    gap: 12px;
    line-height: 1.4;
}

.rk-err-btn:hover {
    background: var(--rk-err-brand-light);
    color: var(--rk-err-brand);
}

.rk-err-btn.active {
    background: var(--rk-err-brand-light);
    border-color: var(--rk-err-brand);
    color: #991b1b;
    box-shadow: 0 4px 10px rgba(239, 68, 68, 0.1);
}

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

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

/* Prawa strona - Panel i SVG */
.rk-err-display {
    padding: 40px;
    display: flex;
    flex-direction: column;
}

.rk-err-visual {
    width: 100%;
    height: 260px;
    background: var(--rk-err-dark);
    border-radius: 16px;
    margin-bottom: 30px;
    position: relative;
    box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

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

/* Zmienne SVG na podstawie stanu */
.svg-wall { fill: #475569; }
.svg-ground { fill: #64748b; transition: all 0.5s; }
.svg-bump { fill: #64748b; transform: scaleY(0); transform-origin: bottom; transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); }
.svg-eps-1 { fill: #fcd34d; transition: all 0.4s; }
.svg-eps-2 { fill: #fbbf24; transition: all 0.4s; }
.svg-concrete { fill: #94a3b8; transition: all 0.4s; }
.svg-tape { fill: #3b82f6; opacity: 1; transition: opacity 0.3s; }
.svg-crack { stroke: #0f172a; stroke-width: 3; fill: none; stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset 0.6s ease-out; }
.svg-heat-arrow { stroke: #ef4444; stroke-width: 3; fill: none; stroke-linecap: round; opacity: 0; }
.svg-liquid { fill: #60a5fa; opacity: 0; transform: translateY(-20px); transition: all 0.4s; }

/* Nowe elementy SVG dla długiego ogona */
.svg-pipe { transition: all 0.4s; }
.svg-kan-pipe { fill: #cbd5e1; stroke: #3b82f6; stroke-width: 2; opacity: 0; transition: opacity 0.4s; }
.svg-foam { fill: #fde047; opacity: 0; transition: opacity 0.4s; }
.svg-clip { stroke: #0f172a; stroke-width: 2; fill: none; opacity: 0; }

/* Animacje stanów */
/* 1. Jedna warstwa */
.state-layer .svg-eps-2 { opacity: 0; }
.state-layer .svg-heat-arrow.layer-leak { animation: heatEscapeUp 1.5s infinite linear; }
@keyframes heatEscapeUp { 0% { transform: translateY(0); opacity: 0.8; } 100% { transform: translateY(-40px); opacity: 0; } }

/* 2. Nierówności */
.state-uneven .svg-bump { transform: scaleY(1); }
.state-uneven .svg-eps-1 { transform: translateY(-10px) rotate(-2deg); transform-origin: center; }
.state-uneven .svg-eps-2 { transform: translateY(-10px) rotate(2deg); transform-origin: center; }
.state-uneven .svg-concrete { transform: translateY(-5px); }
.state-uneven .svg-crack { stroke-dashoffset: 0; transition-delay: 0.4s; }

/* 3. Dylatacja brzegowa */
.state-edge .svg-tape { opacity: 0; }
.state-edge .svg-heat-arrow.edge-leak { animation: heatEscapeSide 1.5s infinite linear; }
@keyframes heatEscapeSide { 0% { transform: translateX(0); opacity: 0.8; } 100% { transform: translateX(-30px); opacity: 0; } }

/* 4. Folia */
.state-foil .svg-eps-2 { transform: translateX(5px); }
.state-foil .svg-liquid { opacity: 0.8; animation: drip 1.5s infinite ease-in; }
@keyframes drip { 0% { transform: translateY(-10px); opacity: 0.8; } 100% { transform: translateY(30px); opacity: 0; } }

/* 5. Styropian Fasadowy (Miękki) */
.state-soft .svg-eps-1 { transform: scaleY(0.6) translateY(55px); }
.state-soft .svg-eps-2 { transform: scaleY(0.6) translateY(55px); }
.state-soft .svg-concrete { transform: translateY(28px); }
.state-soft .svg-pipe { transform: translateY(28px); }
.state-soft .svg-crack { stroke-dashoffset: 0; transition-delay: 0.4s; }

/* 6. Krzyżowanie rur Wod-Kan */
.state-cross .svg-kan-pipe { opacity: 1; }
.state-cross .svg-eps-1 { opacity: 0.5; }
.state-cross .svg-heat-arrow.cross-leak { animation: heatEscapeUp 1.5s infinite linear; }

/* 7. Łatanie pianką */
.state-gap .svg-eps-2 { transform: translateX(-15px); }
.state-gap .svg-foam { opacity: 1; animation: foamExpand 2s infinite alternate; }
@keyframes foamExpand { from { transform: scaleX(0.9); } to { transform: scaleX(1.1); } }
.state-gap .svg-heat-arrow.gap-leak { animation: heatEscapeUp 1.5s infinite linear; }

/* 8. Wyrywanie spinek */
.state-clip .svg-clip { opacity: 1; }
.state-clip .svg-pipe-loose { transform: translateY(-20px); }
.state-clip .svg-concrete { opacity: 0.8; }


/* Panel tekstowy */
.rk-err-content h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-err-dark);
    margin: 0 0 15px 0;
}

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

.rk-err-content a {
    color: var(--rk-err-brand);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rk-err-solution {
    background: #dcfce7;
    border-left: 4px solid var(--rk-err-safe);
    padding: 15px 20px;
    border-radius: 0 8px 8px 0;
    margin-top: 20px;
}

.rk-err-solution strong {
    color: #065f46;
    display: block;
    font-size: 13px;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.rk-err-solution span {
    color: #166534;
    font-size: 14px;
    font-weight: 600;
}

@media (max-width: 768px) {
    .rk-err-header, .rk-err-display { padding: 30px 20px; }
    .rk-err-interactive { grid-template-columns: 1fr; }
    .rk-err-menu { border-right: none; border-bottom: 1px solid var(--rk-err-border); padding: 20px; }
    .rk-err-visual { height: 200px; }
    .rk-err-header h2 { font-size: 26px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#article-wykonawstwo",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/"
    },
    "headline": "Najczęstsze błędy wykonawcze podczas układania styropianu",
    "description": "8 krytycznych błędów izolacyjnych: od braku taśmy brzegowej, przez klawiszowanie podłoża, stosowanie pianki, po wyrywanie rur i styropian fasadowy EPS 70.",
    "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-25",
    "dateModified": "2026-05-25"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#dataset-wykonawstwo",
    "name": "Katalog 8 Krytycznych Błędów Izolacji Płaszczyznowej",
    "description": "Rozszerzona baza danych klasyfikująca błędy mechaniczne i termiczne przy układaniu polistyrenu pod jastrych grzewczy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy przy montażu ogrzewania podłogowego",
      "styropian fasadowy pod ogrzewanie podłogowe",
      "wyrywanie spinek do podłogówki ze styropianu",
      "rury wodne w styropianie podłogowym krzyżowanie",
      "wypełnianie ubytków w styropianie podłogowym pianką"
    ],
    "measurementTechnique": "Wizualizacja wektorowa uchybień fizycznych uwzględniająca odkształcenia plastyczne EPS 70, kolizje instalacji wod-kan oraz wyrwania mechaniczne klipsów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Jedna warstwa EPS: Powstają szczeliny i mostki termiczne.",
        "Nierówne podłoże (pow. 8mm): Powoduje klawiszowanie wylewki.",
        "Brak taśmy brzegowej: Generuje mostek obwodowy w ściany.",
        "Brak szczelności folii: Ucieczka płynnego jastrychu.",
        "Styropian fasadowy EPS 70: Zapadanie się izolacji pod ciężarem.",
        "Krzyżowanie rur wod-kan: Punktowe wychładzanie i utrata twardości podłoża.",
        "Wypełnianie pianką PUR: Trwała degradacja oporu cieplnego.",
        "Zbyt krótkie spinki: Wypychanie rur z izolacji podczas zalewania."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#webapp-wykonawstwo",
    "name": "Audytor Błędów Montażu Styropianu (Wersja PRO)",
    "description": "Rozbudowana aplikacja symulująca zachowanie warstw podłogowych i instalacji w przypadku wystąpienia 8 głównych patologii budowlanych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="rk-err-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>
            Weryfikacja Wykonawstwa
        </div>
        <h2>Najczęstsze błędy montażowe</h2>
        <p>
            Nawet najlepszej jakości materiał izolacyjny utraci swoje właściwości, jeśli zostanie zamontowany niezgodnie ze sztuką budowlaną. Zobacz 8 krytycznych błędów identyfikowanych podczas audytów inżynierskich.
        </p>
    </div>

    <div class="rk-err-interactive">
        
        <div class="rk-err-menu">
            <div class="rk-err-menu-title">Wybierz błąd do symulacji:</div>
            
            <div class="rk-err-list">
                <button class="rk-err-btn active" data-target="err-layer">
                    <div class="rk-err-btn-icon">1</div>
                    Jedna warstwa izolacji
                </button>
                <button class="rk-err-btn" data-target="err-uneven">
                    <div class="rk-err-btn-icon">2</div>
                    Nierówne podłoże
                </button>
                <button class="rk-err-btn" data-target="err-edge">
                    <div class="rk-err-btn-icon">3</div>
                    Brak dylatacji brzegowej
                </button>
                <button class="rk-err-btn" data-target="err-foil">
                    <div class="rk-err-btn-icon">4</div>
                    Nieszczelność folii
                </button>
                <button class="rk-err-btn" data-target="err-soft">
                    <div class="rk-err-btn-icon">5</div>
                    Miękki styropian (EPS 70)
                </button>
                <button class="rk-err-btn" data-target="err-cross">
                    <div class="rk-err-btn-icon">6</div>
                    Kolizje z rurami wod-kan
                </button>
                <button class="rk-err-btn" data-target="err-gap">
                    <div class="rk-err-btn-icon">7</div>
                    Łatanie szpar pianką PUR
                </button>
                <button class="rk-err-btn" data-target="err-clip">
                    <div class="rk-err-btn-icon">8</div>
                    Zbyt krótkie spinki (Tacker)
                </button>
            </div>
        </div>

        <div class="rk-err-display">
            
            <div class="rk-err-visual state-layer" id="svg-stage">
                <svg class="rk-svg-stage" viewBox="0 0 300 200">
                    <rect class="svg-wall" x="0" y="0" width="30" height="200" />
                    
                    <rect class="svg-ground" x="30" y="150" width="270" height="50" />
                    <path class="svg-bump" d="M 120 150 Q 150 110 180 150 Z" />

                    <rect class="svg-tape" x="30" y="40" width="5" height="110" />

                    <rect class="svg-eps-1" x="35" y="115" width="120" height="35" rx="2" />
                    <rect class="svg-eps-1" x="155" y="115" width="145" height="35" rx="2" />
                    
                    <rect class="svg-eps-2" x="35" y="80" width="100" height="35" rx="2" />
                    <rect class="svg-eps-2" x="135" y="80" width="165" height="35" rx="2" />

                    <circle class="svg-kan-pipe" cx="155" cy="132" r="14" />

                    <path class="svg-foam" d="M 130 80 L 140 80 L 138 115 L 128 115 Z" />

                    <rect class="svg-concrete" x="35" y="40" width="265" height="40" rx="2" />
                    <circle class="svg-pipe" cx="70" cy="60" r="6" fill="#ef4444" />
                    <circle class="svg-pipe" cx="120" cy="60" r="6" fill="#ef4444" />
                    <circle class="svg-pipe svg-pipe-loose" cx="170" cy="60" r="6" fill="#ef4444" />
                    <circle class="svg-pipe" cx="220" cy="60" r="6" fill="#ef4444" />

                    <path class="svg-clip" d="M 165 70 L 160 50 M 175 70 L 180 50" />

                    <path class="svg-crack" d="M 140 40 L 155 55 L 145 65 L 150 80" />
                    <path class="svg-heat-arrow layer-leak" d="M 145 150 L 145 100 M 140 110 L 145 100 L 150 110" />
                    <path class="svg-heat-arrow edge-leak" d="M 50 60 L 10 60 M 20 55 L 10 60 L 20 65" />
                    <path class="svg-heat-arrow cross-leak" d="M 155 132 L 155 80 M 145 95 L 155 80 L 165 95" />
                    <path class="svg-heat-arrow gap-leak" d="M 135 115 L 135 70 M 125 85 L 135 70 L 145 85" />
                    <path class="svg-liquid" d="M 140 80 Q 145 100 140 115" stroke="#60a5fa" stroke-width="4" fill="none"/>
                </svg>
            </div>

            <div class="rk-err-content" id="err-content">
                </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Ochrona domeny (Bez tagów H w stringu błędu)
    const activeDomain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowed.includes(activeDomain)) {
        const wrap = document.getElementById('rk-err-app');
        if (wrap) {
            wrap.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #ef4444; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 38px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Interaktywny Audytor Błędów oraz struktura JSON-LD są własnością <strong>Projekt-Ogrzewania.pl</strong>. Skrypt zablokowany.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Rozszerzona Baza Treści (8 Błędów SEO)
    const errData = {
        'err-layer': {
            title: 'Układanie izolacji w jednej warstwie',
            text: 'Zastosowanie pojedynczej płyty o grubości np. 15 cm generuje pionowe, bezpośrednie szczeliny na łączeniach płyt. Tworzy to potężne, liniowe mostki termiczne, przez które ciepło ucieka w kierunku fundamentu.',
            solution: 'Płyty należy układać bezwzględnie w układzie mijankowym (np. 10 cm + 5 cm) z przesunięciem krawędzi o minimum 20 cm.'
        },
        'err-uneven': {
            title: 'Brak wyrównania podłoża',
            text: 'Układanie płyt na chropowatej powierzchni z zaprawą tworzy pustki powietrzne. Pod dociskiem <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">ciężkiej wylewki</a> styropian łamie się, powodując klawiszowanie betonu.',
            solution: 'Nierówności >8 mm bezwzględnie wyrównaj podsypką piaskową lub szybką masą samopoziomującą przed układaniem płyt.'
        },
        'err-edge': {
            title: 'Ignorowanie izolacji brzegowej',
            text: 'Brak pianki dylatacyjnej odcina wylewce grzewczej możliwość naturalnej rozszerzalności termicznej. Gorący beton styka się z zimną ścianą, przekazując energię prosto w mury.',
            solution: 'Wokół wszystkich ścian i słupów zastosuj taśmę brzegową z folią o grubości minimum 8 mm.'
        },
        'err-foil': {
            title: 'Nieszczelność folii (Wylewka anhydrytowa)',
            text: 'Samo ułożenie folii "na zakładkę" to błąd przy jastrychach płynnych. <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">Wylewka anhydrytowa</a> wleje się w szczeliny izolacji, unosząc styropian do góry i tworząc mostki akustyczne.',
            solution: 'Zakłady folii zrastrowanej precyzyjnie sklej taśmą wodoodporną, tworząc szczelną wannę dla płynnego jastrychu.'
        },
        'err-soft': {
            title: 'Zastosowanie styropianu fasadowego',
            text: 'Często spotykany błąd z chęci oszczędności. Miękki styropian (EPS 70 lub fasadowy) drastycznie odkształci się (osiądzie) pod ciężarem wylewki i mebli, zrywając rury oraz pękając beton.',
            solution: 'Zawsze używaj dedykowanego styropianu podłogowego o współczynniku odporności na ściskanie minimum CS(10) 100 kPa.'
        },
        'err-cross': {
            title: 'Krzyżowanie rur bez izolacji',
            text: 'Prowadzenie rur CWU/CO bezpośrednio w warstwie styropianu podłogowego bez wycięcia szerszych kanałów i założenia peszli/otulin skutkuje ubytkami cieplnymi i osłabieniem podparcia rur grzewczych na górze.',
            solution: 'Instalacje wod-kan układaj wyłącznie w pierwszej warstwie izolacji (np. 10 cm), wycinając precyzyjne kanały i stosując grube otuliny.'
        },
        'err-gap': {
            title: 'Łatanie ubytków pianką PUR',
            text: 'Cięcie styropianu "na oko" i wypełnianie powstałych, kilkucentymetrowych szczelin zwykłą pianką montażową niszczy jednorodność oporu cieplnego posadzki. Zwykła piana szybko ulega degradacji i utlenieniu.',
            solution: 'Płyty należy docinać gilotyną termiczną (gorącym drutem), co zapewnia idealne spasowanie bloków "na wcisk" bez zaprawy.'
        },
        'err-clip': {
            title: 'Zbyt krótkie spinki do tackera',
            text: 'Stosowanie spinek o długości 40 mm na folii przytwierdzonej do miększej warstwy wierzchniej (np. 5 cm) skutkuje masowym wyrywaniem rur ze styropianu w trakcie zalewania betonem (rury wypływają na wierzch).',
            solution: 'Dobieraj spinki do grubości warstwy nośnej folii – przy układzie rur rzędu 16x2.0 mm absolutne minimum to spinki 50 mm wbijane prosto.'
        }
    };

    // 3. Logika Interfejsu
    const btns = document.querySelectorAll('.rk-err-btn');
    const svgStage = document.getElementById('svg-stage');
    const contentBox = document.getElementById('err-content');

    function updateView(targetId) {
        // Reset klas SVG
        svgStage.className = `rk-err-visual state-${targetId.replace('err-', '')}`;
        
        // Render Treści
        const data = errData[targetId];
        contentBox.innerHTML = `
            <h3>${data.title}</h3>
            <p>${data.text}</p>
            <div class="rk-err-solution">
                <strong>Standard Inżynierski:</strong>
                <span>${data.solution}</span>
            </div>
        `;
    }

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            updateView(this.getAttribute('data-target'));
        });
    });

    // Startowa inicjalizacja
    updateView('err-layer');
});
</script>



<style>
:root {
    --rk-proj-dark: #0f172a;
    --rk-proj-card: #1e293b;
    --rk-proj-brand: #0284c7; /* Błękit inżynieryjny */
    --rk-proj-brand-light: #e0f2fe;
    --rk-proj-accent: #0ea5e9; 
    --rk-proj-success: #10b981;
    --rk-proj-warning: #f59e0b;
    --rk-proj-danger: #ef4444;
    --rk-proj-bg: #f8fafc;
    --rk-proj-border: #e2e8f0;
    --rk-proj-text: #475569;
}

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

/* Sekcja Nagłówkowa */
.rk-proj-header {
    background: linear-gradient(135deg, var(--rk-proj-dark) 0%, #0c4a6e 100%);
    padding: 45px 50px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-proj-brand);
}

.rk-proj-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(2, 132, 199, 0.3);
    color: #bae6fd;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(186, 230, 253, 0.2);
}

.rk-proj-header h2 {
    font-size: 32px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 15px 0;
}

.rk-proj-header p {
    font-size: 16px;
    line-height: 1.8;
    color: #cbd5e1;
    margin: 0;
}

/* Symulator Hydrauliczny */
.rk-proj-interactive {
    padding: 40px 50px;
    background: var(--rk-proj-bg);
    border-bottom: 1px solid var(--rk-proj-border);
}

/* Przełącznik (Toggle) */
.rk-proj-toggle-wrap {
    display: flex;
    background: #e2e8f0;
    border-radius: 12px;
    padding: 6px;
    max-width: 600px;
    margin: 0 auto 35px auto;
}

.rk-proj-toggle-btn {
    flex: 1;
    padding: 14px 20px;
    border: none;
    background: transparent;
    font-size: 15px;
    font-weight: 800;
    color: #64748b;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-proj-toggle-btn.active[data-state="bad"] {
    background: #ffffff;
    color: var(--rk-proj-danger);
    box-shadow: 0 4px 10px rgba(239, 68, 68, 0.15);
}

.rk-proj-toggle-btn.active[data-state="good"] {
    background: #ffffff;
    color: var(--rk-proj-success);
    box-shadow: 0 4px 10px rgba(16, 185, 129, 0.15);
}

/* Grid Dashboardu */
.rk-proj-dashboard {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 30px;
    align-items: center;
}

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

.rk-metric-card {
    background: #ffffff;
    border: 1px solid var(--rk-proj-border);
    border-radius: 12px;
    padding: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    transition: all 0.3s;
}

.rk-metric-title {
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-proj-text);
    margin-bottom: 8px;
}

.rk-metric-val {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-proj-dark);
    transition: color 0.3s;
}

/* Stan Zły */
.state-bad .rk-metric-card.alert { border-color: #fca5a5; background: #fef2f2; }
.state-bad .rk-metric-card.alert .rk-metric-val { color: var(--rk-proj-danger); }

/* Stan Dobry */
.state-good .rk-metric-card.ok { border-color: #6ee7b7; background: #ecfdf5; }
.state-good .rk-metric-card.ok .rk-metric-val { color: var(--rk-proj-success); }

/* Wizualizacja SVG (Hydraulika) */
.rk-proj-visual {
    background: var(--rk-proj-dark);
    border-radius: 16px;
    padding: 20px;
    height: 220px;
    position: relative;
    box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-svg-hydraulics {
    width: 100%;
    max-width: 320px;
}

/* Elementy SVG */
.svg-bg-concrete { fill: #1e293b; }
.svg-pipe-path {
    fill: none;
    stroke-width: 8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.svg-flow-dash {
    fill: none;
    stroke: rgba(255,255,255,0.6);
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Animacje Flow */
.state-bad .svg-pipe-path { stroke: #ef4444; } /* Czerwone - wysokie opory */
.state-bad .svg-pipe-extra { opacity: 1; } /* Gęsty rozstaw */
.state-bad .svg-flow-dash { stroke-dasharray: 10 15; animation: franticFlow 0.5s linear infinite; }
.state-bad .svg-pump-icon { fill: #ef4444; animation: pumpStress 0.2s infinite alternate; }

.state-good .svg-pipe-path { stroke: #3b82f6; } /* Niebieskie - optymalne */
.state-good .svg-pipe-extra { opacity: 0; transform: translateY(-10px); } /* Szerszy rozstaw */
.state-good .svg-flow-dash { stroke-dasharray: 20 30; animation: smoothFlow 1.5s linear infinite; }
.state-good .svg-pump-icon { fill: #10b981; }

@keyframes franticFlow { to { stroke-dashoffset: -50; } }
@keyframes smoothFlow { to { stroke-dashoffset: -100; } }
@keyframes pumpStress { from { transform: scale(0.95) translate(-1px, 1px); } to { transform: scale(1.05) translate(1px, -1px); } }

/* Sekcja z tekstem objaśniającym */
.rk-proj-explanation {
    padding: 40px 50px 0 50px;
    background: #ffffff;
}

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

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

.rk-tech-box {
    background: var(--rk-proj-bg);
    border-left: 4px solid var(--rk-proj-brand);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin-bottom: 30px;
    font-family: monospace;
    font-size: 14px;
    color: #0369a1;
    font-weight: 600;
}

/* MOCNE CTA Z ROI */
.rk-proj-cta-section {
    padding: 40px 50px;
    background: linear-gradient(180deg, #ffffff 0%, #f0f9ff 100%);
    border-top: 1px solid var(--rk-proj-border);
    text-align: center;
}

.rk-cta-wrapper {
    max-width: 700px;
    margin: 0 auto;
    background: #ffffff;
    border: 2px solid var(--rk-proj-brand);
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 20px 40px -10px rgba(2, 132, 199, 0.2);
    position: relative;
    overflow: hidden;
}

.rk-cta-wrapper::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 6px;
    background: linear-gradient(90deg, #10b981, #0284c7);
}

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

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

.rk-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-proj-brand);
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    padding: 18px 36px;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.4);
    transition: all 0.3s;
}

.rk-cta-btn:hover {
    background: #0369a1;
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(2, 132, 199, 0.5);
}

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

.rk-cta-btn:hover svg {
    transform: translateX(5px);
}

@media (max-width: 768px) {
    .rk-proj-header, .rk-proj-interactive, .rk-proj-explanation, .rk-proj-cta-section { padding: 30px 20px; }
    .rk-proj-dashboard { grid-template-columns: 1fr; }
    .rk-proj-toggle-wrap { flex-direction: column; }
    .rk-cta-wrapper { padding: 30px 20px; }
    .rk-cta-btn { width: 100%; padding: 16px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#article-projekt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/"
    },
    "headline": "Jak dobór izolacji wpływa na projekt ogrzewania podłogowego?",
    "description": "Dowiedz się, jak grubość styropianu determinuje wyniki OZC, przepływy hydrauliczne i rozstaw rur. Zobacz interaktywną symulację.",
    "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-25",
    "dateModified": "2026-05-25"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#dataset-projekt",
    "name": "Parametry hydrauliczne w zależności od izolacji podłogi",
    "description": "Zestawienie zmiennych hydraulicznych (przepływ masowy, opór, rozstaw rur) wynikających ze zmiany obciążenia cieplnego (OZC) budynku.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wpływ styropianu na projekt podłogówki",
      "obliczenia OZC a izolacja",
      "przepływ masowy czynnika ogrzewanie podłogowe",
      "rozstaw rur 10 czy 15 cm",
      "opory hydrauliczne pompy obiegowej"
    ],
    "measurementTechnique": "Symulacja zmian parametrów instalacji (Q=1.2kW vs Q=1.8kW) przy spadku temperatury ΔT=5K i ich wpływ na pompę obiegową.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wariant Optymalny (15 cm): Zapotrzebowanie 1,2 kW -> Przepływ 206 l/h -> Rozstaw 15 cm",
        "Wariant Słaby (10 cm): Zapotrzebowanie 1,8 kW -> Przepływ 310 l/h -> Rozstaw 10 cm (Zagrożenie hydrauliczne)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#webapp-projekt",
    "name": "Symulator Wpływu Izolacji na Hydraulikę",
    "description": "Aplikacja wizualizująca przeciążenie pompy obiegowej i zagęszczenie rur w przypadku zastosowania zbyt cienkiej warstwy styropianu podłogowego.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-proj-container" id="rk-proj-app">
    
    <div class="rk-proj-header">
        <div class="rk-proj-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>
            Finanse i Hydraulika
        </div>
        <h2>Jak dobór izolacji wpływa na projekt ogrzewania podłogowego?</h2>
        <p>
            Projekt instalacji grzewczej to system naczyń połączonych. Grubość i jakość izolacji termicznej determinują końcowe wyniki obliczeń <strong>Projektowego Obciążenia Cieplnego (OZC)</strong>, co bezpośrednio wpływa na geometrię pętli grzewczych oraz parametry pracy źródła ciepła.
        </p>
    </div>

    <div class="rk-proj-interactive">
        
        <div class="rk-proj-toggle-wrap">
            <button class="rk-proj-toggle-btn active" data-state="bad">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><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>
                Odchudzona Izolacja (10 cm)
            </button>
            <button class="rk-proj-toggle-btn" data-state="good">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><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>
                Optymalna Izolacja (15 cm)
            </button>
        </div>

        <div class="rk-proj-dashboard state-bad" id="proj-dashboard">
            
            <div class="rk-proj-metrics">
                <div class="rk-metric-card alert" id="card-ozc">
                    <div class="rk-metric-title">Zapotrzebowanie (Q)</div>
                    <div class="rk-metric-val" id="val-ozc">1,8 kW</div>
                </div>
                <div class="rk-metric-card alert" id="card-flow">
                    <div class="rk-metric-title">Wymagany przepływ</div>
                    <div class="rk-metric-val" id="val-flow">310 l/h</div>
                </div>
                <div class="rk-metric-card alert" id="card-space">
                    <div class="rk-metric-title">Rozstaw rur</div>
                    <div class="rk-metric-val" id="val-space">co 10 cm</div>
                </div>
                <div class="rk-metric-card alert" id="card-loop">
                    <div class="rk-metric-title">Stan pompy obiegowej</div>
                    <div class="rk-metric-val" id="val-loop">Przeciążona</div>
                </div>
            </div>

            <div class="rk-proj-visual">
                <svg class="rk-svg-hydraulics" viewBox="0 0 300 200">
                    <rect class="svg-bg-concrete" x="10" y="20" width="280" height="160" rx="8" />
                    
                    <g transform="translate(0, 10)">
                        <path class="svg-pipe-path" d="M 40 180 L 40 40 L 260 40 L 260 140 L 80 140 L 80 80 L 220 80 L 220 100" />
                        <path class="svg-flow-dash" d="M 40 180 L 40 40 L 260 40 L 260 140 L 80 140 L 80 80 L 220 80 L 220 100" />
                        
                        <g class="svg-pipe-extra">
                            <path class="svg-pipe-path" d="M 60 180 L 60 60 L 240 60 L 240 120 L 100 120 L 100 100" />
                            <path class="svg-flow-dash" d="M 60 180 L 60 60 L 240 60 L 240 120 L 100 120 L 100 100" />
                        </g>
                    </g>
                    
                    <circle cx="50" cy="180" r="15" fill="#334155" stroke="#cbd5e1" stroke-width="3" />
                    <polygon class="svg-pump-icon" points="43,185 50,170 57,185" />
                </svg>
            </div>
        </div>

    </div>

    <div class="rk-proj-explanation">
        <p>Kiedy redukujemy straty ciepła przez podłogę poprzez zwiększenie grubości styropianu z 10 cm do 15 cm, zapotrzebowanie na moc cieplną pomieszczenia spada. To daje projektantowi potężne możliwości optymalizacyjne:</p>
        
        <ul style="color: var(--rk-proj-text); line-height: 1.8; margin-bottom: 25px;">
            <li><strong>Zwiększenie rozstawu rur:</strong> Zamiast gęstego układania co 10 cm (które generuje wysokie opory hydrauliczne), można zastosować rozstaw co 15 cm.</li>
            <li><strong>Skrócenie długości pętli:</strong> Krótsze pętle oznaczają mniejsze straty ciśnienia w instalacji hydraulicznej.</li>
            <li><strong>Obniżenie parametrów zasilania:</strong> Pompa ciepła może zasilać układ temperaturą o 2-3°C niższą, co przekłada się na drastyczny wzrost jej efektywności sezonowej (SCOP).</li>
        </ul>

        <div class="rk-tech-box">
            PRZYKŁAD HYDRAULICZNY:<br><br>
            [15 cm EPS] Q = 1,2 kW, przy ΔT = 5 K -> Wymagany przepływ czynnika: <strong>0,206 m³/h (206 l/h)</strong>.<br><br>
            [10 cm EPS] Q = 1,8 kW, przy ΔT = 5 K -> Wymagany przepływ czynnika: <strong style="color:#ef4444;">0,310 m³/h (310 l/h)</strong>.<br>
            Wynik? Przekroczenie dopuszczalnych oporów liniowych i konieczność zakupu większej pompy obiegowej.
        </div>
    </div>

    <div class="rk-proj-cta-section">
        <div class="rk-cta-wrapper">
            <h3 class="rk-cta-title">Zainwestuj w wiedzę. Zaoszczędź na eksploatacji.</h3>
            <p class="rk-cta-desc">
                Prawidłowo wykonany <strong>Projekt Ogrzewania Podłogowego (OZC + Hydraulika)</strong> to nie jest wydatek. To inwestycja, która optymalizuje ilość materiału na budowie i gwarantuje najniższe możliwe rachunki za ogrzewanie. Koszt projektu często zwraca się już w pierwszym sezonie grzewczym pracy pompy ciepła.
            </p>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-cta-btn">
                ZAMÓW PROFESJONALNY PROJEKT OGRZEWANIA
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><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() {
    // 1. Zabezpieczenie domeny (Brak H w alercie)
    const dmn = window.location.hostname;
    const allowedDmns = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDmns.includes(dmn)) {
        const blck = document.getElementById('rk-proj-app');
        if (blck) {
            blck.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #ef4444; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 38px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Zabezpieczenie Licencyjne</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Interaktywny panel hydrauliczny oraz dane JSON-LD są własnością domeny <strong>Projekt-Ogrzewania.pl</strong>. Kod został zablokowany.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Toggle i Aktualizacja Danych
    const btns = document.querySelectorAll('.rk-proj-toggle-btn');
    const dashboard = document.getElementById('proj-dashboard');
    
    const valOzc = document.getElementById('val-ozc');
    const valFlow = document.getElementById('val-flow');
    const valSpace = document.getElementById('val-space');
    const valLoop = document.getElementById('val-loop');
    
    const cards = document.querySelectorAll('.rk-metric-card');

    const dataStates = {
        'bad': {
            ozc: '1,8 kW',
            flow: '310 l/h',
            space: 'co 10 cm',
            loop: 'Przeciążona',
            cssClass: 'state-bad',
            cardClass: 'alert'
        },
        'good': {
            ozc: '1,2 kW',
            flow: '206 l/h',
            space: 'co 15 cm',
            loop: 'Optymalna',
            cssClass: 'state-good',
            cardClass: 'ok'
        }
    };

    function updateDashboard(state) {
        const data = dataStates[state];
        
        // Zmiana tekstu
        valOzc.textContent = data.ozc;
        valFlow.textContent = data.flow;
        valSpace.textContent = data.space;
        valLoop.textContent = data.loop;

        // Zmiana klas kontenera nadrzędnego (dla animacji SVG)
        dashboard.className = `rk-proj-dashboard ${data.cssClass}`;

        // Zmiana klas kart (kolory)
        cards.forEach(card => {
            card.className = `rk-metric-card ${data.cardClass}`;
        });
    }

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            if (this.classList.contains('active')) return;
            
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            
            updateDashboard(this.getAttribute('data-state'));
        });
    });

    // Inicjalizacja bazowa
    updateDashboard('bad');
});
</script>



<style>
:root {
    --rk-cs-dark: #0f172a;
    --rk-cs-card: #1e293b;
    --rk-cs-brand: #10b981; /* Szmaragdowa zieleń - symbol oszczędności/pieniędzy */
    --rk-cs-brand-light: #d1fae5;
    --rk-cs-accent: #f59e0b; /* Złoto/Bursztyn */
    --rk-cs-danger: #ef4444; /* Czerwień dla strat */
    --rk-cs-bg: #f8fafc;
    --rk-cs-border: #e2e8f0;
    --rk-cs-text: #475569;
}

.rk-cs-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.3);
    overflow: hidden;
}

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

.rk-cs-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #6ee7b7;
    padding: 8px 18px;
    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-cs-header h2 {
    font-size: 32px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 15px 0;
}

.rk-cs-header p {
    font-size: 16px;
    line-height: 1.8;
    color: #cbd5e1;
    margin: 0;
}

/* Moduł Interaktywny - Porównanie ROI */
.rk-cs-interactive {
    padding: 40px 50px;
    background: var(--rk-cs-bg);
}

.rk-cs-toggle-wrap {
    display: flex;
    background: #e2e8f0;
    border-radius: 12px;
    padding: 6px;
    max-width: 600px;
    margin: 0 auto 40px auto;
}

.rk-cs-toggle-btn {
    flex: 1;
    padding: 14px 20px;
    border: none;
    background: transparent;
    font-size: 15px;
    font-weight: 800;
    color: #64748b;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-cs-toggle-btn.active[data-view="before"] {
    background: #ffffff;
    color: var(--rk-cs-danger);
    box-shadow: 0 4px 10px rgba(239, 68, 68, 0.15);
}

.rk-cs-toggle-btn.active[data-view="after"] {
    background: #ffffff;
    color: var(--rk-cs-brand);
    box-shadow: 0 4px 10px rgba(16, 185, 129, 0.15);
}

/* Wyeksponowane Oszczędności (Kluczowy element) */
.rk-cs-savings-dashboard {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 40px;
}

.rk-cs-savings-card {
    background: #ffffff;
    border: 2px solid var(--rk-cs-border);
    border-radius: 20px;
    padding: 30px;
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 20px -10px rgba(0,0,0,0.05);
}

.rk-cs-savings-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 5px;
    background: var(--rk-cs-border);
    transition: background 0.5s;
}

/* Stan "Po Audycie" - Zielony/Złoty */
.state-after .rk-cs-savings-card.capex { border-color: var(--rk-cs-brand); box-shadow: 0 15px 30px -10px rgba(16,185,129,0.2); }
.state-after .rk-cs-savings-card.capex::before { background: var(--rk-cs-brand); }
.state-after .rk-cs-savings-card.opex { border-color: var(--rk-cs-accent); box-shadow: 0 15px 30px -10px rgba(245,158,11,0.2); }
.state-after .rk-cs-savings-card.opex::before { background: var(--rk-cs-accent); }

/* Stan "Przed" - Czerwony */
.state-before .rk-cs-savings-card { border-color: #fca5a5; background: #fef2f2; }
.state-before .rk-cs-savings-card::before { background: var(--rk-cs-danger); }

.rk-cs-card-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-cs-text);
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.rk-cs-card-val {
    font-size: 48px;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 10px;
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 5px;
    transition: color 0.5s;
}

.rk-cs-card-val span {
    font-size: 20px;
    font-weight: 700;
}

.state-after .capex .rk-cs-card-val { color: var(--rk-cs-brand); }
.state-after .opex .rk-cs-card-val { color: var(--rk-cs-accent); }
.state-before .rk-cs-card-val { color: var(--rk-cs-danger); }

.rk-cs-card-desc {
    font-size: 14px;
    color: var(--rk-cs-text);
    font-weight: 600;
}

/* Detale Techniczne & SVG */
.rk-cs-tech-split {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 30px;
    background: #ffffff;
    border: 1px solid var(--rk-cs-border);
    border-radius: 16px;
    overflow: hidden;
}

.rk-cs-tech-details {
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}

.rk-tech-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-cs-border);
}

.rk-tech-row:last-child { border-bottom: none; padding-bottom: 0; }

.rk-tech-label { font-size: 15px; font-weight: 700; color: var(--rk-cs-text); }
.rk-tech-val { font-size: 18px; font-weight: 900; color: var(--rk-cs-dark); transition: color 0.3s; }

.state-before .val-bad { color: var(--rk-cs-danger); }
.state-after .val-good { color: var(--rk-cs-brand); }

/* SVG Wizualizacja (Pompa i Dom) */
.rk-cs-svg-box {
    background: var(--rk-cs-dark);
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.rk-svg-roi { width: 100%; height: 100%; max-height: 220px; }

/* Elementy SVG */
.anim-pump-body { transition: fill 0.5s; }
.state-before .anim-pump-body { fill: #ef4444; }
.state-after .anim-pump-body { fill: #10b981; }

.anim-eps-layer { transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); }
.state-before .anim-eps-layer { height: 15px; y: 135px; fill: #fcd34d; }
.state-after .anim-eps-layer { height: 35px; y: 115px; fill: #475569; }

.anim-money-drop { opacity: 0; transition: opacity 0.3s; }
.state-before .anim-money-drop { opacity: 1; animation: dropMoney 1.5s infinite linear; }

.anim-shield { opacity: 0; transition: opacity 0.5s; transform-origin: center; transform: scale(0); }
.state-after .anim-shield { opacity: 1; transform: scale(1); }

@keyframes dropMoney {
    0% { transform: translateY(0); opacity: 1; }
    100% { transform: translateY(40px); opacity: 0; }
}

/* Tekst Case Study */
.rk-cs-story {
    padding: 0 50px 40px 50px;
    background: var(--rk-cs-bg);
}

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

.rk-cs-story p:last-child { margin-bottom: 0; }

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

@media (max-width: 768px) {
    .rk-cs-header, .rk-cs-interactive, .rk-cs-story { padding: 30px 20px; }
    .rk-cs-toggle-wrap { flex-direction: column; }
    .rk-cs-savings-dashboard { grid-template-columns: 1fr; gap: 20px; }
    .rk-cs-tech-split { grid-template-columns: 1fr; }
    .rk-cs-svg-box { height: 200px; }
    .rk-cs-card-val { font-size: 38px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/"
    },
    "headline": "Case Study: Analiza inwestycji i zwrot z izolacji (Podkarpacie 2026)",
    "description": "Zobacz, jak profesjonalny audyt OZC i zmiana styropianu z 10 cm EPS 70 na 14 cm grafitu wygenerowała 3200 PLN oszczędności na pompie 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-25",
    "dateModified": "2026-05-25"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#dataset-casestudy",
    "name": "Analiza ROI: Optymalizacja Izolacji Podłogowej",
    "description": "Zestawienie kosztów inwestycyjnych (CAPEX) i operacyjnych (OPEX) przed i po optymalizacji grubości styropianu dla domu 165 m2.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zwrot z inwestycji w styropian",
      "koszty pompy ciepła a izolacja",
      "oszczędności na ogrzewaniu podłogowym",
      "audyt OZC Podkarpacie",
      "współczynnik U a moc pompy"
    ],
    "measurementTechnique": "Porównanie zapotrzebowania na moc pompy ciepła (8 kW vs 6 kW) w oparciu o spadek współczynnika U (0,32 -> 0,16 W/m2K).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Plan Wykonawcy: EPS 70 10cm, U=0,32, Pompa 8kW, Straty 24 kWh/m2.",
        "Projekt Inżynierski: EPS 100 Grafit 14cm, U=0,16, Pompa 6kW.",
        "Oszczędność CAPEX (Pompa): 3200 PLN jednorazowo.",
        "Oszczędność OPEX (Prąd): 480 PLN rocznie."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#webapp-casestudy",
    "name": "Kalkulator Oszczędności Inwestycyjnych (ROI)",
    "description": "Interaktywny symulator prezentujący różnicę w kosztach zakupu pompy ciepła oraz rocznych rachunkach przy zmianie warstw izolacji.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cs-container" id="rk-cs-app">
    
    <div class="rk-cs-header">
        <div class="rk-cs-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
            Case Study Inwestora
        </div>
        <h2>Analiza inwestycji w Podkarpaciu (Maj 2025)</h2>
        <p>
            Teoria to jedno, ale liczby nie kłamią. Zobacz na realnym przykładzie mojego klienta (dom 165 m², III strefa klimatyczna, projektowa -20°C), jak odchudzanie izolacji uderza bezpośrednio w portfel, oraz jak <strong>inżynierski audyt OZC odzyskał tysiące złotych</strong>.
        </p>
    </div>

    <div class="rk-cs-interactive state-after" id="cs-interactive-board">
        
        <div class="rk-cs-toggle-wrap">
            <button class="rk-cs-toggle-btn" data-view="before">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><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>
                Wizja Wykonawcy ("Na Oko")
            </button>
            <button class="rk-cs-toggle-btn active" data-view="after">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><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>
                Audyt Inżynierski (OZC)
            </button>
        </div>

        <div class="rk-cs-savings-dashboard">
            <div class="rk-cs-savings-card capex">
                <div class="rk-cs-card-title" id="title-capex">Oszczędność przy zakupie Pompy Ciepła</div>
                <div class="rk-cs-card-val"><span id="sign-capex">+</span><span id="val-capex">3200</span> <span>PLN</span></div>
                <div class="rk-cs-card-desc" id="desc-capex">Uniknięto zakupu przewymiarowanego urządzenia 8 kW.</div>
            </div>
            <div class="rk-cs-savings-card opex">
                <div class="rk-cs-card-title" id="title-opex">Zysk na rachunkach co sezon grzewczy</div>
                <div class="rk-cs-card-val"><span id="sign-opex">+</span><span id="val-opex">480</span> <span>PLN/rok</span></div>
                <div class="rk-cs-card-desc" id="desc-opex">Gwarancja niższych kosztów eksploatacyjnych dzięki COP.</div>
            </div>
        </div>

        <div class="rk-cs-tech-split">
            <div class="rk-cs-tech-details">
                <div class="rk-tech-row">
                    <span class="rk-tech-label">Zastosowany styropian:</span>
                    <span class="rk-tech-val" id="tech-mat">14 cm EPS 100 Grafit</span>
                </div>
                <div class="rk-tech-row">
                    <span class="rk-tech-label">Współczynnik przenikania (U):</span>
                    <span class="rk-tech-val val-good" id="tech-u">0,16 W/(m²·K)</span>
                </div>
                <div class="rk-tech-row">
                    <span class="rk-tech-label">Wymagana moc pompy:</span>
                    <span class="rk-tech-val val-good" id="tech-pump">Tylko 6 kW</span>
                </div>
            </div>

            <div class="rk-cs-svg-box">
                <svg class="rk-svg-roi" viewBox="0 0 200 200">
                    <rect x="50" y="50" width="100" height="100" fill="#1e293b" rx="4"></rect>
                    <polygon points="40,50 100,10 160,50" fill="#334155"></polygon>
                    
                    <rect class="anim-eps-layer" x="55" y="115" width="90" height="35" rx="2"></rect>
                    
                    <rect class="anim-pump-body" x="15" y="110" width="25" height="40" rx="3"></rect>
                    <circle cx="27.5" cy="125" r="8" fill="#0f172a"></circle>
                    
                    <g class="anim-money-drop">
                        <circle cx="80" cy="155" r="6" fill="#ef4444"></circle>
                        <text x="80" y="158" font-size="8" fill="#ffffff" font-weight="bold" text-anchor="middle">$</text>
                        <circle cx="120" cy="155" r="6" fill="#ef4444"></circle>
                        <text x="120" y="158" font-size="8" fill="#ffffff" font-weight="bold" text-anchor="middle">$</text>
                    </g>

                    <g class="anim-shield">
                        <path d="M100 165 L140 165 L120 190 Z" fill="#10b981"></path>
                        <path d="M100 165 Q120 185 140 165 Z" fill="#34d399"></path>
                        <text x="120" y="175" font-family="sans-serif" font-size="10" font-weight="bold" fill="#ffffff" text-anchor="middle">ZYSK</text>
                    </g>
                </svg>
            </div>
        </div>

    </div>

    <div class="rk-cs-story">
        <p>
            Modyfikację założeń doskonale obrazuje przypadek z mojej inżynierskiej praktyki. Pierwotny plan wykonawcy u pana Janusza zakładał ułożenie jednej warstwy przypadkowego styropianu <strong>EPS 70 o grubości zaledwie 10 cm</strong>.
        </p>
        <p>
            Skutkowałoby to współczynnikiem przenikania ciepła na poziomie U = 0,32 W/(m²·K) – wartością rażąco naruszającą prawo budowlane i generującą straty ciepła rzędu 24 kWh/(m²·rok) przez samą podłogę na gruncie. Wykonawca planował zamaskować ten błąd doborem większej i droższej pompy ciepła o mocy 8 kW.
        </p>
        <p>
            Po wykonaniu profesjonalnego audytu i szczegółowych <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczeń OZC</a>, skorygowałem projekt. Wprowadziliśmy <strong>układ dwuwarstwowy z przesunięciem spoin o łącznej grubości 14 cm styropianu grafitowego EPS 100</strong> (λ = 0,031 W/(m·K)). W efekcie uzyskaliśmy rewelacyjny współczynnik U = 0,16 W/(m²·K), co obniżyło projektowe obciążenie cieplne całego budynku o równe 1,4 kW. Oszczędność to nie tylko tańsza o 3200 zł mniejsza pompa, ale przede wszystkim spokój i niższe rachunki na dekady.
        </p>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie domeny
    const hostDomain = window.location.hostname;
    const authList = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!authList.includes(hostDomain)) {
        const shield = document.getElementById('rk-cs-app');
        if (shield) {
            shield.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #ef4444; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 38px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Blokada Skryptu ROI</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Interaktywny panel analizy kosztów i oszczędności (Case Study) należy do domeny <strong>Projekt-Ogrzewania.pl</strong>. Uruchomienie zatrzymane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Dashboardu Oszczędności
    const btns = document.querySelectorAll('.rk-cs-toggle-btn');
    const board = document.getElementById('cs-interactive-board');
    
    // Pola Danych
    const valCapex = document.getElementById('val-capex');
    const signCapex = document.getElementById('sign-capex');
    const titleCapex = document.getElementById('title-capex');
    const descCapex = document.getElementById('desc-capex');

    const valOpex = document.getElementById('val-opex');
    const signOpex = document.getElementById('sign-opex');
    const titleOpex = document.getElementById('title-opex');
    const descOpex = document.getElementById('desc-opex');

    const tMat = document.getElementById('tech-mat');
    const tU = document.getElementById('tech-u');
    const tPump = document.getElementById('tech-pump');

    const states = {
        'before': {
            css: 'state-before',
            capexTitle: 'Przepłacasz za Pompę Ciepła',
            capexSign: '-',
            capexVal: '3200',
            capexDesc: 'Wymuszony zakup przewymiarowanej jednostki 8 kW.',
            opexTitle: 'Straty na rachunkach co sezon',
            opexSign: '-',
            opexVal: '480',
            opexDesc: 'Ciepło ucieka w grunt. Wyższe rachunki za prąd.',
            mat: '10 cm EPS 70 (Przypadkowy)',
            uVal: '0,32 W/(m²·K)',
            pump: 'Aż 8 kW (Przewymiarowana)'
        },
        'after': {
            css: 'state-after',
            capexTitle: 'Oszczędność przy zakupie Pompy Ciepła',
            capexSign: '+',
            capexVal: '3200',
            capexDesc: 'Uniknięto zakupu przewymiarowanego urządzenia 8 kW.',
            opexTitle: 'Zysk na rachunkach co sezon grzewczy',
            opexSign: '+',
            opexVal: '480',
            opexDesc: 'Gwarancja niższych kosztów eksploatacyjnych dzięki wyższemu COP.',
            mat: '14 cm EPS 100 Grafit',
            uVal: '0,16 W/(m²·K)',
            pump: 'Tylko 6 kW (Zoptymalizowana)'
        }
    };

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

    function switchState(stateKey) {
        const s = states[stateKey];
        
        // Zmiana klasy głównej (odpala CSS i SVG animacje)
        board.className = `rk-cs-interactive ${s.css}`;

        // Teksty
        titleCapex.textContent = s.capexTitle;
        signCapex.textContent = s.capexSign;
        descCapex.textContent = s.capexDesc;

        titleOpex.textContent = s.opexTitle;
        signOpex.textContent = s.opexSign;
        descOpex.textContent = s.opexDesc;

        tMat.textContent = s.mat;
        tU.textContent = s.uVal;
        tPump.textContent = s.pump;

        // Odświeżenie klas dla kolorów U i Pompy
        if (stateKey === 'before') {
            tU.className = 'rk-tech-val val-bad';
            tPump.className = 'rk-tech-val val-bad';
        } else {
            tU.className = 'rk-tech-val val-good';
            tPump.className = 'rk-tech-val val-good';
        }

        // Animacja samych liczb
        animateValue(valCapex, 0, parseInt(s.capexVal), 600);
        animateValue(valOpex, 0, parseInt(s.opexVal), 600);
    }

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            if(this.classList.contains('active')) return;
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            switchState(this.getAttribute('data-view'));
        });
    });

    // Uruchomienie animacji startowej (Po Audycie) po załadowaniu
    setTimeout(() => {
        animateValue(valCapex, 0, 3200, 800);
        animateValue(valOpex, 0, 480, 800);
    }, 300);
});
</script>



<style>
:root {
    --rk-sum-eps-dark: #020617;
    --rk-sum-eps-panel: #0f172a;
    --rk-sum-eps-primary: #f59e0b; /* Termiczny bursztyn/złoto */
    --rk-sum-eps-primary-light: #fef3c7;
    --rk-sum-eps-accent: #3b82f6; /* Błękit dla kontrastu */
    --rk-sum-eps-bg: #f8fafc;
    --rk-sum-eps-border: #cbd5e1;
    --rk-sum-eps-text: #334155;
    --rk-sum-eps-text-dim: #64748b;
}

.rk-sum-eps-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(245, 158, 11, 0.15);
    border: 1px solid rgba(245, 158, 11, 0.3);
    overflow: hidden;
}

/* Header z ekspertem */
.rk-sum-eps-header {
    background: linear-gradient(135deg, var(--rk-sum-eps-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    display: flex;
    align-items: center;
    gap: 30px;
    border-bottom: 4px solid var(--rk-sum-eps-primary);
    position: relative;
    overflow: hidden;
}

.rk-sum-eps-header::after {
    content: ''; position: absolute; right: 0; top: 0; width: 300px; height: 100%;
    background: radial-gradient(circle at right, rgba(245, 158, 11, 0.15) 0%, transparent 70%);
}

.rk-eps-expert-avatar {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    border: 3px solid var(--rk-sum-eps-primary);
    box-shadow: 0 0 20px rgba(245, 158, 11, 0.4);
    object-fit: cover;
    position: relative;
    z-index: 2;
}

.rk-eps-header-content {
    position: relative;
    z-index: 2;
}

.rk-eps-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(245, 158, 11, 0.2);
    color: #fcd34d;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
    border: 1px solid rgba(252, 211, 77, 0.3);
}

.rk-eps-header-content h2 {
    font-size: 26px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 8px 0;
    line-height: 1.2;
}

.rk-eps-header-content p {
    color: #94a3b8;
    font-size: 14px;
    margin: 0;
    font-weight: 500;
}

/* Sekcja z zakładkami i wiedzą */
.rk-sum-eps-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #ffffff;
}

.rk-eps-rules-list {
    padding: 30px;
    border-right: 1px solid var(--rk-sum-eps-border);
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: #f8fafc;
}

.rk-eps-rule-btn {
    background: #ffffff;
    border: 1px solid var(--rk-sum-eps-border);
    padding: 18px 20px;
    border-radius: 12px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-eps-rule-btn:hover {
    border-color: var(--rk-sum-eps-primary);
    transform: translateX(4px);
}

.rk-eps-rule-btn.active {
    background: var(--rk-sum-eps-primary-light);
    border-color: var(--rk-sum-eps-primary);
    box-shadow: inset 4px 0 0 var(--rk-sum-eps-primary);
}

.rk-eps-rule-icon {
    width: 32px; height: 32px;
    background: #f1f5f9;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    color: var(--rk-sum-eps-text-dim);
    flex-shrink: 0;
    transition: 0.3s;
}

.rk-eps-rule-btn.active .rk-eps-rule-icon {
    background: var(--rk-sum-eps-primary);
    color: #ffffff;
}

.rk-eps-rule-text h3 {
    margin: 0 0 5px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-sum-eps-dark);
}

.rk-eps-rule-text p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-sum-eps-text-dim);
    line-height: 1.5;
}

/* Panel Detali (Prawy) */
.rk-eps-rule-details {
    padding: 40px;
    position: relative;
}

.rk-eps-detail-panel {
    display: none;
    animation: fadeScaleEps 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-eps-detail-panel.active {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

@keyframes fadeScaleEps {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.rk-eps-detail-panel h4 {
    margin: 0;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-sum-eps-dark);
}

.rk-eps-detail-panel p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-sum-eps-text);
}

.rk-eps-link {
    color: var(--rk-sum-eps-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-sum-eps-accent);
    transition: 0.3s;
}
.rk-eps-link:hover { border-bottom-style: solid; color: #1d4ed8; }

.rk-eps-svg-box {
    width: 100%;
    height: 160px;
    background: var(--rk-sum-eps-dark);
    border-radius: 12px;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 4px 20px rgba(0,0,0,0.5);
    overflow: hidden;
}

/* Narzędzie Szybkiego Szacowania (Kalkulator) */
.rk-eps-quick-calc {
    background: var(--rk-sum-eps-panel);
    padding: 35px 50px;
    border-top: 1px solid #1e293b;
    color: #ffffff;
}

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

.rk-eps-calc-header h4 {
    margin: 0; font-size: 18px; font-weight: 900; color: #ffffff;
    display: flex; align-items: center; gap: 10px;
}

.rk-eps-calc-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 40px;
    align-items: center;
}

.rk-eps-inputs {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-eps-input-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-eps-calc-label { font-size: 13px; font-weight: 700; color: #94a3b8; display: flex; justify-content: space-between; }
.rk-eps-calc-label span { color: #ffffff; font-size: 16px; font-weight: 900; }

.rk-eps-range {
    -webkit-appearance: none; width: 100%; height: 6px; border-radius: 3px; background: #334155; outline: none;
}
.rk-eps-range::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none; width: 22px; height: 22px; border-radius: 50%;
    background: var(--rk-sum-eps-primary); cursor: pointer; border: 3px solid #ffffff; transition: 0.1s;
}
.rk-eps-range::-webkit-slider-thumb:active { transform: scale(1.15); }

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

.rk-eps-result-box {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    padding: 15px;
    border-radius: 12px;
    text-align: center;
}

.rk-eps-result-box.highlight { border-color: var(--rk-sum-eps-primary); background: rgba(245, 158, 11, 0.1); }

.rk-eps-res-val { display: block; font-size: 22px; font-weight: 900; color: #ffffff; margin-bottom: 5px; }
.rk-eps-result-box.highlight .rk-eps-res-val { color: var(--rk-sum-eps-primary); }
.rk-eps-res-lab { display: block; font-size: 11px; color: #94a3b8; text-transform: uppercase; font-weight: 700; line-height: 1.4; }

/* SEKACJA AUTORSKA - PODPIS EKSPERTA */
.rk-eps-author {
    background: #f1f5f9;
    padding: 30px 50px;
    display: flex;
    align-items: flex-start;
    gap: 25px;
    border-top: 1px solid var(--rk-sum-eps-border);
}

.rk-eps-author-photo {
    width: 75px;
    height: 75px;
    border-radius: 50%;
    border: 3px solid var(--rk-sum-eps-primary);
    box-shadow: 0 4px 15px rgba(245, 158, 11, 0.2);
    object-fit: cover;
    flex-shrink: 0;
}

.rk-eps-author-info { flex-grow: 1; }
.rk-eps-author-info h4 { margin: 0 0 6px 0; font-size: 18px; font-weight: 900; color: var(--rk-sum-eps-dark); }
.rk-eps-author-info p { margin: 0; font-size: 14px; color: var(--rk-sum-eps-text); line-height: 1.6; }

.rk-eps-social { display: flex; gap: 15px; margin-top: 12px; }
.rk-eps-social a { color: var(--rk-sum-eps-accent); font-size: 13px; font-weight: 800; text-decoration: none; display: inline-flex; align-items: center; gap: 5px; transition: color 0.2s; }
.rk-eps-social a:hover { color: #1d4ed8; text-decoration: underline; }

/* Animacje SVG */
.svg-heat-block { opacity: 0; }
.active .svg-heat-block { opacity: 1; animation: blockHeat 2s infinite alternate; }
@keyframes blockHeat { from { transform: translateY(0); } to { transform: translateY(-10px); } }

.svg-weight-press { transform: translateY(-20px); }
.active .svg-weight-press { animation: weightPress 1.5s forwards; }
@keyframes weightPress { 100% { transform: translateY(0); } }

.svg-overlap-slide { transform: translateX(20px); opacity: 0; }
.active .svg-overlap-slide { animation: overlapSlide 1s forwards; }
@keyframes overlapSlide { 100% { transform: translateX(0); opacity: 1; } }

@media (max-width: 768px) {
    .rk-sum-eps-header { flex-direction: column; text-align: center; padding: 30px 20px; }
    .rk-eps-expert-avatar { width: 70px; height: 70px; }
    .rk-sum-eps-body { grid-template-columns: 1fr; }
    .rk-eps-rules-list { border-right: none; border-bottom: 1px solid var(--rk-sum-eps-border); padding: 20px; }
    .rk-eps-rule-details { padding: 25px 20px; }
    .rk-eps-calc-grid { grid-template-columns: 1fr; gap: 25px; }
    .rk-eps-quick-calc { padding: 30px 20px; }
    .rk-eps-results { grid-template-columns: 1fr; }
    .rk-eps-author { flex-direction: column; text-align: center; padding: 30px 20px; align-items: center; }
    .rk-eps-social { justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#article-summary-final",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/"
    },
    "headline": "Inżynierskie podsumowanie: Ile styropianu pod podłogówkę?",
    "description": "Kompaktowe zestawienie norm WT2021, wymagań twardości EPS 100 oraz interaktywny kalkulator objętości izolacji podłogowej. Twórca: Robert Kucharski.",
    "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.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp"
      }
    },
    "datePublished": "2026-05-25",
    "dateModified": "2026-05-25"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#dataset-summary",
    "name": "Wskaźniki materiałowe dla izolacji EPS podłogówki",
    "description": "Twarde dane przeliczeniowe łączące metraż budynku z objętością, szacunkową ilością paczek styropianu oraz oporem cieplnym przegrody.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile styropianu pod ogrzewanie podłogowe",
      "grubość styropianu eps 100",
      "współczynnik przenikania ciepła podłogi na gruncie",
      "mostki termiczne w podłodze",
      "objętość styropianu kalkulator"
    ],
    "measurementTechnique": "Szacowanie oparte na iloczynie powierzchni i docelowej grubości wyrażonej w metrach. Opór cieplny (R) zoptymalizowany dla białego EPS 100 o parametrze λ=0.036 W/mK.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Minimalna grubość na gruncie: 15 cm Biały lub 12 cm Grafit (WT2021)",
        "Minimalna twardość pod wylewkę: CS(10) ≥ 100 kPa (EPS 100)",
        "Średnia pojemność paczki EPS: ~0.3 m3"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#webapp-summary",
    "name": "Kalkulator Objętości Styropianu",
    "description": "Narzędzie inżynierskie podsumowujące. Przelicza metraż podłogi oraz wybraną grubość styropianu na kubaturę (m3), opór cieplny oraz ilość paczek.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 Forms",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-sum-eps-container" id="rk-sum-eps-app">
    
    <div class="rk-sum-eps-header">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski CEO Projekt ogrzewania" class="rk-eps-expert-avatar" loading="lazy">
        <div class="rk-eps-header-content">
            <div class="rk-eps-badge">
                <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><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>
                Wnioski Eksperta
            </div>
            <h2>Inżynierskie podsumowanie: Ile styropianu pod podłogówkę?</h2>
            <p>Zebrałem dla Ciebie 3 żelazne zasady izolacji podłogowej. Ich zignorowanie przed zalaniem jastrychu będzie Cię kosztować tysiące złotych przez lata.</p>
        </div>
    </div>

    <div class="rk-sum-eps-body">
        
        <div class="rk-eps-rules-list">
            <button class="rk-eps-rule-btn active" data-panel="eps-det-1">
                <div class="rk-eps-rule-icon"><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></div>
                <div class="rk-eps-rule-text">
                    <h3>Norma WT2021 to baza</h3>
                    <p>Minimum 15 cm białego styropianu na gruncie.</p>
                </div>
            </button>

            <button class="rk-eps-rule-btn" data-panel="eps-det-2">
                <div class="rk-eps-rule-icon"><svg width="18" height="18" 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><line x1="12" y1="2" x2="12" y2="22"></line><line x1="2" y1="12" x2="22" y2="12"></line></svg></div>
                <div class="rk-eps-rule-text">
                    <h3>Twardość ma znaczenie</h3>
                    <p>EPS 100 to absolutne minimum pod jastrych.</p>
                </div>
            </button>

            <button class="rk-eps-rule-btn" data-panel="eps-det-3">
                <div class="rk-eps-rule-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="21" y1="10" x2="3" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="21" y1="18" x2="3" y2="18"></line></svg></div>
                <div class="rk-eps-rule-text">
                    <h3>Montaż w mijankę</h3>
                    <p>Wyeliminuj pionowe mostki termiczne spoin.</p>
                </div>
            </button>
        </div>

        <div class="rk-eps-rule-details">
            
            <div class="rk-eps-detail-panel active" id="eps-det-1">
                <h4>Fizyki nie oszukasz</h4>
                <p>Aby spełnić normę WT2021 (<a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/" class="rk-eps-link">współczynnik U ≤ 0,20</a>), potrzebujesz grubej bariery. Chudszy styropian to natychmiastowa ucieczka ciepła w grunt i straty pieniędzy.</p>
                <div class="rk-eps-svg-box">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <rect x="50" y="40" width="100" height="40" fill="#fcd34d" rx="4"></rect>
                        <text x="100" y="65" font-family="sans-serif" font-weight="900" font-size="12" fill="#0f172a" text-anchor="middle">EPS 15 cm</text>
                        <g class="svg-heat-block">
                            <path d="M 80 85 L 85 70 L 90 85 Z" fill="#ef4444"></path>
                            <path d="M 120 85 L 115 70 L 110 85 Z" fill="#ef4444"></path>
                        </g>
                    </svg>
                </div>
            </div>

            <div class="rk-eps-detail-panel" id="eps-det-2">
                <h4>Zagrożenie dla wylewki</h4>
                <p>Zastosowanie taniego styropianu fasadowego (EPS 70) skończy się tragedią. Płyty ugną się pod masą jastrychu (ok. 130 kg/m²), niszcząc <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/" class="rk-eps-link">wylewkę</a> i zrywając instalację.</p>
                <div class="rk-eps-svg-box">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <g class="svg-weight-press">
                            <rect x="80" y="10" width="40" height="30" fill="#94a3b8" rx="2"></rect>
                            <text x="100" y="30" fill="#0f172a" font-weight="bold" font-size="10" text-anchor="middle">130 KG</text>
                            <path d="M 100 45 L 95 35 L 105 35 Z" fill="#ffffff"></path>
                        </g>
                        <rect x="60" y="60" width="80" height="20" fill="#38bdf8" rx="2"></rect>
                        <text x="100" y="74" fill="#0f172a" font-weight="900" font-size="10" text-anchor="middle">EPS 100 (SZTYWNY)</text>
                    </svg>
                </div>
            </div>

            <div class="rk-eps-detail-panel" id="eps-det-3">
                <h4>Eliminacja mostków liniowych</h4>
                <p>Nigdy nie układaj styropianu w jednej, grubej warstwie. Konieczny jest montaż krzyżowy (np. 10 cm + 5 cm) przesunięty o minimum 20 cm, aby <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" class="rk-eps-link">zapobiec ucieczce energii</a> w dół przez spoiny płyt.</p>
                <div class="rk-eps-svg-box">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <rect x="20" y="30" width="100" height="20" fill="#fbbf24" rx="2"></rect>
                        <rect class="svg-overlap-slide" x="60" y="55" width="100" height="20" fill="#f59e0b" rx="2"></rect>
                        <line x1="60" y1="20" x2="60" y2="85" stroke="#ffffff" stroke-width="2" stroke-dasharray="4"></line>
                        <line x1="120" y1="20" x2="120" y2="85" stroke="#ffffff" stroke-width="2" stroke-dasharray="4"></line>
                    </svg>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-eps-quick-calc">
        <div class="rk-eps-calc-header">
            <h4>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--rk-sum-eps-primary)" stroke-width="2.5"><rect x="4" y="2" width="16" height="20" rx="2" ry="2"></rect><line x1="8" y1="6" x2="16" y2="6"></line><line x1="16" y1="14" x2="16.01" y2="14"></line><line x1="12" y1="14" x2="12.01" y2="14"></line><line x1="8" y1="14" x2="8.01" y2="14"></line><line x1="16" y1="18" x2="16.01" y2="18"></line><line x1="12" y1="18" x2="12.01" y2="18"></line><line x1="8" y1="18" x2="8.01" y2="18"></line></svg>
                Szybki estymator materiałowy
            </h4>
            <span style="font-size:12px; color:#94a3b8;">(Szacunki bazowe)</span>
        </div>

        <div class="rk-eps-calc-grid">
            
            <div class="rk-eps-inputs">
                <div class="rk-eps-input-group">
                    <div class="rk-eps-calc-label">
                        Powierzchnia podłóg:
                        <span id="epsAreaOut">120 m²</span>
                    </div>
                    <input type="range" class="rk-eps-range" id="epsAreaSlider" min="50" max="300" step="10" value="120">
                </div>
                
                <div class="rk-eps-input-group">
                    <div class="rk-eps-calc-label">
                        Grubość izolacji EPS:
                        <span id="epsThickOut">15 cm</span>
                    </div>
                    <input type="range" class="rk-eps-range" id="epsThickSlider" min="5" max="25" step="1" value="15">
                </div>
            </div>

            <div class="rk-eps-results">
                <div class="rk-eps-result-box highlight">
                    <span class="rk-eps-res-val" id="resVolume">18.0 <span style="font-size:14px;color:var(--rk-sum-eps-primary);">m³</span></span>
                    <span class="rk-eps-res-lab">Suma objętości EPS</span>
                </div>
                <div class="rk-eps-result-box">
                    <span class="rk-eps-res-val" id="resRValue">4.17 <span style="font-size:14px;color:#94a3b8;">R</span></span>
                    <span class="rk-eps-res-lab">Szacunkowy opór (Biały)</span>
                </div>
                <div class="rk-eps-result-box">
                    <span class="rk-eps-res-val" id="resPacks">60 <span style="font-size:14px;color:#94a3b8;">szt.</span></span>
                    <span class="rk-eps-res-lab">Paczki (~0.3m³ / szt.)</span>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-eps-author">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Projekt Ogrzewania - Ekspert HVAC" class="rk-eps-author-photo" loading="lazy">
        <div class="rk-eps-author-info">
            <h4>Robert Kucharski</h4>
            <p>CEO i twórca portalu Projekt-Ogrzewania.pl. Główny projektant i audytor instalacji HVAC. Wszystkie publikowane tu treści opieram na wieloletnim, praktycznym doświadczeniu zdobytym bezpośrednio na budowach. Moją misją jest dostarczanie twardej, inżynierskiej wiedzy, chroniącej budżety tysięcy inwestorów w całej Polsce.</p>
            <div class="rk-eps-social">
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer">
                    <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg>
                    LinkedIn
                </a>
                <a href="https://www.facebook.com/robert.kucharski.budowa.bez.sciemy" target="_blank" rel="noopener noreferrer">
                    <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.469h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.469h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path></svg>
                    Facebook
                </a>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe
    const currentDomain = window.location.hostname;
    const authDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!authDomains.includes(currentDomain)) {
        document.getElementById('rk-sum-eps-app').innerHTML = `
            <div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border:1px solid #ef4444; border-radius:24px; font-weight:800;">
                BŁĄD LICENCJI: Kod podsumowania jest własnością projekt-ogrzewania.pl
            </div>`;
        return;
    }

    // 2. Logika Zakładek
    const btns = document.querySelectorAll('.rk-eps-rule-btn');
    const panels = document.querySelectorAll('.rk-eps-detail-panel');

    btns.forEach(btn => {
        btn.addEventListener('click', () => {
            btns.forEach(b => b.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            btn.classList.add('active');
            const target = document.getElementById(btn.getAttribute('data-panel'));
            if(target) {
                void target.offsetWidth; // Restart animacji CSS
                target.classList.add('active');
            }
        });
    });

    // 3. Logika Estymatora Objętości Styropianu
    const sliderArea = document.getElementById('epsAreaSlider');
    const outArea = document.getElementById('epsAreaOut');
    
    const sliderThick = document.getElementById('epsThickSlider');
    const outThick = document.getElementById('epsThickOut');

    const resVol = document.getElementById('resVolume');
    const resR = document.getElementById('resRValue');
    const resPacks = document.getElementById('resPacks');

    function calculateEPS() {
        const area = parseInt(sliderArea.value);
        const thickCm = parseInt(sliderThick.value);
        const thickM = thickCm / 100;
        
        outArea.textContent = area + ' m²';
        outThick.textContent = thickCm + ' cm';

        // Objętość = pole * grubość (w metrach)
        const volume = area * thickM;
        // Szacunkowy opór cieplny (dla EPS białego lambda ~0.036)
        const rValue = thickM / 0.036;
        // Szacunkowa ilość paczek (zakładając średnio 0.3 m3 w paczce)
        const packs = Math.ceil(volume / 0.3);

        resVol.innerHTML = volume.toFixed(1) + ' <span style="font-size:14px;color:var(--rk-sum-eps-primary);">m³</span>';
        resR.innerHTML = rValue.toFixed(2) + ' <span style="font-size:14px;color:#94a3b8;">R</span>';
        resPacks.innerHTML = packs + ' <span style="font-size:14px;color:#94a3b8;">szt.</span>';
    }

    if(sliderArea && sliderThick) {
        sliderArea.addEventListener('input', calculateEPS);
        sliderThick.addEventListener('input', calculateEPS);
        calculateEPS(); // Init
    }
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-card: #1e293b;
    --rk-faq-brand: #6366f1; /* Eksperckie Indygo */
    --rk-faq-brand-light: #eef2ff;
    --rk-faq-accent: #f59e0b; /* Bursztyn dla akcentów twardości */
    --rk-faq-blue: #3b82f6;
    --rk-faq-bg: #f8fafc;
    --rk-faq-border: #e2e8f0;
    --rk-faq-text: #475569;
}

.rk-faq-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(99, 102, 241, 0.15);
    border: 1px solid rgba(99, 102, 241, 0.25);
    overflow: hidden;
}

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

.rk-faq-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(99, 102, 241, 0.35);
    color: #c7d2fe;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(199, 210, 254, 0.2);
}

.rk-faq-header h2 {
    font-size: 32px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0;
    color: #ffffff;
}

.rk-faq-header h2 span { 
    color: #818cf8; 
}

/* Lista Akordeonowa */
.rk-faq-interactive {
    padding: 40px 50px;
    background: var(--rk-faq-bg);
}

.rk-faq-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rk-faq-item {
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-faq-item.active {
    border-color: var(--rk-faq-brand);
    box-shadow: 0 12px 20px -8px rgba(99, 102, 241, 0.15);
}

/* Przycisk Pytania */
.rk-faq-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: 17px;
    font-weight: 800;
    color: var(--rk-faq-dark);
    gap: 20px;
    transition: background 0.3s, color 0.3s;
}

.rk-faq-question:hover {
    background: var(--rk-faq-brand-light);
}

.rk-faq-item.active .rk-faq-question {
    background: var(--rk-faq-brand);
    color: #ffffff;
}

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

.rk-faq-item.active .rk-faq-icon {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
    transform: rotate(180deg);
}

/* Wrappery Animacji Rozwijania Grid */
.rk-faq-answer-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

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

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

/* Zawartość Odpowiedzi */
.rk-faq-content {
    padding: 25px;
    border-top: 1px solid var(--rk-faq-border);
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 30px;
    align-items: center;
}

.rk-faq-text {
    font-size: 15px;
    line-height: 1.8;
    color: var(--rk-faq-text);
}

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

.rk-link {
    color: var(--rk-faq-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px dashed rgba(99, 102, 241, 0.4);
    transition: all 0.3s;
}

.rk-link:hover {
    color: #4338ca;
    border-bottom-style: solid;
}

/* Kontenery Wizualizacji SVG */
.rk-faq-visual {
    background: var(--rk-faq-dark);
    border-radius: 14px;
    padding: 15px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.4);
    border: 2px solid #334155;
    position: relative;
    overflow: hidden;
}

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

/* --- Dedykowane Animacje SVG dla Akapitów FAQ --- */

/* 1. Strop międzykondygnacyjny */
.anim-acoustic-wave { stroke: #3b82f6; stroke-width: 2; fill: none; opacity: 0; transition: all 0.4s; }
.rk-faq-item.active .anim-acoustic-wave { opacity: 1; animation: soundDiminish 1.5s infinite linear; }
@keyframes soundDiminish {
    0% { transform: scale(0.8); opacity: 1; }
    100% { transform: scale(1.3); opacity: 0; transform-origin: center; }
}

/* 2. Raster i ucieczka ciepła */
.anim-heat-drop { stroke: #ef4444; stroke-width: 3; stroke-linecap: round; opacity: 0; }
.rk-faq-item.active .anim-heat-drop { opacity: 1; animation: heatPassesThrough 2s infinite linear; }
@keyframes heatPassesThrough {
    0% { transform: translateY(-20px); opacity: 1; }
    100% { transform: translateY(40px); opacity: 0.2; }
}

/* 3. Wytrzymałość EPS vs XPS */
.anim-press-plate { fill: #64748b; transition: transform 0.6s 0.2s cubic-bezier(0.25, 1, 0.5, 1); }
.rk-faq-item.active .anim-press-plate { transform: translateY(8px); }

/* 4. Płynny jastrych anhydrytowy */
.anim-fluid-pour { fill: #f59e0b; transform: scaleX(0); transform-origin: left; transition: transform 0.8s 0.2s ease-out; }
.rk-faq-item.active .anim-fluid-pour { transform: scaleX(1); }

/* 5. Gęstość i twardość kciuka */
.anim-stamp { fill: #10b981; opacity: 0; transform: scale(0.5); transition: all 0.5s 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
.rk-faq-item.active .anim-stamp { opacity: 1; transform: scale(1); transform-origin: center; }


/* Responsywność mobilna */
@media (max-width: 768px) {
    .rk-faq-header, .rk-faq-interactive { padding: 30px 20px; }
    .rk-faq-header h2 { font-size: 24px; }
    .rk-faq-content { grid-template-columns: 1fr; gap: 20px; padding: 15px 10px; }
    .rk-faq-visual { height: 120px; max-width: 240px; margin: 0 auto; width: 100%; }
    .rk-faq-question { font-size: 15px; padding: 18px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/"
    },
    "headline": "FAQ – Najczęściej zadawane pytania o styropian pod ogrzewanie podłogowe",
    "description": "Eksperckie odpowiedzi na pytania inwestorów o grubość izolacji na stropie, rolę folii z rastrem oraz parametry twardości EPS i XPS pod 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-25",
    "dateModified": "2026-05-25"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Jaka jest absolutnie minimalna grubość styropianu pod ogrzewanie podłogowe na stropie międzykondygnacyjnym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Na stropie pomiędzy dwoma ogrzewanymi pomieszczeniami minimalna grubość styropianu wynosi 30-50 mm (3-5 cm). Warstwa ta nie pełni roli bariery przed stratami ciepła do otoczenia, lecz stanowi izolację akustyczną oraz techniczną bazę do mocowania spinek montażowych rur grzewczych."
        }
      },
      {
        "@type": "Question",
        "name": "Czy folia z nadrukiem rastra zastępuje styropian lub pozwala zmniejszyć jego grubość?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, folia aluminiowa bądź metalizowana z rastrem pełni wyłącznie funkcję ekranu odbijającego część promieniowania podczerwonego oraz ułatwia prawidłowy rozstaw rur co 10 lub 15 cm. Posiada ona zerowy opór cieplny, dlatego nie pozwala na redukcję choćby jednego milimetra z grubości płyt styropianowych."
        }
      },
      {
        "@type": "Question",
        "name": "Co jest lepsze pod ogrzewanie podłogowe: styropian EPS czy polistyren ekstrudowany XPS?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Polistyren ekstrudowany XPS jest obiektywnie lepszym materiałem ze względu na wyższą wytrzymałość na ściskanie (od 300 kPa) oraz niższą nasiąkliwość wodą, jednak ze względu na wysoki koszt stosuje się go głównie w miejscach narażonych na ekstremalne obciążenia (np. garaże) lub wilgoć. W pomieszczeniach mieszkalnych w zupełności wystarczający jest styropian EPS 100."
        }
      },
      {
        "@type": "Question",
        "name": "Czy pod wylewkę anhydrytową trzeba stosować inny styropian niż pod klasyczny jastrych cementowy?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Pod względem mechanicznym wymagania są identyczne – minimalna twardość to EPS 100. Kluczowa różnica tkwi w hydroizolacji: wylewka anhydrytowa ma płynną konsystencję, co bezwzględnie wymaga szczelnego wyklejenia styków folii taśmami, aby płynny jastrych nie wpłynął pomiędzy płyty styropianowe."
        }
      },
      {
        "@type": "Question",
        "name": "Jak sprawdzić, czy wykonawca ułożył styropian o właściwych parametrach twardości?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Każda paczka styropianu posiada etykietę z kodem specyfikacji technicznej, na której należy szukać oznaczenia CS(10)100 lub wyższego. Dodatkowo, styropian EPS 100 charakteryzuje się minimalną gęstością własną na poziomie ok. 18 kg/m3 – płyty w dłoniach muszą być sztywne i nie mogą się łatwo kruszyć pod naciskiem kciuka."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#dataset-faq",
    "name": "Zbiorcza Tabela Wytycznych Normatywnych dla Izolacji Podłogowej",
    "description": "Zestawienie fizycznych i mechanicznych parametrów materiałów izolacyjnych wymaganych przez normę PN-EN 1264 w strukturze akapitów FAQ.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": { "@type": "Person", "name": "Robert Kucharski" },
    "keywords": [
      "styropian na stropie",
      "folia z rastrem podłogówka",
      "twardość styropianu EPS 100",
      "izolacja pod wylewkę anhydrytową",
      "wytrzymałość xps na ściskanie"
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#webapp-faq",
    "name": "Interaktywny Panel Wyjaśnień Technicznych",
    "description": "System dynamicznej wizualizacji wektorowej procesów zachodzących w warstwach izolacji termicznej podłogówki.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": { "@type": "Person", "name": "Robert Kucharski" }
  }
]
</script>

<div class="rk-faq-container" id="rk-faq-app">
    <div class="rk-faq-header">
        <div class="rk-faq-badge">
            <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Inżynierska Baza Odpowiedzi
        </div>
        <h2>FAQ – <span>Najczęściej zadawane pytania</span></h2>
    </div>

    <div class="rk-faq-interactive">
        <div class="rk-faq-list">
            
            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>1. Jaka jest absolutnie minimalna grubość styropianu pod ogrzewanie podłogowe na stropie międzykondygnacyjnym?</span>
                    <div class="rk-faq-icon"><svg width="20" height="20" 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-faq-answer-wrapper">
                    <div class="rk-faq-answer-inner">
                        <div class="rk-faq-content">
                            <div class="rk-faq-text">
                                Na stropie pomiędzy dwoma ogrzewanymi pomieszczeniami minimalna grubość styropianu wynosi <strong>30-50 mm (3-5 cm)</strong>. Warstwa ta nie pełni roli bariery przed stratami ciepła do otoczenia, lecz stanowi kluczową izolację akustyczną wyguszającą dźwięki uderzeniowe. Stanowi również techniczną bazę stabilizującą spinki montażowe dla <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/" class="rk-link">rur do ogrzewania podłogowego</a>, co zabezpiecza je przed wypłynięciem podczas zalewania <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/" class="rk-link">grubości wylewki</a>.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="10" y="45" width="80" height="15" fill="#475569" />
                                    <rect x="10" y="30" width="80" height="12" fill="#94a3b8" />
                                    <circle class="anim-acoustic-wave" cx="50" cy="36" r="10" />
                                    <circle cx="50" cy="36" r="4" fill="#ef4444" />
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>2. Czy folia z nadrukiem rastra zastępuje styropian lub pozwala zmniejszyć jego grubość?</span>
                    <div class="rk-faq-icon"><svg width="20" height="20" 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-faq-answer-wrapper">
                    <div class="rk-faq-answer-inner">
                        <div class="rk-faq-content">
                            <div class="rk-faq-text">
                                Nie, folia aluminiowa bądź metalizowana z rastrem pełni wyłącznie funkcję ekranu refleksyjnego odbijającego część promieniowania podczerwonego oraz ułatwia instalatorowi zachowanie równego <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewanym-podlogowym/" class="rk-link">rozstawu rur podłogówki</a>. Posiada ona <strong>zerowy opór cieplny (R)</strong>, dlatego nie pozwala na redukcję choćby jednego milimetra z grubości płyt styropianowych. Prawdziwą barierą blokującą ucieczkę energii jest wyłącznie zwarta struktura powietrza zamknięta w spienionym polistyrenie.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <line x1="10" y1="35" x2="90" y2="35" stroke="#cbd5e1" stroke-width="2" stroke-dasharray="2 2" />
                                    <path class="anim-heat-drop" d="M 50 15 L 50 55" />
                                    <circle cx="50" cy="15" r="5" fill="#ef4444" />
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>3. Co jest lepsze pod ogrzewanie podłogowe: styropian EPS czy polistyren ekstrudowany XPS?</span>
                    <div class="rk-faq-icon"><svg width="20" height="20" 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-faq-answer-wrapper">
                    <div class="rk-faq-answer-inner">
                        <div class="rk-faq-content">
                            <div class="rk-faq-text">
                                Polistyren ekstrudowany XPS jest obiektywnie trwalszym materiałem ze względu na wyższą wytrzymałość na ściskanie wynoszącą <strong>minimum 300 kPa</strong> oraz zerową nasiąkliwość wodą. Ze względu na wysoki koszt zakupu stosuje się go głównie w strefach narażonych na wilgoć lub potężne obciążenia skupione, takich jak przydomowe garaże czy kotłownie z ciężkimi zasobnikami. W pomieszczeniach mieszkalnych w zupełności wystarczający i ekonomicznie zoptymalizowany jest twardy styropian <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/" class="rk-link">EPS 100 o wysokim oporze cieplnym</a>.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="25" y="40" width="50" height="20" fill="#3b82f6" rx="2" />
                                    <rect class="anim-press-plate" x="20" y="15" width="60" height="6" />
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>4. Czy pod wylewkę anhydrytową trzeba stosować inny styropian niż pod klasyczny jastrych cementowy?</span>
                    <div class="rk-faq-icon"><svg width="20" height="20" 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-faq-answer-wrapper">
                    <div class="rk-faq-answer-inner">
                        <div class="rk-faq-content">
                            <div class="rk-faq-text">
                                Pod względem odporności mechanicznej wymagania są tożsame – minimalny próg twardości to EPS 100. Kluczowa różnica tkwi jednak w sposobie przygotowania izolacji przeciwwilgociowej. Płynny jastrych anhydrytowy ze względu na swoją samopoziomującą konsystencję wymaga **bezwzględnego wyklejenia i uszczelnienia styków folii** taśmami wodoodpornymi. Brak szczelności spowoduje, że płynna masa wpłynie w szczeliny styropianu, unosząc płyty do góry i tworząc potężne mostki termiczne niszczące efektywność całego systemu grzewczego.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="15" y="45" width="70" height="15" fill="#64748b" />
                                    <circle cx="30" cy="45" r="5" fill="#ef4444" />
                                    <circle cx="50" cy="45" r="5" fill="#ef4444" />
                                    <circle cx="70" cy="45" r="5" fill="#ef4444" />
                                    <rect class="anim-fluid-pour" x="15" y="25" width="70" height="15" opacity="0.6"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>5. Jak sprawdzić, czy wykonawca ułożył styropian o właściwych parametrach twardości?</span>
                    <div class="rk-faq-icon"><svg width="20" height="20" 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-faq-answer-wrapper">
                    <div class="rk-faq-answer-inner">
                        <div class="rk-faq-content">
                            <div class="rk-faq-text">
                                Weryfikację należy zacząć od analizy etykiety technicznej na paczkach – szukaj kodu zwierającego oznaczenie <strong>CS(10)100</strong> lub wyższego (np. CS(10)150). Drugim parametrem weryfikacyjnym jest gęstość własna materiału, która dla oryginalnego EPS 100 powinna wynosić <strong>około 18 kg/m3</strong>. Możesz wykonać prosty test budowlany: markowy styropian podłogowy naciskany mocno kciukiem nie powinien trwale odkształcać się ani kruszyć w strukturze. Jeśli płyta jest miękka i przypomina styropian fasadowy, natychmiast zatrzymaj montaż rur.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="20" y="35" width="60" height="25" fill="#cbd5e1" rx="2" />
                                    <text x="32" y="52" font-family="sans-serif" font-size="8" font-weight="900" fill="#475569">EPS 100</text>
                                    <circle class="anim-stamp" cx="50" cy="22" r="6" />
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie domenowe (Bez tagów H2/H3 w stringu błędu)
    const currentHost = window.location.hostname;
    const authorizedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!authorizedDomains.includes(currentHost)) {
        const appContainer = document.getElementById('rk-faq-app');
        if (appContainer) {
            appContainer.innerHTML = `
                <div style="padding: 50px 30px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 24px; font-family: sans-serif;">
                    <div style="font-size: 44px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase; letter-spacing: 0.5px;">Błąd Licencji i Autoryzacji</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Ten interaktywny kontener FAQ oraz powiązane z nim mikrodane JSON-LD są chronione prawem autorskim i stanowią własność serwisu <strong>Projekt-Ogrzewania.pl</strong>. Wykryto nieautoryzowane użycie kodu.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika interaktywnego akordeonu FAQ
    const items = document.querySelectorAll('.rk-faq-item');

    items.forEach(item => {
        const questionBtn = item.querySelector('.rk-faq-question');
        questionBtn.addEventListener('click', () => {
            const isCurrentlyActive = item.classList.contains('active');
            
            // Zamknij wszystkie pozostałe elementy
            items.forEach(i => i.classList.remove('active'));
            
            // Jeśli kliknięty nie był aktywny, otwórz go
            if (!isCurrentlyActive) {
                item.classList.add('active');
            }
        });
    });
    
    // Domyślne otwarcie pierwszego elementu FAQ po załadowaniu
    if(items.length > 0) {
        items[0].classList.add('active');
    }
});
</script>



<style>
:root {
    --rk-iso-dark: #1e293b;
    --rk-iso-blue: #0ea5e9;
    --rk-iso-light: #f8fafc;
    --rk-iso-warm: #f97316;
    --rk-iso-warm-light: #ffedd5;
    --rk-iso-cold: #3b82f6;
    --rk-iso-cold-light: #dbeafe;
    --rk-iso-border: #e2e8f0;
    --rk-iso-bg: #ffffff;
    --rk-iso-text: #334155;
}

.rk-iso-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-iso-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(14, 165, 233, 0.15);
    border: 1px solid var(--rk-iso-border);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-iso-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, #0f172a 0%, var(--rk-iso-dark) 100%);
    color: #ffffff;
    text-align: left;
    position: relative;
    border-bottom: 4px solid var(--rk-iso-warm);
}

.rk-iso-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
}

.rk-iso-header p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.6;
    max-width: 700px;
}

/* Interaktywny Panel */
.rk-iso-interactive {
    padding: 40px 50px;
    background: var(--rk-iso-light);
}

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

/* Toggle Switcher */
.rk-toggle-wrapper {
    display: flex;
    background: #e2e8f0;
    border-radius: 100px;
    padding: 6px;
    max-width: 600px;
    margin: 0 auto 40px auto;
    position: relative;
}

.rk-toggle-btn {
    flex: 1;
    padding: 16px 20px;
    border: none;
    background: transparent;
    font-size: 15px;
    font-weight: 700;
    color: #64748b;
    border-radius: 100px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.rk-toggle-btn.active[data-mode="thick"] {
    background: var(--rk-iso-warm);
    color: #ffffff;
    box-shadow: 0 8px 20px -6px rgba(249, 115, 22, 0.5);
}

.rk-toggle-btn.active[data-mode="thin"] {
    background: var(--rk-iso-cold);
    color: #ffffff;
    box-shadow: 0 8px 20px -6px rgba(59, 130, 246, 0.5);
}

/* Wizualizacja SVG i Wynik */
.rk-sim-display {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 40px;
    background: #ffffff;
    padding: 35px;
    border-radius: 20px;
    border: 1px solid var(--rk-iso-border);
    align-items: center;
}

.rk-svg-box {
    position: relative;
    width: 100%;
    height: 220px;
    background: #f1f5f9;
    border-radius: 16px;
    overflow: hidden;
}

.rk-svg-layer-concrete { fill: #cbd5e1; }
.rk-svg-layer-pipe { fill: #ef4444; }
.rk-svg-layer-ground { fill: #8b5cf6; opacity: 0.2; }

/* Dynamiczna Izolacja */
.rk-svg-layer-eps {
    fill: #fcd34d;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Animacje strzałek ciepła */
.heat-arrow {
    stroke: #ef4444;
    stroke-width: 3;
    stroke-linecap: round;
    fill: none;
    transition: all 0.5s;
}

/* Stan: Gruby styropian (Odbijanie ciepła) */
.state-thick .rk-svg-layer-eps { transform: scaleY(1); transform-origin: bottom; }
.state-thick .heat-arrow {
    animation: bounceHeat 2s infinite ease-in-out;
}

/* Stan: Cienki styropian (Ucieczka ciepła) */
.state-thin .rk-svg-layer-eps { transform: scaleY(0.3); transform-origin: bottom; fill: #fbbf24; }
.state-thin .heat-arrow {
    stroke: #3b82f6;
    animation: escapeHeat 2s infinite linear;
}

@keyframes bounceHeat {
    0% { transform: translateY(0); opacity: 1; }
    50% { transform: translateY(30px); opacity: 0.5; }
    100% { transform: translateY(0); opacity: 1; }
}

@keyframes escapeHeat {
    0% { transform: translateY(0); opacity: 1; stroke: #ef4444; }
    50% { transform: translateY(60px); opacity: 0.8; stroke: #3b82f6; }
    100% { transform: translateY(120px); opacity: 0; stroke: #3b82f6; }
}

/* Panel Danych */
.rk-data-panel h4 {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 10px 0;
    color: var(--rk-iso-dark);
}

.rk-data-panel p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-iso-text);
    margin: 0 0 15px 0;
}

.rk-data-stat {
    display: flex;
    justify-content: space-between;
    padding: 12px 15px;
    background: var(--rk-iso-light);
    border-radius: 10px;
    margin-bottom: 8px;
    font-weight: 700;
    font-size: 14px;
}

.rk-stat-value {
    color: var(--rk-iso-warm);
    font-size: 16px;
}
.state-thin .rk-stat-value { color: var(--rk-iso-cold); }

/* Podsumowanie Textowe */
.rk-iso-summary-text {
    padding: 40px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-iso-border);
}

.rk-iso-summary-text p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--rk-iso-text);
    margin-bottom: 20px;
}

.rk-iso-summary-text a {
    color: var(--rk-iso-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-iso-header, .rk-iso-interactive, .rk-iso-summary-text { padding: 30px 20px; }
    .rk-toggle-wrapper { flex-direction: column; border-radius: 16px; gap: 5px; }
    .rk-toggle-btn { border-radius: 12px; }
    .rk-sim-display { grid-template-columns: 1fr; gap: 25px; }
    .rk-svg-box { height: 180px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/"
    },
    "headline": "Podsumowanie – Ile styropianu pod ogrzewanie podłogowe ostatecznie wybrać?",
    "description": "Zastosowanie 15 cm styropianu EPS 100 lub 12 cm grafitowego to optymalny standard izolacji LCC minimalizujący straty ciepła i koszty ogrzewania.",
    "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-25",
    "dateModified": "2026-05-25"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#dataset",
    "name": "Wskaźniki LCC i Opór Cieplny dla EPS 100",
    "description": "Dane dotyczące strat ciepła w ujęciu rocznym w zależności od zastosowanej grubości styropianu podłogowego zgodnie z WT2021.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile styropianu pod ogrzewanie podłogowe",
      "styropian podłogowy grubość",
      "współczynnik przenikania ciepła podłogi",
      "projektowe obciążenie cieplne OZC",
      "straty ciepła przez grunt"
    ],
    "measurementTechnique": "Kalkulacja oporu cieplnego R oraz symulacja strat kosztowych w perspektywie rocznej w stosunku do normy WT2021.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Norma optymalna: 15 cm EPS 100 lub 12 cm Grafit. Zgodność z WT2021. U = 0,20 W/(m2K).",
        "Izolacja odchudzona: 5-8 cm. Wzrost strat ciepła o 35%, wyższe koszty eksploatacji urządzenia."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#webapp",
    "name": "Symulator Strat Ciepła przez Podłogę LCC",
    "description": "Interaktywna symulacja wizualizująca straty ciepła przenikającego do gruntu przy zastosowaniu normatywnej oraz odchudzonej grubości styropianu.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and CSS3 Animations",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-iso-container" id="rk-iso-app">
    <div class="rk-iso-header">
        <h2>Podsumowanie – Ile styropianu pod ogrzewanie podłogowe ostatecznie wybrać?</h2>
        <p>Decyzja o grubości izolacji podłogowej determinuje koszty eksploatacji pompy ciepła na dekady. Zobacz, jak fizyka weryfikuje próby oszczędzania na materiale.</p>
    </div>

    <div class="rk-iso-interactive">
        <h3>Symulator Oporu Cieplnego i Analiza LCC</h3>
        
        <div class="rk-toggle-wrapper" id="iso-toggle">
            <button class="rk-toggle-btn active" data-mode="thick">
                <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"/></svg>
                Normatywne 15 cm (EPS 100)
            </button>
            <button class="rk-toggle-btn" data-mode="thin">
                <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"/><line x1="3" y1="3" x2="21" y2="21"/></svg>
                Odchudzone 5 cm (Błąd!)
            </button>
        </div>

        <div class="rk-sim-display state-thick" id="iso-display">
            <div class="rk-svg-box">
                <svg viewBox="0 0 300 220" width="100%" height="100%">
                    <rect class="rk-svg-layer-ground" x="0" y="160" width="300" height="60" />
                    <rect class="rk-svg-layer-eps" x="0" y="70" width="300" height="90" />
                    <rect class="rk-svg-layer-concrete" x="0" y="20" width="300" height="50" />
                    <circle class="rk-svg-layer-pipe" cx="50" cy="45" r="8" />
                    <circle class="rk-svg-layer-pipe" cx="150" cy="45" r="8" />
                    <circle class="rk-svg-layer-pipe" cx="250" cy="45" r="8" />
                    
                    <path class="heat-arrow" d="M50 55 L50 85 M45 80 L50 85 L55 80" />
                    <path class="heat-arrow" d="M150 55 L150 85 M145 80 L150 85 L155 80" />
                    <path class="heat-arrow" d="M250 55 L250 85 M245 80 L250 85 L255 80" />
                </svg>
            </div>

            <div class="rk-data-panel" id="iso-results">
                <h4 style="color: var(--rk-iso-warm);">Standard Inwestycyjny LCC</h4>
                <p>15 cm to złoty standard dla białego EPS lub 12 cm dla styropianu grafitowego. Zapewnia odbicie strumienia ciepła w górę.</p>
                <div class="rk-data-stat">
                    <span>Współczynnik U:</span>
                    <span class="rk-stat-value">≤ 0,20 W/(m2K)</span>
                </div>
                <div class="rk-data-stat">
                    <span>Zgodność z WT2021:</span>
                    <span class="rk-stat-value">TAK</span>
                </div>
                <div class="rk-data-stat">
                    <span>Straty energii do gruntu:</span>
                    <span class="rk-stat-value" style="color: #10b981;">Minimalne</span>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-iso-summary-text">
        <h3>Rachunek ekonomiczny a fizyka budynku</h3>
        <p>
            Optymalny dobór podłogowej izolacji termicznej to wypadkowa kalkulacji fizycznych, wymogów prawnych zawartych w WT2021 oraz rachunku ekonomicznego LCC (Life Cycle Cost). Zastosowanie <strong>15 cm styropianu białego EPS 100 lub 12 cm styropianu grafitowego na gruncie</strong> gwarantuje święty spokój inwestora, bezawaryjną pracę posadzki i minimalne <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">straty ciepła</a>.
        </p>
        <p>
            Każda próba bezrefleksyjnego odchudzania tej warstwy zemści się w postaci drastycznie wyższych rachunków za prąd lub gaz. System zacznie ogrzewać fundamenty i masę ziemi zamiast Twojego salonu, co obniży odczuwalny komfort cieplny.
        </p>
        <p>
            Pamiętaj, że ostateczne wytyczne i grubości zawsze powinien definiować indywidualny, poparty rzetelnymi <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczeniami OZC</a> projekt instalacji, dopasowany precyzyjnie do geometrii Twojego budynku, rodzaju gruntu oraz specyfiki i niskiej temperatury zasilania wybranego źródła ciepła.
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez użycia tagów H2/H3 zgodnie z wytycznymi)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-iso-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 30px; text-align: center; background: #0f172a; color: #f87171; border: 3px solid #ef4444; border-radius: 24px; font-family: sans-serif;">
                    <div style="font-size: 48px; margin-bottom: 20px;">🔒</div>
                    <div style="font-size: 22px; font-weight: 900; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 1px;">Blokada Praw Autorskich</div>
                    <div style="font-size: 16px; color: #e2e8f0; max-width: 550px; margin: 0 auto; line-height: 1.7;">
                        Skrypt interaktywnego podsumowania LCC oraz zintegrowane dane strukturalne JSON-LD są wyłączną własnością serwisu <strong>Projekt-Ogrzewania.pl</strong>. Uruchomienie modułu na tej domenie zostało zablokowane.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora Izolacji LCC
    const btns = document.querySelectorAll('.rk-toggle-btn');
    const display = document.getElementById('iso-display');
    const resultsPanel = document.getElementById('iso-results');

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Zmiana aktywnego przycisku
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

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

            // Aktualizacja klas interfejsu i SVG
            if (mode === 'thick') {
                display.className = 'rk-sim-display state-thick';
                resultsPanel.innerHTML = `
                    <h4 style="color: var(--rk-iso-warm);">Standard Inwestycyjny LCC</h4>
                    <p>15 cm to złoty standard dla białego EPS lub 12 cm dla styropianu grafitowego. Zapewnia odbicie strumienia ciepła w górę.</p>
                    <div class="rk-data-stat">
                        <span>Współczynnik U:</span>
                        <span class="rk-stat-value">≤ 0,20 W/(m2K)</span>
                    </div>
                    <div class="rk-data-stat">
                        <span>Zgodność z WT2021:</span>
                        <span class="rk-stat-value">TAK</span>
                    </div>
                    <div class="rk-data-stat">
                        <span>Straty energii do gruntu:</span>
                        <span class="rk-stat-value" style="color: #10b981;">Minimalne</span>
                    </div>
                `;
            } else {
                display.className = 'rk-sim-display state-thin';
                resultsPanel.innerHTML = `
                    <h4 style="color: var(--rk-iso-cold);">Mostek Termiczny w Grunt</h4>
                    <p>Zbyt cienka izolacja sprawia, że ciepło pokonuje barierę, uciekając w chłodny grunt. Pompa ciepła pracuje w trybie ciągłym.</p>
                    <div class="rk-data-stat">
                        <span>Współczynnik U:</span>
                        <span class="rk-stat-value" style="color: #ef4444;">~ 0,35 W/(m2K)</span>
                    </div>
                    <div class="rk-data-stat">
                        <span>Zgodność z WT2021:</span>
                        <span class="rk-stat-value" style="color: #ef4444;">NIE (Naruszenie)</span>
                    </div>
                    <div class="rk-data-stat">
                        <span>Straty energii do gruntu:</span>
                        <span class="rk-stat-value" style="color: #ef4444;">+ 35% rachunków</span>
                    </div>
                `;
            }
        });
    });
});
</script>



<style>
:root {
    --dl-eps-primary: #0f172a;
    --dl-eps-accent: #f59e0b; /* Termiczny pomarańcz EPS */
    --dl-eps-accent-dark: #d97706;
    --dl-eps-bg: #f8fafc;
    --dl-eps-border: #e2e8f0;
    --dl-eps-text: #334155;
    --dl-eps-white: #ffffff;
    --dl-eps-muted: #94a3b8;
}

.rk-dl-eps-container {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: var(--dl-eps-white);
    border-radius: 24px;
    border: 1px solid var(--dl-eps-border);
    box-shadow: 0 20px 40px -10px rgba(245, 158, 11, 0.1);
    overflow: hidden;
}

/* NAGŁÓWEK SEKCJI */
.rk-dl-header {
    background: linear-gradient(135deg, var(--dl-eps-primary) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: var(--dl-eps-white);
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    border-bottom: 4px solid var(--dl-eps-accent);
}

.rk-dl-header-content { 
    position: relative; 
    z-index: 2; 
    max-width: 65%; 
}

.rk-dl-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(245, 158, 11, 0.2);
    border: 1px solid rgba(245, 158, 11, 0.3);
    color: #fcd34d;
    padding: 8px 14px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

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

.rk-dl-header p {
    font-size: 15px;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.6;
}

/* WIZUALIZACJA PDF / IKONA */
.rk-dl-visual {
    position: relative;
    z-index: 2;
}

.rk-dl-pdf-svg {
    width: 90px;
    height: auto;
    filter: drop-shadow(0 15px 20px rgba(0,0,0,0.4));
    animation: floatPdfIcon 3s infinite ease-in-out alternate;
}

@keyframes floatPdfIcon {
    from { transform: translateY(0); }
    to { transform: translateY(-12px); }
}

/* GŁÓWNY WORKSPACE */
.rk-dl-workspace {
    display: flex;
    padding: 45px 50px;
    gap: 50px;
    background: var(--dl-eps-white);
}

.rk-dl-preview-box {
    flex: 1;
    background: var(--dl-eps-bg);
    border: 1px solid var(--dl-eps-border);
    border-radius: 16px;
    padding: 15px;
    position: relative;
    cursor: zoom-in;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s;
    box-shadow: 0 10px 20px rgba(0,0,0,0.03);
}

.rk-dl-preview-box:hover {
    transform: scale(1.03) translateY(-5px);
    box-shadow: 0 20px 30px rgba(245, 158, 11, 0.15);
    border-color: var(--dl-eps-accent);
}

.rk-dl-preview-img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    display: block;
    border: 1px solid #e2e8f0;
}

.rk-dl-zoom-hint {
    position: absolute;
    bottom: 25px;
    right: 25px;
    background: rgba(15, 23, 42, 0.85);
    color: white;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    gap: 6px;
}

.rk-dl-info-side {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-dl-features {
    list-style: none;
    padding: 0;
    margin: 0 0 35px 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rk-dl-feature-item {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 15px;
    font-weight: 700;
    color: var(--dl-eps-text);
}

.rk-dl-check-icon {
    width: 24px;
    height: 24px;
    color: var(--dl-eps-accent);
    flex-shrink: 0;
    background: var(--dl-eps-bg);
    border-radius: 50%;
    padding: 3px;
}

/* PRZYCISK POBIERANIA */
.rk-dl-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--dl-eps-accent);
    color: var(--dl-eps-white);
    text-decoration: none !important;
    padding: 20px 30px;
    border-radius: 14px;
    font-weight: 900;
    font-size: 16px;
    transition: all 0.3s;
    box-shadow: 0 10px 25px -5px rgba(245, 158, 11, 0.4);
    border: 2px solid transparent;
}

.rk-dl-btn:hover {
    background: var(--dl-eps-accent-dark);
    transform: translateY(-3px);
    box-shadow: 0 15px 35px -5px rgba(245, 158, 11, 0.5);
    border-color: #fde68a;
}

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

.rk-dl-btn:hover svg {
    transform: translateY(3px);
}

/* STOPKA MODUŁU */
.rk-dl-footer {
    padding: 25px 50px;
    background: var(--dl-eps-bg);
    border-top: 1px solid var(--dl-eps-border);
    font-size: 13px;
    color: var(--dl-eps-muted);
    text-align: center;
    line-height: 1.6;
}

.rk-dl-footer a {
    color: var(--dl-eps-accent-dark);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 800px) {
    .rk-dl-header { flex-direction: column; text-align: center; padding: 35px 25px; }
    .rk-dl-header-content { max-width: 100%; margin-bottom: 30px; }
    .rk-dl-workspace { flex-direction: column; padding: 35px 25px; gap: 35px; }
    .rk-dl-preview-box { margin-bottom: 10px; }
    .rk-dl-footer { padding: 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/"
    },
    "headline": "Infografika PDF – Ile styropianu pod ogrzewanie podłogowe?",
    "description": "Pobierz inżynierskie podsumowanie wymogów izolacyjnych (WT2021, opory cieplne R, układy warstwowe EPS 100) w wygodnym formacie PDF.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Ile-styropianu-pod-ogrzewanie-podlogowe-1.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-25",
    "dateModified": "2026-05-25"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#dataset-infografika",
    "name": "Kompendium: Parametry Izolacji EPS pod Podłogówkę",
    "description": "Skondensowany zbiór wytycznych wykonawczych, norm WT2021 oraz porównania styropianu białego i grafitowego dla instalatorów i inwestorów.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika styropian podłogówka pdf",
      "grubość izolacji pod ogrzewanie podłogowe schemat",
      "zestawienie twardości eps 100",
      "parametry styropianu grafitowego ściąga",
      "jak układać styropian instrukcja"
    ],
    "measurementTechnique": "Wizualna agregacja parametrów fizycznych (R, U) oraz instrukcji montażowych w formie graficznego schematu referencyjnego.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Materiały referencyjne i szkoleniowe dla izolacji podłogowych"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#webapp-infografika",
    "name": "Centrum Pobierania: Infografika Izolacyjna",
    "description": "Moduł umożliwiający szybki podgląd i bezpieczne pobranie na urządzenie mobilne lub desktopowe materiałów inżynierskich w wysokiej rozdzielczości.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5"
  }
]
</script>

<div class="rk-dl-eps-container" id="rk-dl-eps-app">
    
    <div class="rk-dl-header">
        <div class="rk-dl-header-content">
            <div class="rk-dl-badge">
                <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><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>
                Zasoby do pobrania
            </div>
            <h2>Pobierz Kompendium Izolacyjne</h2>
            <p>Cała inżynierska wiedza z tego artykułu na jednej planszy. Zapisz PDF na telefonie i zabierz jako ściągawkę na plac budowy przed przyjazdem wykonawcy.</p>
        </div>
        <div class="rk-dl-visual">
            <svg class="rk-dl-pdf-svg" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M14 2H6C4.89543 2 4 2.89543 4 4V20C4 21.1046 4.89543 22 6 22H18C19.1046 22 20 21.1046 20 20V8L14 2Z" fill="#ef4444" stroke="#ffffff" stroke-width="1.5" stroke-linejoin="round"/>
                <path d="M14 2V8H20" stroke="#ffffff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
                <text x="7" y="17.5" fill="white" font-size="6" font-weight="900" font-family="sans-serif">PDF</text>
            </svg>
        </div>
    </div>

    <div class="rk-dl-workspace">
        
        <div class="rk-dl-preview-box" onclick="window.open('https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Ile-styropianu-pod-ogrzewanie-podlogowe-1.webp', '_blank')">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Ile-styropianu-pod-ogrzewanie-podlogowe-1.webp" alt="Infografika - Ile styropianu pod ogrzewanie podłogowe" class="rk-dl-preview-img" loading="lazy">
            <div class="rk-dl-zoom-hint">
                <svg width="14" height="14" 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>
                Powiększ grafikę
            </div>
        </div>

        <div class="rk-dl-info-side">
            <ul class="rk-dl-features">
                <li class="rk-dl-feature-item">
                    <svg class="rk-dl-check-icon" 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>
                    Zestawienie wymogów cieplnych WT2021
                </li>
                <li class="rk-dl-feature-item">
                    <svg class="rk-dl-check-icon" 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>
                    Biały EPS 100 kontra Grafit (Tabela)
                </li>
                <li class="rk-dl-feature-item">
                    <svg class="rk-dl-check-icon" 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>
                    Schemat: Prawidłowy montaż w mijankę
                </li>
                <li class="rk-dl-feature-item">
                    <svg class="rk-dl-check-icon" 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>
                    Format HD gotowy do druku A4
                </li>
            </ul>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Ile-styropianu-pod-ogrzewanie-podlogowe.pdf" class="rk-dl-btn" target="_blank" rel="noopener noreferrer">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
                POBIERZ INFOGRAFIKĘ (PDF)
            </a>
            
            <p style="margin-top: 25px; font-size: 13px; color: var(--dl-eps-muted); line-height: 1.5; font-weight: 600;">
                Masz pytania dotyczące swojej inwestycji? <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" style="color:var(--dl-eps-accent-dark); font-weight:800;">Zamów indywidualny projekt</a> i zyskaj pewność co do materiałów.
            </p>
        </div>

    </div>

    <div class="rk-dl-footer">
        © 2026 Projekt-Ogrzewania.pl | Autor merytoryczny: <strong>Robert Kucharski</strong>. Możesz swobodnie przesyłać ten plik swojemu instalatorowi, z zachowaniem informacji o autorze.
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie przed kradzieżą (Domain Lock) bez H-tagów
    const hostNm = window.location.hostname;
    const authList = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!authList.includes(hostNm)) {
        const wrap = document.getElementById('rk-dl-eps-app');
        if (wrap) {
            wrap.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fef2f2; border: 2px solid #dc2626; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 18px; font-weight: 900; color: #991b1b; text-transform: uppercase;">Zasoby Prawne Chronione</div>
                    <div style="font-size: 14px; color: #b91c1c; max-width: 500px; margin: 10px auto 0 auto; line-height: 1.6;">
                        Ten moduł pobierania i dokumentacja techniczna są własnością serwisu <strong>Projekt-Ogrzewania.pl</strong>. Osadzanie iframe i pobieranie z zewnętrznych serwerów jest zablokowane.
                    </div>
                </div>
            `;
        }
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">Ile styropianu pod ogrzewanie podłogowe?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
