<?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 pe-rt - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/tag/pe-rt/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/tag/pe-rt/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Mon, 01 Jun 2026 20:24:46 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.4</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa pe-rt - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/tag/pe-rt/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Rury do ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/</link>
					<comments>https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 15 Feb 2025 09:45:53 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Montaż ogrzewania podłogowego]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Rodzaje rur grzewczych]]></category>
		<category><![CDATA[Rury do ogrzewania]]></category>
		<category><![CDATA[Rury do podłogówki]]></category>
		<category><![CDATA[Wybór materiałów do podłogówki]]></category>
		<category><![CDATA[instalacja ogrzewania podłogowego]]></category>
		<category><![CDATA[montaż rur]]></category>
		<category><![CDATA[ogrzewanie domu]]></category>
		<category><![CDATA[pe-rt]]></category>
		<category><![CDATA[pex]]></category>
		<category><![CDATA[pex-al-pex]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[rury do ogrzewania podłogowego]]></category>
		<category><![CDATA[system grzewczy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2207</guid>

					<description><![CDATA[<p>Ogrzewanie podłogowe to inwestycja w komfort i energooszczędność, a kluczowym jego elementem są rury do ogrzewania podłogowego. Ich wybór ma ogromny wpływ na wydajność i trwałość całego systemu. Czy lepiej postawić na rury PEX, PE-RT, a może wielowarstwowe PEX-Al-PEX? Jakie średnice i rozstawy rur zapewnią optymalne ogrzewanie? W tym artykule podpowiadamy, na co zwrócić uwagę przy zakupie oraz jak uniknąć błędów montażowych, by cieszyć się ciepłem w domu przez lata.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">Rury do ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
/* REFORMA I IZOLACJA MODELU PUDEŁKOWEGO DLA WORDPRESS */
.rk-intro-wrapper, .rk-intro-wrapper * {
    box-sizing: border-box !important;
}

.rk-intro-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-intro-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(14, 165, 233, 0.12);
    border: 1px solid #bae6fd;
    overflow: hidden;
    line-height: normal;
}

:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-panel: #1e293b;
    --rk-intro-primary: #0ea5e9; 
    --rk-intro-primary-light: #f0f9ff;
    --rk-intro-accent: #f59e0b; 
    --rk-intro-bg: #ffffff;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
    --rk-intro-muted: #64748b;
    --rk-intro-success: #10b981;
}

/* JAWNY I STABILNY UKŁAD SIATKI NA DESKTOP */
.rk-intro-header {
    padding: 45px 50px;
    background: linear-gradient(135deg, var(--rk-intro-dark) 0%, #1e293b 100%);
    position: relative;
    border-bottom: 4px solid var(--rk-intro-primary);
    overflow: hidden;
    display: grid !important;
    grid-template-columns: 120px 1fr !important;
    gap: 30px !important;
    align-items: flex-start;
}

.rk-intro-header::before {
    content: '';
    position: absolute;
    top: -50%; left: -50%; width: 200%; height: 200%;
    background: radial-gradient(circle at center, rgba(14, 165, 233, 0.05) 0%, transparent 60%);
    animation: rotateBg 20s linear infinite;
    pointer-events: none;
    z-index: 1;
}

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

/* Kontener dla awatara i tagu */
.rk-expert-profile {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    position: relative;
    z-index: 2;
    grid-column: 1;
    width: 120px !important;
    min-width: 120px !important;
}

.rk-intro-author-avatar {
    width: 100px !important;
    height: 100px !important;
    border-radius: 50% !important;
    border: 2px solid var(--rk-intro-primary) !important;
    object-fit: cover !important;
    box-shadow: 0 4px 10px rgba(14, 165, 233, 0.4);
    display: block !important;
}

.rk-intro-author-info-tag {
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #bae6fd !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    line-height: 1.4;
    white-space: nowrap;
}

/* Prawa kolumna merytoryczna */
.rk-header-content {
    position: relative;
    z-index: 2;
    grid-column: 2;
    min-width: 0;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.rk-intro-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    color: #bae6fd !important;
    padding: 6px 14px !important;
    border-radius: 99px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    white-space: nowrap !important;
    width: auto !important;
}

.rk-intro-title {
    font-size: 32px !important;
    font-weight: 900 !important;
    color: #ffffff !important; /* POPRAWA KONTRASTU */
    line-height: 1.3 !important;
    margin: 0 0 20px 0 !important;
    text-align: left !important;
}

.rk-intro-title span {
    color: var(--rk-intro-accent) !important;
}

/* Hook Section */
.rk-intro-hook-box {
    background: rgba(0, 0, 0, 0.25) !important; /* Ciemne półprzezroczyste tło */
    border-left: 5px solid var(--rk-intro-accent) !important;
    padding: 22px 25px !important;
    border-radius: 0 16px 16px 0 !important;
    box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2) !important;
    margin-bottom: 25px !important;
    width: 100% !important;
}

.rk-intro-hook-box p {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #f8fafc !important;
    font-weight: 500 !important;
    text-align: left !important;
}

.rk-intro-hook-box strong {
    color: var(--rk-intro-accent) !important;
    font-weight: 800 !important;
}

.rk-intro-description {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #e2e8f0 !important; /* POPRAWA KONTRASTU */
    margin: 0 !important;
    text-align: left !important;
}

.rk-intro-description a {
    color: var(--rk-intro-accent) !important;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-intro-accent);
}

.rk-intro-description strong {
    color: #ffffff !important; /* POPRAWA KONTRASTU */
}

/* Sekcja Kafelków dolnych */
.rk-intro-learn-section {
    padding: 40px 50px;
    background: #ffffff;
}

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

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

.rk-intro-card {
    background: var(--rk-intro-bg);
    border: 1px solid var(--rk-intro-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.rk-intro-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 4px; height: 100%;
    background: var(--rk-intro-primary);
    transform: scaleY(0);
    transition: transform 0.4s ease;
    transform-origin: bottom;
}

.rk-intro-card:hover {
    transform: translateY(-5px);
    border-color: #bae6fd;
    box-shadow: 0 15px 30px -10px rgba(14, 165, 233, 0.15);
    background: var(--rk-intro-primary-light);
}

.rk-intro-card:hover::before {
    transform: scaleY(1);
}

.rk-intro-card-icon {
    width: 48px;
    height: 48px;
    background: var(--rk-intro-primary);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #ffffff;
    transition: transform 0.4s ease;
}

.rk-intro-card:hover .rk-intro-card-icon {
    transform: rotate(10deg) scale(1.1);
}

.rk-intro-card-content h4 {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-intro-dark);
}

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

/* RESPONSYWNOŚĆ - PRZEJŚCIE NA JEDNĄ KOLUMNĘ */
@media (max-width: 768px) {
    .rk-intro-header { 
        grid-template-columns: 1fr !important; 
        gap: 20px !important;
        padding: 35px 25px; 
    }
    .rk-expert-profile {
        grid-column: 1 !important;
        width: 100% !important;
        flex-direction: row !important;
        justify-content: center !important;
        gap: 15px !important;
    }
    .rk-intro-author-avatar {
        width: 60px !important;
        height: 60px !important;
    }
    .rk-intro-author-info-tag {
        text-align: left;
    }
    .rk-header-content {
        grid-column: 1 !important;
        align-items: center !important;
    }
    .rk-intro-title { font-size: 24px !important; text-align: center !important; }
    .rk-intro-hook-box p { text-align: center !important; }
    .rk-intro-description { text-align: center !important; }
    .rk-intro-learn-section { padding: 35px 25px; }
    .rk-intro-grid { grid-template-columns: 1fr; }
    .rk-intro-card { padding: 20px; flex-direction: column; gap: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#article-intro",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/"
    },
    "headline": "Rury do ogrzewania podłogowego – poradnik techniczny, dobór i parametry montażowe",
    "description": "Wybór odpowiedniego materiału, średnicy i gęstości ułożenia rur determinuje sprawność hydrauliczną podłogówki. Kompletny przewodnik dla inwestorów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#dataset-intro",
    "name": "Klasyfikacja materiałowa i parametryzacja rur ogrzewania płaszczyznowego",
    "description": "Baza wiedzy definiująca kluczowe elementy fizyko-chemiczne i instalacyjne przewodów emisyjnych w jastrychu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rury do ogrzewania podłogowego",
      "rura PEX czy PERT",
      "średnica rury podłogówki",
      "wylewka betonowa na ogrzewanie podłogowe",
      "bariera antydyfuzyjna EVOH"
    ],
    "measurementTechnique": "Analiza parametrów hydraulicznych (Pa/m) i termicznych instalacji w oparciu o wytyczne normy europejskiej PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Dobór materiału polimerowego (PEX-a, PE-RT) z barierą EVOH.",
        "Analiza oporów hydraulicznych w zależności od wybranej średnicy rury.",
        "Określenie gęstości ułożenia przewodów celem zapewnienia równomiernego rozkładu temperatur."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#webapp-intro",
    "name": "Przewodnik: Dobór Rur Grzewczych",
    "description": "Edukacyjny moduł nawigacyjny dla inwestorów, wprowadzający w zagadnienia wyboru optymalnych przewodów instalacyjnych pod kątem współpracy z pompami ciepła.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-wrapper">
    
    <div class="rk-intro-header">
        <!-- Lewa kolumna: Awatar oraz podpis zabezpieczone przed ściskaniem -->
        <div class="rk-expert-profile">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-intro-author-avatar" loading="lazy">
            <div class="rk-intro-author-info-tag"> Robert Kucharski<br><small style="color: #94a3b8; font-weight: 600;">CEO portalu</small></div>
        </div>
        
        <!-- Prawa kolumna merytoryczna -->
        <div class="rk-header-content">
            <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="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                Kompendium Inwestora
            </div>
            
            <h2 class="rk-intro-title">Rury do ogrzewania podłogowego – <span>kompletny poradnik inżynierski</span></h2>
            
            <div class="rk-intro-hook-box">
                <p><strong>Wybór rury to decyzja na całe życie budynku.</strong> Instalacja najtańszego materiału &#8222;na oko&#8221; to tykająca bomba pod Twoją posadzką. Pęknięcia jastrychu, gigantyczne opory hydrauliczne i niedogrzane strefy to codzienność inwestorów, którzy zaufali przypadkowi zamiast matematyce.</p>
            </div>

            <p class="rk-intro-description">Wodne ogrzewanie podłogowe to niskotemperaturowy system płaszczyznowy, w którym <strong>rury do ogrzewania podłogowego</strong> stanowią kluczowy element emisyjny, odpowiadający za dystrybucję energii termicznej w <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">jastrychu betonowym lub anhydrytowym</a>. Wybór odpowiedniego materiału, średnicy oraz gęstości ułożenia przewodów determinuje opór cieplny przegrody, sprawność hydrauliczną instalacji oraz końcowe koszty eksploatacji budynku. Prawidłowo zaprojektowana pętla grzewcza zapewnia równomierny rozkład temperatury powierzchniowej podłogi zgodnie z wymogami europejskich norm budowlanych.</p>
        </div>
    </div>

    <div class="rk-intro-learn-section">
        <h3 class="rk-intro-learn-title">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-intro-accent)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>
            Czego dowiesz się z tego poradnika?
        </h3>
        
        <div class="rk-intro-grid">
            
            <div class="rk-intro-card">
                <div class="rk-intro-card-icon">
                    <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
                </div>
                <div class="rk-intro-card-content">
                    <h4>Materiał i Bariera EVOH</h4>
                    <p>Zrozumiesz różnice między polimerami PEX a PE-RT i dowiesz się, dlaczego blokada tlenowa jest krytyczna dla żywotności Twojej kotłowni.</p>
                </div>
            </div>

            <div class="rk-intro-card">
                <div class="rk-intro-card-icon">
                    <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" y1="8" x2="12" y2="8"></line><line x1="3.95" y1="6.06" x2="8.54" y2="14"></line><line x1="10.88" y1="21.94" x2="15.46" y2="14"></line></svg>
                </div>
                <div class="rk-intro-card-content">
                    <h4>Średnice Rur i Hydraulika</h4>
                    <p>Czy rura 16&#215;2.0 to zawsze dobry wybór? Zobacz, jak mniejszy przekrój wpływa na opory i drastycznie obciąża pompę obiegową.</p>
                </div>
            </div>

            <div class="rk-intro-card">
                <div class="rk-intro-card-icon">
                    <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"></path><polyline points="16 6 12 2 8 6"></polyline><line x1="12" y1="2" x2="12" y2="15"></line></svg>
                </div>
                <div class="rk-intro-card-content">
                    <h4>Maksymalna Długość Pętli</h4>
                    <p>Poznasz matematyczne limity długości obwodów. Przekroczenie 100 metrów to gwarancja &#8222;zimnych plam&#8221; na Twojej posadzce.</p>
                </div>
            </div>

            <div class="rk-intro-card">
                <div class="rk-intro-card-icon">
                    <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                </div>
                <div class="rk-intro-card-content">
                    <h4>Gęstość Układania a COP</h4>
                    <p>Zobaczysz bezpośredni związek między rozstawem rur (np. co 10 cm), temperaturą zasilania a miesięcznymi rachunkami za prąd dla pompy ciepła.</p>
                </div>
            </div>

        </div>
    </div>

</div>



<style>
:root {
    --rk-mat-dark: #0f172a;
    --rk-mat-darker: #020617;
    --rk-mat-blue: #0ea5e9;
    --rk-mat-blue-hover: #0284c7;
    --rk-mat-blue-light: #f0f9ff;
    --rk-mat-green: #10b981;
    --rk-mat-green-light: #d1fae5;
    --rk-mat-orange: #f97316;
    --rk-mat-gray: #475569;
    --rk-mat-light: #f8fafc;
    --rk-mat-border: #e2e8f0;
    --rk-mat-bg: #ffffff;
}

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

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

.rk-mat-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.15);
    color: #38bdf8;
    padding: 6px 14px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(14, 165, 233, 0.3);
}

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

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

/* Selektor technologii (Taby) */
.rk-mat-selector {
    background: var(--rk-mat-light);
    padding: 25px 45px 0;
    border-bottom: 1px solid var(--rk-mat-border);
}

.rk-mat-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
}
.rk-mat-tabs::-webkit-scrollbar { display: none; }

.rk-mat-tab {
    padding: 14px 22px;
    background: #ffffff;
    border: 1px solid var(--rk-mat-border);
    border-bottom: none;
    border-radius: 12px 12px 0 0;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-mat-gray);
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.25s ease;
    position: relative;
    top: 1px;
}

.rk-mat-tab:hover {
    color: var(--rk-mat-blue);
    background: #f1f5f9;
}

.rk-mat-tab.active {
    color: var(--rk-mat-dark);
    background: #ffffff;
    border-top: 3px solid var(--rk-mat-blue);
    padding-top: 12px;
    box-shadow: 0 -4px 10px rgba(0,0,0,0.02);
}

/* Panel Główny */
.rk-mat-body {
    padding: 40px 45px;
    background: #ffffff;
}

.rk-mat-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: start;
}

/* Lewa strona: Struktura cząsteczkowa (SVG statyczne) */
.rk-mat-visual {
    background: var(--rk-mat-light);
    border: 1px dashed var(--rk-mat-gray);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 290px;
}

.rk-mat-svg {
    width: 100%;
    max-width: 160px;
    height: auto;
}

/* Style i powiązania sieciowania polimerów */
.link-line { stroke: #64748b; stroke-width: 2; stroke-dasharray: none; }
.polymer-node { fill: var(--rk-mat-dark); }
.cross-node { fill: var(--rk-mat-blue); }

.rk-mat-vis-label {
    margin-top: 20px;
    font-size: 12px;
    font-weight: 800;
    color: var(--rk-mat-gray);
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 0.5px;
}

/* Prawa strona: Kafelki z parametrami strukturalnymi */
.rk-mat-specs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

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

.rk-mat-card-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--rk-mat-gray);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}

.rk-mat-card-value {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-mat-dark);
    line-height: 1.2;
}

.rk-mat-card-full {
    grid-column: span 2;
    background: var(--rk-mat-light);
    border-left: 4px solid var(--rk-mat-blue);
}

.rk-mat-card-full.card-repair-yes { border-left-color: var(--rk-mat-green); }
.rk-mat-card-full.card-repair-no { border-left-color: var(--rk-mat-orange); }

/* Artykuł tekstowy merytoryczny */
.rk-mat-article {
    padding: 40px 45px;
    background: #ffffff;
    border-top: 1px solid var(--rk-mat-border);
}

.rk-mat-article h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-mat-dark);
    margin: 0 0 15px 0;
}

.rk-mat-article h4 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-mat-dark);
    margin: 25px 0 12px 0;
}

.rk-mat-article p {
    font-size: 16px;
    line-height: 1.75;
    color: #334155;
    margin: 0 0 15px 0;
}

.rk-mat-article ul {
    list-style: none;
    padding: 0;
    margin: 15px 0 25px 0;
}

.rk-mat-article li {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 12px;
    padding-left: 24px;
    position: relative;
    color: #334155;
}

.rk-mat-article li::before {
    content: "■";
    position: absolute;
    left: 0;
    top: 2px;
    color: var(--rk-mat-blue);
    font-size: 12px;
}

.rk-mat-article strong {
    color: var(--rk-mat-dark);
}

.rk-mat-article a {
    color: var(--rk-mat-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-mat-blue);
    transition: border-color 0.2s;
}
.rk-mat-article a:hover { border-bottom-style: solid; }

.rk-evoh-box {
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 14px;
    padding: 20px 25px;
    margin-top: 30px;
    display: flex;
    gap: 20px;
    align-items: center;
}

.rk-evoh-icon {
    width: 36px;
    height: 36px;
    color: var(--rk-mat-blue);
    flex-shrink: 0;
}

.rk-evoh-text h4 {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 800;
    color: #0369a1;
}

.rk-evoh-text p {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #0c4a6e;
}

/* Statusy kolorystyczne odznak */
.mat-badge-pro { background: var(--rk-mat-green-light); color: #166534; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: 700; }
.mat-badge-warn { background: #fee2e2; color: #991b1b; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: 700; }

/* Responsywność */
@media (max-width: 768px) {
    .rk-mat-header, .rk-mat-selector, .rk-mat-body, .rk-mat-article { padding: 25px 20px; }
    .rk-mat-grid { grid-template-columns: 1fr; gap: 30px; }
    .rk-mat-specs { grid-template-columns: 1fr; }
    .rk-mat-card-full { grid-column: span 1; }
    .rk-mat-visual { min-height: auto; padding: 20px; }
    .rk-evoh-box { flex-direction: column; text-align: center; gap: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#article-materialy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/"
    },
    "headline": "Jaki materiał na rury do ogrzewania podłogowego wybrać?",
    "description": "Porównanie właściwości strukturalnych polimerów PEX-a, PEX-b, PEX-c oraz PE-RT II generacji. Dowiedz się, które sieciowanie polietylenu gwarantuje pamięć kształtu.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#dataset-materialy",
    "name": "Zestawienie fizyczno-strukturalne polietylenów grzewczych",
    "description": "Baza danych parametrów fizycznych sieciowania polimerów (metoda nadtlenkowa, silanowa, radiacyjna) dla rur płaszczyznowych klasy 4.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "stopień usieciowania polimeru pex",
      "metoda nadtlenkowa engel pexa",
      "bariera antydyfuzyjna evoh din 4726",
      "rury pe-rt typ ii generacji",
      "pamięć termiczna kształtu polietylenu"
    ],
    "measurementTechnique": "Weryfikacja parametrów struktury sieci kowalencyjnej wg norm PN-EN ISO 15875 oraz PN-EN ISO 22391.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "PEX-a (Metoda Engel): stopień usieciowania minimum 70%, pamięć termiczna kształtu.",
        "PEX-b (Metoda Silanowa): stopień usieciowania minimum 65%, sztywniejsza struktura.",
        "PEX-c (Metoda Radiacyjna): stopień usieciowania minimum 60%, sieciowanie radiacyjne.",
        "PE-RT Typ II: brak usieciowania, struktura oparta na kopolimerze oktenowym."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#webapp-materialy",
    "name": "Analizator Struktury Polimerów Grzewczych",
    "description": "Pulpit nawigacyjny umożliwiający inwestorowi selekcję i analizę porównawczą makrocząsteczkowych wiązań kowalencyjnych rur płaszczyznowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-mat-container">
    <div class="rk-mat-header">
        <div class="rk-mat-badge">Analiza Technologii Materiałowej</div>
        <h2>Jaki materiał na rury do ogrzewania podłogowego wybrać?</h2>
        <p>Wybór odpowiedniego polimeru rury grzewczej decyduje o jej elastyczności, wytrzymałości długookresowej oraz zachowaniu w przypadku mechanicznego załamania pętli na budowie.</p>
    </div>

    <div class="rk-mat-selector">
        <div class="rk-mat-tabs" id="rkMatTabs">
            <button class="rk-mat-tab active" data-mat="pexa">PEX-a (Metoda Engel)</button>
            <button class="rk-mat-tab" data-mat="pexb">PEX-b (Silanowa)</button>
            <button class="rk-mat-tab" data-mat="pexc">PEX-c (Radiacyjna)</button>
            <button class="rk-mat-tab" data-mat="pert">PE-RT Typ II</button>
        </div>
    </div>

    <div class="rk-mat-body">
        <div class="rk-mat-grid">
            <div class="rk-mat-visual">
                <svg class="rk-mat-svg" viewBox="0 0 100 100" id="rkMatSvg">
                    <line x1="10" y1="25" x2="90" y2="25" stroke="#94a3b8" stroke-width="3"/>
                    <line x1="10" y1="50" x2="90" y2="50" stroke="#94a3b8" stroke-width="3"/>
                    <line x1="10" y1="75" x2="90" y2="75" stroke="#94a3b8" stroke-width="3"/>
                    <g id="rkCrossLinks">
                        <line x1="30" y1="25" x2="30" y2="50" class="link-line"/>
                        <line x1="70" y1="25" x2="70" y2="50" class="link-line"/>
                        <line x1="50" y1="50" x2="50" y2="75" class="link-line"/>
                        <circle cx="30" cy="37.5" r="5" class="cross-node"/>
                        <circle cx="70" cy="37.5" r="5" class="cross-node"/>
                        <circle cx="50" cy="62.5" r="5" class="cross-node"/>
                    </g>
                    <circle cx="30" cy="25" r="4" class="polymer-node"/>
                    <circle cx="70" cy="25" r="4" class="polymer-node"/>
                    <circle cx="50" cy="50" r="4" class="polymer-node"/>
                    <circle cx="30" cy="50" r="4" class="polymer-node"/>
                    <circle cx="70" cy="50" r="4" class="polymer-node"/>
                    <circle cx="50" cy="75" r="4" class="polymer-node"/>
                </svg>
                <div class="rk-mat-vis-label" id="rkMatVisLabel">Wiązania nadtlenkowe trójwymiarowe</div>
            </div>

            <div class="rk-mat-specs" id="rkMatSpecs">
                <div class="rk-mat-card">
                    <span class="rk-mat-card-label">Stopień usieciowania</span>
                    <span class="rk-mat-card-value" id="rkValCross">minimum 70%</span>
                </div>
                <div class="rk-mat-card">
                    <span class="rk-mat-card-label">Klasa zastosowania</span>
                    <span class="rk-mat-card-value">Klasa 4 <small>(ISO 15875)</small></span>
                </div>
                <div class="rk-mat-card rk-mat-card-full card-repair-yes" id="rkRepairCard">
                    <span class="rk-mat-card-label">Termiczna pamięć kształtu (Naprawa opalarką)</span>
                    <span class="rk-mat-card-value" id="rkValRepair"><span class="mat-badge-pro">TAK</span> – Pełna regeneracja</span>
                </div>
                <div class="rk-mat-card rk-mat-card-full">
                    <span class="rk-mat-card-label">Charakterystyka mechaniczna</span>
                    <span class="rk-mat-card-value" id="rkValFeatures" style="font-size: 15px; font-weight: 600; color: var(--rk-mat-gray);">Najwyższa elastyczność strukturalna, łatwe profilowanie łuków w strefach brzegowych.</span>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-mat-article">
        <p>Najlepszym wyborem do wodnych systemów płaszczyznowych są rury z usieciowanego polietylenu <strong>PEX</strong> lub polietylenu o podwyższonej odporności termicznej <strong>PE-RT</strong>. Zgodnie z normami europejskimi <strong><a href="https://projekt-ogrzewania.pl/norma-en-iso-15875/">PN-EN ISO 15875</a></strong> oraz <strong>PN-EN ISO 22391</strong>, oba te materiały muszą bezwzględnie posiadać klasyfikację klasy zastosowania 4, co kwalifikuje je do niskotemperaturowego ogrzewania podłogowego.</p>
        
        <h3>Rury PEX-a, PEX-b i PEX-c – różnice strukturalne</h3>
        <p>Materiały z grupy PEX różnią się od siebie technologią wytwarzania i mechanizmem wiązań poprzecznych łańcuchów polimerowych, co rzutuje bezpośrednio na promień gięcia i elastyczność przewodu:</p>
        <ul>
            <li><strong>PEX-a (metoda nadtlenkowa Engel):</strong> Stopień usieciowania polimeru wynosi <strong>minimum 70%</strong>. Charakteryzuje się najwyższą elastycznością i pełną pamięcią termiczną. W przypadku przypadkowego załamania rury na budowie (tzw. &#8222;zaorania&#8221;), materiał można w pełni zregenerować poprzez miejscowe podgrzanie opalarką do momentu uzyskania transparentności struktury.</li>
            <li><strong>PEX-b (metoda silanowa):</strong> Stopień usieciowania wynosi <strong>minimum 65%</strong>. Rura wykazuje wyższą sztywność i dużą odporność na uderzenia mechaniczne. Nie posiada jednak termicznej pamięci kształtu – załamany odcinek traci szczelność strukturalną i musi zostać bezwzględnie wycięty oraz połączony złączką zaprasowywaną.</li>
            <li><strong>PEX-c (metoda radiacyjna):</strong> Stopień usieciowania polimeru wynosi <strong>minimum 60%</strong>. Proces sieciowania zachodzi w fazie stałej za pomocą strumienia elektronów. Przewody te posiadają uśrednione parametry elastyczności i są rzadziej stosowane w domowych instalacjach płaszczyznowych.</li>
        </ul>

        <h3>Rury PE-RT oraz PE-RT II generacji</h3>
        <p>Polietylen o podwyższonej odporności termicznej (PE-RT) nie podlega mechanicznemu procesowi usieciowania, a jego wytrzymałość opiera się na specyficznej strukturze kopolimeru oktenowego. Rury <strong>PE-RT Typ II</strong> oferują doskonałą elastyczność (zbliżoną do PEX-a) przy niższych kosztach produkcji. Ich długoterminowa stabilność ciśnieniowa w temperaturach roboczych rzędu <strong>35-45°C</strong> jest w stu procentach wystarczająca dla nowoczesnych budynków współpracujących niskotemperaturowo z <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompami ciepła</a>.</p>

        <div class="rk-evoh-box">
            <svg class="rk-evoh-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
            <div class="rk-evoh-text">
                <h4>Konieczność stosowania powłoki antydyfuzyjnej EVOH</h4>
                <p>Niezależnie od wybranego polimeru podstawowego, rura musi posiadać barierę antydyfuzyjną EVOH zgodną z rygorystyczną normą <strong><a href="https://projekt-ogrzewania.pl/norma-din-4726-w-ogrzewaniu-podlogowym/">DIN 4726</a></strong>. Warstwa ta ogranicza przenikanie tlenu do wnętrza instalacji do poziomu poniżej <strong>0,1 g/(m³·doba)</strong>. Zapobiega to korozji tlenowej wymienników ciepła, wirników pomp i stalowych elementów armatury.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('#rkMatTabs .rk-mat-tab');
    const crossLinksG = document.getElementById('rkCrossLinks');
    const visLabel = document.getElementById('rkMatVisLabel');
    
    const valCross = document.getElementById('rkValCross');
    const repairCard = document.getElementById('rkRepairCard');
    const valRepair = document.getElementById('rkValRepair');
    const valFeatures = document.getElementById('rkValFeatures');

    const matData = {
        pexa: {
            cross: "minimum 70%",
            repairHtml: '<span class="mat-badge-pro">TAK</span> – Pełna regeneracja',
            repairCls: 'rk-mat-card-full card-repair-yes',
            features: "Najwyższa elastyczność strukturalna, łatwe profilowanie łuków w strefach brzegowych. Wybacza błędy instalatora.",
            label: "Wiązania nadtlenkowe trójwymiarowe",
            // Rysunek gęstej sieci poprzecznej
            svg: `
                <line x1="30" y1="25" x2="30" y2="50" class="link-line"/>
                <line x1="70" y1="25" x2="70" y2="50" class="link-line"/>
                <line x1="50" y1="50" x2="50" y2="75" class="link-line"/>
                <line x1="50" y1="25" x2="50" y2="50" class="link-line"/>
                <circle cx="30" cy="37.5" r="5" class="cross-node"/>
                <circle cx="70" cy="37.5" r="5" class="cross-node"/>
                <circle cx="50" cy="62.5" r="5" class="cross-node"/>
                <circle cx="50" cy="37.5" r="5" class="cross-node"/>
            `
        },
        pexb: {
            cross: "minimum 65%",
            repairHtml: '<span class="mat-badge-warn">NIE</span> – Wymaga wycięcia',
            repairCls: 'rk-mat-card-full card-repair-no',
            features: "Wyższa sztywność liniowa. Duża odporność na uderzenia mechaniczne, ale załamanie trwale niszczy strukturę pętli.",
            label: "Wiązania silanowe (wodorotlenkowe)",
            // Rysunek rzadszej sieci silanowej
            svg: `
                <line x1="30" y1="25" x2="30" y2="50" class="link-line"/>
                <line x1="70" y1="50" x2="70" y2="75" class="link-line"/>
                <circle cx="30" cy="37.5" r="5" class="cross-node"/>
                <circle cx="70" cy="62.5" r="5" class="cross-node"/>
            `
        },
        pexc: {
            cross: "minimum 60%",
            repairHtml: '<span class="mat-badge-warn">NIE</span> – Wymaga wycięcia',
            repairCls: 'rk-mat-card-full card-repair-no',
            features: "Sieciowanie fizyczne wiązką elektronów. Średnia elastyczność, rzadziej stosowana ze względu na wysokie wymagania gięcia.",
            label: "Wiązania radiacyjne w fazie stałej",
            // Rysunek sieci punktowej radiacyjnej
            svg: `
                <line x1="50" y1="25" x2="50" y2="50" class="link-line"/>
                <line x1="50" y1="50" x2="50" y2="75" class="link-line"/>
                <circle cx="50" cy="37.5" r="5" class="cross-node"/>
                <circle cx="50" cy="62.5" r="5" class="cross-node"/>
            `
        },
        pert: {
            cross: "0% (Brak sieci)",
            repairHtml: '<span class="mat-badge-warn">NIE</span> – Wymaga wycięcia',
            repairCls: 'rk-mat-card-full card-repair-no',
            features: "Struktura oparta na rozgałęzionych bocznych łańcuchach oktenowych (kopolimer). Bardzo elastyczna i ekonomiczna.",
            label: "Łańcuchy liniowe z boczno-oktenowymi wiązaniami",
            // Brak wiązań poprzecznych, tylko łańcuchy liniowe
            svg: `
                <path d="M 20 30 Q 30 20 40 30 T 60 30" fill="none" stroke="#e2e8f0" stroke-width="2"/>
                <path d="M 50 60 Q 60 70 70 60 T 90 60" fill="none" stroke="#e2e8f0" stroke-width="2"/>
            `
        }
    };

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

            const matKey = this.getAttribute('data-mat');
            const data = matData[matKey];

            // Aktualizacja parametrów tekstowych
            valCross.innerText = data.cross;
            valRepair.innerHTML = data.repairHtml;
            repairCard.className = data.repairCls;
            valFeatures.innerText = data.features;
            visLabel.innerText = data.label;

            // Aktualizacja grafiki SVG
            crossLinksG.innerHTML = data.svg;
        });
    });
});
</script>



<style>
:root {
    --rk-comp-dark: #1e293b;
    --rk-comp-darker: #0f172a;
    --rk-comp-blue: #0284c7;
    --rk-comp-blue-hover: #0369a1;
    --rk-comp-cyan: #06b6d4;
    --rk-comp-teal: #0d9488;
    --rk-comp-gray: #64748b;
    --rk-comp-light: #f8fafc;
    --rk-comp-border: #e2e8f0;
    --rk-comp-bg: #ffffff;
    --rk-comp-alert: #f59e0b;
}

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

/* Header */
.rk-comp-header {
    background: linear-gradient(135deg, var(--rk-comp-darker) 0%, var(--rk-comp-dark) 100%);
    padding: 35px 40px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-comp-cyan);
}

.rk-comp-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 10px 0;
    line-height: 1.3;
}

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

/* Navigation / Selectors */
.rk-comp-nav {
    display: flex;
    background: var(--rk-comp-light);
    border-bottom: 1px solid var(--rk-comp-border);
    padding: 15px 20px 0;
    gap: 10px;
    overflow-x: auto;
    scrollbar-width: none;
}
.rk-comp-nav::-webkit-scrollbar { display: none; }

.rk-comp-tab {
    padding: 15px 25px;
    background: #ffffff;
    border: 1px solid var(--rk-comp-border);
    border-bottom: none;
    border-radius: 12px 12px 0 0;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-comp-gray);
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.3s ease;
    position: relative;
    top: 1px;
}

.rk-comp-tab:hover {
    color: var(--rk-comp-blue);
    background: #f1f5f9;
}

.rk-comp-tab.active {
    color: var(--rk-comp-dark);
    background: #ffffff;
    border-color: var(--rk-comp-border);
    border-top: 3px solid var(--rk-comp-cyan);
    box-shadow: 0 -4px 10px rgba(0,0,0,0.02);
}

/* Data Layout */
.rk-comp-body {
    padding: 40px;
    background: #ffffff;
}

.rk-comp-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 40px;
}

/* Progress Bars Section */
.rk-comp-bars {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-comp-bar-group {
    background: var(--rk-comp-light);
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-comp-border);
}

.rk-comp-bar-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 12px;
}

.rk-comp-bar-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-comp-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-comp-bar-val {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-comp-blue);
}

.rk-comp-bar-val span {
    font-size: 12px;
    color: var(--rk-comp-gray);
    font-weight: 600;
}

.rk-comp-bar-track {
    width: 100%;
    height: 10px;
    background: #e2e8f0;
    border-radius: 99px;
    overflow: hidden;
    position: relative;
}

.rk-comp-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--rk-comp-blue), var(--rk-comp-cyan));
    border-radius: 99px;
    width: 0%;
    transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-comp-bar-fill.fill-teal { background: linear-gradient(90deg, #0f766e, #14b8a6); }

/* Key Specs Cards */
.rk-comp-specs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-comp-spec-card {
    background: #ffffff;
    border: 1px solid var(--rk-comp-border);
    border-radius: 12px;
    padding: 15px;
    text-align: center;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-comp-spec-icon {
    width: 32px;
    height: 32px;
    margin: 0 auto 10px;
    color: var(--rk-comp-gray);
}

.rk-comp-spec-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-comp-gray);
    text-transform: uppercase;
    margin-bottom: 5px;
}

.rk-comp-spec-value {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-comp-dark);
}

.val-badge-yes {
    background: #dcfce7;
    color: #166534;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 13px;
    display: inline-block;
}

.val-badge-no {
    background: #fee2e2;
    color: #991b1b;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 13px;
    display: inline-block;
}

/* Additional Info Footer */
.rk-comp-footer {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid var(--rk-comp-border);
    display: flex;
    align-items: center;
    gap: 15px;
    background: #f0fdfa;
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-comp-teal);
}

.rk-comp-footer-icon {
    width: 24px;
    height: 24px;
    color: var(--rk-comp-teal);
    flex-shrink: 0;
}

.rk-comp-footer p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #0f766e;
    font-weight: 600;
}

/* Animations */
.anim-pulse { animation: compPulse 2s infinite; }
@keyframes compPulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } }

/* Responsive */
@media (max-width: 768px) {
    .rk-comp-header, .rk-comp-body { padding: 25px 20px; }
    .rk-comp-grid { grid-template-columns: 1fr; gap: 30px; }
    .rk-comp-specs { grid-template-columns: 1fr 1fr; }
    .rk-comp-nav { padding: 15px 10px 0; }
    .rk-comp-tab { padding: 12px 16px; font-size: 13px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#article-porownanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/"
    },
    "headline": "Porównanie parametrów technicznych rur grzewczych",
    "description": "Zestawienie kluczowych parametrów fizycznych i eksploatacyjnych rur PEX-a, PEX-b, PE-RT Typ II oraz PEX-Al-PEX w oparciu o normy ISO.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#dataset-porownanie",
    "name": "Tabela właściwości fizykochemicznych rur ogrzewania płaszczyznowego",
    "description": "Zbiór danych laboratoryjnych porównujących przewodność cieplną, pamięć kształtu i stopień usieciowania popularnych przewodów grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "parametry techniczne rur pex",
      "przewodność cieplna rury do podłogówki",
      "rura PE-RT a PEX-a",
      "współczynnik rozszerzalności liniowej rur",
      "pamięć kształtu rury termiczna"
    ],
    "measurementTechnique": "Pomiary laboratoryjne zgodne z klasyfikacją PN-EN ISO 15875 i normą DIN 4726 dla bariery antydyfuzyjnej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przewodność cieplna λ od 0,35 do 0,43 W/(m·K).",
        "Stopień usieciowania polimeru ≥ 70% dla PEX-a.",
        "Stała chropowatość bezwzględna k = 0,007 mm dla wszystkich typów."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#webapp-porownanie",
    "name": "Interaktywny Komparator Materiałów Instalacyjnych",
    "description": "Narzędzie pozwalające na dynamiczne porównywanie właściwości mechanicznych i termicznych systemów rur z wykorzystaniem animowanych wykresów liniowych.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-comp-container">
    <div class="rk-comp-header">
        <h2>Porównanie parametrów technicznych rur grzewczych</h2>
        <p>Zestawienie kluczowych parametrów fizycznych i eksploatacyjnych najpopularniejszych typów przewodów stosowanych w instalacjach ogrzewania płaszczyznowego (dane z norm serii ISO).</p>
    </div>

    <div class="rk-comp-nav" id="rkPipeNav">
        <button class="rk-comp-tab active" data-pipe="pexa">PEX-a (EVOH)</button>
        <button class="rk-comp-tab" data-pipe="pexb">PEX-b (EVOH)</button>
        <button class="rk-comp-tab" data-pipe="pert">PE-RT Typ II (EVOH)</button>
        <button class="rk-comp-tab" data-pipe="pexal">PEX-Al-PEX</button>
    </div>

    <div class="rk-comp-body">
        <div class="rk-comp-grid">
            
            <div class="rk-comp-bars">
                <div class="rk-comp-bar-group">
                    <div class="rk-comp-bar-header">
                        <span class="rk-comp-bar-title">Przewodność cieplna (λ)</span>
                        <div class="rk-comp-bar-val" id="val-lambda">0,35 <span>W/(m·K)</span></div>
                    </div>
                    <div class="rk-comp-bar-track">
                        <div class="rk-comp-bar-fill" id="bar-lambda" style="width: 70%;"></div>
                    </div>
                </div>

                <div class="rk-comp-bar-group">
                    <div class="rk-comp-bar-header">
                        <span class="rk-comp-bar-title">Rozszerzalność liniowa</span>
                        <div class="rk-comp-bar-val" id="val-exp">0,14 <span>mm/(m·K)</span></div>
                    </div>
                    <div class="rk-comp-bar-track">
                        <div class="rk-comp-bar-fill fill-teal" id="bar-exp" style="width: 70%;"></div>
                    </div>
                </div>
            </div>

            <div class="rk-comp-specs">
                <div class="rk-comp-spec-card">
                    <svg class="rk-comp-spec-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" y1="22.08" x2="12" y2="12"/></svg>
                    <span class="rk-comp-spec-label">Usieciowanie</span>
                    <span class="rk-comp-spec-value" id="val-link">≥ 70%</span>
                </div>
                
                <div class="rk-comp-spec-card">
                    <svg class="rk-comp-spec-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
                    <span class="rk-comp-spec-label">Pamięć Kształtu</span>
                    <span class="rk-comp-spec-value" id="val-mem"><span class="val-badge-yes">TAK (term.)</span></span>
                </div>

                <div class="rk-comp-spec-card" style="grid-column: span 2;">
                    <svg class="rk-comp-spec-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="margin-bottom: 5px;"><path d="M3 3v18h18"/><path d="M18.7 8l-5.1 5.2-2.8-2.7L7 14.3"/></svg>
                    <span class="rk-comp-spec-label">Minimalny promień gięcia (ręcznie)</span>
                    <span class="rk-comp-spec-value" id="val-bend" style="font-size: 20px; color: var(--rk-comp-blue);">5 × d<sub>n</sub></span>
                </div>
            </div>
        </div>

        <div class="rk-comp-footer">
            <svg class="rk-comp-footer-icon anim-pulse" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>
            <p id="pipe-desc">Najwyższa elastyczność i pełna termiczna pamięć kształtu. Pozwala na naprawę przypadkowych zagięć za pomocą opalarki. Idealna do zagęszczonych stref brzegowych.</p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const pipeData = {
        pexa: {
            lambda: "0,35",
            lambdaPct: (0.35 / 0.45) * 100,
            exp: "0,14",
            expPct: (0.14 / 0.20) * 100,
            link: "≥ 70%",
            memHtml: '<span class="val-badge-yes">TAK (term.)</span>',
            bend: "5 × d<sub>n</sub>",
            desc: "Najwyższa elastyczność i pełna termiczna pamięć kształtu. Pozwala na naprawę przypadkowych zagięć za pomocą opalarki. Idealna do zagęszczonych stref brzegowych."
        },
        pexb: {
            lambda: "0,38",
            lambdaPct: (0.38 / 0.45) * 100,
            exp: "0,15",
            expPct: (0.15 / 0.20) * 100,
            link: "≥ 65%",
            memHtml: '<span class="val-badge-no">NIE</span>',
            bend: "6 × d<sub>n</sub>",
            desc: "Sztywniejsza od PEX-a. Wykazuje większą odporność na mechaniczne uderzenia punktowe przed zalaniem, jednak brak pamięci kształtu wymusza wycięcie rury w przypadku 'zaorania'."
        },
        pert: {
            lambda: "0,40",
            lambdaPct: (0.40 / 0.45) * 100,
            exp: "0,18",
            expPct: (0.18 / 0.20) * 100,
            link: "0% (Kopolimer)",
            memHtml: '<span class="val-badge-no">NIE</span>',
            bend: "5 × d<sub>n</sub>",
            desc: "Nowoczesna struktura kopolimeru oktenowego (Typ II) nie wymaga procesu sieciowania. Stanowi wysoce elastyczną, stabilną i bardziej opłacalną alternatywę dla instalacji niskotemperaturowych."
        },
        pexal: {
            lambda: "0,43",
            lambdaPct: (0.43 / 0.45) * 100,
            exp: "0,025",
            expPct: (0.025 / 0.20) * 100,
            link: "≥ 65% (Warstwy)",
            memHtml: '<span class="val-badge-yes">TAK (mech.)</span>',
            bend: "5 × d<sub>n</sub> (Ze sprężyną: 3 × d<sub>n</sub>)",
            desc: "Wkładka aluminiowa gwarantuje minimalną rozszerzalność termiczną i plastyczną pamięć kształtu. Najlepsza przewodność cieplna, ale wymaga ostrożnego profilowania, by nie przełamać pancerza."
        }
    };

    const tabs = document.querySelectorAll('#rkPipeNav .rk-comp-tab');
    
    // Elementy DOM do aktualizacji
    const valLambda = document.getElementById('val-lambda');
    const barLambda = document.getElementById('bar-lambda');
    const valExp = document.getElementById('val-exp');
    const barExp = document.getElementById('bar-exp');
    const valLink = document.getElementById('val-link');
    const valMem = document.getElementById('val-mem');
    const valBend = document.getElementById('val-bend');
    const descText = document.getElementById('pipe-desc');

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

            // Pobranie danych
            const pipeKey = this.getAttribute('data-pipe');
            const data = pipeData[pipeKey];

            // Animowana aktualizacja DOM
            valLambda.innerHTML = `${data.lambda} <span>W/(m·K)</span>`;
            barLambda.style.width = `${data.lambdaPct}%`;
            
            valExp.innerHTML = `${data.exp} <span>mm/(m·K)</span>`;
            barExp.style.width = `${data.expPct}%`;

            valLink.innerHTML = data.link;
            valMem.innerHTML = data.memHtml;
            valBend.innerHTML = data.bend;
            descText.innerHTML = data.desc;
        });
    });
    
    // Inicjalizacja pierwszej zakładki
    tabs[0].click();
});
</script>



<style>
:root {
    --rk-temp-dark: #0f172a;
    --rk-temp-darker: #020617;
    --rk-temp-blue: #0ea5e9;
    --rk-temp-green: #10b981;
    --rk-temp-yellow: #f59e0b;
    --rk-temp-orange: #f97316;
    --rk-temp-red: #ef4444;
    --rk-temp-red-dark: #b91c1c;
    --rk-temp-gray: #64748b;
    --rk-temp-light: #f8fafc;
    --rk-temp-border: #e2e8f0;
    --rk-temp-bg: #ffffff;
}

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

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

.rk-temp-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(249, 115, 22, 0.2);
    color: #fdba74;
    padding: 6px 14px;
    border-radius: 99px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(249, 115, 22, 0.3);
}

.rk-temp-header h2 {
    font-size: 30px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.2;
}

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

/* Interaktywny Dashboard */
.rk-temp-dashboard {
    padding: 40px 45px;
    background: var(--rk-temp-light);
    border-bottom: 1px solid var(--rk-temp-border);
}

.rk-temp-grid {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 40px;
    align-items: center;
}

/* Panel Kontrolny */
.rk-temp-controls {
    background: #ffffff;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-temp-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

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

.rk-temp-slider-wrap {
    margin-bottom: 30px;
}

.rk-temp-slider-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
}

.rk-temp-slider-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-temp-gray);
}

.rk-temp-slider-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-temp-orange);
    transition: color 0.3s;
}

.rk-temp-range {
    width: 100%;
    -webkit-appearance: none;
    height: 8px;
    background: linear-gradient(to right, var(--rk-temp-blue), var(--rk-temp-green) 35%, var(--rk-temp-yellow) 55%, var(--rk-temp-red) 80%);
    border-radius: 99px;
    outline: none;
}

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

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

/* Karta Statusu */
.rk-temp-status-card {
    padding: 20px;
    border-radius: 12px;
    background: #f0fdf4;
    border: 1px solid #86efac;
    transition: all 0.3s ease;
}

.rk-temp-status-title {
    font-size: 15px;
    font-weight: 800;
    margin: 0 0 8px 0;
    color: #166534;
    text-transform: uppercase;
}

.rk-temp-status-desc {
    font-size: 14px;
    color: #15803d;
    margin: 0;
    line-height: 1.5;
}

/* Wizualizacja SVG (Prawa Strona) */
.rk-temp-visual {
    position: relative;
    background: #ffffff;
    border: 1px solid var(--rk-temp-border);
    border-radius: 16px;
    padding: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    min-height: 280px;
    box-shadow: inset 0 2px 10px rgba(0,0,0,0.02);
}

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

/* Animacje klas dla SVG */
.anim-pipe-heat { transition: fill 0.4s ease, filter 0.4s ease; }
.anim-screed { transition: fill 0.4s ease; }
.anim-crack { stroke-dasharray: 50; stroke-dashoffset: 50; transition: stroke-dashoffset 0.5s ease; opacity: 0; }
.anim-wave { opacity: 0.2; transition: opacity 0.4s ease, transform 1s infinite alternate; }

/* Stany Wizualne */
.state-optimal .anim-pipe-heat { fill: var(--rk-temp-green); filter: drop-shadow(0 0 5px rgba(16,185,129,0.5)); }
.state-optimal .anim-screed { fill: #e2e8f0; }
.state-optimal .anim-wave { fill: var(--rk-temp-green); opacity: 0.4; animation: waveFloat 2s infinite alternate; }

.state-warning .anim-pipe-heat { fill: var(--rk-temp-orange); filter: drop-shadow(0 0 8px rgba(249,115,22,0.6)); }
.state-warning .anim-screed { fill: #fed7aa; }
.state-warning .anim-wave { fill: var(--rk-temp-orange); opacity: 0.6; animation: waveFloat 1s infinite alternate; }

.state-danger .anim-pipe-heat { fill: var(--rk-temp-red); filter: drop-shadow(0 0 15px rgba(239,68,68,0.8)); }
.state-danger .anim-screed { fill: #fecaca; }
.state-danger .anim-crack { stroke-dashoffset: 0; opacity: 1; animation: crackFlash 0.5s infinite alternate; }
.state-danger .anim-wave { fill: var(--rk-temp-red); opacity: 0.8; animation: waveFloat 0.5s infinite alternate; }

@keyframes waveFloat { 0% { transform: translateY(0); } 100% { transform: translateY(-10px); } }
@keyframes crackFlash { 0% { stroke: #b91c1c; stroke-width: 2; } 100% { stroke: #ef4444; stroke-width: 4; } }

/* Limity Powierzchniowe (Kafelki) */
.rk-temp-limits {
    padding: 40px 45px;
    background: #ffffff;
}

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

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

.rk-tmax-card {
    background: var(--rk-temp-light);
    border: 1px solid var(--rk-temp-border);
    border-radius: 12px;
    padding: 25px 20px;
    text-align: center;
    transition: transform 0.3s;
}

.rk-tmax-card:hover {
    transform: translateY(-3px);
    border-color: var(--rk-temp-blue);
    box-shadow: 0 10px 15px -3px rgba(14, 165, 233, 0.1);
}

.rk-tmax-icon {
    width: 36px;
    height: 36px;
    margin: 0 auto 15px;
    color: var(--rk-temp-blue);
}

.rk-tmax-val {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-temp-dark);
    display: block;
    line-height: 1;
    margin-bottom: 8px;
}

.rk-tmax-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-temp-gray);
    text-transform: uppercase;
}

/* Treść tekstowa */
.rk-temp-article {
    padding: 0 45px 40px;
    background: #ffffff;
}

.rk-temp-article p {
    font-size: 16px;
    line-height: 1.75;
    color: #475569;
    margin: 0 0 20px 0;
}

.rk-temp-article strong {
    color: var(--rk-temp-dark);
}

.rk-temp-article a {
    color: var(--rk-temp-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-temp-blue);
    transition: all 0.3s;
}

.rk-temp-article a:hover {
    color: #0369a1;
    border-bottom-style: solid;
}

.rk-temp-pressure-box {
    background: #f1f5f9;
    border-left: 4px solid var(--rk-temp-blue);
    padding: 20px 25px;
    border-radius: 0 12px 12px 0;
    margin-top: 30px;
}

.rk-temp-pressure-box h4 {
    margin: 0 0 10px 0;
    font-size: 16px;
    color: var(--rk-temp-dark);
}

.rk-temp-pressure-box p {
    margin: 0;
    font-size: 15px;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-temp-header, .rk-temp-dashboard, .rk-temp-limits, .rk-temp-article { padding: 30px 20px; }
    .rk-temp-grid { grid-template-columns: 1fr; gap: 30px; }
    .rk-temp-cards { grid-template-columns: 1fr; }
    .rk-temp-visual { min-height: 220px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/"
    },
    "headline": "Jaka jest maksymalna temperatura i ciśnienie pracy rur ogrzewania podłogowego?",
    "description": "Limity temperatur (PN-EN 1264) i ciśnień dla rur PEX/PE-RT. Zobacz interaktywny symulator naprężeń cieplnych i dowiedz się, dlaczego 55°C to absolutne maksimum.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/#dataset",
    "name": "Normy temperaturowe PN-EN 1264 i PN-EN ISO 15875-1",
    "description": "Zestawienie dopuszczalnych temperatur zasilania, temperatur awaryjnych rur polimerowych oraz limitów fizjologicznych temperatury powierzchni podłogi.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna temperatura zasilania podłogówki",
      "temperatura podłogi norma PN-EN 1264",
      "wytrzymałość rury PEX 95°C",
      "pękanie wylewki betonowej",
      "ciśnienie robocze ogrzewania podłogowego"
    ],
    "measurementTechnique": "Określenie warunków brzegowych pracy instalacji wg klasy 4 ISO 15875-1 i wymogów komfortu cieplnego PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Maksymalna robocza PEX/PE-RT: 70°C (Awaryjna 95°C przez 100h).",
        "Max temperatura zasilania wprowadzana w jastrych: 55°C.",
        "Tmax powierzchni: 29°C (pokoje), 33°C (łazienki), 35°C (strefy brzegowe).",
        "Maksymalne ciśnienie: 6-10 bar w zależności od typoszeregu SDR."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/#webapp",
    "name": "Symulator Naprężeń Termicznych Jastrychu",
    "description": "Interaktywny panel kontrolny pozwalający symulować podnoszenie temperatury zasilania i wizualizujący jego destrukcyjny wpływ na wylewkę i starzenie polimeru.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-temp-container">
    <div class="rk-temp-header">
        <div class="rk-temp-badge">Parametry Graniczne ISO / PN-EN</div>
        <h2>Jaka jest maksymalna temperatura i ciśnienie pracy rur?</h2>
        <p>Przekroczenie norm temperaturowych to najszybsza droga do pęknięcia jastrychu i zniszczenia struktury polimeru. Przetestuj w symulatorze zachowanie podłogówki przy różnych parametrach kotłowni.</p>
    </div>

    <div class="rk-temp-dashboard">
        <div class="rk-temp-grid">
            
            <div class="rk-temp-controls">
                <h3>Symulator Zasilania</h3>
                <div class="rk-temp-slider-wrap">
                    <div class="rk-temp-slider-header">
                        <span class="rk-temp-slider-label">Temperatura zasilania</span>
                        <span class="rk-temp-slider-val" id="rkTempVal">35°C</span>
                    </div>
                    <input type="range" id="rkTempSlider" class="rk-temp-range" min="20" max="95" step="1" value="35">
                </div>
                
                <div class="rk-temp-status-card" id="rkTempStatusBox">
                    <h4 class="rk-temp-status-title" id="rkTempStatusTitle">Optymalnie (Pompa Ciepła)</h4>
                    <p class="rk-temp-status-desc" id="rkTempStatusDesc">Idealna temperatura pracy. Bezpieczna dla wylewki, zapewnia równomierne oddawanie ciepła i długą żywotność rur.</p>
                </div>
            </div>

            <div class="rk-temp-visual state-optimal" id="rkTempVisualBox">
                <svg class="rk-temp-svg" viewBox="0 0 100 100">
                    <path d="M10 20 L90 20 L90 80 L10 80 Z" class="anim-screed" stroke="#94a3b8" stroke-width="2" rx="5" />
                    <path d="M 30 20 L 40 40 L 35 60 L 50 80 M 70 20 L 65 50 L 80 80" fill="none" stroke="#b91c1c" stroke-width="3" class="anim-crack" />
                    <path d="M 25 15 Q 30 5 25 -5 M 50 15 Q 55 5 50 -5 M 75 15 Q 80 5 75 -5" fill="none" stroke-width="3" class="anim-wave" />
                    <circle cx="50" cy="50" r="15" fill="#ffffff" stroke="#64748b" stroke-width="3" />
                    <circle cx="50" cy="50" r="11" class="anim-pipe-heat" />
                </svg>
            </div>

        </div>
    </div>

    <div class="rk-temp-limits">
        <h3>Normatywne Limity Powierzchni Podłogi (T<sub>max</sub>)</h3>
        <div class="rk-temp-cards">
            <div class="rk-tmax-card">
                <svg class="rk-tmax-icon" 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"/><polyline points="9 22 9 12 15 12 15 22"/></svg>
                <span class="rk-tmax-val">29°C</span>
                <span class="rk-tmax-label">Strefy Stałe (Salon)</span>
            </div>
            <div class="rk-tmax-card">
                <svg class="rk-tmax-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M2 12h20"/><path d="M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8"/><path d="M10 8V6a2 2 0 0 1 2-2h0a2 2 0 0 1 2 2v2"/></svg>
                <span class="rk-tmax-val">33°C</span>
                <span class="rk-tmax-label">Łazienki</span>
            </div>
            <div class="rk-tmax-card">
                <svg class="rk-tmax-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><line x1="3" y1="9" x2="21" y2="9"/><line x1="9" y1="21" x2="9" y2="9"/></svg>
                <span class="rk-tmax-val">35°C</span>
                <span class="rk-tmax-label">Strefy Brzegowe</span>
            </div>
        </div>
    </div>

    <div class="rk-temp-article">
        <p>Zgodnie z wymogami projektowymi, w instalacjach płaszczyznowych optymalna temperatura zasilania wynosi <strong>35°C</strong>, a maksymalna dopuszczalna temperatura czynnika grzewczego wprowadzanego w <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">jastrych</a> nie może przekraczać <strong>55°C</strong>. Wynika to wprost z ograniczeń fizjologicznych człowieka oraz obwarowań zawartych w <strong><a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">normie PN-EN 1264</a></strong>.</p>
        
        <p>Niedopuszczalne jest podawanie na pętle grzewcze parametrów właściwych dla instalacji grzejnikowych (np. 70/55°C). Takie błędy skutkują ogromnymi naprężeniami termicznymi, odspajaniem płytek, <strong>pękaniem jastrychu</strong>, zniszczeniem okładzin, a u użytkowników prowadzą do przegrzania stóp i problemów krążeniowych żylnych.</p>

        <div class="rk-temp-pressure-box">
            <h4>Wytrzymałość Rury: Temperatura i Ciśnienie</h4>
            <p>Maksymalna dopuszczalna temperatura robocza dla <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rur PEX i PE-RT</a> w klasie 4 wynosi <strong>70°C</strong>. Projektowa temperatura awaryjna (T<sub>mal</sub>) to z kolei <strong>95°C</strong> (przez łączny maksymalny czas 100 godzin w ciągu 50 lat eksploatacji, wg PN-EN ISO 15875-1). Standardowe ciśnienie robocze wynosi <strong>6 bar lub 10 bar</strong>. Przekraczanie tych ram w sposób ciągły błyskawicznie przyspiesza proces starzenia termooksydacyjnego polimeru.</p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('rkTempSlider');
    const tempVal = document.getElementById('rkTempVal');
    const statusBox = document.getElementById('rkTempStatusBox');
    const statusTitle = document.getElementById('rkTempStatusTitle');
    const statusDesc = document.getElementById('rkTempStatusDesc');
    const visualBox = document.getElementById('rkTempVisualBox');

    function updateSimulation(value) {
        tempVal.innerText = value + '°C';

        // Logika stref temperatur
        if (value <= 40) {
            // OPTYMALNA (20-40)
            tempVal.style.color = 'var(--rk-temp-green)';
            visualBox.className = 'rk-temp-visual state-optimal';
            
            statusBox.style.background = '#f0fdf4';
            statusBox.style.borderColor = '#86efac';
            statusTitle.style.color = '#166534';
            statusDesc.style.color = '#15803d';
            
            statusTitle.innerText = 'Optymalnie (Norma)';
            statusDesc.innerText = 'Idealna temperatura pracy. Bezpieczna dla wylewki, zapewnia równomierne oddawanie ciepła i najwyższy współczynnik COP pompy ciepła.';
            
        } else if (value > 40 && value <= 55) {
            // OSTRZEŻENIE / MAX DOPUSZCZALNA (41-55)
            tempVal.style.color = 'var(--rk-temp-orange)';
            visualBox.className = 'rk-temp-visual state-warning';
            
            statusBox.style.background = '#fffbeb';
            statusBox.style.borderColor = '#fcd34d';
            statusTitle.style.color = '#b45309';
            statusDesc.style.color = '#b45309';
            
            statusTitle.innerText = 'Górna Granica Zasilania (Max 55°C)';
            statusDesc.innerText = 'Dopuszczalne przez normy, ale obniża sprawność źródła ciepła. Zbliżamy się do limitu Tmax dla komfortu ludzkiej stopy.';
            
        } else {
            // NIEBEZPIECZEŃSTWO / GRZEJNIKI (>55)
            tempVal.style.color = 'var(--rk-temp-red)';
            visualBox.className = 'rk-temp-visual state-danger';
            
            statusBox.style.background = '#fef2f2';
            statusBox.style.borderColor = '#fca5a5';
            statusTitle.style.color = '#b91c1c';
            statusDesc.style.color = '#b91c1c';
            
            statusTitle.innerText = 'Krytyczne Przegrzanie Wylewki!';
            statusDesc.innerText = 'Parametry grzejnikowe niszczą instalację. Występują naprężenia termiczne, pęka jastrych i przyspiesza starzenie struktury polimeru PEX.';
        }
    }

    slider.addEventListener('input', (e) => {
        updateSimulation(e.target.value);
    });

    // Inicjalizacja
    updateSimulation(slider.value);
});
</script>



<style>
:root {
    --rk-dia-dark: #0f172a;
    --rk-dia-darker: #020617;
    --rk-dia-primary: #0ea5e9;
    --rk-dia-primary-hover: #0284c7;
    --rk-dia-secondary: #3b82f6;
    --rk-dia-accent: #f59e0b;
    --rk-dia-success: #10b981;
    --rk-dia-danger: #ef4444;
    --rk-dia-bg: #ffffff;
    --rk-dia-surface: #f8fafc;
    --rk-dia-border: #e2e8f0;
    --rk-dia-text: #475569;
}

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

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

.rk-dia-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.2);
    color: #7dd3fc;
    padding: 6px 14px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(14, 165, 233, 0.3);
}

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

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

/* Poziomy Selektor (Zoptymalizowany pod kątem uwag z poprzedniego widoku) */
.rk-dia-selector {
    display: flex;
    justify-content: center;
    background: var(--rk-dia-surface);
    padding: 25px 45px;
    border-bottom: 1px solid var(--rk-dia-border);
}

.rk-dia-tabs {
    display: flex;
    background: #ffffff;
    border: 1px solid var(--rk-dia-border);
    border-radius: 16px;
    padding: 6px;
    gap: 6px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
    width: 100%;
    max-width: 600px;
}

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

.rk-dia-tab span {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.7;
}

.rk-dia-tab:hover {
    background: #f1f5f9;
    color: var(--rk-dia-dark);
}

.rk-dia-tab.active {
    background: var(--rk-dia-primary);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(14, 165, 233, 0.4);
}

/* Dashboard Interaktywny */
.rk-dia-dashboard {
    padding: 40px 45px;
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 40px;
    align-items: center;
    background: #ffffff;
}

/* Lewa Kolumna - SVG Przekrój Rury */
.rk-dia-visual {
    background: var(--rk-dia-surface);
    border: 1px dashed #94a3b8;
    border-radius: 20px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 100%;
    min-height: 280px;
}

.rk-dia-svg {
    width: 100%;
    max-width: 180px;
    height: auto;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Animacje wnętrza rury */
.anim-water-flow { transform-origin: center; transition: all 0.5s ease; }
.anim-pipe-wall { transition: stroke-width 0.5s ease, r 0.5s ease; }

.state-14 .anim-water-flow { r: 35; fill: #60a5fa; animation: pulseFast 1s infinite alternate; }
.state-14 .anim-pipe-wall { r: 45; stroke-width: 10; stroke: #94a3b8; }
.state-14 .rk-dia-svg { transform: scale(0.85); }

.state-16 .anim-water-flow { r: 50; fill: #3b82f6; animation: pulseNormal 2s infinite alternate; }
.state-16 .anim-pipe-wall { r: 60; stroke-width: 10; stroke: #64748b; }
.state-16 .rk-dia-svg { transform: scale(1); }

.state-20 .anim-water-flow { r: 70; fill: #1d4ed8; animation: pulseSlow 3s infinite alternate; }
.state-20 .anim-pipe-wall { r: 80; stroke-width: 10; stroke: #475569; }
.state-20 .rk-dia-svg { transform: scale(1.2); }

@keyframes pulseFast { 0% { filter: drop-shadow(0 0 5px rgba(96, 165, 250, 0.8)); } 100% { filter: drop-shadow(0 0 15px rgba(96, 165, 250, 0.2)); } }
@keyframes pulseNormal { 0% { filter: drop-shadow(0 0 10px rgba(59, 130, 246, 0.6)); } 100% { filter: drop-shadow(0 0 20px rgba(59, 130, 246, 0.3)); } }
@keyframes pulseSlow { 0% { filter: drop-shadow(0 0 15px rgba(29, 78, 216, 0.5)); } 100% { filter: drop-shadow(0 0 25px rgba(29, 78, 216, 0.4)); } }

.rk-dia-cap-label {
    margin-top: 25px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-dia-dark);
    text-transform: uppercase;
}

.rk-dia-cap-val {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-dia-primary);
    line-height: 1;
    margin-top: 5px;
}

.rk-dia-cap-val small {
    font-size: 16px;
    color: var(--rk-dia-text);
}

/* Prawa Kolumna - Statystyki i Wskaźniki */
.rk-dia-stats {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

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

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

.rk-dia-card-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-dia-dark);
    text-transform: uppercase;
}

.rk-dia-card-status {
    font-size: 13px;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 6px;
}

/* Kolory statusów */
.status-err { background: #fee2e2; color: #991b1b; }
.status-ok { background: #dcfce7; color: #166534; }
.status-warn { background: #fef3c7; color: #b45309; }

/* Pasek oporu */
.rk-dia-progress-wrap {
    height: 12px;
    background: var(--rk-dia-surface);
    border-radius: 99px;
    overflow: hidden;
    position: relative;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.05);
}

.rk-dia-progress-fill {
    height: 100%;
    border-radius: 99px;
    transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.6s;
}

.rk-dia-desc {
    margin-top: 10px;
    font-size: 14px;
    color: var(--rk-dia-text);
    line-height: 1.6;
}

/* Tekst główny artykułu */
.rk-dia-article {
    padding: 40px 45px;
    background: var(--rk-dia-surface);
    border-top: 1px solid var(--rk-dia-border);
}

.rk-dia-article p {
    font-size: 16px;
    line-height: 1.75;
    color: var(--rk-dia-text);
    margin: 0 0 20px 0;
}

.rk-dia-article p:last-child { margin: 0; }

.rk-dia-article strong {
    color: var(--rk-dia-dark);
}

.rk-dia-article a {
    color: var(--rk-dia-primary);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-dia-primary);
    transition: border-color 0.3s;
}

.rk-dia-article a:hover {
    border-bottom-style: solid;
}

@media (max-width: 768px) {
    .rk-dia-header, .rk-dia-selector, .rk-dia-dashboard, .rk-dia-article { padding: 25px 20px; }
    .rk-dia-dashboard { grid-template-columns: 1fr; gap: 30px; }
    .rk-dia-tabs { flex-direction: column; }
    .rk-dia-tab { padding: 12px; flex-direction: row; justify-content: center; gap: 10px; }
    .rk-dia-tab span { margin-top: 2px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Jaka średnica rur do podłogówki jest optymalna?",
    "description": "Porównanie średnic rur ogrzewania podłogowego: 14mm, 16mm i 20mm. Dowiedz się, jak pojemność wodna i opory hydrauliczne wpływają na dobór pompy obiegowej.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/#dataset",
    "name": "Zestawienie pojemności wodnej i oporów hydraulicznych rur grzewczych",
    "description": "Dane inżynieryjne obrazujące różnice w zładzie wody oraz wpływie przekroju na parametry pracy pompy obiegowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "średnica rury do podłogówki",
      "rura 16x2.0 pojemność wodna",
      "opory hydrauliczne pętli",
      "rura 20mm ogrzewanie podłogowe",
      "dobór pompy obiegowej do podłogówki"
    ],
    "measurementTechnique": "Obliczenia hydrauliczne weryfikujące stratę ciśnienia (Pa/m) oraz pojemność wewnętrzną (l/m) przewodów PEX.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rura 16x2.0 mm: Pojemność 0,113 l/m. Standard budownictwa jednorodzinnego.",
        "Rura 20x2.0 mm: Pojemność 0,201 l/m. Przeznaczona do długich obiegów i hal.",
        "Rura 14x2.0 mm: Generuje wysokie opory, ryzyko przekroczenia wysokości podnoszenia pompy (6-8m)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/#webapp",
    "name": "Symulator Średnic Rur i Pojemności Wodnej",
    "description": "Interaktywny pulpit pozwalający przełączać się między przekrojami 14mm, 16mm i 20mm w celu wizualizacji wpływu średnicy na opory hydrauliczne i obciążenie pompy obiegowej.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dia-container">
    <div class="rk-dia-header">
        <div class="rk-dia-badge">Hydraulika i Przepływy</div>
        <h2>Jaka średnica rur do podłogówki jest optymalna?</h2>
        <p>Wybór średnicy bezpośrednio determinuje pojemność wodną instalacji oraz wymagany profil ciśnienia pompy obiegowej. Przełączaj średnice na panelu, aby zobaczyć różnice inżynieryjne.</p>
    </div>

    <div class="rk-dia-selector">
        <div class="rk-dia-tabs">
            <button class="rk-dia-tab" data-dia="14">14 mm <span>Cienkościenna</span></button>
            <button class="rk-dia-tab active" data-dia="16">16 mm <span>Standard</span></button>
            <button class="rk-dia-tab" data-dia="20">20 mm <span>Przemysłowa</span></button>
        </div>
    </div>

    <div class="rk-dia-dashboard">
        <div class="rk-dia-visual" id="rkVisualBox">
            <svg class="rk-dia-svg" viewBox="0 0 200 200">
                <circle cx="100" cy="100" r="95" fill="none" stroke="#e2e8f0" stroke-width="2" stroke-dasharray="6"/>
                <circle cx="100" cy="100" r="60" class="anim-pipe-wall" fill="none"/>
                <circle cx="100" cy="100" r="50" class="anim-water-flow"/>
            </svg>
            <div class="rk-dia-cap-label">Pojemność wodna (Zład)</div>
            <div class="rk-dia-cap-val" id="rkCapVal">0,113 <small>l/m</small></div>
        </div>

        <div class="rk-dia-stats">
            
            <div class="rk-dia-card">
                <div class="rk-dia-card-header">
                    <span class="rk-dia-card-title">Opory hydrauliczne (Pa/m)</span>
                    <span class="rk-dia-card-status status-ok" id="rkStatusRes">Optymalne</span>
                </div>
                <div class="rk-dia-progress-wrap">
                    <div class="rk-dia-progress-fill" id="rkBarRes" style="width: 40%; background-color: var(--rk-dia-success);"></div>
                </div>
                <div class="rk-dia-desc" id="rkDescRes">Zapewnia idealny kompromis pomiędzy stratą ciśnienia a łatwością układania i gięcia rury.</div>
            </div>

            <div class="rk-dia-card">
                <div class="rk-dia-card-header">
                    <span class="rk-dia-card-title">Obciążenie pompy obiegowej</span>
                    <span class="rk-dia-card-status status-ok" id="rkStatusPump">Standard (6m)</span>
                </div>
                <div class="rk-dia-progress-wrap">
                    <div class="rk-dia-progress-fill" id="rkBarPump" style="width: 30%; background-color: var(--rk-dia-success);"></div>
                </div>
                <div class="rk-dia-desc" id="rkDescPump">Wystarczająca pojemność dla domów jednorodzinnych, bez ryzyka przekroczenia wysokości podnoszenia.</div>
            </div>

        </div>
    </div>

    <div class="rk-dia-article">
        <p>Standardową średnicą stosowaną w budownictwie jednorodzinnym i wielorodzinnym jest <strong>16 mm z grubością ścianki 2,0 mm (16&#215;2,0)</strong>, co zapewnia optymalny kompromis pomiędzy oporami hydraulicznymi a łatwością profilowania pętli na budowie.</p>
        
        <p>Dla obiektów przemysłowych, hal magazynowych lub bardzo długich obiegów magistralnych stosuje się rury o średnicy <strong>20 mm ze ścianką 2,0 mm lub 2,5 mm</strong>. Wybór średnicy bezpośrednio determinuje <a href="https://projekt-ogrzewania.pl/wiekszy-czy-mniejszy-zlad-wody-w-ogrzewaniu-podlogowym/">pojemność wodną instalacji</a> oraz wymagany profil ciśnienia <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">pompy obiegowej</a>.</p>
        
        <p>Pojemność wodna rury 16&#215;2,0 wynosi dokładnie <strong>0,113 litra</strong> na każdy metr bieżący. Dla porównania, rura 20&#215;2,0 mieści w sobie <strong>0,201 l/m</strong>. Zastosowanie rury o mniejszym przekroju (np. 14&#215;2,0) drastycznie zwiększa jednostkowe straty ciśnienia (wyrażane w paskalach na metr – Pa/m), co przy stałym wydatku masowym pompy może doprowadzić do przekroczenia maksymalnej wysokości podnoszenia standardowych pomp obiegowych wbudowanych w urządzenia grzewcze (zazwyczaj 6 m lub 8 m słupa wody).</p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('.rk-dia-tab');
    
    // Obiekty DOM do aktualizacji
    const visualBox = document.getElementById('rkVisualBox');
    const capVal = document.getElementById('rkCapVal');
    
    const barRes = document.getElementById('rkBarRes');
    const statusRes = document.getElementById('rkStatusRes');
    const descRes = document.getElementById('rkDescRes');
    
    const barPump = document.getElementById('rkBarPump');
    const statusPump = document.getElementById('rkStatusPump');
    const descPump = document.getElementById('rkDescPump');

    const diaData = {
        '14': {
            cls: 'state-14',
            cap: '0,079',
            resPct: '90%',
            resColor: 'var(--rk-dia-danger)',
            resStatus: 'Krytyczne',
            resStatusCls: 'status-err',
            resDesc: 'Drastyczny wzrost oporów (Pa/m). Rura zbyt ciasna dla standardowych, długich pętli.',
            pumpPct: '85%',
            pumpColor: 'var(--rk-dia-danger)',
            pumpStatus: 'Przeciążenie',
            pumpStatusCls: 'status-err',
            pumpDesc: 'Ryzyko przekroczenia możliwości podnoszenia standardowej pompy kotłowej (6m/8m). Konieczność bardzo krótkich obiegów.'
        },
        '16': {
            cls: 'state-16',
            cap: '0,113',
            resPct: '40%',
            resColor: 'var(--rk-dia-success)',
            resStatus: 'Optymalne',
            resStatusCls: 'status-ok',
            resDesc: 'Zapewnia idealny kompromis pomiędzy stratą ciśnienia a łatwością układania i gięcia rury.',
            pumpPct: '30%',
            pumpColor: 'var(--rk-dia-success)',
            pumpStatus: 'Standard (6m)',
            pumpStatusCls: 'status-ok',
            pumpDesc: 'Wystarczająca pojemność dla domów jednorodzinnych, bez ryzyka przeciążenia hydraulicznego rozdzielacza.'
        },
        '20': {
            cls: 'state-20',
            cap: '0,201',
            resPct: '15%',
            resColor: 'var(--rk-dia-secondary)',
            resStatus: 'Znikome',
            resStatusCls: 'status-ok',
            resDesc: 'Minimalne straty ciśnienia na odcinkach. Rura sztywna, trudniejsza w układaniu na małych powierzchniach.',
            pumpPct: '15%',
            pumpColor: 'var(--rk-dia-secondary)',
            pumpStatus: 'Wysoka wydajność',
            pumpStatusCls: 'status-ok',
            pumpDesc: 'Duży zład wody idealnie stabilizuje pracę pomp ciepła w halach przemysłowych i przy bardzo długich obiegach.'
        }
    };

    function updateUI(dia) {
        const data = diaData[dia];

        // 1. Aktualizacja animacji SVG
        visualBox.className = `rk-dia-visual ${data.cls}`;
        capVal.innerHTML = `${data.cap} <small>l/m</small>`;

        // 2. Aktualizacja wskaźnika oporów
        barRes.style.width = data.resPct;
        barRes.style.backgroundColor = data.resColor;
        statusRes.innerText = data.resStatus;
        statusRes.className = `rk-dia-card-status ${data.resStatusCls}`;
        descRes.innerText = data.resDesc;

        // 3. Aktualizacja wskaźnika pompy
        barPump.style.width = data.pumpPct;
        barPump.style.backgroundColor = data.pumpColor;
        statusPump.innerText = data.pumpStatus;
        statusPump.className = `rk-dia-card-status ${data.pumpStatusCls}`;
        descPump.innerText = data.pumpDesc;
    }

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

            // Aktualizacja UI
            const dia = this.getAttribute('data-dia');
            updateUI(dia);
        });
    });

    // Inicjalizacja dla domyślnej klasy (16mm)
    updateUI('16');
});
</script>



<style>
:root {
    --rk-loop-dark: #0f172a;
    --rk-loop-darker: #020617;
    --rk-loop-blue: #2563eb;
    --rk-loop-blue-hover: #1d4ed8;
    --rk-loop-red: #ef4444;
    --rk-loop-orange: #f59e0b;
    --rk-loop-green: #10b981;
    --rk-loop-gray: #64748b;
    --rk-loop-bg: #ffffff;
    --rk-loop-surface: #f8fafc;
    --rk-loop-border: #e2e8f0;
}

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

/* Nagłówek */
.rk-loop-header {
    background: linear-gradient(to right, var(--rk-loop-dark), var(--rk-loop-darker));
    padding: 35px 40px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-loop-blue);
}

.rk-loop-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 12px 0;
    line-height: 1.3;
}

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

/* Interaktywny Panel Główny */
.rk-loop-interactive {
    padding: 35px 40px;
    background: var(--rk-loop-surface);
    border-bottom: 1px solid var(--rk-loop-border);
}

/* Kontrolki na pełną szerokość */
.rk-loop-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 30px;
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-loop-border);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-loop-ctrl-group {
    flex: 1;
    min-width: 250px;
}

.rk-loop-ctrl-label {
    display: block;
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-loop-gray);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}

/* Przyciski średnicy rury */
.rk-loop-diameters {
    display: flex;
    gap: 10px;
}

.rk-loop-dia-btn {
    flex: 1;
    padding: 12px 5px;
    background: var(--rk-loop-surface);
    border: 1px solid var(--rk-loop-border);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-loop-gray);
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
}

.rk-loop-dia-btn:hover {
    border-color: #93c5fd;
    color: var(--rk-loop-blue);
}

.rk-loop-dia-btn.active {
    background: var(--rk-loop-blue);
    border-color: var(--rk-loop-blue);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.3);
}

/* Suwak długości */
.rk-loop-slider-wrap {
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-loop-range {
    flex: 1;
    -webkit-appearance: none;
    height: 6px;
    background: #cbd5e1;
    border-radius: 4px;
    outline: none;
}

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

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

.rk-loop-len-val {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-loop-dark);
    min-width: 65px;
    text-align: right;
}

/* Kafelki z Wynikami (Płaski układ) */
.rk-loop-results {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 25px;
}

.rk-loop-res-card {
    background: #ffffff;
    border: 1px solid var(--rk-loop-border);
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-loop-res-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-loop-gray);
    text-transform: uppercase;
    margin-bottom: 8px;
}

.rk-loop-res-val {
    font-size: 24px;
    font-weight: 900;
}

.val-ok { color: var(--rk-loop-green); }
.val-warn { color: var(--rk-loop-orange); }
.val-err { color: var(--rk-loop-red); }

/* Szeroka Wizualizacja SVG (Temperatura pętli) */
.rk-loop-vis-box {
    background: #ffffff;
    border: 1px solid var(--rk-loop-border);
    border-radius: 12px;
    padding: 20px;
    position: relative;
}

.rk-loop-vis-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-loop-gray);
    text-transform: uppercase;
    margin-bottom: 15px;
    text-align: center;
}

.rk-loop-svg {
    width: 100%;
    height: 60px;
    display: block;
}

.rk-loop-alert {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 15px;
    padding: 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    transition: all 0.3s;
}

.alert-ok { background: #dcfce7; color: #166534; }
.alert-err { background: #fee2e2; color: #991b1b; }

/* Sekcja Artykułu / Wzoru */
.rk-loop-article {
    padding: 40px;
    background: #ffffff;
}

.rk-loop-article p {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 20px 0;
}

.rk-loop-article p:last-child { margin: 0; }

.rk-loop-formula-card {
    background: #f1f5f9;
    border-left: 4px solid var(--rk-loop-blue);
    padding: 25px;
    border-radius: 0 12px 12px 0;
    margin: 25px 0;
    display: flex;
    align-items: center;
    gap: 25px;
}

.rk-loop-math {
    font-family: 'Courier New', Courier, monospace;
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-loop-dark);
    white-space: nowrap;
}

.rk-loop-math-desc {
    font-size: 14px;
    color: var(--rk-loop-gray);
    line-height: 1.6;
}

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

@media (max-width: 768px) {
    .rk-loop-header, .rk-loop-interactive, .rk-loop-article { padding: 25px 20px; }
    .rk-loop-results { grid-template-columns: 1fr; }
    .rk-loop-formula-card { flex-direction: column; align-items: flex-start; gap: 15px; }
    .rk-loop-controls { padding: 15px; flex-direction: column; gap: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/"
    },
    "headline": "Jaka jest maksymalna długość jednej pętli ogrzewania podłogowego?",
    "description": "Poznaj maksymalne długości rur grzewczych (14mm, 16mm, 20mm). Sprawdź konsekwencje przekroczenia oporów hydraulicznych i zjawisko zimnych plam.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/#dataset",
    "name": "Dopuszczalne długości pętli grzewczych i opory hydrauliczne",
    "description": "Zestawienie limitów długości przewodów ogrzewania płaszczyznowego względem ich średnicy i generowanych strat ciśnienia (limit 20 kPa).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna długość pętli ogrzewania podłogowego",
      "opory hydrauliczne podłogówki",
      "rura 16x2.0 maksymalna długość",
      "zimne plamy na podłodze",
      "regulacja rotametrów rozdzielacza"
    ],
    "measurementTechnique": "Algorytm oparty na wzorze Δp = R · L + Z, wyliczający sumaryczną stratę ciśnienia instalacji.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rura 14 mm: Limit 80 metrów bieżących.",
        "Rura 16 mm: Limit 100 metrów bieżących.",
        "Rura 20 mm: Limit 150 metrów bieżących.",
        "Krytyczny opór hydrauliczny: > 20 kPa."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/#webapp",
    "name": "Kalkulator Oporów i Długości Pętli",
    "description": "Narzędzie symulujące rozkład temperatur (wychładzanie czynnika) oraz wzrost strat ciśnienia na pętli w zależności od średnicy rury.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-loop-container">
    <div class="rk-loop-header">
        <h2>Jaka jest maksymalna długość jednej pętli ogrzewania podłogowego?</h2>
        <p>Przekroczenie maksymalnej długości rury generuje ogromne opory hydrauliczne. Uniemożliwia to wyregulowanie rotametrów na rozdzielaczu i prowadzi do powstawania tzw. zimnych plam.</p>
    </div>

    <div class="rk-loop-interactive">
        
        <div class="rk-loop-controls">
            <div class="rk-loop-ctrl-group">
                <span class="rk-loop-ctrl-label">Średnica rury (zewnętrzna)</span>
                <div class="rk-loop-diameters" id="rkDiaSelector">
                    <button class="rk-loop-dia-btn" data-dia="14" data-max="80">14 mm</button>
                    <button class="rk-loop-dia-btn active" data-dia="16" data-max="100">16 mm</button>
                    <button class="rk-loop-dia-btn" data-dia="20" data-max="150">20 mm</button>
                </div>
            </div>
            
            <div class="rk-loop-ctrl-group" style="flex: 1.5;">
                <span class="rk-loop-ctrl-label">Projektowana długość pętli (L)</span>
                <div class="rk-loop-slider-wrap">
                    <input type="range" id="rkLenSlider" class="rk-loop-range" min="40" max="180" step="1" value="85">
                    <span class="rk-loop-len-val" id="rkLenVal">85 m</span>
                </div>
            </div>
        </div>

        <div class="rk-loop-results">
            <div class="rk-loop-res-card">
                <span class="rk-loop-res-label">Limit normatywny</span>
                <span class="rk-loop-res-val" id="rkLimitVal">100 m</span>
            </div>
            <div class="rk-loop-res-card">
                <span class="rk-loop-res-label">Straty ciśnienia (Δp)</span>
                <span class="rk-loop-res-val val-ok" id="rkPressVal">~12 kPa</span>
            </div>
            <div class="rk-loop-res-card">
                <span class="rk-loop-res-label">Wydolność strefy</span>
                <span class="rk-loop-res-val val-ok" id="rkEffVal">100%</span>
            </div>
        </div>

        <div class="rk-loop-vis-box">
            <div class="rk-loop-vis-title">Wizualizacja Rozkładu Temperatury (Zasilanie → Powrót)</div>
            <svg class="rk-loop-svg" preserveAspectRatio="none">
                <defs>
                    <linearGradient id="rkTempGrad" x1="0%" y1="0%" x2="100%" y2="0%">
                        <stop offset="0%" stop-color="#ef4444" id="stopStart" />
                        <stop offset="50%" stop-color="#f59e0b" id="stopMid" />
                        <stop offset="100%" stop-color="#10b981" id="stopEnd" />
                    </linearGradient>
                </defs>
                <rect x="0" y="20" width="100%" height="20" rx="10" fill="url(#rkTempGrad)" />
            </svg>
            <div class="rk-loop-alert alert-ok" id="rkAlertBox">
                <svg width="20" height="20" 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"/><polyline points="22 4 12 14.01 9 11.01"/></svg>
                <span id="rkAlertText">Parametry w normie. Równomierne oddawanie ciepła.</span>
            </div>
        </div>

    </div>

    <div class="rk-loop-article">
        <p>Maksymalna długość pojedynczej pętli grzewczej dla rury o średnicy <strong>16&#215;2,0 mm</strong> wynosi <strong>100 metrów</strong>, wliczając w to odcinki dobiegowe (podejścia od rozdzielacza do pomieszczenia). Dla rur o średnicy <strong>20 mm</strong> limit ten wynosi <strong>150 metrów</strong>, natomiast dla rur cienkościennych <strong>14 mm</strong> nie należy przekraczać <strong>80 metrów</strong>.</p>
        
        <p>Przekroczenie tych długości generuje drastyczne opory hydrauliczne powyżej <strong>20 kPa</strong> na jednej pętli, uniemożliwiając prawidłowe zrównoważenie instalacji na rotametrach rozdzielacza. Konsekwencją wykonania zbyt długiej pętli (np. 140 metrów na rurze 16 mm) jest zjawisko niedogrzania strefy powrotnej. Woda płynąca przez rurę oddaje ciepło zbyt wcześnie, a wychłodzony czynnik w końcowej części pętli nie jest w stanie pokryć strat ciepła pomieszczenia. Powoduje to powstawanie tzw. &#8222;zimnych plam&#8221; na podłodze.</p>

        <div class="rk-loop-formula-card">
            <div class="rk-loop-math">
                <i>&Delta;p</i> = <i>R</i> &middot; <i>L</i> + <i>Z</i>
            </div>
            <div class="rk-loop-math-desc">
                Łączna strata ciśnienia rośnie proporcjonalnie do kwadratu natężenia przepływu. <br>
                Gdzie: <br>
                <strong><i>R</i></strong> to liniowy opór jednostkowy [Pa/m], <br>
                <strong><i>L</i></strong> to długość rury [m], <br>
                <strong><i>Z</i></strong> to opory miejscowe (łuki, zagięcia).
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const diaBtns = document.querySelectorAll('.rk-loop-dia-btn');
    const slider = document.getElementById('rkLenSlider');
    const lenVal = document.getElementById('rkLenVal');
    const limitVal = document.getElementById('rkLimitVal');
    const pressVal = document.getElementById('rkPressVal');
    const effVal = document.getElementById('rkEffVal');
    const alertBox = document.getElementById('rkAlertBox');
    const alertText = document.getElementById('rkAlertText');
    const stopEnd = document.getElementById('stopEnd');

    let currentMax = 100;

    function updateSimulation() {
        const length = parseInt(slider.value);
        lenVal.innerText = length + ' m';

        // Prosta symulacja oporów (nieliniowa ze względu na kwadrat przepływu w teorii, 
        // tu uproszczona do celów demonstracyjnych). 
        // Zakładamy max opór ok 20 kPa przy długości maksymalnej.
        let pressure = Math.pow(length / currentMax, 1.8) * 18; 
        
        // Klasy i kolory
        pressVal.classList.remove('val-ok', 'val-warn', 'val-err');
        effVal.classList.remove('val-ok', 'val-warn', 'val-err');
        alertBox.classList.remove('alert-ok', 'alert-err');

        if (length <= currentMax) {
            // W normie
            pressVal.innerText = `~${pressure.toFixed(1)} kPa`;
            pressVal.classList.add('val-ok');
            effVal.innerText = "100%";
            effVal.classList.add('val-ok');
            
            stopEnd.setAttribute('stop-color', '#10b981'); // Zielony/Ciepły powrót
            
            alertBox.classList.add('alert-ok');
            alertBox.innerHTML = `<svg width="20" height="20" 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"/><polyline points="22 4 12 14.01 9 11.01"/></svg> <span id="rkAlertText">Parametry w normie. Równomierne oddawanie ciepła.</span>`;
        } else {
            // Przekroczenie
            pressVal.innerText = `> ${pressure.toFixed(1)} kPa`;
            pressVal.classList.add('val-err');
            
            // Oblicz spadek wydajności
            let eff = Math.max(10, 100 - ((length - currentMax) * 1.5));
            effVal.innerText = `${eff.toFixed(0)}%`;
            effVal.classList.add('val-err');

            stopEnd.setAttribute('stop-color', '#2563eb'); // Niebieski/Zimny powrót
            
            alertBox.classList.add('alert-err');
            alertBox.innerHTML = `<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg> <span id="rkAlertText">BŁĄD: Zbyt duży opór. Ryzyko powstawania zimnych plam.</span>`;
        }
    }

    diaBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            diaBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            
            currentMax = parseInt(this.getAttribute('data-max'));
            limitVal.innerText = currentMax + ' m';
            
            updateSimulation();
        });
    });

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



<style>
:root {
    --rk-space-dark: #0f172a;
    --rk-space-blue: #0ea5e9;
    --rk-space-blue-bg: #f0f9ff;
    --rk-space-teal: #14b8a6;
    --rk-space-green: #10b981;
    --rk-space-orange: #f59e0b;
    --rk-space-red: #ef4444;
    --rk-space-gray: #64748b;
    --rk-space-border: #e2e8f0;
    --rk-space-bg: #ffffff;
}

.rk-space-container, .rk-space-container * {
    box-sizing: border-box !important;
}

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

/* Nagłówek */
.rk-space-header {
    background: linear-gradient(135deg, var(--rk-space-dark) 0%, #1e293b 100%);
    padding: 40px 45px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-space-teal);
}

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

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

/* Interaktywna Aplikacja */
.rk-space-app {
    padding: 40px 45px;
    background: #f8fafc;
}

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

/* Suwak (Slider) */
.rk-space-control {
    background: #ffffff;
    border: 1px solid var(--rk-space-border);
    border-radius: 16px;
    padding: 30px;
    margin-bottom: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-slider-wrapper {
    position: relative;
    padding: 0 10px;
}

.rk-slider-labels {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-space-gray);
}

.rk-slider-labels span {
    cursor: pointer;
    transition: all 0.3s;
}

.rk-slider-labels span.active {
    color: var(--rk-space-blue);
    transform: scale(1.1);
}

/* TWARDE WYMUSZENIE KIERUNKU LTR (Left-To-Right) ZAPOBIEGA ODWRACANIU DANYCH */
.rk-space-range {
    width: 100%;
    -webkit-appearance: none;
    appearance: none;
    height: 8px;
    background: #e2e8f0;
    border-radius: 4px;
    outline: none;
    direction: ltr !important; 
}

.rk-space-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--rk-space-blue);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(14, 165, 233, 0.4);
    border: 3px solid #ffffff;
    transition: transform 0.2s, background 0.3s;
}

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

/* Karty z Danymi */
.rk-space-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.rk-stat-card {
    background: #ffffff;
    border: 1px solid var(--rk-space-border);
    border-radius: 12px;
    padding: 25px 20px;
    text-align: center;
    transition: transform 0.3s, border-color 0.3s;
}

.rk-stat-card:hover {
    transform: translateY(-2px);
    border-color: #bae6fd;
}

.rk-stat-icon {
    width: 28px;
    height: 28px;
    margin: 0 auto 12px;
    color: var(--rk-space-teal);
}

.rk-stat-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-space-gray);
    text-transform: uppercase;
    margin-bottom: 8px;
    display: block;
}

.rk-stat-value {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-space-dark);
    display: block;
    line-height: 1.2;
}

.rk-stat-value small {
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-space-gray);
}

.rk-stat-full {
    grid-column: span 2;
    background: var(--rk-space-dark);
    color: #ffffff;
}

.rk-stat-full .rk-stat-title { color: #94a3b8; }
.rk-stat-full .rk-stat-value { color: #ffffff; font-size: 20px; }

/* Sekcja z opisem tekstowym */
.rk-space-article {
    padding: 40px 45px;
    background: #ffffff;
    border-top: 1px solid var(--rk-space-border);
}

.rk-space-article h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-space-dark);
    margin: 0 0 15px 0;
}

.rk-space-article p {
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 20px 0;
}

.rk-cop-alert {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    background: #ecfdf5;
    border-left: 4px solid var(--rk-space-green);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin-top: 25px;
}

.rk-cop-alert svg {
    width: 28px;
    height: 28px;
    color: var(--rk-space-green);
    flex-shrink: 0;
    animation: rkPulseCop 2s infinite;
}

@keyframes rkPulseCop {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

.rk-cop-text h4 {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 800;
    color: #065f46;
}

.rk-cop-text p {
    margin: 0;
    font-size: 14px;
    color: #047857;
}

.rk-space-article a {
    color: var(--rk-space-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-space-blue);
    transition: all 0.3s;
}

.rk-space-article a:hover {
    color: #0284c7;
    border-bottom-style: solid;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-space-header, .rk-space-app, .rk-space-article { padding: 30px 20px; }
    .rk-space-stats { grid-template-columns: 1fr; }
    .rk-stat-full { grid-column: span 1; }
    .rk-slider-labels { font-size: 12px; }
    .rk-cop-alert { flex-direction: column; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/#article-rozstaw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/"
    },
    "headline": "Jak gęsto rozkładać rury w podłogówce?",
    "description": "Zrozum, jak rozstaw rur wpływa na zużycie materiału, temperaturę podłogi oraz wydajność COP pompy ciepła. Interaktywny kalkulator gęstości ułożenia.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/#dataset-rozstaw",
    "name": "Tabela zużycia rur i rozstawów dla ogrzewania płaszczyznowego (WT2021)",
    "description": "Dane na temat gęstości ułożenia rury PE-RT/PEX na 1 m2 w zależności od docelowej strefy grzewczej i wymagań termicznych budynku.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rozstaw rur 10 czy 15 cm",
      "strefa brzegowa podłogówki",
      "COP pompy ciepła",
      "zużycie rury na m2 ogrzewania podłogowego",
      "maksymalna długość pętli ogrzewania"
    ],
    "measurementTechnique": "Przeliczenie geometryczne powierzchni pola grzewczego uwzględniające naddatek instalacyjny 2%.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozstaw 5 cm: zużycie 20,0 m/m2 (Strefy brzegowe).",
        "Rozstaw 10 cm: zużycie 10,0 m/m2 (Łazienki, Pompy ciepła).",
        "Rozstaw 15 cm: zużycie 6,7 m/m2 (Standard salonowy).",
        "Rozstaw 20 cm: zużycie 5,0 m/m2 (Garaże, korytarze)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/#webapp-rozstaw",
    "name": "Symulator Rozstawu Rur i Wpływu na COP",
    "description": "Interaktywny symulator wizualizujący zagęszczenie rur grzewczych na siatce podłogowej i jego wpływ na sprawność układu termicznego i zużycie materiałów.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-space-container">
    <div class="rk-space-header">
        <h2>Jak gęsto rozkładać rury w podłogówce?</h2>
        <p>Wybór rozstawu (interwału) wpływa bezpośrednio na średnią temperaturę podłogi, moc grzewczą oraz ostateczny pobór prądu. Zobacz, jak zmieniają się parametry w zależności od wybranej gęstości.</p>
    </div>

    <div class="rk-space-app">
        <h3>Symulator Zużycia Materiału i Stref Grzewczych</h3>
        
        <div class="rk-space-control">
            <div class="rk-slider-labels">
                <span data-val="5">5 cm</span>
                <span data-val="10">10 cm</span>
                <span data-val="15" class="active">15 cm</span>
                <span data-val="20">20 cm</span>
            </div>
            <div class="rk-slider-wrapper">
                <input type="range" id="rkSpacingSlider" class="rk-space-range" min="5" max="20" step="5" value="15">
            </div>
        </div>

        <div class="rk-space-stats">
            <div class="rk-stat-card">
                <svg class="rk-stat-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="21 8 21 21 3 21 3 8"></polyline><rect x="1" y="3" width="22" height="5"></rect><line x1="10" y1="12" x2="14" y2="12"></line></svg>
                <span class="rk-stat-title">Zużycie rury (m²)</span>
                <span class="rk-stat-value" id="rkStatUsage">6,7 <small>m</small></span>
            </div>
            <div class="rk-stat-card">
                <svg class="rk-stat-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                <span class="rk-stat-title">Pokrycie z 1 pętli (100m)</span>
                <span class="rk-stat-value" id="rkStatArea">13,5 <small>m²</small></span>
            </div>
            <div class="rk-stat-card rk-stat-full">
                <span class="rk-stat-title">Zastosowanie dedykowane (Strefa)</span>
                <span class="rk-stat-value" id="rkStatTarget">Standard budowlany WT2021, salony, pokoje</span>
            </div>
        </div>
    </div>

    <div class="rk-space-article">
        <h3>Strefy brzegowe i centralne – klucz do balansu</h3>
        <p>Standardowy rozstaw rur grzewczych w strefach centralnych pomieszczeń mieszkalnych wynosi <strong>10 cm lub 15 cm</strong>. W pomieszczeniach pomocniczych, takich jak garaże czy spiżarnie, z powodzeniem można zastosować rzadszy układ, np. <strong>20 cm</strong>, co obniża koszty materiału bez strat dla komfortu użytkowego.</p>
        
        <p>Kluczowe znaczenie ma <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/">strefa brzegowa</a> (wzdłuż ścian zewnętrznych, przy oknach tarasowych i dużych przeszkleniach). Stosuje się tam maksymalne zagęszczenie (rozstaw <strong>5 cm lub 10 cm</strong>) na szerokości pasma minimum 1 metra od przegrody. Ma to na celu skompensowanie zwiększonych lokalnych strat ciepła i zablokowanie zjawiska tzw. radiacji chłodu.</p>

        <div class="rk-cop-alert">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
            <div class="rk-cop-text">
                <h4>Wpływ rozstawu na sprawność Pompy Ciepła</h4>
                <p>Zmniejszenie rozstawu z 15 cm na 10 cm (decyzja podjęta w <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">trakcie projektu</a>) pozwala na obniżenie wymaganej temperatury zasilania czynnika o około <strong>3-4°C</strong> przy zachowaniu identycznej wydajności cieplnej pokoju. To zjawisko bezpośrednio podnosi współczynnik sprawności COP o około <strong>6-8% w skali roku</strong>.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('rkSpacingSlider');
    const labels = document.querySelectorAll('.rk-slider-labels span');
    
    // DOM Elements to update
    const statUsage = document.getElementById('rkStatUsage');
    const statArea = document.getElementById('rkStatArea');
    const statTarget = document.getElementById('rkStatTarget');

    // MAPOWANIE DANYCH WEJŚCIOWYCH (POPRAWNE DLA LTR)
    const spacingData = {
        '5': {
            usage: '20,0',
            area: '4,0 - 4,5',
            target: 'Strefy brzegowe pod dużymi oknami (Strefa Gęsta)',
            color: 'var(--rk-space-orange)'
        },
        '10': {
            usage: '10,0',
            area: '8,0 - 9,0',
            target: 'Łazienki, domy o wyższym zapotrzebowaniu, pompy ciepła',
            color: 'var(--rk-space-green)'
        },
        '15': {
            usage: '6,7',
            area: '12,0 - 13,5',
            target: 'Standard budowlany WT2021, salony, pokoje',
            color: 'var(--rk-space-blue)'
        },
        '20': {
            usage: '5,0',
            area: '16,0 - 18,0',
            target: 'Pomieszczenia techniczne, korytarze, garaże',
            color: 'var(--rk-space-gray)'
        }
    };

    function updateUI(value) {
        const data = spacingData[value];
        
        // Aktualizacja tekstów i wartości
        statUsage.innerHTML = `${data.usage} <small>m</small>`;
        statArea.innerHTML = `${data.area} <small>m²</small>`;
        statTarget.innerText = data.target;

        // Aktualizacja etykiet tekstowych nad suwakiem
        labels.forEach(l => {
            if(l.getAttribute('data-val') === value.toString()) {
                l.classList.add('active');
                l.style.color = data.color;
            } else {
                l.classList.remove('active');
                l.style.color = 'var(--rk-space-gray)';
            }
        });

        // Dynamiczna zmiana barwy suwaka
        slider.style.setProperty('--rk-space-blue', data.color);
    }

    // Wywołanie przy ruchu suwakiem
    slider.addEventListener('input', (e) => updateUI(e.target.value));
    
    // Wywołanie przy kliknięciu bezpośrednio w etykiety tekstowe
    labels.forEach(label => {
        label.addEventListener('click', function() {
            const val = this.getAttribute('data-val');
            slider.value = val;
            updateUI(val);
        });
    });

    // Inicjalizacja startowa dla domyślnej wartości (15 cm)
    updateUI(slider.value);
});
</script>



<style>
:root {
    --rk-algo-dark: #0f172a;
    --rk-algo-blue: #2563eb;
    --rk-algo-blue-light: #eff6ff;
    --rk-algo-cyan: #06b6d4;
    --rk-algo-green: #10b981;
    --rk-algo-orange: #f59e0b;
    --rk-algo-red: #ef4444;
    --rk-algo-gray: #64748b;
    --rk-algo-border: #e2e8f0;
    --rk-algo-bg: #ffffff;
}

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

.rk-algo-header {
    background: linear-gradient(135deg, var(--rk-algo-dark) 0%, #1e3a8a 100%);
    padding: 40px 45px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.rk-algo-header::after {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background: url('data:image/svg+xml;utf8,<svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><path d="M0 100 C 20 0 50 0 100 100 Z" fill="rgba(255,255,255,0.03)"/></svg>') no-repeat center right / cover;
    pointer-events: none;
}

.rk-algo-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    position: relative;
    z-index: 2;
}

.rk-algo-header p {
    font-size: 16px;
    color: #bfdbfe;
    margin: 0;
    line-height: 1.6;
    max-width: 750px;
    position: relative;
    z-index: 2;
}

.rk-algo-interactive {
    background: #ffffff;
    display: flex;
    flex-direction: column;
}

/* Timeline Nawigacja - Pozioma */
.rk-algo-timeline {
    background: #f8fafc;
    padding: 25px 40px;
    border-bottom: 1px solid var(--rk-algo-border);
    display: flex;
    justify-content: space-between;
    position: relative;
}

/* Linia łącząca kroki */
.rk-algo-timeline::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 40px;
    right: 40px;
    height: 4px;
    background: #e2e8f0;
    transform: translateY(-50%);
    z-index: 1;
}

.rk-algo-step-btn {
    position: relative;
    z-index: 2;
    background: #f8fafc;
    border: none;
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-algo-gray);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 0 15px;
    text-align: center;
}

/* Numerek nad tekstem */
.rk-algo-step-btn::before {
    content: attr(data-step);
    width: 32px;
    height: 32px;
    background: #ffffff;
    border: 3px solid #e2e8f0;
    color: #94a3b8;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 900;
    transition: all 0.3s;
    box-shadow: 0 0 0 4px #f8fafc; /* Przykrywa linię w tle */
}

.rk-algo-step-btn:hover {
    color: var(--rk-algo-dark);
}

.rk-algo-step-btn:hover::before {
    border-color: #cbd5e1;
    color: var(--rk-algo-dark);
}

.rk-algo-step-btn.active {
    color: var(--rk-algo-blue);
}

.rk-algo-step-btn.active::before {
    background: var(--rk-algo-blue);
    border-color: var(--rk-algo-blue);
    color: #ffffff;
    box-shadow: 0 0 0 4px #f8fafc, 0 0 15px rgba(37, 99, 235, 0.4);
}

/* Panele z Treścią */
.rk-algo-panels {
    padding: 40px 45px;
}

.rk-algo-panel {
    display: none;
    animation: fadeInSlide 0.4s ease-out forwards;
}

.rk-algo-panel.active {
    display: block;
}

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

.rk-algo-panel h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-algo-dark);
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-algo-border);
}

.rk-algo-formula-box {
    background: #f1f5f9;
    border-left: 4px solid var(--rk-algo-cyan);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin-bottom: 25px;
    font-family: monospace;
    font-size: 16px;
    color: var(--rk-algo-dark);
}

.rk-algo-formula-box strong {
    color: var(--rk-algo-blue);
}

/* Interaktywny Kalkulator - Slidery */
.rk-calc-widget {
    background: #ffffff;
    border: 1px solid var(--rk-algo-border);
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
    margin-bottom: 25px;
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 30px;
}

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

.rk-slider-group:last-child {
    margin-bottom: 0;
}

.rk-slider-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-algo-dark);
}

.rk-slider-val {
    color: var(--rk-algo-blue);
}

.rk-range {
    width: 100%;
    -webkit-appearance: none;
    height: 6px;
    background: #e2e8f0;
    border-radius: 5px;
    outline: none;
}

.rk-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--rk-algo-blue);
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.4);
    transition: transform 0.1s;
}

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

/* Wizualizacja na żywo */
.rk-live-visual {
    background: #f8fafc;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border: 1px dashed #cbd5e1;
}

.rk-live-result {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-algo-dark);
    margin-top: 15px;
    text-align: center;
}

.rk-live-result span {
    font-size: 14px;
    color: var(--rk-algo-gray);
    display: block;
    font-weight: 600;
    text-transform: uppercase;
}

/* SVG Animations */
.rk-svg-icon { width: 100%; max-width: 120px; height: auto; }
.anim-pulse { animation: rkPulse 2s infinite alternate; }
.anim-flow { stroke-dasharray: 10; animation: rkFlow 1s linear infinite; }
.anim-float { transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); }

@keyframes rkPulse { 0% { filter: drop-shadow(0 0 2px rgba(239, 68, 68, 0.4)); } 100% { filter: drop-shadow(0 0 10px rgba(239, 68, 68, 0.8)); } }
@keyframes rkFlow { to { stroke-dashoffset: -20; } }

.rk-algo-desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-algo-gray);
}

.rk-algo-desc a {
    color: var(--rk-algo-blue);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px dotted var(--rk-algo-blue);
}

.rk-warning-box {
    background: #fef2f2;
    border-left: 4px solid var(--rk-algo-red);
    padding: 12px 15px;
    border-radius: 0 8px 8px 0;
    color: #991b1b;
    font-size: 14px;
    font-weight: 600;
    margin-top: 15px;
    display: none;
}

@media (max-width: 800px) {
    .rk-algo-timeline { flex-wrap: wrap; justify-content: flex-start; gap: 15px; padding: 20px; }
    .rk-algo-timeline::before { display: none; }
    .rk-algo-step-btn { flex-direction: row; text-align: left; width: 100%; padding: 10px; background: #ffffff; border: 1px solid var(--rk-algo-border); border-radius: 12px; }
    .rk-algo-step-btn::before { position: relative; box-shadow: none; }
    .rk-algo-step-btn.active::before { box-shadow: none; }
    .rk-calc-widget { grid-template-columns: 1fr; }
    .rk-algo-header, .rk-algo-panels { padding: 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/"
    },
    "headline": "Algorytm obliczeniowy: Jak dobrać ilość rury i przepływy?",
    "description": "Krok po kroku: od obliczeń zapotrzebowania cieplnego (OZC), przez długość rury grzewczej, aż po precyzyjne ustawienie rotametru na rozdzielaczu 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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/#dataset",
    "name": "Zestawienie stałych fizycznych i współczynników OZC dla ogrzewania podłogowego",
    "description": "Zbiór parametrów niezbędnych do ręcznego lub maszynowego wyliczania przepływów hydraulicznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zapotrzebowanie na strumień ciepła",
      "przepływ masowy czynnika ogrzewania",
      "jak ustawić rotametr podłogówki",
      "długość pętli ogrzewania podłogowego",
      "obliczenia OZC norma PN-EN 12831"
    ],
    "measurementTechnique": "Obliczenia inżynieryjne oparte na normach PN-EN 12831 oraz PN-EN 1264 z uwzględnieniem ciepła właściwego wody i współczynników ugięcia rury.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Współczynnik strat stropowych: 1,05.",
        "Współczynnik naddatku na ugięcia i łuki rury: 1,02.",
        "Ciepło właściwe wody (c_w): 4186 J/(kg·K)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/#webapp",
    "name": "Kalkulator Przepływów i Długości Rury Ogrzewania Podłogowego",
    "description": "Interaktywny widget pozwalający inwestorowi na dynamiczne symulowanie zapotrzebowania na ciepło, gęstości ułożenia rury i wynikowej nastawy rotametru (l/min).",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-algo-container">
    <div class="rk-algo-header">
        <h2>Algorytm obliczeniowy: Jak dobrać ilość rury i przepływy?</h2>
        <p>W celu przeprowadzenia rzetelnego doboru inżynierskiego, należy zrealizować procedurę obliczeniową. Skorzystaj z poniższego interaktywnego kalkulatora, aby prześledzić ten proces na własnych parametrach.</p>
    </div>

    <div class="rk-algo-interactive">
        <div class="rk-algo-timeline">
            <button class="rk-algo-step-btn active" data-step="1" onclick="rkSwitchStep(1)">Strumień ciepła<br><small>(Q<sub>obl</sub>)</small></button>
            <button class="rk-algo-step-btn" data-step="2" onclick="rkSwitchStep(2)">Długość rury<br><small>(L<sub>r</sub>)</small></button>
            <button class="rk-algo-step-btn" data-step="3" onclick="rkSwitchStep(3)">Przepływ masowy<br><small>(m)</small></button>
            <button class="rk-algo-step-btn" data-step="4" onclick="rkSwitchStep(4)">Nastawa rotametru<br><small>(V<sub>V</sub>)</small></button>
        </div>

        <div class="rk-algo-panels">
            
            <div class="rk-algo-panel active" id="rk-step-1">
                <h3>Krok 1: Zapotrzebowanie na strumień ciepła</h3>
                <div class="rk-algo-formula-box">
                    Q<sub>obl</sub> = Q<sub>pom</sub> &times; 1,05
                </div>
                
                <div class="rk-calc-widget">
                    <div>
                        <div class="rk-slider-group">
                            <div class="rk-slider-header">
                                <span>Straty ciepła pokoju (Q<sub>pom</sub>)</span>
                                <span class="rk-slider-val" id="val-qpom">1200 W</span>
                            </div>
                            <input type="range" id="inp-qpom" class="rk-range" min="300" max="2500" step="50" value="1200" oninput="rkUpdateCalc()">
                        </div>
                        <p class="rk-algo-desc">Obliczamy zapotrzebowanie na moc grzewczą na podstawie <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektu OZC</a> zgodnego z normą PN-EN 12831. Mnożnik <strong>1,05</strong> to inżynierski naddatek na straty ciepła przenikającego przez posadzkę do przestrzeni poniżej.</p>
                    </div>
                    <div class="rk-live-visual">
                        <svg class="rk-svg-icon" viewBox="0 0 100 100">
                            <path d="M 20 60 L 50 30 L 80 60 L 80 90 L 20 90 Z" fill="none" stroke="#64748b" stroke-width="4"/>
                            <path d="M 35 80 Q 40 60 35 45" fill="none" stroke="#ef4444" stroke-width="3" class="anim-pulse"/>
                            <path d="M 50 80 Q 55 60 50 45" fill="none" stroke="#ef4444" stroke-width="3" class="anim-pulse" style="animation-delay: 0.2s;"/>
                            <path d="M 65 80 Q 70 60 65 45" fill="none" stroke="#ef4444" stroke-width="3" class="anim-pulse" style="animation-delay: 0.4s;"/>
                        </svg>
                        <div class="rk-live-result">
                            <span id="res-qobl">1260</span>
                            <span>Wat (Q<sub>obl</sub>)</span>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-algo-panel" id="rk-step-2">
                <h3>Krok 2: Obliczenie wymaganej długości rury</h3>
                <div class="rk-algo-formula-box">
                    L<sub>r</sub> = (A / b) &times; 1,02
                </div>
                
                <div class="rk-calc-widget">
                    <div>
                        <div class="rk-slider-group">
                            <div class="rk-slider-header">
                                <span>Powierzchnia (A)</span>
                                <span class="rk-slider-val" id="val-area">18 m²</span>
                            </div>
                            <input type="range" id="inp-area" class="rk-range" min="5" max="40" step="1" value="18" oninput="rkUpdateCalc()">
                        </div>
                        <div class="rk-slider-group">
                            <div class="rk-slider-header">
                                <span>Rozstaw rur (b)</span>
                                <span class="rk-slider-val" id="val-space">15 cm</span>
                            </div>
                            <input type="range" id="inp-space" class="rk-range" min="5" max="25" step="5" value="15" oninput="rkUpdateCalc()">
                        </div>
                        <p class="rk-algo-desc">Mnożnik <strong>1,02</strong> uwzględnia ugięcia i profilowanie łuków. <br><em>Uwaga:</em> Maksymalna długość pętli dla rury 16&#215;2.0 to 100m. Jeśli wynik przekracza tę wartość, należy zaprojektować dodatkową pętlę.</p>
                        <div id="warn-length" class="rk-warning-box">
                            Wartość przekracza 100 m! Pętla zostanie podzielona na układ wielokrotny.
                        </div>
                    </div>
                    <div class="rk-live-visual">
                        <svg class="rk-svg-icon" viewBox="0 0 100 100">
                            <path id="svg-pipe-coil" d="M 10 10 L 90 10 L 90 90 L 20 90 L 20 20 L 80 20 L 80 80 L 30 80 L 30 30 L 70 30" fill="none" stroke="#2563eb" stroke-width="4" stroke-linecap="round"/>
                        </svg>
                        <div class="rk-live-result">
                            <span id="res-length">122.4</span>
                            <span id="res-loops">m (2 pętle)</span>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-algo-panel" id="rk-step-3">
                <h3>Krok 3: Przepływ masowy czynnika (m)</h3>
                <div class="rk-algo-formula-box">
                    m = Q<sub>pętli</sub> / (c<sub>w</sub> &times; &Delta;T)
                </div>
                
                <div class="rk-calc-widget">
                    <div>
                        <div class="rk-slider-group">
                            <div class="rk-slider-header">
                                <span>Różnica temp. zasilanie/powrót (&Delta;T)</span>
                                <span class="rk-slider-val" id="val-dt">5 K</span>
                            </div>
                            <input type="range" id="inp-dt" class="rk-range" min="3" max="10" step="1" value="5" oninput="rkUpdateCalc()">
                        </div>
                        <p class="rk-algo-desc">Ciepło właściwe wody (<strong>c<sub>w</sub></strong>) wynosi stałe 4186 J/(kg·K). Dla systemów z pompą ciepła standardem jest &Delta;T = 5 K. Zbyt duże &Delta;T świadczy o niewydolności przepływu na pętli.</p>
                    </div>
                    <div class="rk-live-visual">
                        <svg class="rk-svg-icon" viewBox="0 0 100 100">
                            <path d="M 20 50 C 40 20, 60 80, 80 50" fill="none" stroke="#e2e8f0" stroke-width="12" stroke-linecap="round"/>
                            <path d="M 20 50 C 40 20, 60 80, 80 50" fill="none" stroke="#06b6d4" stroke-width="6" stroke-linecap="round" class="anim-flow"/>
                        </svg>
                        <div class="rk-live-result">
                            <span id="res-mass">108.4</span>
                            <span>kg/h</span>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-algo-panel" id="rk-step-4">
                <h3>Krok 4: Przeliczenie na nastawę rotametru</h3>
                <div class="rk-algo-formula-box">
                    V<sub>V</sub> = m / 60
                </div>
                
                <div class="rk-calc-widget">
                    <div>
                        <p class="rk-algo-desc">Ostatni krok to zamiana przepływu masowego na objętościowy w litrach na minutę. Ta wartość jest ostateczną wytyczną dla instalatora, który reguluje układ na belce rozdzielacza za pomocą <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrów</a>.</p>
                        <p class="rk-algo-desc" style="color: var(--rk-algo-dark); font-weight: 700;">Wartość wyliczona dla Twoich parametrów:</p>
                    </div>
                    <div class="rk-live-visual" style="background: #ffffff; border-color: var(--rk-algo-blue);">
                        <svg class="rk-svg-icon" viewBox="0 0 60 120">
                            <rect x="20" y="10" width="20" height="100" fill="#f1f5f9" stroke="#cbd5e1" stroke-width="2" rx="4"/>
                            <line x1="15" y1="20" x2="25" y2="20" stroke="#94a3b8" stroke-width="2"/>
                            <line x1="15" y1="45" x2="25" y2="45" stroke="#94a3b8" stroke-width="2"/>
                            <line x1="15" y1="70" x2="25" y2="70" stroke="#94a3b8" stroke-width="2"/>
                            <line x1="15" y1="95" x2="25" y2="95" stroke="#94a3b8" stroke-width="2"/>
                            <polygon id="svg-float" points="20,80 30,70 40,80 30,90" fill="#ef4444" class="anim-float"/>
                        </svg>
                        <div class="rk-live-result">
                            <span id="res-vol" style="color: var(--rk-algo-blue);">1.8</span>
                            <span>l/min</span>
                        </div>
                    </div>
                </div>
            </div>

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

<script>
function rkSwitchStep(step) {
    // UI Navigation
    document.querySelectorAll('.rk-algo-step-btn').forEach(btn => btn.classList.remove('active'));
    document.querySelector(`.rk-algo-step-btn[data-step="${step}"]`).classList.add('active');
    
    document.querySelectorAll('.rk-algo-panel').forEach(panel => panel.classList.remove('active'));
    document.getElementById(`rk-step-${step}`).classList.add('active');
}

function rkUpdateCalc() {
    // 1. Get Inputs
    const q_pom = parseFloat(document.getElementById('inp-qpom').value);
    const area = parseFloat(document.getElementById('inp-area').value);
    const space_cm = parseFloat(document.getElementById('inp-space').value);
    const dt = parseFloat(document.getElementById('inp-dt').value);

    // Update Input UI Labels
    document.getElementById('val-qpom').innerText = q_pom + ' W';
    document.getElementById('val-area').innerText = area + ' m²';
    document.getElementById('val-space').innerText = space_cm + ' cm';
    document.getElementById('val-dt').innerText = dt + ' K';

    // 2. Step 1: Heat Demand
    const q_obl = q_pom * 1.05;
    document.getElementById('res-qobl').innerText = q_obl.toFixed(0);

    // 3. Step 2: Pipe Length & Loops
    const space_m = space_cm / 100;
    const length_total = (area / space_m) * 1.02;
    
    let loops = 1;
    let warnBox = document.getElementById('warn-length');
    
    if (length_total > 100) {
        loops = Math.ceil(length_total / 100);
        warnBox.style.display = 'block';
    } else {
        warnBox.style.display = 'none';
    }

    document.getElementById('res-length').innerText = length_total.toFixed(1);
    document.getElementById('res-loops').innerText = `m (${loops} ${loops === 1 ? 'pętla' : 'pętle'})`;

    // Dynamic pipe drawing just for visual effect based on spacing
    const coil = document.getElementById('svg-pipe-coil');
    if(space_cm <= 10) {
        coil.setAttribute('d', 'M 10 10 L 90 10 L 90 90 L 10 90 L 10 20 L 80 20 L 80 80 L 20 80 L 20 30 L 70 30 L 70 70 L 30 70 L 30 40 L 60 40');
    } else {
        coil.setAttribute('d', 'M 10 10 L 90 10 L 90 90 L 20 90 L 20 20 L 80 20 L 80 80 L 30 80 L 30 30 L 70 30');
    }

    // 4. Step 3: Mass Flow per loop
    const q_per_loop = q_obl / loops;
    const cw = 4186; // J/(kg*K)
    // Formula: m = Q / (cw * dT). Gives kg/s. Multiply by 3600 for kg/h
    const mass_flow = (q_per_loop / (cw * dt)) * 3600;
    document.getElementById('res-mass').innerText = mass_flow.toFixed(1);

    // 5. Step 4: Volume Flow (Rotameter)
    const vol_flow = mass_flow / 60;
    document.getElementById('res-vol').innerText = vol_flow.toFixed(2);

    // Update Rotameter Float SVG (Y maps roughly from 90 (0 l/min) to 20 (3.5 l/min))
    const max_flow = 3.5;
    let mapped_y = 90 - ((vol_flow / max_flow) * 70);
    if(mapped_y < 20) mapped_y = 20; // clamp max
    if(mapped_y > 90) mapped_y = 90; // clamp min
    
    document.getElementById('svg-float').setAttribute('points', `20,${mapped_y-10} 30,${mapped_y-20} 40,${mapped_y-10} 30,${mapped_y}`);
}

// Init calculation on load
document.addEventListener('DOMContentLoaded', rkUpdateCalc);
</script>



<style>
:root {
    --rk-dsgn-dark: #0f172a;
    --rk-dsgn-blue: #0284c7;
    --rk-dsgn-light: #f8fafc;
    --rk-dsgn-accent: #38bdf8;
    --rk-dsgn-warning: #eab308;
    --rk-dsgn-danger: #ef4444;
    --rk-dsgn-success: #10b981;
    --rk-dsgn-text: #334155;
    --rk-dsgn-border: #e2e8f0;
}

.rk-dsgn-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.15);
    border: 1px solid var(--rk-dsgn-border);
    overflow: hidden;
}

/* Header Section */
.rk-dsgn-header {
    background: radial-gradient(circle at top right, #1e293b, var(--rk-dsgn-dark));
    padding: 40px 45px;
    color: #ffffff;
    position: relative;
    border-bottom: 5px solid var(--rk-dsgn-blue);
}

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

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

/* Interactive Dashboard */
.rk-dsgn-dashboard {
    padding: 40px 45px;
    background: var(--rk-dsgn-light);
}

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

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

.rk-dsgn-btn {
    padding: 14px 28px;
    border: none;
    background: transparent;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 8px;
}

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

.rk-dsgn-slider {
    position: absolute;
    top: 6px;
    left: 6px;
    width: calc(50% - 6px);
    height: calc(100% - 12px);
    background: var(--rk-dsgn-blue);
    border-radius: 12px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.3);
}

.rk-dsgn-switch.state-error .rk-dsgn-slider {
    transform: translateX(100%);
    background: var(--rk-dsgn-danger);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}

/* Vis & Data Area */
.rk-dsgn-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: stretch;
}

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

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

/* SVG Visualization */
.rk-dsgn-visual {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 180px;
    background: #f1f5f9;
    border-radius: 12px;
    margin-bottom: 20px;
    overflow: hidden;
    position: relative;
}

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

/* SVG Animations */
.anim-pump-rotor { transform-origin: 30px 50px; transition: animation-duration 0.5s; }
.anim-heat-flow { stroke-dasharray: 10 10; animation: flowDash 2s linear infinite; }
.anim-temp-glow { transition: fill 0.5s; }

.state-pro-view .anim-pump-rotor { animation: spinRotor 3s linear infinite; fill: var(--rk-dsgn-blue); }
.state-pro-view .anim-heat-flow { stroke: var(--rk-dsgn-success); animation-duration: 3s; }
.state-pro-view .anim-temp-glow { fill: rgba(16, 185, 129, 0.2); }

.state-error-view .anim-pump-rotor { animation: spinRotor 0.5s linear infinite; fill: var(--rk-dsgn-danger); }
.state-error-view .anim-heat-flow { stroke: var(--rk-dsgn-warning); animation-duration: 0.8s; }
.state-error-view .anim-temp-glow { fill: rgba(239, 68, 68, 0.1); }

@keyframes spinRotor { 100% { transform: rotate(360deg); } }
@keyframes flowDash { to { stroke-dashoffset: -20; } }

/* Parameters List */
.rk-dsgn-params {
    list-style: none;
    padding: 0;
    margin: 0;
    flex-grow: 1;
}

.rk-dsgn-params li {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px dashed var(--rk-dsgn-border);
    font-size: 14px;
}

.rk-dsgn-params li:last-child { border-bottom: none; }
.rk-dsgn-params span:first-child { color: var(--rk-dsgn-text); font-weight: 600; }
.rk-dsgn-params span:last-child { font-weight: 800; transition: color 0.3s; }

.val-pro { color: var(--rk-dsgn-success); }
.val-err { color: var(--rk-dsgn-danger); }

/* Text Content */
.rk-dsgn-article {
    padding: 40px 45px;
    background: #ffffff;
}

.rk-dsgn-article h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-dsgn-dark);
    margin: 0 0 20px 0;
}

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

.rk-dsgn-article a {
    color: var(--rk-dsgn-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s;
}

.rk-dsgn-article a:hover { border-color: var(--rk-dsgn-blue); }

.rk-highlight-box {
    background: #f0fdfa;
    border-left: 4px solid var(--rk-dsgn-success);
    padding: 15px 20px;
    border-radius: 0 8px 8px 0;
    margin: 20px 0;
    font-weight: 600;
    color: #0f766e;
    font-size: 15px;
}

/* CTA */
.rk-dsgn-cta {
    background: var(--rk-dsgn-dark);
    padding: 45px;
    text-align: center;
    border-top: 4px solid var(--rk-dsgn-warning);
}

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

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

.rk-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: linear-gradient(135deg, var(--rk-dsgn-warning) 0%, #ca8a04 100%);
    color: #ffffff;
    padding: 20px 40px;
    border-radius: 16px;
    font-size: 18px;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 10px 25px -5px rgba(234, 179, 8, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-btn-massive:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 20px 35px -5px rgba(234, 179, 8, 0.5);
}

.rk-btn-massive svg { transition: transform 0.3s; }
.rk-btn-massive:hover svg { transform: translateX(5px); }

/* Mobile adjustments */
@media (max-width: 768px) {
    .rk-dsgn-header, .rk-dsgn-dashboard, .rk-dsgn-article, .rk-dsgn-cta { padding: 30px 20px; }
    .rk-dsgn-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-dsgn-switch { display: flex; width: 100%; flex-direction: column; background: transparent; padding: 0; gap: 10px; box-shadow: none; }
    .rk-dsgn-slider { display: none; }
    .rk-dsgn-btn { width: 100%; justify-content: center; background: #e2e8f0; }
    .rk-dsgn-btn.active[data-mode="pro"] { background: var(--rk-dsgn-blue); }
    .rk-dsgn-btn.active[data-mode="err"] { background: var(--rk-dsgn-danger); }
    .rk-dsgn-header h2 { font-size: 24px; }
    .rk-btn-massive { width: 100%; padding: 18px 20px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-wybor-rury-wplywa-na-projekt-ogrzewania-podlogowego/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-wybor-rury-wplywa-na-projekt-ogrzewania-podlogowego/"
    },
    "headline": "Jak wybór rury wpływa na projekt ogrzewania podłogowego?",
    "description": "Zobacz, jak samowolna zmiana parametrów rury (np. Lambda) i rozstawu niszczy bilans cieplny budynku oraz przeciąża pompę obiegową w układzie hydraulicznym.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-wybor-rury-wplywa-na-projekt-ogrzewania-podlogowego/#dataset",
    "name": "Zestawienie parametrów hydraulicznych i cieplnych rur podłogowych",
    "description": "Dane z obliczeń inżynierskich obrazujące wpływ zmiany materiału rury na wydajność pompy obiegowej i temperaturę zasilania instalacji.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego OZC",
      "norma PN-EN 1264",
      "dobór pompy obiegowej do podłogówki",
      "opór hydrauliczny pętli grzewczej",
      "przewodność cieplna rury lambda"
    ],
    "measurementTechnique": "Algorytmy przeliczeniowe zgodne z PN-EN 1264, porównujące sumaryczny opór pierścienia krytycznego przy różnych typach rur.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Projekt zgodny z OZC minimalizuje temperaturę zasilania.",
        "Zmiana rury o przewodności λ = 0,43 na słabszą powoduje niedogrzanie.",
        "Niewłaściwy dobór rur zwiększa zużycie energii elektrycznej przez pompę."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-wybor-rury-wplywa-na-projekt-ogrzewania-podlogowego/#webapp",
    "name": "Kalkulator Wpływu Średnicy Rury na Pompę Obiegową",
    "description": "Interaktywny symulator wizualizujący obciążenie pompy obiegowej oraz spadek mocy grzewczej w wyniku samowolnej zmiany parametrów instalacyjnych.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dsgn-container">
    <div class="rk-dsgn-header">
        <h2>Jak wybór rury wpływa na projekt i koszty ogrzewania?</h2>
        <p>Projektowanie instalacji płaszczyznowej to system naczyń połączonych. Zmiana jednego materiału na budowie bez przeliczeń inżynierskich niszczy całą hydraulikę układu.</p>
    </div>

    <div class="rk-dsgn-dashboard state-pro-view" id="dsgnDash">
        <div class="rk-dsgn-controls">
            <div class="rk-dsgn-switch" id="dsgnSwitchBg">
                <div class="rk-dsgn-slider"></div>
                <button class="rk-dsgn-btn active" data-mode="pro">
                    <svg width="20" height="20" 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"/><polyline points="22 4 12 14.01 9 11.01"/></svg>
                    Projekt wg OZC
                </button>
                <button class="rk-dsgn-btn" data-mode="err">
                    <svg width="20" height="20" 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"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>
                    Zmiana &#8222;na oko&#8221;
                </button>
            </div>
        </div>

        <div class="rk-dsgn-grid">
            <div class="rk-dsgn-card">
                <h4>
                    <svg width="24" height="24" 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>
                    Obciążenie hydrauliczne
                </h4>
                <div class="rk-dsgn-visual">
                    <svg class="rk-dsgn-svg" viewBox="0 0 100 100">
                        <path d="M 50 80 C 80 80, 80 20, 50 20 C 20 20, 20 80, 50 80" fill="none" stroke="#cbd5e1" stroke-width="12" stroke-linecap="round"/>
                        <path d="M 50 80 C 80 80, 80 20, 50 20 C 20 20, 20 80, 50 80" fill="none" stroke-width="6" stroke-linecap="round" class="anim-heat-flow"/>
                        <rect x="25" y="10" width="50" height="80" rx="10" class="anim-temp-glow"/>
                        <circle cx="30" cy="50" r="18" fill="#1e293b"/>
                        <path d="M 30 35 L 40 55 L 20 55 Z" class="anim-pump-rotor"/>
                        <circle cx="30" cy="50" r="4" fill="#ffffff"/>
                    </svg>
                </div>
                <p style="font-size: 14px; color: #64748b; text-align: center; margin: 0;" id="dsgnStatusText">
                    Zbilansowane opory. Pompa pracuje w optymalnym punkcie pracy krzywej charakterystyki.
                </p>
            </div>

            <div class="rk-dsgn-card">
                <h4>
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="20" x2="18" y2="10"/><line x1="12" y1="20" x2="12" y2="4"/><line x1="6" y1="20" x2="6" y2="14"/></svg>
                    Odczyty z układu
                </h4>
                <ul class="rk-dsgn-params" id="dsgnParamsList">
                    <li><span>Zakładana Przewodność (λ)</span> <span class="val-pro">0,43 W/(m·K)</span></li>
                    <li><span>Temperatura zasilania</span> <span class="val-pro">32°C (Optymalna)</span></li>
                    <li><span>Opór pierścienia (Δp)</span> <span class="val-pro">15 kPa</span></li>
                    <li><span>Zużycie energii (Pompa)</span> <span class="val-pro">Niskie (~15W)</span></li>
                    <li><span>Efekt w budynku (-20°C)</span> <span class="val-pro">Zapewniony komfort</span></li>
                </ul>
            </div>
        </div>
    </div>

    <div class="rk-dsgn-article">
        <h3>Normy i obliczenia nie wybaczą modyfikacji</h3>
        <p>Każda decyzja materiałowa i geometryczna bezpośrednio modyfikuje obliczenia hydrauliczne w projekcie wykonawczym instalacji sanitarnej. Zmiana średnicy rury lub jej rozstawu bez weryfikacji w programie inżynieryjnym (zgodnym z normą <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">PN-EN 1264</a>) bezpowrotnie skutkuje rozbalansowaniem systemu.</p>
        
        <div class="rk-highlight-box">
            Projektant, bazując na dokładnym <a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/">bilansie cieplnym (OZC)</a>, dobiera rozstaw rur w jednym celu – aby wymagana temperatura zasilania była jak najniższa.
        </div>

        <p>Jeśli w projekcie założono rurę o wysokiej przewodności cieplnej (np. wielowarstwową z wkładką aluminiową, gdzie współczynnik <strong>λ = 0,43 W/(m·K)</strong>), zastąpienie jej produktem o gorszych parametrach termicznych bez jednoczesnego zagęszczenia rozstawu spowoduje drastyczne niedogrzanie budynku przy projektowych temperaturach zewnętrznych (np. <strong>-20°C</strong> dla III strefy klimatycznej Polski).</p>

        <p>Dodatkowo, sumaryczny opór hydrauliczny najdłuższego obiegu (tzw. pierścień krytyczny) definiuje ścisłe wymagania wobec <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowej</a>. Zwiększenie oporów poprzez niewłaściwy dobór rur (np. zastosowanie mniejszej średnicy na zbyt długiej pętli) wymusza stosowanie droższych pomp o wyższej wysokości podnoszenia i potęguje zużycie energii elektrycznej przez całe urządzenie grzewcze w trakcie sezonu.</p>
    </div>

    <div class="rk-dsgn-cta">
        <h3>Nie ryzykuj straty materiału i późniejszych kosztów ogrzewania</h3>
        <p>Instalacja ułożona &#8222;na wyczucie&#8221; to gwarancja wyższych rachunków za prąd dla pompy ciepła i chłodnych stref w salonie. Zainwestuj ułamek wartości materiałów w rzetelne obliczenia inżynierskie.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-massive">
            ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('#dsgnSwitchBg .rk-dsgn-btn');
    const switchBg = document.getElementById('dsgnSwitchBg');
    const dash = document.getElementById('dsgnDash');
    const statusText = document.getElementById('dsgnStatusText');
    const paramsList = document.getElementById('dsgnParamsList');

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            const mode = this.getAttribute('data-mode');
            
            // Buttons toggle
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Switch UI State
            if (mode === 'pro') {
                switchBg.className = 'rk-dsgn-switch';
                dash.className = 'rk-dsgn-dashboard state-pro-view';
                
                statusText.innerHTML = 'Zbilansowane opory. Pompa pracuje w optymalnym punkcie pracy krzywej charakterystyki.';
                statusText.style.color = '#64748b';

                paramsList.innerHTML = `
                    <li><span>Zakładana Przewodność (λ)</span> <span class="val-pro">0,43 W/(m·K)</span></li>
                    <li><span>Temperatura zasilania</span> <span class="val-pro">32°C (Optymalna)</span></li>
                    <li><span>Opór pierścienia (Δp)</span> <span class="val-pro">15 kPa</span></li>
                    <li><span>Zużycie energii (Pompa)</span> <span class="val-pro">Niskie (~15W)</span></li>
                    <li><span>Efekt w budynku (-20°C)</span> <span class="val-pro">Zapewniony komfort</span></li>
                `;
            } else {
                switchBg.className = 'rk-dsgn-switch state-error';
                dash.className = 'rk-dsgn-dashboard state-error-view';
                
                statusText.innerHTML = 'Krytyczne opory hydrauliczne. Pompa pracuje na maksymalnym biegu, instalacja jest niedogrzana.';
                statusText.style.color = 'var(--rk-dsgn-danger)';

                paramsList.innerHTML = `
                    <li><span>Zmieniona Przewodność (λ)</span> <span class="val-err">0,35 W/(m·K)</span></li>
                    <li><span>Wymagane zasilanie</span> <span class="val-err">> 40°C (Spadek COP)</span></li>
                    <li><span>Opór pierścienia (Δp)</span> <span class="val-err">35 kPa (Przeciążenie)</span></li>
                    <li><span>Zużycie energii (Pompa)</span> <span class="val-err">Wysokie (Maks. bieg)</span></li>
                    <li><span>Efekt w budynku (-20°C)</span> <span class="val-err">Niedogrzanie budynku</span></li>
                `;
            }
        });
    });
});
</script>



<style>
:root {
    --rk-err-dark: #111827;
    --rk-err-red: #ef4444;
    --rk-err-red-glow: rgba(239, 68, 68, 0.2);
    --rk-err-orange: #f97316;
    --rk-err-gray: #4b5563;
    --rk-err-light: #f3f4f6;
    --rk-err-border: #e5e7eb;
    --rk-err-bg: #ffffff;
    --rk-err-blue: #3b82f6;
}

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

.rk-err-header {
    background: var(--rk-err-dark);
    padding: 35px 40px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-err-red);
}

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

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

.rk-err-body {
    display: grid;
    grid-template-columns: 300px 1fr;
    min-height: 450px;
}

/* Sidebar Nawigacja */
.rk-err-nav {
    background: var(--rk-err-light);
    padding: 20px;
    border-right: 1px solid var(--rk-err-border);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-err-tab {
    background: transparent;
    border: 2px solid transparent;
    padding: 15px;
    border-radius: 12px;
    text-align: left;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-err-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-err-tab:hover {
    background: #e5e7eb;
}

.rk-err-tab.active {
    background: #ffffff;
    border-color: var(--rk-err-red);
    color: var(--rk-err-dark);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.rk-err-icon-wrap {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-err-gray);
    transition: all 0.3s;
}

.rk-err-tab.active .rk-err-icon-wrap {
    background: var(--rk-err-red-glow);
    color: var(--rk-err-red);
}

/* Zawartość paneli */
.rk-err-content-wrapper {
    padding: 40px;
    position: relative;
    background: #ffffff;
}

.rk-err-panel {
    display: none;
    animation: fadeIn 0.4s ease-out forwards;
}

.rk-err-panel.active {
    display: block;
}

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

.rk-err-panel h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-err-dark);
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-err-border);
}

/* Treść tekstowa */
.rk-err-desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-err-gray);
}

.rk-err-desc p { margin: 0 0 15px 0; }

.rk-err-highlight {
    display: inline-block;
    background: #fef2f2;
    color: var(--rk-err-red);
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 700;
    font-family: monospace;
    font-size: 14px;
}

.rk-err-fix {
    background: #f0fdf4;
    border-left: 4px solid #22c55e;
    padding: 15px;
    border-radius: 0 8px 8px 0;
    margin-top: 20px;
}

.rk-err-fix h4 { margin: 0 0 5px 0; color: #166534; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; }
.rk-err-fix p { margin: 0; color: #15803d; font-size: 14px; font-weight: 600; }

.rk-err-desc a {
    color: var(--rk-err-blue);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px solid transparent;
    transition: border-color 0.3s;
}
.rk-err-desc a:hover { border-color: var(--rk-err-blue); }

/* Responsywność */
@media (max-width: 768px) {
    .rk-err-body { grid-template-columns: 1fr; }
    .rk-err-nav { flex-direction: row; overflow-x: auto; padding: 15px; scroll-snap-type: x mandatory; }
    .rk-err-tab { flex: 0 0 80%; scroll-snap-align: center; justify-content: center; flex-direction: column; text-align: center; padding: 10px; }
    .rk-err-content-wrapper { padding: 25px; }
    .rk-err-header { padding: 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/"
    },
    "headline": "Najczęstsze błędy montażowe przy układaniu rur do podłogówki",
    "description": "Złamanie rury, brak dylatacji brzegowych, sztukowanie w wylewce. Poznaj 5 krytycznych błędów instalacyjnych, które zniszczą Twoje ogrzewanie podłogowe.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#dataset-bledy",
    "name": "Katalog Krytycznych Błędów Instalacyjnych Podłogówki",
    "description": "Techniczne zestawienie najczęstszych odstępstw od norm budowlanych podczas montażu wodnego ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy montażowe ogrzewania podłogowego",
      "pęknięta rura PEX w wylewce",
      "dylatacja norma PN-EN 1264-4",
      "ukryte złączki w jastrychu",
      "minimalny promień gięcia rury 16mm"
    ],
    "measurementTechnique": "Weryfikacja parametrów fizycznych instalacji z wytycznymi norm PN-EN 1264 oraz standardami jakościowymi PORT PC.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Niedopuszczalne załamania struktury rury na łukach.",
        "Brak profili dylatacyjnych na powierzchniach powyżej 40 m2.",
        "Nieszczelności mechaniczne spowodowane łączeniem w betonie.",
        "Brak procedury ciśnieniowej (min. 6 bar) przed zalaniem.",
        "Blokowanie radiacji przez stałą zabudowę."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#webapp-symulator-awarii",
    "name": "Symulator Awarii Instalacyjnych",
    "description": "Interaktywny panel diagnostyczny prezentujący graficznie i tekstowo mechanikę powstawania usterek w jastrychu grzewczym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container">
    <div class="rk-err-header">
        <h2>Najczęstsze błędy przy montażu ogrzewania podłogowego</h2>
        <p>Wybierz moduł z menu, aby zobaczyć mechanikę błędu oraz konsekwencje nieprzestrzegania norm inżynierskich na budowie.</p>
    </div>

    <div class="rk-err-body">
        <div class="rk-err-nav">
            <button class="rk-err-tab active" data-target="err-1">
                <div class="rk-err-icon-wrap"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg></div>
                Złamanie rury
            </button>
            <button class="rk-err-tab" data-target="err-2">
                <div class="rk-err-icon-wrap"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 22h16A2 2 0 0 0 22 20V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2z"/><path d="M12 2v20"/><path d="M2 12h20"/></svg></div>
                Brak dylatacji
            </button>
            <button class="rk-err-tab" data-target="err-3">
                <div class="rk-err-icon-wrap"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M8 12h8"/><path d="M12 8v8"/><circle cx="12" cy="12" r="10"/></svg></div>
                Sztukowanie w wylewce
            </button>
            <button class="rk-err-tab" data-target="err-4">
                <div class="rk-err-icon-wrap"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg></div>
                Brak próby szczelności
            </button>
            <button class="rk-err-tab" data-target="err-5">
                <div class="rk-err-icon-wrap"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><path d="M3 9h18"/><path d="M9 21V9"/></svg></div>
                Rury pod meblami
            </button>
        </div>

        <div class="rk-err-content-wrapper">
            
            <div class="rk-err-panel active" id="err-1">
                <h3>Złamanie rury i zignorowanie uszkodzenia</h3>
                <div class="rk-err-desc">
                    <p>Przekroczenie minimalnego promienia gięcia (<span class="rk-err-highlight">5 x dn</span>, czyli dla standardowej rury 16 mm promień wynosi <strong>80 mm</strong>) powoduje przewężenie przekroju lub trwałe pęknięcie struktury polimeru.</p>
                    <p>Wlanie betonu na takie uszkodzenie skutkuje awarią i wyciekiem w okresie późniejszym pod wpływem wahań ciśnień roboczych. Osłabiona <a href="https://projekt-ogrzewania.pl/wytrzymalosc-rur-do-ogrzewania-podlogowego-kompleksowy-przewodnik/">wytrzymałość rury</a> to tykająca bomba.</p>
                    <div class="rk-err-fix">
                        <h4>Procedura Naprawcza</h4>
                        <p>Złamany odcinek należy bezwzględnie usunąć lub zregenerować (tylko w przypadku PEX-a przy użyciu opalarki termo-kurczliwej).</p>
                    </div>
                </div>
            </div>

            <div class="rk-err-panel" id="err-2">
                <h3>Brak dylatacji strefowych i brzegowych</h3>
                <div class="rk-err-desc">
                    <p>Zgodnie z wymogami normy <span class="rk-err-highlight">PN-EN 1264-4</span>, powierzchnia monolityczna jastrychu z rurami grzewczymi nie może przekraczać <strong>40 m²</strong>, a długość boku nie może być większa niż <strong>8 metrów</strong>.</p>
                    <p>Brak <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">taśmy brzegowej</a> (o grubości minimum 8 mm) oraz profili dylatacyjnych na przejściach przez otwory drzwiowe powoduje niekontrolowane pękanie jastrychu wskutek rozszerzalności termicznej posadzki.</p>
                    <div class="rk-err-fix">
                        <h4>Rozwiązanie</h4>
                        <p>Stosuj dylatacje progowe oraz wklejaj profile PVC w dużych pomieszczeniach, oddzielając niezależne płyty grzewcze.</p>
                    </div>
                </div>
            </div>

            <div class="rk-err-panel" id="err-3">
                <h3>Sztukowanie rur w wylewce</h3>
                <div class="rk-err-desc">
                    <p>Łączenie rur za pomocą złączek skręcanych lub zaprasowywanych bezpośrednio wewnątrz warstwy wylewanej mieszanki to kategoryczny błąd w sztuce budowlanej.</p>
                    <p>Ukryte pod <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewką betonową</a> złącza mechaniczne stanowią główny punkt powstawania nieszczelności i utraty ciśnienia w układzie zamkniętym.</p>
                    <div class="rk-err-fix">
                        <h4>Prawidłowy montaż</h4>
                        <p>Każda pętla musi być jednolitym odcinkiem rury. Jedyne dozwolone łączenia mechaniczne mogą znajdować się nad poziomem posadzki (na belce rozdzielacza).</p>
                    </div>
                </div>
            </div>

            <div class="rk-err-panel" id="err-4">
                <h3>Zaniechanie próby ciśnieniowej przed zalaniem</h3>
                <div class="rk-err-desc">
                    <p>Jastrych musi być wylewany wyłącznie w momencie, gdy instalacja znajduje się pod ciśnieniem probierczym wynoszącym minimum <span class="rk-err-highlight">6 bar</span> (rekomendowane <strong>8 bar</strong> według wytycznych PORT PC).</p>
                    <p>Pominięcie <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próby szczelności</a> uniemożliwia natychmiastowe wykrycie ewentualnego przewiercenia lub uszkodzenia rury np. obcasem buta roboczego czy łopatą przez ekipy wylewkarzy.</p>
                    <div class="rk-err-fix">
                        <h4>Złota zasada</h4>
                        <p>Zawsze pozostawiaj instalację naładowaną ciśnieniem powietrza lub wody (z manometrem na rozdzielaczu) na cały czas trwania prac posadzkarskich.</p>
                    </div>
                </div>
            </div>

            <div class="rk-err-panel" id="err-5">
                <h3>Układanie rur pod stałą zabudową meblową</h3>
                <div class="rk-err-desc">
                    <p>Prowadzenie pętli grzewczych pod szafkami kuchennymi stojącymi bezpośrednio na gruncie, wyspami kuchennymi czy potężnymi szafami wnękowymi bez nóżek to marnowanie energii.</p>
                    <p>Masyw mebla blokuje wymianę ciepła drogą radiacji. Prowadzi to do lokalnego przegrzewania betonu, zmniejszenia <a href="https://projekt-ogrzewania.pl/wodne-ogrzewanie-podlogowe-a-meble-jak-polaczyc-komfort-i-aranzacje/">efektywności grzewczej</a> i nadmiernej straty energii oddawanej do gruntu.</p>
                    <div class="rk-err-fix">
                        <h4>Optymalizacja Projektu</h4>
                        <p>Omijaj pętlami obszary stałej, głuchej zabudowy. Zostawiaj margines buforowy na ewentualne modyfikacje w aranżacji (min. 10 cm od obrysu mebli bez nóżek).</p>
                    </div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('.rk-err-tab');
    const panels = document.querySelectorAll('.rk-err-panel');

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // Remove active class from all tabs & panels
            tabs.forEach(t => t.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Add active class to clicked tab
            this.classList.add('active');

            // Find matching panel and activate it
            const targetId = this.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-panel: #1e293b;
    --rk-intro-primary: #0ea5e9; 
    --rk-intro-primary-light: #e0f2fe;
    --rk-intro-accent: #f59e0b; 
    --rk-intro-success: #10b981;
    --rk-intro-bg: #f8fafc;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
    --rk-intro-text-dim: #64748b;
}

.rk-intro-container, .rk-intro-container * {
    box-sizing: border-box;
}

.rk-intro-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(14, 165, 233, 0.15);
    border: 1px solid rgba(14, 165, 233, 0.3);
    overflow: hidden;
}

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

.rk-intro-header::after {
    content: ''; position: absolute; right: 0; top: 0; width: 400px; height: 100%;
    background: radial-gradient(circle at right, rgba(14, 165, 233, 0.15) 0%, transparent 70%);
}

.rk-expert-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    position: relative;
    z-index: 2;
    flex-shrink: 0;
    width: 110px;
}

.rk-expert-avatar {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 3px solid var(--rk-intro-primary);
    box-shadow: 0 0 20px rgba(14, 165, 233, 0.4);
    object-fit: cover;
}

.rk-expert-tag {
    font-size: 11px;
    font-weight: 800;
    color: var(--rk-intro-primary);
    text-transform: uppercase;
    text-align: center;
    line-height: 1.3;
}

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

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

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

.rk-header-content h2 span {
    color: var(--rk-intro-accent);
}

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

/* Sekcja Interaktywna - Zwiastun Artykułu */
.rk-intro-body {
    display: grid;
    grid-template-columns: 340px 1fr;
    background: #ffffff;
    align-items: stretch;
}

/* Lewa kolumna nawigacyjna */
.rk-rules-list {
    padding: 30px;
    border-right: 1px solid var(--rk-intro-border);
    display: flex;
    flex-direction: column;
    justify-content: space-between; 
    gap: 15px;
    background: #f8fafc;
}

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

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

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

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

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

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

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

/* Panel Detali (Prawy) */
.rk-rule-details {
    padding: 40px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

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

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

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

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

.rk-detail-svg {
    width: 100%;
    height: 180px;
    background: var(--rk-intro-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);
    margin-top: 10px;
    position: relative;
    overflow: hidden;
}

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

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

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

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

.rk-calc-input-area {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

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

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

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

.rk-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-result-box.highlight { border-color: var(--rk-intro-primary); background: rgba(14, 165, 233, 0.1); }

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

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

.rk-author-photo-small {
    width: 75px;
    height: 75px;
    border-radius: 50%;
    border: 3px solid var(--rk-intro-primary);
    box-shadow: 0 4px 15px rgba(14, 165, 233, 0.2);
    object-fit: cover;
    flex-shrink: 0;
}

.rk-author-info {
    flex-grow: 1;
}

.rk-author-info h4 {
    margin: 0 0 6px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-intro-dark);
}

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

.rk-author-links {
    display: flex;
    gap: 15px;
    margin-top: 12px;
}

.rk-author-links a {
    color: var(--rk-intro-accent);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color 0.2s;
}

.rk-author-links a:hover {
    color: #b45309;
    text-decoration: underline;
}

/* Animacje SVG */
.anim-pipe-flow { stroke-dasharray: 20; animation: flowMove 1s linear infinite; }
@keyframes flowMove { to { stroke-dashoffset: -40; } }

.anim-heat-radiate { animation: heatRise 2s infinite alternate ease-in-out; }
@keyframes heatRise { 0% { transform: translateY(0); opacity: 0.5; } 100% { transform: translateY(-15px); opacity: 1; } }

.anim-press-pulse { animation: pressPulse 1.5s infinite alternate; }
@keyframes pressPulse { 0% { fill: #3b82f6; r: 15; } 100% { fill: #ef4444; r: 25; } }

@media (max-width: 768px) {
    .rk-intro-header { flex-direction: column; text-align: center; padding: 35px 25px; align-items: center; gap: 20px; }
    .rk-expert-col { width: 100%; flex-direction: row; justify-content: center; text-align: left; }
    .rk-expert-avatar { width: 70px; height: 70px; }
    .rk-expert-tag { text-align: left; }
    .rk-intro-body { grid-template-columns: 1fr; }
    .rk-rules-list { border-right: none; border-bottom: 1px solid var(--rk-intro-border); padding: 25px; }
    .rk-rule-btn { padding: 15px; }
    .rk-rule-details { padding: 30px 25px; }
    .rk-calc-grid { grid-template-columns: 1fr; gap: 25px; }
    .rk-quick-calc { padding: 35px 25px; }
    .rk-calc-results { grid-template-columns: 1fr; }
    .rk-summary-author { flex-direction: column; text-align: center; padding: 30px 25px; align-items: center; }
    .rk-author-links { justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#article-intro",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/"
    },
    "headline": "Rury do ogrzewania podłogowego – klucz do sprawności instalacji",
    "description": "Wybór odpowiedniego materiału, średnicy oraz gęstości ułożenia rur determinuje sprawność hydrauliczną i koszty eksploatacji ogrzewania podłogowego.",
    "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": "Inżynier HVAC & CEO",
      "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#dataset-intro",
    "name": "Fundamenty inżynierskie instalacji płaszczyznowych",
    "description": "Baza wiedzy definiująca wpływ parametrów emisyjnych (materiał, przekrój, geometria) na wydajność cieplną wylewki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rury do ogrzewania podłogowego",
      "jastrych betonowy a podłogówka",
      "opór cieplny przegrody",
      "sprawność hydrauliczna instalacji",
      "europejskie normy budowlane podłogówka"
    ],
    "measurementTechnique": "Określanie zależności między średnicą rury i jej materiałem a wymaganą charakterystyką pompy obiegowej i temperaturą zasilania.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wybór materiału determinuje trwałość i bezpieczeństwo antydyfuzyjne.",
        "Średnica przewodu definiuje opory hydrauliczne pętli grzewczej.",
        "Gęstość ułożenia wpływa na równomierny rozkład temperatury posadzki."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#webapp-intro",
    "name": "Kalkulator Szacunkowy: Zład i Rury",
    "description": "Zintegrowany estymator materiałowy, ułatwiający inwestorowi natychmiastowe przeliczenie metrażu na zapotrzebowanie na rury i pojemność wodną.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 Forms",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="rk-intro-app">
    
    <div class="rk-intro-header">
        <div class="rk-expert-col">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-expert-avatar" loading="lazy">
            <span class="rk-expert-tag">Robert Kucharski<br>CEO portalu</span>
        </div>
        <div class="rk-header-content">
            <div class="rk-hook-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>
                Zanim wylejesz beton
            </div>
            <h2>Błąd przy doborze rury to awaria, którą <span>zabetonujesz na dekady.</span></h2>
            <p>Wodne ogrzewanie podłogowe to niskotemperaturowy system płaszczyznowy, w którym rury stanowią kluczowy element emisyjny, odpowiadający za dystrybucję energii termicznej w jastrychu betonowym lub anhydrytowym. Wybór odpowiedniego materiału, średnicy oraz gęstości ułożenia przewodów determinuje opór cieplny przegrody, sprawność hydrauliczną instalacji oraz końcowe koszty eksploatacji budynku.</p>
        </div>
    </div>

    <div class="rk-intro-body">
        
        <div class="rk-rules-list">
            <button class="rk-rule-btn active" data-panel="intro-1">
                <div class="rk-rule-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><path d="M12 8v4l3 3"></path></svg></div>
                <div class="rk-rule-text">
                    <h3>Technologia Polimerów</h3>
                    <p>Który materiał (PEX/PERT) wybrać?</p>
                </div>
            </button>

            <button class="rk-rule-btn" data-panel="intro-2">
                <div class="rk-rule-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" y1="8" x2="12" y2="8"></line><line x1="3.95" y1="6.06" x2="8.54" y2="14"></line><line x1="10.88" y1="21.94" x2="15.46" y2="14"></line></svg></div>
                <div class="rk-rule-text">
                    <h3>Hydraulika i Średnice</h3>
                    <p>Jak uniknąć przeciążenia pompy?</p>
                </div>
            </button>

            <button class="rk-rule-btn" data-panel="intro-3">
                <div class="rk-rule-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"></path><polyline points="16 6 12 2 8 6"></polyline><line x1="12" y1="2" x2="12" y2="15"></line></svg></div>
                <div class="rk-rule-text">
                    <h3>Geometria Pętli</h3>
                    <p>Rozkład temperatury na posadzce</p>
                </div>
            </button>
        </div>

        <div class="rk-rule-details">
            
            <div class="rk-detail-panel active" id="intro-1">
                <h4>Trwałość ukryta w plastiku</h4>
                <p>Nawet najlepsze źródło ciepła zawiedzie, jeśli rury ulegną korozji elektrochemicznej. Omawiam różnice strukturalne (metoda nadtlenkowa, silanowa) i tłumaczę dlaczego bariera <strong>EVOH</strong> jest absolutnie niezbędna.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <path d="M 20 20 L 180 20 L 180 80 L 20 80 Z" fill="none" stroke="#64748b" stroke-width="4"/>
                        <path d="M 20 50 L 180 50" fill="none" stroke="#10b981" stroke-width="8"/>
                        <text x="100" y="44" fill="#10b981" font-size="10" text-anchor="middle" font-weight="bold">BLOKADA TLENU (EVOH)</text>
                        <circle cx="150" cy="70" r="4" fill="#0ea5e9"/>
                        <circle cx="160" cy="30" r="4" fill="#0ea5e9"/>
                        <circle cx="130" cy="25" r="4" fill="#0ea5e9"/>
                    </svg>
                </div>
            </div>

            <div class="rk-detail-panel" id="intro-2">
                <h4>Matematyka oporów</h4>
                <p>Czy rura 16&#215;2.0 zawsze wystarczy? Dowiesz się, jak pojemność wodna instalacji (tzw. zład) oraz jednostkowe straty ciśnienia wpływają na dobór parametrów pracy pompy obiegowej.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <path class="anim-pipe-flow" d="M 20 50 C 60 20, 140 80, 180 50" fill="none" stroke="#0ea5e9" stroke-width="12" stroke-linecap="round"/>
                        <circle class="anim-press-pulse" cx="100" cy="50" r="15" fill="#3b82f6" opacity="0.8"/>
                        <text x="100" y="90" fill="#ffffff" font-size="11" text-anchor="middle" font-weight="bold">OPÓR HYDRAULICZNY</text>
                    </svg>
                </div>
            </div>

            <div class="rk-detail-panel" id="intro-3">
                <h4>Koniec z zimnymi strefami</h4>
                <p>Prawidłowo zaprojektowana pętla grzewcza zapewnia równomierny rozkład temperatury, zgodny z europejskimi normami. Sprawdzimy optymalny rozstaw i limity długości obiegów grzewczych.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <rect x="20" y="80" width="160" height="10" fill="#475569" rx="2"/>
                        <path class="anim-heat-radiate" d="M 40 70 L 40 40 M 80 70 L 80 40 M 120 70 L 120 40 M 160 70 L 160 40" fill="none" stroke="#f59e0b" stroke-width="4" stroke-linecap="round"/>
                        <text x="100" y="25" fill="#fcd34d" font-size="11" text-anchor="middle" font-weight="bold">RÓWNOMIERNA RADIACJA</text>
                    </svg>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-quick-calc">
        <div class="rk-calc-header">
            <h4>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--rk-intro-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;">Dla standardu rury 16&#215;2.0</span>
        </div>

        <div class="rk-calc-grid">
            <div class="rk-calc-input-area">
                <div class="rk-calc-label">
                    Powierzchnia podłogówki:
                    <span id="introAreaOut">120 m²</span>
                </div>
                <input type="range" class="rk-intro-range" id="introAreaSlider" min="50" max="300" step="10" value="120">
                <p style="font-size: 11px; color:#64748b; margin:0;">*Wartości szacunkowe dla mieszanego rozstawu (średnio 8 mb/m²).</p>
            </div>

            <div class="rk-calc-results">
                <div class="rk-result-box">
                    <span class="rk-res-val" id="introResPipe">960 <span style="font-size:14px;color:#64748b;">m</span></span>
                    <span class="rk-res-lab">Szacunkowa dł. rur</span>
                </div>
                <div class="rk-result-box highlight">
                    <span class="rk-res-val" id="introResWater">108.5 <span style="font-size:14px;color:var(--rk-intro-primary);">L</span></span>
                    <span class="rk-res-lab">Zład wody w pętlach</span>
                </div>
                <div class="rk-result-box">
                    <span class="rk-res-val" id="introResLoops">11 <span style="font-size:14px;color:#64748b;">Szt</span></span>
                    <span class="rk-res-lab">Sugerowana l. pętli</span>
                </div>
            </div>
        </div>
    </div>
    
    <div class="rk-summary-author">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - CEO i Projektant HVAC" class="rk-author-photo-small" loading="lazy">
        <div class="rk-author-info">
            <h4>Robert Kucharski</h4>
            <p>Specjalista HVAC, CEO i twórca portalu Projekt-Ogrzewania.pl. Projektowanie instalacji podłogowych opieram na twardych obliczeniach matematycznych OZC i normie PN-EN 1264, zwalczając wykonawstwo &#8222;na oko&#8221;. Posiadam ponad 1000 zrealizowanych projektów w Polsce.</p>
            <div class="rk-author-links">
                <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() {
    const btns = document.querySelectorAll('.rk-rule-btn');
    const panels = document.querySelectorAll('.rk-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; 
                target.classList.add('active');
            }
        });
    });

    const slider = document.getElementById('introAreaSlider');
    const areaOut = document.getElementById('introAreaOut');
    const resPipe = document.getElementById('introResPipe');
    const resWater = document.getElementById('introResWater');
    const resLoops = document.getElementById('introResLoops');

    function updateEstimator() {
        const area = parseInt(slider.value);
        areaOut.textContent = area + ' m²';

        const pipeLen = area * 8;
        const waterVol = pipeLen * 0.113;
        const loops = Math.ceil(pipeLen / 85);

        resPipe.innerHTML = pipeLen + ' <span style="font-size:14px;color:#64748b;">m</span>';
        resWater.innerHTML = waterVol.toFixed(1) + ' <span style="font-size:14px;color:var(--rk-intro-primary);">L</span>';
        resLoops.innerHTML = loops + ' <span style="font-size:14px;color:#64748b;">Szt</span>';
    }

    if(slider) {
        slider.addEventListener('input', updateEstimator);
        updateEstimator(); 
    }
});
</script>



<style>
:root {
    --rk-audit-dark: #0f172a;
    --rk-audit-blue: #0284c7;
    --rk-audit-blue-light: #e0f2fe;
    --rk-audit-red: #ef4444;
    --rk-audit-red-light: #fee2e2;
    --rk-audit-green: #10b981;
    --rk-audit-green-light: #d1fae5;
    --rk-audit-gray: #64748b;
    --rk-audit-bg: #ffffff;
    --rk-audit-border: #cbd5e1;
}

.rk-audit-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-audit-bg);
    border-radius: 20px;
    box-shadow: 0 15px 35px -5px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-audit-blue);
    overflow: hidden;
}

/* Nagłówek */
.rk-audit-header {
    background: var(--rk-audit-dark);
    padding: 40px 45px 30px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-audit-blue);
}

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

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

/* Parametry Bazowe (Kafelki u góry) */
.rk-audit-base-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    padding: 25px 45px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-audit-border);
}

.rk-audit-stat-card {
    background: #ffffff;
    padding: 15px 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-audit-border);
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-audit-stat-icon {
    width: 40px;
    height: 40px;
    background: var(--rk-audit-blue-light);
    color: var(--rk-audit-blue);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-audit-stat-info span {
    display: block;
}

.rk-audit-stat-info .stat-label {
    font-size: 12px;
    color: var(--rk-audit-gray);
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 4px;
}

.rk-audit-stat-info .stat-value {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-audit-dark);
}

/* Nawigacja Zakładek (Pozioma) */
.rk-audit-tabs {
    display: flex;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-audit-border);
    padding: 0 25px;
}

.rk-audit-tab-btn {
    flex: 1;
    padding: 20px 10px;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-audit-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-audit-tab-btn:hover {
    color: var(--rk-audit-dark);
    background: #f8fafc;
}

.rk-audit-tab-btn.active {
    color: var(--rk-audit-blue);
    border-bottom-color: var(--rk-audit-blue);
}

.rk-audit-tab-btn.tab-bad.active { color: var(--rk-audit-red); border-bottom-color: var(--rk-audit-red); }
.rk-audit-tab-btn.tab-good.active { color: var(--rk-audit-green); border-bottom-color: var(--rk-audit-green); }

/* Zawartość Paneli */
.rk-audit-panels {
    padding: 35px 45px;
    background: #ffffff;
}

.rk-audit-panel {
    display: none;
}

.rk-audit-panel.active {
    display: block;
}

.rk-audit-content-grid {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 35px;
    align-items: start;
}

.rk-audit-text h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-audit-dark);
    margin: 0 0 15px 0;
}

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

.rk-audit-text ul {
    list-style: none;
    padding: 0;
    margin: 20px 0;
}

.rk-audit-text li {
    padding: 10px 15px;
    margin-bottom: 10px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}

.list-bad li { background: var(--rk-audit-red-light); color: #991b1b; }
.list-bad li::before { content: "⚠️"; }

.list-good li { background: var(--rk-audit-green-light); color: #065f46; }
.list-good li::before { content: "✓"; }

.rk-audit-text a {
    color: var(--rk-audit-blue);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px dotted var(--rk-audit-blue);
}

/* Sekcja SVG (Statyczna) */
.rk-audit-visual {
    background: #f8fafc;
    border: 1px solid var(--rk-audit-border);
    border-radius: 16px;
    padding: 20px;
    height: 250px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

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

.rk-audit-visual-caption {
    margin-top: 15px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-audit-gray);
    text-align: center;
    text-transform: uppercase;
}

/* Mobile */
@media (max-width: 768px) {
    .rk-audit-header, .rk-audit-base-stats, .rk-audit-panels { padding: 25px 20px; }
    .rk-audit-content-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-audit-tabs { flex-direction: column; padding: 0; }
    .rk-audit-tab-btn { border-bottom: none; border-left: 4px solid transparent; text-align: left; justify-content: flex-start; padding: 15px 20px; border-top: 1px solid var(--rk-audit-border); }
    .rk-audit-tab-btn.active { border-bottom: none; border-left-color: var(--rk-audit-blue); }
    .rk-audit-tab-btn.tab-bad.active { border-left-color: var(--rk-audit-red); }
    .rk-audit-tab-btn.tab-good.active { border-left-color: var(--rk-audit-green); }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#article-audyt-lublin",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/"
    },
    "headline": "Case Study – Analiza rzeczywistego projektu wykonawczego w Lublinie",
    "description": "Zobacz, jak interwencja inżynierska i optymalizacja pętli ogrzewania podłogowego obniżyła temperaturę zasilania z 47°C do 34°C, generując 1450 PLN oszczędności rocznie.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#dataset-audyt-lublin",
    "name": "Wyniki audytu instalacji ogrzewania podłogowego - Case Study",
    "description": "Zestawienie parametrów technicznych budynku (165 m²) przed i po optymalizacji projektu instalacji płaszczyznowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projektowe obciążenie cieplne OZC",
      "temperatura zasilania pompy ciepła",
      "zużycie energii elektrycznej pompa ciepła",
      "rozstaw rur w ogrzewaniu podłogowym",
      "rura z barierą antydyfuzyjną EVOH"
    ],
    "measurementTechnique": "Przeliczenie hydrauliki i geometrii instalacji dla zapotrzebowania 6,9 kW przy temperaturze zewnętrznej -20°C.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Stan pierwotny: Rozstaw 20 cm, zasilanie 47°C, brak bariery antydyfuzyjnej.",
        "Optymalizacja: Strefy brzegowe 7,5 cm, łazienki 10 cm, rura PEX-a EVOH 16x2.0.",
        "Wynik: Spadek temperatury zasilania do 34°C, oszczędność 22% energii (1450 PLN/rok)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#webapp-audyt",
    "name": "Interaktywny Raport z Audytu Ogrzewania",
    "description": "Moduł prezentujący porównanie planów instalacyjnych w formie interaktywnych zakładek z wizualizacjami wektorowymi zmian inżynieryjnych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-audit-container">
    <div class="rk-audit-header">
        <h2>Case Study – Analiza rzeczywistego projektu wykonawczego</h2>
        <p>We wrześniu 2024 roku zrealizowałem audyt i korektę układu dla Inwestora budującego dom w okolicach Lublina. Zobacz, jak wyeliminowanie podejścia &#8222;na oko&#8221; uratowało portfel i komfort użytkowników.</p>
    </div>

    <div class="rk-audit-base-stats">
        <div class="rk-audit-stat-card">
            <div class="rk-audit-stat-icon">
                <svg width="24" height="24" 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"/><polyline points="9 22 9 12 15 12 15 22"/></svg>
            </div>
            <div class="rk-audit-stat-info">
                <span class="stat-label">Metraż &#038; Izolacja</span>
                <span class="stat-value">165 m² | EPS 20 cm</span>
            </div>
        </div>
        <div class="rk-audit-stat-card">
            <div class="rk-audit-stat-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/></svg>
            </div>
            <div class="rk-audit-stat-info">
                <span class="stat-label">Zapotrzebowanie (-20°C)</span>
                <span class="stat-value">6,9 kW</span>
            </div>
        </div>
        <div class="rk-audit-stat-card">
            <div class="rk-audit-stat-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M12 8v4l3 3"/></svg>
            </div>
            <div class="rk-audit-stat-info">
                <span class="stat-label">Obciążenie cieplne</span>
                <span class="stat-value">42 W/m²</span>
            </div>
        </div>
    </div>

    <div class="rk-audit-tabs">
        <button class="rk-audit-tab-btn tab-bad active" data-tab="tab-1">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="15" y1="9" x2="9" y2="15"/><line x1="9" y1="9" x2="15" y2="15"/></svg>
            1. Plan Pierwotny
        </button>
        <button class="rk-audit-tab-btn" data-tab="tab-2">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></svg>
            2. Interwencja Inżyniera
        </button>
        <button class="rk-audit-tab-btn tab-good" data-tab="tab-3">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="12" y1="1" x2="12" y2="23"/><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>
            3. Wyniki &#038; Oszczędności
        </button>
    </div>

    <div class="rk-audit-panels">
        
        <div class="rk-audit-panel active" id="tab-1">
            <div class="rk-audit-content-grid">
                <div class="rk-audit-text">
                    <h3>Ryzykowny układ &#8222;na oko&#8221;</h3>
                    <p>Pierwotny wykonawca zignorował <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne (OZC)</a>. Zaproponował uniwersalne rozwiązanie, które przy temperaturach projektowych dla woj. lubelskiego doprowadziłoby do niedogrzania budynku i degradacji instalacji.</p>
                    <ul class="list-bad">
                        <li>Jednolity rozstaw 20 cm w całym domu (brak uwzględnienia stref).</li>
                        <li>Rura o bliżej nieokreślonych parametrach (brak pewności co do jakości).</li>
                        <li>Brak zabezpieczenia: przewody bez bariery antydyfuzyjnej.</li>
                        <li>Wymagana wysoka temperatura zasilania z kotłowni (ok. 47°C).</li>
                    </ul>
                </div>
                <div class="rk-audit-visual">
                    <svg class="rk-audit-svg" viewBox="0 0 100 100">
                        <rect x="10" y="10" width="80" height="80" fill="#ffffff" stroke="#ef4444" stroke-width="2" stroke-dasharray="4"/>
                        <path d="M 20 20 L 80 20 M 20 40 L 80 40 M 20 60 L 80 60 M 20 80 L 80 80" fill="none" stroke="#fca5a5" stroke-width="4"/>
                        <circle cx="50" cy="50" r="10" fill="#ef4444"/>
                        <text x="50" y="53" font-family="sans-serif" font-weight="bold" font-size="10" fill="#ffffff" text-anchor="middle">47°C</text>
                    </svg>
                    <div class="rk-audit-visual-caption">Rozstaw zbyt rzadki (20cm)</div>
                </div>
            </div>
        </div>

        <div class="rk-audit-panel" id="tab-2">
            <div class="rk-audit-content-grid">
                <div class="rk-audit-text">
                    <h3>Precyzyjna zmiana geometrii</h3>
                    <p>Moja interwencja polegała na kompletnym przeliczeniu hydrauliki. W pierwszej kolejności zastosowaliśmy markową <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/">rurę z barierą antydyfuzyjną EVOH</a> (PEX-a 16&#215;2,0 mm), chroniąc źródło ciepła.</p>
                    <ul class="list-good">
                        <li><strong>Salon:</strong> Przy oknie przesuwnym (HS 4,5 m) zastosowano <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/">strefę brzegową</a> (szer. 1,2 m) z rozstawem 7,5 cm. Centrum salonu: 15 cm.</li>
                        <li><strong>Łazienki:</strong> Wymagane 24°C wewnątrz wymusiło zagęszczenie pętli do 10 cm.</li>
                        <li><strong>Podział:</strong> Wyznaczono 14 wyważonych pętli grzewczych.</li>
                        <li><strong>Hydraulika:</strong> Żadna pętla nie przekroczyła 88 metrów bieżących.</li>
                    </ul>
                </div>
                <div class="rk-audit-visual">
                    <svg class="rk-audit-svg" viewBox="0 0 100 100">
                        <rect x="10" y="10" width="80" height="80" fill="#ffffff" stroke="#0ea5e9" stroke-width="2"/>
                        <path d="M 15 15 L 85 15 M 15 20 L 85 20 M 15 25 L 85 25" fill="none" stroke="#0ea5e9" stroke-width="2"/>
                        <path d="M 15 40 L 85 40 M 15 60 L 85 60 M 15 80 L 85 80" fill="none" stroke="#10b981" stroke-width="2"/>
                    </svg>
                    <div class="rk-audit-visual-caption">Optymalizacja Strefowa</div>
                </div>
            </div>
        </div>

        <div class="rk-audit-panel" id="tab-3">
            <div class="rk-audit-content-grid">
                <div class="rk-audit-text">
                    <h3>Ekonomia i komfort bosej stopy</h3>
                    <p>Prawidłowe zaprojektowanie rozstawów bezpośrednio wpłynęło na pracę źródła ciepła. <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">Pompa ciepła</a> nie musi już pracować na wysokich parametrach, aby przepchnąć ciepło przez gruby jastrych.</p>
                    <ul class="list-good">
                        <li>Spadek obliczeniowej temperatury zasilania z <strong>47°C do 34°C</strong>.</li>
                        <li>Znaczny wzrost sprawności urządzenia (zwiększony COP).</li>
                        <li>Zmniejszenie zużycia energii elektrycznej przez sprężarkę pompy o <strong>22% w skali roku</strong>.</li>
                        <li><strong>Zysk dla inwestora:</strong> Oszczędność rzędu <strong>1450 PLN rocznie</strong> przy zachowaniu braku stref niedogrzanych.</li>
                    </ul>
                </div>
                <div class="rk-audit-visual">
                    <svg class="rk-audit-svg" viewBox="0 0 100 100">
                        <line x1="10" y1="80" x2="90" y2="80" stroke="#94a3b8" stroke-width="2"/>
                        <rect x="25" y="30" width="20" height="50" fill="#fca5a5" rx="2"/>
                        <text x="35" y="25" font-family="sans-serif" font-weight="bold" font-size="9" fill="#ef4444" text-anchor="middle">Koszt</text>
                        <rect x="55" y="50" width="20" height="30" fill="#34d399" rx="2"/>
                        <text x="65" y="45" font-family="sans-serif" font-weight="bold" font-size="9" fill="#10b981" text-anchor="middle">&#8211; 22%</text>
                        <path d="M 45 40 Q 55 35 65 35" fill="none" stroke="#10b981" stroke-width="2" marker-end="url(#arrow)"/>
                        <defs>
                            <marker id="arrow" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
                                <path d="M 0 0 L 10 5 L 0 10 z" fill="#10b981"/>
                            </marker>
                        </defs>
                    </svg>
                    <div class="rk-audit-visual-caption">1450 PLN Rocznie w kieszeni</div>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('.rk-audit-tab-btn');
    const panels = document.querySelectorAll('.rk-audit-panel');

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // Czyszczenie aktywnych klas
            tabs.forEach(t => t.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Aktywacja klikniętego taba
            this.classList.add('active');

            // Aktywacja odpowiedniego panelu
            const targetId = this.getAttribute('data-tab');
            document.getElementById(targetId).classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --rk-faq-dark: #1e293b;
    --rk-faq-darker: #0f172a;
    --rk-faq-primary: #2563eb;
    --rk-faq-primary-hover: #1d4ed8;
    --rk-faq-accent: #f59e0b;
    --rk-faq-bg: #ffffff;
    --rk-faq-gray: #64748b;
    --rk-faq-light: #f8fafc;
    --rk-faq-border: #e2e8f0;
}

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

.rk-faq-header {
    background: linear-gradient(135deg, var(--rk-faq-darker) 0%, var(--rk-faq-dark) 100%);
    padding: 40px 45px;
    text-align: center;
    position: relative;
}

.rk-faq-header::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--rk-faq-primary), var(--rk-faq-accent));
}

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

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

.rk-faq-body {
    padding: 40px 45px;
    background: var(--rk-faq-light);
}

/* Interaktywny Akordeon */
.rk-accordion {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-acc-item {
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-acc-item:hover {
    border-color: #bfdbfe;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.08);
}

.rk-acc-btn {
    width: 100%;
    text-align: left;
    padding: 20px 25px;
    background: transparent;
    border: none;
    display: grid;
    grid-template-columns: 40px 1fr 24px;
    gap: 15px;
    align-items: center;
    cursor: pointer;
    font-size: 17px;
    font-weight: 700;
    color: var(--rk-faq-darker);
    transition: color 0.3s;
}

.rk-acc-btn:focus { outline: none; }
.rk-acc-item.active .rk-acc-btn { color: var(--rk-faq-primary); }

.rk-acc-icon-svg {
    width: 100%;
    height: auto;
    fill: none;
    stroke: var(--rk-faq-gray);
    stroke-width: 1.5;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-acc-item.active .rk-acc-icon-svg {
    stroke: var(--rk-faq-primary);
}

/* Animowane SVG dla poszczególnych pytań */
.rk-acc-item.active .anim-cog { animation: spin 4s linear infinite; }
.rk-acc-item.active .anim-therm { animation: fillTherm 2s ease-in-out infinite alternate; }
.rk-acc-item.active .anim-ruler { animation: slideRuler 2s ease-in-out infinite alternate; }
.rk-acc-item.active .anim-shield { animation: pulseShield 2s infinite; }
.rk-acc-item.active .anim-flow { animation: dashFlow 2s linear infinite; }

@keyframes spin { 100% { transform: rotate(360deg); } }
@keyframes fillTherm { 0% { transform: translateY(0); } 100% { transform: translateY(-5px); } }
@keyframes slideRuler { 0% { transform: translateX(-3px); } 100% { transform: translateX(3px); } }
@keyframes pulseShield { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } }
@keyframes dashFlow { to { stroke-dashoffset: -20; } }

.rk-acc-chevron {
    width: 24px;
    height: 24px;
    stroke: var(--rk-faq-gray);
    transition: transform 0.3s ease;
}

.rk-acc-item.active .rk-acc-chevron {
    transform: rotate(180deg);
    stroke: var(--rk-faq-primary);
}

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

.rk-acc-inner {
    padding: 0 25px 25px 80px;
}

.rk-acc-inner p {
    margin: 0 0 15px 0;
    color: var(--rk-faq-gray);
    font-size: 15px;
    line-height: 1.7;
}

.rk-acc-inner p:last-child { margin: 0; }

.rk-acc-inner a {
    color: var(--rk-faq-primary);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px dotted var(--rk-faq-primary);
    transition: color 0.3s;
}

.rk-acc-inner a:hover {
    color: var(--rk-faq-primary-hover);
    border-bottom-style: solid;
}

@media (max-width: 768px) {
    .rk-faq-header, .rk-faq-body { padding: 30px 20px; }
    .rk-faq-header h2 { font-size: 24px; }
    .rk-acc-btn { padding: 15px; grid-template-columns: 32px 1fr 20px; gap: 12px; font-size: 15px; }
    .rk-acc-inner { padding: 0 15px 20px 59px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/"
    },
    "headline": "Eksperckie FAQ – Rozwiązania najczęstszych problemów z rurami do podłogówki",
    "description": "Najważniejsze pytania z długiego ogona dotyczące wyboru, rozstawu i błędów przy montażu rur do ogrzewania podłogowego. Profesjonalne porady Inżyniera HVAC.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#dataset-faq",
    "name": "Baza Odpowiedzi Eksperckich FAQ",
    "description": "Baza zapytań inwestorów dotycząca projektowania i optymalizacji układów rur w instalacjach płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jaką rurę do podłogówki wybrać",
      "rozstaw rur 10 cm czy 15 cm",
      "ile metrów rury na m2 ogrzewania",
      "bariera antydyfuzyjna EVOH kocioł gazowy",
      "za długa pętla ogrzewania podłogowego"
    ],
    "measurementTechnique": "Analiza powtarzających się zapytań technicznych i weryfikacja poprawności montażu w oparciu o normy i obliczenia hydrauliczne.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Korelacja wylewki i rury PEX-a",
        "Wpływ rozstawu na COP pompy ciepła",
        "Metodologia szacowania zużycia rury grzewczej",
        "Mechanizm zabezpieczający wymienniki",
        "Skutki przekroczenia dopuszczalnych oporów linii"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#webapp-faq",
    "name": "Interaktywny Asystent Wiedzy HVAC",
    "description": "Dynamiczny panel Q&A (akordeon) wykorzystujący animowane elementy wektorowe (SVG) do wspomagania nawigacji i zrozumienia procesów termodynamicznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-container">
    <div class="rk-faq-header">
        <h2>Eksperckie FAQ – Konkretne odpowiedzi dla Inwestora</h2>
        <p>Projektowanie podłogówki to matematyka, nie zgadywanki. Poniżej odpowiadam na najczęstsze, skomplikowane pytania, które decydują o komforcie i kosztach ogrzewania Twojego domu.</p>
    </div>

    <div class="rk-faq-body">
        <div class="rk-accordion" id="rkFaqAccordion">
            
            <div class="rk-acc-item">
                <button class="rk-acc-btn">
                    <svg viewBox="0 0 24 24" class="rk-acc-icon-svg anim-cog"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"/></svg>
                    Jaką rurę do ogrzewania podłogowego wybrać pod wylewkę anhydrytową, a jaką pod cementową?
                    <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="rk-acc-chevron"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-acc-content">
                    <div class="rk-acc-inner">
                        <p>Dla systemu emisji ciepła materiał wylewki nie dyskwalifikuje konkretnego typu rury. Zarówno <strong>PEX-a</strong>, jak i <strong>PE-RT Typ II</strong> doskonale współpracują z każdym rodzajem jastrychu (spełniają klasy wytrzymałości cieplnej). Różnica tkwi w przewodnictwie cieplnym samej masy.</p>
                        <p>Zoptymalizowanie układu polega na tym, by przy <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">wylewce anhydrytowej</a> (która szybko oddaje ciepło) odpowiednio wyregulować przepływy, by zapobiec tzw. taktowaniu kotła, co jest kluczowym elementem profesjonalnego projektu.</p>
                    </div>
                </div>
            </div>

            <div class="rk-acc-item">
                <button class="rk-acc-btn">
                    <svg viewBox="0 0 24 24" class="rk-acc-icon-svg anim-therm"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"/><path d="M12 7v5"/></svg>
                    Czy rozstaw rur 10 cm w ogrzewaniu podłogowym zawsze jest lepszy niż 15 cm przy pompie ciepła?
                    <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="rk-acc-chevron"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-acc-content">
                    <div class="rk-acc-inner">
                        <p>Nie zawsze. Gęstszy rozstaw (co 10 cm) faktycznie pozwala na znaczne obniżenie temperatury zasilania, co maksymalizuje współczynnik COP pompy ciepła, generując oszczędności rzędu kilkunastu procent na zużyciu energii.</p>
                        <p>Jednak decyzja o tym, czy ułożyć rury <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">co 10 czy 15 cm</a>, musi bazować na stratach ciepła. Ułożenie ich na siłę co 10 cm w dobrze izolowanym domu drastycznie zwiększa opory hydrauliczne pętli, wymuszając montaż większych, prądożernych pomp obiegowych.</p>
                    </div>
                </div>
            </div>

            <div class="rk-acc-item">
                <button class="rk-acc-btn">
                    <svg viewBox="0 0 24 24" class="rk-acc-icon-svg anim-ruler"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" y1="22.08" x2="12" y2="12"/></svg>
                    Ile metrów rury PEX 16&#215;2.0 potrzeba na 100 m² podłogówki i jak to policzyć?
                    <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="rk-acc-chevron"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-acc-content">
                    <div class="rk-acc-inner">
                        <p>Szacunkowe zużycie zależy od rozstawu. Dla standardowego rozstawu 15 cm zużywamy około <strong>6,7 mb na 1 m²</strong>. Dla 100 m² będzie to matematycznie 670 metrów, jednak należy dodać ok. 10-15% naddatku na odcinki dobiegowe do rozdzielacza i strefy brzegowe.</p>
                        <p>Najbezpieczniej przygotować się na zakup około 750-800 metrów rury. Aby nie strzelać w ciemno, polecam skorzystać z dokładnego <a href="https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/">kalkulatora ilości metrów rury</a>, który uwzględnia różne strefy grzewcze.</p>
                    </div>
                </div>
            </div>

            <div class="rk-acc-item">
                <button class="rk-acc-btn">
                    <svg viewBox="0 0 24 24" class="rk-acc-icon-svg anim-shield"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
                    Dlaczego rura z barierą antydyfuzyjną EVOH jest tak ważna w systemach z kotłem gazowym?
                    <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="rk-acc-chevron"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-acc-content">
                    <div class="rk-acc-inner">
                        <p>Bez tej bariery mikroskopijne cząsteczki tlenu przenikają przez ściankę rury polietylenowej do wody instalacyjnej. Tworzy się wysoce korozyjne środowisko (woda mocno natleniona).</p>
                        <p>Dla nowoczesnych kotłów gazowych, posiadających wrażliwe aluminiowo-krzemowe lub stalowe wymienniki ciepła, oznacza to błyskawiczną korozję i odkładanie szlamu. <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/">Bariera antydyfuzyjna EVOH</a> (najlepiej ułożona wewnątrz struktury rury) jest absolutnym gwarantem bezpieczeństwa układu kotłowni.</p>
                    </div>
                </div>
            </div>

            <div class="rk-acc-item">
                <button class="rk-acc-btn">
                    <svg viewBox="0 0 24 24" class="rk-acc-icon-svg anim-flow"><path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"/><polyline points="16 6 12 2 8 6"/><line x1="12" y1="2" x2="12" y2="15" stroke-dasharray="4" class="anim-flow"/></svg>
                    Co zrobić, gdy pętla ogrzewania podłogowego jest za długa i nie grzeje równomiernie?
                    <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="rk-acc-chevron"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-acc-content">
                    <div class="rk-acc-inner">
                        <p>Przekroczenie maksymalnej długości (np. ponad 120 mb dla rury 16&#215;2.0) wywołuje drastyczny opór hydrauliczny, z którym wbudowana pompa nie potrafi sobie poradzić. Koniec pętli staje się strefą tzw. &#8222;radiacji chłodu&#8221;.</p>
                        <p>Po zalaniu posadzki możliwości są mocno ograniczone. Konieczne jest maksymalne wyregulowanie <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrów w rozdzielaczu</a> (dławienie krótkich pętli, aby wymusić przepływ na najdłuższej), a często jedynym wyjściem pozostaje kosztowna modernizacja kotłowni polegająca na montażu sprzęgła i potężniejszej zewnętrznej pompy obiegowej z powodu <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">zbyt długiej pętli</a>.</p>
                    </div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const accItems = document.querySelectorAll('.rk-acc-item');

    accItems.forEach(item => {
        const btn = item.querySelector('.rk-acc-btn');
        const content = item.querySelector('.rk-acc-content');

        btn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            // Zamykanie wszystkich innych
            accItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.rk-acc-content').style.maxHeight = null;
            });

            // Otwieranie/zamykanie aktualnie klikniętego
            if (!isActive) {
                item.classList.add('active');
                content.style.maxHeight = content.scrollHeight + "px";
            }
        });
    });
});
</script>



<style>
:root {
    --rk-pipe-dark: #0f172a;
    --rk-pipe-blue: #0ea5e9;
    --rk-pipe-light-blue: #e0f2fe;
    --rk-pipe-green: #059669;
    --rk-pipe-green-light: #d1fae5;
    --rk-pipe-red: #dc2626;
    --rk-pipe-red-light: #fee2e2;
    --rk-pipe-orange: #ea580c;
    --rk-pipe-gray: #475569;
    --rk-pipe-border: #cbd5e1;
    --rk-pipe-bg: #ffffff;
}

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

/* Sekcja Nagłówkowa */
.rk-pipe-header {
    padding: 40px 45px 30px;
    background: linear-gradient(145deg, #1e293b 0%, var(--rk-pipe-dark) 100%);
    color: #f8fafc;
    text-align: center;
    position: relative;
    border-bottom: 4px solid var(--rk-pipe-blue);
}

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

.rk-pipe-quote {
    background: rgba(255, 255, 255, 0.05);
    border-left: 4px solid var(--rk-pipe-orange);
    padding: 20px 25px;
    border-radius: 0 12px 12px 0;
    text-align: left;
    margin: 25px auto 0;
    max-width: 750px;
}

.rk-pipe-quote p {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    margin: 0 0 10px 0;
    color: #e2e8f0;
    font-style: italic;
}

.rk-pipe-quote span {
    font-size: 13px;
    color: var(--rk-pipe-blue);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 800;
}

/* Symulator Interaktywny */
.rk-pipe-interactive {
    padding: 40px 45px;
    background: #f8fafc;
}

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

/* Przełącznik (Toggle) */
.rk-toggle-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

.rk-toggle-bg {
    display: inline-flex;
    background: #e2e8f0;
    border-radius: 99px;
    padding: 6px;
    position: relative;
}

.rk-toggle-btn {
    padding: 12px 24px;
    border-radius: 99px;
    border: none;
    background: transparent;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-pipe-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
}

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

.rk-toggle-slider {
    position: absolute;
    top: 6px;
    left: 6px;
    height: calc(100% - 12px);
    width: calc(50% - 6px);
    background: var(--rk-pipe-green);
    border-radius: 99px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.4s;
    z-index: 1;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.rk-toggle-bg.state-amateur .rk-toggle-slider {
    transform: translateX(100%);
    background: var(--rk-pipe-red);
}

/* Zawartość dynamiczna */
.rk-dyn-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--rk-pipe-border);
    border-radius: 16px;
    padding: 35px;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
}

.rk-dyn-svg-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

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

/* Animacje SVG */
.anim-water { transition: fill 0.5s; }
.anim-barrier { transition: stroke 0.5s, stroke-width 0.5s; }
.anim-particle { opacity: 0; }

.state-pro-view .anim-water { fill: url(#gradPro); animation: flowPulse 3s infinite; }
.state-pro-view .anim-barrier { stroke: var(--rk-pipe-green); stroke-width: 4px; }
.state-pro-view .anim-particle { display: none; }

.state-amateur-view .anim-water { fill: #78350f; }
.state-amateur-view .anim-barrier { stroke: transparent; }
.state-amateur-view .anim-particle { opacity: 1; fill: #451a03; animation: sludgeMove 4s infinite linear; }

@keyframes flowPulse {
    0%, 100% { filter: drop-shadow(0 0 5px rgba(14, 165, 233, 0.5)); }
    50% { filter: drop-shadow(0 0 15px rgba(14, 165, 233, 0.8)); }
}
@keyframes sludgeMove {
    0% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-5px) rotate(10deg); }
    100% { transform: translateY(0) rotate(0deg); }
}

.rk-dyn-text h4 {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 15px 0;
    transition: color 0.3s;
}

.state-pro-view .rk-dyn-text h4 { color: var(--rk-pipe-green); }
.state-amateur-view .rk-dyn-text h4 { color: var(--rk-pipe-red); }

.rk-dyn-text p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-pipe-gray);
    margin: 0 0 15px 0;
}

.rk-dyn-text ul {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
}

.rk-dyn-text li {
    font-size: 14px;
    margin-bottom: 8px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-weight: 600;
}

.rk-dyn-text li::before {
    content: "✓";
    color: var(--rk-pipe-green);
    font-weight: 900;
}
.state-amateur-view .rk-dyn-text li::before {
    content: "✗";
    color: var(--rk-pipe-red);
}

.rk-dyn-text a {
    color: var(--rk-pipe-blue);
    text-decoration: none;
    border-bottom: 1px solid dashed;
    font-weight: 700;
}

/* CTA */
.rk-pipe-cta {
    background: #ffffff;
    padding: 40px 45px;
    text-align: center;
    border-top: 1px solid var(--rk-pipe-border);
}

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

.rk-pipe-cta p {
    font-size: 16px;
    color: var(--rk-pipe-gray);
    max-width: 650px;
    margin: 0 auto 30px;
    line-height: 1.6;
}

.rk-btn-solid {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--rk-pipe-blue);
    color: #ffffff;
    padding: 18px 35px;
    font-size: 17px;
    font-weight: 800;
    border-radius: 14px;
    text-decoration: none;
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.4);
    transition: all 0.3s ease;
}

.rk-btn-solid:hover {
    background: #0284c7;
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(14, 165, 233, 0.5);
}

.rk-btn-solid svg { transition: transform 0.3s; }
.rk-btn-solid:hover svg { transform: translateX(6px); }

/* Mobile */
@media (max-width: 768px) {
    .rk-pipe-header, .rk-pipe-interactive, .rk-pipe-cta { padding: 30px 20px; }
    .rk-pipe-header h2 { font-size: 24px; }
    .rk-dyn-content { grid-template-columns: 1fr; padding: 25px; text-align: center; }
    .rk-dyn-text li { justify-content: center; text-align: left; }
    .rk-toggle-wrapper { flex-direction: column; width: 100%; max-width: 300px; margin: 0 auto 30px; }
    .rk-toggle-bg { width: 100%; display: flex; }
    .rk-toggle-btn { flex: 1; padding: 12px 10px; font-size: 13px; }
    .rk-btn-solid { width: 100%; justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/"
    },
    "headline": "Podsumowanie – Jakie rury do ogrzewania podłogowego gwarantują bezawaryjność?",
    "description": "Zrozum różnicę między rurami PEX-a z barierą antydyfuzyjną EVOH a rozwiązaniami amatorskimi. Interaktywny symulator doboru rur grzewczych dla inwestorów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#dataset-evoh",
    "name": "Parametry eksploatacyjne rur z barierą antydyfuzyjną EVOH",
    "description": "Zestawienie techniczne wpływu bariery EVOH na żywotność instalacji ogrzewania podłogowego oraz elementów kotłowni.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rury do ogrzewania podłogowego",
      "bariera antydyfuzyjna EVOH",
      "żywotność ogrzewania podłogowego",
      "parametry instalacji płaszczyznowej",
      "korozja w instalacji CO"
    ],
    "measurementTechnique": "Analiza przenikania tlenu wg normy DIN 4726 i ocena oporów hydraulicznych pętli grzewczych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "PEX-a EVOH: Ogranicza przenikanie tlenu do <0,1 g/(m³·doba), chroniąc pompę i rozdzielacz.",
        "Rura bez bariery: Prowadzi do powstania szlamu magnetytowego (zjawisko korozji tlenowej)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#webapp-symulator",
    "name": "Symulator Doboru Rur Grzewczych",
    "description": "Interaktywne narzędzie wizualizujące różnice fizyko-chemiczne zachodzące wewnątrz przewodów ogrzewania płaszczyznowego w zależności od zastosowanej technologii materiałowej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-pipe-container" id="rury-sum-app">
    <div class="rk-pipe-header">
        <h2>Podsumowanie – Jakie rury do ogrzewania podłogowego gwarantują bezawaryjność?</h2>
        <div class="rk-pipe-quote">
            <p>"Rura zalana w 10 centymetrach betonu zostaje tam na dziesiątki lat. Próba oszczędności 50 groszy na metrze bieżącym instalacji to najdroższy i najbardziej destrukcyjny błąd, jaki możesz popełnić przy budowie domu."</p>
            <span>Robert Kucharski | Specjalista HVAC</span>
        </div>
    </div>

    <div class="rk-pipe-interactive">
        <h3>Symulator: Wpływ wyboru rury na układ hydrauliczny</h3>
        
        <div class="rk-toggle-wrapper">
            <div class="rk-toggle-bg state-pro" id="pipeToggleBg">
                <div class="rk-toggle-slider" id="pipeToggleSlider"></div>
                <button class="rk-toggle-btn active" data-state="pro">PEX-a + EVOH (Pro)</button>
                <button class="rk-toggle-btn" data-state="amateur">Tania rura "no-name"</button>
            </div>
        </div>

        <div class="rk-dyn-content state-pro-view" id="pipeDynContent">
            <div class="rk-dyn-svg-container">
                <svg class="rk-svg-pipe" viewBox="0 0 100 100">
                    <defs>
                        <linearGradient id="gradPro" x1="0%" y1="0%" x2="100%" y2="100%">
                            <stop offset="0%" style="stop-color:#38bdf8;stop-opacity:1"></stop>
                            <stop offset="100%" style="stop-color:#0284c7;stop-opacity:1"></stop>
                        </linearGradient>
                    </defs>
                    <circle cx="50" cy="50" r="45" fill="#f1f5f9" stroke="#cbd5e1" stroke-width="2"></circle>
                    <circle class="anim-barrier" cx="50" cy="50" r="41" fill="none"></circle>
                    <circle class="anim-water" cx="50" cy="50" r="35"></circle>
                    <circle class="anim-particle" cx="40" cy="40" r="4"></circle>
                    <circle class="anim-particle" cx="60" cy="65" r="5"></circle>
                    <circle class="anim-particle" cx="30" cy="55" r="3"></circle>
                    <circle class="anim-particle" cx="65" cy="35" r="6"></circle>
                    <circle class="anim-particle" cx="50" cy="50" r="4"></circle>
                </svg>
            </div>
            
            <div class="rk-dyn-text" id="pipeDynText">
                <h4>Pełna ochrona antydyfuzyjna</h4>
                <p>Zastosowanie rury z certyfikowaną warstwą EVOH (wg normy DIN 4726) blokuje wnikanie tlenu. Zabezpiecza to drogie elementy mosiężne i stalowe przed korozją.</p>
                <ul>
                    <li>Czysta woda kotłowa bez szlamu.</li>
                    <li>Ochrona wirnika <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowej</a>.</li>
                    <li>Stałe opory hydrauliczne pętli przez 50 lat.</li>
                </ul>
                <p>Niezbędne przy <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewkach betonowych</a> (jastrychu), gdzie nie ma możliwości późniejszej naprawy rurociągu.</p>
            </div>
        </div>
    </div>

    <div class="rk-pipe-cta">
        <h3>Zaprojektuj podłogówkę, która przetrwa pokolenia</h3>
        <p>Decyzje materiałowe, rozstawy rur i zład wody to parametry, których nie da się "zgadnąć". Uniknij najczęstszych <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">błędów montażowych</a> i opanuj technologię płaszczyznową jak ekspert.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-solid">
            OTWÓRZ BAZĘ WIEDZY HVAC
            <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('#pipeToggleBg .rk-toggle-btn');
    const toggleBg = document.getElementById('pipeToggleBg');
    const dynContent = document.getElementById('pipeDynContent');
    const dynText = document.getElementById('pipeDynText');

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            const state = this.getAttribute('data-state');
            
            // Zmiana aktywnych przycisków
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Aktualizacja suwaka i klas wizualnych
            if (state === 'pro') {
                toggleBg.className = 'rk-toggle-bg state-pro';
                dynContent.className = 'rk-dyn-content state-pro-view';
                dynText.innerHTML = `
                    <h4>Pełna ochrona antydyfuzyjna</h4>
                    <p>Zastosowanie rury z certyfikowaną warstwą EVOH (wg normy DIN 4726) blokuje wnikanie tlenu. Zabezpiecza to drogie elementy mosiężne i stalowe przed korozją.</p>
                    <ul>
                        <li>Czysta woda kotłowa bez szlamu.</li>
                        <li>Ochrona wirnika <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowej</a>.</li>
                        <li>Stałe opory hydrauliczne pętli przez 50 lat.</li>
                    </ul>
                    <p>Niezbędne przy <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewkach betonowych</a> (jastrychu), gdzie nie ma możliwości późniejszej naprawy rurociągu.</p>
                `;
            } else {
                toggleBg.className = 'rk-toggle-bg state-amateur';
                dynContent.className = 'rk-dyn-content state-amateur-view';
                dynText.innerHTML = `
                    <h4>Zagrożenie korozją i awarią</h4>
                    <p>Brak ciągłej warstwy antydyfuzyjnej (lub zniszczenie jej podczas nieuważnego montażu) doprowadza do napowietrzania zładu. Wynik? Kocioł i wymienniki zarastają rdzą.</p>
                    <ul>
                        <li>Zatykanie zaworów w rozdzielaczu.</li>
                        <li>Ryzyko zablokowania przepływów (spadek mocy).</li>
                        <li>Uszkodzenie <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">automatyki strefowej</a> z powodu szlamu.</li>
                    </ul>
                    <p>Awaria w tym trybie zmusza inwestora do chemicznego płukania instalacji, a nierzadko do kucia posadzki i demontażu podłogi.</p>
                `;
            }
        });
    });
});
</script>



<style>
/* TWARDE RESETOWANIE STYLÓW DLA WORDPRESSA */
.rk-dl-container, .rk-dl-container * {
    box-sizing: border-box !important;
}

:root {
    --rk-dl-primary: #0f172a;
    --rk-dl-panel: #1e293b;
    --rk-dl-accent: #0ea5e9;
    --rk-dl-accent-dark: #0284c7;
    --rk-dl-accent-light: #e0f2fe;
    --rk-dl-bg: #f8fafc;
    --rk-dl-border: #e2e8f0;
    --rk-dl-text: #334155;
    --rk-dl-muted: #64748b;
    --rk-dl-white: #ffffff;
    --rk-dl-red: #ef4444;
}

.rk-dl-container {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-dl-white);
    border-radius: 24px;
    border: 1px solid var(--rk-dl-border);
    box-shadow: 0 25px 50px -12px rgba(14, 165, 233, 0.15);
    overflow: hidden;
    line-height: normal;
}

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

.rk-dl-header-content { 
    position: relative; 
    z-index: 2; 
    flex: 1;
}

.rk-dl-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.2);
    border: 1px solid rgba(14, 165, 233, 0.3);
    color: #7dd3fc;
    padding: 8px 16px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

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

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

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

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

@keyframes rkFloatIcon {
    from { transform: translateY(0) scale(1); }
    to { transform: translateY(-12px) scale(1.02); }
}

/* GŁÓWNY WORKSPACE */
.rk-dl-workspace {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    padding: 45px 50px;
    gap: 50px;
    background: var(--rk-dl-white);
    align-items: center;
}

.rk-dl-preview-box {
    background: var(--rk-dl-bg);
    border: 1px solid var(--rk-dl-border);
    border-radius: 20px;
    padding: 15px;
    position: relative;
    cursor: zoom-in;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
}

.rk-dl-preview-box:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 20px 40px -10px rgba(14, 165, 233, 0.2);
    border-color: #bae6fd;
}

.rk-dl-preview-img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    display: block;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

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

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

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

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

.rk-dl-check-wrap {
    width: 28px;
    height: 28px;
    background: var(--rk-dl-accent-light);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-dl-accent-dark);
    flex-shrink: 0;
}

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

.rk-dl-main-btn:hover {
    background: var(--rk-dl-accent-dark);
    transform: translateY(-4px);
    box-shadow: 0 20px 35px -5px rgba(14, 165, 233, 0.5);
    border-color: #bae6fd;
}

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

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

/* STOPKA MODUŁU (Autorska) */
.rk-dl-footer {
    padding: 25px 50px;
    background: var(--rk-dl-bg);
    border-top: 1px solid var(--rk-dl-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
}

.rk-dl-footer-upsell {
    font-size: 15px;
    color: var(--rk-dl-text);
    line-height: 1.6;
    margin: 0 0 10px 0;
}

.rk-dl-footer-upsell a {
    color: var(--rk-dl-accent-dark);
    font-weight: 800;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: border-color 0.3s;
}

.rk-dl-footer-upsell a:hover {
    border-color: var(--rk-dl-accent-dark);
}

.rk-dl-footer-copy {
    font-size: 13px;
    color: var(--rk-dl-muted);
    margin: 0;
    font-weight: 500;
}

@media (max-width: 800px) {
    .rk-dl-header { flex-direction: column; text-align: center; padding: 35px 25px; gap: 20px; }
    .rk-dl-workspace { grid-template-columns: 1fr; padding: 35px 25px; gap: 35px; }
    .rk-dl-preview-box { margin: 0 auto; max-width: 400px; }
    .rk-dl-footer { padding: 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#infografika-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/"
    },
    "headline": "Parametry i Dobór Rur Grzewczych (Infografika PDF)",
    "description": "Pobierz inżynierskie zestawienie parametrów rur PEX i PE-RT dla ogrzewania podłogowego. Kompletny poradnik instalatora w formacie PDF i WEBP.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Rury-do-ogrzewania-podlogowego.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#dataset-infografika",
    "name": "Tabela inżynierska: Właściwości rur ogrzewania płaszczyznowego",
    "description": "Zbiór danych wizualnych określający pojemności wodne, minimalne promienie gięcia i wymogi dotyczące warstwy EVOH w przewodach grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rury do ogrzewania podłogowego pdf",
      "parametry rur pex infografika",
      "zład wody w rurze 16 ściągawka",
      "rozstaw rur podłogówki schemat",
      "bariera antydyfuzyjna evoh rysunek"
    ],
    "measurementTechnique": "Przedstawienie wymogów norm PN-EN 1264 i ISO 15875 w formie graficznej tabeli porównawczej materiałów.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Ściągawka Instalatora HVAC"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#download-app",
    "name": "Centrum Pobierania Wiedzy HVAC",
    "description": "Interaktywny moduł umożliwiający wizualizację i pobranie zaawansowanej technicznie infografiki doboru materiałów instalacyjnych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5"
  }
]
</script>

<div class="rk-dl-container" id="app-pipe-dl">
    
    <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" style="margin-right: 6px;"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
                Darmowe Materiały
            </div>
            <h2>Pobierz Kompletne Zestawienie Rur Grzewczych</h2>
            <p>Zabierz inżynierską ściągawkę na budowę. Zład wody, promienie gięcia, optymalne rozstawy i parametry polimerów w jednej czytelnej infografice.</p>
        </div>
        <div class="rk-dl-header-visual">
            <svg class="rk-dl-pdf-icon-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="var(--rk-dl-red)" 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="6.5" y="17" fill="white" font-size="5.5" 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/06/Infografika-Rury-do-ogrzewania-podlogowego.webp', '_blank')" title="Kliknij, aby powiększyć grafię">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Rury-do-ogrzewania-podlogowego.webp" alt="Infografika - Parametry i dobór rur do ogrzewania podłogowego" class="rk-dl-preview-img" loading="lazy">
            <div class="rk-dl-zoom-tag">
                <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
            </div>
        </div>

        <div class="rk-dl-info-side">
            <ul class="rk-dl-feature-list">
                <li class="rk-dl-feature-item">
                    <div class="rk-dl-check-wrap">
                        <svg width="16" height="16" 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>
                    </div>
                    Tabela: Średnica vs Pojemność wodna (zład)
                </li>
                <li class="rk-dl-feature-item">
                    <div class="rk-dl-check-wrap">
                        <svg width="16" height="16" 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>
                    </div>
                    Porównanie polimerów: PEX-a, PEX-b, PE-RT
                </li>
                <li class="rk-dl-feature-item">
                    <div class="rk-dl-check-wrap">
                        <svg width="16" height="16" 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>
                    </div>
                    Zalecane rozstawy i limity długości pętli
                </li>
                <li class="rk-dl-feature-item">
                    <div class="rk-dl-check-wrap">
                        <svg width="16" height="16" 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>
                    </div>
                    Format A4 zoptymalizowany pod wydruk i mobile
                </li>
            </ul>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Rury-do-ogrzewania-podlogowego.pdf" class="rk-dl-main-btn" target="_blank" rel="noopener noreferrer">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
                POBIERZ INFOGRAFIKĘ (PDF)
            </a>
        </div>

    </div>

    <div class="rk-dl-footer">
        <p class="rk-dl-footer-upsell">
            Nie chcesz zgadywać, ile rury kupić i jaki rozstaw przyjąć? <br>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów profesjonalny projekt podłogówki bazujący na bilansie cieplnym OZC.</a>
        </p>
        <p class="rk-dl-footer-copy">
            © 2026 Projekt-Ogrzewania.pl | Autor: <strong>Robert Kucharski</strong>. Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku.
        </p>
    </div>
</div>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">Rury do ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
